@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500&family=Kiwi+Maru:wght@500&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-down-dir:before { content: '\e800'; }
.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'; }

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

.jtb-nav-breadcrumb { margin-bottom: 25px; max-width: 1280px; }
.l-page { color: #4d4d4d; 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, .l-page .c-btn span, .l-page .c-sec__head .c-catch { font-family: "Kiwi Maru", serif; font-weight: 500; }
.l-page a { color: #4d4d4d; }
.l-page a, .l-page a img { transition: all .4s ease; }
.l-page img { display: block; margin: 0 auto; width: 100%; }

.l-page .bg_blue { background-color: #f0fafc; }
.l-page .c-btn__block { display: flex; margin-top: 2.5em; }
.l-page .c-btn { border: 2px solid #29b1cc; border-radius: .5em; display: grid; place-content: center; position: relative; width: 100%; }
.l-page .c-btn::after { content: "\f105"; display: inline-block; font-family: "icon"; position: absolute; right: 1em; top: 50%; transform: translate(0, -50%); transition: all .4s ease; }
.l-page .c-btn__blue { background-color: #29b1cc; }
.l-page .c-btn__blue::after, .l-page .c-btn__blue span { color: #fff; }
.l-page .c-btn__white { background-color: #fff; }
.l-page .c-btn__white::after, .l-page .c-btn__white span { color: #29b1cc; }
.l-page .c-col__three .c-fdc { text-align: left; }
.l-page .c-col__three .c-fdc .c-title { color: #29b1cc; }
.l-page .c-column__point { border: 1px solid #29b1cc; position: relative; }
.l-page .c-column__point::before { aspect-ratio: 327 / 355; background: url(../images/ico_cool.png) no-repeat 50% 0 / cover; content: ""; position: absolute; }
.l-page .c-fdc { display: flex; flex-direction: column; }
.l-page .c-inner { margin: 0 auto; max-width: 1280px; width: 89%; }
.l-page .c-pic { aspect-ratio: 3 / 2; border-radius: .75em; overflow: hidden; }
.l-page .c-txt { text-align: left; }
.l-page .c-sec__head img { width: 5.25em; }
.l-page .c-sec__head p { margin-top: 1em; }
.l-page .c-sec__head .c-catch { color: #29b1cc; }
.l-page .is-fixed { left: 0; position: fixed; top: 0; width: 100%; z-index: 999; }
.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: no-repeat 50% 50% / cover; display: grid; height: auto; place-content: center; position: relative; width: 100%; }
.l-mv__title { margin: 0 auto; max-width: inherit; }
.l-anchor { position: relative; }
.l-anchor__float { background-color: #fff; box-shadow: 0 .375em 0 0 #c2e6ef; }
.l-anchor__list { display: flex }
.l-anchor__item { position: relative; width: 100%; }
.l-anchor__item + .l-anchor__item::before { background-color: #c2e6ef; content: ""; left: 0; position: absolute; width: 1px; }
.l-anchor__item a { display: grid; flex-direction: column; place-content: center; position: relative; width: 100%; }
.l-anchor__item span { font-weight: 500; line-height: 1.2; }
.l-anchor__item a span::after { color: #29b1cc; content: "\f107"; display: block; font-family: "icon"; line-height: 1; transition: all .4s ease; }
.l-contents { background-color: #fff; }
.sec-intro { background: linear-gradient(180deg, #dceef5 0%, rgba(220, 238, 245, 0) 100%); }
.sec-intro .c-txt img { margin: 0 auto; }
.sec-intro__wrap { display: flex; }
.sec-onsen .c-sec__head .c-title { color: #29b1cc; }
.sec-onsen__item { background: url(../images/bg_onsen.png) no-repeat 50% 0 / 100% auto; }
.sec-onsen__spot { margin-top: 2em; }
.sec-onsen__guide { gap: 2.5em; max-width: 1080px; width: 100%; }
.sec-onsen__guide .c-column { border-radius: .5em; display: flex; }
.sec-onsen__guide .c-column .c-title { color: #29b1cc; }
.sec-onsen__guide .c-column__howto { background-color: #fff9d9; flex-direction: column; gap: 1em; }
.sec-onsen__guide .c-column__howto .c-title span { position: relative; padding: 0 1.5em; }
.sec-onsen__guide .c-column__howto .c-title span::before, .sec-onsen__guide .c-column__howto .c-title span::after { background-color: #29b1cc; content: ""; display: inline-block; height: 2px; position: absolute; top: 50%; width: 1em; }
.sec-onsen__guide .c-column__howto .c-title span::before { left: 0; }
.sec-onsen__guide .c-column__howto .c-title span::after { right: 0; }
.sec-onsen__guide .c-column__howto p + p { font-size: .875em; }
.sec-onsen__guide .c-column__point { background-color: #f5f5f5; }
.sec-onsen__guide .c-column__point .c-txt p { padding-top: .5em; }
.sec-other .c-sec__head .c-title { color: #29b1cc; }
.sec-other__list, .sec-sweets__wrap { gap: 2.5em; }
.sec-other__item { display: flex; }
.sec-other__item .c-pic { aspect-ratio: 488 / 325; }
.sec-other__item .c-txt .c-title { font-size: 2.5em; }
.sec-other__item .c-txt .c-column__point { background-color: #fff; border-radius: .5em; margin-top: 2em; padding: 1.5em 2em 1.5em 8.5em; }
.sec-other__item .c-txt .c-column__point::before { left: 1.3125em; top: -.75em; width: 5.5em; }
.sec-sweets .c-area__title { color: #29b1cc; font-size: 2.5em; }
.sec-sweets__item .c-pic { aspect-ratio: 1 / 1; }

@media screen and (min-width:768px){
  .sp-item { display: none !important; }
  .breadcrumb-upper { margin: 0 auto 25px; max-width: 1280px; padding: 0; 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 { text-decoration: none; }
  .l-page .c-btn__block { gap: 1.75em; }
  .l-page .c-btn { height: 6.25em; }
  .l-page .c-btn::after { font-size: 2em; }
  .l-page .c-btn span { font-size: 1.375em; }
  .l-page .c-btn:hover::after { transform: translate(.25em, -50%); }
  .l-page .c-btn__blue:hover { background-color: #0088a3; border-color: #0088a3; }
  .l-page .c-btn__white:hover { background-color: #fff9d9; }
  .l-page .c-col__three { display: grid; gap: 1.75em; grid-template-columns: repeat(3,1fr); }
  .l-page .c-col__three .c-title, .sec-onsen__guide .c-column .c-title { font-size: 1.5em; }
  .l-page .c-col__three .c-fdc { gap: .5em; }
  .l-page .c-sec { padding: 5em 0 6.25em; }
  .l-page .c-sec__head p { font-size: 1.25em; }
  .l-page .c-sec__head .c-title { font-size: 3.5em; }
  .l-page .c-sec__head .c-catch { font-size: 2em; }
  .l-mv { background-image: url(../images/bg_mv.jpg); aspect-ratio: 9 / 4; }
  .l-mv__title { width: 70vw; }
  .l-anchor__item + .l-anchor__item::before { bottom: 1.875em; top: 1.875em; }
  .l-anchor__item a { height: 7em; }
  .l-anchor__item span { font-size: 1.25em; }
  .l-anchor__item a:hover span::after { transform: translateY(.25em); }
  .l-anchor__float.is-fixed .l-anchor__item + .l-anchor__item::before { bottom: .75em; top: .75em; }
  .l-anchor__float.is-fixed .l-anchor__item a { height: 4em; }
  .l-anchor__float.is-fixed .l-anchor__item span { font-size: 1em; }
  .sec-intro { padding-top: 5em; }
  .sec-intro__wrap { justify-content: space-between; }
  .sec-intro .c-map { width: 64%; }
  .sec-intro .c-txt { width: 33.4375%; }
  .sec-intro .c-txt img { width: 21.25em; }
  .sec-intro .c-txt p { font-size: 1.25em; padding-top: 2em; text-align: left; }
  .sec-onsen .c-sec__head .c-title { font-size: 4em; }
  .sec-onsen__list { gap: 6.25em; }
  .sec-onsen__item { padding-top: 2.5em; }
  .sec-onsen__guide { margin: 2.5em auto 0; }
  .sec-onsen__guide .c-column { padding: 2em; }
  .sec-onsen__guide .c-column__point { padding-left: 13.125em; }
  .sec-onsen__guide .c-column__point::before { left: 1.5em; top: -1.375em; width: 10.25em; }
  .sec-onsen__guide .c-column__point .c-pic { width: 18.75em; }
  .sec-onsen__guide .c-column__point .c-txt { flex: 1; padding-left: 2em; }
  .sec-onsen__spot:has(> .sec-onsen__spot--item:nth-child(2):last-child) { grid-template-columns: repeat(2, 1fr); margin: 2em auto 0; width: calc(calc(calc(100% - 3.5em) / 3)*2 + 1.75em); }
  .sec-onsen__spot:has(> .sec-onsen__spot--item:nth-child(3):last-child) { grid-template-columns: repeat(3, 1fr); }
  .sec-other__list, .sec-sweets__wrap, .sec-pool__list { padding-top: 3.5em; }
  .sec-other__item { gap: 3em; }
  .sec-other__item .c-pic { width: 30.5em; }
  .sec-other__item .c-txt { flex: 1; }
  .sec-other__item .c-txt .c-title + p { padding-top: 1em; }
}

@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 !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; }
  .l-page h1 { margin-bottom: 20px; padding: 0 1%; }
  .l-page p { font-size: 1.25em; }
  .l-page .c-btn__block { flex-direction: column; gap: 1em; }
  .l-page .c-btn { height: 5em; }
  .l-page .c-btn::after { font-size: 1.25em; }
  .l-page .c-btn span { font-size: 1.25em; }
  .l-page .c-col__three .c-title, .sec-onsen__guide .c-column .c-title { font-size: 1.75em; }
  .l-page .c-col__three .c-fdc { gap: .25em; }
  .l-page .c-column__point::before { top: -.75em; width: 5.5em; }
  .l-page .c-sec { padding: 3em 0 4em; }
  .l-page .c-sec__head .c-title { font-size: 3em; line-height: 1.3; }
  .l-page .c-sec__head .c-catch { font-size: 2em; }
  .l-mv { background-image: url(../images/bg_mv_sp.jpg); aspect-ratio: 3 / 2; }
  .l-mv__title { width: 72%; }
  .l-anchor { height: 4em; }
  .l-anchor__float .c-inner { width: 100%; }
  .l-anchor__list { justify-content: space-between; }
  .l-anchor__item { width: 100%; }
  .l-anchor__item + .l-anchor__item::before { bottom: .75em; top: .75em; }
  .l-anchor__item a { height: 4em; }
  .l-anchor__item span { font-size: .875em; }
  .sec-intro { padding-top: 3em; }
  .sec-intro__wrap, .sec-other__item { flex-direction: column; }
  .sec-intro .c-txt { padding-top: 1.5em; }
  .sec-intro .c-txt img { width: 62%; }
  .sec-intro .c-txt p { padding-top: 1.5em; }
  .sec-onsen__list { gap: 4em; }
  .sec-onsen__guide { margin: 4em auto 0; }
  .sec-onsen__guide .c-column { padding: 2em 1.5em; }
  .sec-onsen__guide .c-column__howto p { text-align: justify; }
  .sec-onsen__guide .c-column__howto p + p { text-align: right; }
  .sec-onsen__guide .c-column__howto p br { display: none; }
  .sec-onsen__guide .c-column__point { flex-direction: column; }
  .sec-onsen__guide .c-column__point::before { left: .5em; }
  .sec-other__list, .sec-sweets__wrap, .sec-pool__list { padding-top: 3em; }
  .sec-sweets__list, .sec-pool__list { display: flex; flex-direction: column; gap: 2.5em; }
  .sec-pool__list.c-col__three .c-title { font-size: 1.5em; }
}

/* Slider */
.slick-slider { position: relative; display: block; box-sizing: border-box; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-touch-callout: none; -khtml-user-select: none; -ms-touch-action: pan-y; touch-action: pan-y; -webkit-tap-highlight-color: transparent; }
.slick-list { position: relative; display: block; overflow: hidden; margin: 0; padding: 0; }
.slick-list:focus { outline: none; }
.slick-list.dragging { cursor: pointer; cursor: hand; }
.slick-slider .slick-track, .slick-slider .slick-list { -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0);  -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
.slick-track { position: relative; top: 0; left: 0; display: flex; margin-left: auto; margin-right: auto; }
.slick-track::before, .slick-track::after { display: table; content: ""; }
.slick-track::after { clear: both; }
.slick-loading .slick-track { visibility: hidden; }
.slick-slide { display: none; float: left; height: auto !important; min-height: 1px; }
.slick-slide img { display: block; }
.slick-slide.slick-loading img { display: none; }
.slick-slide.dragging img { pointer-events: none; }
.slick-initialized .slick-slide { display: flex; }
.slick-loading .slick-slide { visibility: hidden; }
.slick-vertical .slick-slide { display: block; height: auto; border: 1px solid transparent; }
.slick-arrow.slick-hidden { display: none; }
.slick-dotted.slick-slider { margin-bottom: 2em; }
.slick-dots { bottom: -2em; display: block; margin: 0; padding: 0; position: absolute; text-align: center; width: 100%; }
.slick-dots li { display: inline-block; height: 1.5em; margin: 0; padding: 0; position: relative; width: 1.5em; }
.slick-dots li button { background-color: transparent; border: 0; color: transparent; display: block; height: 1.5em; line-height: 0; outline: none; width: 1.5em; }
.slick-dots li button:hover, .slick-dots li button:focus { outline: none; }
.slick-dots li button::before { background-color: #ccc; content: ""; border-radius: 100vh; display: inline-block; height: .625em; left: 50%; position: absolute; top: 50%; transform: translate(-50%, -50%); transition: width .4s ease; width: .625em; }
.slick-dots li.slick-active button::before { background-color: #29b1cc; width: 1.5em; }