@charset "UTF-8";

:root {
	/* font */
	--gothic: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	--poppins: "Poppins", sans-serif;

	/* color */
	--blk: 28, 34, 34;
	--wht: 255, 255, 255;
	--orn: 209, 134, 50;
	--blu: 0, 129, 204;
	--lightBlu: 205, 234, 236;
	--grn: 23, 150, 131;
	--darkGrn: 23, 123, 110;
	--lightGrn: 146, 230, 196;
}

/* ----------------------------------------------------
	基本設定
---------------------------------------------------- */
html {
	scroll-behavior: smooth;
	scroll-padding-top: 11vw;
}

@media screen and (max-width: 768px) {
	html {
		scroll-padding-top: 14.10256vw;
	}
}

/*
	表示設定
------------------------------ */
body {
	background: rgb(var(--wht));
	line-height: 1.8;
	overflow-x: hidden;
}

.visually-hidden {
	margin: -1px;
	padding: 0;
	width: 1px;
	height: 1px;
	white-space: nowrap;
	clip: rect(0, 0, 0, 0);
	overflow: hidden;
	border: 0;
	position: absolute;
}

a {
	display: inline-block;
	text-decoration: underline;
	transition: all 0.5s ease 0s;
}

a:hover {
	text-decoration: none;
}

/*
	font
------------------------------ */
body {
	font-family: var(--gothic);
	font-feature-settings: "palt"1;
	letter-spacing: 0.05em;
}

body,
th,
td {
	color: rgb(var(--blk));
	font-size: 16px;
	font-weight: 500;
}

@media screen and (max-width: 1100px) {

	body,
	th,
	td {
		font-size: 1.45455vw;
	}
}

@media screen and (max-width: 768px) {
	body {
		font-size: 4.26667vw;
	}

	th,
	td {
		font-size: 3.58974vw;
	}
}

/*
	SP,PC表示切り替え
------------------------------ */
.pc {
	display: block;
}

.sp {
	display: none;
}

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

	.sp {
		display: block;
	}
}

/*
	list
------------------------------ */
ul.list li {
	position: relative;
}

/* note */
ul.note li {
	margin-left: 1em;
	font-size: 12px;
	text-indent: -1em;
}

ul.note li * {
	text-indent: 0;
}

ul.note li::before {
	content: "※";
}

ul.type1 li::before {
	content: "●";
}

@media screen and (max-width: 1100px) {
	ul.note li {
		font-size: 1.09091vw;
	}
}

@media screen and (max-width: 768px) {
	ul.note li {
		font-size: 3.07692vw;
	}
}

/*
	tel
------------------------------ */
.tel {
	pointer-events: none;
}

@media screen and (max-width: 768px) {
	.tel {
		pointer-events: all;
	}
}

