@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@300;400&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: 1; margin: 0; text-align: center; text-decoration: inherit; text-transform: none; width: 1em; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

.ico-right-dir:before { content: '\e800'; }
.ico-camera:before { content: '\e801'; }
.ico-pagetop:before { content: '\e802'; }
.ico-angle-left:before { content: '\f104'; }
.ico-angle-right:before { content: '\f105'; }
.ico-angle-up:before { content: '\f106'; }
.ico-angle-down:before { content: '\f107'; }
.ico-shopping:before { content: '\f290'; }
.ico-location:before { content: '\f291'; }
.ico-cafe:before { content: '\f292'; }
.ico-onsen:before { content: '\f293'; }


@keyframes slide-in {
 0% { opacity: 0; transform: translate3d(20px,0,0); }
 100% { opacity: 1; transform: translate3d(0,0,0); }
}

.l-page { font-size: 16px; font-weight: 400; line-height: 1.6; text-align: center; width: 100%; }
.l-page * { box-sizing: border-box; }
.l-page h1 { font-family: 'Noto Sans JP', sans-serif; font-size: 18px; font-weight: bold; line-height: 1; margin: 0 auto 25px; max-width: 1280px; text-align: left; }
.l-page a, .l-page a img { transition: all .4s ease; }
.l-page img { display: block; margin: 0 auto; max-width: 100%; }
.l-page em { font-family: 'Kiwi Maru', serif; font-weight: normal; }
.l-page strong { font-weight: bold; }
.l-page .lazyload { opacity: 0; transition: opacity .8s ease-out; }
.l-page .lazyloaded { opacity: 1; }

