@charset "utf-8";
/* CSS Document */

/*===============================================
●共通
===============================================*/

/* ヘッダー
---------------------------------------- */
#header {
	/* position: relative; */
	position: absolute;
	width: 100%;
	/* bottom: 0; */
	top: 0;
	left: 0;
	/* margin-top: -50px; */
}
#header #headerContainer {
	position: relative;
	width: 100%;
	background: transparent;
	box-shadow: none;
}
#header #headerContainer #headerLogo {
	opacity: 0;
}
.headerInner #headerMenu ul li a {
	color: #fff;
}
#menuBtn span {
	background-color: #fff;
}
#header #headerContainer.scroll {
	position: fixed;
	top: 0;
	left: 0;
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0px 4px 4px -2px rgba(0, 0, 0, 0.3);
	transition: transform 0.3s;
}
#header #headerContainer.scroll #headerLogo {
	opacity: 1;
}
#headerContainer.scroll #headerMenu ul li a {
	color: #778287;
}
#headerContainer.scroll #menuBtn span {
	background-color: #778288;
}
/* 姉妹施設のリンクボタン */
.facilitiesBtn a {
	color: #fff;
	border: 1px solid #fff;
}
#header #headerContainer.scroll .facilitiesBtn a {
	color: #778287;
	border: 1px solid #778287;
}
/* 言語切替ボタン */
#header #languageBtn {
	border: 1px solid #fff;
}
#header #languageBtn a {
	color: #fff;
}
#header #languageBtn a.current {
	color: #778287;
	background-color: #fff;
}
#header #headerContainer.scroll #languageBtn {
	border: 1px solid #778287;
}
#header #headerContainer.scroll #languageBtn a {
	color: #778287;
}
#header #headerContainer.scroll #languageBtn a.current {
	color: #fff;
	background-color: #778287;
}

/* メインイメージ
---------------------------------------- */
#mainWrap {
	position: relative;
	width: 100%;
	height: auto;
	/* overflow: hidden; */
}
.mvWrapper {
	min-height: 100vh;
	min-height: 100svh;
}
.mvWrapper > video {
	width: 100%;
	height: 100vh;
	height: 100svh;
	object-fit: cover;
}
.mainBkg {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
}
#mainImageSlide li:after {
	width: 100%;
	content: "";
	display: block;
}
#slide01 {
	background: url("../../images/index/mainImg01.jpg") no-repeat center center / cover;
}
#slide02 {
	background: url("../../images/index/mainImg02.jpg") no-repeat center center / cover;
}
#slide03 {
	background: url("../../images/index/mainImg03.jpg") no-repeat center center / cover;
}
#slide04 {
	background: url("../../images/index/mainImg04.jpg") no-repeat center center / cover;
}
#slide05 {
	background: url("../../images/index/mainImg05.jpg") no-repeat center center / cover;
}

/* loader
---------------------------------------- */
#loaderBG {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background-color: #fff;
	z-index: 10000;
	overflow: hidden;
}
#loader {
	position: absolute;
	top: 50%;
	left: 50%;
	text-align: center;
	color: #fff;
	z-index: 10002;
}
h1 {
	letter-spacing: 0.2em;
	line-height: 1;
}
h1 span {
	display: block;
	line-height: 1;
}

/* mainWrap
---------------------------------------- */
#mainImgWrap a {
	color: #778288;
}
#mainImgWrap a:hover {
	color: #b0b9bf;
}
#mainImgWrap .inner {
	padding: 0;
}
#mainImgWrap section > h2 {
	border-top: 1px solid #b9c3c9;
	border-bottom: 1px solid #b9c3c9;
	text-align: center;
	padding: 1em 0;
}

/*information
---------------------------------------- */
#information {
	margin: 5em auto;
	max-width: 680px;
	border: 1px solid #b9c3c8;
	box-shadow: 0 0px 8px 0 rgba(185, 185, 193, 0.4);
	padding: 20px;
	background: #fff;
	text-align: left;
}

#information.noNews {
	margin: 0;
	border: none;
	box-shadow: none;
	padding: 0;
}

.InfoMessage * {
	font-weight: 600;
	font-size: 1.1em;
}

.InfoMessage > div {
	margin: 0.5em 0;
	line-height: 1.3em;
}

/* reservationInfoBox
---------------------------------------- */
.reservationInfoBox {
	margin-top: 6em;
}
.reservationInfoBox a:hover {
	opacity: 0.7;
}


