﻿@charset utf-8;

/* ---------------------------------------------------------------- comomn */
#container main{ font-family: 'Noto-Sans-JP-Regular'; color: #070505; }
#container .sp_only{ display: none; }
#container .c-title{ line-height: 1.5; font-family: fot-chiaro-std, sans-serif; font-weight: 700; font-style: normal; }
#container .c-text{ font-size: min(19px,1.3vw); line-height: 2.4; }
#container .c__en{ font-size: min(149px,12vw); text-align: center; font-family: "new-atten", sans-serif; font-weight: 400; font-style: normal; }
#container .c-sub{ font-size: min(24px,2.3vw); font-family: 'asago'; }
#container .btn{ will-change: filter; overflow: hidden; transition: all 0.2s ease-out; position: relative; width: clamp(300px,39vw,475px); height: min(8vw,90px); margin: 0 auto; display: flex; align-items: center; justify-content: center; filter: drop-shadow(0px 5px 0px #F4C017); font-family: fot-chiaro-std, sans-serif; font-weight: 700; font-style: normal; background: #F9DD4A; border-radius: 100px; font-size: min(25px,2vw); text-align: center; }
#container .btn:before{ transform: translateX(-100%); transform-origin: left; transition: all 0.8s; z-index: -1; position: absolute; content: ""; left: 0; top: 0; width: 100%; height: 100%; background: #FEF1B9; }
#container .btn:hover:before{ transform: translateX(0); }
#container .btn-icn:after{ transition: all 0.7s; position: absolute; right: 20px; top: 50%; transform: translate(0,-50%); content: ""; width: min(40px,4vw); height: min(40px,4vw); background: url(../images/icn_plane.svg) center/cover no-repeat; }
#container .btn-icn:hover:after{ right: 5px; }
#container .btn-more{ transition: all 0.5s; display: flex; align-items: center; justify-content: center; width: 200px; height: 56px; margin: 0 auto; border-radius: 10px; border: 1px solid #1C3B6C; background: #1C3B6C; font-family: 'asago'; color: #fff!important; font-size: 16px; text-align: center; }
#container .btn-more:hover{ color: #1C3B6C!important; background: #fff; }
#container .note-text{ width: 100%; font-size: min(14px,1vw); line-height: 1.6; padding: 0 0 10px; }
#container .note-text:last-of-type{ padding-bottom: 0; }
#container .note-text a{ margin: 0 2px; border-bottom: 1px solid #43BFCA; }
#container .note-text a:hover{ color: #43BFCA; }

/* ---------------------------------------------------------------- fv */
#container #fv{ padding: 45px 0; background: url(../images/bg_fv.jpg) center/cover no-repeat; }
#container #fv img{ display: block; position: relative; right: 40px;}
#container .fv__text{ width: 32%; height: auto; margin: 0 0 0 auto; }
#container .fv__text img{ width: 100%; }
#container .fv__item{ width: 40%; height: auto; margin: 250px 0 0 3%; }

/* ---------------------------------------------------------------- sv */
#container #sv{ overflow: hidden; position: relative; padding: 119px 0 86px; background: url(../images/bg_gradient.jpg) right center/cover no-repeat; }
#container .sv__item{ position: absolute; top: 59%; left: 30%; transform: translate(-50%,-50%); width: 81vw; }
#container .sv__content{ position: relative; width: 60%; margin: 0 0 0 auto; }
#container .sv__title{ padding: 0 0 38px; font-size: min(39px,2.8vw); white-space: nowrap; }

/* ---------------------------------------------------------------- reserve */
#container #reserve{ padding: 73px 0 145px; }
#container .reserve__list{ display: flex; align-items: stretch; justify-content: space-between; gap: 4%; padding: 70px 0 0; }
#container .reserve__item{ width: calc(100% / 3 - 3%); filter: drop-shadow(0px 0px 15px rgba(0,0,0,0.1)); }
#container .reserve__item .btns{ padding: 20px 20px 30px; background: #fff; }
#container .reserve__item .btn{ width: 90%; min-width: initial; height: min(55px,5vh); font-size: min(18px,1.4vw); }
#container .reserve__figure img{ width: 100%; height: auto; }

/* ---------------------------------------------------------------- campaign */
#container #campaign{ background: url(../images/bg_03.jpg) center; }
#container .campaign__kv{ width: 100%; height: auto; }
#container .cam__content{ position: relative; padding: 128px 0 103px; }
#container .cam__en{ position: absolute; top: -69px; width: 100%; color: #fff; }
#container .cam__title{ padding: 0 0 55px; font-size: min(43px,3.3vw); text-align: center; color: #fff; }
#container .cam__text{ padding: 0 0 10px; text-align: center; color: #fff; }
#container .cam__text:last-of-type{ padding: 0 0 60px; }
#container .cam__text small{ font-size: min(17px,1.6vw); border-bottom: 2px dotted; }

