@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+Antique:wght@400;500;700&family=Zen+Antique&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; speak: none; text-align: center; text-decoration: inherit; text-transform: none; width: 1em; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

.ico-ok:before { content: '\e800'; }
.ico-pin:before { content: '\e801'; }
.ico-pagetop:before { content: '\e802'; }
.ico-arrow:before { content: '\e803'; }
.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 slideShow {
0% { opacity: 0; }
10% { opacity: 1; }
90% { opacity: 1; transform: scale(1); }
100% { opacity: 0; z-index: 0; }
}
@keyframes slideShowImg {
0% { transform: scale(1.2); }
90% {transform: scale(1); }
}
@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: #333; font: 500 16px/1.6 "Zen Kaku Gothic Antique", sans-serif; width: 100%; }
.l-page__wrap { background-color: #f6f3e4; text-align: center; width: 100%; }
.l-page * { box-sizing: border-box; }
.l-page a { color: #333; }
.l-page a, .l-page a img { transition: all .4s ease; }
.l-page button { border: none; cursor: pointer; font-size: 16px; }
.l-page h1 { font-weight: bold; line-height: 1; text-align: left; }
.l-page h2, .l-page h3, .l-page h4 { font-weight: 700; }
.l-page em { font-family: 'Roboto', sans-serif; font-weight: 700; }
.l-page img { display: block; margin: 0 auto; max-width: 100%; }
.l-page p { font-weight: 400; }
.l-page .c-btn__block { padding-top: 1em; }
.l-page .c-btn__block:has(> :nth-child(2):last-child) a { width: calc(50% - .25em); }
.l-page .c-btn { background: linear-gradient(90deg, #d1573f 0%, #e2644b 25%, #e18d52 50%, #e18d52 75%, #e2644b 100%, #d1573f 0%); background-size: 200% 100%; border-radius: .375em; display: inline-grid; place-content: center; position: relative; }
.l-page .c-btn span { color: #fff; font-weight: 700; }
.l-page .c-btn__fill, .l-page .c-btn__gray { height: 3.25em; }
.l-page .c-btn__border::before { background-color: #fff; border-radius: .25em; content: ""; display: block; position: absolute; transition: all .4s ease; width: calc(100% - 2px); }
.l-page .c-btn__border span { background: linear-gradient(90deg, #d1573f 0%, #e2644b 50%, #e18d52 100%); position: relative; -webkit-background-clip: text; -webkit-text-fill-color: transparent; z-index: 2; }
.l-page .c-btn__large::before { inset: 2px; width: calc(100% - 4px); }
.l-page .c-btn__gray { background: #e6e6e6; }
.l-page .c-btn__gray span { color: #333; }
.l-page .c-flex { display: flex; }
.l-page .c-flex__fdc { display: flex; }
.l-page .c-inner { margin: 0 auto; max-width: 1236px; width: 89%; }
.l-page .c-lead { margin: 0 auto; max-width: 556px; text-align: justify; }
.l-page .c-note { font-size: .875em; margin-top: 4em; }
.l-page .c-pic { position: relative; }
.l-page .c-pic small { bottom: .75em; font-weight: 700; position: absolute; right: .8125em; text-align: right; text-shadow: 1px 1px 1px #fff, -1px 1px 1px #fff, 1px -1px 1px #fff, -1px -1px 1px #fff; width: calc(100% - 1.625em); }
.l-page .c-sec:nth-child(even) { background-color: #ede9d5; }
.l-page .c-sec__head { padding-bottom: 3em; }
.l-page .c-sec__head .c-sec__title { margin-top: .25em; }
.l-page .c-sec__head .c-sec__title + p { margin-top: 2em; }
.l-page .c-sec__head--img { margin: 0 auto; }
.l-page .is-animated { animation: .8s slide-in-up; display: block; }
.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; }
.is-fixed { left: 0; position:fixed !important; top: 0; z-index: 99; width: 100%; }

.l-mv { position: relative; width: 100vw; }
.l-mv::after { content: ""; display: block; position: absolute; z-index: 20; }
.l-mv__title { left: 50%; position: absolute; translate: -50% 0; z-index: 11; }
.l-mv__pic { overflow: hidden; position: relative; width: 100%; }
.l-mv__slide { animation: slideShow 30s infinite 0s; background: no-repeat 50% 50% / cover; height: 100%; inset: 0; opacity: 0; position: absolute; width: 100%; z-index: 10; }
.l-mv__slide:nth-of-type(2), .l-mv__slide:nth-of-type(2) img { animation-delay: 10s; }
.l-mv__slide:nth-of-type(3), .l-mv__slide:nth-of-type(3) img { animation-delay: 20s; }
.l-mv__slide img { animation: slideShowImg 30s infinite 0s; }
.l-mv__slide small { color: #fff; filter: drop-shadow(0 0 .5em rgba(0,0,0,.6)); left: 1em; position: absolute; }
.l-mv__nav { position: absolute; z-index: 21; }
.l-mv__nav a { padding: 0 1em; }
.l-mv__nav a span::after { content: "\f105"; display: inline-block; font-family: "icon"; padding-left: .5em; }
.l-anchor__list, .select-departure__panel { display: flex; }
.l-anchor__list { justify-content: space-between; }
.l-anchor__item { width: 25%; }
.l-anchor__item a, .select-departure__panel li { background: linear-gradient(180deg, #fff 0%, #fff 50%, #fff 100%); border-bottom: .375em solid #e2644b; cursor: pointer; display: grid; font-weight: 700; place-content: center; transition: all .4s ease; }
.l-anchor__item a { height: 4.75em; }
.l-anchor__item a::after, .select-departure__panel li::after { color: #e2644b; content: "\e803"; display: block; font-family: "icon"; line-height: 1; }

.sec-matsuri { background: url(../images/bg_sec_matsuri.png) repeat 50% 0; }
.sec-matsuri .c-local__nav { display: flex; justify-content: center; }
.sec-matsuri .c-local__nav a { aspect-ratio: 113 / 85; background-color: #fff; border: 1px solid; border-radius: .625em; display: grid; place-content: center; position: relative; }
.sec-matsuri .c-local__nav a::after { content: "\e803"; display: block; font-family: "icon"; line-height: 1; transform: translateY(.5em); }
.sec-matsuri .c-local__nav a span { font-family: "Zen Antique", serif; }
.sec-matsuri .c-local__nav .c-season__img { left: 50%; position: absolute; top: 0; translate: -50% -67.5%; }
.sec-matsuri .c-local__nav .c-color__spring { border-color: #e07c87; }
.sec-matsuri .c-local__nav .c-color__spring::after { color: #e07c87; }
.sec-matsuri .c-local__nav .c-color__summer { border-color: #e2c227; }
.sec-matsuri .c-local__nav .c-color__summer::after { color: #e2c227; }
.sec-matsuri .c-local__nav .c-color__autumn { border-color: #d67f15; }
.sec-matsuri .c-local__nav .c-color__autumn::after { color: #d67f15; }
.sec-matsuri .c-local__nav .c-color__winter { border-color: #90bdcd; }
.sec-matsuri .c-local__nav .c-color__winter::after { color: #90bdcd; }
.sec-matsuri .c-matsuri__item { display: flex; flex-direction: column; text-align: left; }
.sec-matsuri .c-matsuri__item .c-txt { display: flex; flex-direction: column; gap: .5em; height: 100%; }
.sec-matsuri .c-matsuri__item .c-txt p { margin-bottom: auto; }
.sec-matsuri .c-matsuri__item .c-head { display: flex; }
.sec-matsuri .c-matsuri__item .c-head .ico-pin:before { color: #1d618d; }
.sec-matsuri .c-matsuri__item .c-head .c-label { background: linear-gradient(90deg, #d1573f 0%, #e2644b 50%, #e18d52 100%); border-radius: 100vh; display: inline-grid; margin-left: 1em; place-content: center; padding: 0 .5em; position: relative; }
.sec-matsuri .c-matsuri__item .c-head .c-label::before { background-color: #fff; content: ""; border-radius: 100vh; display: block; inset: 1px; position: absolute; width: calc(100% - 2px); }
.sec-matsuri .c-matsuri__item .c-head .c-label span { background: linear-gradient(180deg, #d1573f 0%, #e2644b 50%, #e18d52 100%); font-size: .875em; position: relative; -webkit-background-clip: text; -webkit-text-fill-color: transparent; z-index: 2; }
.sec-matsuri .c-matsuri__item .c-txt h4 { line-height: 1; padding-bottom: .25em; }
.sec-matsuri .c-matsuri__item .c-data { align-items: baseline; flex-wrap: wrap; }
.sec-matsuri .c-matsuri__item .c-data dt { background-color: #e2644b; border-radius: .25em; color: #fff; display: grid; place-content: center; }
.sec-matsuri .c-matsuri__item .c-btn { width: 100%; }
.sec-matsuri .c-matsuri__item .c-btn__border { height: calc(3.25em + 2px); }
.sec-matsuri .c-matsuri__item .c-btn__border::before { inset: 1px; }
.sec-matsuri .c-season__head h3 em { font-size: 1.2em; }
.sec-matsuri .c-season__spring .c-season__head h3 em { color: #e07c87 }
.sec-matsuri .c-season__summer .c-season__head h3 em { color: #e2c227 }
.sec-matsuri .c-season__autumn .c-season__head h3 em { color: #d67f15 }
.sec-matsuri .c-season__winter .c-season__head h3 em { color: #90bdcd }
.sec-matsuri .c-box__extra { background-color: #fff; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); position: relative; }
.sec-matsuri .c-box__extra::before { background: url(../images/pic_extra_left.png) no-repeat 0 0, url(../images/pic_extra_right.png) no-repeat 100% 0; content: ""; display: block; left: 50%; position: absolute; translate: -50% 0; }
.sec-matsuri .c-box__extra * { position: relative; z-index: 1; }
.sec-matsuri .c-box__extra .c-box__title { font-weight: 700; }
.sec-matsuri__season--list { display: flex; flex-direction: column; }
.sec-blog .c-entry__item p { padding-top: .5em; text-align: left; }
.sec-recommend__item a { display: block; margin-bottom: .5em; }
.sec-recommend__item img { margin: 0; width: 100%; }
.sec-faq__list { display: flex; flex-direction: column; gap: 1em; }
.sec-faq__item { background-color: #fff; text-align: left; }
.sec-faq__item--q, .sec-faq__item--a { position: relative; }
.sec-faq__item--q::before, .sec-faq__item--a::before { background: linear-gradient(180deg, #d1573f 0%, #e2644b 50%, #e18d52 100%); line-height: 1; position: absolute; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.sec-faq__item--q::before { content: "Q." }
.sec-faq__item--a::before { content: "A." }
.sec-recommendtour { padding-bottom: 0 !important; }
.select-departure__input { display: none; }
.select-departure__panel { justify-content: center; }
.select-departure__panel li.is-active { background: linear-gradient(180deg, #d1573f 0%, #e2644b 50%, #e18d52 100%); color: #fff; }
.select-departure__panel li.is-active::after { color: #fff; }
.ly_grid { display: flex; }
.ly_grid + p { font-size: .875em; margin-top: 2em; }
.ly_grid__item { background-color: #fff; transition: all .4s ease; }
.ly_grid__item a { display: flex; flex-direction: column; height: 100%; }
.plan__item-images figure { margin: 0; position: relative; width: 100%; }
.plan__item-area figcaption { bottom: .5em; font-size: .6125em; font-weight: 700; position: absolute; right: .5em; text-shadow: 1px 1px 1px #fff, -1px 1px 1px #fff, 1px -1px 1px #fff, -1px -1px 1px #fff; }
.plan__item-destination { display: flex; gap: .5em; padding: .75em 1.25em 0; }
.esplan__item-detail-icon li { background-color: #eaf0f7; border-radius: .625em; display: inline-grid; font-size: 1.4rem; height: 1.75em; line-height: 1; padding: 0 .5em; place-content: center; position: relative; }
.plan__item-detail { display: flex; flex-direction: column; gap: .5em; height: 100%; padding: .75em 1.25em 1.25em; text-align: left; }
.plan__item-lead { margin-bottom: auto; }
.plan__item-note { font-size: 1.2rem; font-weight: 500; text-align: center; }
.plan__item-price { color: #e2644b; text-align: center; }
p.plan__item-title { font-size: 1.25em; font-weight: 700; }
.ranking__bt a { background: linear-gradient(90deg, #d1573f 0%, #e2644b 50%, #e18d52 100%); border-radius: .5em; display: inline-grid; place-content: center; position: relative; }
.ranking__bt a::before { background-color: #fff; border-radius: .375em; content: ""; display: block; inset: 2px; position: absolute; transition: all .4s ease; width: calc(100% - 4px); }
.ranking__bt a span { background: linear-gradient(90deg, #d1573f 0%, #e2644b 50%, #e18d52 100%); font-weight: 700; position: relative; -webkit-background-clip: text; -webkit-text-fill-color: transparent; z-index: 2; }
.ranking__bt a span::before, .ranking__bt a span::after, .l-page .c-btn__large span::before, .l-page .c-btn__large span::after { aspect-ratio: 144 / 55; background: url(../images/pattern_btn.png) no-repeat 50% 50% / cover; content: ""; display: inline-block; }
.htl-sitemap { margin-top: 0 !important; }
.recommend-sect__inner > div { display: none; }
.search-tab__list li a { background: linear-gradient(180deg, #d1573f 0%, #e2644b 50%, #e18d52 100%); border-color: #d1573f; }
.search-tab__list li a.active { background: #fff; border-image: linear-gradient(to bottom, #d1573f, #e2644b, #e18d52) 1; }
.search-tab__list li a.active .search-tab-bt { background: linear-gradient(180deg, #d1573f 0%, #e2644b 50%, #e18d52 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.kkrs-top-search-section .kkrs-top-search-submit-btn, .hotel-tabbox .f-top-search-row__col .f-button--cta { background: linear-gradient(90deg, #d1573f 0%, #e2644b 50%, #e18d52 100%) !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 { position: relative; }
  .l-page a:hover img { opacity: .7; }
  .l-page h1 { background-color: rgba(0,0,0,.5); border-radius: .25em; color: #fff; display: inline-grid; font-size: 1.125em; left: .8rem; line-height: 1; place-content: center; padding: .8rem; position: absolute; top: .4rem; z-index: 30; }
  .l-page .c-btn__fill:hover { background-position: 100% 0; }
  .l-page .c-flex__fdc { flex-wrap: wrap; justify-content: space-between; }
  .l-page .c-lead { padding: 7em 0 3em; }
  .l-page .c-note { text-align: right; }
  .l-page .c-pic small { font-size: .625em; }
  .l-page .c-sec { padding: 5em 0; }
  .l-page .c-sec__head .c-sec__title { font-size: 2.5em; }
  .l-page .c-sec__head--img { width: 16.625em; }
  .l-mv::after { background: url(../images/bg_mv_left.png) no-repeat 0 50%, url(../images/bg_mv_right.png) no-repeat 100% 50%; background-size: auto 96%; height: calc(100% - 3em); inset: 1.5em; width: calc(100% - 3em); }
  .l-mv__title { bottom: -3.8889vw; width: 49.3056%; }
  .l-mv__pic { aspect-ratio: 32 / 13; }
  .l-mv__slide small { bottom: 1em; }
  .l-mv__nav { bottom: 1.5em; right: 2.5em; }
  .l-mv__nav .c-btn__fill { height: 2.75em; }
  .l-anchor__item a:hover { background: linear-gradient(180deg, #d1573f 0%, #e2644b 50%, #e18d52 100%); color: #fff; }
  .l-anchor__item a:hover::after { color: #fff; }
  .is-fixed .l-anchor__item a { height: 4em; }
  .sec-matsuri { background-size: 100% auto; }
  .sec-matsuri .c-local__nav { gap: 1.25em; margin-top: 2.5em; }
  .sec-matsuri .c-local__nav a { width: 14.25em; }
  .sec-matsuri .c-local__nav a span { font-size: 4em; }
  .sec-matsuri .c-local__nav .c-color__spring:hover { background-color: #e89da5; }
  .sec-matsuri .c-local__nav .c-color__summer:hover { background-color: #e9d15d; }
  .sec-matsuri .c-local__nav .c-color__autumn:hover { background-color: #e09f50; }
  .sec-matsuri .c-local__nav .c-color__winter:hover { background-color: #acceda; }
  .sec-matsuri .c-local__nav a:hover span, .sec-matsuri .c-local__nav a:hover::after { color: #fff; }
  .sec-matsuri .c-local__nav a:hover img { opacity: 1; }
  .sec-matsuri .c-matsuri__list { display: grid; gap: 2.625em; grid-template-columns: repeat(3 , 1fr); }
  .sec-matsuri .c-matsuri__item { gap: .75em; }
  .sec-matsuri .c-matsuri__item .c-txt h4 { font-size: 1.5em; }
  .sec-matsuri .c-matsuri__item .c-data dt { margin: .2rem 0; width: 5.5em; }
  .sec-matsuri .c-matsuri__item .c-data dd { font-size: 1.125em; margin: .2rem 0; padding-left: .75em; width: calc(100% - 8.8rem); }
  .sec-matsuri .c-season__head { padding-bottom: 2.5em; }
  .sec-matsuri .c-season__head h3 { font-size: 2.5em; }
  .sec-matsuri .c-season__img { width: 7.25em; }
  .sec-matsuri .c-box__extra { margin-bottom: 4em; padding: 3.75em; }
  .sec-matsuri .c-box__extra::before { background-size: auto 100%; height: 13.875em; top: -2.5em; width: 86%; }
  .sec-matsuri .c-box__extra .c-box__title { font-size: 2em; }
  .sec-matsuri .c-box__extra .c-matsuri__list { margin-top: 2em; padding-bottom: 4em; }
  .sec-matsuri__season--list { gap: 5em; margin-top: 6.25em; }
  .sec-blog .c-entry__list { display: flex; gap: 3em; justify-content: center; }
  .sec-blog .c-entry__item { width: 20em; }
  .sec-recommend__list { display: grid; gap: 3em 4em; grid-template-columns: repeat(auto-fit, minmax(218px, 1fr)); }
  .sec-faq__item { padding: 2.5em; }
  .sec-faq__item--q, .sec-faq__item--a { padding-left: 4rem; }
  .sec-faq__item--q { font-size: 2rem; }
  .sec-faq__item--q::before, .sec-faq__item--a::before { font-size: 2.5rem; left: 0; }
  .sec-faq__item--a { padding-top: 1em; }
  .ly_grid { gap: 2.5em; flex-wrap: wrap; }
  .ly_grid__item { width: calc(calc(100% - 5em) / 3); }
  .ly_grid__item:hover { transform: scale(1.05); }
  .select-departure__panel li { height: 4.75em; width: calc(100% / 5); }
  .select-departure__panel li:hover { padding-top: .4em; }
  .plan__item-price { font-size: 1.8056vw; }
  .ranking__bt { margin-top: 3.5em; }
  .ranking__bt a, .l-page .c-btn__large { height: 7.6rem; min-width: 576px; padding: 0 8rem; }
  .ranking__bt a span, .l-page .c-btn__large span { font-size: 1.5em; }
  .ranking__bt a span::before, .ranking__bt a span::after, .l-page .c-btn__large span::before, .l-page .c-btn__large span::after { width: 3em; }
  .ranking__bt a span::before, .l-page .c-btn__large span::before { margin-right: 1.5em; }
  .ranking__bt a span::after, .l-page .c-btn__large span::after { margin-left: 1.5em; }
  .ranking__bt a:hover::before, .l-page .c-btn__border:hover::before { background-color: rgba(255,255,255,0); }
  .ranking__bt a:hover span, .l-page .c-btn__border:hover span { background: linear-gradient(180deg, #fff 0%, #fff 50%, #fff 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
  .htl-sitemap { padding: 3.125em 0; text-align: left; }
  .htl-sitemap_dl { display: flex; flex-wrap: wrap; min-width: 970px; max-width: 1246px; padding: 0 .375em; }
  .htl-sitemap_dl dt {  width: 12rem; }
  .htl-sitemap_dl dd { width: calc(100% - 12rem); }
  .htl-sitemap_dl dt:not(:first-of-type), .htl-sitemap_dl dd:not(:first-of-type) { margin-top: 2rem; }
  .htl-sitemap_list { margin: -1rem 0 0 0; }
  .htl-sitemap_list li { margin: 1rem 0 0 1rem; padding-left: 1rem; border-left: dotted 1px #ccc; }
  .search-tab__list li a:not(.active):hover { border-color: #d1573f; }
}

@media screen and (min-width:768px) and ( max-width:1280px) {
  .l-page { font-size: 1.25vw; margin: 0; }
  .plan__item-price { font-size: 1.8056vw; }
}
@media screen and (min-width:1356px){
  .sec-matsuri .c-box__extra { margin: 0 -3.75em 4em; }
}
@media screen and (min-width:1281px){
  .plan__item-price { font-size: 1.625em; }
}

@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; 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 { font-size: 13px; margin-bottom: 20px; padding: 0 1%; }
  .l-page .c-btn span { font-size: 1.25em; }
  .l-page .c-flex__fdc { flex-direction: column; }
  .l-page .c-lead { margin: 0 auto; padding: 4em 0 2em; width: 89%; }
  .l-page .c-note { text-align: left; }
  .l-page .c-sec { padding: 3.5em 0; }
  .l-page .c-sec__head .c-sec__title { font-size: 2.25em; line-height: 1.4; }
  .l-page .c-sec__head--img { width: 50%; }

  .l-mv::after { background: url(../images/bg_mv_left-sp.png) no-repeat 0 50%, url(../images/bg_mv_right-sp.png) no-repeat 100% 50%; background-size: auto 90%; height: calc(100% - 1em); inset:.5em; width: calc(100% - 1em); }
  .l-mv__title { bottom: -7.8vw; width: 76%; }
  .l-mv__pic { aspect-ratio: 4 / 3; }
  .l-mv__slide img { height: 100%; object-fit: cover; }
  .l-mv__slide small { font-size: .75em; top: 0; }
  .l-mv__nav { right: .5em; top: .5em; }
  .l-mv__nav .c-btn__fill { height: 2.25em; }
  .l-mv__nav .c-btn span { font-size: .875em; }
  .l-anchor__item a { padding-bottom: .25em; position: relative; }
  .l-anchor__item a::after { bottom: 0; left: 50%; position: absolute; translate: -50% 0; }
  .l-anchor__item a span { line-height: 1.3; }
  .is-fixed .l-anchor__list { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
  .is-fixed .l-anchor__item a { height: 4em; padding-bottom: .5em; }
  .sec-matsuri { background-size: 200% auto; }
  .sec-matsuri .c-local__nav { gap: .5em;  }
  .sec-matsuri .c-local__nav a { aspect-ratio: 1 / 1; width: calc(calc(100% - 1.5em) / 4); }
  .sec-matsuri .c-local__nav a span { font-size: 2.625em; line-height: 1; }
  .sec-matsuri .c-local__nav .c-season__img { width: 75%; }
  .sec-matsuri .c-matsuri__list { gap: 4em; }
  .sec-matsuri .c-matsuri__item .c-txt { margin-top: .75em; }
  .sec-matsuri .c-matsuri__item .c-txt h4 { font-size: 2em; }
  .sec-matsuri .c-matsuri__item .c-head { font-size: 1.25em; }
  .sec-matsuri .c-matsuri__item .c-data { gap: .375em 0; margin-top: .5em; }
  .sec-matsuri .c-matsuri__item .c-data dt { font-size: clamp(1rem, 0.881rem + 0.51vw, 1.125rem); height: 2em; width: 5.5em; }
  .sec-matsuri .c-matsuri__item .c-data dd { font-size: 1.125em; line-height: 1.4; padding-left: .75em; width: calc(100% - 5em); }
  .sec-matsuri .c-matsuri__item .c-txt p, .sec-blog .c-entry__item p { font-size: 1.5rem; }
  .sec-matsuri .c-season__head { padding-bottom: 2em; }
  .sec-matsuri .c-season__head h3 { font-size: 2em; }
  .sec-matsuri .c-season__img { width: 5.25em; }
  .sec-matsuri .c-box__extra { padding: 2em 5.5% 3em; margin-bottom: 3em; }
  .sec-matsuri .c-box__extra::before { background-size: 30% auto; height: 13.875em; top: -1.5em; width: 100%; }
  .sec-matsuri .c-box__extra .c-box__title { font-size: 1.75em; }
  .sec-matsuri .c-box__extra .c-matsuri__list { margin-top: 2em; padding-bottom: 3em; }
  .sec-matsuri__season--list { gap: 4em; margin-top: 2.5em; }
  .sec-blog .c-entry__list { gap: 2.5em; }
  .sec-recommendtour { padding-top: 2em !important; }
  .sec-recommend__list { display: grid; gap: 1em; grid-template-columns: repeat(2, 1fr); }
  .sec-faq__item { padding: 1.5em; }
  .sec-faq__item--q, .sec-faq__item--a { padding-left: 2.5rem; }
  .sec-faq__item--a { padding-top: 1em; }
  .sec-faq__item--q::before, .sec-faq__item--a::before { font-size: 1.5rem; left: 0; }
  .ly_grid { flex-direction: column; gap: 2em; }
  .select-departure__panel li { height: 3.75em; width: 100%; }
  .plan__item-lead { font-size: 1.5rem; }
  .plan__item-price { font-size: 6.5vw; }
  .ranking__bt { margin-top: 2em; }
  .ranking__bt a, .l-page .c-btn__large { font-size: 1.25em; height: 3.8em; width: 100%; }
  .ranking__bt a span::before, .ranking__bt a span::after, .l-page .c-btn__large span::before, .l-page .c-btn__large span::after { width: 2em; }
  .ranking__bt a span::before, .l-page .c-btn__large span::before { margin-right: .75em; }
  .ranking__bt a span::after, .l-page .c-btn__large span::after { margin-left: .75em; }
  .htl-sitemap { margin-top: 2em; }
  .htl-sitemap_dl dt { padding: 1em 2em 1em 1em; text-align: left; }
  .htl-sitemap_dl dt:not(:first-of-type) { border-top: solid 1px #eee; }
  .htl-sitemap_dl dd { display: none; }
  .htl-sitemap_list { margin-right: .3rem; }
  .htl-sitemap_list li { margin: .3rem 0 0 .3rem; width: calc(100% / 2 - .3rem); }
  .htl-sitemap_list li a { display: flex; align-items: center; padding: .5rem 1rem; min-height: 50px; height: 100%; line-height: 1.3; border-radius: .3rem; background: #fff; text-align: left; }
  .js-accordion-sp { position: relative; }
  .js-accordion-sp a { pointer-events: none; }
  .js-accordion-sp:after { position: absolute; right: 1.5rem; top: 1rem; content: "\f107"; display: inline-block; font-family: "icon"; transition: all .2s ease; font-size: 1.8rem; }
  .js-accordion-sp.is-open:after { transform: rotateZ(-180deg); }
  .search-tab { padding-top: 0; }
}