/* topTopics
---------------------------------------- */
#topTopics {
	margin-top: 2em;
}
#topTopics #topTopicsHead {
	text-align: center;
	font-size: 1.15em;
}

/* トピックスのスワイパー ------------- */
#topTopics .topicsSwiperWrap {
	position: relative;
}
#topTopics .topicsSwiperWrap .swiper {
	position: unset; /* ページボタンとページネーションを外側に出すため */
	width: 100%;
	height: 100%;
}
#topTopics .topicsSwiperWrap .swiper .swiper-wrapper {
	font-size: 1.2em;
}

#topTopics .topicsSwiperWrap .swiper-slide {
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}
#topTopics .topicsSwiperWrap .swiper-slide a {
	width: 100%;
	height: 100%;
}
#topTopics .topicsSwiperWrap .swiper-slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 16 / 9;
	margin-top: 1em;
}
#topTopics .topicsSwiperWrap .swiper-slide h4 {
	margin-top: 1.4em;
}

/* 左右のボタン */
#topTopics .topicsSwiperWrap .swiper-button-prev,
#topTopics .topicsSwiperWrap .swiper-button-next {
	width: 40px;
	height: 40px;
	background-color: #b9c3c9;
	border-radius: 50%;
	overflow: hidden;
	transition-property: opacity;
	transition-duration: 0.3s;
}
#topTopics .topicsSwiperWrap .swiper-button-prev svg,
#topTopics .topicsSwiperWrap .swiper-button-next svg {
	display: none;
}
#topTopics .topicsSwiperWrap .swiper-button-prev:hover,
#topTopics .topicsSwiperWrap .swiper-button-next:hover {
	opacity: 0.7;
}
#topTopics .topicsSwiperWrap .swiper-button-prev .arrow,
#topTopics .topicsSwiperWrap .swiper-button-next .arrow {
	width: 10px;
	height: 10px;
	border-right: 2px solid #FFFFFF;
	border-bottom: 2px solid #FFFFFF;
	transform: rotate(-45deg);
}

/* 左のボタン */
#topTopics .topicsSwiperWrap .swiper-button-prev {
	transform: rotate(180deg);
}
#topTopics .topicsSwiperWrap .swiper-button-prev .arrow {
	margin-right: 5px;
}
/* 右のボタン */
#topTopics .topicsSwiperWrap .swiper-button-next .arrow {
	margin-left: -5px;
}

/* ページネーション */
#topTopics .swiper-pagination {
	bottom: -24px !important;
}
#topTopics .swiper-pagination-bullet {
	margin: 0 8px;
	background-color: #B0B9BF;
}

/* contentsWrap
---------------------------------------- */
.contentsWrap .contentsHead h3 {
	letter-spacing: 0.2em;
}
.contentsWrap.guestroom,
#onsenWrap,
#breakfastWrap,
#aquaignisWrap,
#relaxationWrap,
#restaurantWrap {
	display: block;
}
#mainImgWrap .contentsWrap.guestroom h2 {
	border: none;
	margin-bottom: 2em;
}
#conceptWrap {
	position: relative;
	width: 100%;
	height: auto;
}
#conceptWrap li:after {
	width: 100%;
	content: "";
	display: block;
}

/* roomList
---------------------------------------- */
#roomList {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	text-align: center;
}
#roomList p {
	display: inline-block;
}
#roomList div a {
	color: #778288;
}
#roomList div a:hover {
	color: #b0b9bf;
}
#roomList div .imgBox {
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 2.5em;
}
#roomList div img {
	width: 100%;
}
#roomList div .imgBox {
	position: relative;
}
#roomList div .imgBox div {
	position: absolute;
	top: 50%;
	display: block;
	left: 50%;
	text-align: center;
}
#roomList div .imgBox div span {
	display: block;
	text-align: center;
}
#roomList div .imgBox div .roomVertical {
	display: inline-block;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}
#roomList div .imgBox div .roomEng {
	margin-bottom: 0.5em;
}
#roomList .roomArrow svg {
	width: 4em;
	height: 1em;
	fill: #fff;
}
#roomList a:hover .roomArrow svg {
	transform: translateX(10px);
	transition-duration: 0.3s;
	transition-timing-function: ease-in;
}
.guestroom .arrowBtn {
	text-align: center;
}

