@charset "utf-8";
/* common
--------------------------------------------*/
:root{
  --font-libre:"Libre Caslon Display", "游明朝体", "Yu Mincho","YuMincho","ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
  --font-shippori: "Shippori Mincho", "游明朝体", "Yu Mincho","YuMincho","ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
}
main{
  font-family: var(--font-min);
}
.pcmn_ttl_sec{
  position: relative;
  text-align: center;
  font-size: 4.8rem;
  font-family: var(--font-shippori);
}
.pcmn_sub{
  display: inline-block;
  position: absolute;
  font-size: 10rem;
  font-family: var(--font-libre);
  line-height: 1;
  opacity: 0.16;
  color: #01c3ab;
  z-index: 0;
}
.pcmn_sub.en{
  letter-spacing: 0.1em;
  left: 50%;
  bottom: 0;
  transform: translate(-50%,-32%);
  white-space: nowrap;
}
.pcmn_sub.all{
  bottom: 0;
  right: 0;
  font-family: "Allura", cursive;
  font-style: italic; 
  opacity: 0.4; 
}
.pcmn_txt_main{
  text-align: center;
}
@media screen and (max-width :834px) {
  .pcmn_ttl_sec{
    font-size: 3rem;
  }  
  .pcmn_sub{
    font-size: 6rem;
    font-family: var(--font-libre);
    line-height: 1;
    opacity: 0.16;
    color: #01c3ab;
    z-index: 0;
  }
}
/* nav_local
--------------------------------------------*/
#nav_local{
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 207px;
  padding: 30px 10px 30px 0;
  background-color: var(--beige);
  z-index: 10;
}
#nav_local li{
  position: relative;
  padding-left: 24px;
}
#nav_local li+li{
  margin-top: 0.7em;
}
#nav_local li a{
  font-weight: bold;
  color: var(--black);
}
#nav_local li a.is_active::before{
  content: '';
  width: 12px;
  height: 1px;
  background-color:var(--black) ;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media (max-width :1280px) {
  #nav_local{
    display: none;
    content-visibility: hidden;
  }
}
/* sec_main
--------------------------------------------*/
.sec_main{
  padding: 280px 0 80px;
  background: url(../../bokin/futureseat/img/bg_main.jpg)no-repeat center center;
  background-size: cover;
}
.sec_main .ttl_page{
  text-align: center;
}
.sec_main .ttl_page h1{
  display: inline-block;
  position: relative;
  color: #fff;
  line-height: 1;
}
.sec_main h1 .univ{
  display: block;
  font-size: 2.8rem;
  font-family: var(--font-libre);
  letter-spacing: 0.06em;
  overflow: hidden;
}
.sec_main h1 .univ>span,
.sec_main h1 .kifu>span{
  display: block;
}
.sec_main h1 .kifu{
  display: block;
  position: relative;
  margin-top: 22px;
  font-size: 6rem;
  font-family: var(--font-libre);
  z-index: 1;
  overflow: hidden;
}
.sec_main h1 .kifu .en{
  display: inline-block;
  margin-right: 0.2em;
  font-size: 8rem;
  letter-spacing: 0.06em;
}
.sec_main h1 .pcmn_sub{
  color: #baefe8; 
  font-size: 4.8rem;
  transform: translate(30.5%,45%) rotate(-10deg);
}
.sec_main .area_count{
  position: relative;
  width: 260px;
  margin: 70px auto 0;
  padding: 15px 20px;
  background-color: rgba(246, 245, 236,0.7);
  border: solid 3px #fff;
  text-align: center;
  line-height: 1;
}
.sec_main .area_count::before,
.sec_main .area_count::after{
  content: '';
  position: absolute;
  top: -3px;
  background-color: #dfcb95;
  width: 24px;
  height: calc(100% + 6px);
  z-index: 1;
}
.sec_main .area_count::before{
  left: -3px;
  clip-path: polygon(0 0, 100% 0, 0 24px, 0 calc(100% - 24px), 0 calc(100% - 24px), 100% 100%, 0 100%, 0 24px);
}
.sec_main .area_count::after{
  right: -3px;
  clip-path: polygon(0 0, 100% 0, 100% 24px, 100% calc(100% - 24px), 100% 100%, 0 100%, 100% calc(100% - 24px), 100% 24px);
}
.sec_main .area_count .ttl{
  display: block;
  font-weight: 500;
}
.sec_main .area_count .seat{
  display: block;
  margin-top: 5px;
  font-size: 1.8rem;
  font-family: var(--font-libre);
  letter-spacing: 0.06em;  
}
.sec_main .area_count .seat .large{
  font-size: 4.2rem;
  font-weight: 700;
}
.sec_main .area_count .seat .slash{
  display: inline-block;
  margin: 0 12px;
  font-size: 4rem;
  transform: rotate(10deg);
}
.sec_main .area_count .seat .small{
  font-size: 2.8rem;
}
.sec_main .area_count .seat .unit{
  margin-left: 3px;
  font-family: var(--font-min);
  letter-spacing: 0;
}
.sec_main .area_count .txt{
  display: block;
  margin-top: 13px;
  font-size: 1.4rem;
}
@media screen and (max-width :834px) {
  .sec_main{
    padding: 160px 0 48px;
    background-image: url(../../bokin/futureseat/img/bg_main_sp.jpg);
  }
  .sec_main .inner{
    padding: 0;
  }
  .sec_main h1 .univ{
    font-size:1.6rem;
  }
  .sec_main h1 .kifu{
    margin-top: 5px;
    font-size: 3.8rem;
  }
  .sec_main h1 .kifu .en{
    margin-right: 8px;
    font-size:clamp(4rem,13.33vw,5.2rem);
  }
  .sec_main h1 .pcmn_sub{
    font-size: 2.8rem;
    transform: translate(14%,80%) rotate(-10deg);
  }
  .sec_main .area_count{
    width: 190px;
    max-width: 100%;
    margin: 50px auto 0;
    padding: 11px 20px;
    border: solid 2px #fff;
  }
  .sec_main .area_count::before,
  .sec_main .area_count::after{
    top: -2px;
    width: 12px;
    height: calc(100% + 4px);
  }
  .sec_main .area_count::before{
    left: -2px;
    clip-path: polygon(0 0, 100% 0, 0 12px, 0 calc(100% - 12px), 0 calc(100% - 12px), 100% 100%, 0 100%, 0 12px);
  }
  .sec_main .area_count::after{
    right: -2px;
    clip-path: polygon(0 0, 100% 0, 100% 12px, 100% calc(100% - 12px), 100% 100%, 0 100%, 100% calc(100% - 12px), 100% 12px);
  }
  .sec_main .area_count .ttl{
    font-size: 1.2rem;
  }
  .sec_main .area_count .seat{
    margin-top: 5px;
    font-size: 1.2rem;
  }
  .sec_main .area_count .seat .large{
    font-size: 2.8rem;
  }
  .sec_main .area_count .seat .slash{
    margin: 0 5px;
    font-size: 2.5rem;
  }
  .sec_main .area_count .seat .small{
    font-size: 2rem;
  }
  .sec_main .area_count .seat .unit{
    margin-left: 3px;
  }
  .sec_main .area_count .txt{
    margin-top: 7px;
    font-size: 1.2rem;
  }
}
/* sec_about
--------------------------------------------*/
.sec_about{
  padding: 170px 0 10.2vw;
}
.sec_about .inner>*{
  position: relative;
  z-index: 2;
}
.sec_about .txt_lead{
  text-align: center;
}
.sec_about .txt_lead p{
  display: inline-block;
  position: relative;
  text-align: center;
}
.sec_about .txt_lead .main{
  display: inline-block;
  font-size: 4.8rem;
  font-family: var(--font-shippori);
  letter-spacing: 0.06em;
  line-height: 1.667;
}
.sec_about .txt_lead .main > span{
  letter-spacing: 0.16em;
}
.sec_about .txt_lead .pcmn_sub{
  color: #dfcb95; 
  opacity: 0.6;
  font-size: 3.6rem;
  transform: translate(32%,10%) rotate(-10deg);
}
.sec_about h2{
  margin-top: 60px;
  text-align: center;
  font-size: 2.4rem;
  font-family: var(--font-shippori);
  font-weight: 600;
}
.sec_about .pcmn_txt_main{
  margin-top: 25px;
}