/*
	linkBtn
------------------------------ */
.linkBtn a {
	background: rgb(var(--blk));
	height: 70px;
	font-size: 18px;
	text-decoration: none;
	border-radius: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

.linkBtn a:hover {
	opacity: 0.5;
}

.linkBtn a span {
	line-height: 1;
	color: rgb(var(--wht));
	display: inline-block;
	position: relative;
}

.linkBtn a span::after {
	background: url(../img/triangle.svg) center no-repeat;
	width: 12px;
	height: 16px;
	line-height: 1;
	position: absolute;
	top: 50%;
	right: -1em;
	transform: translateY(-50%);
	content: "";
}

@media screen and (max-width: 1100px) {
	.linkBtn a {
		height: 6.36364vw;
		font-size: 1.63636vw;
		border-radius: 0.90909vw;
	}

	.linkBtn a span::after {
		width: 1.09091vw;
		height: 1.45455vw;
	}
}

@media screen and (max-width: 768px) {
	.linkBtn a {
		height: 13.84615vw;
		font-size: 3.58974vw;
		border-radius: 2.56410vw;
	}

	.linkBtn a span::after {
		width: 2.05128vw;
		height: 2.82051vw;
	}
}

/* ----------------------------------------------------
	pagetop
---------------------------------------------------- */
.pageTop a {
	background: rgba(var(--blk), 0.8);
	width: 64px;
	height: 64px;
	border-radius: 8px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	right: 1rem;
	bottom: 1rem;
	z-index: 10;
}

.pageTop a svg {
	fill: rgb(var(--wht));
	width: 16px;
	height: auto;
}

/* ----------------------------------------------------
	fadeIn
---------------------------------------------------- */
/*
	共通初期設定
	透明度が変化
------------------------------ */
.fadeBlock {
	opacity: 0;
	transition: all 1s;
}

.fadeBlock.fadeIn {
	opacity: 1;
}

/*
	下から
------------------------------ */
.fadeBottom {
	transform: translateY(10px);
}

.fadeBottom.fadeIn {
	transform: translateY(0);
}

/* ---------------------------------------------------
	header
---------------------------------------------------- */
.header {
	background: rgb(249, 232, 214);
	background: linear-gradient(0deg, rgba(249, 232, 214, 1) 0%, rgba(246, 246, 227, 1) 100%);
	padding-bottom: 11vw;
}

.header__kv {
	padding: 4.09956vw 0 3.3675vw;
	height: 53.88727vw;
	overflow: hidden;
	position: relative;
}

.header__kv::before {
	background: url(../img/headerObj.webp) center top no-repeat;
	background-size: 100% auto;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	transform: scale(1.2);
	animation: scaleDown 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
	content: "";
}

@keyframes scaleDown {
	from {
		transform: scale(1.2);
	}

	to {
		transform: scale(1);
	}
}

.header__kv--images {
	margin: 0 auto;
	width: 83.07346%;
	opacity: 0;
	animation: fadeIn 2.5s ease-out forwards;
}

@keyframes fadeIn {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@media screen and (max-width: 768px) {
	.header {
		padding-bottom: 14.10256vw;
	}

	.header__kv {
		padding: 9.00328vw 0 13.45672vw;
		height: 85.99636vw;
	}

	.header__kv::before {
		background: url(../img/headerObj_sp.webp) center top no-repeat;
		background-size: 100% auto;
	}

	.header__kv--images {
		width: 100%;
	}
}

/*
	gnav
---------------------------------------------------- */
.gnav {
	margin: 0 auto;
	width: 1095px;
}

.gnav__list {
	width: 100%;
	border-left: solid 1px rgb(var(--darkGrn));
	display: flex;
}

.gnav__list--item {
	border-right: solid 1px rgb(var(--darkGrn));
}

.gnav__list--item a {
	height: 52px;
	line-height: 1;
	color: rgb(var(--darkGrn));
	font-family: var(--poppins);
	font-size: 22px;
	text-align: center;
	text-decoration: none;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.gnav__list--item a .jp {
	margin-top: 4px;
	font-family: var(--gothic);
	font-size: 13px;
	display: block;
}

.gnav__list--item a:hover {
	background: rgb(var(--darkGrn));
	color: rgb(var(--wht));
}

.gnav__list--item.gnav__event {
	width: 17%;
}

.gnav__list--item.gnav__restaurant {
	width: 24%;
}

.gnav__list--item.gnav__bar {
	width: 12%;
}

.gnav__list--item.gnav__spa {
	width: 30%;
}

.gnav__list--item.gnav__plan {
	width: 17%;
}

@media screen and (max-width: 1366px) {
	.gnav {
		max-width: 87.4817vw;
	}

	.gnav__list--item a {
		height: 3.80673vw;
		font-size: 1.61054vw;
	}

	.gnav__list--item a .jp {
		margin-top: 0.29283vw;
		font-size: 0.95168vw;
	}
}

@media screen and (max-width: 768px) {
	.gnav {
		max-width: 94.58138vw;
	}

	.gnav__list {
		border-left: none;
		flex-wrap: wrap;
		justify-content: center;
	}

	.gnav__list--item {
		margin-bottom: 3.07692vw;
		border-right: none;
		border-left: solid 1px rgb(var(--darkGrn));
	}

	.gnav__list--item a {
		height: 8.68195vw;
		font-size: 4.10256vw;
	}

	.gnav__list--item a .jp {
		margin-top: 1.02564vw;
		font-size: 3.07692vw;
	}

	.gnav__list--item.gnav__event {
		width: 30%;
	}

	.gnav__list--item.gnav__restaurant {
		width: 40%;
	}

	.gnav__list--item.gnav__bar {
		width: 30%;
		border-right: solid 1px rgb(var(--darkGrn));
	}

	.gnav__list--item.gnav__spa {
		width: 60%;
	}

	.gnav__list--item.gnav__plan {
		width: 30%;
		border-right: solid 1px rgb(var(--darkGrn));
	}
}

/* ---------------------------------------------------
	footer
---------------------------------------------------- */
.footer {
	padding-top: 100px;
}

.footer__address {
	margin-bottom: 50px;
	text-align: center;
}

.footer__address--contents {
	margin-bottom: 2em;
	line-height: 1;
}

.footer__address--name {
	margin-bottom: 1em;
	font-size: 20px;
	font-weight: 800;
}

.footer__address--details {
	font-size: 15px;
}

.footer__sns {
	margin-bottom: 30px;
	display: flex;
	justify-content: center;
}

.footer__sns--item {
	margin: 0 1em;
	width: 40px;
}

.footer__map iframe {
	width: 100%;
	height: 300px;
}

.footer .note {
	margin: 0 auto 28px;
	padding: 0 50px;
	max-width: 1000px;
}

@media screen and (max-width: 1100px) {
	.footer {
		padding-top: 100px;
	}

	.footer__address {
		margin-bottom: 50px;
	}

	.footer__address--name {
		font-size: 20px;
	}

	.footer__address--details {
		font-size: 15px;
	}

	.footer__sns {
		margin-bottom: 30px;
	}

	.footer__sns--item {
		width: 40px;
	}

	.footer__map iframe {
		width: 100%;
		height: 300px;
	}

	.footer .note {
		margin-bottom: 28px;
		padding: 0 50px;
		max-width: 1000px;
	}
}

@media screen and (max-width: 768px) {
	.footer {
		padding: 8vw 0;
	}

	.footer__address {
		margin-bottom: 6.93333vw;
	}

	.footer__address--name {
		font-size: 5.33333vw;
	}

	.footer__address--details {
		font-size: 3.84615vw;
	}

	.footer__sns {
		margin-bottom: 7.69231vw;
	}

	.footer__sns--item {
		width: 10.25641vw;
	}

	.footer__map iframe {
		height: 50vw;
	}

	.footer .note {
		margin-bottom: 8vw;
		padding: 0 2.66667vw;
	}
}

/*
	hotelNav
------------------------------ */
.footer__hotelNav {
	line-height: 1;
	color: rgb(var(--blk));
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.footer__hotelNav li {
	margin: 0 0 1rem;
	text-indent: 0;
	display: flex;
	position: relative;
}

.footer__hotelNav li:first-of-type::before,
.footer__hotelNav li::after {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.footer__hotelNav li:first-of-type::before {
	left: 0;
	content: "|";
}

.footer__hotelNav li::after {
	right: 0;
	content: "|";
}

.footer__hotelNav li a {
	padding: 0 1em;
	color: rgb(var(--blk));
	text-decoration: none;
	display: inline-block;
}

.footer__hotelNav li a:hover {
	text-decoration: underline;
	opacity: 1;
}

@media screen and (max-width: 768px) {
	.footer__hotelNav {
		text-align: center;
		display: block;
	}

	.footer__hotelNav li:first-of-type::before,
	.footer__hotelNav li::after {
		content: "";
	}

	.footer__hotelNav li {
		margin-bottom: 1rem;
		justify-content: center;
	}

	.footer__hotelNav li a {
		display: inline-block;
		position: relative;
	}

	.footer__hotelNav li a::before,
	.footer__hotelNav li a::after {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		content: "|";
	}

	.footer__hotelNav li a::before {
		left: 0;
	}

	.footer__hotelNav li a::after {
		right: 0;
	}
}

/*
	copy
------------------------------ */
.copy {
	padding: 25px 0;
	color: rgba(var(--blk), 0.5);
	font-size: 12px;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.copy {
		padding: 4.8vw 0;
		font-size: 2.93333vw;
	}
}

/* ----------------------------------------------------
	article
---------------------------------------------------- */
.article {
	padding: 0vw 50px 11vw;
	position: relative;
}

.article .bg {
	background-position: center top;
	background-repeat: no-repeat;
	width: 100%;
	height: 43.92387vw;
	position: absolute;
	top: -11vw;
	left: 0;
	z-index: 1;
}

.container {
	/* background: rgba(var(--blk), 0.2); */
	margin: 0 auto;
	padding-bottom: 100px;
	max-width: 1000px;
	height: 100%;
	position: relative;
	z-index: 10;
}

.common__title {
	margin-bottom: 55px;
	line-height: 1;
	font-family: var(--poppins);
	font-size: 45px;
	font-weight: 500;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}

.common__title--inner {
	position: relative;
}

.common__title--inner .jp {
	margin-top: 0.5em;
	font-family: var(--gothic);
	font-size: 24px;
	display: block;
}

.common__subTitle {
	margin-bottom: 1em;
	font-size: 34px;
	text-align: center;
}

.common__subTitle span {
	display: inline-block;
	position: relative;
}

.common__subTitle span svg {
	fill: none;
	stroke: rgb(var(--blk));
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
}

.common__subTitle span .leftObj,
.common__subTitle span .rightObj {
	width: 35px;
	height: 60px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	content: "";
}

.common__subTitle span .leftObj {
	left: -60px;
}

.common__subTitle span .rightObj {
	right: -60px;
}

.common__lead {
	margin-bottom: 3em;
	font-size: 15px;
	text-align: center;
}

.common__mainImage {
	margin-bottom: 60px;
}

.common__mainImage img {
	position: relative;
	z-index: 10;
}

.common__section {
	margin-bottom: 60px;
	display: flex;
	justify-content: space-between;
}

.common__section.reverse {
	flex-direction: row-reverse;
}

.common__section--images {
	width: 50%;
}

.common__section--contents {
	width: 47.2%;
}

.common__section--contents .title {
	margin-bottom: 1rem;
	line-height: 1.2;
	font-size: 34px;
}

.common__section--contents .date {
	margin-bottom: 0.5rem;
	line-height: 1.5;
	font-size: 16px;
}

.common__section--contents .category,
.pickupSection .category {
	margin-bottom: 1rem;
	display: flex;
}

.common__section--contents .category__item,
.pickupSection .category__item {
	background: rgb(var(--blk));
	padding: 0 1em;
	height: 23px;
	color: rgb(var(--wht));
	font-size: 13px;
	border-radius: 23px;
}

.common__section--contents .category__item:not(:last-of-type),
.pickupSection .category__item:not(:last-of-type) {
	margin-right: 0.5em;
}

.common__section--contents .textArea {
	margin-bottom: 2rem;
}

.common__section--contents .textArea .text {
	line-height: 1.5;
}

.common__section--contents .textArea .table {
	margin-top: 1em;
	letter-spacing: -0.005em;
}

.common__section--contents .table-price th {
	padding-right: 1em;
}

.common__section--contents .textArea .table__th {
	color: rgb(var(--grn));
	padding-right: 1em;
	white-space: nowrap;
	vertical-align: top;
}

.common__section--contents .table__td dl {
	display: flex;
}

.common__section--contents .table__td dl dt {
	padding-right: 1em;
}

.common__section--contents .table__td dl dt {
	padding-right: 1em;
}

.common__section--contents .accordion {
	background: rgb(var(--wht));
	margin-top: 1em;
	padding: 0 1em;
	border-style: solid;
	border-width: 2px;
	border-radius: 10px;
}

.common__section--contents .accordion__title {
	padding: 1em 0;
	font-size: 18px;
	text-align: center;
	cursor: pointer;
}

.common__section--contents .accordion__title span {
	position: relative;
}

.common__section--contents .accordion__title span svg {
	width: 12px;
	height: 16px;
	line-height: 1;
	position: absolute;
	top: 50%;
	right: -1em;
	transform: translateY(-50%) rotate(90deg);
	transition: all 0.5s ease 0s;

	fill: none;
	stroke-miterlimit: 10;
	stroke-width: .5px;

	content: "";
}

.common__section--contents .accordion__title.active span svg {
	transform: translateY(-50%) rotate(0);
}

.common__section--contents .accordion__contents {
	padding: 1em 0;
	border-top: solid 1px rgb(var(--blk));
	display: none;
}

.common__section--contents .month__title {
	text-align: center;
}

.common__section--contents .month__contents:not(:last-of-type) {
	border-bottom: solid 1px rgb(var(--blk));
	margin-bottom: 1em;
	padding-bottom: 1em;
}

.common__section--contents .textArea .price__item:not(:last-of-type) {
	margin-bottom: 1em;
}

.common__section--contents .textArea .note {
	margin-top: 0.5em;
}

.object {
	position: absolute;
	z-index: 3;
}

@media screen and (max-width: 1100px) {
	.article {
		padding: 0vw 3.66032vw 11vw;
	}

	.container {
		padding-bottom: 7.32064vw;
	}

	.common__title {
		margin-bottom: 4.02635vw;
		font-size: 3.29429vw;
	}

	.common__title--inner .jp {
		font-size: 1.75695vw;
	}

	.common__subTitle {
		font-size: 3.09091vw;
	}

	.common__subTitle span .leftObj,
	.common__subTitle span .rightObj {
		width: 3.18182vw;
		height: 5.45455vw;
	}

	.common__subTitle span .leftObj {
		left: -5.45455vw;
	}

	.common__subTitle span .rightObj {
		right: -5.45455vw;
	}

	.common__lead {
		font-size: 1.36364vw;
	}

	.common__mainImage,
	.common__section {
		margin-bottom: 5.45455vw;
	}

	.common__section--contents .title {
		font-size: 3.09091vw;
	}

	.common__section--contents .date {
		font-size: 1.45455vw;
	}

	.common__section--contents .category__item,
	.pickupSection .category__item {
		height: 2.09091vw;
		font-size: 1.18182vw;
		border-radius: 2.09091vw;
	}

	.common__section--contents .accordion {
		border-radius: 0.90909vw;
	}

	.common__section--contents .accordion__title {
		font-size: 1.63636vw;
	}

	.common__section--contents .accordion__title span svg {
		width: 1.09091vw;
		height: 1.45455vw;
	}
}

@media screen and (max-width: 768px) {
	.article {
		padding: 0vw 2.66667vw 28.20513vw;
	}

	.article .bg {
		height: 102.30769vw;
		top: -14.10256vw;
	}

	.container {
		padding-bottom: 0;
		height: 100%;
	}

	.common__title {
		margin-bottom: 1em;
		font-size: 7.17949vw;
	}

	.common__title--inner .jp {
		font-size: 3.84615vw;
	}

	.common__subTitle {
		font-size: 5.12821vw;
	}

	.common__subTitle span .leftObj,
	.common__subTitle span .rightObj {
		width: 5.64103vw;
		height: 10vw;
	}

	.common__subTitle span .leftObj {
		left: -10vw;
	}

	.common__subTitle span .rightObj {
		right: -10vw;
	}

	.common__lead {
		margin-bottom: 2em;
		font-size: 3.58974vw;
	}

	.common__mainImage {
		margin-bottom: 7.69231vw;
	}

	.common__section {
		margin-bottom: 15.38462vw;
		display: block;
	}

	.common__section.reverse {
		flex-direction: row-reverse;
	}

	.common__section--images,
	.common__section--contents {
		width: 100%;
	}

	.common__section--images {
		margin-bottom: 1.5rem;
	}

	.common__section--contents {
		padding: 0 2.66667vw;
		width: 100%;
	}

	.common__section--contents .title {
		font-size: 5.12821vw;
		text-align: center;
	}

	.common__section--contents .date {
		font-size: 3.58974vw;
		text-align: center;
	}

	.common__section--contents .category {
		margin-bottom: 1rem;
		justify-content: center;
	}

	.common__section--contents .category__item,
	.pickupSection .category__item {
		height: 5.64103vw;
		font-size: 3.07692vw;
		border-radius: 5.64103vw;
	}

	.common__section--contents .textArea .price,
	.common__section--contents .textArea .text {
		font-size: 3.58974vw;
	}

	.common__section--contents .accordion {
		font-size: 3.58974vw;
		border-radius: 2.5641vw;
	}

	.common__section--contents .accordion__title {
		height: 13.84615vw;
		font-size: 3.58974vw;
		border-radius: 2.56410vw;
	}

	.common__section--contents .accordion__title span svg {
		width: 2.05128vw;
		height: 2.82051vw;
	}
}

/*
	pickupSection
------------------------------ */
.pickupSection {
	margin-top: 160px;
	padding: 36px 40px;
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: center;
}

.pickupSection__images {
	width: 46%;
}

.pickupSection__contents {
	width: 50%;
}

.pickupSection__contents .title {
	font-size: 34px;
	letter-spacing: -0.005em;
}

.pickupSection__contents .table,
.pickupSection__contents .tableEtc {
	margin-bottom: 0.5rem;
	letter-spacing: -0.005em;
}

.pickupSection__contents .table__th,
.pickupSection__contents .tableEtc .table__th {
	padding-right: 1em;
	white-space: nowrap;
	vertical-align: top;
}

.pickupSection__contents .about__title {
	margin-bottom: 0.5rem;
}

.pickupSection__contents .about__contents .note a {
	color: rgb(var(--blu));
}

.pickupSection__contents .linkBtn {
	margin-top: 1.5em;
}

.pickupSection__contents .linkBtn a {
	margin: 0 auto;
	width: 80%;
}

@media screen and (max-width: 1100px) {
	.pickupSection {
		margin-top: 14.54545vw;
		padding: 3.27273vw 3.63636vw;
	}

	.pickupSection__contents .title {
		font-size: 3.09091vw;
	}
}

@media screen and (max-width: 768px) {
	.pickupSection {
		margin-top: 29.74359vw;
		padding: 4.10256vw 4.10256vw 8.20513vw;
		display: block;
	}

	.pickupSection__images,
	.pickupSection__contents {
		width: 100%;
	}

	.pickupSection__images {
		margin-bottom: 1.5rem;
	}

	.pickupSection__contents .title {
		font-size: 6.41026vw;
		text-align: center;
	}

	.pickupSection__contents .place {
		font-size: 3.58974vw;
		text-align: center;
	}

	.pickupSection__contents .table,
	.pickupSection__contents .table tbody,
	.pickupSection__contents .table tr,
	.pickupSection__contents .table .table__th,
	.pickupSection__contents .table .table__td {
		width: 100%;
		text-align: center;
		display: block;
	}

	.pickupSection__contents .table__th {
		padding-right: 0;
	}

	.pickupSection__contents .about__title {
		text-align: center;
		letter-spacing: -0.005em;
	}

	.pickupSection__contents .linkBtn a {
		width: 100%;
	}
}