/* 温泉
---------------------------------------- */
#onsen .logo {
	background: url("../../images/onsen/main.jpg") no-repeat center center / cover;
	position: relative;
}

/* breakfast
---------------------------------------- */
#breakfast a:first-child .logo {
	background: url("../../images/restaurant/breakfast/main.jpg") no-repeat center center / cover;
	position: relative;
}
#onsen .logo,
#relaxation .logo,
#aquaignis .logo,
#breakfast .logo {
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
}
#restaurant .logo span,
#onsen .logo span,
#breakfast .logo span {
	color: white;
	font-size: 1.8em;
	letter-spacing: 0.2em;
}
#relaxation .logo span {
	color: white;
	font-size: 1.68em;
	letter-spacing: 0.1em;
}

#aquaignis .logo span {
	color: white;
	font-size: 1.48em;
	letter-spacing: 0.1em;
}

/* restaurant
---------------------------------------- */
#breakfast a,
#restaurant a {
	display: block;
}
#restaurant .logo {
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
}
#restaurant .logo {
	background: url("../../images/restaurant/dinnerHead.jpg") no-repeat center center / cover;
}
/*
#restaurant a:nth-child(2) .logo {
	background: url("../../images/restaurant/alcheMain.jpg") no-repeat center center / cover;
}
#restaurant a:nth-child(3) .logo {
	background: url("../../images/restaurant/roanMain.jpg") no-repeat center center / cover;
}
#restaurant a:nth-child(4) .logo {
	background: url("../../images/restaurant/kikukawa/kikukawaHead.jpg") no-repeat center center / cover;
}
#restaurant a:last-child .logo {
	background: url("../../images/restaurant/ishigaki/ishigakiHead.jpg") no-repeat center center / cover;
}*/

/* リラクゼーション
---------------------------------------- */
#relaxation .logo {
	background: url("../../images/relaxation/laxis_body.jpg") no-repeat center 57% / cover;
	position: relative;
}
/* アクアイグニス
---------------------------------------- */
#aquaignis .logo {
	background: url("../../images/aquaignis/main.jpg") no-repeat center center / cover;
	position: relative;
}
/* calendarBox
---------------------------------------- */
#calendarBox p {
	text-align: center;
	line-height: 2;
}

/* topAccess
---------------------------------------- */
#topAccess {
	text-align: center;
	margin-bottom: 7em;
}