.sec_about .pcmn_ttl_sec{
  position: relative;
  text-align: left;
  margin-top: 200px;
  margin-bottom: 50px;
}
.sec_about .pcmn_ttl_sec .pcmn_sub.en{
  left: 0;
  transform: translate(0,-32%);
}
/*wrap_overview*/
.sec_about .wrap_overview{
  position: relative;
  display: flex;  
  z-index: 0;
}
.sec_about .wrap_overview .area_txt{
  width:61% ;
}
.sec_about .wrap_overview dl .row{
  display: flex;
  border-top: solid 1px #d4d5d5;
  font-size: 1.8rem;
}
.sec_about .wrap_overview dl .row:last-child{
  border-bottom: solid 1px #d4d5d5;
}
.sec_about .wrap_overview dt{
  position: relative;
  width: 120px;
  padding:22px 5px;
  font-weight: 600;
}
.sec_about .wrap_overview dt::before,
.sec_about .wrap_overview dl .row:last-child dt::after{
  content: '';
  width: 100%;
  height: 1px;
  background-color: var(--black);
  position: absolute;
  top: -1px;
  left: 0;
}
.sec_about .wrap_overview dl .row:last-child dt::after{
  top: auto;
  bottom: -1px;
}
.sec_about .wrap_overview dd{
  flex: 1;
  padding:22px 0 22px 35px;
}
.sec_about .wrap_overview .cmn_btn{
  margin-top: 60px;
}

