@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@400;500;700&display=swap');

/* *,
*::before,
*::after {
	outline: 1px solid red;
} */
* {
	margin: 0;
	padding: 0;
}

html {
	font-size: 100%;
}

body {
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	color: #4B4B4B;
	letter-spacing: 0.05em;
	margin: 0;
	position: relative;
}

a {
	color: #4B4B4B;
	text-decoration: none;
	word-break: break-all;
}

a:not(.gallery-item a):hover {
	opacity: 0.7;
}

.gallery-item a {
	cursor: default;
}

img {
	height: auto;
}

main{
	overflow: clip;
}

@media screen and (max-width:500px) {
	iframe {
		width: 100%;
	}
}

.l-container {
	display: block;
	max-width: 1260px;
	box-sizing: border-box;
	padding-left: 30px;
	padding-right: 30px;
	margin: 0 auto;
}

.l-inner {
	display: block;
	max-width: 1060px;
	padding-left: 30px;
	padding-right: 30px;
	margin: 0 auto;
}

@media screen and (max-width:500px) {
	.l-container {
		padding-left: 20px;
		padding-right: 20px;
	}

	.l-inner {
		padding-left: 20px;
		padding-right: 20px;
	}
}

.pc-only {
	display: block;
}

@media screen and (max-width:900px) {
	.pc-only {
		display: none;
	}
}

.pc-none {
	display: none;
}

@media screen and (max-width:900px) {
	.pc-none {
		display: block;
	}
}

.sp-none {
	display: block;
}

@media screen and (max-width:500px) {
	.sp-none {
		display: none;
	}
}

.sp-only {
	display: none;
}

@media screen and (max-width:500px) {
	.sp-only {
		display: block;
	}
}

/*=============================
 セクションタイトル
==============================*/
h2.secttl {
	font-size: 2.25rem;
	line-height: 1.42;
	letter-spacing: 0.1em;
	color: #C67A7A;
	text-align: center;
}

h2.secttl .jp {
	display: inline-block;
}

h2.secttl .jp span.sp-none {
	display: inline-block;
}

h2.secttl .en {
	display: block;
	font-family: "georgia", "georgiapro", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 0.875rem;
	margin-top: 0.8em;
}

h2.secttl.gold {
	color: #A19A69;
}

h2.secttl.left {
	text-align: left;
}

h2.secttl.white {
	color: #fff;
}

@media screen and (max-width:900px) {
	h2.secttl {
		font-size: max(3.96vw, 2rem);
	}
}

@media screen and (max-width:500px) {
	h2.secttl {
		font-size: 1.5rem;
	}
}

/*=============================
 ボタン
==============================*/
.btn_goto {
	display: block;
	max-width: 480px;
	width: 100%;
	border: #C67A7A 1px solid;
	border-radius: 42px;
	background-color: #C67A7A;
	text-align: center;
	position: relative;
	box-shadow: 0 5px 2px rgba(0, 0, 0, .13);
}

.btn_goto:hover {
	background-color: #fff;
	opacity: 1;
}

.btn_goto a {
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1.4;
	height: 60px;
	padding: 0 50px;
	width: 100%;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1rem;
	font-weight: 700;
	color: #fff;
}

.btn_goto:hover a {
	color: #C67A7A;
}

.btn_goto::after {
	content: '';
	width: 12px;
	height: 12px;
	border-right: 3px solid #fff;
	border-bottom: 3px solid #fff;
	position: absolute;
	top: 50%;
	right: 30px;
	transform: translate(-50%, -50%) rotate(-45deg);
}

.btn_goto:hover::after {
	transition: 0.3s;
	transform: translate(-30%, -50%) rotate(-45deg);
}

.btn_goto a:hover {
	opacity: 1;
}

.btn_goto.gold {
	background-color: #A19A69;
	border: #A19A69 1px solid;
}

.btn_goto.gold:hover {
	background-color: #fff;
}

.btn_goto.gold:hover a {
	color: #A19A69;
}

.btn_goto.reverse {
	background-color: #fff;
	border: #C67A7A 1px solid;
}

.btn_goto.reverse:hover {
	background-color: #C67A7A;
}

.btn_goto.reverse a {
	color: #C67A7A;
	font-weight: 500;
}

.btn_goto.reverse:hover a {
	color: #fff;
}

.btn_goto.reverse::after {
	border-right: 3px solid #C67A7A;
	border-bottom: 3px solid #C67A7A;
	right: 40px;
}

.btn_goto.reverse:hover::after {
	border-color: #fff;
}