/*===============================================
●画面の横幅が729px以下(スマホのみ)
===============================================*/
@media screen and (max-width: 769px) {
	/* ヘッダー
	---------------------------------------- */
	#header #headerContainer.shift {
		transform: translateY(-60px);
	}

	/* メインイメージ
	---------------------------------------- */
	/* #mainWrap {
		margin-top: 45px;
	} */
	#mainImageSlide li:after {
		padding-top: 55.5%;
	}
	.mainBkg {
		padding: 1em 0 0 1em;
		z-index: 100;
	}
	.mainBkg .img {
		margin: 0;
	}

	/* loader
	---------------------------------------- */
	#loader {
		/* width: 50px; */
		width: 70px;
		height: 240px;
		margin-top: -120px;
		margin-left: -25px;
	}
	h1 {
		font-size: 1.2em;
		margin-bottom: 3em;
		line-height: 1.7;
	}
	h1 span {
		margin-bottom: 1.25em;
	}

	/* mainImgWrap
	---------------------------------------- */
	#mainImgWrap {
		padding-top: 45px;
	}
	#mainImgWrap section > h2 {
		margin-bottom: 5.5em;
	}

	/* information
	---------------------------------------- */
	#information {
		max-width: 350px;
		margin: 3em auto;
		padding: 15px;
	}

	/* reservationInfoBox
	---------------------------------------- */
	.reservationInfoBox {
		margin-top: 2em;
	}

	/* topTopics
	---------------------------------------- */
	#topTopics {
		position: relative;
		margin-bottom: 8.2em;
	}

	/* トピックスのスワイパー ------------- */
	#topTopics .topicsSwiperWrap {
		padding-left: 24px;
		padding-right: 24px;
	}

	/* 左右のボタン */
	#topTopics .topicsSwiperWrap .swiper-button-prev {
		left: 0;
	}
	#topTopics .topicsSwiperWrap .swiper-button-next {
		right: 0;
	}
	/* ページネーション */
	#topTopics .swiper-pagination {
		bottom: -32px !important;
	}

	/* お知らせページへのボタンリンク */
	.arrowBtn {
		text-align: center;
		margin-top: 64px;
	}

	/* contentsWrap
	---------------------------------------- */
	.contentsWrap {
		position: relative;
		/* margin-bottom: 4.2em; */
		margin-bottom: 5em;
	}
	.contentsWrap .contentsHead {
		text-align: center;
	}
	.contentsWrap h2,
	.contentsWrap .contentsHead h3 {
		margin-bottom: 1.3em;
	}
	.contentsWrap h2 {
		font-size: 1.15em;
	}
	.contentsWrap .contentsHead h3 {
		font-size: 1.1em;
	}
	.contentsWrap .contentsHead .arrowBtn {
		position: absolute;
		left: 50%;
		font-size: 1.2em;
		margin-left: -70px;
		bottom: -3.5em;
	}
	.contentsWrap .contentsImg {
		text-align: center;
	}

	/* conceptWrap
	---------------------------------------- */
	#conceptWrap {
		margin-bottom: 8em;
	}

	/* guestroom
	---------------------------------------- */
	#mainImgWrap .contentsWrap.guestroom h2 {
		margin-bottom: 1em;
	}
	#mainImgWrap .contentsWrap.guestroom .arrowBtn {
		font-size: 1.2em;
	}

	/* roomList
	---------------------------------------- */
	#roomList {
		/* margin-bottom: 2.5em; */
		margin-bottom: 1em;
	}
	#roomList > div {
		width: 49%;
	}
	#roomList div .imgBox div {
		width: 120px;
		margin-top: -47px;
		margin-left: -60px;
	}
	#roomList div .imgBox div span {
		letter-spacing: 0.2em;
	}
	#roomList div .imgBox div .roomVertical {
		font-size: 1.5em;
	}

	/* breakfast
	---------------------------------------- */
	#breakfast .logo span,
	#onsen .logo span {
		font-size: 1.8em;
	}

	#relaxation .logo span,
	#aquaignis .logo span {
		font-size: 0.95em;
	}

	/* restaurant
	---------------------------------------- */
	#restaurant {
		margin-bottom: 10em;
	}
	#restaurant > a:not(:last-of-type) {
		margin-bottom: 3em;
	}
	#breakfast .logo,
	#onsen .logo,
	#relaxation .logo,
	#restaurant .logo {
		min-height: 180px;
		padding-right: 2em;
		padding-bottom: 2em;
	}
	#aquaignis .logo {
		min-height: 180px;
		padding-right: 2em;
		padding-bottom: 1.4em;
	}
	/* #restaurant .logo {
		padding-bottom: 0;
	} */
	#restaurant .logo img {
		height: 120px;
		width: auto;
	}
	#restaurant .alcheLink .logo img {
		height: 51px;
	}
	#restaurant .roanLink .logo img {
		height: 20px;
	}
	#restaurant .hinomoriLogo img {
		width: 80px;
		height: auto;
	}

	/* infoWrap
	---------------------------------------- */
	#infoWrap {
		margin-bottom: 10em;
	}

	/* calendarBox
	---------------------------------------- */
	#calendarBox {
		margin-bottom: 3.5em;
	}
	#calendarBox > p,
	#calendarBox > div {
		padding: 0 10px;
	}
	#calendarBox > p:nth-of-type(2) {
		margin-bottom: 2.5em;
	}
	#calendarBox > p:last-of-type {
		margin-top: 3em;
	}

	#calendarWrap {
		margin-bottom: 2.5em;
	}

	/* topAccess
	---------------------------------------- */
	#topAccess {
		margin-bottom: 6.25em;
	}
	#topAccess address:first-of-type {
		margin-bottom: 1.5em;
	}
	#topAccess address:last-of-type {
		margin-bottom: 3em;
	}
}