#container .campaign__date{ width: 73%; min-width: 550px; margin: 0 auto 63px; display: flex; align-items: center; padding: 14px 10px; border-radius: 100px; border: 1px solid #fff; font-family: 'asago'; color: #fff; }
#container .campaign__date-term{ padding: 10px 21px; font-size: min(2.4vw,24px); }
#container .campaign__date-desc{ padding: 10px 21px 10px 24px; border-left: 1px solid #fff; font-size: min(21px,1.6vw); }

#container .campaign__list{ display: flex; flex-direction: column; gap: 38px; }
#container .campaign__item{ padding: 48px 30px 110px; background: #fff; border-radius: 20px; color: #1C3B6C; }
#container .campaign__course{ position: absolute; left: 0; top: 50%; transform: translate(0,-50%); width: min(189px,16vw); height: min(189px,16vw); background: #FFE200; border-radius: 100%; display: flex; align-items: center; flex-direction: column; justify-content: center;  font-size: min(28px,2vw); text-align: center; line-height: 1.4; }
#container .campaign__course strong{ font-size: 51px; font-family: "new-atten", sans-serif; font-weight: 400; font-style: normal; }
#container .campaign__course p{ font-size: 18px; font-family: 'asago'; }
#container .campaign__head{ position: relative; }
#container .campaign__item-title{ width: 95%; margin: 0 0 0 auto; padding: 20px; text-align: center; font-size: min(25px,2.6vw); background: #F4F4F4; font-family: fot-chiaro-std, sans-serif; font-weight: 700; font-style: normal; }
#container .campaign__item-title strong{ display: block; padding: 0 0 10px; font-size: min(40px,4vw); }
#container .campaign__item-title sup{ font-size: 1rem; }
#container .campaign__insta{ position: relative; padding: 0 0 50px; gap: 25px; display: flex; align-items: center; justify-content: space-between; }
#container .btn-insta{ width: calc(100% / 2 - 13px); min-width: initial; text-align: center; font-family: 'Noto-Sans-JP-Regular'; }
#container .campaign__insta-blank{ position: absolute; right: 8%; width: 20px; height: 20px; -webkit-mask-image: url(../images/icn_blank.svg); -webkit-mask-size: contain; -webkit-mask-repeat: no-repeat; -webkit-mask-position: center; mask-image: url(../images/icn_blank.svg); mask-size: contain; mask-repeat: no-repeat; mask-position: center; }
#container .campaign__insta-icn{ position: absolute; left: 5%; width: min(47px,4vw); height: min(47px,4vw); -webkit-mask-image: url(../images/icn_ig.svg); -webkit-mask-size: contain; -webkit-mask-repeat: no-repeat; -webkit-mask-position: center; mask-image: url(../images/icn_ig.svg); mask-size: contain; mask-repeat: no-repeat; mask-position: center; }
#container .campaign__insta-txt{ font-size: min(21px,1.7vw); line-height: 1.5; }

#container .btn-insta-a{ background: #F56602; filter: drop-shadow(0px 10px 0px #C65100); }
#container .btn-insta-a:before{ background: #FF9A53; }
#container .btn-insta-a .campaign__insta-txt{ color: #fff; }
#container .btn-insta-a .campaign__insta-icn,
#container .btn-insta-a .campaign__insta-blank{ background-color: #fff; }
#container .btn-insta-b{ filter: drop-shadow(0px 10px 0px #C3AC00); }
#container .btn-insta-b .campaign__insta-txt{ color: #1A3B6D; }
#container .btn-insta-b .campaign__insta-icn,
#container .btn-insta-b .campaign__insta-blank{ background-color: #1A3B6D; }