.btn_goto.no-shadow {
	box-shadow: none;
}

@media screen and (max-width:500px) {
	.btn_goto {
		width: 315px;
	}

	.btn_goto a {
		font-size: 0.9375rem;
	}

	.useful .btn_goto,
	.blog .btn_goto,
	.campaign .btn_goto,
	.enjoy .btn_goto {
		width: 290px;
	}

	.useful .btn_goto::after,
	.campaign .btn_goto::after,
	.enjoy .btn_goto::after {
		right: 15px;
	}

	.useful .btn_goto a {
		font-size: 0.875rem;
	}

	.enjoy .btn_goto a {
		font-size: 0.75rem;
	}
}

.btn_detail {
	display: inline-block;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	color: #fff;
	line-height: 2.5;
	background-color: #C67A7A;
	border: #C67A7A 1px solid;
	border-radius: 2.14em;
	padding: 0 2.14em;
}

.btn_detail:hover {
	background-color: #fff;
	color: #C67A7A;
	opacity: 1;
}

.btn_detail.reverse {
	color: #C67A7A;
	background-color: #fff;
	border: #C67A7A 1px solid;
}

.btn_detail.reverse:hover {
	background-color: #C67A7A;
	color: #fff;
}

.btn_detail.gold {
	background-color: #A19A69;
	border: #A19A69 1px solid;
}

.btn_detail.gold:hover {
	color: #A19A69;
	background-color: #fff;
}

@media screen and (max-width:500px) {
	.btn_detail {
		font-size: 0.6875rem;
		line-height: 2.45;
	}
}

/*=============================
 予約ボタン
==============================*/
.reserve-md {
	width: 100%;
	padding: 22px 0;
}

.reserve-md .inner {
	max-width: 700px;
	width: 100%;
	display: flex;
	justify-content: center;
	margin: 0 auto;
}

.reserve-md .btn_reserve {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 230px;
	height: 80px;
	border-radius: 2.625rem;
	position: relative;
}

.top .reserve-md .btn_reserve {
	height: 85px;
}

.reserve-md .btn_reserve:not(:first-child) {
	margin-left: 30px;
}

.reserve-md .btn_reserve.red {
	background-color: #C67A7A;
	box-shadow: 0 5px 0 #EDD3D2;
}

.reserve-md .btn_reserve.gold {
	background-color: #A19A69;
	box-shadow: 0 5px 0 #F0EEE5;
}

.reserve-md .btn_reserve.reverse {
	background-color: #fff;
	box-shadow: 0 5px 0 #EDD3D2;
}

.reserve-md .btn_reserve.reverse .txt {
	color: #C67A7A;
}

.reserve-md .btn_reserve .img {
	width: 2.25rem;
}

.reserve-md .btn_reserve .img img {
	width: 100%;
	aspect-ratio: 36/30;
}

.reserve-md .btn_reserve .txt {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5;
	color: #fff;
	margin-left: 0.625em;
}

.reserve-md .btn_reserve:hover {
	opacity: 1;
	transform: translateY(3px);
	box-shadow: 0 0 0 transparent;
	transition: 0.3s ease-in-out;
}

@media screen and (max-width:500px) {
	.reserve-md .btn_reserve {
		text-align: center;
		width: 150px;
		height: 50px;
		border-radius: 2.625rem;
	}

	.top .reserve-md .btn_reserve {
		height: 50px;
	}

	.reserve-md .btn_reserve:not(:first-child) {
		margin-left: 20px;
	}

	.reserve-md .btn_reserve .txt {
		font-size: 0.8125rem;
		line-height: 1.3;
	}
}

/*=============================
 吹き出し
==============================*/
.baloon {
	position: relative;
	display: block;
	width: fit-content;
	background-color: #fff;
	border: #C67A7A 3px solid;
	border-radius: 10px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.5rem;
	font-weight: 500;
	color: #C67A7A;
	letter-spacing: 0.1em;
	line-height: 2.25em;
	text-align: center;
	padding: 0 3.3em;
	margin: 0 auto;
}

.baloon::before {
	position: absolute;
	bottom: -46px;
	left: 50%;
	content: '';
	border: 23px transparent solid;
	border-top: 23px #C67A7A solid;
	transform: translateX(-50%);
	z-index: 2;
}

.baloon::after {
	position: absolute;
	bottom: -38px;
	left: 50%;
	content: '';
	border: 21px transparent solid;
	border-top: 21px #fff solid;
	transform: translateX(-50%);
	z-index: 3;
}

