@charset "utf-8";

/* ---------------------------------------------------------------------------------------------

　   MV

--------------------------------------------------------------------------------------------- */
.fit{object-fit:cover;font-family:'object-fit:cover;';width:100%;}
.container{padding:0 0 100px 0;max-width:1240px;margin:0 auto;}
#mv{position: relative;background:url("/img/page/pr_enjoytimepass/mv.jpg") no-repeat ; background-size:cover;background-position: top center; aspect-ratio: 1440 / 745; }
.mv_imges{ padding:0 0;width: 57vw; height: 100%; }
.mv_imges img{display: block;width: 100%;}
.mv_imges .mv_titile{margin: 0 auto; padding:8.6vw 0 0 0; width:45.20vw}
.mv_imges .mv_badge{margin: 0 auto; padding:2.7vw 0 0 0;width: 43.20vw;}
.mv_imges .mv_btn{margin: 6.25vw auto 0;width: 25vw; display: block;}

@media only screen and (max-width:768px){
  .container{padding:0 5.333vw 21.33vw 5.333vw;max-width:100%;}
  #mv{position: relative;background:url("/img/page/pr_enjoytimepass/mv_sp.jpg") no-repeat ; background-size:cover; padding:0; aspect-ratio: 375 / 450; display: flex; justify-content: center; align-items: end; flex-wrap: wrap;}
  .mv_imges {padding: 0 5.333vw 0 5.333vw; width:auto; height: auto;}
  .mv_imges img{display: block;margin: 0 auto;}
  .mv_imges .mv_titile{padding: 0 0 0 0; width: 100%;}
  .mv_imges .mv_badge{padding: 15vw 0;width: 90%;}
  .mv_imges .mv_btn.pc{display: none;}

  .index-footer02.show{display: none;}
  .mv_btn.sp{position:fixed; bottom:0; z-index: 10;width: 80%;inset:auto 0 0 0;margin: auto;}
}

/*------ 共通 - タイトル・リード文 ------*/
.title{display:block;margin:0 auto;padding:80px 0;}
#enjoy .title{max-width:482px;}
#facility .title{max-width:270px;}
#price .title{max-width:180px;}
#storelist .title{max-width:531px;}
#howtouse .title{max-width:270px;}
.lead{display:block;margin:0px auto;}
#enjoy .lead{max-width:770px;margin:100px auto 0;}
#facility .lead{max-width:933px;}
#price .lead{max-width:696.5px;}
#storelist .lead{max-width:814px;}
#howtouse .lead{max-width:772px;}
@media only screen and (max-width:768px){
  .title{padding:21.33vw 0 8vw;}
  #enjoy .title{max-width:71.616vw;}
  #facility .title{max-width:43.2vw;}
  #price .title{max-width:25.6vw;}
  #storelist .title{max-width:60.8vw;}
  #howtouse .title{max-width:43.2vw;}
  #enjoy .lead{max-width:67.2vw;margin:26.666vw auto 0;}
  #facility .lead{max-width:87.46vw;}
  #price .lead{max-width:80vw;}
  #storelist .lead{max-width:87.46vw;}
  #howtouse .lead{max-width:80vw;}
}

