@charset "utf-8";
@import url(icon.css);
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;700&display=swap');

/*  リセットCSS
============================================================================= */
html { -webkit-text-size-adjust: 100%; font-size: 62.5%; }
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; }
@media screen and (min-width: 768px) {
	body { font-size: 1.6rem; }
}
@media screen and (max-width: 767px) {
	body { font-size: 1.3rem; }
}

/*  ぱんくず
============================================================================= */
@media screen and (min-width: 768px) {
    .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:767px){
	.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; }
}

/*  共通
============================================================================= */
.in-wrapper, .c-sec__inner { position: relative; margin: 0 auto; width: 100%; }
h1,h3 { font-weight: bold; }
a, a:link, a:visited { color: #432c02; text-decoration: none; }
.sect-ttl { text-align: center; }
.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; }
.dom__btn-page-top { position: fixed; z-index: 1000; display: none; }
@media screen and (min-width: 768px) {
	.pc-none { display: none; }
	.in-wrapper, .c-sec__inner { padding: 0 5px; min-width: 970px; max-width: 1246px; }
	.sect { padding: 50px 0; }
	.sect-ttl { font-size: 1.8em; padding: 32px 0; }
	.contents-wrapper h1 { font-size: 1.8rem; margin: 0 auto 5px; max-width: 1236px; }
	.contents-wrapper a, .contents-wrapper a img { transition: all .4s ease; }
	.contents-wrapper a:hover { opacity: .8; color: #432c02; }
	.contents-wrapper p, .contents-wrapper span { font-size: 1.3rem; }
	.dom__btn-page-top { bottom: 30px; right: 25px; cursor: pointer; }
	.dom__btn-page-top a { position: relative; display: block; width: 80px; }
	.dom__btn-page-top a:before { display: inline-block; font-family: 'Material Icons Round'; content: "\e316"; font-size: 4em; line-height: 50px; width: 100%; text-align: center; color: #432c02; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
}
@media screen and (max-width:767px){
	.sp-none { display: none; }
	.in-wrapper { padding: 0 16px; }
	.sect { padding: 30px 0; }
	.sect-ttl { font-size: 1.6em; padding: 24px 0; }
	.contents-wrapper h1 { font-size: 1.8rem; margin: 16px 0 8px 5px; }
	.dom__btn-page-top { bottom: 20px; right: 20px; }
	.dom__btn-page-top a { display: block; width: 30px; height: 30px; background: url(/smartphone/kokunai/_common/images/btn-page-top-sp.svg) no-repeat 0 0; background-size: contain; }
}

/*  MV
============================================================================= */
@keyframes kvSliderAnimation {
    from { transform: translateX(0) }
    to { transform: translateX(-100%) }
}
.mv { overflow: hidden; position: relative; margin-top: 16px; background: #fff; }
.mvSlide { display: flex; }
.mvSlideWrap { display: flex; }
.mvSlideWrap.movPlay { animation: 80s infinite linear 0.5s both kvSliderAnimation; }
.mvItem { position: relative; margin: 0 8px; height: 100%; }
.mvLogo { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); z-index: 1; padding: 2px; text-align: center; background: rgba(42,39,32,.8) }
.mvLogo span { position: relative; display: block; color: #fff; font-weight: bold; border: solid 1px #ebeae6; background-position: right top,left bottom; background-repeat: no-repeat,no-repeat; }
.mvLogo img { max-width: 100%; }
.mvItem figure { position: relative; height: 200px; overflow: hidden; }
.mvItem img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; vertical-align: bottom; }
.mvItem figcaption { position: absolute; right: 0; bottom: 3px; padding: 0 4px; color: #fff; font-size: 1.2rem; line-height: 1.2; text-shadow: 0 0 2px rgb(0 0 0 / 80%),0 0 2px rgb(0 0 0 / 80%),0 0 2px rgb(0 0 0 / 80%),0 0 2px rgb(0 0 0 / 80%),0 0 2px rgb(0 0 0 / 80%),0 0 2px rgb(0 0 0 / 80%),0 0 2px rgb(0 0 0 / 80%),0 0 2px rgb(0 0 0 / 80%),0 0 2px rgb(0 0 0 / 80%),0 0 2px rgb(0 0 0 / 80%),0 0 2px rgb(0 0 0 / 80%),0 0 2px rgb(0 0 0 / 80%),0 0 2px rgb(0 0 0 / 80%),0 0 2px rgb(0 0 0 / 80%),0 0 2px rgb(0 0 0 / 80%),0 0 2px rgb(0 0 0 / 80%); }
@media screen and (min-width: 768px) {
	.mvLogo { width: 30%; }
    .mvLogo span { padding: 32px 40px; background-size: auto; }
	.mvItem figure { height: 500px; }
	.mvItem figcaption { padding: 0 8px; }
}
@media screen and (max-width: 767px) {
	.mvLogo { width: 70%; }
	.mvLogo span { font-size: 2rem; }
}

/*  クーポン領域
============================================================================= */
.c-coupon__list { display: flex; flex-wrap: wrap; }
.c-coupon__list::before { content: ""; display: block; order: 1; width: calc(calc(100% - 3.75em) / 4); }
.c-coupon__item { position: relative; display: flex; overflow: hidden; margin: .625em 0; border-radius: .375em; box-shadow: 0 0 .375em #c7d0d4; }
.c-coupon__head { position: relative; background: #494741; color: #fff; padding: 1em; }
.c-coupon__head::after { background-image: linear-gradient(to right, #494741, #494741 .4375em, transparent .4375em, transparent .625em); background-repeat: repeat-x; background-size: .625em .1875em; bottom: -.1875em; content: ""; display: block; height: .1875em; left: 0; position: absolute; width: 100% !important; }
.c-coupon__price { font-size: 1.1em; text-align: center; line-height: 1.35; }
.c-coupon__price em { font-size: 2em; font-style: normal; }
.c-coupon__bottom { display: flex; flex-direction: column; padding: 1.125em; }
.c-coupon__title { font-size: 1em; line-height: 1.4; margin-bottom: 15px; font-weight: 700; }
.c-coupon__term { font-size: .8125em; }
.dept-select .c-coupon__item { display: none; }
.dept-select .c-coupon__item.-show { display: block; }
@media screen and (min-width: 768px) {
	.c-coupon__list { justify-content: center; }
	.c-coupon__item { width: calc(calc(100% - 6.00em) / 5); margin-right: 10px; }
	.c-coupon__item a:hover { opacity: .8; transition: all .4s ease; }
}
@media screen and (max-width: 767px) {
	.c-coupon__list { padding: 0 12px; justify-content: space-between; }
	.c-coupon__item { width: calc(calc(100% - 1em) / 2); }
}

/*  施設カセット
============================================================================= */
.hotel-head_list { display: flex; background: #fff; }
.hotel-head_list li { position: relative; display: flex; justify-content: center; align-items: center; padding: 5px; min-height: 40px; line-height: 1.3; text-align: center; background: #f5f5f5; }
.hotel-head_list li.is-active { font-weight: bold; background: #887c60; color: #fff; }
.hotel-head_list li:after{ position: absolute; left: 50%; bottom: 0px; width: 0; content: ""; transform: translateX(-50%); border-bottom: 1px solid #323743; transition: -webkit-width .2s ease; transition: width .2s ease; transition: width .2s ease, -webkit-width .2s ease; }
.hotel-head_list li:not(.is-active):hover:after { width: 100%; }
.hotel-cassette { display: flex; flex-wrap: wrap; }
.hotel-cassette_item { display: flex; flex-direction: column; background: #f5f5f5; box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2); }
.hotel-cassette_photo figure { position: relative; overflow: hidden; padding-top: calc(260 / 400 * 100%); }
.hotel-cassette_photo figure img { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) scale(1.2); object-fit: cover; vertical-align: bottom; object-position: 50% 50%; }
.hotel-cassette_body { line-height: 1.4; }
.hotel-cassette_mesh { display: flex; align-items: center; padding: 4px 0; }
.hotel-cassette_mesh::before { content: "\e55f"; font-family: 'Material Icons Round'; font-size: 2.2rem; }
@media screen and (min-width: 768px) {
	.hotel-head_list { gap: 4px; }
	.hotel-head_list li { cursor: pointer; width: 100%; min-height: 55px; }
	.hotel-cassette { margin: 32px; gap: 24px; }
	.hotel-cassette_item { width: calc(100% / 3 - 25px); }
	.hotel-cassette_item a:hover { opacity: .6; transition: all .4s ease; }
	.hotel-cassette_body { padding: 8px 16px; }
	.hotel-cassette_photo figure img { height: 16.5em; }
}
@media screen and (max-width: 767px) {
	.hotel-head_list { flex-wrap: wrap; gap: 2px; }
	.hotel-head_list li { width: calc(100% / 4 - 2px); font-size: 1.1rem; }
	.hotel-cassette { justify-content: space-between; margin: 24px 0px; gap: 6px; }
	.hotel-cassette_item { width: calc(98% / 2); border: .3px solid #887c60;}
	.hotel-cassette_body { padding: 8px; }
}

/*  キャンペーン・特集
============================================================================= */
.feature-cassette { display: flex; flex-wrap: wrap; justify-content: center; }
.feature-cassette_txt { text-align: center; line-height: 2; }
@media screen and (min-width: 768px){
	.feature-cassette { gap: 16px 24px; }
	.feature-cassette_item { width: calc(100% / 4 - 50px); }
	.feature-cassette_item a:hover { opacity: .8; transition: all .4s ease; }
}
@media screen and (max-width: 767px){
	.feature-cassette { gap: 8px 12px; }
	.feature-cassette_item { width: calc(100% / 2 - 24px); }
	.feature-cassette_txt{ font-size: 1rem; }
}

/*  フッター サイトマップ
============================================================================= */
@media screen and (min-width: 768px) {
    .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: 767px){
	.js-accordion-sp { position: relative; }
	.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; }
	.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; }
}