.baloon.gold {
	border-color: #A19A69;
	color: #A19A69;
}

.baloon.gold::before {
	border-top-color: #A19A69;
}

@media screen and (max-width:700px) {
	.baloon {
		font-size: max(3.43vw, 1.125rem);
	}
}

/*=============================
 記事一覧
==============================*/
.item_list {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	/* gap: 50px; */
	gap: 10px;
}

.item_list .item {
	/* max-width: 300px; */
	width: 300px;
	display: flex;
	flex-direction: column;
}

.item_list.x280 .item {
	max-width: 280px;
}

.item_list .item .img_block {
	width: 100%;
	height: 200px;
	border-radius: 10px;
}

.item_list .item .img_block img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	border-radius: 10px;
}

.item_list .item .txt_block {
	width: 100%;
	height: 200px;
	padding-top: 20px;
	position: relative;
}

.item_list .item .txt_block time {
	display: block;
	font-family: "georgia", "georgiapro", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 0.8125rem;
	color: #A19A69;
}

.item_list .item .txt_block time.red {
	color: #C67A7A;
}

.item_list .item .txt_block .ttl {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.44;
	margin-top: 1em;
	margin-bottom: 1.2em;
}

.item_list .item .txt_block .btn {
	position: absolute;
	bottom: 1em;
	left: 50%;
	text-align: center;
	transform: translateX(-50%);
}

@media screen and (max-width:800px) {
	.item_list {
		row-gap: 0;
		margin: 31px auto 0;
	}

	.item_list .item {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		max-width: 100%;
		width: 100%;
		row-gap: 0;
		margin-bottom: 20px;
	}

	.item_list .item .img_block {
		width: 25.4%;
		height: auto;
	}

	.item_list .item .img_block img {
		height: auto;
		aspect-ratio: 1/1;
	}

	.item_list .item .txt_block {
		width: 71.4%;
		height: auto;
		padding-top: 0;
	}

	.item_list .item .txt_block .ttl {
		font-size: max(2.25vw, 0.8125rem);
		display: inline-block;
	}

	.item_list .item .txt_block .btn {
		position: relative;
		left: 0;
		text-align: left;
		transform: none;
		margin-top: 1rem;
	}
}

@media screen and (max-width:500px) {
	.item_list .item .txt_block .btn {
		margin-top: 10px;
	}
}

/*=============================
 バナーエリア
==============================*/
.banner_area {
	padding: 93px 0px 96px;
}

.banner_area.col3 {
	padding: 53px 30px 47px;
}

.banner_area ul {
	display: flex;
	justify-content: space-between;
}

.banner_area li {
	width: 48%;
	aspect-ratio: 480/200;
	position: relative;
}

.banner_area.col3 li {
	width: 32.5%;
	aspect-ratio: 390/200;
}

.banner_area img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 10px;
}

.banner_area .btn_detail {
	position: absolute;
	bottom: 12px;
	right: 10px;
	z-index: 2;
}