#container .campaign__body{ padding: 86px 0 0; }
#container .campaign__title{ position: relative; width: 90%; margin: 0 auto; padding: 30px 20px; }
#container .campaign__title:before,
#container .campaign__title:after{ position: absolute; content: ""; width: 100%; height: 100px; left: 0; }
#container .campaign__title:before{ top: 0; background: url(../images/icn_cam03.png) left top/contain no-repeat, url(../images/icn_cam04.png) right top/contain no-repeat; }
#container .campaign__title:after{ bottom: 0; background: url(../images/icn_cam05.png) left bottom/contain no-repeat, url(../images/icn_cam06.png) right bottom/contain no-repeat; }
#container .campaign__item-txt{ font-size: min(40px,2.6vw); line-height: 1.5; text-align: center; font-family: fot-chiaro-std, sans-serif; font-weight: 700; font-style: normal; }
#container .campaign__item-txt strong{ display: block; font-size: min(45px,3vw); line-height: 1.5; }
#container .campaign__item-txt span{ display: block; position: relative; width: min(50px,3vw); height: min(50px,3vw); margin: 25px auto 35px; }
#container .campaign__item-txt span:before,
#container .campaign__item-txt span:after{ left: 50%; top: 50%; position: absolute; content: ""; width: 100%; height: 2px; background: #1C3B6C; }
#container .campaign__item-txt span:before{ transform: rotate(90deg); left: 0; }
#container .campaign__item-txt span:after{ transform: translate(-50%,0); }
#container .campaign__note{ margin: 0 auto; padding: 50px 0 0; }
#container .campaign__note-txt{ font-size: min(19px,1.7vw); line-height: 2.2; text-align: center; }

/* ---------------------------------------------------------------- fare */
#container #fare{ position: relative; padding: 63px 0 52px; background-color: #ffffff; background-image: linear-gradient(90deg, #e2e2e280 1px, transparent 1px), linear-gradient(#e2e2e280 1px, transparent 1px); background-position: 10px 10px; background-size: 201px 201px; }
#container .fare__content{ position: absolute;top: 158px; margin-left: 3px; width: 55%; }
#container .fare__title{ padding: 7px 0 20px; font-size: min(46px,4.5vw); }
#container .fare__kv{ display: block; width: 100%; height: auto; }

/* ---------------------------------------------------------------- greatval */
#container #greatval{ background: url(../images/bg_gradient.jpg) center top/cover no-repeat; }
#container .greatval__bg{ padding: 33px 0 70px; background: url(../images/bg_04.png) 105% 50px/50vw no-repeat; }
#container .greatval__en{ margin-bottom: -48px; color: #fff; }
#container .greatval__title{ padding: 0 0 35px; line-height: 1.4; font-size: min(42px,2.5vw); text-align: center; }
#container .greatval__diagram{ display: flex; flex-direction: column; gap: 13px; width: 100%; max-width: 800px; margin: 0 auto 20px; }
#container .greatval__group{ position: relative; padding: 31px 34px; background: #fff; border-radius: 12px; }
#container .greatval__group-head{ cursor: pointer; position: relative; display: flex; align-items: center; gap: 10px; font-family: fot-chiaro-std, sans-serif; font-weight: 700; font-style: normal; }
#container .greatval__from{ font-size: 24px; }
#container .greatval__via{ font-size: 24px; color: #43BFCA; }
#container .greatval__arrow{ transition: all 0.6s; cursor: pointer; position: absolute; right: 0; transform: rotate(45deg); width: 20px; height: 20px; border-right: 2px solid #48CAD6; border-bottom: 2px solid #48CAD6; }
#container .greatval__arrow.active{ transform: rotate(-135deg); }
#container .greatval__group-body{ display: none; padding: 46px 0 20px; }
#container .greatval__group-body .btns{ padding-top: 65px; }
#container .greatval__fare-list{ display: flex; align-items: flex-start; justify-content: space-between; }
#container .greatval__fare-item{ width: calc(100% / 2 - 15px); }
#container .greatval__fare-head{ gap: 2%; display: flex; align-items: center; padding: 0 0 20px; font-size: min(29px,4vw); color: #193071; font-family: "helvetica-lt-pro", sans-serif; font-weight: 700; font-style: normal; }
#container .greatval__fare-head img{ width: 48%; }
#container .greatval__fare-head small{ font-size: min(20px,1.5vw); }
#container .greatval__itinerary{ filter: drop-shadow(0px 0px 10px rgba(0,0,0,0.1)); border-radius: 12px; background: #fff; }
#container .greatval__route{ padding: 10px; border-radius: 12px 12px 0 0; text-align: center; color: #fff; background: #42C0CA; font-size: 18px; font-family: 'Noto-Sans-JP-Bold'; }
#container .greatval__segments{ gap: 10px; flex-wrap: wrap; display: flex; align-items: stretch; justify-content: space-between; padding: 30px 20px; }
#container .greatval__segments-center{ justify-content: center; }
#container .greatval__segments:nth-of-type(even){ background: #D6F1F4; }
#container .greatval__segments:last-of-type{ border-radius: 0 0 12px 12px; }
#container .greatval__segments > div{ font-size: min(16px,1.3vw); font-family: 'Noto-Sans-JP-Bold'; }
#container .greatval__flight{ padding: 0 0 19px; color: #1CADE1; text-align: center; }
#container .greatval__flight sup{ font-size: 0.6rem; }
#container .greatval__time{ display: flex; align-items: center; justify-content: center; gap: 7px; }
#container .greatval__transfer{ align-items: center; justify-content: center; width: 55px; border: 1px solid #1CADE1; border-radius: 10px; text-align: center; line-height: 1.5; color: #1CADE1; background: #fff; font-size: min(13px,1.3vw)!important; padding-top: 4px;}
#container .greatval__note{ width: 100%; max-width: 800px; margin: 0 auto; padding: 50px 0 0; }

