@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR&display=swap');
/* html5doctor.com Reset Stylesheet v1.4 2009-07-27 Author: Richard Clark - http://richclarkdesign.com */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, menu, nav, section, time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
body {
    line-height: 1;
}
article, aside, dialog, figure, footer, header, hgroup, nav, section {
    display:block;
}
nav ul {
    list-style:none;
}
blockquote, q {
    quotes:none;
}
blockquote:before, blockquote:after, q:before, q:after {
    content:'';
    content:none;
}
a {
    margin:0;
    padding:0;
    border:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}
mark {
    background-color:#ff9;
    color:#000;
    font-style:italic;
    font-weight:bold;
}
del {
    text-decoration: line-through;
}
abbr[title], dfn[title] {
    border-bottom:1px dotted #000;
    cursor:help;
}
table {
    border-collapse:collapse;
    border-spacing:0;
}
hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}
input, select {
    vertical-align:middle;
}
img{
    line-height:1;
    vertical-align:bottom;
}
/************** layout base ********************/
.clearfix:after {
    content: "";
    clear: both;
    display: block;
}
img{
    max-width:100%;
}
a{
   text-decoration:none;
    color:#000000;
}
a:hover{
   text-decoration: none;
}
a:link{
}
a:visited{
   color:#0d5bab;
}
/* ボタンrollover */
a:hover img{
    opacity:0.8;
}
sup {
    line-height: 100%;
    font-size:10px;
    vertical-align: 0.4em;
}
sub{
    line-height: 100%;
    font-size:10px;
    vertical-align: -0.1em;
}
.txtLeft{
   text-align:left;
}
.txtRight{
   text-align:right;
}
.txtCenter{
   text-align:center;
}
.fw{
   font-weight:bold !important;
}
.f10{
    font-size:10px !important;
}
.f11{
    font-size:11px !important;
}
.f12{
    font-size:12px !important;
}
.f13{
    font-size:13px !important;
}
.f14{
    font-size:14px !important;
}
.f15{
    font-size:15px !important;
}
.f16{
    font-size:16px !important;
}
.f17{
    font-size:17px !important;
}
.f18{
    font-size:18px !important;
}
.f20{
    font-size:20px !important;
}
.f22{
    font-size:22px !important;
}
.f24{
    font-size:24px !important;
}
.txtRed{
    color:#D80000;
}
.fLeft{
    float:left;
}
.fRight{
    float:right;
}
.mTop0{
    margin-top:0 !important;
}
.mTop5{
    margin-top:5px !important;
}
.mTop10{
    margin-top:10px !important;
}
.mTop15{
    margin-top:15px !important;
}
.mTop20{
    margin-top:20px !important;
}
.mTop25{
    margin-top:25px !important;
}
.mTop30{
    margin-top:30px !important;
}
.mTop35{
    margin-top:35px !important;
}
.mTop40{
    margin-top:40px !important;
}
.mTop45{
    margin-top:45px !important;
}
.mTop50{
    margin-top:50px !important;
}
.mTop55{
    margin-top:55px !important;
}
.mTop60{
    margin-top:60px !important;
}
.mBtm0{
    margin-bottom:0 !important;
}
.mBtm5{
    margin-bottom:5px !important;
}
.mBtm10{
    margin-bottom:10px !important;
}
.mBtm15{
    margin-bottom:15px !important;
}
.mBtm20{
    margin-bottom:20px !important;
}
.mBtm25{
    margin-bottom:25px !important;
}
.mBtm30{
    margin-bottom:30px !important;
}
.mBtm35{
    margin-bottom:35px !important;
}
.mBtm40{
    margin-bottom:40px !important;
}
.mBtm45{
    margin-bottom:45px !important;
}
.mBtm50{
    margin-bottom:50px !important;
}
.mBtm55{
    margin-bottom:55px !important;
}
.mBtm60{
    margin-bottom:60px !important;
}
.mBtm70{
    margin-bottom:70px !important;
}
.mBtm80{
    margin-bottom:80px !important;
}
.mBtm90{
    margin-bottom:90px !important;
}
.mBtm100{
    margin-bottom:100px !important;
}
.pTop0{
    padding-top:0 !important;
}
.pTop5{
    padding-top:5px !important;
}
.pTop10{
    padding-top:10px !important;
}
.pTop15{
    padding-top:15px !important;
}
.pTop20{
    padding-top:20px !important;
}
.pTop25{
    padding-top:25px !important;
}
.pTop30{
    padding-top:30px !important;
}
.pTop35{
    padding-top:35px !important;
}
.pTop40{
    padding-top:40px !important;
}
.pTop45{
    padding-top:45px !important;
}
.pTop50{
    padding-top:50px !important;
}
.pBtm0{
    padding-bottom:0 !important;
}
.pBtm5{
    padding-bottom:5px !important;
}
.pBtm10{
    padding-bottom:10px !important;
}
.pBtm15{
    padding-bottom:15px !important;
}
.pBtm20{
    padding-bottom:20px !important;
}
.pBtm25{
    padding-bottom:25px !important;
}
.pBtm30{
    padding-bottom:30px !important;
}
.pBtm35{
    padding-bottom:35px !important;
}
.pBtm40{
    padding-bottom:40px !important;
}
.pBtm45{
    padding-bottom:45px !important;
}
.pBtm50{
    padding-bottom:50px !important;
}
.pBtm55{
    padding-bottom:55px !important;
}
.pBtm60{
    padding-bottom:60px !important;
}
/************** layout base ********************/
body{
    background: #ffffff;
    font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "Yu Gothic", "游ゴシック体","メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-family: 'Noto Sans KR', "Segoe UI", SegoeUI, "Malgun Gothic", Gulim, "Helvetica Neue", Helvetica, Arial, sans-serif;
    text-align: left;
    line-height:1.5;
}
ol,ul {
    list-style:none;
}
p,dt,dd,li,td,th{
    color:#333333;
    font-size:14px;
}
div,p,dl{
    text-align:left;
}
h1,h2,h3,h4,h5,h6{
    color: #000000;
    font-size:14px;
    font-weight: normal;
}
a.disabled{
    pointer-events: none;
}
/* common ---------------------------------------------------------------------------- */
body{
}
.inner{
    width: 94%;
    margin: 0 auto;
}
img{
    max-width: 100%;
}
.font-notosans{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
}
main{
    padding-bottom: 100px;
}
@media screen and (min-width: 769px) {
    .inner{
        max-width: 960px;
   }
    main{
        padding-bottom: 0;
   }
    .pc-flex{
        display: flex;
        -ms-flex-pack: justify;
        justify-content: space-between;
   }
    .sp{
        display: none;
   }
}
/* //end for PC */
@media screen and (max-width: 768px) {
    .pc{
        display: none;
   }
}
/* //end for SP */
/* header ---------------------------------------------------------------------------- */
header{
    padding: 3.73vw 0;
}
header .inner{
    width: 93.33%;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
}
#logo{
    width: 67.18%;
    vertical-align: middle;
}
#logo img{
    display: inline-block;
    vertical-align: middle;
    width: 58vw 
}
@media screen and (min-width: 769px) {
    header{
        padding: 9px 0;
   }
    #logo img{
        width: 215px;
   }
}
/* //end for PC */
.lang {
    width: 118px;
}
.lang_body {
    position: relative;
    text-align: center;
    z-index: 1;
    width: 100%;
}
.lang_button {
    display: block;
    position: relative;
    width: 100%;
    height: 38px;
    border-radius: 19px;
    padding-top: 0.3em;
    padding-right: 1.2em;
    line-height: 30px;
    background: #0270c1;
    border-bottom: solid 1px #fff;
    color: #fff;
    font-size: .8rem;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
}
a.lang_button:visited{
    color: #fff;
}
a.lang_button:hover {
    background: #1b7ec7;
}
.lang_button::after {
    position: absolute;
    right: 2em;
    top: 50%;
    margin-left: 0.2em;
    content: "\0ff1e";
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg) translate(-50%, -50%);
    color: #fff;
    font-size: 1.0em;
    line-height: 1em;
}
.lang_selects {
    opacity: 0;
    visibility: hidden;
    position: absolute;
    top: 38px;
    left: 0;
    width: calc(100%);
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}
.lang_selects.is-active {
    visibility: visible;
    opacity: 1;
}
.lang_select {
    display: block;
}
/* mv --------------- */
#mv{
    width: 100%;
    background: url("images/mv_bg.png") no-repeat center center / cover;
    padding: 0.67vw 0 0 0;
    height: 192px;
}
#mv h2{
    margin: 0 auto;
    width: 87.47vw;
    background: url("images/mv_ti_bg.png") no-repeat center center / cover;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 6.133vw;
    letter-spacing: -0.025em;
    color: #a40000;
    line-height: 14vw;
    text-align: center;
}
#mv ul{
    padding: 4.27vw 0 3.2vw;
    text-align: center;
}
#mv ul li{
    display: inline-block;
    width: 21vw;
    padding: 0 0.3vw;
}
@media screen and (min-width: 769px) {
    #mv{
        background: url("images/mv_bg_02_pc.png") repeat-x center center / auto 100%;
        padding: 0;
        height: 387px;
   }
    #mv .inner{
        background: url("images/mv_bg_01_pc.png") no-repeat center center / cover;
        padding: 7px 0 0 0;
        height: 387px;
   }
    #mv h2{
        width: 656px;
        background: url("images/mv_ti_bg_pc.png") no-repeat center center / cover;
        font-size: 46px;
        line-height: 105px;
   }
    #mv ul{
        padding: 4.27vw 0 3.2vw;
        text-align: center;
   }
    #mv ul li{
        display: inline-block;
        width: 21vw;
        padding: 0 0.3vw;
   }
}
/* //end for PC */
/* box --------------- */
.box{
    padding: 8vw 0 6.67vw;
}
.blue-stripe{
    margin-bottom: 6vw;
    font-size: 6.4vw;
    letter-spacing: 0.05em;
    text-align: center;
}
.blue-stripe::after{
    content: "";
    display: block;
    margin-top: 0.2em;
    width: 100%;
    height: 10px;
    background-color: #b4d8f7;
    background-image: repeating-linear-gradient(-45deg,#fff, #fff 4px,transparent 0, transparent 10px);
}
/* btn */
.box-btn + .box-btn{
    margin-top: 2.8vw;
}
.box-btn a.btn{
    position: relative;
    display: block;
    background: #fdfaf5;
   /*padding-right: 24vw;
   */
    padding: 14px 95px 14px 20px;
    border: 2px solid #d2a03e;
    border-radius: 4vw;
    text-align: center;
}
.box-btn a.btn::after{
    position: absolute;
    right: 4%;
   ;
    top: 48%;
    transform: scale(0.7, 1) translateY(-50%);
    content: "≫";
    color: #d2a03e;
    font-size: 24px;
    font-weight: bold;
}
.box-btn a.btn::before{
    position: absolute;
    right: 13%;
    top: 50%;
    content: "";
    display: block;
    width: 7.86vw;
    height: 16vw;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 80% auto;
    transform: translateY(-50%);
}
.box-btn a.btn .btn_txt{
    position: relative;
    font-size: 4vw;
    line-height: 1.4;
    color: #0a1725;
    font-weight: 700;
    text-align: left;
}
.box-btn a.btn .btn_txt sup{
    position: absolute;
    right: 0;
    bottom: -2.8vw;
    font-size: 2.4vw 
}
.box-btn a.btn .btn_txt span{
    font-size: 3vw;
}
@media screen and (min-width: 769px) {
    .box{
        padding: 50px 0 44px;
   }
    .blue-stripe{
        margin-bottom: 28px;
        font-size: 36px;
   }
    .blue-stripe::after{
        margin-top: 0.2em;
        height: 10px;
        background-image: repeating-linear-gradient(-45deg,#fff, #fff 6px,transparent 0, transparent 15px);
   }
   /* btn */
    .box-btn + .box-btn{
        margin-top: 0vw;
   }
    .pc-flex .box-btn + .box-btn{
        margin-left: 25px;
   }
    .pc-flex .box-btn{
        width: calc(calc(100% - 25px) / 2) 
   }
    .box-btn a.btn{
        padding: 20px 105px 20px 20px;
        border-width: 3px;
        border-radius: 10px;
        text-align: left;
   }
    .box-btn a.btn::after{
        right: 14px;
       ;
        top: 50%;
        transform: scale(0.7, 1) translateY(-50%);
        content: "≫";
        font-size: 23px;
   }
    .box-btn a.btn::before{
        right: 45px;
        width: 33px;
        height: 46px;
        background-size: 100% auto;
   }
    .box-btn a.btn .btn_txt{
        font-size: 20px;
        line-height: 1.2em;
        display: block;
        margin: auto;
   }
    .box-btn a.btn .btn_txt sup{
        right: 0;
        bottom: -2.8vw;
        font-size: 2.4vw 
   }
    .box-btn a.btn .btn_txt span{
        font-size: 0.75em;
   }
}
/* //end for PC */
/* kind box --------------- */
#kind{
}
.kind-info .kind-list{
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: stretch;
    align-items: stretch;
}
.kind-info .kind-list li{
    width: 25%;
    border-radius: 1.33vw 1.33vw 0 0;
    border: 1px solid #d2d2d2;
    border-bottom: 0;
    text-align: center;
}
.kind-info .kind-list li.active{
    border: none;
}
.kind-info .kind-list li a{
    display: block;
    width: 100%;
    height: 100%;
    padding: 3.33vw 1.73vw 1.73vw;
    border-radius: 1.33vw 1.33vw 0 0;
}
.kind-info .kind-list li.kind-list_01 a{
    border-bottom: 1vw solid #a40000;
}
.kind-info .kind-list li.kind-list_01.active a{
    background: #a40000;
}
.kind-info .kind-list li.kind-list_02 a{
    border-bottom: 1vw solid #835392;
}
.kind-info .kind-list li.kind-list_02.active a{
    background: #835392;
}
.kind-info .kind-list li.kind-list_03 a{
    border-bottom: 1vw solid #005bac;
}
.kind-info .kind-list li.kind-list_03.active a{
    background: #005bac;
}
.kind-info .kind-list li.kind-list_04 a{
    border-bottom: 1vw solid #005b34;
}
.kind-info .kind-list li.kind-list_04.active a{
    background: #005b34;
}
.kind-info .pass-list li img{
    width: 80%;
}
.kind-info .pass-detail{
    position: relative;
}
.pass-detail-box{
    display: none;
}
.pass-detail-box.show{
    display: block;
}
.pass-detail-box.show .name{
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 6.67vw;
    padding: 8vw 0 0;
}
.pass-detail-box .name .name-kind{
    width: 22vw;
    height: 13.33vw;
    margin-right: 0.6em;
    padding-left: 0.6em;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% auto;
    font-size: 4.8vw;
    letter-spacing: -0.05em;
    font-weight: bold;
    color: #fff;
    line-height: 1;
}
#pass-detail_01.pass-detail-box .name .name-kind{
    background-image: url("images/kind-pass-bg.png");
}
#pass-detail_02.pass-detail-box .name .name-kind{
    background-image: url("images/kind-pass-2day-bg.png");
}
#pass-detail_03.pass-detail-box .name .name-kind{
    background-image: url("images/kind-pass-5day-bg.png");
}
#pass-detail_04.pass-detail-box .name .name-kind{
    background-image: url("images/kind-pass-5dayplus-bg.png");
}
.pass-detail-box .name .name-title{
    font-size: 6.4vw;
    letter-spacing: -0.05em;
    color: #a40000;
}
#pass-detail_02.pass-detail-box .name .name-title{
    color: #835392;
}
#pass-detail_03.pass-detail-box .name .name-title{
    color: #005bac;
}
#pass-detail_04.pass-detail-box .name .name-title{
    color: #005b34;
}
.pass-detail-box .price{
    margin-bottom: 6vw;
    font-size: 4vw;
    font-weight: bold;
    text-align: center;
    letter-spacing: -0.05em;
}
.pass-detail-box .discription{
    margin-bottom: 4vw;
}
.pass-detail-box .discription p{
    margin-bottom: 4vw;
    letter-spacing: 0.05em;
}
#pass-detail_01.pass-detail-box .discription p b{
   color: #a40000;
}
#pass-detail_02.pass-detail-box .discription p b{
   color: #835392;
}
#pass-detail_03.pass-detail-box .discription p b{
   color: #005bac;
}
#pass-detail_04.pass-detail-box .discription p b{
   color: #005b34;
}
/* btn */
.box-btn a.btn{
    display: flex;
    width: 100%;
}
#pass-detail_01 .box-btn a.btn{
    background: #faf2f2;
    border: 2px solid #a40000;
}
#pass-detail_02 .box-btn a.btn{
    background: #faf2f2;
    border: 2px solid #835392;
}
#pass-detail_03 .box-btn a.btn{
    background: #faf2f2;
    border: 2px solid #005bac;
}
#pass-detail_04 .box-btn a.btn{
    background: #faf2f2;
    border: 2px solid #005b34;
}
#pass-detail_01 .box-btn a.btn::after{
    color: #a40000;
}
#pass-detail_02 .box-btn a.btn::after{
    color: #835392;
}
#pass-detail_03 .box-btn a.btn::after{
    color: #005bac;
}
#pass-detail_04 .box-btn a.btn::after{
    color: #005b34;
}
#pass-detail_01 .box-btn a.btn.btn-map::before{
    width: 7.86vw;
    background-image: url("images/btn_map.png");
}
#pass-detail_02 .box-btn a.btn.btn-map::before{
    width: 7.86vw;
    background-image: url("images/btn_map-2day.png");
}
#pass-detail_03 .box-btn a.btn.btn-map::before{
    width: 7.86vw;
    background-image: url("images/btn_map-5day.png");
}
#pass-detail_04 .box-btn a.btn.btn-map::before{
    width: 7.86vw;
    background-image: url("images/btn_map-5dayplus.png");
}
#pass-detail_01 .box-btn a.btn.btn-facility::before{
    width: 8.53vw;
    background-image: url("images/btn_facility.png");
}
#pass-detail_02 .box-btn a.btn.btn-facility::before{
    width: 8.53vw;
    background-image: url("images/btn_facility-2day.png");
}
#pass-detail_03 .box-btn a.btn.btn-facility::before{
    width: 8.53vw;
    background-image: url("images/btn_facility-5day.png");
}
#pass-detail_04 .box-btn a.btn.btn-facility::before{
    width: 8.53vw;
    background-image: url("images/btn_facility-5dayplus.png");
}
#pass-detail_02 .box-btn a.btn.btn-present::before{
    width: 8.53vw;
    background-image: url("images/btn_present-2day.png");
}
#pass-detail_03 .box-btn a.btn.btn-present::before{
    width: 8.53vw;
    background-image: url("images/btn_present-5day.png");
}
#pass-detail_04 .box-btn a.btn.btn-present::before{
    width: 8.53vw;
    background-image: url("images/btn_present-5dayplus.png");
}
.pass-detail-btns .box-btn{
    display: flex;
    align-items: stretch;
}
#pass-detail_02 .pass-detail-btns .box-btn:nth-of-type(1), #pass-detail_03 .pass-detail-btns .box-btn:nth-of-type(1), #pass-detail_04 .pass-detail-btns .box-btn:nth-of-type(1){
   flex-basis: 31%;
}
#pass-detail_02 .pass-detail-btns .box-btn:nth-of-type(2), #pass-detail_03 .pass-detail-btns .box-btn:nth-of-type(2), #pass-detail_04 .pass-detail-btns .box-btn:nth-of-type(2){
   flex-basis: 28%;
}
#pass-detail_02 .pass-detail-btns .box-btn:nth-of-type(3), #pass-detail_03 .pass-detail-btns .box-btn:nth-of-type(3), #pass-detail_04 .pass-detail-btns .box-btn:nth-of-type(3){
   flex-basis: 41%;
}
@media screen and (min-width: 769px) {
    .kind-info .kind-list li{
        border-radius: 10px 10px 0 0;
   }
    .kind-info .kind-list li a{
        padding: 15px;
        border-radius: 10px 10px 0 0;
   }
    .kind-info .kind-list li.kind-list_01 a{
        border-bottom: 10px solid #a40000;
   }
    .kind-info .kind-list li.kind-list_02 a{
        border-bottom: 10px solid #835392;
   }
    .kind-info .kind-list li.kind-list_03 a{
        border-bottom: 10px solid #005bac;
   }
    .kind-info .kind-list li.kind-list_04 a{
        border-bottom: 10px solid #005b34;
   }
    .kind-info .pass-list li img{
        width: 80%;
   }
    .pass-detail-box.show .name{
        -ms-flex-pack: start;
        justify-content: flex-start;
        margin-bottom: 20px;
        padding: 60px 15px 0;
   }
    .pass-detail-box .name .name-kind{
        width: 131px;
        height: 80px;
        margin-right: 0.6em;
        padding-left: 0.6em;
        font-size: 30px;
   }
    .pass-detail-box .name .name-title{
        font-size: 48px;
   }
   /*.pass-detail-box .price{
        margin-bottom: 6vw;
        font-size: 4vw;
   }
   */
    .pass-detail-box .discription{
        margin-bottom: 26px;
        padding: 0 48px;
   }
    .pass-detail-box .discription p{
        font-size: 16px;
   }
   /* btn */
    .pass-detail-btns{
        margin-right: 15px;
        margin-left: 15px;
   }
    #pass-detail_01 .box-btn a.btn.btn-map::before, #pass-detail_02 .box-btn a.btn.btn-map::before, #pass-detail_03 .box-btn a.btn.btn-map::before, #pass-detail_04 .box-btn a.btn.btn-map::before{
        width: 40px;
   }
    #pass-detail_01 .box-btn a.btn.btn-facility::before, #pass-detail_02 .box-btn a.btn.btn-facility::before, #pass-detail_03 .box-btn a.btn.btn-facility::before, #pass-detail_04 .box-btn a.btn.btn-facility::before{
        width: 41px;
   }
    #pass-detail_02 .box-btn a.btn.btn-present::before, #pass-detail_03 .box-btn a.btn.btn-present::before, #pass-detail_04 .box-btn a.btn.btn-present::before{
        width: 45px;
   }
}
/* //end for PC */
/* plan --------------- */
#plan{
    padding: 8vw 0 7vw;
    background: #f9f4f4;
}
#plan h3{
    margin-bottom: 5.33vw;
    font-size: 4.8vw;
    text-align: center;
}
.plan-list{
    display: none;
}
.plan-list.show{
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.plan-list.plan3.show{
    justify-content: center;
}
.plan-list li{
    width: 46%;
}
.plan-list li figure{
    position: relative;
    width: 90%;
    margin-left: auto;
}
.plan-list li figure figcaption{
    position: absolute;
    left: -4vw;
    top: -2.5vw;
    width: 14.67vw;
    background: #a40000;
    font-size: 12px;
    line-height: 5.07vw;
    text-align: center;
    color: #fff;
}
.plan-list.plan2 li figure figcaption{
    background: #835392;
}
.plan-list.plan3 li figure figcaption{
    background: #005bac;
}
.plan-list.plan4 li figure figcaption{
    background: #005b34;
}
.plan-list li p{
    width: 90%;
    margin-top: 2.4vw;
    margin-left: auto;
    font-size: 12px;
    text-align: left;
}
@media screen and (min-width: 769px) {
    #plan{
        width: 100%;
        max-width: 930px;
        margin: auto;
        padding: 35px 0;
   }
    #plan .inner{
        width: 100%;
        padding: 0 33px;
   }
    #plan h3{
        margin-bottom: 60px;
        font-size: 28px;
   }
    .plan-list{
        display: none;
   }
    .plan-list.show{
        display: flex;
        -ms-flex-pack: justify;
        justify-content: space-between;
   }
    .plan-list.plan3.show{
        justify-content: center;
   }
    .plan-list li{
        width: calc(100% * 410 / 864);
   }
    .plan-list li:nth-child(2){
        transform: translateX(-20px);
   }
    .plan-list li figure{
        position: relative;
        width: calc(100% * 345 / 410);
        padding-left: 34px;
        margin-right: auto;
        margin-left: auto;
   }
    .plan-list li figure a{
        display: block;
   }
    .plan-list li figure a img{
        width: 100%;
   }
    .plan-list li figure figcaption{
        left: 0;
        top: 0;
        transform: translateY(-50%);
        width: 110px;
        font-size: 24px;
        line-height: 38px;
   }
    .plan-list li p{
        width: calc(100% * 345 / 410);
        padding-left: 34px;
        margin-top: 0.5em;
        margin-right: auto;
        margin-left: auto;
        font-size: 16px;
   }
}
/* //end for PC */
/* notice box --------------- */
#notice{
    padding: 8vw 0 7vw;
    background: #eeeeee;
}
#notice h3{
    margin-bottom: 5.33vw;
    font-size: 4.8vw;
    text-align: center;
}
.notice-list li::before{
    content: "・";
}
.notice-list li{
    margin-bottom: 0.6em;
    padding-left: 1em;
    text-indent: -1em;
    font-size: 11px;
    line-height: 1.5em;
    letter-spacing: 0.05em;
}
@media screen and (min-width: 769px) {
    #notice{
        width: 100%;
        max-width: 930px;
        margin: auto;
        padding: 25px 0 30px;
   }
    #notice .inner{
        width: 100%;
        padding: 0 33px;
   }
    #notice h3{
        margin-bottom: 20px;
        font-size: 28px;
   }
    .notice-list li::before{
        margin-right: 0.2em;
        content: "\025cf";
        font-size: 12px;
   }
    .notice-list li{
        margin-bottom: 0em;
        font-size: 15px;
        line-height: 2em;
   }
}
/* //end for PC */
/* howtoride box --------------- */
#howtoride .box-btn{
    margin-bottom: 1em;
}
#howtoride .box-btn .note{
    margin-top: 0.5em;
    font-size: 2.67vw;
    letter-spacing: 0.025em;
}
/* btn */
#howtoride .box-btn a{
    cursor: pointer;
    text-align: left;
    padding: 10px 0 10px 30px;
}
#howtoride .box-btn a.btn-cableway{
    padding: 10px 0 10px 30px;
}
#howtoride .box-btn a.btn .btn_txt{
    line-height: 1.2;
    text-align: left;
    font-size: 5vw;
}
#howtoride .box-btn a.btn-train, #howtoride .box-btn a.btn-bus, #howtoride .box-btn a.btn-cableway{
    border-radius: 0;
}
#howtoride .box-btn a.btn::after {
    position: absolute;
    right: 3%;
    top: 48%;
    transform: translateY(-50%);
    content: "＋";
    color: #d2a03e;
    font-size: 26px;
    font-weight: bold;
}
#howtoride .box-btn.active a.btn::after{
    content: "－";
}
#howtoride .box-btn a.btn.btn-train::before{
    width: 6.8vw;
    background-image: url("images/btn_train.png");
}
#howtoride .box-btn a.btn.btn-bus::before{
    width: 9.33vw;
    background-image: url("images/btn_bus.png");
}
#howtoride .box-btn a.btn.btn-cableway::before{
    width: 6.67vw;
    background-image: url("images/btn_cableway.png");
}
#howtoride .box-inner{
    display: none;
}
#howtoride .box-inner ol{
    margin-bottom: 1.5em;
}
#howtoride .box-inner ol li{
    padding-left: 1em;
    text-indent: -1em;
}
#howtoride .box-inner p{
}
#howtoride .box-inner p span{
    font-weight: bold;
    font-size: 16px;
}
#howtoride .box-inner .imgs{
    margin-top: 1em;
}
#howtoride .box-inner .imgs p{
    text-align: center;
    margin-bottom: 1.5em 
}
#howtoride .box-inner .imgs img.w60{
    width: 60% 
}
#howtoride .box-inner .note{
    font-size: 12px;
    margin-bottom: 1.5em;
    margin-top: -1em;
}
@media screen and (min-width: 769px) {
    #howtoride.box{
        padding: 70px 0 25px;
   }
    #howtoride .box-btn{
        margin-bottom: 0px;
   }
    #howtoride .box-btn:not(:first-child){
        margin-top: 32px;
   }
    #howtoride .box-btn .note{
        margin-top: 0.5em;
        font-size: 2.67vw;
        letter-spacing: 0.025em;
   }
   /* btn */
    #howtoride .box-btn a{
        cursor: pointer;
        text-align: left;
        padding: 16px 0 16px 30px;
   }
    #howtoride .box-btn a.btn-cableway{
        padding: 16px 0 16px 30px;
   }
    #howtoride .box-btn a.btn .btn_txt{
        line-height: 1.2;
        text-align: left;
        font-size: 28px;
   }
    #howtoride .box-btn a.btn-train, #howtoride .box-btn a.btn-bus, #howtoride .box-btn a.btn-cableway{
        border-radius: 0;
   }
    #howtoride .box-btn a.btn::after {
        right: 30px;
        font-size: 36px;
        font-weight: 700;
   }
    #howtoride .box-btn.active a.btn::after{
        content: "－";
   }
    #howtoride .box-btn a.btn::before {
        right: 96px;
        transform: translate(50%, -50%);
   }
    #howtoride .box-btn a.btn.btn-train::before{
        width: 33px;
   }
    #howtoride .box-btn a.btn.btn-bus::before{
        width: 53px 
   }
    #howtoride .box-btn a.btn.btn-cableway::before{
        width: 32px;
   }
    #howtoride .box-inner{
        display: none;
        background: #fdfbef;
        padding: 35px 33px 40px;
   }
    #howtoride .box-inner ol{
        margin-bottom: 1.5em;
   }
    #howtoride .box-inner .imgs img.w60{
        width: 36% 
   }
    #howtoride .box-inner .imgs .pc-flex.flex-col2 > p{
        width: calc(100% * 420 / 864);
        margin-bottom: 0;
   }
    #howtoride .box-inner .imgs .pc-flex.flex-col2 img{
        width: 100% !important;
   }
    #howtoride .box-inner p span{
        font-size: 16px;
   }
    #howtoride .box-inner p span.fw-normal{
        font-weight: normal;
   }
    #howtoride .box-inner .imgs{
        margin-top: 2.5em;
   }
    #howtoride .box-inner .imgs p{
        margin-bottom: 1.5em 
   }
    #howtoride .box-inner .note{
        font-size: 12px;
        margin-bottom: 1.5em;
        margin-top: -1em;
   }
}
/* //end for PC */
/* express box --------------- */
#express.box{
    padding-bottom: 16vw;
}
#express figure{
    margin: 4vw 0 8vw;
}
#express p{
    margin-bottom: 1.5em;
    font-size: 3.2vw;
    letter-spacing: 0.05em;
}
#express p .ic{
    position: relative;
    display: inline-block;
    width: 1.5em;
    margin: 0 0.3em;
}
#express p .ic img{
    position: absolute;
    top: 0;
    transform: translateY(-70%);
}
.express-ticket{
    margin-bottom: 6vw;
    text-align: center;
}
.express-ticket img{
    width: 41vw;
    min-width: 200px;
}
/* btn */
.box-btn a.btn.btn-info::before{
    width: 7.2vw;
    background-image: url("images/btn_info.png");
}
.box-btn a.btn.btn-info{
    padding-right: 16vw;
}
@media screen and (min-width: 769px) {
    #express.box{
        padding-bottom: 90px;
   }
    #express figure{
        margin: 42px 0 35px;
        padding-right: 33px;
        padding-left: 33px;
        text-align: center;
   }
    #express p{
        font-size: 16px;
        padding-right: 33px;
        padding-left: 33px;
   }
    #express p .ic{
   }
    #express p .ic img{
   }
    .express-ticket{
        margin-bottom: 40px;
   }
    .express-ticket img{
        width: 307px;
        min-width: none;
   }
   /* btn */
    .box-btn a.btn.btn-info::before{
        width: 37px;
   }
    .box-btn a.btn.btn-info{
        padding: 16px 0 16px 30px;
        width: 649px;
        margin: auto;
   }
    .box-btn a.btn.btn-info .btn_txt{
        font-size: 24px;
   }
}
/* //end for PC */
/* footer ---------------------------------------------------------------------------- */
footer {
    position: fixed;
    bottom: 0;
    left:0;
    width: 100%;
    background: #fff;
}
footer nav ul{
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center;
}
footer nav ul{
    border-top: 0.67vw solid #005bac;
    border-bottom: 1px solid #005bac;
    background-color: rgb(0 91 172 / 5%);
}
footer nav li{
    width: 50%;
    line-height: 1;
}
footer nav li:first-of-type{
    border-right: 1px solid #005bac;
}
footer nav li a{
    padding: 3vw 0 1vw;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
}
footer nav li a span{
    color: #005bac;
    font-size: 3.5vw;
    text-align: center;
}
footer nav li a span small{
    font-size: 2.5vw;
    margin-left: 1em;
}
footer nav li a span::before{
    content: "";
    display: block;
    margin: 0 auto 1vw;
    width: 7.73vw;
    height: 7.73vw;
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: auto 100%;
}
footer nav li a.home span::before{
    background-image: url("images/ic_home.png");
}
footer nav li a.cart span::before{
    background-image: url("images/ic_cart.png");
}
@media screen and (min-width: 769px) {
    footer{
        position: relative;
        border-top: 5px solid #005bac;
        padding: 20px 0 50px;
        text-align: center;
   }
    #copy{
        font-weight: bold;
        font-size: 12px;
   }
}
/* //end for PC */
/* pageTop ---------------------------------------------------------------------------- */
#pageTop{
    position: fixed;
    right: 6.67vw;
    bottom: 28vw;
    width: 12vw;
    height: 12vw;
}
#pageTop a{
    width: 100%;
    height: 100%;
    background: #dcebf8;
    position: relative;
    display: block;
}
#pageTop a::before, #pageTop a::after{
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    content: "";
    display: block;
    font-size: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border: 0;
    border-right: 2.67vw solid transparent;
    border-left: 2.67vw solid transparent;
}
#pageTop a::before{
    border-bottom: 3.2vw solid #005bac;
}
#pageTop a::after{
    border-bottom: 3.2vw solid #dcebf8;
    transform: translateY(5px);
}
@media screen and (min-width: 769px) {
    #pageTop{
        right: 6.67vw;
        bottom: 105px;
        width: 52px;
        height: 52px;
   }
    #pageTop a::before, #pageTop a::after{
        border-right: 10px solid transparent;
        border-left: 10px solid transparent;
   }
    #pageTop a::before{
        border-bottom: 12px solid #005bac;
   }
    #pageTop a::after{
        border-bottom: 12px solid #dcebf8;
        transform: translateY(5px);
   }
}
/* //end for PC */


