/*  リセットCSS
============================================================================= */
html { -webkit-text-size-adjust: 100%; font-size: 62.5%; scroll-behavior: smooth; }
body { font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; color: #432c02; font-feature-settings: "palt"; line-height: 1.5; letter-spacing: .1em; }
body * { box-sizing: border-box; }
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td, figure { margin: 0; padding: 0; }
ol, ul, li { list-style: none; }
img { width: 100%; height: auto; }
em { font-style: normal; }
@media screen and (min-width: 769px) {
	body { font-size: 1.6rem; }
	.pc-none { display: none; }
}
@media screen and (max-width: 768px) {
	body { font-size: 1.2rem; }
	.sp-none { display: none; }
}

/*  ぱんくず
============================================================================= */
@media screen and (min-width: 769px) {
    .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; }
}
@media screen and (max-width:768px){
	.breadcrumb-upper { position: relative; display: flex; flex-wrap: nowrap; overflow: hidden; background-color: #fff; border-top: 1px solid #d7d7d7; font-size: 10px; line-height: 3rem; }
	.breadcrumb-upper__fix { position: relative; width: 7em; transition: box-shadow .4s; box-shadow: 6px 0 10px 0 rgba(0, 0, 0, .3); z-index: 3; }
	.breadcrumb-upper__fix a { padding-left: .5rem; }
	.breadcrumb-upper__fix a, .breadcrumb-upper__item a { position: relative; display: block; background-color: #fff; text-align: center; }
	.breadcrumb-upper__fix a::before, .breadcrumb-upper__item a::before, .breadcrumb-upper__fix a:after, .breadcrumb-upper__item a:after { position: absolute; content: ""; border-style: solid; border-width: 2rem 0 2rem 1rem; 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; }
	.breadcrumb-upper__item a { padding: 0 .5rem 0 1.8rem; }
	.breadcrumb-upper__item:last-child { padding: 0 1.2rem 0 1.8rem; }
	.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; }
}

/*  共通
============================================================================= */
.l-page { background-color: #fffbf7; }
.l-page h1 { font-weight: bold; background-color: #fff; }
.in-wrapper { position: relative; margin: 0 auto; width: 100%; }
h3 { font-weight: bold; }
a, a:link, a:visited { color: #432c02; text-decoration: none; }
.m-ico { display: inline-flex; align-items: center; vertical-align: middle; font-style: normal; font-weight: 400; }
.m-ico::before { position: relative; font-family: 'Material Icons Round'; content: attr(data-icon); top: -1px; }
figure { position: relative; }
figcaption { position: absolute; right: 8px; bottom: 4px; color: #fff; font-size: 1.2rem; text-shadow: 0 0 2px rgb(0 0 0 / 80%), 0 0 2px rgb(0 0 0 / 80%);}
@media screen and (min-width: 769px) {
	.pc-none { display: none; }
	.in-wrapper { padding: 0 5px; min-width: 970px; max-width: 1246px; }
	.sect { padding: 50px 0; }
	.l-page h1 { font-size: 1.8rem; margin: 0 auto; padding-bottom: 5px; max-width: 1236px; }
	.l-page h3 { padding-top: 60px; }
	.l-page a, .l-page a img { transition: all .4s ease; }
	.l-page a:hover { opacity: .8; }
	.l-page p, .l-page span { font-size: 1.3rem; }
}
@media screen and (max-width:768px){
	.sp-none { display: none; }
	.in-wrapper { padding: 0 24px; }
	.sect { padding: 30px 0; }
	.l-page h1 { font-size: 1.8rem; margin: 16px 0 0 5px; padding-bottom: 8px; }
	.l-page h3 { padding-top: 40px; }
}

/*  ナビゲーション
============================================================================= */
.main-anchor { display: flex; }
.main-anchor li { position: relative; width: 100%; }
.main-anchor li:not(:first-child)::before { content: ""; position: absolute; top: 50%; left: 0; display: inline-block; width: 1.6px; height: calc(100% - 10px); transform: translateY(-50%); background: #406634; }
.main-anchor li a { display: flex; justify-content: center; text-align: center; line-height: 1.3; }
.main-anchor li a span { color: #254219; font-weight: 600; }
.icon { object-fit: cover; }
.main-anchor.is-fixed { position: fixed; top: 0; left: 0; right: 0; z-index: 10; background-color: #fff; }
@media screen and (min-width: 769px) {
	.main-anchor { justify-content: center; }
	.main-anchor li a { padding: 16px 24px; } 
	.icon { width: auto; height: 30px; padding-right: .8em; }
}
@media screen and (max-width: 768px) {
	.main-anchor { padding: 0 !important; }
	.main-anchor li a { flex-direction: column; padding: 0 4px; }
	.icon { width: 30px; height: auto; padding: .5em 0; margin: 0 auto; }
}

/*  タイトル
============================================================================= */
#infomation,#calendar,#catalog { margin-top: 60px; }
#theme, #brand, #area, #escort-cms, #search, #hint { scroll-margin-top: 80px; }
#onsen, #dogrun, #meal, #cottage, #hotel, #omo, #paradise, #regina, #kyoritsu, #mercure, #area01, #area02, #area03 { scroll-margin-top: 100px; }
.sect-ttl { text-align: center; font-weight: bold; margin-top: .8rem; margin-bottom: 1em; }
#calendar::before { background: url(../_images/illustration/illust_dog-girl.png) center / 100% auto no-repeat; content: ""; display: block; margin: 60px auto 0; }
#theme::before { background: url(../_images/illustration/illust_cat-dog.png) center / 100% auto no-repeat; content: ""; display: block; margin: 60px auto 0; }
#brand::before { background: url(../_images/illustration/illust_dog-person.png) center / 100% auto no-repeat; content: ""; display: block; margin: 60px auto 0; }
#area::before { background: url(../_images/illustration/illust_cat-person.png) center / 100% auto no-repeat; content: ""; display: block; margin: 60px auto 0; }
#catalog::before { background: url(../_images/illustration/illust_dog-boy.png) center / 100% auto no-repeat; content: ""; display: block; margin: 60px auto 0; }
#escort-cms::before { background: url(../_images/illustration/illust_dogs-family.png) center / 100% auto no-repeat; content: ""; display: block; margin: 60px auto 0; }
#search::before { background: url(../_images/illustration/illust_dogs-people.png) center / 100% auto no-repeat; content: ""; display: block; margin: 60px auto 0; }
#hint::before { background: url(../_images/illustration/illust_dog-cat-sleep.png) center / 100% auto no-repeat; content: ""; display: block; margin: 60px auto 0; }
@media screen and (min-width: 769px) { 
	.sect-ttl { font-size: 2em; }
	#calendar::before { width: 70px; height: 70px; }
	#theme::before { width: 80px; height: 80px; }
	#brand::before { width: 80px; height: 80px; }
	#area::before { width: 80px; height: 80px; }
	#catalog::before { width: 100px; height: 80px; }
	#escort-cms::before { width: 100px; height: 80px; }
	#search::before { width: 80px; height: 80px; }
	#hint::before { width: 80px; height: 80px; }
}
@media screen and (max-width: 768px) {
	.sect-ttl { font-size: 1.55em; }
	#calendar::before { width: 60px; height: 60px; }
	#theme::before { width: 60px; height: 60px; }
	#brand::before { width: 60px; height: 60px; }
	#area::before { width: 60px; height: 60px; }
	#catalog::before { width: 80px; height: 60px; }
	#escort-cms::before { width: 80px; height: 60px; }
	#search::before { width: 60px; height: 60px; }
	#hint::before { width: 60px; height: 60px; }
}

/*  注目情報
============================================================================= */
.news-wrap { position: relative; margin: 24px auto 30px; max-width: 1200px; }
.news-wrap>dt { text-align: left; padding: 0 2em .6em 4rem; border-bottom: 1px solid #406634; }
/*.news-wrap>dt::before { position: absolute; content: "NEW"; border-radius: .5em; color: #fff; text-align: center; background-color: #f49303; }*/
.news-wrap>dt span::after { position: absolute; content: "\e039"; font-family: 'Material Icons Round'; color: #406634; cursor: pointer; }
.news-wrap>dt + dt { margin-top: 1em; } 
@media screen and (min-width: 769px) {
	.news-wrap>dt { padding: 0 2em .6em 4rem; }
	.news-wrap>dt::before { top: 3px; width: 4em; font-size: 12px; }
	.news-wrap>dt span { font-size: 1.6rem; padding-left: 4.5em; }
	.news-wrap>dt span::after { right: 24px; font-size: 20px; line-height: 1.3; }
}
@media screen and (max-width: 768px) {
	.news-wrap>dt { padding: 0 2em .6em .2em; }
	.news-wrap>dt::before { top: 2.5px; width: 4em; font-size: 9px; }
	/*.news-wrap>dt span { padding-left: 3.5em; }*/
	.news-wrap>dt span::after { right: 6px; font-size: 16px; line-height: 0; }
}

/*  カレンダー
============================================================================= */
.calendar_wrap { display: flex; flex-wrap: wrap; justify-content: space-between; }
.calendar_item { position: relative; display: flex; flex-direction: column; margin: .25em 0; border-radius: .5em; border: 3px solid #dedede; }
.calendar_item.week_sat { border-color: #ade4ff; }
.calendar_item.week_sun { border-color: #ffb9b9; }
.calendar_item .day { display: flex; justify-content: center; align-items: center; margin-bottom: auto; flex: 1; font-size: 2em; font-weight: 700; }
.calendar_item.week_sat .day { color: #009ae7; }
.calendar_item.week_sun .day { color: #f00; }
.calendar_item .day sup { font-size: .625em; margin-top: -.5em; }
.calendar_item .week { display: block; background-color: #dedede; height: 2em; text-align: center; line-height: 2; }
.calendar_item.week_sat .week { background-color: #ade4ff; }
.calendar_item.week_sun .week { background-color: #ffb9b9; }
.floatNavi { position: absolute; left: 50%; bottom: 0; background-color: rgba(0, 0, 0, .8); border-radius: .25em; opacity: 0; padding: 1em 1.5em; transform: translate(-50%, 120%); transition: all .2s ease-in; visibility: hidden; z-index: 10; }
.floatNavi::before { content: ""; position: absolute; top: -1em; left: 50%; margin-left: -.5em; border: .5em solid transparent; border-bottom: .5em solid rgba(0, 0, 0, .8); }
.floatNavi li { display: block; width: auto; text-align: left; padding: 1px 0; }
.floatNavi li a { display: block; background-color: transparent; color: #fff; }
.floatNavi li a::after { display: inline-block; float: right; content: "\e315"; font-family: 'Material Icons Round'; font-size: .875em; padding-top: .2em; }
.calendar_item:hover .floatNavi { opacity: 1; transform: translate(-50%, 105%); visibility: visible; }
@media screen and (min-width: 769px) {
	.calendar_item { width: calc(calc(100% - 4.5em) / 9); height: 6.75em; background-color: #ffffffd6; }
	.floatNavi { width: 120%; }
	.floatNavi li a:hover { color: #fee859; }
}
@media screen and (max-width: 768px) {
	.calendar_item { width: calc(calc(100% - 1.5em) / 3); }
	.floatNavi { width: 160%; }
}

/*  アンカー共通
============================================================================= */
.anchor-wrap { display: flex; justify-content: space-between; }
.anchor-theme,.anchor-brand,.anchor-area { display: grid; width: 100%; place-content: center; border-bottom: 1px solid #64a052; font-weight: 900; }
.anchor-theme span::after,.anchor-brand span::after,.anchor-area span::after { content: "\e313"; font-family: 'Material Icons Round'; color: #f49303; vertical-align: middle; 	}
.anchor-wrap.is-fixed-sub { position: fixed; left: 0; right: 0; z-index: 11; margin: 0 auto; background-color: #fff; }
@media screen and (min-width: 769px) {
	.anchor-wrap { gap: 1.5em; }
	.anchor-wrap.is-fixed-sub { min-width: 970px; max-width: 1246px; padding: 0 5px; margin-top: -1px; }
	.anchor-theme,.anchor-brand,.anchor-area { padding: .5em 0; }
	.anchor-theme span::after,.anchor-brand span::after,.anchor-area span::after { display: inline-block; padding-left: .5em; font-size: 2.0rem; }
}
@media screen and (max-width: 768px) {
	.anchor-wrap.is-fixed-sub { padding-top: 8px; }
	.anchor-theme span,.anchor-brand span,.anchor-area span { text-align: center; }
	.anchor-brand span { font-size: 1rem; }
	.anchor-theme span::after,.anchor-brand span::after,.anchor-area span::after { display: block; font-size: 1.6rem; }
}

/*  カセット共通
============================================================================= */
.cassette { display: flex; }
.cassette-item { width: calc(100% / 4 - -4px); display: flex; flex-direction: column; }
.cassette-item-text { display: flex; flex-direction: column; flex-grow: 1; background-color: #fff; padding: 8px; max-width: 300px; box-shadow: 0 0 .375em #c7d0d4; border-radius: 0 0 16px 16px; }
.cassette-item-text h4 { flex-grow: 1; }
.cassette-item mesh { display: flex; align-items: center; font-size: 1.1rem; padding: 8px 0; }
.cassette-item mesh:before { content: "\e55f"; font-family: 'Material Icons Round'; font-size: 2.0rem; line-height: 1; }
.cassette-item picture { display: block; width: 300px; height: 169px; border-radius: 16px 16px 0 0; overflow: hidden; object-fit: cover; }
.cassette-item img { border-radius: 16px 16px 0 0; padding-bottom: 80px; transform: scale(1.1); -webkit-transform: scale(1.1); transform-origin: bottom center; transition: transform 0.3s ease, -webkit-transform 0.3s ease; }
.cassette-item .tag-area { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; padding: 8px 0; }
.cassette-item .tag-area span { color: #fff; background-color: #406634; padding: 4px 10px; border-radius: 50vw; }
.plan-cta { position: relative; display: flex; justify-content: center; padding: 16px 40px 12px 0; font-weight: 700; }
.plan-cta::before { content: ""; position: absolute; top: 55%; right: 80px; width: 32px; height: 1px; background-color: #6a4a2a; transform: translateY(-50%); transition: width 0.3s ease; z-index: 1; }
.plan-cta::after { content: ""; position: absolute; top: 55%; right: 72px; width: 24px; height: 24px; border: 1px solid #6a4a2a; border-radius: 50%; transform: translateY(-50%); z-index: 0; }
.plan-cta span::before { content: ""; position: absolute; top: 55%; right: 80px; width: 6px; height: 1px; background-color: #6a4a2a; transform: translateY(-50%) rotate(45deg); transform-origin: 100% 50%; z-index: 2; }
.plan-cta span::after { content: ""; position: absolute; top: 55%; right: 80px; width: 6px; height: 1px; background-color: #6a4a2a; transform: translateY(-50%) rotate(-45deg); transform-origin: 100% 50%; z-index: 2; }
.all-plan-btn { background-color: #406634; border-radius: 50vw; width: 100%; max-width: 650px; margin: 0 auto; }
.all-plan-btn a { color: #fff; }
.all-plan-cta { position: relative; display: flex; justify-content: center; font-weight: 700; }
.all-plan-cta::before { content: ""; position: absolute; top: 52%; right: 30px; width: 32px; height: 1px; background-color: #fff; transform: translateY(-50%); transition: width 0.3s ease; z-index: 1; }
.all-plan-cta::after { content: ""; position: absolute; top: 52%; right: 22px; width: 24px; height: 24px; border: 1px solid #fff; border-radius: 50%; transform: translateY(-50%); z-index: 0; }
.all-plan-cta span::before { content: ""; position: absolute; top: 52%; right: 30px; width: 6px; height: 1px; background-color: #fff; transform: translateY(-50%) rotate(45deg); transform-origin: 100% 50%; z-index: 2; }
.all-plan-cta span::after { content: ""; position: absolute; top: 52%; right: 30px; width: 6px; height: 1px; background-color: #fff; transform: translateY(-50%) rotate(-45deg); transform-origin: 100% 50%; z-index: 2; }
@media screen and (min-width: 769px) {
    .cassette { padding: 16px 0; }
    .cassette-item img:hover { transform: scale(1.15); -webkit-transform: scale(1.15); transform-origin: bottom center; transition: transform 0.3s ease, -webkit-transform 0.3s ease; }
	.plan-cta:hover::before { width: 12px; }
	.all-plan-cta { padding: 16px 0; }
	.all-plan-cta::before { right: 30px; width: 32px; }
	.all-plan-cta::after { right: 22px; width: 24px; height: 24px; }
	.all-plan-cta span::before { right: 30px; width: 6px; }
	.all-plan-cta span::after { right: 30px; width: 6px; }
	.all-plan-cta:hover::before { width: 12px; }
}
@media screen and (max-width: 768px) {
	.all-plan-cta { padding: 12px 0; }
	.all-plan-cta::before { right: 13px; width: 14px; }
	.all-plan-cta::after { right: 8px; width: 13px; height: 13px; }
	.all-plan-cta span::before { right: 13px; width: 4px; }
	.all-plan-cta span::after { right: 13px; width: 4px; }
}

/*  Swiper
============================================================================= */
.slider-container { overflow: hidden; }
.swiper-wrapper { transition: transform 0.4s ease; touch-action: pan-y; }
.swiper-item { flex-shrink: 0; min-width: 0; }
.navigation { display: flex; justify-content: center; align-items: center; gap: 20px; margin: 8px 0 16px; }
.nav-btn { width: 32px; height: 32px; border-radius: 50%; border: none; cursor: pointer; font-size: 14px; pointer-events: auto; }
.nav-btn.prev,.nav-btn.next { background-color: #432c02; color: #fff; }
.nav-btn:hover { opacity: 0.8; }
.nav-btn:disabled { opacity: 0.3; cursor: not-allowed; }
.dots { display: flex; gap: 10px; }
.dot { border-radius: 50%; border: none; background-color: #ddd; cursor: pointer; pointer-events: auto; }
.dot.active { background-color: #97b746; }
@media screen and (min-width: 769px){
	.dot { width: 12px; height: 12px; }
}
@media screen and (max-width: 768px){
	.swiper-item { width: calc(80% - 8px); margin-right: 8px; }
	.slider-container { padding: 20px 12px 0; }
	.dot { width: 8px; height: 11px; }
}

/*  Slider（WANCOTT）
============================================================================= */
.fade-slider { position: relative; overflow: hidden;}
.slider-item { position: absolute; inset: 0; opacity: 0; transition: opacity 600ms ease; }
.slider-item.is-active { position: relative; opacity: 1; }
.slider-item img { display: block; }
.slider-dots { display: flex; justify-content: center; gap: 8px; }
.slider-dots .dot.is-active { background-color: #97b746; }
@media screen and (min-width: 769px){
	.fade-slider { width: 40%; }
	.slider-dots { margin-top: 16px; }
}
@media screen and (max-width: 768px){
	.fade-slider { width: 80%; margin: 0 auto; }
	.slider-dots { margin: 8px 0 24px; }
}

/*  WANCOTT
============================================================================= */
.wancott-omo-cassette { padding-bottom: 24px; background-color: #fff; border-radius: 16px; box-shadow: 0 0 .375em #c7d0d4; }
.wancott-omo { position: relative; width: fit-content; margin: 0 auto; padding: 30px 0 8px; text-align: center; }
.wancott-omo::before, .wancott-omo::after { content: ""; position: absolute; width: 1px; height: 2rem; background: #432c02; }
.wancott-omo::before { transform: rotate(-30deg); left: -12px; }
.wancott-omo::after { transform: rotate(30deg); right: -12px; }
.omo-read { position: relative; display: flex; justify-content: center; text-align: center; margin-bottom: 32px; }
.omo-read::after { position: absolute; content: ""; border: 1px solid #432c02; width: 32em; bottom: -10px; } 
.omo-textarea { display: flex; flex-direction: column; }
.omo-textarea-list { margin: 4px 8px 16px; padding: 8px; background-color: #f1f7e2; }
@media screen and (min-width: 769px){
	.wancott-omo-cassette { margin: 40px; }
	.wancott-wrap { display: flex; justify-content: space-evenly; }
	.wancott-omo { font-size: 1.3rem; }
	.wancott-omo::before, .wancott-omo::after { bottom: 6px; }
	.wancott-omo::before { left: -12px; }
	.wancott-omo::after { right: -12px; }
	.omo-read::after { width: 32em; } 
	.omo-textarea { padding: 20px 40px; }
	.omo-textarea-list li { font-size: 1.3rem; padding-left: 8px; }
	.omo-textarea .all-plan-btn { margin-top: 24px; }
}
@media screen and (max-width: 768px){
	.wancott-omo-cassette { margin: 32px 0; }
	.wancott-omo::before, .wancott-omo::after { bottom: 16px; }
	.wancott-omo::before { left: -6px; }
	.wancott-omo::after { right: -6px; }
	.omo-read::after { width: 24em; } 
	.omo-textarea { padding: 0 8px; }
	.omo-textarea-list li { padding-left: 4px; }
}

/*  その他のおすすめエリア
============================================================================= */
.otherarea { padding: 16px 0; }
.otherarea ul { display: flex; justify-content: center; background-color: #fff; box-shadow: 0 0 .375em #c7d0d4; border-radius: 16px; }
.otherarea li a { padding: 4px 12px; border: 1px solid #406634; border-radius: 50vw; }
@media screen and (min-width: 769px){
	.otherarea { padding: 16px 0; }
	.otherarea ul { gap: 8px; padding: 20px; }
}
@media screen and (max-width: 768px){
	.otherarea { padding: 20px 12px 0; }
	.otherarea ul { flex-wrap: wrap; gap: 12px 4px; padding: 16px; }
}

/*  カタログ
============================================================================= */
.catalog-wrap { display: flex; }
.catalog-img { position: relative; width: 180px; margin: 0 auto; z-index: 0; }
.catalog-img a { position: relative; display: block; }
.catalog-img a::before { position: absolute; left: 8px; top: 12px; content: ""; width: 100%; height: 98%; background: #d0eac7; transform: rotate(2deg); z-index: -1; }
.catalog-img figure { position: relative; transform: rotate(-4deg); }
.catalog-btn { background-color: #406634; border-radius: 50vw; margin: 24px auto 0; }
.catalog-btn a { display: block; text-align: center; font-size: 1.3rem; padding: 8px 0; color: #fff; }
.catalog-text { flex: 1; display: flex; flex-direction: column; text-align: center; }
.reserve { display: grid; grid-template-columns: repeat(4, 1fr); }
.reserve-item { background-color: #fff; border: 1px solid #c8b89a; border-radius: 16px; padding: 12px 6px; }
.reserve-item a { position: relative; display: flex; flex-direction: column; gap: .15em; justify-content: space-between; font-weight: bold; }
.reserve-item a::after { position: absolute;content: "\e039"; font-family: 'Material Icons Round';color: #c8b89a; cursor: pointer; bottom: -12px; right: 0; font-size: 16px; }
.reserve-item img { margin: 0 auto; }
@media screen and (min-width: 769px){
	.catalog-wrap { flex-direction: row-reverse; margin-top: 32px; padding: 40px 160px 40px 200px; }
	.catalog-btn { width: 100%; }
	.catalog-text { margin: -50px 0 0 60px; gap: 16px; }
	.reserve { width: 85%; margin: 0 auto; gap: 8px; }
	.reserve-item a { font-size: 1.3rem; }
	.reserve-item img { width: 6em; }
}
@media screen and (max-width: 768px){
	.catalog-wrap { flex-direction: column-reverse; margin-top: 16px; }
	.catalog-btn { width: 60%; }
	.catalog-text { margin-top: -8px; gap: 12px; }
	.catalog-item { padding-top: 20px; }
	.reserve { gap: .2em; }
	.reserve-item a { font-size: 1.2rem; }
	.reserve-item img { width: 4em; }
}

/*  CMS
============================================================================= */
.cms-img { height: 195px; border-radius: 16px 16px 0 0; }
.cms_txt_area { background-color: #fff; padding: 8px; margin-top: -4px; box-shadow: 0 0 .375em #c7d0d4; border-radius: 0 0 16px 16px; }
.cms_cassette_ttl { padding-top: 0 !important; }
.cms_cassette_ttl span { font-size: 1.6rem !important; }
.logo, .logo img { display: block; width: 30px; height: auto; }
.cms_cassette_icons { display: flex; }
.cms_cassette_icon { margin: 4px 0 0 4px; padding: 2px 8px; font-size: 1.2rem; color: #323743; background: #eaf0f7; border-radius: .375em; }
.cms_cassette_shohin-text { padding-top: 8px; }
.cassette__price-txt { font-weight: 400; color: #be0505; }
.cassette__pricenum { font-size: 2rem !important; font-weight: 600; color: #be0505; }
.cms_cassette_conditions-peple { display: block; text-align: center; }
.cms_cassette_condition { position: relative; margin-top: 8px; font-size: 1.4rem; } 
.cms_cassette_note { text-align: end; padding-top: 8px; }
@media screen and (min-width: 769px){
	.read { text-align: center; margin: -8px 0 12px; }
	.cms-wrapper { gap: 16px; justify-content: center; }
	.cms-item { width: calc((100% - 8px) / 3.6); display: flex; flex-direction: column; }
	.cms_cassette_ttl span { font-size: 1.6rem !important; }
	.cms_cassette_condition { padding-left: 3rem; }
}
@media screen and (max-width: 768px){
	.cms_cassette_ttl span { font-size: 1.2rem !important; }
}

/*  検パネ
============================================================================= */
.searchWp { background-color: #fff; box-shadow: 0 0 .375em #c7d0d4; border-radius: 16px; }
.searchSelect select, .searchInput input { width: 100%; padding: 8px 50px 8px 12px; }
.searchPanelItemTtl { display: flex; align-items: center; font-weight: 700; }
.req { display: inline-block; margin-left: 16px; font-size: 1.2rem; padding: 4px 8px 5px; color: #fff; line-height: 1; border-radius: 3px; background: #9A0F11; }
select { appearance: none; }
.searchRoomasign_select { display: none; position: absolute; top: 0; z-index: 10; width: 100%; padding: 4px 12px 20px; background: #fff; }
.searchRoomasignMemBox { display: flex; justify-content: space-between; align-items: center; margin: 0 16px; }
.searchRoomasignMemTtl { width: 8em; }
.searchSelect, .searchInput.-select { position: relative; margin-top: 6px; }
.searchSelect::after, .searchInput.-select::after { pointer-events: none; position: absolute; right: 5px; top: 50%; margin-top: -.5em; font-family: 'Material Icons Round'; content: "\e5cf"; font-size: 2.5rem; line-height: 1; }
.searchItemSelectList { display: flex; flex-wrap: wrap; }
.searchItemSelectList li label { display: flex; }
.searchRoomasignMemBd { max-width: 50%; }
.searchRoomasignMemBd, .searchDateBd_daydate { flex: 1; }
.roomasign { position: relative; }
.roomasign_room, .roomasign_adults, .roomasign_children { border: none; border-bottom: solid 1px #CBCBCB; }
.searchRoomasignMember { margin-top: 24px; }
.searchRoomasignMemberRoom_ttl { padding: 16px 8px; font-weight: 700; border-top: solid 2px #555; }
.searchRoomasignBt { cursor: pointer; display: block; margin: 24px auto 0; padding: 8px; width: 80%; color: #fff; font-weight: 700; border: none; border-radius: 5px; background: #406634; }
.searchRoomasignClose { text-align: right; line-height: 1; }
.searchRoomasignClose span { cursor: pointer; display: inline-block; margin-right: -8px; font-size: 2.5rem; padding: 2px; }
.searchDateBd { position: relative; display: flex; align-items: center; }
.view-date { position: absolute; color: #000; }
.searchDateBd_kara { width: 3em; text-align: center; } 
.ui-datepicker .ui-datepicker-header { border: none !important; background: none !important; }
.ui-state-default { text-align: center; }
.is-saturday a.ui-state-default { background-color: #c1e0ff; }
.is-sunday a.ui-state-default, .is-holiday a.ui-state-default { background-color: #ffc1c1; }
.searchSubmit { color: #fff; background-color: #406634; border: none; border-radius: 50vw; }
@media screen and (min-width: 769px) {
	.searchWp { padding: 32px; }
	.searchPanel { display: flex; flex-wrap: wrap; margin: -40px 0 0 -40px; }
	.searchSelect select, .searchInput input { min-height: 50px; }
	.searchItemSelect { display: flex; width: 100%; }
	.searchItemSelectList { margin-left: -32px; gap: 32px; }
	.searchItemSelectList li label { gap: 8px; }
	.searchPanelItem { margin: 40px 0 0 40px; }
	.searchItemSelect dt { width: 12em; }
	.searchArea,.searchPeople { width: calc(30% - 40px); }
	.view-date { padding: 15px 20px; }
	.searchDate { width: calc(40% - 40px); }
	.searchSubmit { cursor: pointer; position: absolute; width: 40%; right: 24px; bottom: 20px; }
}
@media screen and (max-width: 768px) {
	.searchWp { padding: 4px 16px 16px; }
	.searchSelect select, .searchInput input { min-height: 30px; }
	.searchItemSelectList { gap: 8px; }
	.searchItemSelectList li label { gap: 4px; }
	.searchPanelItem { margin-top: 16px; }
	.view-date { padding: 8px 20px; }
	.searchSubmit { width: 100%; margin-top: 16px; }
}

/*  ペット旅行のヒント
============================================================================= */
#hint p { padding-top: 8px; }
.petsizelist h3 { margin-top: -30px; }
.table-content { background-color: #fff; box-shadow: 0 0 .375em #c7d0d4; border-radius: 16px; margin: 24px auto 0; }
.petsize { width: 100%; border-collapse: collapse; }
.petsize thead tr { border-bottom: 2px solid #406634; }
.petsize tbody tr { border-bottom: 2px dashed #c8b89a; }
.petsize tbody tr:last-child { border-bottom: none; }
.petsize th, .petsize td { text-align: center; }
.petsize tbody tr td:first-child { display: flex; justify-content: flex-start; align-items: center; gap:.15em; }
.petsize tbody tr td:last-child { text-align: left; }
.petsize tbody td:nth-child(1), .petsize tbody td:nth-child(2) { white-space: nowrap; }
.petsize thead th:nth-child(2), .petsize tbody td:nth-child(2) { border-left: 2px dashed #c8b89a; border-right: 2px dashed #c8b89a; }
.accordion-table { width: 100%; border-collapse: collapse; margin: 24px auto; }
.accordion__item + .accordion__item { margin-top: 8px; }
.accordion__item { display: block; background: #fff; border: 1px solid #c8b89a; border-radius: 16px; }
.accordion__header { cursor: pointer; position: relative; display: block; width: 100%; }
.accordion__title { display: block; padding: 16px 20px; font-weight: bold; }
.accordion__title::after { position: absolute; content: "+"; top: 50%; right: 20px; transform: translateY(-50%); font-size: 2rem; }
.accordion__header.is-open .accordion__title::after { content: "−"; }
.accordion__body { display: block; }
.accordion__content { padding: 4px 20px 16px; }
.benriitem { border: 1px solid #406634; }
@media screen and (min-width: 769px) {
	#hint h3 { text-align: center; }
	#hint p { text-align: center; }
    .table-content { max-width: 1000px; padding: 12px 24px; }
	.petsize th, .petsize td { padding: 1em; }
	.petsize tbody tr td:first-child img { width: 40px; height: auto; }
	.notice { max-width: 1000px; margin: 0 auto; text-align: end !important; }
	.accordion-table { max-width: 1000px; }
}
@media screen and (max-width: 768px) {
	.table-content { padding: 6px; }
    .petsize { display: block; width: 100%; }
    .petsize thead, .petsize tbody { display: block; }
    .petsize tr { display: flex; }
	.petsize th, .petsize td { padding: .6em; align-content: center; }
	.petsize td:first-child { padding-left: 0; } 
    .petsize th:first-child, .petsize td:first-child { flex-shrink: 0; width: 90px; }
    .petsize th:nth-child(2), .petsize td:nth-child(2) { flex-shrink: 0; width: 100px; }
    .petsize th:nth-child(3), .petsize td:nth-child(3) { flex-grow: 1; overflow-x: auto; white-space: nowrap; -webkit-overflow-scrolling: touch; }
	.petsize tbody tr td:first-child img { width: 32px; height: auto; }
}

/*  フッター サイトマップ
============================================================================= */
.htl-sitemap a { color: #323743; }
@media screen and (min-width: 769px) {
    .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 dt:not(:first-of-type), .htl-sitemap_dl dd:not(:first-of-type) { margin-top: 2rem; }
	.htl-sitemap_dl dd { width: calc(100% - 12rem); }
	.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; }
}
@media screen and (max-width: 768px){
	.js-accordion-sp { position: relative; }
	.htl-sitemap_dl .js-accordion-sp:after { position: absolute; right: 1.5rem; top: 1rem; content: "\e5cf"; display: inline-block; font-family: "Material Icons Round"; font-size: 1.8rem; }
	.htl-sitemap_dl .js-accordion-sp.is-open:after { transform: rotateZ(-180deg); }
	.htl-sitemap_dl dt { padding: 1em 2em 1em 1em; text-align: left; }
	.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; }
	#JTBGF-ly_footer.JTBGF-ly_footer { margin-top: 0px !important; }
}

/*  TOPに戻るボタン
============================================================================= */
.js-btn-page-top { display: none; position: fixed; z-index: 100; }
.js-btn-page-top a { position: relative; display: block; background-color: #432c02; border-radius: 50%; text-decoration: none; }
.js-btn-page-top a::before { position: absolute; content: "\e91d"; font-family: 'Material Icons Round'; color: #fff; top: 50%; left: 50%; font-size: 1.2em; transform: translate(-50%, -50%); }
@media screen and (min-width: 769px) {
	.js-btn-page-top a { width: 40px; height: 40px; transition: background-color 0.3s; }
	.js-btn-page-top a:hover { background-color: #555; }
}
@media screen and (max-width: 768px) {
	.js-btn-page-top { right: 10px; bottom: 10px; }
	.js-btn-page-top a { width: 30px; height: 30px; }
}