@charset "UTF-8";

header {
  color: #fff;
}

/*訴求*/
.sokyu {
  width: 100%;
  padding: 15px 0;
  background: #9ac5e5;
}

.sokyu ul {
  width: 1000px;
  max-width: 90%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.sokyu ul li {
  width: 25%;
height: 50px;
  text-align: center;
  border-right: 1px solid #002938;
  padding: 5px 0 5px 0;
}

.sokyu ul li img {
max-width: 100%;
max-height: 100%;
}

.sokyu figure {
    width: 1160px;
    max-width: 90%;
    margin: 0 auto;
}

.sokyu ul li:last-child {
  padding-right: 0;
  border-right: none;
}


/*タイトルエリア*/
.request_area {
  width: 100%;
  background: #fff;
  padding: 80px 0;
  color: #002938;
  text-align: center;
}

.request_area h2 {
  width: 130px;
  max-width: 50%;
  margin: 0 auto 10px;
}

.request_area .sokyu_txt {
width: 400px;
margin: 20px auto;
max-width: 80%;
}

.request_area .en_logo {
width: 400px;
max-width: 80%;
margin: 0 auto 50px;
}

.request_area h3 {
  font-size: min(8vw, 40px);
  padding-bottom: 10px;
  margin-bottom: 0px;
  letter-spacing: 0em;
  line-height: 1.6;
  position: relative;
}
.request_area h3 small {
font-size: 70%;
vertical-align: 5px;
}
.request_area h3:before {
content: "";
position: absolute;
left: 0;
right: 0;
bottom: 0;
margin: auto;
width: 80px;
height: 1px;
background: #fff;
}
.request_area h4 {
font-size: min(4vw, 18px);
line-height: 1.5;
font-feature-settings: "palt";
margin-bottom: 20px;
}
.request_area h4 strong {
font-size: 120%;
}
.request_area h4 small {
font-size: 70%;
}
.request_area h5 {
font-size: min(7vw, 35px);
margin-bottom: 30px;
line-height: 1.6;
letter-spacing: 0.1em;
font-feature-settings: "palt";
}
.request_area h5 span {
font-size: 80%;
}
.request_area h5 small {
font-size: 80%;
    letter-spacing: 0;
}

.request_area .banner_area a {
    width: 800px;
    max-width: 90%;
    margin: 0 auto;
    padding: 0;
    border-radius: 0;
    transition: .3s;
}

.request_area .banner_area a:hover {
  opacity: .7;
}


.btn_reqres {
display: flex;
justify-content: center;
flex-wrap: wrap;
margin-bottom: 10px;
}
.request_area a {
  width: 250px;
  max-width: 80%;
  margin: 0 10px 10px;
  display: block;
  font-size: 17px;
  padding: 10px 0;
  border-radius: 10px;
}
.request_area a.reqbtn {
  color: #333;
    letter-spacing: 0.2em;
    font-weight: 100;
    position: relative;
}
.request_area a.resbtn {
  color: #000;
  }

.request_area a.reqbtn::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -1;
    margin: auto;
    transform: skewX(-40deg);
  background: #9ac5e5;
  color: #000;
    transition: 0.3s;
}

.request_area a.reqbtn:hover::before {
  background: #9ad4f8;
}

.request_area .small {
    font-size: 12px;
    line-height: 1.5;
}


/*THE SWICH*/
.theswich {
    width: 100%;
    padding: 100px 0;
    background: url(../img/bg_switch.jpg) repeat;
    background-size: 200px;
    background-position: center;
}
.theswich h3 {
    width: 468px;
    max-width: 90%;
    margin: 0 auto 50px;
}
.theswich h4 {
    max-width: 90%;
    font-size: 30px;
    color: #9ac5e5;
    line-height: 1.6;
    margin: 0 auto 40px;
    text-align: center;
}
.theswich p {
    text-align: center;
    color: #fff;
    line-height: 2.5;
    font-size: 17px;
}


/* ON/OFF */
.onoff {
    width: 100%;
    position: relative;
}