#container .greatval__diagram-direct .greatval__via{ color: #FFAC10; }
#container .greatval__diagram-direct .greatval__arrow{ border-color: #FFAC10; }
#container .greatval__diagram-direct .greatval__fare-head img{ width: 22%; }
#container .greatval__diagram-direct .greatval__segments > div{ font-size: min(20px,2vw); }

/* ---------------------------------------------------------------- charm */
#container #charm{ padding: 39px 0 88px; }
#container .charm-text{ padding: 0 0 15px; font-size: 16px; line-height: 2; }
#container .charm__en{ margin-bottom: -50px;color: #EBEBEB; }
#container .charm__title{ padding: 0 0 45px; font-size: min(42px,3vw); text-align: center; }
#container .charm__text{ padding: 0 0 59px; font-size: min(32px,2.3vw); text-align: center; line-height: 1.5; font-family: fot-chiaro-std, sans-serif; font-weight: 700; font-style: normal; }
#container .charm__kv{ display: flex; align-items: center; justify-content: space-between; gap: 50px; padding: 0 0 105px; }
#container .charm__kv-content{ width: 33%; }
#container .charm__kv-heading{ padding: 0 0 20px; text-align: center; font-size: 32px; font-family: fot-chiaro-std, sans-serif; font-weight: 700; font-style: normal; }
#container .charm__figure{ width: 63%; }
#container .charm__figure img{ width: 100%; height: auto; }
#container .charm__heading{ padding: 0 0 20px; font-size: min(21px,2vw); text-align: center; font-family: fot-chiaro-std, sans-serif; font-weight: 700; font-style: normal; }
#container .charm__desc{ width: 90%; margin: 0 auto; }
#container .charm__list{ display: flex; align-items: stretch; justify-content: center; flex-wrap: wrap; gap: 74px 12px; }
#container .charm__item{ width: calc(100% / 3 - 8px); }
#container .charm__content{ margin: 0 auto; padding: 30px 0 0; }
#container .charm__item img{ width: 100%; height: auto; }

#container .overlay{ display: none; position: fixed; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 100%; height: 100%; background: url(../images/bg_gradient.jpg) center/cover; }
#container .js-modal-btn{ cursor: pointer; }
#container .modal__close{ position: absolute; right: 2%; width: 38px; }

#container .modal{ display: none; overflow: scroll; position: fixed; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 85%; max-width: 1100px; height: 90%; padding: 70px; background: #fff; }
#container .modal img{ width: 100%; height: auto; border-radius: 10px; }
#container .modal__close-text{ font-size: 12px; }
#container .modal__close-arrow{ position: relative; width: 38px; height: 38px; }
#container .modal__close-arrow:before,
#container .modal__close-arrow:after{ position: absolute; content: ""; left: 0; top: 50%; width: 100%; height: 1px; background: #000; }
#container .modal__close-arrow:before{ transform: rotate(45deg); }
#container .modal__close-arrow:after{ transform: rotate(-45deg); }
#container .modal__title{ padding: 0 0 20px; font-size: min(50px,3vw); text-align: center; }
#container .modal__lead{ padding: 0 0 50px; font-size: min(16px,1.1vw); line-height: 2.3; text-align: center; }
#container .modal__lead strong{ font-family: 'Noto-Sans-JP-Bold'; }

#container .mordal__kv{ position: relative; margin: 0 0 112px; }
#container .mordal__kv-figure{ width: 64%; }
#container .mordal__kv-content{ width: 50%; min-width: 425px; padding: 30px 5% 40px; border-radius: 10px; color: #fff; background: rgba(236,119,57,0.9); }
#container .mordal__kv-content.blue{ position: absolute; top: 80px; right: 0; background: rgba(28,59,108,0.9); }
#container .mordal__kv-fix{ }
#container .mordal__fv{ padding: 0 0 100px;  }
#container .mordal__fv-content{ width: 100%; margin: 50px 0 0; }
#container .mordal__fv-desc{ padding: 10px 0 0; font-size: min(16px,1.1vw); }
#container .mordal__fv-figure{ width: 85%; margin: 0 auto; }
#container .mordal__kv-heading{ font-size: min(30px,2vw); line-height: 1.7; font-family: fot-chiaro-std, sans-serif; font-weight: 700; font-style: normal; }
#container .mordal__kv-date{ padding: 15px 0 0; font-size: min(19px,1.2vw); font-family: fot-chiaro-std, sans-serif; font-weight: 700; font-style: normal; }
#container .mordal__kv-desc{ padding: 30px 0 0; font-size: min(16px,1.1vw); }