/* stepSlider
---------------------------------------------*/
.l-gridWrap {
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
*[class*="c-title"] {
  font-weight: 700;
  color: #005bac;
  text-align: center;
}
*[class*="c-title"].-left {
    text-align: left;
}
.c-title_sS {
    font-size: 18px;
}
.stepSliderWrap {
	position: relative;
	overflow: hidden;
	padding-bottom: 50px;
}
.stepSlider.slick-slider {
	border: 3px #005BAC solid;
	background: #fff;
	margin-bottom: 0;
}
.stepSlider .slick-arrow {
	width: 21px;
	height: 34px;
	z-index: 1;
	cursor: pointer;
}
.stepSlider .slick-prev::before,
.stepSlider .slick-next::before {
	content: "";
	display: block;
	width: 24px;
	height: 24px;
	border-right: 5px #005BAC solid;
	border-top: 5px #005BAC solid;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.stepSlider .slick-prev::before {
	-webkit-transform: rotate(225deg);
	transform: rotate(225deg);
}
.stepSlider .slick-prev {
	left: 35px;
}
.stepSlider .slick-next {
	right: 35px;
}
.stepSlider .slick-prev.slick-disabled::before,
.stepSlider .slick-next.slick-disabled::before {
	opacity: 0;
}
.stepSlider .slick-dots {
	bottom: -34px;
	line-height: 15px;
}
.stepSlider .slick-dots li {
	width: 15px;
	height: 15px;
	margin: 0 5px;
}
.stepSlider .slick-dots li button {
	width: 15px;
	height: 15px;
}
.stepSlider .slick-dots li button::before {
	border-radius: 50%;
	border: 1px #005BAC solid;
	background: #fff;
	width: 15px;
	height: 15px;
}
.stepSlider .slick-dots .slick-active button::before {
	background: #005BAC;
}
@media screen and (max-width: 768px) {
	/*SP slider*/
	.stepSlider .slick-prev,
	.stepSlider .slick-next {
		top: calc(19.2vw + 22px)
	}
	.stepSlider .slick-prev {
		left: 12px;
	}
	.stepSlider .slick-next {
		right: 12px;
	}
}
/*-SP only-*/
.stepbox .imgs img {
	object-fit: contain;
	width: 100%;
	height: 100%;
}
.stepbox .imgs figcaption {
	font-size: 14px;
 font-weight: 400;
}
.stepbox h3 {
	margin-bottom: 17px;
 font-family: "Noto Sans JP", sans-serif;
}
.stepbox h3 span {
	display: inline-block;
	border-bottom: 3px #F78100 solid;
	padding-bottom: 2px;
}
.stepbox .txts p {
	font-weight: bold;
}
.stepbox .txts p.c-fwN {
	font-weight: normal ;
}
.stepbox .txts p+p {
	margin-top: .9em;
}
@media screen and (min-width: 769px) {
	.stepbox {
		justify-content: center;
		align-items: center;
		gap: 0 40px;
		padding: 30px 60px;
	}
	.stepbox .imgs img {
		height: 240px;
	}
	.stepbox .imgs {
		max-width: calc((100% - 40px)/2 + 5%);
	}
	.stepbox .txts {
		max-width: calc((100% - 40px)/2 - 5%);
	}
}
/*-PC only-*/
@media screen and (max-width: 768px) {
	.stepbox.l-gridWrap {
		display: block;
		padding: 22px 32px;
	}
	.stepbox .imgs {
		margin-bottom: 20px;
	}
	.stepbox .imgs img {
		max-height: 53vw;
	}
	.stepbox h3 {
		font-size: 1.8rem;
		margin-bottom: 12px;
	}
}
/*-SP only-*/