@charset "utf-8";
/* CSS Document */

/* ----------
 全体共通
---------- */
:root {
	--color-white: #FFF;
	--color-black: #333;
	--color-gray: #DDD;
	--color-brown: #A57A44;
}
#ad_onsen img {
	width: 100%;
	vertical-align: top;
}

#ad_onsen .sp { display: none;}

#ad_onsen *,
#ad_onsen *::before,
#ad_onsen *::after {
	box-sizing: border-box;
}
#ad_onsen {
	color: var(--color-black);
	font-family: "hiragino-mincho-pron", serif;
	font-style: normal;
	font-weight: 300;
	background-image: url(../img/bg.webp);
	background-repeat: repeat;
	font-size: 16px;
}
#ad_onsen a:link {
	text-decoration: none;
	transition: all .2s ease-in-out;
}
#ad_onsen a:hover {
	text-decoration: none;
	opacity: .65;
}
#ad_onsen picture {
	display: block;
}
#ad_onsen section {
	width: 100%;
	margin: 126px auto 0;
}
#ad_onsen h2 {
	font-size: 32px;
	text-align: center;
	font-weight: bold;
	letter-spacing: 2px;
}
#ad_onsen h2::after {
	display: block;
	content: "";
	width: 22px;
	margin: 25px auto 30px;
	border-bottom: 1px solid var(--color-brown);
}
#ad_onsen .flex-box {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
}
@media screen and (max-width:1000px) {
	#ad_onsen { font-size: 1.6vw;}
	#ad_onsen h2 { font-size: 3.2vw;}
	#ad_onsen h2::after {
		width: 2.2%;
		margin: 2.7% auto 3.1%;
	}
	#ad_onsen section { margin: 12.6% auto 0px;}
}
@media screen and (max-width:700px) {
    #ad_onsen { font-size: 3.7vw;}
	#ad_onsen .pc { display: none;}
	#ad_onsen .sp { display: inline;}
    #ad_onsen h2 { font-size: 6.4vw;}
	#ad_onsen h2::after {
		width: 4.2%;
        margin: 5.5% auto 6.1%;
	}
	/*共通バナー透過調整*/
	body > header {
        margin: 0 0!important;
        padding: 20px!important;
        background-color: rgba(255, 255, 255, 0.6);
        position: relative;
        z-index: 1000;
	}
	#page {
		margin-top: -90px!important;
	}
}
@media screen and (max-width: 500px) {
	/*共通バナー透過調整*/
	body > header {
		margin: 0 0 20px!important;
		padding: 10px 20px!important;
	}
}
/* ----------
 KV
---------- */
#ad_onsen h1 picture {
	max-width: 1420px;
	width: 100%;
	margin: 0 auto;
}