/*------ 共通 - 注釈 ------*/
ul.kome{font-size:16px;line-height:1.8;margin:30px auto 0;color:#5D5D5D;}
ul.kome > li{text-indent:-1em;padding-left:1em;}
ul.kome > li:before{content:'※';}
@media only screen and (max-width:768px){
  ul.kome{font-size:3.733vw;margin:5.33vw auto 0;text-align:justify;}
  ul.kome > li:before{margin:0 1.866vw 0 0;}
}

/*------ メニューリスト ------*/
#menu_list{background: #FFF5F6; padding: 20px 0;}
#menu_list ul{display:flex;flex-wrap:wrap;justify-content:space-between;max-width: 960px; margin: 0 auto;}
#menu_list ul li a{display:block;font-size:24px;font-weight:600;text-align:left;position:relative;line-height:1;color:#000;}
#menu_list ul li a:after{content:'';position:absolute;transform:translateX(-50%) rotate(135deg);display:inline-block;width:10px;height:10px;border-top:3px solid #DD0648;border-right:3px solid #DD0648;top:-5px;bottom:0;margin:auto 0;right:-30px;}
@media only screen and (max-width:768px){
  #menu_list{padding: 0;}
  #menu_list ul{max-width: 100%; margin: 0 auto; justify-content:left;}
  #menu_list ul li:first-child{width: 100%;}
  #menu_list ul li:first-child a{text-align: center;margin: 0 0 0 -5.333vw;}
  #menu_list ul li:first-child a:after{margin:auto 0;right:15.333vw;}
  #menu_list ul li{width:calc( 50% - 10.666vw - 1.333vw ); padding: 4vw 5.333vw ; border-bottom:1.333vw #FFF solid; }
  #menu_list ul li:nth-child(even){border-right:1.333vw #FFF solid;}
  #menu_list ul li a{font-size:4.333vw;display: block; margin: 0 auto; text-align: left;}
  #menu_list ul li a:after{width:2.666vw;height:2.666vw;border-top:0.8vw solid #DD0648;border-right:0.8vw solid #DD0648;top:-1.333vw;bottom:0;margin:auto 0;right:0;}
}
/*------ いいこといろいろ ------*/
#enjoy{background:url("/img/page/pr_enjoytimepass/enjoy_bg.png") no-repeat ; background-size:cover; background-position: center 300px;}
#enjoy .kome{color: #FFF; max-width: 868px;}
.enjoy_txt01{display: block; max-width: 613px; margin: 80px auto 0;}
.enjoy_txt02{display: block; max-width: 868px; margin: 80px auto;}
@media only screen and (max-width:768px){
  #enjoy{background:url("/img/page/pr_enjoytimepass/enjoy_bg_sp.png") no-repeat ; background-size:cover; background-position: center 64vw;}
  .enjoy_txt01{display: block; max-width: 100%; margin: 8vw auto 0;}
  .enjoy_txt02{display: block; max-width: 100%; margin: 8vw auto;}
}
/*------ 施設ご案内 ------*/
#facility{background:url("/img/page/pr_enjoytimepass/facility_bg.jpg") no-repeat ; background-size:cover; background-position: center top;}
#facility .container{max-width: 100%;}
#facility ul.kome{max-width: 1140px;margin:80px auto 0; }
/*スライダーの横幅*/
.slider_main{max-width:1140px;margin:60px auto 0;}
/*スライダー画像*/
.slider_main img{width:100%;}
/*高さ調整*/
.slider_main .slick-slide{height:auto!important; margin:0 5px;}
/*サムネカスタマイズ*/
.slide_nav{max-width: 1240px; margin:100px auto 0; display:flex;justify-content:center;align-items:center; gap: 0 5px;}
.slide_nav li{cursor: pointer; display:flex;justify-content:center;align-items:center;color:#000;border:2px solid #DD0048;background:#FFF;border-radius:100px;text-align:center;font-size:16px;font-weight: bold; line-height:1;}
.slide_nav li{ width:150px; padding: 20px 0 15px 0;}
.slide_nav .slick-track { transform: unset !important; width:100% !important;}
.slide_nav li.active { color:#FFF;border:2px solid #DD0048;background:#DD0048;}

@media only screen and (max-width:768px){
  #facility .container{padding: 0 0 21.33vw 0;}
  #facility ul.kome{max-width: 100%;margin:10.666vw auto 0;padding: 0 5.333vw; }
  /*スライダーの横幅*/
  .slider_main{margin:10.666vw auto 0;}
  /*高さ調整*/
  .slider_main .slick-slide{height:auto!important; margin:0 1.333vw;}
  /*サムネカスタマイズ*/
  .slide_nav{margin:21.333vw auto 0; padding: 0 5.333vw; flex-wrap:wrap; gap: 2vw; justify-content:left;}
  .slide_nav li{font-size:4.266vw;}
  .slide_nav li{ width: 47.4%; padding: 3.5vw 0 2.666vw 0;}
}

/*------ 料金表 ------*/
.price_table{max-width:860px;margin:80px auto 0;}
@media only screen and (max-width:768px){
  .price_table{margin:10.666vw auto 0;}
}

/*------ ご利用店舗一覧 ------*/
#storelist{background:#FFF5F6;}
.shopInfo_wrap .shopInfo_wrap_inner{display:flex;flex-wrap:wrap;justify-content:space-between;margin:auto;box-sizing:border-box;}
.shopInfo_wrap .shopInfo_wrap_inner ul{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:0 .5%;}
.shopInfo_wrap .shopInfo_wrap_inner ul li{width:330px;padding:15px 0;}
.shopInfo_wrap .shopInfo_wrap_inner ul li a{display:block;font-size:16px;font-weight:600;border:2px solid #000;border-radius:100px;background:#FFF;text-align:left;padding:25px 0 25px 20px;position:relative;line-height:1;}
.shopInfo_wrap .shopInfo_wrap_inner ul li a:hover{border:2px solid #DD0048;background:#DD0048;color:#FFF;}
.shopInfo_wrap .shopInfo_wrap_inner ul li a:after{content:'';position:absolute;transform:translateX(-50%) rotate(45deg);display:inline-block;width:10px;height:10px;border-top:3px solid #DD0648;border-right:3px solid #DD0648;top:-5px;bottom:0;margin:auto 0;right:15px;}
.shopInfo_wrap .shopInfo_wrap_inner ul li a:hover::after{border-top:3px solid #FFF;border-right:3px solid #FFF;}

/*tab*/
.shopInfo_wrap .tab-area{width:auto;margin:80px auto 0;padding:30px 0;}
.shopInfo_wrap .tab-area ul{margin:0 auto;width:1000px;box-sizing:border-box;display:flex;justify-content:space-between;}
.shopInfo_wrap .tab-area li{width:calc(100% / 4 - 15px);border-radius:5px;}
.shopInfo_wrap .tab-area li a{width:100%;height:auto;padding:20px 0;line-height:1;font-size:20px;font-weight:bold;position:relative;display:flex;align-items:center;justify-content:center;background-color:#fff;border:#000 solid 2px;border-radius:6px;}
.shopInfo_wrap .tab-area li a span{display:block;color:#000;text-align:center;}

/*active*/
.shopInfo_wrap.active .tab-area .tab.active a{background-color:#DD0648;color:#fff;}
.shopInfo_wrap.active .tab-area .tab.active a::after{content:'';display:block;background:url("/img/page/pr_enjoytimepass/tab_yazirushi.svg") no-repeat;position:absolute;width:28px;height:22px;bottom:-20px;right:0;left:0;margin:0 auto;background-size:contain;}
.shopInfo_wrap.active .tab-area .tab.active a span{color:#FFF;}

/* タブの中身*/
.panel{display:none;}
.panel-inner{width:1000px;display:flex;flex-wrap:wrap;justify-content:space-between;margin:0 auto;box-sizing:border-box;}
.panel.active{display:block;width:100%;}
@media only screen and (max-width:768px){
  .shopInfo_wrap .shopInfo_wrap_inner ul{gap:0;}
  .shopInfo_wrap .shopInfo_wrap_inner ul li{width:100%;padding:2.666vw 0 0;}
  .shopInfo_wrap .shopInfo_wrap_inner ul li a{font-size:4.266vw;padding:4vw 0 3.73vw 5.333vw;}
  .shopInfo_wrap .shopInfo_wrap_inner ul li a:after{width:2.66vw;height:2.66vw;border-top:0.8vw solid #DD0648;border-right:0.8vw solid #DD0648;right:4vw;top:0;}
  .shopInfo_wrap .shopInfo_wrap_inner ul li a:hover::after{border-top::0.8vw solid #FFF;border-right::0.8vw solid #FFF;}

  /*tab*/
  .shopInfo_wrap .tab-area{width:auto;margin:10.666vw auto 0;padding:0 0 10.666vw;}
  .shopInfo_wrap .tab-area ul{margin:0 auto;width:100%;flex-wrap:wrap;}
  .shopInfo_wrap .tab-area li{width:48%;}
  .shopInfo_wrap .tab-area li:nth-child(n+3){margin:5.333vw 0 0;}
  .shopInfo_wrap .tab-area li a{height:auto;padding:4vw 0 3.73vw 0;font-size:4.266vw;}

  /*active*/
  .shopInfo_wrap.active .tab-area .tab.active a::after{width:4.5vw;height:3.5vw;bottom:-3vw;}

  /* タブの中身*/
  .panel-inner{width:100%;}
}

/*------ ご利用方法 ------*/
.for_app .app_txt{display:block;max-width:446px;margin:0 auto;}
.for_app .app_icon{display:block;max-width:446px;margin:60px auto;}
.for_app .btn_lists{display:flex;justify-content:center;margin:20px auto 0;}
.for_app .btn_lists li{margin:0px 5px;}
.flow{background:#FFF5F6;border-radius:50px;display:flex;justify-content:space-between;padding:80px;margin:30px auto 0;}
.flow .flow_img{width:30%;max-width:280px;}
.flow li p{font-size:16px;line-height:1.8;text-align:justify;margin:30px auto 0;}
.flow .triangle{content:"";display:block;width:0;height:0;border-style:solid;border-width:22px 0 22px 38.1px;border-color:transparent transparent transparent #DD0048;}
.btn_pr_app p{margin-top:180px;text-align:center;font-size:20px;line-height:1.7;}
.btn_pr_app a{display:block;width:90%;max-width:1070px;margin:60px auto 0;}
@media only screen and (max-width:768px){
  #howtouse .container{padding:0 5.333vw 0 5.333vw;}
  .for_app .app_txt{max-width:79.466vw;}
  .for_app .app_icon{width:21.333vw;margin:10.666vw auto;}
  .for_app .btn_lists{margin:5.333vw auto 0;display:block;}
  .for_app .btn_lists li{margin:0px auto;width:58.66vw;}
  .for_app .btn_lists li:last-child{margin:2.666vw auto 0;}
  .flow{padding:13.333vw 5.333vw;margin:16vw auto 0;display:block;border-radius:5.333vw;}
  .flow .flow_img{width:100%;max-width:100%;}
  .flow .flow_img img{width:80%;max-width:80%; margin: 0 auto; display: block;}
  .flow li p{font-size:3.733vw;margin:8vw auto 0;}
  .flow .triangle{width:0;height:0;border-style:solid;border-color:#DD0048 transparent transparent transparent;border-width:10.162vw 5.866vw 0px 5.866vw;margin:8vw auto;}
  .btn_pr_app p{margin-top:21.33vw;font-size:4.8vw;}
  .btn_pr_app a{width:100%;max-width:100%;margin:5.333vw auto 0;}
}
/* ---------------------------------------------------------------------------------------------

　   ANIMATION

--------------------------------------------------------------------------------------------- */
.fadein{opacity:0;transition:.8s;}
.fadein.fadein__active{opacity:1;transition-delay:.1s;}
/*.fadein.fadein__active.delay1{transition-delay:.4s;}
.fadein.fadein__active.delay2{transition-delay:.8s;}
.fadein.fadein__active.delay3{transition-delay:1.2s;}
.fadein.fadein__active.delay4{transition-delay:1.6s;}*/
@media print,screen and (min-width:768px){
  .mv_imges .mv_titile.fadein_up.fadein_up__active,
  .mv_imges .mv_badge.fadein_up.fadein_up__active{transition-delay:1s;animation-delay:1s;}
  .mv_imges .mv_btn.fadein_up.fadein_up__active{transition-delay:1s;animation-delay:1s;}
  .flow li:nth-child(1n).fadein_up.fadein_up__active,
  .flow li:nth-child(2n).fadein_up.fadein_up__active{transition-delay:.6s;animation-delay:.6s;}
  .flow li:nth-child(3n).fadein_up.fadein_up__active,
  .flow li:nth-child(4n).fadein_up.fadein_up__active{transition-delay:.8s;animation-delay:.8s;}
  .flow li:nth-child(5n).fadein_up.fadein_up__active{transition-delay:1s;animation-delay:1s;}
/*
  .col2_anim_pc .fadein.fadein__active:nth-child(2n){transition-delay:.3s!important;}
  .col3_anim_pc .fadein.fadein__active:nth-child(3n+2){transition-delay:.3s!important;}
  .col3_anim_pc .fadein.fadein__active:nth-child(3n){transition-delay:.6s!important;}*/
}
.fadein_up{opacity:0;transition:.8s;animation-timing-function:cubic-bezier(0.34,1.56,0.64,1);transition-delay:.3s;animation-delay:.3s;}
.fadein_up.fadein_up__active{opacity:1;animation-name:fadein_up__active;animation-duration:1.2s;}
@media print,screen and (min-width:768px){
  .pc_fadein_up{opacity:0;transition:.8s;animation-timing-function:cubic-bezier(0.34,1.56,0.64,1);transition-delay:.3s;animation-delay:.3s;}
  .pc_fadein_up.pc_fadein_up__active{opacity:1;animation-name:fadein_up__active;animation-duration:1.2s;}
/*  .col2_anim_pc .fadein_up.fadein_up__active:nth-child(3n+2){transition-delay:.6s;animation-delay:.6s;}
  .col3_anim_pc .fadein_up.fadein_up__active:nth-child(3n+2),
  .col3_anim_pc .pc_fadein_up.pc_fadein_up__active:nth-child(3n+2){transition-delay:.6s;animation-delay:.6s;}
  .col3_anim_pc .fadein_up.fadein_up__active:nth-child(3n),
  .flow .flow_img:nth-child(1n).pc_fadein_up.pc_fadein_up__active{transition-delay:.9s;animation-delay:.9s;}*/
}
@keyframes fadein_up__active{
  from{transform:translateY(30px);}
  to{transform:translateY(0);}
}
.fadein_up.fadein_up__active.delay1{transition-delay:.2s;animation-delay:.2s;}
.fadein_up.fadein_up__active.delay2{transition-delay:.4s;animation-delay:.4s;}


.mv_btn-footer { width: 25vw; position: fixed; top: 80px; right: 20px; z-index: 1; display: block; transform: translateY(calc(-100% - 120px)); transition: transform 1s ease; }
.mv_btn-footer img { width: 100%; }
.mv_btn-footer.active { transform: translateY(0); }
@media print,screen and (max-width:768px){
  .mv_btn-footer { display: none; }
}