#container .modal__list{ display: flex; align-items: stretch; flex-wrap: wrap; gap: 50px; padding: 0 0 118px; }
#container .modal__item{ width: calc(100% / 2 - 25px); }
#container .mordal__figure{ padding: 0 0 80px; }
#container .mordal__heading{ padding: 0 0 20px; font-size: min(25px,1.6vw); font-family: fot-chiaro-std, sans-serif; font-weight: 700; font-style: normal; }
#container .mordal__desc{ font-size: min(16px,1.1vw); line-height: 2; }

/* ---------------------------------------------------------------- bnr */
#container #bnr{ padding: 80px 0 133px; background: url(../images/bg_gradient.jpg) center 10% no-repeat; }
#container .deco-title{ padding: 0 0 55px; font-size: min(42px,3.7vw); font-family: fot-chiaro-std, sans-serif; font-weight: 700; font-style: normal; text-align: center; }
#container .deco-title span{ position: relative; padding: 0 40px; }
#container .deco-title span:before,
#container .deco-title span:after{ clip-path: polygon(0 0, 100% 9%, 60% 100%, 14% 93%); position: absolute; content: ""; font-family: fot-chiaro-std, sans-serif; font-weight: 700; font-style: normal; text-align: center; background: #000000; }
#container .deco-title span:before{ width: 26px;  height: 54px; left: 0; background: url(../images/deco_l.svg) center/cover no-repeat; }
#container .deco-title span:after{ width: 32px; height: 57px; right: 0; background: url(../images/deco_r.svg) center/cover no-repeat; }

#container .bnr__item{ display: block; margin: 0 0 2vw; }
#container .bnr__item:last-of-type{ margin: 0; }
#container .bnr__item:hover{ opacity: 0.8; }
#container .bnr__item img{ width: 100%; height: auto; }

/* ---------------------------------------------------------------- others */
#container #others{ padding: 111px 0 200px; }
#container .others__campaign{ padding: 170px 0 75px; border-radius: 30px; text-align: center; background: url(../images/bg_gradient.jpg) center 10% no-repeat; color: #1D3B6D; }
#container .others__campaign-head{ position: relative; padding: 0 0 50px; }
#container .others__campaign-title{ font-size: min(50px,4vw); line-height: 1.5; font-family: fot-chiaro-std, sans-serif; font-weight: 700; font-style: normal; }
#container .others__campaign-item{ position: absolute; right: 2%; top: -90px; width: min(320px,25vw); }
#container .others__campaign-body{ width: 78%; margin: 0 auto 50px; padding: 55px 20px 77px; background: #fff; border-radius: 20px; }
#container .others__campaign-txt{ font-size: min(18px,1.4vw); line-height: 2; }
#container .others__campaign-limit{ padding: 0 0 50px; font-size: 20px; text-align: center; font-family: 'asago'; }
#container .others__campaign-limit strong{ display: block; padding: 0 0 20px; font-size: 30px; font-family: fot-chiaro-std, sans-serif; font-weight: 700; font-style: normal; }

#container .others-btns{ width: 80%; margin: 0 auto; display: flex; align-items: center; gap: 30px; }
#container .others-btns div{ width: calc(100% / 2 - 15px); }
#container .others-btns p{ display: flex; align-items: flex-end; justify-content: center; height: 55px; font-size: min(17px,1.7vw); text-align: center; padding: 0 0 15px; line-height: 1.5; }
#container .others-btns .btn{ width: 100%; min-width: initial; }