.banner_area .ttl {
	position: absolute;
	z-index: 2;
	display: block;
	width: 90%;
	text-align: center;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.banner_area .ttl p {
	display: inline-block;
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 2;
	position: relative;
}

.banner_area.col3 .ttl p {
	line-height: 1.45;
}

.banner_area .ttl p::before {
	content: '';
	position: absolute;
	top: 0;
	left: -0.8em;
	z-index: -1;
	background-color: rgba(255, 255, 255, 0.7);
	width: calc(100% + 1.6em);
	height: 100%;
}

@media screen and (max-width:1200px) {
	.banner_area .ttl p {
		font-size: max(2vw, 1rem);
	}
}

@media screen and (max-width:900px) {
	.banner_area {
		padding: 10.2vw 30px 10.56vw;
	}

	.banner_area.col3 ul {
		flex-wrap: wrap;
		justify-content: center;
		gap: 3.2vw;
	}

	.banner_area.col3 li {
		width: 48%;
		aspect-ratio: 480/200;
	}
}

@media screen and (max-width:765px) {
	.banner_area.col3 li {
		width: 100%;
		height: 160px;
		aspect-ratio: none;
	}

	.banner_area.col3 .ttl p {
		font-size: 3.12vw;
	}
}

@media screen and (max-width:500px) {
	.banner_area {
		padding: 68px 20px;
	}

	.banner_area ul {
		flex-direction: column;
	}

	.banner_area li {
		width: 100%;
		aspect-ratio: 335/140;
	}

	.banner_area li:not(:first-child) {
		margin-top: 30px;
	}

	.banner_area .ttl {
		text-align: left;
		top: 30px;
		left: 30px;
		transform: none;
	}

	.banner_area .ttl p {
		font-size: 1.125rem;
	}

	.banner_area.col3 ul {
		gap: 0;
	}

	.banner_area.col3 {
		padding: 50px 20px;
	}

	.banner_area.col3 li {
		width: 100%;
		height: auto;
		aspect-ratio: 335/140;
	}

	.banner_area.col3 li img {
		aspect-ratio: 335/140;
	}
}

/*=============================
 テーブル
==============================*/
.common_table {
	width: 100%;
	border-collapse: separate;
	table-layout: fixed;
	margin-top: 100px;
}

.common_table tbody {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.125rem;
	letter-spacing: 0.01em;
	line-height: 1.5;
	border: none;
}

.common_table th {
	width: 18.4%;
	font-weight: 500;
	color: #fff;
	text-align: left;
	vertical-align: top;
	background-color: #C67A7A;
	border: #C67A7A 1px solid;
	padding: 34px 0 34px 29px;
}

.common_table td {
	width: 81%;
	font-weight: 400;
	color: #000;
	background-color: #fff;
	border: #C67A7A 1px solid;
	padding: 34px 25px;
}

.common_table td > p + p {
	margin-top: 1em;
}

.common_table td a {
	text-decoration: underline;
}

.common_table td .btn_block a {
	text-decoration: none;
}

.common_table .bold {
	font-weight: 700;
}

.common_table td dl {
	margin-bottom: 6px;
}

.common_table td dt {
	font-weight: 700;
	margin-bottom: 0.5em;
}

.common_table td dt:not(:first-child) {
	margin-top: 1.5em;
}

.common_table td .btn_block {
	margin-top: 40px;
	margin-bottom: 75px;
}

.common_table td dd:last-of-type .btn_block {
	margin-bottom: 0;
}

@media screen and (max-width:900px) {
	.common_table tbody {
		font-size: max(1.98vw, 0.875rem);
	}

	.common_table th {
		width: 24%;
		padding: 3.74vw 0 3.74vw 15px;
	}

	.common_table td {
		width: 75.5%;
		padding: 3.74vw 2.75vw;
	}
}

@media screen and (max-width:500px) {
	.common_table {
		border-collapse: collapse;
		margin-top: 70px;
	}

	.common_table th {
		display: block;
		width: 100%;
		padding: 0.5em 1em 0.4em;
	}

	.common_table td {
		display: block;
		width: 100%;
		/* width: calc(100% - 125px); */
	}
}

/*=============================
 ページネーション
==============================*/
.p-blog__pager ul.page-numbers {
	display: flex;
	justify-content: center;
	gap: 20px;
}

.p-blog__pager ul.page-numbers li {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 500;
	color: #292F36;
	line-height: 3.25em;
	width: 3.25em;
	text-align: center;
	background-color: #fff;
	border: #C67A7A 1px solid;
	border-radius: 50%;
	position: relative;
}

.p-blog__pager ul.page-numbers li:has(.current) {
	background-color: #FFF2F2;
	border-color: #FFF2F2;
}

.p-blog__pager ul.page-numbers li a.next,
.p-blog__pager ul.page-numbers li a.prev {
	content: '';
	width: 10px;
	height: 10px;
	border-right: #292F36 1px solid;
	border-bottom: #292F36 1px solid;
	position: absolute;
	top: 50%;
	left: 50%;
}

.p-blog__pager ul.page-numbers li a.next {
	transform: translate(-80%, -50%) rotate(-45deg);
}

.p-blog__pager ul.page-numbers li a.prev {
	transform: translate(-20%, -50%) rotate(135deg);
}

/*=============================
 FAQ
==============================*/
.faq_list li {
	background-color: #fff;
	/* border-radius: 10px; */
	padding: 18px 5px;
}

.faq_list li .question {
	display: flex;
	align-items: baseline;
	padding-bottom: 1rem;
	position: relative;
	cursor: pointer;
}

.faq_list li .question .mark {
	width: 66px;
	font-family: "georgia", "georgiapro", sans-serif;
	font-size: 2.25rem;
	font-weight: 400;
	color: #A19A69;
	padding-top: 0.2em;
}

.faq_list li .question .txt {
	width: calc(100% - 66px - 35px);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.25rem;
	font-weight: 400;
	/* color: #C67A7A; */
}

.faq_list li .question .plus1,
.faq_list li .question .plus2 {
	position: absolute;
	right: 0;
	width: 15px;
	height: 1px;
	background-color: #C67A7A;
}

.faq_list li .question .plus1 {
	top: 50%;
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: 0.5s;
	transition: 0.5s;
}

.faq_list li .question .plus2 {
	top: 50%;
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
	-webkit-transition: 0.5s;
	transition: 0.5s;
}

.faq_list li .question.active .plus1 {
	display: none;
}

.faq_list li .question.active .plus2 {
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
}

.faq_list li .answer {
	display: flex;
	padding-top: 7px;
	padding-bottom: 15px;
}

.faq_list li .answer .mark {
	width: 66px;
	font-family: "georgia", "georgiapro", sans-serif;
	font-size: 2.25rem;
	font-weight: 400;
	line-height: normal;
	color: #C67A7A;
	/* padding-top: 0.5em; */
	padding-top: 0.5rem;
}

.faq_list li .answer .txt {
	width: calc(100% - 66px - 35px);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.25rem;
	font-weight: 400;
	/* color: #C67A7A; */
	line-height: 1.5;
	/* padding-top: 0.6em; */
	padding-top: 0.5rem;
}

.faq_list li .answer .txt a {
	color: #1a0dab;
}

@media screen and (max-width:900px) {
	.faq_list li .question .mark {
		width: 7.26vw;
		font-size: max(3.96vw, 1.5rem);
	}

	.faq_list li .question .txt {
		width: calc(100% - 7.26vw - 35px);
		font-size: max(2.2vw, 0.875rem);
	}

	.faq_list li .answer .mark {
		width: 7.26vw;
		font-size: max(3.96vw, 1.5rem);
	}

	.faq_list li .answer .txt {
		width: calc(100% - 7.26vw - 35px);
		font-size: max(2.2vw, 0.875rem);
	}
}

@media screen and (max-width:500px) {
	.faq_list {
		padding: 10px 0 10px;
	}

	.faq_list li .question {
		justify-content: space-between;
		align-items: center;
		padding-bottom: 0;
	}

	.faq_list li .answer {
		justify-content: space-between;
		align-items: center;
	}

	.faq_list li .answer .mark {
		margin-top: 0;
	}

	.faq_list li .question .mark,
	.faq_list li .answer .mark {
		font-size: 2.25rem;
		width: 31px;
	}

	.faq_list li .question .plus1,
	.faq_list li .question .plus2 {
		display: none;
	}

	.faq_list li .question .txt,
	.faq_list li .answer .txt {
		width: calc(100% - 31px - 14px);
		font-size: 1rem;
	}
}

.gallery-item img {
	height: auto;
}

.area_btn {
	margin-bottom: 40px;
	text-align: center;
}



/*=============================
 言語バー
==============================*/


.top_float_lang {
	font-family: "Noto Sans JP", sans-serif;
	display: flex;
	justify-content: center;
	width: fit-content;
	position: relative;
	top: -120px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 40;
	max-width: 850px;
}

@media screen and (min-width:901px) {
	body:not(.top) main {
		position: relative;
	}

	body:not(.top) .top_float_lang {
		position: absolute;
		top: 425px;
		width: 100%;
	}
}

.top_flota_lang__left {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #333333;
	border-radius: 8px 0 0 8px;
	font-size: 0.875rem;
	font-weight: 700;
	color: #fff;
	padding: 1.25rem 2.93rem;
}

.top_flota_lang__left img {
	width: 1rem;
	height: 1rem;
	margin-right: 0.2em;
}

.top_flota_lang__right {
	background-color: #fff;
	border-radius: 0 8px 8px 0;
}

.top_flota_lang__right ul {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 2.85em;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1rem;
	padding: 1.25rem 4.1rem 1.25rem 2.93rem;
}

.top_flota_lang__right ul li a {
	color: #000;
	text-decoration: underline;
}

@media screen and (max-width:900px) {
	.top_float_lang {
		max-width: 90%;
		flex-direction: column;
		top: 0;
		margin-top: 66px;
		z-index: 20;
	}

	.top_flota_lang__left {
		width: 100%;
		border-radius: 8px 8px 0 0;
		padding: 7px 0;
	}

	.top_flota_lang__right {
		width: 100%;
		border: #707070 1px solid;
		border-radius: 0 0 8px 8px;
	}

	.top_flota_lang__right ul {
		justify-content: center;
		flex-wrap: wrap;
		row-gap: 10px;
	}
}