.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.jpg) no-repeat 50% 0 / cover; width: 100%; }
.l-mv__inner { margin: 0 auto; max-width: 1236px; position: relative; width: 100%; }
.l-mv__title { width: 44em; }
.l-mv__fig { position: absolute; left: 0; top: 1em;  width: 14.75em; }
.l-wrap { background: #f8f3e0 url(../images/bg-content.png); width: 100%; }
.l-content { color: #541e09; font-family: 'Kiwi Maru', serif; font-weight: 300; letter-spacing: -.05em; margin: 0 auto; max-width: 1236px; width: 100%; }

.c-btn__block { margin-top: 4em; }
.c-btn { align-items: center; background: repeat-x 0 0; border-radius: .75em; display: flex; height: 6em; justify-content: center; position: relative; }
.c-btn + .c-btn { margin-top: 1.25em; }
.c-btn__blue { background-color: #5ec8e8; background-image: url(../images/bg-btn-blue.png); }
.c-btn__blue:hover { background-color: #8de2fc; background-image: url(../images/bg-btn-blue-hover.png); }
.c-btn__yellow { background-color: #ebe437; background-image: url(../images/bg-btn-yellow.png); }
.c-btn__yellow:hover { background-color: #fff96f; background-image: url(../images/bg-btn-yellow-hover.png); }
.c-btn span { color: #541e09; font-size: 1.875em; font-weight: bold; }
.c-btn span::after { content: "\f006"; display: inline-block; font-family: "icon"; position: absolute; right: 1.25em; top: 50%; transform: translateY(-50%); }
.c-link__ex a::after { content: "\f006"; display: inline-block; font-family: "icon"; padding-left: .5em; }
.c-movie__box { aspect-ratio: 16 / 9; margin: 3em auto 0; max-width: 720px; width: 100%; }
.c-movie__box iframe { height: 100%; width: 100%; }
.c-panel { display: none; }
.c-panel.is-selected { animation: .8s slide-in; display: block; }
.c-sec + .c-sec { margin-top: 4.5em; }
.c-sec__title { background: url(../images/border-section-title.png) no-repeat 50% 100% / 11.1875em auto; margin-bottom: 1.625em; padding-bottom: 2em; }
.c-sec__title span { color: #541e09; font-size: 3em; font-weight: 400; line-height: 1; }
.c-sec__title em { color: #1fa7d4; }
.c-sec__box { background-color: #fff; border-radius: 1.25em; }
.c-spot__lead { max-width: 720px; margin: 0 auto; padding-top: 1.5em; text-align: left; }
.c-spot__lead p + p { padding-top: 1.25em; }

.sec-data .c-sec__box { padding: 4.5em 3.75em; }
.sec-data .c-heading { background-color: #eee854; display: inline-block; font-size: 1.625em; margin-bottom: .5em; padding: 0 .25em; }
.sec-data p { font-size: 1.125em; }
.sec-data .c-cap { font-size: .75em; margin-top: 1em; text-align: right; }
.sec-data__temp .c-list { margin-top: 2em; }
.sec-data__asl { margin-top: 3em; }

.sec-spot .c-sec__head { position: relative; }
.sec-spot .c-sec__head img { border: .375em solid #fff; box-shadow: .25em .25em .5em rgba(0,0,0,.45); position: absolute; top: 50%; width: 17em; }
.sec-spot .c-tab__list { display: flex; gap: 1em; justify-content: center; }
.sec-spot .c-tab { align-items: center; border: 2px solid #1fa7d4; border-radius: 100vh; cursor: pointer; display: flex; padding: .5em; transition: all .4s ease; }
.sec-spot .c-tab::before { align-items: center; background-color: #1fa7d4; border-radius: 50%; color: #fff; display: flex; font-size: 1.25em; height: 2em; justify-content: center; width: 2em; }
.sec-spot .c-tab span { color: #1fa7d4; flex: 1; font-size: 1.125em; font-weight: 400; }
.sec-spot .c-tab.is-selected { background-color: #1fa7d4; pointer-events: none; }
.sec-spot .c-tab.is-selected::before { background-color: #fff; color: #1fa7d4; }
.sec-spot .c-tab.is-selected span { color: #fff; }
.sec-spot .c-panel { padding-top: 3em; }
.sec-spot .c-spot { display: flex; flex-direction: column; }
.sec-spot .c-spot img, .sec-bottom .c-list li img { border-radius: .375em; }
.sec-spot .c-spot .pic { position: relative; }
.sec-spot .c-spot .pic img { width: 100%; }
.sec-spot .c-spot img.pic-sub { bottom: -4em; position: absolute; right: .75em; width: 12.75em; }
.sec-spot .c-spot .txt { font-weight: 400; text-align: left; }
.sec-spot .c-spot .c-spot__data { border: 1px solid #541e09; border-radius: .625em; margin-top: 2.25em; padding: 1.5em; position: relative; }
.sec-spot .c-spot .c-spot__data p { font-size: .875em; }
.sec-spot .c-spot .c-spot__data p.label { background-color: #fff; display: inline-block; left: 1.4286em; line-height: 1; padding: 0 .4286em; top: -.5em; position: absolute; }
.sec-spot .c-spot__name { background: url(../images/border-spot-name.png) no-repeat 50% 100% / 7.6333em auto; font-size: 1.875em; line-height: 1; margin-bottom: 1em; padding-bottom: 1.3em; }
.sec-spot .c-spot .txt .c-spot__name { background-position: 0 100%; }
.sec-spot .c-spot__lead { font-size: 1.125em; font-weight: 400; }
.sec-spot .c-link__ex { margin-top: 3em; }
.sec-spot .c-link__ex a { font-size: 1.5em; }
.sec-spot .c-spot .c-recom__item .pic, .sec-spot .c-spot .c-recom__item .txt { width: 100%; }
.sec-spot .c-spot .c-recom__item .txt { margin-top: 1em; }
.sec-spot .c-spot__title { display: block; margin-bottom: 4em; position: relative; }
.sec-spot .c-spot__title::after { background-color: #ebe437;border-radius: 100vh; bottom: -1em; content: ""; display: block; height: .375em; left: 50%; position: absolute; transform: translateX(-50%); width: 3em; }
.sec-spot .c-spot__title span { font-size: 2em; font-weight: 400; }
.sec-spot .c-spot__pic p + .c-list { margin-top: 1.5em; }
.sec-campaign .c-sec__box { padding-top: 5em; }
.sec-campaign .c-campaign__title { background: url(../images/fig-campaign.png) no-repeat 100% 50% / contain; }
.sec-campaign .c-campaign__title span { display: inline-block; font-size: 1.875em; font-weight: 400; line-height: 1.3; }
.sec-campaign .c-campaign__title .c-head { color: #ef2b00; position: relative; }
.sec-campaign .c-campaign__title .c-head::before, .sec-campaign .c-campaign__title .c-head::after { background-color: #ef2b00; content: ""; display: block; height: 100%; position: absolute; top: 50%; width: 3px; }
.sec-campaign .c-campaign__title .c-head::before { left: -1em; transform: translateY(-50%) rotate(-45deg); }
.sec-campaign .c-campaign__title .c-head::after { right: -1em; transform: translateY(-50%) rotate(45deg); }
.sec-campaign dl { font-size: .875em; margin-top: 4em; text-align: left; }
.sec-campaign dt { clear: left; color: #1fa7d4; float: left; font-weight: bold; margin-top: 2em; padding-top: 2em; width: 20%; }
.sec-campaign dd { border-top: 1px solid #ccc; line-height: 1.5; margin-top: 2em; padding: 2em 1em 0 22%; }
.sec-campaign dt:first-of-type, .sec-campaign dd:first-of-type { margin-top: 0; }
.sec-bottom { padding: 0 6.25em; }
.sec-bottom .c-list { flex-wrap: wrap; margin-top: 1.875em; }
.sec-bottom__title { align-items: center; background: url(../images/bg-bottom-title.png) no-repeat 50% 50% / auto 100%; display: flex; height: 8.75em; justify-content: center; }
.sec-bottom__title span { font-size: 1.875em; font-weight: 400; }

@media screen and (min-width:768px) {
  .sp-item { display: none !important; }
  .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-wrap { padding: 4.5em 0; }
  .l-mv__inner { display: flex; flex-direction: column; justify-content: center; }
  .l-page .c-list { display: flex; justify-content: space-between; }
  .l-page .c-sec + .c-sec { margin-top: 5em; }
  .sec-data__temp .c-item { width: calc(50% - 1.25em); }
  .sec-data__asl { padding-top: 43.19%; position: relative; }
  .sec-data__asl .block-left { left: -3.75em; position: absolute; top: 0; width: 42.8125em; }
  .sec-data__asl .block-left img { border-radius:0 .375em .375em 0; }
  .sec-data__asl .block-right { position: absolute; right: 0; text-align: left; top: 3.75em; width: 40.3125em; z-index: 1; }
  .sec-data__asl .block-right img { margin-top: -1.75em; }
  .sec-data__asl .txt { padding-left: 5em; }
  .sec-spot .c-sec__head img:nth-of-type(1) { left: 4em; transform: translateY(-30%) rotate( -6deg ); }
  .sec-spot .c-sec__head img:nth-of-type(2) { right: 4em; transform: translateY(-50%) rotate( 10deg ); }
  .sec-spot .c-tab { width: calc(calc(100% - 3em) / 4); }
  .sec-spot .c-tab:hover { background-color: #d2edf6; }
  .sec-spot .c-sec__box, .sec-campaign .c-sec__box, .sec-access .c-sec__box { padding: 6.25em; }
  .sec-spot .c-spot:nth-child(odd) { flex-direction: row-reverse; }
  .sec-spot .c-spot { gap: 5.375em; }
  .sec-spot .c-spot .pic { width: 58%; }
  .sec-spot .c-spot .txt { width: 35.5%; }
  .sec-spot .c-spot__pic li, .sec-bottom .c-list li { width: calc(calc(100% - 1.5em) / 3); }
  .sec-spot .c-recom__list { display: flex; flex-wrap: wrap; justify-content: space-between; margin-top: 3.125em; }
  .sec-spot .c-recom__item { width: calc(50% - 1em); }
  .sec-spot .c-recom__item:nth-child(n + 3) { margin-top: 3.125em; }
  .sec-campaign .c-sec__box { background: url(../images/bg-campaign.png) no-repeat 50% 116% / 100% auto, url(../images/bg-campaign-head.png) repeat-x 50% 0 / 60% auto; background-color: #fff; }
  .sec-campaign dl { border-bottom: 1px solid #ccc; padding-bottom: 2em; }
  .sec-campaign .c-btn__block { margin-left: auto; margin-right: auto; max-width: 800px; }
  .sec-bottom .c-list li:nth-child(n + 4) { margin-top: .75em; }
}

@media screen and (min-width:768px) and ( max-width:1440px) {
  .l-mv__inner { height: 28.125vw; min-height: 450px; }
}
@media screen and (min-width:768px) and ( max-width:1236px) {
  .l-page { font-size: 1.294498vw; }
  .l-content { padding: 0 3%; }
}
@media screen and (min-width:1441px) {
  .l-mv { aspect-ratio: 28 / 9; height: auto; }
  .l-mv__inner { height: 100%; }
  .l-mv__title { width: 52vw; }
}
@media screen and (max-width:767px){
  .pc-item { display: none !important; }
  #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; 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 !important; }
  .l-page h1 { padding: 0 3%; }
  .l-mv__inner { height: auto; padding: 2em 0; }
  .l-mv__inner a img { width: 75%; }
  .l-mv__title { width: 80%; }
  .l-mv__fig { left: 4%; width: 20%; }
  .l-content { padding: 2em 5%; }
  .c-sec + .c-sec { margin-top: 3em; }
  .c-item + .c-item, .sec-data__temp .c-list { margin-top: 1.5em; }
  .c-sec__title span { font-size: 2.4em; }
  .c-slide { padding-bottom: 2.5em; }
  .sec-data .c-sec__box, .sec-spot .c-sec__box, .sec-campaign .c-sec__box { padding: 3em 1.75em; }
  .sec-data__asl .block-left { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
  .sec-data__asl .block-right { margin-top: 2em; }
  .sec-data__asl .block-right img { margin-top: 1em; }
  .sec-spot .c-sec__head img { border-width: .25em; bottom: -5em; top: auto; width: 8em; }
  .sec-spot .c-sec__head img:nth-of-type(1) { left: 0; transform: rotate( 6deg );  }
  .sec-spot .c-sec__head img:nth-of-type(2) { right: 0; transform: rotate( -6deg );  }
  .sec-spot .c-sec__box { padding-top: 5em; }
  .sec-spot .c-tab__list { gap: .375em; }
  .sec-spot .c-tab { border-radius: 1em; flex-direction: column; width: 100%; }
  .sec-spot .c-tab span { font-size: 1em; }
  .sec-spot .c-spot:nth-child(n + 2) { margin-top: 3.125em; }
  .sec-spot .c-spot { gap: 3.5em; }
  .sec-spot .c-spot .pic { margin-top: 1em; }
  .sec-spot .c-spot .pic-sub { width: 9em; }
  .sec-spot .c-spot__pic li + li { margin-top: .6em }
  .sec-spot .c-spot .txt p { font-size: 1.1em; }
  .sec-spot .c-spot .c-spot__data { margin-top: 1em; }
  .sec-spot .c-spot__lead { text-align: left; }
  .sec-spot .c-spot__lead br { display: none; }
  .sec-spot .c-list li { border-radius: .375em; overflow: hidden; }
  .sec-campaign .c-sec__box { background: url(../images/bg-campaign.png) no-repeat 50% 102% / 102% auto, url(../images/bg-campaign-head.png) repeat-x 50% 0 / 100% auto; background-color: #fff; }
  .sec-spot .c-recom__item + .c-recom__item { margin-top: 4em; }
  .sec-spot .c-recom__item .c-spot__name { font-size: 1.5em; }
  .sec-access .c-sec__box { padding: 1.5em 1.75em; }
  .sec-campaign .c-campaign__title { background-position: 50% 100%; background-size: auto 8em; padding-bottom: 8em; }
  .sec-campaign dt, .sec-campaign dd { font-size: 3.466667vw; margin: 0; padding: 0; }
  .sec-campaign dt { float: none; width: 100%; }
  .sec-campaign dd { padding: 1em 1em 1.6em; }
  .sec-campaign .c-btn__block { margin-top: 2em; }
  .sec-bottom { padding: 2em 0 0; }
  .sec-bottom__title span, .c-btn span { font-size: 1.5em; }

  .slick-dots { bottom: 0; position: absolute; text-align: center; width: 100%; }
  .slick-dots li { display: inline-block; height: 20px; position: relative; padding: 0; width: 20px; }
  .slick-dots li button { background: transparent; border: 0; color: transparent; cursor: pointer; outline: none; }
  .slick-dots li button::before { color: #ccc; content: "●"; display: inline-block; font-family: "icon"; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; height: 20px; left: 0; line-height: 20px; position: absolute; text-align: center; top: 0; width: 20px; }
  .slick-dots li.slick-active button::before { color: #1fa7d4; }
  .c-slide { opacity: 0; transition: opacity .3s linear; }
  .c-slide.slick-initialized { opacity: 1; }
}