.sec_about .wrap_overview figure{
  position: relative;
  flex: 1;
}
.sec_about .wrap_overview figure .img{
  width: 194.3%;
  transform: translateX(14.7%);
}
.sec_about .wrap_overview figure .bg{
  width:107%;
  max-width: inherit;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(86.5%,-48.4%);
  z-index: 0;
}
/*deco*/
.sec_about .deco{
  position: absolute;
  z-index: 1;
}
.sec_about .deco img{
  position: relative;
  z-index: 1;
}
.sec_about .deco.about1{
  width: 19.8vw;
  max-width: 380px;
  top: -60px;
  left:50%;
  transform: translateX(-235%);
}
.sec_about .deco.about1 .bg{
  content: '';
  width: 380px;
  height: 427px;
  position: absolute;
  right: -60px;
  bottom: -70px;
  z-index: 0;
}
.sec_about .deco.about2{
  width: 12.5vw;
  max-width: 240px;
  top: 45px;
  right:50%;
  transform: translateX(286%);
}
.sec_about .deco.about3{
  width: 18.3vw;
  max-width: 352px;
  top: 405px;
  right:50%;
  transform: translateX(272%);
}
@media screen and (max-width :834px) {
  .sec_about{
    padding: 225px 0 80px;
  }
  .sec_about .txt_lead .main{
    font-size: 3rem;
  }
  .sec_about .txt_lead .pcmn_sub{
    font-size: 2rem;
    transform: translate(-5%,45%) rotate(-10deg);
  }
  .sec_about h2{
    margin-top:85px;
  }
  .sec_about .pcmn_txt_main{
    margin-top: 15px;
  }
  .sec_about .pcmn_ttl_sec{
    margin-top: 75vw;
    margin-bottom: 20px;
  }
  /*wrap_overview*/
  .sec_about .wrap_overview{
    display: block;
    position: relative;
    z-index: 0;
  }
  .sec_about .wrap_overview .area_txt{
    width:100%;
  }
  .sec_about .wrap_overview dl .row{
    flex-direction: column;
    border-top: solid 1px var(--black);
  }
  .sec_about .wrap_overview dt{
    width: 100%;
    padding:7px 0;
  }
  .sec_about .wrap_overview dt::before,
  .sec_about .wrap_overview dl .row:last-child dt::after{
    display: none;
  }
  .sec_about .wrap_overview dd{
    padding:10px 0;
    font-size: 1.6rem;
    border-top: solid 1px #d4d5d5;
  }  
  .sec_about .wrap_overview .cmn_btn{
    margin-top: 40px;
  }
  .sec_about .wrap_overview figure{
    position: absolute;
    top: -85px;
    left: 50%;
    transform: translate(-12.6%,-100%);
    z-index: 0;
  }
  .sec_about .wrap_overview figure .img{
    width: 104.6vw;
    max-width: 652px;
    transform: translateY(0);
    z-index: 1;
  }
  .sec_about .wrap_overview figure .bg{
    width: 55.14%;
    transform: translate(60.22%,-51.7%);
  }
  /*deco*/
  .sec_about .deco.about1{
    width: 39.18vw;
    max-width: 214px;
    top: -110px;
    left: 0;
    transform: translateX(-6.1%);
  }
  .sec_about .deco.about1 .bg{
    width: 87%;
    height: 79.3%;
    right: -20px;
    bottom: -22px;
  }
  .sec_about .deco.about2{
    width: 30.76vw;
    max-width: 192px;
    top: -190px;
    right:0;
    transform: translateX(-26.6%);
  }
  .sec_about .deco.about3{
    width: 36.9vw;
    max-width: 224px;
    top: 200px;
    right:0;
    transform: translateX(14.23%);
  }
  .sec_about .deco.about3 .bg{
    display: none;
  }

}
/* sec_plate
--------------------------------------------*/
.sec_plate{
  padding-bottom: 100px;
}
.sec_plate .img_main{
  width: 100%;
  margin-bottom: 10px;
}
.sec_plate .pcmn_ttl_sec{
  margin-bottom: 15px;
}
.sec_plate .ttl_list{
  position: relative;
  margin-top: 50px;
  padding: 11px 0;
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.06em;
  border-top: solid 1px #d4d5d5;
}
.sec_plate .ttl_list .pcmn_sub{
  top: 0;
  left: -26px;
  font-size: 4.8rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  transform: rotate(90deg);
  transform-origin: top left;
  opacity: 0.26;
}
.sec_plate .ttl_list:nth-of-type(n+2){
  margin-top: 80px;
}
.sec_plate .list_design{
  display: flex;
  flex-wrap: wrap;
}
.sec_plate .list_design{
  display: flex;
  gap: 30px 36px;
}
.sec_plate .list_design li{
  border-top: solid 1px #d4d5d5;
  width: calc((100% - 72px) / 3);
}
.sec_plate .list_design li .ttl{
  padding: 11px 0;
  font-size: 1.8rem;
  letter-spacing: 0.06em;
}
@media screen and (max-width :834px) {
  .sec_plate{
    padding-bottom: 50px;
  }
  .sec_plate .img_main{
    width: 250%;
    max-width: inherit;
    transform: translate(-25%);
    margin-bottom: 0;
  }
  .sec_plate .pcmn_ttl_sec{
    margin-bottom: 10px;
  }
  .sec_plate .ttl_list{
    margin-top:60px;
    padding: 11px 0;
  }
  .sec_plate .ttl_list .pcmn_sub{
    left: 50%;
    font-size: 4rem;
    transform: translate(-50%,-90%);
    transform-origin: top left;
  }
  .sec_plate .ttl_list:nth-of-type(n+2){
    margin-top: 65px;
  }
  .sec_plate .list_design{
    flex-direction: column;
  }
  .sec_plate .list_design{
    gap: 30px 0;
  }
  .sec_plate .list_design li{
    width: 100%;
  }
  .sec_plate .list_design li .ttl{
    padding: 8px 0;
  }
}