/* ----------
 温泉付き客室
---------- */
#ad_onsen section.room_with_hotspa {
	max-width: 1140px;
}
#ad_onsen section.room_with_hotspa .flex-box {
	flex-wrap: wrap;
}
#ad_onsen section.room_with_hotspa .flex-item {
	width: 550px;
	margin-bottom: 72px;
}
#ad_onsen section.room_with_hotspa .flex-item:nth-of-type(3),
#ad_onsen section.room_with_hotspa .flex-item:nth-of-type(4) {
	margin-bottom: 0;
}
#ad_onsen section.room_with_hotspa p.lead {
	text-align: center;
	font-size: 18px;
	line-height: 2;
	letter-spacing: 1px;
	margin-bottom: 52px;
}
#ad_onsen section.room_with_hotspa p.room_name {
	font-size: 16px;
	margin-top: 14px;
}
#ad_onsen section.room_with_hotspa p.room_name span {
	font-size: 18px;
	font-weight: bold;
	padding-right: 16px;
}
@media screen and (max-width:1420px) {
	#ad_onsen section.room_with_hotspa { margin: 8.85% auto 0;}
}
@media screen and (max-width:1140px) {
	#ad_onsen section.room_with_hotspa { width: 94%;}
	#ad_onsen section.room_with_hotspa .flex-item {
		width: 48.2426%;
		margin-bottom: 6.3%;
	}
	#ad_onsen section.room_with_hotspa p.room_name {
		font-size: 1.3vw;
		margin-top: 2.6%;
	}
	#ad_onsen section.room_with_hotspa p.room_name span { font-size: 1.5vw;}
}
@media screen and (max-width:1000px) {
	#ad_onsen section.room_with_hotspa p.lead {
	    font-size: 1.8vw;
		margin-bottom: 5.5%;
	}
}
@media screen and (max-width:700px) {
	#ad_onsen section.room_with_hotspa {
		width: 100%;
        margin: 17.5% auto 0;
	}
	#ad_onsen section.room_with_hotspa p.lead {
		width: 84%;
		margin-left: auto;
		margin-right: auto;
		font-size: 3.755vw;
		text-align: left;
        margin-bottom: 8.1%;
		line-height: 1.8;
	}
	#ad_onsen section.room_with_hotspa .flex-box {
		display: block;
	}
	#ad_onsen section.room_with_hotspa .flex-item {
        width: 100%;
		position: relative;
		margin-bottom: 5.3%;
	}
	#ad_onsen section.room_with_hotspa .flex-item:nth-of-type(3),
	#ad_onsen section.room_with_hotspa .flex-item:nth-of-type(4) {
        margin-bottom: 5.3%;
	}
	#ad_onsen section.room_with_hotspa p.room_name {
        width: 100%;
		font-size: 3.52vw;
		padding: 2% 0 2.8% 4%;
		position: absolute;
        bottom: 0;
		background: linear-gradient(0.25turn, rgba(236,236,236,0.9),rgba(236,236,236,0.1));
    }
	#ad_onsen section.room_with_hotspa p.room_name span {
		display: block;
		font-size: 4.32vw;
    }
}

/* ----------
 おすすめシーン
---------- */
#ad_onsen section.recommend_scene {
	max-width: 1000px;
	width: 100%;
	margin-bottom: 90px;
}
#ad_onsen section.recommend_scene .flex-box {
	padding: 30px 0;
}
#ad_onsen section.recommend_scene .flex-box:nth-of-type(even) {
	flex-direction: row-reverse;
}
#ad_onsen section.recommend_scene picture {
	width: 600px;
}
#ad_onsen section.recommend_scene div.caption {
	width: 352px;
	padding-top: 34px;
}
#ad_onsen section.recommend_scene div.caption h3 {
	font-size: 24px;
	padding-bottom: 12px;
}
#ad_onsen section.recommend_scene div.caption p {
	font-size: 16px;
	line-height: 2;
}
@media screen and (max-width:1000px) {
	#ad_onsen section.recommend_scene {
		margin-bottom: 9%;
	}
	#ad_onsen section.recommend_scene div.caption h3 {
		font-size: 2.4vw;
	}
	#ad_onsen section.recommend_scene div.caption p {
		font-size: 1.6vw;
	}
	#ad_onsen section.recommend_scene picture {
		width: 60%;
	}
	#ad_onsen section.recommend_scene div.caption {
		width: 35.2%;
		padding-top: 3.4%;
		padding-right: 3%;
	}
	#ad_onsen section.recommend_scene .flex-box:nth-of-type(even) div.caption {
		padding-right: 0;
		padding-left: 3%;
	}
}
@media screen and (max-width:700px) {
	#ad_onsen section.recommend_scene {
        margin-bottom: 5.7%;
	}
	#ad_onsen section.recommend_scene .flex-box {
		display: block;
		padding: 0 0 8.5%;
	}
	#ad_onsen section.recommend_scene picture {
        width: 85%;
    }
	#ad_onsen section.recommend_scene .flex-box:nth-of-type(even) picture {
		margin-left: 15%;
	}
	#ad_onsen section.recommend_scene .flex-box:nth-of-type(even) div.caption {
        padding-left: 0;
    }
	#ad_onsen section.recommend_scene div.caption {
        width: 84%;
        padding-right: 0;
        margin: 0 auto;
    }
	#ad_onsen section.recommend_scene div.caption h3 { font-size: 5.4vw;}
	#ad_onsen section.recommend_scene div.caption p {
		font-size: 3.93vw;
		line-height: 1.8;
	}
}