/* ---------------------------------------------------------------- service */
#container #service{ padding: 80px 0; background: #1C3B6C; }
#container .service__title{ padding: 0 0 41px; font-size: min(52px,3.8vw); text-align: center; color: #fff; }
#container .service__title span{ display: block; padding: 0 0 5px; font-size: 26px; }
#container .service__list{ display: flex; align-items: stretch; justify-content: space-between; gap: 20px; }
#container .service__item{ width: calc(100% / 2 -  9px); background: #fff; border-radius: 10px; }
#container .service__heading{ position: relative; border-radius: 10px 10px 0 0;  padding: 28px; background: #F3D924; font-size: min(30px,2.2vw); text-align: center; font-family: fot-chiaro-std, sans-serif; font-weight: 700; font-style: normal; }
#container .service__heading:before{ clip-path: polygon(50% 100%, 0 0, 100% 0); position: absolute; content: ""; left: 50%; bottom: -32px; transform: translate(-50%,0); width: 47px; height: 37px; background: #F3D924; }
#container .service__details{ padding: 56px 40px 50px; }
#container .service__fare-figure{ width: 70%; margin: 0 auto 48px; }
#container .service__fare-figure:last-of-type{ margin-bottom: 20px;}
#container .service__fare-figure img{ width: 100%; height: auto; }

#container .service__label{ padding: 0 0 25px; color: #1C3B6C; text-align: center; font-size: min(26px,1.9vw); font-family: fot-chiaro-std, sans-serif; font-weight: 700; font-style: normal; }
#container .service__label span{ position: relative; padding: 0 25px; }
#container .service__label span:before,
#container .service__label span:after{ position: absolute; content: ""; width: 2px; height: 26px; background: #1C3B6C; }
#container .service__label span:before{ left: 0; transform: rotate(-45deg); }
#container .service__label span:after{ right: 0; transform: rotate(45deg); }
#container .service__feature{ display: flex; align-items: center; gap: 4%; padding: 0 0 21px; }
#container .service__feature:last-of-type{ padding: 0; }
#container .service__desc{ width: 76%; color: #1C3B6C; font-size: min(26px,1.9vw); line-height: 1.5; font-family: fot-chiaro-std, sans-serif; font-weight: 700; font-style: normal; }
#container .service__icn{ width: 20%; }
#container .service__icn img{ width: 100%; height: auto; }

#container .service__item02 .service__details{ padding-top: 34px; }

/* ---------------------------------------------------------------- footer */
#container #footer{ padding: 77px 0; }


