@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:wght@700&display=swap');

@font-face {
  font-family: icon;
  src: url(../font/icon.eot);
  src: url(../font/icon.eot#iefix) format("embedded-opentype"),
       url(../font/icon.woff) format("woff"),
       url(../font/icon.ttf) format("truetype"),
       url(../font/icon.svg#icon) format("svg");
  font-weight: normal;
  font-style: normal;
}

 [class^="ico-"]:before, [class*=" ico-"]:before { display: inline-block; font-family: "icon"; font-size: 120%; font-style: normal; font-variant: normal; font-weight: normal; line-height: 1em; margin-left: .2em; margin-right: .2em; text-align: center; text-decoration: inherit; text-transform: none; width: 1em; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

.ico-pagetop:before { content: '\e802'; }
.ico-bag:before { content: '\e804'; }
.ico-flag:before { content: '\e805'; }
.ico-ribbon:before { content: '\e808'; }
.ico-airplane:before { content: '\e80c'; }
.ico-hotel:before { content: '\e80d'; }
.ico-angle-left:before { content: '\f104'; }
.ico-angle-right:before { content: '\f105'; }
.ico-angle-up:before { content: '\f106'; }
.ico-angle-down:before { content: '\f107'; }



.jtb-nav-breadcrumb { margin-bottom: 25px; max-width: 1280px; }
.l-page { color: #333; font-family: 'Noto Sans JP', sans-serif; font-size: 16px; line-height: 1.6; text-align: center; width: 100%; }
.l-page * { box-sizing: border-box; }
.l-page h1 { font-size: 18px; font-weight: bold; line-height: 1; margin: 0 auto 25px; max-width: 1280px; text-align: left; }
.l-page h2, .l-page h3, .l-page h4 { font-weight: 900; }
.l-page a { color: #ff1929; }
.l-page a, .l-page a * { transition: all .4s ease; }
.l-page button { border: none; cursor: pointer; font-family: 'Noto Sans JP', sans-serif; font-size: 16px; padding: 0; }
.l-page em { font-family: 'Roboto', sans-serif; font-weight: 700; }
.l-page img { display: block; margin: 0 auto; max-width: 100%; }
.l-page strong { font-weight: 700; }
.l-page sup { font-size: .625em; vertical-align: baseline; }
.l-page .c-bnr__item a { border-radius: .625em; display: block; overflow: hidden; }
.l-page .c-bottom__bnr a { display: inline-block; }
.l-page .c-box { background-color: #fff; border-radius: .625em; width: 100%; }
.l-page .c-btn { border-radius: 100vh; display: grid; margin: 0 auto; max-width: 960px; place-content: center; position: relative; transition: all .3s ease; width: 100%; }
.l-page .c-btn span { font-size: 2em; font-weight: 700; }
.l-page .c-btn__entry { background-color: #cd5c5c; }
.l-page .c-btn__entry span { color: #fff; }
.l-page .c-btn__entry:not([disabled]) span::after { color: #ffee00; content: "\f105"; display:inline-block; font-family: "icon"; padding-left: .75em; transition: all .4s ease; }
.l-page .c-btn__gray, .l-page .c-entry__block button.c-btn[disabled] { background-color: #ddd; box-shadow: none; pointer-events: none; }
.l-page .c-btn__gray span, .l-page .c-entry__block button.c-btn[disabled] span { color: #999; }
.l-page .c-catch { font-weight: 700; }
.l-page .c-fdc { display: flex; flex-direction: column; }
.l-page .c-head__copy { color: #db0000; font-weight: 700; }
.l-page .c-heading { color: #cd5c5c; font-weight: 900; padding-bottom: 1em;}
.js-btn-page-top { bottom: 50px; cursor: pointer; display: none; position: fixed; right: 50px; z-index: 100; }
.js-btn-page-top a { display: block; height: 17px; position: relative; width: 35px; }
.js-btn-page-top a::before { color: #000; content: "\e802"; display: inline-block; font-family: "icon"; font-size: 17px; height: 17px; width: 35px; }
.js-btn-page-top a:hover { opacity: .8; }

.l-mv { background: url(../images/bg_mv.png) no-repeat 50% 50%; display: flex; justify-content: center; position: relative; width: 100%; }
.l-mv .c-logo { position: absolute; }
.l-mv__copy { background-color: #cd5c5c; }
.l-mv__copy span { color: #fff; font-weight: 700; }
.l-contents { background-color: #faf8f0; }
.l-contents .c-inner { display: flex; flex-direction: column; margin: 0 auto; max-width: 1280px; width: 89%; }
.sec-point .c-btn__block .c-catch + * { margin-top: 1em; }
.sec-point__box { background-color: #fff; border: 2px solid #cd5c5c; border-radius: .5em; margin: 0 auto; max-width: 1040px; padding: 3em 1em; position: relative; width: 100%; }
.sec-point__box::before, .sec-point__box::after { aspect-ratio: 142 / 127; background: url(../images/ico_garland.png) no-repeat 50% 50% / cover; content: ""; position: absolute; top: -1.125em; width: 8.875em; }
.sec-point__box::before { left: -1.5em; }
.sec-point__box::after { right: -1.5em; transform: scale(-1, 1); }
.sec-point__box p { color: #cd5c5c; }
.sec-point__catch span { color: #cd5c5c; }
.sec-point__catch strong { background: linear-gradient(transparent 60%, #ffef17 60%); }
.sec-point__catch strong em { font-size: 1.75em; }
.sec-guideline dl { border-bottom: 1px solid #ccc; text-align: left; }
.sec-guideline dt { clear: left; color: #cd5c5c; float: left; font-weight: bold; padding-top: 2em; width: 18%; }
.sec-guideline dd { border-top: 1px solid #ccc; line-height: 1.5; padding: 2em 1em 2em 20%; }
.sec-guideline dd strong { font-size: 1.125em; font-weight: 700; }
.sec-guideline dd li { padding: .125em 0; }
.sec-guideline dd > ul + *, .sec-guideline dd p + * { padding-top: 1.25em; }
.sec-guideline dd li > ul, .sec-guideline dd ul + ul { margin-top: .5em; }
.sec-guideline dd > ul > li { display: list-item; list-style: disc; list-style-position: outside; margin-left: 1em; }
.sec-guideline dd > ul > li + li { padding-top: .285714em; }
.sec-guideline dd li ul li { margin-left: 1em; list-style-type: circle; }
.sec-guideline dd .c-notice__list li { list-style: none; margin-left: 1.25em; text-indent: -1.25em; }
.sec-guideline dd .c-notice__list li::before { content: "※"; }
.sec-guideline dd .c-txt__ex { margin-left: 2em; text-indent: -2em; }
.sec-guideline .c-entry__block { display: flex; flex-direction: column; }
.sec-guideline .c-entry__block p { font-size: 1.25em; line-height: 1; }
.sec-guideline .c-entry__block .c-check__list { display: inline-block; margin: 0 auto; text-align: left; }
.sec-guideline .c-entry__block .c-check__item input[type=checkbox] { display: none; }
.sec-guideline .c-entry__block .c-check__box { cursor: pointer; display: inline-block; padding: .3125em 0 .3125em 1.875em; position: relative; width: auto; }
.sec-guideline .c-entry__block .c-check__box::before { background: #fff; border: 1px solid #ccc; border-radius: .1875em; content: ""; display: block; height: 1em; left: .3125em; position: absolute; top: .5em; width: 1em; }
.sec-guideline .c-entry__block .c-check__box::after { border-right: .375em solid #d70c19; border-bottom: .1875em solid #d70c19; content: ""; display: block; height: 1.25em; left: .4375em; margin-top: -.5em; opacity: 0; position: absolute; top: .5em; transform: rotate(45deg) translate3d(0,2px,0) scale3d(.7,.7,1); transition: transform .2s ease-in-out, opacity .2s ease-in-out; width: .5625em; }
.sec-guideline .c-entry__block input[type=checkbox]:checked + .c-check__box::before { border-color: #666; }
.sec-guideline .c-entry__block input[type=checkbox]:checked + .c-check__box::after { opacity: 1; transform: rotate(45deg) scale3d(1,1,1); }
.sec-bnr .c-bnr__list { display: flex; gap: 2em; }
.sec-bnr .c-bnr__item { width: 100%; }
.p-search .c-search__block { box-shadow: 0 0 1.25em 0 #64605226; }
.p-search .c-tab { background-color: #000; border-radius: .5em .5em 0 0; display: grid; place-content: center; }
.p-search .c-tab span { color: #fff; font-weight: 700; }
.p-search .c-panel { background-color: #fff; border-radius: 0 0 .5em .5em; }
.p-search .c-link__list { display: flex; }
.p-search .c-link__item { align-items: center; background-color: #faf8f0; border-radius: .5em; color: #000; display: flex; width: 100%; }
.p-search .c-link__item span { font-size: 1.125em; font-weight: 700; }
.p-reserve .c-reserve__list { display: grid; }
.p-reserve .c-reserve__item { background-color: #fff; border-radius: .5em; box-shadow: 0 0 1.25em 0 #64605226; color: #000; display: flex; flex-direction: column; }
.p-reserve .c-reserve__item p { text-align: left; }

.l-mv__entry::after { background-color: rgba(0,0,0,.5); content: ""; inset: 0; position: absolute; width: 100%; z-index: 1; }
.l-mv__entry .c-message { background-color: #fff; border: .25em solid #de071d; border-radius: .75em; left: 50%; max-width: 960px; position: absolute; translate: -50% -50%; top: 50%; width: 85%; z-index: 2; }
.l-mv__entry .c-message p { color: #de071d; font-weight: 700; }
#JTBGF-ly_footer.JTBGF-ly_footer { margin-top: 0 !important; }


@media screen and (min-width:768px){
  .sp-item { display: none; }
  .breadcrumb-upper { margin: 0 auto 25px; max-width: 1230px; padding: 0 .5em; text-align: left; }
  .breadcrumb-upper__fix, .breadcrumb-upper__scroll, .breadcrumb-upper__item { display: inline-block; font-size: 10px; }
  .breadcrumb-upper__item { line-height: 2.1; margin-left: 1.5em; padding-left: .2em; position: relative; }
  .breadcrumb-upper__item::before { color: #999; content: ">"; left: -1.1em; line-height: 2.1; position: absolute; top: 0; }
  .l-page a:hover { color: #cd5c5c; text-decoration: none; }
  .l-page a:hover img { opacity: .7; }
  .l-page .c-btn { height: 7.5em; }
  .l-page .c-btn span { font-size: 2em; }
  .l-page .c-btn__mini { height: 5em; max-width: 500px; }
  .l-page .c-btn__mini span { font-size: 1.5em; }
  .l-page .c-btn__entry:hover { background-color: #d42d2d; }
  .l-page .c-btn__entry:hover span::after { transform: translateX(.25em); }
  .l-page .c-head__copy { font-size: 2.5em; padding: 1em 0; }
  .l-page .c-catch { font-size: 1.75em; }
  .l-page .c-heading { font-size: 2.5em; }
  .l-mv .c-logo { right: 1.25em; top: 1.875em; width: 12.5em; }
  .l-mv__title { width: 61.1111vw; }
  .l-mv__copy { padding: 1.5em; }
  .l-mv__copy span { font-size: 2em; }
  .l-contents .c-inner { gap: 5em; padding: 5em 0 8em; }
  .sec-point { gap: 3.5em; }
  .sec-point__catch { font-size: 2em; }
  .sec-guideline, .sec-guideline .c-entry__block { gap: 2.5em; }
  .sec-guideline .c-box { padding: 3.75em 6.25em; }
  .p-search .c-tab { height: 6.25em; }
  .p-search .c-tab span { font-size: 2em; }
  .p-search .c-panel { padding: 4.875em 4em; }
  .p-search .c-link__list { gap: 1em; }
  .p-search .c-link__item { flex-direction: column; height: 17.75em; padding-top: 3em; }
  .p-search .c-link__item i::before { font-size: 7.75em; }
  .p-search .c-link__item span { align-items: center; display: inline-flex; min-height: 2.6em; padding-top: 1em; }
  .p-reserve .c-reserve__list { gap: 1.75em; grid-template-columns: repeat(4, 1fr); }
  .p-reserve .c-reserve__item { padding: 2.5em 2em 1.875em; }
  .p-reserve .c-reserve__title { font-size: 1.25em; }
  .p-reserve .c-btn__block { padding-top: 4em; }
  .l-mv__entry .c-message { padding: 0 2em; }
  .l-mv__entry .c-message p { font-size: 2.5em; padding: 1em 0; }
}

@media screen and (min-width:768px) and ( max-width:1440px) {
  .l-mv { aspect-ratio: 18 / 7; background-size: auto 100%; }
}

@media screen and (min-width:1441px){
  .l-mv { background-size: cover; height: 35em; }
  .l-mv__title { width: 55em; }
}

@media screen and (min-width:768px) and ( max-width:1280px) {
  .l-page { font-size: 1.25vw; margin: 0;  }
}

@media screen and (max-width:767px){
  .pc-item { display: none; }
  #JTBGF-ly_footer.JTBGF-ly_footer { margin-top: 0 !important; }
  .breadcrumb-upper { background-color: #fff; border-top: 1px solid #d7d7d7; display: flex; flex-wrap: nowrap; font-size: 10px; line-height: 3rem; margin-top: 5em; overflow: hidden; position: relative; }
  .breadcrumb-upper__fix { box-shadow: 6px 0 10px 0 rgba(0, 0, 0, .3); position: relative; transition: box-shadow .3s; width: 7em; z-index: 3; }
  .breadcrumb-upper__fix a { padding-left: .5rem; }
  .breadcrumb-upper__scroll { flex: 1; overflow: hidden; }
  .breadcrumb-upper__list { display: flex; flex-wrap: nowrap; height: 3rem; overflow-x: scroll; overflow-y: hidden; white-space: nowrap; }
  .breadcrumb-upper__item a { padding: 0 .5rem 0 1.8rem; }
  .breadcrumb-upper__item:last-child { padding: 0 1.2rem 0 1.8rem; }
  .breadcrumb-upper__fix a, .breadcrumb-upper__item a { display: block; background-color: #fff; text-align: center; position: relative; }
  .breadcrumb-upper__fix a::before, .breadcrumb-upper__item a::before, .breadcrumb-upper__fix a:after, .breadcrumb-upper__item a:after { content: ""; border-style: solid; border-width: 2rem 0 2rem 1rem; position: absolute; top: -.5rem; }
  .breadcrumb-upper__fix a::before, .breadcrumb-upper__item a::before { border-color: transparent transparent transparent #fff; right: -.9rem; z-index: 2; }
  .breadcrumb-upper__fix a::after, .breadcrumb-upper__item a::after { border-color: transparent transparent transparent #d7d7d7; right: -1rem; z-index: 1; }
  .js-btn-page-top { bottom: 20px; right: 20px; }
  .js-btn-page-top a { background-color: #999; border-radius: 6px; display: block; height: 30px; width: 30px; }
  .js-btn-page-top a::before { color: #fff; content: "\f106"; display: inline-block; font-family: "icon"; line-height: 29px; width: auto; }
  .l-page { font-size: 3.2vw; padding: 20px 0 0; }
  .l-page h1 { margin-bottom: 20px; padding: 0 1%; }
  .l-page button { font-size: 3.2vw; }
  .l-page .c-btn { height: 5em; }
  .l-page .c-btn span { font-size: 1.5em; }
  .l-page .c-btn__mini { height: 3.5em; max-width: 75%; }
  .l-page .c-btn__mini span { font-size: 1.125em; }
  .l-page .c-head__copy { font-size: 1.5em; padding-bottom: 1em; }
  .l-page .c-heading { font-size: 1.5em; }
  .l-mv { aspect-ratio: 2 / 1; background-size: cover; }
  .l-mv .c-logo { right: .5em; top: .5em; width: 20vw; }
  .l-mv__title { width: 77%; }
  .l-mv__copy { padding: 1em 1.5em; }
  .l-mv__entry .c-message { padding: 0 1em; }
  .l-mv__entry .c-message p { font-size: 1.5em; padding: 1em 0; }
  .l-contents .c-inner { gap: 3em; padding-top: 2em; }
  .sec-point { gap: 2.5em; }
  .sec-point__box::before, .sec-point__box::after { font-size: .75em; }
  .sec-point__catch { font-size: 1.5em; }
  .sec-guideline, .sec-guideline .c-entry__block { gap: 1.5em; }
  .sec-guideline .c-box { padding: 2em 7%; }
  .sec-guideline dt, .sec-guideline dd { font-size: 3.466667vw; margin: 0; padding: 0; }
  .sec-guideline dt { float: none; width: 100%; }
  .sec-guideline dd { padding: 1em .25em 1.6em; }
  .sec-bnr .c-bnr__list { flex-direction: column; }
  .p-search .c-link__list { flex-direction: column; gap: .5em; }
  .p-search .c-tab { height: 3.5em; }
  .p-search .c-tab span { font-size: 1.5em; }
  .p-search .c-panel { padding: 2em; }
  .p-search .c-link__item { height: 4.5em; padding: 0 1em; }
  .p-search .c-link__item i::before { font-size: 2em; padding-right: .25em; }
  .p-search .c-link__item span { text-align: left; }
  .p-search .c-link__item span br { display: none; }
  .p-reserve .c-reserve__list { gap: .5em; grid-template-columns: repeat(2, 1fr); }
  .p-reserve .c-reserve__item { padding: 2em 1.125em; }
  .p-reserve .c-btn__block { padding-top: 2em; }
}