/* ----------
 ベストレート保障
---------- */
#ad_onsen div.bestrate {
	max-width: 1000px;
	width: 100%;
	margin: 0 auto 60px;
}
@media screen and (max-width:1000px) {
	#ad_onsen div.bestrate {
		width: 94%;
		margin: 0 auto 6%;
	}
}
@media screen and (max-width:700px) {
	#ad_onsen div.bestrate {
		width: 89%;
        margin: 0 auto 10.7%;
	}
}
/* ----------
 プラン等リンク枠
---------- */
#ad_onsen div.linkbox {
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
	background-color: var(--color-white);
	font-size: 24px;
	font-weight: 600;
	text-align: center;
	padding: 6px;
}
#ad_onsen div.linkbox-border {
	width: 100%;
	padding: 47px 0;
	border: 2px solid var(--color-brown);
}
#ad_onsen div.linkbox-border div {
	width: 693px;
	margin: 0 auto;
}
#ad_onsen div.linkbox {
	letter-spacing: 1px;
}
#ad_onsen div.linkbox div p {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	padding-bottom: 18px;
}
#ad_onsen div.linkbox div p::before,
#ad_onsen div.linkbox div p::after {
	content:"";
	display: inline-block;
	width: 3.8%;
	height: 28px;
	background: url(../img/decoration_line.svg) no-repeat;
	background-size: contain;
	vertical-align: middle;
}
#ad_onsen div.linkbox div p::after {
	transform: scale(-1, 1);
}
#ad_onsen div.linkbox div.container-plan ul {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
}
#ad_onsen div.linkbox div.container-plan li {
	width: 224px;
}
#ad_onsen div.linkbox div.container-plan .reserve-btn {
	width: 224px;
	height: 78px;
    margin: 0 auto;
	color: var(--color-white);
	font-weight: 400;
	text-align: center;
	background-color: var(--color-black);
	display: flex;
	justify-content: center;
	align-items: center;
}
#ad_onsen div.linkbox div.container-plan .reserve-btn span {
	display: inline-block;
    width: 90%;
}
#ad_onsen div.linkbox div.container-plan .reserve-btn::after {
	content:"";
	display: inline-block;
	width: 7%;
	height: 13px;
	background: url(../img/icon_vector.svg) no-repeat;
	background-size: contain;
	vertical-align: middle;
}
#ad_onsen div.linkbox div.container-line {
	margin-top: 36px;
	margin-bottom: 5px;
}
#ad_onsen div.linkbox div.container-line .reserve-btn {
	width: 693px;
	height: 78px;
    margin: 0 auto;
	color: var(--color-white);
	font-weight: 600;
	text-align: center;
	background-color: var(--color-brown);
	display: flex;
	justify-content: center;
	align-items: center;
}
#ad_onsen div.linkbox div.container-line .reserve-btn span {
	display: inline-block;
    width: 94%;
}
#ad_onsen div.linkbox div.container-line .reserve-btn::after {
	content:"";
	display: inline-block;
	width: 2%;
	height: 17px;
	background: url(../img/icon_vector.svg) no-repeat;
	background-size: contain;
	vertical-align: middle;
}
@media screen and (max-width:1000px) {
	#ad_onsen div.linkbox {
		width: 94%;
		font-size: 2.4vw;
		padding: 0.6%;
	}
	#ad_onsen div.linkbox-border {
		padding: 5.1% 0;
	}
	#ad_onsen div.linkbox div p { padding-bottom: 2.6%;}
	#ad_onsen div.linkbox div p::before,
	#ad_onsen div.linkbox div p::after {
		height: auto;
		padding: 2% 0;
	}
	#ad_onsen div.linkbox-border div {
		width: 75%;
	}
	#ad_onsen div.linkbox-border .container-line div {
		width: 100%;
	}
	#ad_onsen div.linkbox div.container-line {
		margin-top: 3.9%;
		margin-bottom: 0.6%;
	}
	#ad_onsen div.linkbox div.container-plan .reserve-btn {
		width: 100%;
		height: auto;
		padding: 9.3% 0;
	}
	#ad_onsen div.linkbox div.container-plan li {
		width: 32.4%;
	}
	#ad_onsen div.linkbox div.container-line .reserve-btn {
		width: 100%;
		height: auto;
		padding: 3% 0;
	}
	#ad_onsen div.linkbox div.container-plan .reserve-btn::after {
		height: auto;
		padding: 3% 0;
	}
	#ad_onsen div.linkbox div.container-line .reserve-btn::after {
		height: auto;
		padding: 1.3% 0;
	}
}
@media screen and (max-width:700px) {
	#ad_onsen div.linkbox {
		width: 100%;
	}
	#ad_onsen div.linkbox-border {
		border: 2px solid var(--color-brown);
        padding: 8.5% 0 7.5%;
	}
	#ad_onsen div.linkbox {
        font-size: 4.3vw;
        padding: 1% 0.8%;
	}
	#ad_onsen div.linkbox div p {
        padding-bottom: 6.1%;
	}
	#ad_onsen div.linkbox div p::before,
	#ad_onsen div.linkbox div p::after {
		width: 6%;
		padding: 3% 0;
	}
	#ad_onsen div.linkbox-border div {
        width: 82.5%;
    }
	#ad_onsen div.linkbox div.container-plan li {
        width: 31.8%;
    }
	#ad_onsen div.linkbox div.container-plan .reserve-btn {
        padding: 14.8% 0;
	}
	#ad_onsen div.linkbox div.container-plan .reserve-btn span {
		width: 84%;
	}
	#ad_onsen div.linkbox div.container-plan .reserve-btn::after {
		width: 10%;
        padding: 4.5% 0;
	}
	#ad_onsen div.linkbox div.container-line {
        margin-top: 9.7%;
	}
	#ad_onsen div.linkbox div.container-line .reserve-btn {
        padding: 4.8% 0;
	}
	#ad_onsen div.linkbox div.container-line .reserve-btn span {
		width: 92%;
	}
	#ad_onsen div.linkbox div.container-line .reserve-btn::after {
		width: 3%;
		padding: 1.9% 0;
    }
}
/* ----------
 選べる3エリア
---------- */
#ad_onsen section.three_areas {
	max-width: 1000px;
	letter-spacing: 1px;
}
#ad_onsen section.three_areas ul.container-scroll-btn {
	width: 693px;
	margin: 0 auto 87px;
	padding-top: 15px;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
}
#ad_onsen section.three_areas ul li {
	width: 224px;
}
#ad_onsen section.three_areas ul .scroll-btn {
	width: 224px;
	height: 78px;
    margin: 0 auto;
	color: var(--color-black);
	font-size: 24px;
	font-weight: 400;
	text-align: center;
	background-color: var(--color-white);
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid var(--color-gray);
}
#ad_onsen section.three_areas ul .scroll-btn span {
	display: inline-block;
    width: 83%;
}
#ad_onsen section.three_areas ul .scroll-btn::after {
	content:"";
	display: inline-block;
	width: 6.4%;
	height: 13px;
	background: url(../img/icon_vector_under.svg) no-repeat;
	background-size: contain;
	vertical-align: middle;
}
#ad_onsen section.three_areas .container-item {
	width: 320px;
}
#ad_onsen section.three_areas article h3 {
	text-align: center;
	margin-bottom: 43px;
}
#ad_onsen section.three_areas article h3 span {
    display: inline-block;
	font-size: 28px;
    border-bottom: solid 1px var(--color-brown);
    text-align: center;
    padding: 5px 18px 12px;
	font-weight: 600;
}
#ad_onsen section.three_areas article h4 {
	text-align: center;
	font-size: 24px;
	font-weight: 400;
	margin-bottom: 70px;
}
#ad_onsen section.three_areas article > .flex-box {
	margin-bottom: 60px;
}
#ad_onsen section.three_areas article h5 {
	font-size: 20px;
	font-weight: 600;
	padding-bottom: 11px;
}
#ad_onsen section.three_areas article .container-item picture {
	margin-bottom: 19px;
}
#ad_onsen section.three_areas article .container-item p {
	line-height: 2;
}
#ad_onsen section.three_areas .reviews {
	padding: 30px 3.5% 25px;
	background-color:#F7F7F7;
	font-size: 18px;
	margin-bottom: 60px;
}
#ad_onsen section.three_areas .reviews > .flex-box {
	align-items: stretch;
}
#ad_onsen section.three_areas .review-box {
	width: 460px;
	padding: 3%;
	border: solid 1px var(--color-gray);
	background-color: var(--color-white);
}
#ad_onsen section.three_areas .review-box > div {
	border-bottom: solid 1px var(--color-gray);
	margin-bottom: 25px;
}
#ad_onsen section.three_areas .review-box figure {
	width: 16.5%;
	padding-bottom: 14px;
}
#ad_onsen section.three_areas .review-box p.user_data {
	width: 80%;
}
#ad_onsen section.three_areas .review-box span {
	display: block;
	font-weight: 600;
}
#ad_onsen section.three_areas .reviews .caution {
	text-align: right;
	font-size: 14px;
	padding-top: 8px;
}
#ad_onsen section.three_areas .review-box p.user_review {
	font-size: 16px;
	line-height: 1.7;
	letter-spacing: 0;
}
#ad_onsen section.three_areas div.linkbox div.container-plan .reserve-btn {
	width: 693px;
}
#ad_onsen section.three_areas div.linkbox div.container-plan .reserve-btn span {
	display: inline-block;
    width: 94%;
}
#ad_onsen section.three_areas div.linkbox div.container-plan .reserve-btn::after {
	width: 2%;
    height: 17px;
}
#ad_onsen section.three_areas article .linkbox {
	margin-bottom: 88px;
}
#ad_onsen .page-top a,
#ad_onsen .page-top .arrow {
	box-sizing: content-box;
}
#ad_onsen .page-topFrame {
	padding-top: 100px;
}