.onoff .hide {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.onoff .onoff_Box {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    overflow: hidden;
}

.onoff .onoff_Box:after {
    content:  "";
    width: 100%;
    height: 100%;
    background: rgba(73, 119, 153, 0.7);
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
}

.onoff .onoff_Box .bg_video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity 0.8s ease;
    z-index: 0;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.onoff .onoff_Box .off_video {
    opacity: 1;
}

.onoff .onoff_Box .on_video {
    opacity: 0;
}

.onoff .onoff_Box.on_mode .off_video {
    opacity: 0;
}

.onoff .onoff_Box.on_mode .on_video {
    opacity: 1;
}

.onoff .onoff_Box .txt {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    text-align: center;
    color: #fff;
    z-index: 3;
}

.onoff .onoff_Box .txt p {
    line-height: 3.5;
    letter-spacing: 0.2em;
    font-size: 18px;
}

.onoff .onoff_Box .txt .onoffswich {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 500px;
    height: 24px;
    max-width: 80%;
    gap: 15px;
    margin: 0 auto 40px;
    cursor: pointer;
}

.onoff .onoff_Box .txt .onoffswich div {
    width: 150px;
    height: 24px;
    position: relative;
}

.onoff .onoff_Box .txt .onoffswich img {
    max-width: 100%;
    max-height: 100%;
}

.onoff .onoff_Box .txt .onoffswich div .s_waku {
    width: 100%;
    height: 24px;
    display: block;
}

.onoff .onoff_Box .txt .onoffswich div .s_action {
    width: 56%;
    position: absolute;
    left: 0;
    top: 0;
    transition: transform 0.6s ease;
}

.onoff .onoff_Box.off_mode .txt .onoffswich div .s_action {
    transform: translateX(88%);
}

.onoff .onoff_Box.on_mode .txt .onoffswich div .s_action {
    transform: translateX(0);
}

.onoff .onoff_Box .txt .off_txt,
.onoff .onoff_Box .txt .on_txt {
    transition: opacity 0.8s ease;
}

.onoff .onoff_Box .txt .on_txt {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    top: 64px;
}

/* OFF時 */
.onoff .onoff_Box.off_mode .off_txt {
    opacity: 1;
}

.onoff .onoff_Box.off_mode .on_txt {
    opacity: 0;
    pointer-events: none;
}

/* ON時 */
.onoff .onoff_Box.on_mode .off_txt {
    opacity: 0;
    pointer-events: none;
}

.onoff .onoff_Box.on_mode .on_txt {
    opacity: 1;
}

/* ON/OFF文字の濃淡 */
.onoff .onoff_Box.off_mode .s_on {
    opacity: 0.2;
}

.onoff .onoff_Box.off_mode .s_off {
    opacity: 1;
}

.onoff .onoff_Box.on_mode .s_on {
    opacity: 1;
}

.onoff .onoff_Box.on_mode .s_off {
    opacity: 0.2;
}

.onoff .onoff_Box .s_on,
.onoff .onoff_Box .s_off {
    transition: opacity 0.4s ease;
}


/*共通英語タイトル*/
h3.en_ttl {
  height: 22px;
  text-align: center;
  margin-bottom: 50px;
}

h3.en_ttl img {
  max-width: 100%;
  max-height: 100%;
}



/*ロケーション　マップ*/
.location_map {
  width: 100%;
    height: 60svh;
}
.location_map iframe {
    width: 100%;
    height: 100%;
}




@media only screen and (max-width: 768px) {


  /*訴求*/
  .sokyu {
    padding: 15px 0;
  }

  .sokyu ul li {
    width: 48%;
    padding: 0;
    border-right: none;
    margin: 0 auto 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #fff;
  }
  
  
  .sokyu ul li:last-child {
  width: 100%;
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
  }
  

    /*タイトルエリア*/
    .request_area {
        padding: 50px 0;
    }
    .request_area a {
        font-size: 20px;
    }
    .request_area h3 {
    font-size: 5vw;
    }
    .request_area h3 small {
        vertical-align: 2px;
    }
    .request_area h5 {
        font-size: 8vw;
    }
    .request_area .boconcept {
        border: 1px solid #414141;
    }
    .request_area .boconcept .img {
        width: 100%;
    }
    .request_area .boconcept .txt {
    width: 100%;
    padding: 25px 0 10px;
    }
    .request_area .boconcept .txt .bo_logo {
        margin-bottom: 20px;
    }
    .request_area .banner_area  a {
      max-width: 80%;
    }
    
    
    /*THE SWICH*/
    .theswich {
        padding: 50px 0;
    }
    .theswich h3 {
        width: 300px;
        max-width: 70%;
        margin-bottom: 40px;
    }
    .theswich h4 {
        font-size: 20px;
        line-height: 2;
        margin-bottom: 30px;
    }
    .theswich p {
        font-size: 14px;
    }
    
    
    /*ON/OFF*/
    .onoff .onoff_Box .txt .onoffswich {
        width: 400px;
        max-width: 70%;
        height: 20px;
    }
    .onoff .onoff_Box .txt .onoffswich div {
        width: 120px;
        height: 18px;
    }
    .onoff .onoff_Box .txt p {
        font-size: 14px;
        letter-spacing: 0.1em;
    }


  /*ロケーションマップ*/
  .location_map {
  }


}