/* sec_howto
--------------------------------------------*/
.sec_howto{
  padding: 120px 0 160px;
  background: url(../../bokin/futureseat/img/bg_howto.png) no-repeat center center;  
  background-size: cover;
}
.sec_howto .pcmn_txt_main{
  margin-top: 15px;
  line-height: 2.25;
}
.sec_howto .area_app{
  display: flex;
  margin-top:45px;
  border:solid 1px #a8acab;
}
.sec_howto .area_app .item{
  flex: 1;
  padding: 70px 10px 67px;
  text-align: center;
}
.sec_howto .area_app .ttl_item{
  font-weight: 600;
  font-size: 2rem;
}
.sec_howto .area_app .pcmn_txt_main{
  margin-top: 20px;
}
.sec_howto .area_app .cmn_btn{
  margin-top: 7px;
}
@media (min-width :835px){
  .sec_howto .area_app .item:nth-child(2){
    border-left:solid 1px #d3d5d5;
  }
}
@media screen and (max-width :834px) {
  .sec_howto{
    padding: 95px 0 80px;
    background-image: url(../../bokin/futureseat/img/bg_howto_sp.png);  
  }
  .sec_howto .pcmn_txt_main{
    margin-top: 15px;
    line-height: 1.75;
  }
  .sec_howto .area_app{
    flex-direction: column;
    flex-wrap: wrap;
    margin-top:45px;
  }
  .sec_howto .area_app .item{
    width: 100%;
    padding:40px 10px 50px;
  }
  .sec_howto .area_app .item:nth-child(2){
    border-top:solid 1px #d3d5d5;
  }
  .sec_howto .area_app .pcmn_txt_main{
    margin-top: 30px;
  }
  .sec_howto .area_app .cmn_btn{
    margin-top: 15px;
  }  
}

/* animaiton */
.js_fade{
  opacity: 0;
  transition: opacity 2s;
  backface-visibility:hidden;
}
.js_fade.show{
  animation: fadeInUp 1.3s ease 0.5s forwards;
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media print{
  .js_fade{
    opacity: 1;
    visibility: visible;
  }
}