@charset "UTF-8";
/* PCページ */
@media screen and (min-width: 768px){
main{
	padding-top: 114px;
}
/* ページタイトル */
.page-title::after{
	background-image : url(img/question-3.jpg);
}
.page-text::after{
	position: absolute;
	content: "";
	background-image : url(img/24265763_s.jpg);
	background-size: contain;
	width: 100%;
	height: 100%;
	z-index: -1;
	opacity: 0.5;
	top: 0;
}
.page-text::before{
	position: absolute;
	content: "";
	background: #8b837c;
	opacity: 0.1;
	width: 100%;
	height: 100%;
	top: 0;
	z-index: -2;
}
.sub-title{
	display: inline-grid;
	padding-top: 60px;
	opacity: 0;
	transition: 1.4s, transform 1s;
	transform: translateY(20px);
}
.sub-title.run{
	opacity: 1;
	transform: translateY(0);
}
.sub-title::after{
	position: absolute;
	content: "";
	background: linear-gradient(90deg, #8b837c 0%, #8b837c 50%, #d8d8d8 50%, #d8d8d8 100%);
	width: 100%;
	height: 1px;
	bottom: 0;
}
/* よくある質問カテゴリ */
.guest1{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	column-gap: 5px;
	justify-content: center;
	margin: 40px auto 0;
	width: 100%;
	max-width: 1080px;
	padding: 0;
	transition: opacity 1.4s, transform 1s;
	opacity: 0;
	transform: translateY(20px);
}
.guest1.run{
	opacity: 1;
	transform: translateY(0);
}
.guest1 p{
	margin: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
.guest1 p a::before{
	position: absolute;
	content: "";
	background: #8b837c;
	width: 100%;
	height: 0;
	left: 0;
	top: 0;
	opacity: 0;
	overflow: hidden;
	z-index: -1;
}
.guest1 p a:hover::before{
	height: 100%;
	opacity: 1;
	transition: .3s;
}
.guest1 p a{
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
	width: 100%;
	padding: 20px 5px 30px;
	color: #545454;
	font-weight: bold;
	column-gap: 5px;
	z-index: 1;
	font-size: min(1.3vw, 16px);
}
.guest1 p a:hover{
	color: #fff;
}
.guest1 p a::after{
	position: absolute;
	content: "";
	border-right: 2px solid #d8d8d8;
	border-bottom: 2px solid #d8d8d8;
	transform: rotate(45deg);
	bottom: 15px;
	width: 6px;
	height: 6px;
	transition: .3s;
}
.guest1 p a:hover::after{
	bottom: 5px;
	border-color: #fff;
}
.page-text{
	padding: 20px 4vw 60px;
}
/* よくある質問 */
.question1{
	width: 100%;
	max-width: 1920px;
	padding: 0 4vw;
	margin: 0 auto;
	display: grid;
	justify-items: center;
}
.question1-in1{
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
	display: inline-grid;
	justify-items: center;
}
.question1-in1 div:nth-child(2){
	margin-top: 40px;
}
.question1-in1 p{
	margin: 0;
}
.q-menu{
	display: grid;
	width: 100%;
	background: #f9f8f8;
	margin-bottom: 20px;
	opacity: 0;
	transition: opacity 1.4s, transform 1s;
	transform: translateY(20px);
}
.q-menu.run{
	opacity: 1;
	transform: translateY(0);
}
.q-menu label{
	display: grid;
	align-items: center;
	color: #8b837c;
	font-weight: bold;
	position: relative;
	cursor: pointer;
	font-size: 17px;
	padding: 30px 20px 30px 100px;
}
.q-menu label::after{
	position: absolute;
	content: "";
	border-right: 2px solid #8b837c;
	border-bottom: 2px solid #8b837c;
	right: 1.5em;
	transform: rotate(45deg);
	width: 5px;
	height: 5px;
	transition: .3s;
}
.q-menu input:checked + label::after{
	transform: rotate(-135deg);
}
.q-label span{
	positon: relative;
	display: grid;
	align-items: center;
}
.q-label span::before{
	position: absolute;
	content: "";
	background: #8b837c;
	border-radius: 50%;
	left: 40px;
	width: 2.5em;
	height: 2.5em;
}
.q-label span::after{
	position: absolute;
	content:"Q";
	font-size: 23px;
	color: #fff;
	line-height: 2.5em;
	left: 51px;
	font-family: "Century Gothic" , Verdana,Arial , sans-serif;
}
.q-menu p{
	opacity: 0;
	overflow: hidden;
	height: 0;
	display: grid;
	align-items: center;
	transition: .3s;
	padding: 0;
}
.q-menu input:checked ~ p{
	opacity: 1;
	height: auto;
	width: 100%;
	display: grid;
	align-items: start;
	padding: 0 0 20px;
}
.q-menu p span:not(.q-menu p span span){
	display: grid;
	align-items: center;
	position: relative;
	background: #fff;
	margin: 0 20px;
	padding: 20px 20px 20px 80px;
}
.q-menu p span span:first-child{
	margin-top: -20px;
}
.q-menu p span:first-child:not(.q-menu p span span)::before{
	position: absolute;
	content: "";
	background: #eb3c4c;
	width: 2.5em;
	height: 2.5em;
	border-radius: 50%;
	left: 20px;
	top: 13px;
}
.q-menu p span:first-child:not(.q-menu p span span)::after{
	position: absolute;
	content: "A";
	font-family: "Century Gothic" , Verdana,Arial , sans-serif;
	font-size: 23px;
	color: #fff;
	font-weight: bold;
	left: 32px;
	top: 18px;
}
.q-menu span a{
	color: #1d56a5;
	text-decoration: underline;
}
.q-menu span a:hover{
	opacity: 0.8;
	transition: .3s;
}
footer{
	margin-top: -20px;
}
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width: 1024px){
main{
	padding-top: 79px;
}
/* ゲストルームカテゴリ */
.guest1{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 5px;
}
.guest1 p a{
	font-size: 15px;
}
.question1{
	padding-bottom: 80px;
}
}
/*スマホページ */
@media screen and (max-width: 768px){
main{
	padding-top: 72px;
}
/* ページタイトル */
.page-title::after{
	background-image : url(img/question-3.jpg);
}
.page-text::after{
	position: absolute;
	content: "";
	background-image : url(img/24265763_s.jpg);
	background-size: contain;
	width: 100%;
	height: 100%;
	z-index: -1;
	opacity: 0.5;
	top: 0;
}
.page-text::before{
	position: absolute;
	content: "";
	background: #8b837c;
	opacity: 0.1;
	width: 100%;
	height: 100%;
	top: 0;
	z-index: -2;
}
.sub-title{
	display: inline-grid;
	margin-bottom: 0;
}
.sub-title::after{
	position: absolute;
	content: "";
	background: linear-gradient(90deg, #8b837c 0, #8b837c 50%, #d8d8d8 50%, #d8d8d8 100%);
	width: 100%;
	height: 1px;
	bottom: 0;
}
/* ゲストルームカテゴリ */
.guest1{
	width: 100%;
	display: grid;
	padding: 0;
	margin: 20px auto 10px;
}
.guest1 p{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin: 0;
	position: relative;
	background: #fff;
}
.guest1 p a{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	font-weight: bold;
	color: #545454;
	padding: 15px 10px 15px 45px;
	font-size: min(1.2em, 15px);
	width: 100%;
}
.guest1 p a::before{
	position: absolute;
	content: "";
	background: #8b837c;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	left: 15px;
}
.guest1 p a::after{
	position: absolute;
	content: "";
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(45deg);
	width: 4px;
	height: 4px;
	left: 22px;
}
.guest1 p a:not(.guest1 p:last-child a){
	border-bottom: 1px solid #d8d8d8;
}
.guest1 p a:hover{
	opacity: 0.8;
	transition: .3s;
}
/* よくある質問 */
.question1{
	display: grid;
	padding: 30px 20px 20px 20px;
	width: 100%;
	justify-items: center;
}
.question1-in1{
	display: grid;
	justify-items: center;
	row-gap: 20px;
	padding-bottom: 30px;
}
.q-menu{
	display: grid;
	width: 100%;
	background: #f9f8f8;
}
.q-menu label{
	cursor: pointer;
	padding: 15px 25px 15px 20px;
	position: relative;
	color: #8b837c;
	font-weight: bold;
	display: grid;
	align-items: center;
}
.q-menu label::after{
	position: absolute;
	content: "";
	border-right: 2px solid #8b837c;
	border-bottom: 2px solid #8b837c;
	transform: rotate(45deg);
	width: 4px;
	height: 4px;
	right: 1em;
	transition: .3s;
}
.q-menu input:checked ~ label::after{
	transform: rotate(-135deg);
}
.q-menu label span{
	position: relative;
	display: grid;
	padding-left: 40px;
}
.q-menu label span::before{
	position: absolute;
	content: "";
	background: #8b837c;
	border-radius: 50%;
	left: 0;
	width: 28px;
	height: 28px;
}
.q-menu label span::after{
	position: absolute;
	content: "Q";
	color: #fff;
	font-weight: bold;
	font-size: 17px;
	left: 7px;
	font-family: 'Arial' , 'Hiragino Sans' , 'MS Gothic' , sans-serif;
}
.q-menu p{
	margin: 0;
	opacity: 0;
	overflow: hidden;
	height: 0;
	transition: .3s;
	padding: 0 10px;
}
.q-menu input:checked ~ p{
	opacity: 1;
	height: auto;
	padding: 0 10px 10px;
}
.q-menu p span:not(.q-menu p span span){
	display: grid;
	align-items: start;
	background: #fff;
	margin: 0;
	padding: 10px 10px 10px 50px;
	position: relative;
}
.q-menu p span:not(.q-menu span span):first-child::before{
	position: absolute;
	content: "";
	background: #eb3c4c;
	border-radius: 50%;
	width: 28px;
	height: 28px;
	left: 10px;
	top: 10px;
}
.q-menu p span:not(.q-menu p span span):first-child::after{
	position: absolute;
	content: "A";
	font-weight: bold;
	color: #fff;
	left: 18px;
	top: 10px;
	font-size: 17px;
	font-family: 'Arial' , 'Hiragino Sans' , 'MS Gothic' , sans-serif;
}
.q-menu p span span:first-child{
	margin-top: -20px;
}
.q-menu span a{
	color: #1d56a5;
	text-decoration: underline;
}
.q-menu span a:hover{
	opacity: 0.8;
	transition: .3s;
}
}