@import url('https://fonts.googleapis.com/css2?family=Kaisei+Opti:wght@700&family=Montserrat:wght@500&family=Zen+Maru+Gothic: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-right-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'; }


.jtb-nav-breadcrumb { margin-bottom: 25px; max-width: 1280px; }
.l-page { font-family: "Zen Maru Gothic", serif; font-weight: 500; 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; width: 100%; }
.l-page .c-bnr { margin-bottom: clamp(2rem, 0.84rem + 4.95vw, 4.8rem); }
.l-page .c-btn__block { display: flex; }
.l-page .c-btn { background: #b0a890 url(../img/bg_btn_sakura.png) no-repeat 1.5em 50% / 1.125em auto; border-radius: .25em; display: grid; place-content: center; position: relative; }
.l-page .c-btn::after { color: #ffcacb; content: "\f105"; display: inline-block; font-family: "icon"; font-size: 1.5em; position: absolute; right: 1em; top: 50%; translate: 0 -50%; }
.l-page .c-btn span { color: #fff; }
.l-page .c-note { margin-top: 1.5em; text-align: left; }
.l-page .c-catch { font-size: clamp(1.8rem, 1.22rem + 2.48vw, 3.2rem); margin-bottom: .75em; text-align: left; }
.l-page .c-sec__heading { margin-bottom: clamp(2.4rem, 1.074rem + 5.66vw, 5.6rem); }
.l-page .c-sec__heading h2 { font-size: clamp(2.4rem, 1.074rem + 5.66vw, 5.6rem); }
.l-page .c-sec__heading em { color: #ff657d; font-size: .875em; letter-spacing: .4em; }
.l-page .ff-en { font-family: "Montserrat", sans-serif; font-weight: 500; }
.l-page .ff-kso { font-family: "Kaisei Opti", serif; font-weight: 700; }

.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 { position: relative; width: 100%; }
.l-mv__title { filter: drop-shadow(0 0 1em #00474c); left: 50%; position: absolute; top: 50%; translate: -50% -50%; z-index: 1; }
.l-mv__wrap { display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: 36.5% 27% 36.5%; }
.l-mv__wrap::after { background: url(../img/bg_sakura_left.png) no-repeat 0 0, url(../img/bg_sakura_right.png) no-repeat 100% 100%; background-color: rgba(0,71,76,.2); content: ""; inset: 0; position: absolute; width: 100%; }
.l-mv__pic--block:nth-of-type(1) { grid-column: 1 / 3; grid-row: 1 / 3; }
.l-mv__pic--block:nth-of-type(2) { grid-column: 3 / 4; grid-row: 1 / 2; }
.l-mv__pic--block:nth-of-type(3) { grid-column: 4 / 5; grid-row: 1 / 2; }
.l-mv__pic--block:nth-of-type(4) { grid-column: 1 / 2; grid-row: 3 / 4; }
.l-mv__pic--block:nth-of-type(5) { grid-column: 2 / 3; grid-row: 3 / 4; }
.l-mv__pic--block:nth-of-type(6) { grid-column: 3 / 5; grid-row: 2 / 4; }
.l-mv__pic--block img { filter: saturate(140%); height: 100%; object-fit: cover; width: 100%; }
.l-contents { background: #faf8f2 url(../img/bg_sakura.png) no-repeat 50% 5em; }
.l-contents .c-inner { color: #4d493f; display: flex; flex-direction: column; gap: clamp(2.4rem, -1.578rem + 16.97vw, 12rem) 0; margin: 0 auto; max-width: 1280px; width:89%; }
.sec-intro { text-align: left; }
.sec-intro p + p { margin-top: 1.5em; }
.sec-zekkei .c-sec__heading { background: url(../img/fig_sakura.png) no-repeat 90% 40% / 6.625em; margin-left: auto; padding-right: 11.875em; writing-mode: vertical-rl; }
.sec-zekkei .c-sec__heading h2 { line-height: 1.4; text-align: left; }
.c-zekkei__list { display: flex; }
.c-zekkei__item { position: relative; }
.c-zekkei__item .c-label { background-color: #b0a890; border-radius: .625em; color: #fff; display: grid; height: 2.75em; left: 1em; place-content: center; position: absolute; top: -1.375em; width: 8em; }
.c-zekkei__item .c-label { font-size: .875em; }
.c-zekkei__item .c-label em { font-size: 2rem; padding-left: .25em; }
.c-zekkei__item .c-pic { aspect-ratio: 3 / 2; border-radius: .375em; overflow: hidden; width: calc(100% - 1em); }
.c-zekkei__item .c-pic img { height: 100%; object-fit: cover; width: 100%; }
.c-zekkei__item .c-txt { background-color: #fff; border-radius: .375em; margin-left: auto; margin-top: -2em; padding: .875em 1.875em 1.875em 1.875em; position: relative; text-align: left; }
.c-zekkei__item .c-txt h3 { color: #ff8d8e; font-size: clamp(1.8rem, 1.551rem + 1.06vw, 2.4rem); }
.c-zekkei__item .c-txt p { padding-top: .75em; }
.c-sweets__list { display: flex; }
.c-sweets__item { text-align: left; }
.c-sweets__item .c-pic { aspect-ratio: 1 / 1; border-radius: .375em; overflow: hidden; }
.c-sweets__item h3 { color: #ff8d8e; font-size: clamp(1.6rem, 1.434rem + 0.71vw, 2rem); }
.c-sweets__item p { padding-top: .75em; }
.sec-course { background: url(../img/fig_mountain.png) no-repeat 100% 0 / 40.625% auto; }
.sec-course .c-sec__heading { text-align: left; }
.c-table { display: flex; }
.c-table li { display: flex; }
.c-table li p { align-items: center; background-color: #fff; display: flex; flex: 1; padding: 0 1em; }
.c-table li span { align-items: center; background-color: #e8e3d2; display: flex; justify-content: center; width: 32%; }
.c-table li span sup { font-size: .75em; vertical-align: super; }
.c-access__wrap { background: url(../img/fig_onsen.png) no-repeat 100% 0 / 6em auto; }
.c-access__wrap p + p { margin-top: 2em; }


@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-page a:hover img { opacity: .7; }
  .l-page .c-btn__block { gap: 1.5em; justify-content: center; margin-top: 3.5em;}
  .l-page .c-btn { height: 5em; width: 21.75em; }
  .l-page .c-btn:hover { background-color: #ff8d8e; }
  .l-page .c-btn span { font-size: 1.5em; }
  .l-mv__wrap::after { background-size: 28em auto; }
  .l-mv__title { width: 51.25em; }
  .l-mv__wrap { height: 42.125em; }
  .l-contents { background-size: 87.5em auto; }
  .l-contents .c-inner { padding: 5em 0; }
  .sec-intro p { font-size: 1.125em; }
  .c-zekkei__list { flex-wrap: wrap; gap: 3em 2em; justify-content: space-between; }
  .c-zekkei__item { width: calc(50% - 1em); }
  .c-zekkei__item:nth-child(odd) { translate: 0 -8.75em; }
  .c-zekkei__item .c-txt { min-height: 10.625em; width: 72%; }
  .c-sweets__list { flex-wrap: wrap; gap: 1.5625em; }
  .sec-sweets .c-sec__heading { background: url(../img/bg_sweets_heading_left.png) 0 0 / 10.375em auto, url(../img/bg_sweets_heading_center.png) 50% 0 / 25em auto, url(../img/bg_sweets_heading_right.png) 100% 0 / 10.375em auto; background-repeat: no-repeat; display: inline-block; padding: 5em 6.75em 0; }
  .c-sweets__item { width: calc(calc(100% - 3.125em) / 3); }
  .c-table { flex-wrap: wrap; gap: .75em .5em; justify-content: space-between; }
  .c-table li { justify-content: space-between; width: calc(50% - .375em); }
  .c-table li p, .c-table li span { font-size: 1.25em; height: 5rem; }
}

@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 .c-btn__block { flex-direction: column; gap: .5em; margin-top: 3em; }
  .l-page .c-btn { height: 3.5em; width: 100%; }
  .l-page .c-btn span { font-size: 1.125em; }
  .l-mv__wrap::after { background-size: 34% auto; }
  .l-mv__title { width: 75%; }
  .l-contents .c-inner { padding: 3em 0; }
  .c-zekkei__list { flex-direction: column; gap: 2em; }
  .c-zekkei__item .c-txt { width: 88%; }
  .sec-sweets .c-sec__heading { background: url(../img/bg_sweets_heading_left.png) 0 0 / 5em auto, url(../img/bg_sweets_heading_center.png) 50% 0 / 20em auto, url(../img/bg_sweets_heading_right.png) 100% 0 / 5em auto; background-repeat: no-repeat; padding-top: 3.5em; }
  .c-sweets__list { flex-direction: column; gap: 2em; }
  .c-table { flex-direction: column; gap: .25em; }
  .c-table li span { height: 2.5em;}
}