@media screen and (max-width:1000px) {
	#ad_onsen section.three_areas ul.container-scroll-btn {
		width: 69.3%;
		margin: 0 auto 8.7%;
	}
	#ad_onsen section.three_areas ul li {
		width: 32.4%;
	}
	#ad_onsen section.three_areas ul .scroll-btn {
		width: 100%;
		height: auto;
        padding: 8.5% 0;
	    font-size: 2.4vw;
	}
	#ad_onsen section.three_areas ul .scroll-btn::after {
		height: auto;
		padding: 3% 0;
	}
	#ad_onsen section.three_areas article h3 {
		margin-bottom: 4.3%;
	}
	#ad_onsen section.three_areas article h3 span {
		font-size: 2.8vw;
		padding: 0.5% 1.8% 1.2%;
	}
	#ad_onsen section.three_areas article h4 {
		font-size: 2.4vw;
		margin-bottom: 7%;
	}
	#ad_onsen section.three_areas article > .flex-box {
		margin: 0 auto 6%;
		width: 94%;
	}
	#ad_onsen section.three_areas article h5 {
		font-size: 1.88vw;
		padding-bottom: 3.4%;
	}
	#ad_onsen section.three_areas article .container-item picture {
		margin-bottom: 5.9%;
	}
	#ad_onsen section.three_areas .container-item {
		width: 32%;
	}
	#ad_onsen section.three_areas .reviews {
		padding: 3% 3.5% 2.5%;
		font-size: 1.67vw;
		margin: 0 auto 6%;
        width: 94%;
	}
	#ad_onsen section.three_areas .review-box {
		width: 49.5%;
	}
	#ad_onsen section.three_areas .review-box > div {
		margin-bottom: 6%;
	}
	#ad_onsen section.three_areas .review-box figure {
		padding-bottom: 3.7%;
	}
	#ad_onsen section.three_areas .review-box p.user_review {
		font-size: 1.6vw;
	}
	#ad_onsen section.three_areas .reviews .caution {
		font-size: 1.4vw;
		padding-top: 0.9%;
	}
	#ad_onsen section.three_areas article .linkbox {
		margin-bottom: 8.8%;
	}
	#ad_onsen section.three_areas div.linkbox div.container-plan div {
        width: 100%;
    }
	#ad_onsen section.three_areas div.linkbox div.container-plan .reserve-btn {
		width: 100%;
        padding: 3% 0;
	}
	#ad_onsen section.three_areas div.linkbox div.container-plan .reserve-btn::after {
        height: auto;
        padding: 1.3% 0;
    }
	#ad_onsen .page-topFrame {
		padding-top: 10%;
	}
}
@media screen and (max-width:700px) {
	#ad_onsen section.three_areas ul.container-scroll-btn {
        width: 89.3%;
        margin: 0 auto 11.4%;
		padding-top: 0.7%;
	}
	#ad_onsen section {
        margin: 14% auto 0px;
	}
	#ad_onsen section.three_areas ul li {
        width: 32.2%;
	}
	#ad_onsen section.three_areas ul .scroll-btn {
        padding: 11.9% 0;
		font-size: 4.3vw;
	}
	#ad_onsen section.three_areas ul .scroll-btn span {
		width: 79%;
	}
	#ad_onsen section.three_areas ul .scroll-btn::after {
		width: 9%;
		padding: 3% 0;
	}
	#ad_onsen section.three_areas article h3 {
        margin-bottom: 5.3%;
	}
	#ad_onsen section.three_areas article h3 span {
        font-size: 5.3vw;
		padding: 0.5% 2.2% 1.2%;
	}
	#ad_onsen section.three_areas article h4 {
        font-size: 5vw;
        margin-bottom: 9.3%;
	}
	#ad_onsen section.three_areas article h4 + .flex-box,
	#ad_onsen section.three_areas article .reviews > .flex-box {
		display: block;
	}
	#ad_onsen section.three_areas article > .flex-box {
        width: 89.5%;
	}
	#ad_onsen section.three_areas .container-item {
        width: 100%;
        margin-bottom: 8.1%;
    }
	#ad_onsen section.three_areas article .container-item picture {
        margin-bottom: 4%;
    }
	#ad_onsen section.three_areas article .container-item p {
		line-height: 1.8;
	}
	#ad_onsen section.three_areas article h5 {
        font-size: 4.3vw;
		padding-bottom: 4.8%;
	}
	#ad_onsen section.three_areas .reviews {
		width: 100%;
		padding: 8.1% 5.3% 7.2%;
        font-size: 3.5vw;
		margin: 0 auto 10.7%;
	}
	#ad_onsen section.three_areas .review-box {
		padding: 6% 5% 3%;
		width: 100%;
		margin-bottom: 4.5%;
	}
	#ad_onsen section.three_areas .flex-box .review-box:last-of-type {
		margin-bottom: 3%;
	}

	#ad_onsen section.three_areas .review-box p.user_data {
		line-height: 1.65;
		padding-bottom: 5%;
	}
	#ad_onsen section.three_areas .review-box figure {
        padding-bottom: 5%;
	}
	#ad_onsen section.three_areas .review-box p.user_review {
        font-size: 3.6vw;
		line-height: 1.8;
    }
	#ad_onsen section.three_areas .review-box > div {
        margin-bottom: 4%;
	}
	#ad_onsen section.three_areas .reviews .caution {
        font-size: 2.9vw;
	}
	#ad_onsen section.three_areas div.linkbox div.container-plan .reserve-btn span {
		width: 91%;
	}
	#ad_onsen section.three_areas #szj div.linkbox div.container-plan .reserve-btn span {
		letter-spacing: 0;
	}
	#ad_onsen section.three_areas div.linkbox div.container-plan .reserve-btn::after {
		width: 2.5%;
		padding: 2.3% 0;
    }
	#ad_onsen section.three_areas article .linkbox {
        margin-bottom: 11.7%;
    }
}

#ad_onsen .room_with_hotspa a p.room_name {
	color: var(--color-black);
}
/* swiper追加 240528 */
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
    bottom: 25px;
}
.swiper-pagination-bullet-active {
	background: #FFF;
}