@charset "UTF-8";
@media only screen and (max-width: 779px) {
  body {
    font-size: 14px;
    line-height: 1.5;
  }
  /* ----------------
   VISUAL LAYER
  ---------------- */
  .layout_visual-wrap {
    position: relative;
    height: 200px;
    overflow: hidden;
    background: #97caba;
    margin: 50px 0 0 0;
  }
  .layout_bg-movie {
    position: absolute;
    top: 0;
    width: 100%;
    height: 200px;
  }
  .layout_bg-movie img {
    min-height: 240px;
    height: auto;
    width: 100%;
  }
  .bg-movie {
    position: absolute;
    width: 100%;
    height: auto;
    top: 0;
  }
  .layout_visual-inner {
    width: 100%;
    height: 200px;
  }
  /* ----------------
   TOP COPY
  ---------------- */
  .layout_top-copy {
    top: auto;
    bottom: 20px;
  }
  .visual-copy {
    font-size: 18px;
    display: inline-block;
    padding: 12px 5px 12px 12px;
    margin: 0 20px;
    width: auto;
  }
  .visual-text {
    background: #4F5962;
    color: #fff;
    font-size: 14px;
    width: auto;
    padding: 12px 5px 12px 12px;
    margin: 0 20px;
    line-height: 1.6;
  }
  /* ----------------
   TOP NEWS
  ---------------- */
  .layout_top-news {
    position: relative;
    top: auto;
    bottom: 0;
    background: #fff;
    height: auto;
    width: auto;
    padding: 20px 0 0 0;
    margin: 0;
  }
  .layout_top-news-title {
    float: none;
    width: auto;
  }
  .layout_top-news-title p {
    height: 30px;
    font-size: 18px;
    padding: 4px 0 0 15px;
    text-align: left;
    background: url(../images/bg_top_news_title.png) no-repeat left center;
    background-size: 100%;
  }
  .top-news-list {
    float: none;
    width: auto;
    height: auto;
    overflow: auto;
    padding: 10px;
  }
  .top-news-list li {
    padding: 0 20px 0 0;
    font-size: 12px;
  }
  .top-news-list li .top-news-date {
    display: block;
    float: left;
    width: 20%;
    margin: 0 20px 0 0;
    font-size: 11px;
  }
  .top-news-list li a.top-news-text {
    display: block;
    float: left;
    width: 80%;
    height: auto;
    overflow: hidden;
    margin: 0 -20px 0 0;
    color: #3385BF;
  }
  .layout_top-news-link {
    float: none;
    width: auto;
    height: auto;
    background: none;
    text-align: right;
    padding: 5px 12px 0 0;
    border-top: 1px solid #818383;
  }
  .layout_top-news-link a {
    color: #3385BF;
    display: inline-block;
  }
  .top-news-link-allow {
    font-size: 15px;
    color: #2C333D;
  }
  /* ----------------
   TOP PURPOSE
  ---------------- */
  .layout_top-purpose {
    padding: 5px 0 30px 0;
    width: auto;
  }
  .layout_top-purpose h3 {
    font-size: 20px;
    padding: 10px 0 12px 0;
    font-weight: bold;
  }
  .layout_purpose-navi {
    border-right: none;
    border-bottom: none;
  }
  .purpose-navi {
    width: auto;
    margin: 0 15px;
    border-top: #A1A1A1 1px solid;
  }
  .purpose-navi-name {
    display: block;
    width: auto;
    border-left: #A1A1A1 1px solid;
    border-right: #A1A1A1 1px solid;
    border-bottom: #A1A1A1 1px solid;
    cursor: pointer;
    padding: 12px 12px 12px 48px;
    position: relative;
    font-size: 16px;
  }
  .purpose-navi-name:after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 13px;
    width: 8px;
    height: 8px;
    margin: -8px 0 0 0;
    border-bottom: solid 3px #515963;
    border-right: solid 3px #515963;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: 50% 50% 0px;
    -ms-transform-origin: 50% 50% 0px;
    transform-origin: 50% 50% 0px;
  }
  .purpose-navi-name.is-selected:after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 13px;
    width: 8px;
    height: 8px;
    margin: -4px 0 0 0;
    border-top: solid 3px #515963;
    border-left: solid 3px #515963;
    border-right: none;
    border-bottom: none;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: 50% 50% 0px;
    -ms-transform-origin: 50% 50% 0px;
    transform-origin: 50% 50% 0px;
  }
  .purpose-navi-name.purpose-navi-spec {
    background: url(../images/img_purpose_spec_off.png) no-repeat 7px center;
    background-size: auto 30px;
  }
  .purpose-navi-name.purpose-navi-spec.is-selected, .purpose-navi-name.purpose-navi-spec:hover {
    background: url(../images/img_purpose_spec_on.png) no-repeat 7px center;
    background-size: auto 30px;
    color: #579E64;
  }
  .purpose-navi-name.purpose-navi-price {
    background: url(../images/img_purpose_price_off.png) no-repeat 7px center;
    background-size: auto 30px;
  }
  .purpose-navi-name.purpose-navi-price.is-selected, .purpose-navi-name.purpose-navi-price:hover {
    background: url(../images/img_purpose_price_on.png) no-repeat 7px center;
    background-size: auto 30px;
    color: #579E64;
  }
  .purpose-navi-name.purpose-navi-use {
    background: url(../images/img_purpose_use_off.png) no-repeat 7px center;
    background-size: auto 30px;
  }
  .purpose-navi-name.purpose-navi-use.is-selected, .purpose-navi-name.purpose-navi-use:hover {
    background: url(../images/img_purpose_use_on.png) no-repeat 7px center;
    background-size: auto 30px;
    color: #579E64;
  }
  .purpose-navi-name.purpose-navi-fun {
    background: url(../images/img_purpose_fun_off.png) no-repeat 7px center;
    background-size: auto 30px;
  }
  .purpose-navi-name.purpose-navi-fun.is-selected, .purpose-navi-name.purpose-navi-fun:hover {
    background: url(../images/img_purpose_fun_on.png) no-repeat 7px center;
    background-size: auto 30px;
    color: #579E64;
  }
  .purpose-navi-name.purpose-navi-event {
    background: url(../images/img_purpose_event_off.png) no-repeat 7px center;
    background-size: auto 30px;
  }
  .purpose-navi-name.purpose-navi-event.is-selected, .purpose-navi-name.purpose-navi-event:hover {
    background: url(../images/img_purpose_event_on.png) no-repeat 7px center;
    background-size: auto 30px;
    color: #579E64;
  }
  .purpose-navi-content {
    background: #E4E4E4;
    width: auto;
    border-left: #A1A1A1 1px solid;
    border-right: #A1A1A1 1px solid;
    border-bottom: #A1A1A1 1px solid;
    display: none;
  }
  .purpose-navi-content li {
    padding: 14px 12px;
    cursor: pointer;
    border-bottom: #A1A1A1 1px solid;
    position: relative;
  }
  .purpose-navi-content li:after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 13px;
    width: 8px;
    height: 8px;
    margin: -4px 0 0 0;
    border-top: solid 3px #8F8F90;
    border-right: solid 3px #8F8F90;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: 50% 50% 0px;
    -ms-transform-origin: 50% 50% 0px;
    transform-origin: 50% 50% 0px;
  }
  .purpose-navi-content li.end {
    border-bottom: none;
  }
  .purpose-navi-content li span.title {
    width: 90%;
    height: 40px;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .purpose-navi-content.purpose-navi-event {
    padding: 10px 10px 0 10px;
    font-size: 12px;
  }
  .purpose-navi-content.purpose-navi-event li {
    background: #fff;
    padding: 5px 8px;
    margin: 0 0 12px 0;
  }
  .purpose-navi-content.purpose-navi-event li p.purpose-event-date {
    display: inline-block;
    padding: 0 0 0 0;
  }
  /*.purpose-navi-content.purpose-navi-event .purpose-event-text {
    display: inline-block;
  }*/
  .purpose-navi-content.purpose-navi-event .purpose-event-text a {
    background: url(../images/allow_purpose_link.png) no-repeat 10px center;
    padding: 0 0 0 25px;
    text-decoration: none;
    font-size: 12px;
    color: #2C59B8;
  }
  .purpose-navi-content.purpose-navi-event li p.purpose-event-text a:hover {
    text-decoration: underline;
  }
  /* ----------------
   TOP REASON
  ---------------- */
  .layout_top-reason {
    padding: 30px 0;
    background: url(../images/bg_top_reason.png) repeat-x center;
    background-size: auto 100%;
  }
  .layout_top-reason h3 {
    font-size: 20px;
    padding: 0 0 0 0;
  }
  .layout_reason-navi {
    width: auto;
    margin: 0;
    overflow: visible;
  }
  .reason-navi-box {
    width: auto;
    padding: 30px 20px;
    float: none;
    border-right: none;
    border-bottom: 1px solid #fff;
    margin-bottom: 0px;
  }
  .reason-navi-box.end {
    width: auto;
    padding: 30px 20px 20px 20px;
    border-bottom: none;
  }
  .reason-navi-copy {
    font-family: I-OTF-UDゴ表示Pro M;
    font-size: 18px;
    line-height: 1.4;
    margin: 12px 0 8px 0;
  }
  .reason-navi-text {
    font-size: 13px;
  }
  .reason-navi-img img {
    width: 210px;
    height: auto;
  }
  .layout_top-reason-btn .layout_btn_top-reason a:after {
    margin: -5px 0 0 0;
    border-top: solid 3px #515963;
    border-right: solid 3px #515963;
  }
  .layout_top-reason-btn .layout_btn_top-reason a {
    padding: 18px 30px 18px 25px;
    width: 200px;
    font-size: 15px;
  }
  /* ----------------
   TOP SPEC
  ---------------- */
  .layout_top-spec {
    padding: 30px 0;
    text-align: left;
  }
  .layout_top-spec h3 {
    font-size: 20px;
    padding: 0 0 15px 0;
    font-weight: bold;
  }
  .layout_spec-navi {
    width: auto;
    margin: 0 15px;
    padding: 0;
    border-bottom: 1px solid #818383;
  }
  .layout_spec-navi-box {
    float: none;
    width: auto;
    margin: 0;
    border-right: none;
  }
  .layout_new-mark {
    position: absolute;
    top: 8px;
    right: 9%;
  }
  .layout_new-mark img {
    width: 32px;
  }
  .spec-navi-name {
    width: auto;
    height: auto;
    color: #2D333D;
    font-size: 16px;
    background: #fff;
    border-top: 1px solid #818383;
    border-left: 1px solid #818383;
    border-right: 1px solid #818383;
    position: relative;
    padding: 15px 12px 15px 55px;
  }
  .spec-navi-name:after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 13px;
    width: 8px;
    height: 8px;
    margin: -4px 0 0 0;
    border-top: solid 3px #515963;
    border-right: solid 3px #515963;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: 50% 50% 0px;
    -ms-transform-origin: 50% 50% 0px;
    transform-origin: 50% 50% 0px;
  }
  .spec-navi-name.spec-sever {
    background: url(../images/img_spec_1.png) no-repeat 5px center;
    background-size: auto 35px;
  }
  .spec-navi-name.spec-network {
    background: url(../images/img_spec_2.png) no-repeat 5px center;
    background-size: auto 35px;
  }
  .spec-navi-name.spec-security {
    background: url(../images/img_spec_3.png) no-repeat 5px center;
    background-size: auto 35px;
  }
  .spec-navi-name.spec-load-balance {
    background: url(../images/img_spec_4.png) no-repeat 5px center;
    background-size: auto 35px;
  }
  .spec-navi-name.spec-ui {
    background: url(../images/img_spec_5.png) no-repeat 5px center;
    background-size: auto 35px;
  }
  .spec-navi-name.spec-access-control {
    background: url(../images/img_spec_6.png) no-repeat 5px center;
    background-size: auto 35px;
  }
  .spec-navi-name.spec-option {
    background: url(../images/img_spec_7.png) no-repeat 5px center;
    background-size: auto 35px;
  }
  .spec-navi-name.spec-connection {
    background: url(../images/img_spec_8.png) no-repeat 5px center;
    background-size: auto 35px;
  }
  .layout_spec-navi-box.first .spec-navi-name {
    border-top: none;
  }
  .spec-navi-img, .spec-navi-btn, .spec-navi-text {
    display: none;
  }
  .layout_top-spec-btn {
    text-align: center;
  }
  .layout_top-spec-btn .btn_top-spec a:after {
    border-top: solid 3px #515963;
    border-right: solid 3px #515963;
  }
  .layout_top-spec-btn .btn_top-spec a {
    padding: 18px 30px 18px 25px;
    width: 200px;
    font-size: 15px;
  }
  /* ----------------
   TOP COOPERATION
  ---------------- */

  .layout_cooperation-navi {
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #818383;
    width: auto;
  }
  .layout_cooperation-navi-wrap {
      width: auto;
      margin: 0 15px;
      padding: 15px 0 0 0;
  }
  .layout_cooperation-navi-box {
    float: none;
    width: auto;
    margin: 0;
    border-right: none;
  }
  .cooperation-navi-name {
    width: auto;
    height: auto;
    color: #2D333D;
    font-size: 16px;
    background: #fff;
    border-top: 1px solid #818383;
    border-left: 1px solid #818383;
    border-right: 1px solid #818383;
    position: relative;
    padding: 15px 12px 15px 15px;
  }
  .cooperation-navi-name:after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 13px;
    width: 8px;
    height: 8px;
    margin: -4px 0 0 0;
    border-top: solid 3px #515963;
    border-right: solid 3px #515963;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: 50% 50% 0px;
    -ms-transform-origin: 50% 50% 0px;
    transform-origin: 50% 50% 0px;
  }
  .layout_cooperation-navi-box.first .cooperation-navi-name {
    border-top: none;
  }
  .cooperation-navi-btn, .cooperation-navi-text {
    display: none;
  }
  /* ----------------
   TOP CUSTOMER
  ---------------- */
  .layout_top-customer {
    padding: 30px 0;
    border-top: none;
  }
  .layout_top-customer h3 {
    font-size: 20px;
    font-weight: bold;
  }
  .layout_customer-navi {
    border-right: none;
    border-bottom: none;
  }
  .customer-navi {
    width: auto;
    margin: 0 15px;
    border-top: #A1A1A1 1px solid;
    background: #fff;
  }
  .customer-navi-name {
    display: block;
    width: auto;
    border-left: #A1A1A1 1px solid;
    border-right: #A1A1A1 1px solid;
    border-bottom: #A1A1A1 1px solid;
    cursor: pointer;
    padding: 12px;
    position: relative;
    font-size: 16px;
  }
  .customer-navi-name:after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 13px;
    width: 8px;
    height: 8px;
    margin: -8px 0 0 0;
    border-bottom: solid 3px #2D333D;
    border-right: solid 3px #2D333D;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: 50% 50% 0px;
    -ms-transform-origin: 50% 50% 0px;
    transform-origin: 50% 50% 0px;
  }
  .customer-navi-name:hover, .customer-navi-name.is-selected {
    color: #579E64;
  }
  .customer-navi-name.is-selected:after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 13px;
    width: 8px;
    height: 8px;
    margin: -4px 0 0 0;
    border-top: solid 3px #2D333D;
    border-left: solid 3px #2D333D;
    border-bottom: none;
    border-right: none;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: 50% 50% 0px;
    -ms-transform-origin: 50% 50% 0px;
    transform-origin: 50% 50% 0px;
  }
  .customer-navi-content {
    width: auto;
    border-left: #A1A1A1 1px solid;
    border-right: #A1A1A1 1px solid;
    border-bottom: #A1A1A1 1px solid;
    display: none;
    padding: 12px;
  }
  .customer-navi-content p {
    display: inline-block;
    padding: 0 10px 0 0;
  }
  .customer-navi-content p img {
    height: 40px;
    width: auto;
  }
  /* ----------------
   TOP CUSTOMER ADD
  ---------------- */
  .layout_customer-list {
    display: inline-block;
    padding: 0 10px 0 0;
  }
  .customer-navi-single {
    width: auto;
    margin: 0 15px;
    padding: 10px;
    border: #A1A1A1 1px solid;
    background: #fff;
  }
  /* ----------------
   TOP CASE
  ---------------- */
  .layout_top-case {
    padding: 0 0 65px 0;
    width: 100%;
    border-top: none;
  }
  .layout_top-case h3 {
    font-size: 18px;
    padding: 0 0 15px 0;
  }
  .top-case-list {
    width: auto;
    margin: 0 15px;
    background: #fff;
    overflow: visible;
  }
  .top-case-box {
    width: auto;
    float: left;
    margin: 0;
    padding-bottom: 0;
  }
  .top-case-box a {
    width: auto;
  }
  .top-case-img img {
    width: 100%;
    height: auto;
  }
  .top-case-logo {
    padding: 5px 0;
  }
  .top-case-logo img {
    margin: 0 auto;
  }
  .top-case-name {
    border-top: none;
    padding: 0 15px;
    font-size: 16px;
  }
  .top-case-text {
    font-size: 14px;
    line-height: 1.2;
  }
  .layout_top-case .slick-dots {
    bottom: -32px;
  }
  .layout_top-case .slick-dots li {
    margin: 0;
    width: 20px;
    height: 15px;
  }
  .layout_top-case .slick-dots li button {
    width: 15px;
    height: 15px;
    margin: 0;
    padding: 0;
  }
  .layout_top-case .slick-dots li button:before {
    color: #C8C8C8;
    opacity: 1.0;
    width: 15px;
    height: 15px;
    font-size: 15px;
  }
  .layout_top-case .slick-dots li.slick-active button:before {
    color: #989F9D;
    opacity: 1.0;
  }
  .layout_top-case .slick-next, .layout_top-case .slick-prev {
    top: auto;
    bottom: -50px;
    text-indent: -9999px;
    width: 16px;
    height: 25px;
    z-index: 97;
  }
  .layout_top-case .slick-prev {
    left: 10px;
    right: auto;
    background: url(../images/allow_top_case_l.png) no-repeat center;
  }
  .layout_top-case .slick-next {
    left: auto;
    right: 10px;
    background: url(../images/allow_top_case_r.png) no-repeat center;
  }
  .layout_top-case .slick-prev:hover, .layout_top-case .slick-prev:focus {
    background: url(../images/allow_top_case_l.png) no-repeat center;
    opacity: 0.75;
  }
  .layout_top-case .slick-next:hover, .layout_top-case .slick-next:focus {
    background: url(../images/allow_top_case_r.png) no-repeat center;
    opacity: 0.75;
  }
}

/* 動画サイズ調整 */

@media only screen and (max-width: 480px) {
  .bg-movie {
    position: absolute;
    width: auto;
    height: 240px;
    top: 0;
  }
}