@media only screen and (max-width: 768px) {
	
/* ---------------------------------------------------------------- comomn */
#container main{ min-width: 100%; }
#container .sp_only{ display: block; }
#container .pc_only{ display: none; }
#container .c-text{ font-size: 15px; line-height: 2; }
#container .c__en{ font-size: 63px; }
#container .c-sub{ font-size: 13px;}
#container .deco-title{ padding: 0 0 25px; font-size: 22px; }
#container .deco-title span{ padding: 0 25px; }
#container .deco-title span::before{ width: 19px; height: 33px; }
#container .deco-title span::after{ width: 23px; height: 38px; }
#container .btn{ width: 100%; height: 55px; font-size: 18px; }
#container .btn-icn:after{ width: 30px; height: 30px; }
#container .btn-more{ width: 60%; height: 50px; font-size: 13px; }
#container .note-text{ padding-bottom: 5px; font-size: 10px; text-indent: -0.7rem; padding: 0 0 5px 0.7rem; }
#container .note-text a{ padding: 0 0 3px; }

/* ---------------------------------------------------------------- fv */
#container #fv{ padding: 30px 0 0; background: url(../images/bg_fv-sp.jpg) center/cover no-repeat; }
#container .fv__text{ width: 55%; min-width: initial; }
#container .fv__item{ width: 87%; min-width: initial; margin: 150px 0 0 2%; }

/* ---------------------------------------------------------------- sv */
#container #sv{ padding: 40px 0 100px; }
#container .sv__item{ top: 100%; width: 350vw; max-width: initial; }
#container .sv__content{ width: 100%; }
#container .sv__title{ padding: 0 0 20px; font-size: 25px; }

/* ---------------------------------------------------------------- reserve */
#container #reserve{ padding: 40px 0; }
#container .reserve__list{ flex-direction: column; gap: 15px; padding: 50px 0 0; }
#container .reserve__item{ width: 100%; }
#container .reserve__item .btn{ width: 75%; height: 50px; font-size: 16px; }

/* ---------------------------------------------------------------- campaign */
#container .campaign__kv{ height: 180px; object-fit: cover; }
#container .cam__content{ padding: 55px 0 50px; }
#container .cam__en{ top: -26px; }
#container .cam__title{ padding: 0 0 20px; font-size: 22px; }
#container .cam__text{ padding: 0 0 30px; font-size: 14px; }
#container .cam__text small{ padding: 10px 0 0; font-size: 14px; }

#container .campaign__date{ width: 100%; min-width: 100%; padding: 5px 10px; }
#container .campaign__date-term{ padding: 7px 11px; font-size: 14px; line-height: 1.7; text-align: center; }
#container .campaign__date-desc{ padding: 7px 14px; font-size: 12px; line-height: 1.5; }
#container .campaign__list{ gap: 45px; }
#container .campaign__item{ padding: 50px 5% 25px; border-radius: 10px; }
#container .campaign__course{ top: -72px; transform: translate(-50%,0); left: 50%; width: 85%; height: 50px; border-radius: 50px; font-size: 18px; }
#container .campaign__course strong{ font-size: 30px; }
#container .campaign__course p{ font-size: 13px; }
#container .campaign__title{ width: 100%; padding: 20px; }
#container .campaign__title:before,
#container .campaign__title:after{ height: 50px; background-size: 50px; }
#container .campaign__item-title{ width: 100%; padding: 10px; font-size: 17px; line-height: 1.5; }
#container .campaign__item-title strong { padding: 0 0 7px; font-size: 23px; }
#container .campaign__item-txt::after{ top: -2%; width: 26px; height: 40px; }
#container .campaign__item-txt:first-of-type::after{ right: 4%; }
#container .campaign__item-txt:nth-of-type(2)::after{ right: 5%; }
#container .campaign__insta{ padding: 0 0 25px; gap: 20px; flex-direction: column; }
#container .campaign__insta-txt{ font-size: 14px; }
#container .campaign__insta-icn{ left: 40px; width: 27px; height: 27px; }
#container .campaign__body { padding: 30px 0 0; }
#container .campaign__item-txt { font-size: 24px; }
#container .campaign__item-txt span { width: 30px; height: 31px; margin: 25px auto; }
#container .campaign__item-txt strong { font-size: 26px; }
#container .campaign__note{ padding: 25px 0 0; }
#container .campaign__note-txt{ text-indent: -0.7rem; font-size: max(10px,0.8vw); line-height: 1.5; padding: 0 0 5px 0.7rem; text-align: left; }

#container .btn-insta-a{ filter: drop-shadow(0px 5px 0px #C65100); }
#container .btn-insta-b{ filter: drop-shadow(0px 5px 0px #C3AC00); }
#container .campaign__insta-blank{ width: 13px; }

/* ---------------------------------------------------------------- fare */
#container #fare{ padding: 50px 0; }
#container .fare__content{ position: relative; top: 0; width: 100%; }
#container .fare__title{ padding: 2px 0 10px; font-size: 26px; }
#container .fare__kv{ margin-top: -60px; }

/* ---------------------------------------------------------------- greatval */
#container #greatval{ }
#container .greatval__bg{ padding: 100px 0 50px; background: url(../images/bg_04.png) -110% 10px/70vw no-repeat; }
#container .greatval__en{ margin-bottom: -28px; font-size: 52px; }
#container .greatval__title{ padding: 0 0 25px; font-size: 24px; }
#container .greatval__diagram{ width: 100%; }
#container .greatval__fare-list{ flex-direction: column; gap: 30px; }
#container .greatval__group{ padding: 20px 15px; border-radius: 9px; }
#container .greatval__from{ font-size: 18px; }
#container .greatval__via{ font-size: 18px; }
#container .greatval__arrow{ width: 12px; height: 12px; }
#container .greatval__group-body{ padding: 25px 0 10px; }
#container .greatval__group-body .btns{ padding-top: 25px; }
#container .greatval__fare-item{ width: 100%; }
#container .greatval__fare-head{ padding: 0 0 7px; font-size: 20px; }
#container .greatval__fare-head small{ font-size: 15px; }
#container .greatval__fare-head img{ width: 130px; }
#container .greatval__fare-label{ width: 150px; height: auto; }
#container .greatval__itinerary{ border-radius: 9px; }
#container .greatval__route{ border-radius: 9px 9px 0 0; font-size: 14px; }
#container .greatval__segments{ padding: 20px 15px; }
#container .greatval__segments:last-of-type{ border-radius: 0 0 9px 9px; }
#container .greatval__segments > div{ font-size: 12px; }
#container .greatval__transfer{ width: 52px; font-size: 11px!important; }
#container .greatval__note{ width: 100%; padding: 25px 0 0; }
#container .greatval__diagram-direct .greatval__fare-head img{ width: 65px;}
#container .greatval__diagram-direct .greatval__segments > div{ font-size: 15px; }

/* ---------------------------------------------------------------- charm */
#container #charm{ padding: 40px 0; }
#container .charm-text{ font-size: 14px; }
#container .charm__en{ margin-bottom: -30px; }
#container .charm__title{ padding: 0 0 15px; font-size: 24px; }
#container .charm__text{ padding: 0 0 35px; font-size: 16px; line-height: 2; }
#container .charm__kv{ gap: 0; flex-direction: column; padding: 0 0 55px; }
#container .charm__kv-content{ width: 100%; padding: 25px 0 0; }
#container .charm__kv-heading{ padding: 0 0 15px; font-size: 26px; }
#container .charm__figure{ width: 100%; }
#container .charm__content{ padding: 20px 0 0; }
#container .charm__heading{ padding: 0 0 10px; font-size: 20px; }
#container .charm__list{ gap: 20px; }
#container .charm__item{ width: 100%; }

#container .modal__close{ width: 33px; }
#container .modal__close-arrow{ width: 33px; height: 33px; }
#container .modal__close-text{ font-size: 10px; }
#container .modal{ padding: 30px 5%; }
#container .modal__title{ padding: 0 0 10px; font-size: 22px; }
#container .modal__lead{ padding: 0 0 35px; font-size: 12px; line-height: 2; }
#container .mordal__kv{ margin: 0 0 30px; }
#container .mordal__kv-figure{ width: 100%; }
#container .mordal__kv-content{min-width: 100%; width: 100%; padding: 15px; border-radius: 10px; margin: 10px auto 0; }
#container .mordal__kv-content,
#container .mordal__kv-content.blue{ position: relative; top: 0; }
#container .mordal__fv{ padding: 0 0 30px; }
#container .mordal__fv-figure{ width: 100%; }
#container .mordal__fv-desc{ font-size: 13px; }
#container .mordal__kv-heading{ font-size: 18px; }
#container .mordal__kv-desc{ padding: 10px 0 0; font-size: 13px; }
#container .mordal__kv-date{ padding: 9px 0 0; font-size: 14px; }

#container .modal__list{ gap: 25px; padding: 0 0 30px; flex-direction: column; }
#container .modal__item{ width: 100%; }
#container .mordal__figure{ padding: 0 0 20px; }
#container .mordal__heading{ padding: 0 0 5px; font-size: 19px; text-align: center; line-height: 1.5; }
#container .mordal__desc{ font-size: 13px; }

/* ---------------------------------------------------------------- bnr */
#container #bnr{ padding: 50px 0; background: url(../images/bg_gradient.jpg) center; }
#container .bnr__item{ margin-bottom: 4vw; }

/* ---------------------------------------------------------------- others */
#container #others{ padding: 80px 0 50px; }
#container .others__campaign { padding: 45px 5% 25px; border-radius: 15px; }
#container .others__campaign-head { padding: 0 0 15px; }
#container .others__campaign-item { width: 240px; left: 50%; top: -100px; transform: translate(-50%,0); }
#container .others__campaign-title { font-size: 22px; }
#container .others__campaign-body { width: 100%; margin: 0 auto 25px; padding: 25px 5%; border-radius: 15px; }
#container .others__campaign-txt { font-size: 13px; }
#container .others__campaign-limit { padding: 0 0 15px; font-size: 15px; }
#container .others__campaign-limit strong { padding: 0 0 12px; font-size: 23px; }
#container .others-btns{ width: 100%; flex-direction: column; gap: 20px; }
#container .others-btns div{ width: 100%; }
#container .others-btns p{ height: auto; font-size: 14px; padding: 0 0 7px; }

/* ---------------------------------------------------------------- service */
#container #service{ padding: 50px 0; }
#container .service__title{ padding: 0 0 30px; font-size: 29px; }
#container .service__title span{ font-size: 16px; }
#container .service__list{ flex-direction: column; }
#container .service__item{ width: 100%; }
#container .service__heading{ padding: 20px 15px; font-size: 23px; }
#container .service__heading::before{ bottom: -20px; width: 32px; height: 23px; }
#container .service__details{ padding: 36px 15px 20px; }
#container .service__label{ padding: 0 0 20px; font-size: 20px; }
#container .service__label span{ padding: 0 20px; }
#container .service__label span::before,
#container .service__label span::after{ height: 21px; }
#container .service__fare-figure{ width: 185px; margin: 0 auto 30px; }
#container .service__feature{ gap: 20px; padding: 0 0 13px; }
#container .service__icn{ width: 55px; }
#container .service__desc{ width: calc(100% - 55px); font-size: 19px; }

/* ---------------------------------------------------------------- footer */
#container #footer{ padding: 40px 0; }
	
}

#container{
    width: inherit !important;
    margin-top: 0 !important;
}

#container .topicPath {
    width: 960px;
    margin: 20px auto;
}

#container .topicPath li.panli{
    display: inline-block;
    position: relative;
    margin-left: 8px;
    padding-left: 21px;
}

span.color{
    color: #052981;
}