/*===============================================
●画面の横幅が770px以上(PCのみ)
===============================================*/
@media screen and (min-width: 770px) {
	.indexArrow svg {
		transition: all 0.3s;
	}
	.mainBkg {
		/* height: 100%; */
		padding: 0;
		/* display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center; */
		padding: 20px 0 0 20px;
	}
	.mainBkg .img {
		text-align: left;
	}
	.mainBkg .img img {
		width: 40px;
	}
	#mainImageSlide li:after {
		padding-top: 100vh;
	}

	/* #header:not(.fixedMenu) #mainMenu {
		top: 0;
		padding-top: 10em;
	} */

	/* #header:not(.fixedMenu) #spBtnWrap {
		z-index: 1000;
		position: relative;
	} */

	#header.slideBottom {
		position: fixed;
		top: unset;
	}
	#header #headerContainer.shift {
		transform: translateY(-120px);
	}
	/* #header.slideBottom #headerMenu {
		opacity: 0;
	} */

	/* loader
	---------------------------------------- */
	#loader {
		width: 240px;
		height: 240px;
		margin-top: -120px;
		margin-left: -120px;
	}

	/* header
	---------------------------------------- */
	#mainImgWrap {
		position: relative;
		padding-bottom: 8.3em;
		padding-top: 7em;
	}
	#mainImageSlide,
	#mainImageSlide li {
		height: auto !important;
	}
	#headerWrap {
		position: relative;
	}
	#header.fixedMenu {
		position: fixed;
		top: 0;
		margin-top: 0;
	}
	h1 {
		/* font-size: 1.25em;
		margin-bottom: 10em; */
		font-size: 1.6em;
		margin-bottom: 8em;
		margin-top: 8em;
	}
	h1 span {
		margin-bottom: 1.4em;
	}

	/* mainWrap
	---------------------------------------- */
	#mainImgWrap section > h2 {
		/* font-size: 1.33em; */
		font-size: 1.5em;
		/* margin-bottom: 5em; */
		margin-bottom: 4em;
	}

	/* メインイメージの予約バー
	---------------------------------------- */
	#frmplanseekIndex {
		position: absolute;
		width: 90%;
		max-width: 1280px;
		bottom: 74px;
		left: 50%;
		background-color: rgba(255, 255, 255, 0.8);
		padding: 12px 20px 0;
		transform: translateX(-50%);
		border-radius: 4px;
		z-index: 100;
	}
	#frmplanseekIndex .flexBox {
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
		margin-bottom: 0;
	}
	#frmplanseekIndex .flexBox p,
	#frmplanseekIndex .flexBox .selectBox {
		font-size: 16px;
		color: #616a6e;
	}
	#frmplanseekIndex .flexBox .selectBox {
		position: relative;
		margin-bottom: 2px;
	}
	#frmplanseekIndex .flexBox .selectBox::after {
		position: absolute;
		content: "";
		width: 10px;
		height: 5px;
		top: 50%;
		right: 7px;
		background: url("../../images/index/arrow_gray.svg") no-repeat center center / contain;
		transform: translateY(-50%);
	}
	#frmplanseekIndex .flexBox .selectBox.checkinDays {
		display: flex;
		align-items: center;
	}
	#frmplanseekIndex .flexBox .selectBox.checkinDays input {
		text-align: center;
	}
	#frmplanseekIndex .flexBox .selectBox.checkinDays::after {
		right: -18px;
	}
	#frmplanseekIndex .flexBox select {
		color: #616a6e;
		background-color: transparent;
		border: none;
		appearance: none;
		padding: 0 24px 0 10px;
	}
	#frmplanseekIndex .flexBox .specifyText {
		margin-right: 14px;
	}
	/* #frmplanseekIndex .flexBox .optionText {
		margin-left: 10px;
	} */
	#frmplanseekIndex .flexBox .checkin,
	#frmplanseekIndex .flexBox .days,
	#frmplanseekIndex .flexBox .room,
	#frmplanseekIndex .flexBox .people {
		display: flex;
		align-items: center;
		margin-bottom: 12px;
	}
	#frmplanseekIndex .flexBox .checkin {
		margin-right: 60px;
	}
	#frmplanseekIndex .flexBox .checkin input {
		color: #616a6e;
		background-color: transparent;
		border: none;
	}
	#frmplanseekIndex .flexBox .checkin input.year {
		width: 40px;
	}
	#frmplanseekIndex .flexBox .checkin input.month,
	#frmplanseekIndex .flexBox .checkin input.day {
		width: 20px;
	}
	#frmplanseekIndex .flexBox .checkin #calidIndex {
		top: calc(100% + 10px);
	}
	#frmplanseekIndex .flexBox .days,
	#frmplanseekIndex .flexBox .room,
	#frmplanseekIndex .flexBox .people {
		margin-right: 35px;
	}
	#frmplanseekIndex .linkBtn button {
		font-size: 16px;
		color: #fff;
		background-color: #778287;
		padding: 14px 42px 13px;
		margin: 0 50px 12px 0;
		border-color: #778287;
		transition: opacity 0.3s;
	}
	#frmplanseekIndex .linkBtn button:hover {
		opacity: 0.8;
	}
	#frmplanseekIndex .planList {
		position: relative;
		display: block;
		font-size: 16px;
		color: #616a6e;
		margin-bottom: 12px;
	}
	#frmplanseekIndex .planList::before,
	#frmplanseekIndex .planList::after {
		position: absolute;
		content: "";
	}
	#frmplanseekIndex .planList::before {
		width: 1px;
		height: 24px;
		top: 50%;
		left: -25px;
		background-color: #616a6e;
		transform: translateY(-50%);
	}
	#frmplanseekIndex .planList::after {
		width: 10px;
		height: 5px;
		top: 50%;
		right: -16px;
		background: url("../../images/index/arrow_gray.svg") no-repeat center center / contain;
		transform: translateY(-70%) rotate(270deg);
		pointer-events: none;
	}

	/* topTopics
	---------------------------------------- */
	#topTopics {
		/*display: flex;*/
		margin-bottom: 1em;
	}
	#topTopics #topTopicsHead {
		/*width: 30%;
		display: flex;*/
		flex-direction: column;
		justify-content: space-between;
		align-items: center;
	}
	#topTopics #topTopicsHead h2 {
		font-size: 1.33em;
		/*margin: 0;*/
		border-top: 1px solid #b9c3c9;
		border-bottom: 1px solid #b9c3c9;
		text-align: center;
		padding: 1em 0;
		margin-bottom: 2em;
	}
	#topTopics #topTopicsHead h3 {
		/*writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		-webkit-writing-mode: vertical-rl;
		display: flex;
		justify-content: center;
		align-items: center;*/
		font-size: 1.3em;
		letter-spacing: 0.2em;
		padding: 2em 0;
		margin-bottom: 2em;
	}
	#topTopics .arrowBtn {
		/*margin-bottom: 1em;*/
		font-size: 1.3em;
		text-align: center;
		/*margin-top: 3em;*/
		margin: 3em 0 1em 0;
	}

	/* トピックスのスワイパー ------------- */
	
	/* 左のボタン */
	#topTopics .topicsSwiperWrap .swiper-button-prev {
		left: 0;
	}
	/* 右のボタン */
	#topTopics .topicsSwiperWrap .swiper-button-next {
		right: 0;
	}

	/* contentsWrap
	---------------------------------------- */
	.contentsWrap {
		display: flex;
		margin-bottom: 16em;
	}
	#conceptWrap .bx-viewport {
		height: 300px !important;
	}
	#conceptWrap li:after {
		padding-top: 38.5%;
	}
	#conceptSlide01,
	#conceptSlide02,
	#conceptSlide03,
	#conceptSlide04 {
		height: 300px;
	}
	.contentsWrap:nth-child(odd) {
		flex-direction: row-reverse;
	}
	.contentsWrap .contentsHead {
		width: 30%;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		align-items: center;
	}
	.contentsWrap h2 {
		/* font-size: 1.33em; */
		font-size: 1.5em;
		/* margin-top: 0.7em; */
	}
	.contentsWrap .contentsHead h3 {
		display: flex;
		justify-content: center;
		align-items: center;
		writing-mode: vertical-rl;
		text-orientation: upright;
		font-size: 1.2em;
	}
	.contentsWrap .contentsHead h3 .numberHorizontal {
		-ms-text-combine-horizontal: all;
	}
	.contentsWrap .contentsHead .arrowBtn {
		/* font-size: 1.2em;
		margin-bottom: 1em; */
		font-size: 1.3em;
		margin-bottom: 0.3em;
		text-align: center;
	}
	.contentsWrap .contentsImg {
		width: 70%;
		max-width: 660px;
	}
	.contentsWrap:nth-child(odd) .contentsImg {
		margin: 0 auto 0 0;
	}
	.contentsWrap:nth-child(even) .contentsImg {
		margin: 0 0 0 auto;
	}

	/* roomList
	---------------------------------------- */
	#roomList {
		margin-bottom: 4em;
	}
	#roomList h2 {
		font-size: 1.4em;
		margin-bottom: 5em;
	}
	#roomList h3 {
		font-size: 1.16em;
	}
	#roomList h3 {
		margin-bottom: 1.8em;
	}
	#roomList > div {
		width: 23%;
	}
	#roomList div .imgBox div {
		letter-spacing: 0.2em;
		margin-top: -59px;
		margin-left: -59px;
		width: 118px;
	}
	#roomList div .imgBox div .roomVertical {
		font-size: 2.4em;
		letter-spacing: 0.5em;
	}
	#roomList h4,
	#roomList > div > p {
		line-height: 2.1;
	}
	.guestroom .arrowBtn {
		/* font-size: 1.2em; */
		font-size: 1.3em;
	}

	/* アクアイグニス
	---------------------------------------- */
	#aquaignis .logo span {
		font-size: 1.6em;
	}

	/* restaurant
	---------------------------------------- */
	#restaurantWrap {
		position: relative;
		margin-bottom: 16em;
	}
	#onsenWrap .contentsHead,
	#breakfastWrap .contentsHead,
	#relaxationWrap .contentsHead,
	#aquaignisWrap .contentsHead,
	#restaurantWrap .contentsHead {
		display: block;
		width: 100%;
		text-align: center;
	}
	#onsenWrap .contentsHead h3,
	#breakfastWrap .contentsHead h3,
	#relaxationWrap .contentsHead h3,
	#aquaignisWrap .contentsHead h3,
	#restaurantWrap .contentsHead h3 {
		font-size: 1.3em;
		margin: 2em 0 3em;
		writing-mode: horizontal-tb;
	}
	#onsenWrap .contentsImg,
	#breakfastWrap .contentsImg,
	#relaxationWrap .contentsImg,
	#aquaignisWrap .contentsImg,
	#restaurantWrap .contentsImg {
		width: 100%;
		max-width: 100%;
	}
	#restaurant > a:not(:last-of-type) {
		margin-bottom: 5em;
	}
	#onsen .logo,
	#breakfast .logo,
	#relaxation .logo,
	#aquaignis .logo,
	#restaurant .logo {
		margin: 0 auto;
		padding: 3em;
		min-height: 270px;
	}
	#breakfast a:first-child .logo {
		background: url("../../images/restaurant/breakfast/main.jpg") no-repeat center 80% / cover;
		position: relative;
	}
	
	/* #relaxation .logo {
		padding: 2em 3em;
	} */
	#restaurant .logo:hover img {
		opacity: 0.6;
	}
	#restaurant .logo img {
		transition: opacity 0.3s ease-out;
		opacity: 1;
	}
	#restaurant .hinomoriLogo img {
		width: 120px;
	}
	#restaurantWrap .arrowBtn {
		position: absolute;
		bottom: -6%;
		left: 50%;
		margin-left: -100px;
	}

	/* calendarBox
	---------------------------------------- */
	#calendarBox {
		margin-bottom: 7em;
	}
	#calendarBox p {
		font-size: 1.2em;
	}

	/* topAccess
	---------------------------------------- */
	#topAccess address,
	#topAccess .arrowBtn a {
		font-size: 1.3em;
	}
	#topAccess address {
		line-height: 2;
	}
	#topAccess address:first-of-type {
		letter-spacing: 0.1em;
	}
	#topAccess address:last-of-type {
		margin-bottom: 2em;
	}

	/* --------------------------------------------------------
	英語版ページの微調整
	-------------------------------------------------------- */

	/* contentsWrap
	---------------------------------------- */
	body.englishPage .contentsWrap .contentsHead {
		gap: 32px;
	}
	body.englishPage .contentsWrap .contentsHead h3 {
		text-orientation: mixed;
		line-height: 2;
	}
}

/*===============================================
●画面の横幅が1080px以上(PCのみ)
===============================================*/
@media screen and (min-width: 1080px) {

	/* トピックスのスワイパー ------------- */
	
	/* 左のボタン */
	#topTopics .topicsSwiperWrap .swiper-button-prev {
		left: -64px;
	}
	/* 右のボタン */
	#topTopics .topicsSwiperWrap .swiper-button-next {
		right: -64px;
	}
}
/*===============================================
●画面の横幅が1200px以上(PCのみ)
===============================================*/
@media screen and (min-width: 1200px) {
	.mainBkg {
		padding: 40px 0 0 40px;
	}
	.mainBkg .img img {
		width: 80px;
	}
}
