@charset "UTF-8";

html,
body {
	width: 100%;
}

html {
	scroll-behavior: smooth;
}

body {
	position: relative;
	color: #231815;
	font-size: 16px;
	margin: 0 auto;
	font-family: 'Zen Kaku Gothic Antique', 'Jost', "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 500;
	line-height: 2;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
}

.mb0 {
	margin-bottom: 0 !important;
}

@media (min-width: 1001px) {
	.mb5 {
		margin-bottom: 5px !important;
	}
}

@media (max-width: 1000px) {
	.mb5 {
		margin-bottom: 0.6vw !important;
	}
}

@media (min-width: 1001px) {
	.mb10 {
		margin-bottom: 10px !important;
	}
}

@media (max-width: 1000px) {
	.mb10 {
		margin-bottom: 1.3vw !important;
	}
}

@media (min-width: 1001px) {
	.mb15 {
		margin-bottom: 15px !important;
	}
}

@media (max-width: 1000px) {
	.mb15 {
		margin-bottom: 2vw !important;
	}
}

@media (min-width: 1001px) {
	.mb20 {
		margin-bottom: 20px !important;
	}
}

@media (max-width: 1000px) {
	.mb20 {
		margin-bottom: 2.6vw !important;
	}
}

@media (min-width: 1001px) {
	.mb25 {
		margin-bottom: 25px !important;
	}
}

@media (max-width: 1000px) {
	.mb25 {
		margin-bottom: 3.3vw !important;
	}
}

@media (min-width: 1001px) {
	.mb30 {
		margin-bottom: 30px !important;
	}
}

@media (max-width: 1000px) {
	.mb30 {
		margin-bottom: 3.3vw !important;
	}
}

@media (min-width: 1001px) {
	.mb40 {
		margin-bottom: 40px !important;
	}
}

@media (max-width: 1000px) {
	.mb40 {
		margin-bottom: 5.3vw !important;
	}
}

@media (min-width: 1001px) {
	.mb50 {
		margin-bottom: 50px !important;
	}
}

@media (max-width: 1000px) {
	.mb50 {
		margin-bottom: 6.6vw !important;
	}
}

@media (min-width: 1001px) {
	.mb60 {
		margin-bottom: 60px !important;
	}
}

@media (max-width: 1000px) {
	.mb60 {
		margin-bottom: 8vw !important;
	}
}

@media (min-width: 1001px) {
	.mb70 {
		margin-bottom: 70px !important;
	}
}

@media (max-width: 1000px) {
	.mb70 {
		margin-bottom: 9.3vw !important;
	}
}

@media (min-width: 1001px) {
	.mb80 {
		margin-bottom: 80px !important;
	}
}

@media (max-width: 1000px) {
	.mb80 {
		margin-bottom: 10.6vw !important;
	}
}

@media (min-width: 1001px) {
	.mb90 {
		margin-bottom: 90px !important;
	}
}

@media (max-width: 1000px) {
	.mb90 {
		margin-bottom: 12vw !important;
	}
}

@media (min-width: 1001px) {
	.mb100 {
		margin-bottom: 100px !important;
	}
}

@media (max-width: 1000px) {
	.mb100 {
		margin-bottom: 13.3vw !important;
	}
}

@media (min-width: 1001px) {
	.mb110 {
		margin-bottom: 110px !important;
	}
}

@media (max-width: 1000px) {
	.mb110 {
		margin-bottom: 14.6vw !important;
	}
}

@media (min-width: 1001px) {
	.mb120 {
		margin-bottom: 120px !important;
	}
}

@media (max-width: 1000px) {
	.mb120 {
		margin-bottom: 16vw !important;
	}
}

@media (min-width: 1001px) {
	.mb130 {
		margin-bottom: 130px !important;
	}
}

@media (max-width: 1000px) {
	.mb130 {
		margin-bottom: 17.3vw !important;
	}
}

@media (min-width: 1001px) {
	.mb140 {
		margin-bottom: 140px !important;
	}
}

@media (max-width: 1000px) {
	.mb140 {
		margin-bottom: 18.6vw !important;
	}
}

@media (min-width: 1001px) {
	.mb150 {
		margin-bottom: 150px !important;
	}
}

@media (max-width: 1000px) {
	.mb150 {
		margin-bottom: 20vw !important;
	}
}

.pb0 {
	padding-bottom: 0 !important;
}

@media (min-width: 1001px) {
	.pb10 {
		padding-bottom: 10px !important;
	}
}

@media (max-width: 1000px) {
	.pb10 {
		padding-bottom: 1.3vw !important;
	}
}

@media (min-width: 1001px) {
	.pb15 {
		padding-bottom: 15px !important;
	}
}

@media (max-width: 1000px) {
	.pb15 {
		padding-bottom: 2vw !important;
	}
}

@media (min-width: 1001px) {
	.pb20 {
		padding-bottom: 20px !important;
	}
}

@media (max-width: 1000px) {
	.pb20 {
		padding-bottom: 2.6vw !important;
	}
}

@media (min-width: 1001px) {
	.pb25 {
		padding-bottom: 25px !important;
	}
}

@media (max-width: 1000px) {
	.pb25 {
		padding-bottom: 3.3vw !important;
	}
}

@media (min-width: 1001px) {
	.pb30 {
		padding-bottom: 30px !important;
	}
}

@media (max-width: 1000px) {
	.pb30 {
		padding-bottom: 3.3vw !important;
	}
}

@media (min-width: 1001px) {
	.pb40 {
		padding-bottom: 40px !important;
	}
}

@media (max-width: 1000px) {
	.pb40 {
		padding-bottom: 5.3vw !important;
	}
}

@media (min-width: 1001px) {
	.pb50 {
		padding-bottom: 50px !important;
	}
}

@media (max-width: 1000px) {
	.pb50 {
		padding-bottom: 6.6vw !important;
	}
}

@media (min-width: 1001px) {
	.pb60 {
		padding-bottom: 60px !important;
	}
}

@media (max-width: 1000px) {
	.pb60 {
		padding-bottom: 8vw !important;
	}
}

@media (min-width: 1001px) {
	.pb70 {
		padding-bottom: 70px !important;
	}
}

@media (max-width: 1000px) {
	.pb70 {
		padding-bottom: 9.3vw !important;
	}
}

@media (min-width: 1001px) {
	.pb80 {
		padding-bottom: 80px !important;
	}
}

@media (max-width: 1000px) {
	.pb80 {
		padding-bottom: 10.6vw !important;
	}
}

@media (min-width: 1001px) {
	.pb90 {
		padding-bottom: 90px !important;
	}
}

@media (max-width: 1000px) {
	.pb90 {
		padding-bottom: 12vw !important;
	}
}

@media (min-width: 1001px) {
	.pb100 {
		padding-bottom: 100px !important;
	}
}

@media (max-width: 1000px) {
	.pb100 {
		padding-bottom: 13.3vw !important;
	}
}

@media (min-width: 1001px) {
	.pb110 {
		padding-bottom: 110px !important;
	}
}

@media (max-width: 1000px) {
	.pb110 {
		padding-bottom: 14.6vw !important;
	}
}

@media (min-width: 1001px) {
	.pb120 {
		padding-bottom: 120px !important;
	}
}

@media (max-width: 1000px) {
	.pb120 {
		padding-bottom: 16vw !important;
	}
}

@media (min-width: 1001px) {
	.pb130 {
		padding-bottom: 130px !important;
	}
}

@media (max-width: 1000px) {
	.pb130 {
		padding-bottom: 17.3vw !important;
	}
}

@media (min-width: 1001px) {
	.pb140 {
		padding-bottom: 140px !important;
	}
}

@media (max-width: 1000px) {
	.pb140 {
		padding-bottom: 18.6vw !important;
	}
}

@media (min-width: 1001px) {
	.pb150 {
		padding-bottom: 150px !important;
	}
}

@media (max-width: 1000px) {
	.pb150 {
		padding-bottom: 20vw !important;
	}
}

@media (min-width: 1001px) {
	.p15 {
		padding: 0 15px !important;
	}
}

@media (max-width: 1000px) {
	.p15 {
		padding: 0 2vw !important;
	}
}

@media (min-width: 1001px) {
	.pt10 {
		padding-top: 10px !important;
	}
}

@media (max-width: 1000px) {
	.pt10 {
		padding-top: 1.3vw !important;
	}
}

@media (min-width: 1001px) {
	.pt15 {
		padding-top: 15px !important;
	}
}

@media (max-width: 1000px) {
	.pt15 {
		padding-top: 2vw !important;
	}
}

@media (min-width: 1001px) {
	.pt20 {
		padding-top: 20px !important;
	}
}

@media (max-width: 1000px) {
	.pt20 {
		padding-top: 2.6vw !important;
	}
}

@media (min-width: 1001px) {
	.pt30 {
		padding-top: 30px !important;
	}
}

@media (max-width: 1000px) {
	.pt30 {
		padding-top: 3.3vw !important;
	}
}

@media (min-width: 1001px) {
	.pt40 {
		padding-top: 40px !important;
	}
}

@media (max-width: 1000px) {
	.pt40 {
		padding-top: 5.3vw !important;
	}
}

@media (min-width: 1001px) {
	.ls-1 {
		letter-spacing: -1px;
	}
}

@media (min-width: 1001px) {
	.ls-2 {
		letter-spacing: -2px;
	}
}

@media (min-width: 1001px) {
	.ls-3 {
		letter-spacing: -3px;
	}
}

@media (min-width: 1001px) {
	.ls-4 {
		letter-spacing: -4px;
	}
}

@media (min-width: 1001px) {
	.fs10 {
		font-size: 10px;
	}
}

@media (min-width: 1001px) {
	.fs14 {
		font-size: 14px;
	}
}

@media (min-width: 1001px) {
	.fs15 {
		font-size: 15px;
	}
}

@media (min-width: 1001px) {
	.fs16 {
		font-size: 16px;
	}
}

@media (min-width: 1001px) {
	.fs18 {
		font-size: 18px;
	}
}

@media (min-width: 1001px) {
	.fs20 {
		font-size: 20px;
	}
}

@media (min-width: 1001px) {
	.fs24 {
		font-size: 24px;
	}
}

@media (min-width: 1001px) {
	.fs26 {
		font-size: 26px;
	}
}

.mb05em {
	margin-bottom: 0.5em !important;
}

.mb1em {
	margin-bottom: 1em !important;
}

.mb2em {
	margin-bottom: 2em !important;
}

.mb3em {
	margin-bottom: 3em !important;
}

.mb4em {
	margin-bottom: 4em !important;
}

.pb05em {
	padding-bottom: 0.5em !important;
}

.mr0 {
	margin-right: 0 !important;
}

li {
	list-style: none;
}

p {
	text-align: justify;
	-ms-text-justify: auto;
	text-justify: auto;
	text-justify: inter-ideograph;
}

h1,
h2,
h3,
h4,
h5,
h6,
strong {
	font-weight: normal;
}

img {
	vertical-align: bottom;
	max-width: 100%;
}

.noborder {
	border: none !important;
}

.nomargin {
	margin: 0 0 !important;
}

.ta_r {
	text-align: right;
}

.ta_c {
	text-align: center;
}

.ta_l {
	text-align: left;
}

.cf:before,
.cf:after {
	content: "";
	display: table;
}

.cf:after {
	clear: both;
}

.cf {
	zoom: 1;
}

.enfont,
.enfont * {
	font-family: 'Libre Baskerville', serif !important;
	letter-spacing: 0.05em;
	font-weight: 400;
}

a {
	color: #2D281D;
	text-decoration: none;
}

/*---------------------------------------------------------*/
/* font */
/* family */
.roboto {
	font-family: 'Roboto', sans-serif;
}

.zenkaku {
	font-family: 'Zen Kaku Gothic Antique', sans-serif;
}

/* weight */
.light {
	font-weight: 300;
}

.normal {
	font-weight: 400;
}

.medium {
	font-weight: 500;
}

.semibold {
	font-weight: 600;
}

.bold {
	font-weight: 700;
}

.extrabold {
	font-weight: 800;
}

.black {
	font-weight: 900;
}

:root {
	--wine:       #562d34;
	--wine-copy:  #47262b;
	--wine-hover: #a94b5b;
	--head-hover: #562d34;
	--lang-hover: #665f5f;
	--foot-hover: #da8593;
	--text:  #231815;
	--gray:  #8c8175;
	--line:  #d8cfc4;
	--soft:  #f4efe8;
}

body {
	color: var(--text);
	font-family: 'Shippori Mincho', "游明朝", "Yu Mincho", serif;
	letter-spacing: 0.04em;
}
.en { font-family: 'Libre Baskerville', serif; letter-spacing: 0.06em; }
a { color: var(--text); }
a.header__reserve, a.spmenu__reserve { color: #fff; }
body.is-fixed { overflow: hidden; }

img { height: auto; }

.footer__terms .ico { fill: none; stroke: currentColor; stroke-width: 1; stroke-linejoin: round; }
.footer__terms .ico text { fill: currentColor; stroke: none; font-family: Arial, sans-serif; font-size: 3.4px; font-weight: 700; }

.lang { position: relative; flex: none; }
.lang__btn {
	display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; padding: 0;
	background: #000; border: none; color: #fff; cursor: pointer;
	font-family: 'Libre Baskerville', serif; line-height: 1; letter-spacing: 0;
	transition: background-color 0.3s ease;
}
.lang__list {
	position: absolute; top: calc(100% + 6px); left: 50%; z-index: 130; min-width: 100%;
	background: #fff; border: 1px solid var(--line); box-shadow: 0 4px 12px rgba(0,0,0,.12);
	opacity: 0; visibility: hidden; transform: translate(-50%, -4px);
	transition: opacity .3s ease, transform .3s ease, visibility .3s;
}
.lang.is-open .lang__list { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.lang__list li + li { border-top: 1px solid var(--line); }
.lang__list button {
	display: block; width: 100%; background: none; border: none; cursor: pointer;
	color: var(--text); text-align: center; white-space: nowrap; line-height: 1.2; letter-spacing: 0;
	font-family: 'Shippori Mincho', "游明朝", "Yu Mincho", serif;
	transition: background-color .3s ease, color .3s ease;
}
.lang__list button:hover { background: var(--soft); }
.lang__list button[aria-current="true"] { color: var(--wine); font-weight: 600; }
.lang__list button:lang(en) { font-family: 'Libre Baskerville', serif; }
.lang__list button:lang(ko) { font-family: "AppleMyungjo", "Batang", "Noto Serif KR", serif; }

.mark {
	display: inline-block;
	width: 0; height: 0;
	border-left: 7px solid transparent;
	border-right: 7px solid transparent;
	border-bottom: 11px solid var(--wine);
}

.ch3 { line-height: 1.1; }
.ch3__icon { display: block; }
.ch3 .en { display: block; color: var(--text); letter-spacing: 0; }
.ch3 .jp { display: block; color: #000; letter-spacing: 0; }
.ch3--center { text-align: center; }
.ch3--center .ch3__icon { margin-left: auto; margin-right: auto; }

.ctable { width: 100%; border-collapse: collapse; }
.ctable th, .ctable td { border: 1px solid var(--text); font-weight: normal; vertical-align: middle; }
.ctable th { background: #efefef; }

.cintro { text-align: center; }
.cintro p { text-align: center; }
.cintro__icon { display: block; margin-left: auto; margin-right: auto; }
.cintro__en { letter-spacing: 0; }
.cunit__img img, .cgallery img { width: 100%; object-fit: cover; }
.ccard { position: relative; background: #fff; border: 1px solid var(--text); }

.cbtn a, .cbtn--sm {
	display: inline-flex;
	align-items: center;
	gap: 1em;
	font-family: 'Libre Baskerville', serif;
	letter-spacing: 0.14em;
	color: var(--text);
}
.cbtn .arrow {
	display: inline-block;
	transition: transform 0.3s ease;
}
.cbtn a:hover .arrow { transform: translateX(8px); }
.cbtn a:hover { opacity: 1; }

.ch4 { line-height: 1.1; }
.ch4 .en { display: block; color: var(--text); letter-spacing: 0; }
.ch4 .jp { display: block; color: #000; letter-spacing: 0; }
.ch4--center { text-align: center; }

.header__logo a {
	display: block;
	background-color: #000;
	-webkit-mask: url(../images/logo.svg) no-repeat center / contain;
	mask: url(../images/logo.svg) no-repeat center / contain;
	transition: .3s all ease;
}
.header__logo a img, .header__logo a:hover img { opacity: 0; }
.header__logo a:hover { background-color: var(--head-hover); opacity: 1; }

/* ---------------------------------------------------------------------- */
/* PC */
/* ---------------------------------------------------------------------- */
@media (min-width: 1001px) {
	a {
		-webkit-transition: 0.3s ease-in-out;
		-moz-transition: 0.3s ease-in-out;
		-o-transition: 0.3s ease-in-out;
		transition: 0.3s ease-in-out;
	}

	img {
		-webkit-transition: 0.3s ease-in-out;
		-moz-transition: 0.3s ease-in-out;
		-o-transition: 0.3s ease-in-out;
		transition: 0.3s ease-in-out;
	}

	a:active,
	a:hover,
	a:hover img {
		opacity: 0.7;
	}

	.img_hidden {
		opacity: 0;
		transition: 1s;
	}

	.img_open {
		-moz-animation: imgfade 1s linear 0s 1 normal forwards;
		-webkit-animation: imgfade 1s linear 0s 1 normal forwards;
		-o-animation: imgfade 1s linear 0s 1 normal forwards;
		-ms-animation: imgfade 1s linear 0s 1 normal forwards;
	}

	.img_open.ih2 {
		-moz-animation: imgfade 1s linear 0.3s 1 normal forwards;
		-webkit-animation: imgfade 1s linear 0.3s 1 normal forwards;
		-o-animation: imgfade 1s linear 0.3s 1 normal forwards;
		-ms-animation: imgfade 1s linear 0.3s 1 normal forwards;
	}

	.img_open.ih3 {
		-moz-animation: imgfade 1s linear 0.6s 1 normal forwards;
		-webkit-animation: imgfade 1s linear 0.6s 1 normal forwards;
		-o-animation: imgfade 1s linear 0.6s 1 normal forwards;
		-ms-animation: imgfade 1s linear 0.6s 1 normal forwards;
	}

	.img_open.ih4 {
		-moz-animation: imgfade 1s linear 0.9s 1 normal forwards;
		-webkit-animation: imgfade 1s linear 0.9s 1 normal forwards;
		-o-animation: imgfade 1s linear 0.9s 1 normal forwards;
		-ms-animation: imgfade 1s linear 0.9s 1 normal forwards;
	}

	.img_open.ih5 {
		-moz-animation: imgfade 1s linear 1.2s 1 normal forwards;
		-webkit-animation: imgfade 1s linear 1.2s 1 normal forwards;
		-o-animation: imgfade 1s linear 1.2s 1 normal forwards;
		-ms-animation: imgfade 1s linear 1.2s 1 normal forwards;
	}

	.showup {
		opacity: 0;
		transition: 1s;
		transform: translateY(20px);
		-webkit-transform: translateY(20px);
		-moz-transform: translateY(20px);
		-ms-transform: translateY(20px);
		-o-transform: translateY(20px);
	}

	.upview {
		-moz-animation: showup 0.6s linear 0s 1 normal forwards;
		-webkit-animation: showup 0.6s linear 0s 1 normal forwards;
		-o-animation: showup 0.6s linear 0s 1 normal forwards;
		-ms-animation: showup 0.6s linear 0s 1 normal forwards;
	}

	.upview.uv2 {
		-moz-animation: showup 0.6s linear 0.3s 1 normal forwards;
		-webkit-animation: showup 0.6s linear 0.3s 1 normal forwards;
		-o-animation: showup 0.6s linear 0.3s 1 normal forwards;
		-ms-animation: showup 0.6s linear 0.3s 1 normal forwards;
	}

	.upview.uv3 {
		-moz-animation: showup 0.6s linear 0.6s 1 normal forwards;
		-webkit-animation: showup 0.6s linear 0.6s 1 normal forwards;
		-o-animation: showup 0.6s linear 0.6s 1 normal forwards;
		-ms-animation: showup 0.6s linear 0.6s 1 normal forwards;
	}

	.upview.uv4 {
		-moz-animation: showup 0.6s linear 0.9s 1 normal forwards;
		-webkit-animation: showup 0.6s linear 0.9s 1 normal forwards;
		-o-animation: showup 0.6s linear 0.9s 1 normal forwards;
		-ms-animation: showup 0.6s linear 0.9s 1 normal forwards;
	}

	.upview.uv5 {
		-moz-animation: showup 0.6s linear 1.2s 1 normal forwards;
		-webkit-animation: showup 0.6s linear 1.2s 1 normal forwards;
		-o-animation: showup 0.6s linear 1.2s 1 normal forwards;
		-ms-animation: showup 0.6s linear 1.2s 1 normal forwards;
	}

	.showdown {
		opacity: 0;
		transition: 1s;
		transform: translateY(-20px);
		-webkit-transform: translateY(-20px);
		-moz-transform: translateY(-20px);
		-ms-transform: translateY(-20px);
		-o-transform: translateY(-20px);
	}

	.downview {
		-moz-animation: showdown 0.6s linear 0s 1 normal forwards;
		-webkit-animation: showdown 0.6s linear 0s 1 normal forwards;
		-o-animation: showdown 0.6s linear 0s 1 normal forwards;
		-ms-animation: showdown 0.6s linear 0s 1 normal forwards;
	}

	.downview.dv2 {
		-moz-animation: showdown 0.6s linear 0.3s 1 normal forwards;
		-webkit-animation: showdown 0.6s linear 0.3s 1 normal forwards;
		-o-animation: showdown 0.6s linear 0.3s 1 normal forwards;
		-ms-animation: showdown 0.6s linear 0.3s 1 normal forwards;
	}

	.downview.dv3 {
		-moz-animation: showdown 0.6s linear 0.6s 1 normal forwards;
		-webkit-animation: showdown 0.6s linear 0.6s 1 normal forwards;
		-o-animation: showdown 0.6s linear 0.6s 1 normal forwards;
		-ms-animation: showdown 0.6s linear 0.6s 1 normal forwards;
	}

	.downview.dv4 {
		-moz-animation: showdown 0.6s linear 0.9s 1 normal forwards;
		-webkit-animation: showdown 0.6s linear 0.9s 1 normal forwards;
		-o-animation: showdown 0.6s linear 0.9s 1 normal forwards;
		-ms-animation: showdown 0.6s linear 0.9s 1 normal forwards;
	}

	.showleft {
		opacity: 0;
		transition: 1s;
		transform: translateX(-20px);
		-webkit-transform: translateX(-20px);
		-moz-transform: translateX(-20px);
		-ms-transform: translateX(-20px);
		-o-transform: translateX(-20px);
	}

	.leftview {
		-moz-animation: showleft 1s linear 0s 1 normal forwards;
		-webkit-animation: showleft 1s linear 0s 1 normal forwards;
		-o-animation: showleft 1s linear 0s 1 normal forwards;
		-ms-animation: showleft 1s linear 0s 1 normal forwards;
	}

	.showright {
		opacity: 0;
		transition: 1s;
		transform: translateX(20px);
		-webkit-transform: translateX(20px);
		-moz-transform: translateX(20px);
		-ms-transform: translateX(20px);
		-o-transform: translateX(20px);
	}

	.rightview {
		-moz-animation: showright 1s linear 0s 1 normal forwards;
		-webkit-animation: showright 1s linear 0s 1 normal forwards;
		-o-animation: showright 1s linear 0s 1 normal forwards;
		-ms-animation: showright 1s linear 0s 1 normal forwards;
	}

	.for_sp {
		display: none !important;
	}

	.for_tab {
		display: none !important;
	}

	.for_nw {
		display: none !important;
	}

	.tab .for_pcnotab {
		display: none !important;
	}

	.tab .for_tab {
		display: inline !important;
	}

	.wrap,
	#page {
		width: 100%;
		position: relative;
	}

	.pc_sidepadding {
		padding: 0 3%;
	}

	/* common
	---------------------------------------------------------------------- */
	.mainw,
	.mainw_pc {
		max-width: 1100px;
		margin: 0 auto;
	}

	.w1600 {
		max-width: 1600px;
		margin: 0 auto;
	}

	.w1200 {
		max-width: 1200px;
		margin: 0 auto;
	}

	.w1100 {
		max-width: 1100px;
		margin: 0 auto;
	}

	.w1000 {
		max-width: 1000px;
		margin: 0 auto;
	}

	.w950 {
		max-width: 950px;
		margin: 0 auto;
	}

	.w900 {
		max-width: 900px;
		margin: 0 auto;
	}

	.w920 {
		max-width: 920px;
		margin: 0 auto;
	}

	.w800 {
		max-width: 800px;
		margin: 0 auto;
	}

	.w700 {
		max-width: 700px;
		margin: 0 auto;
	}

	.anchor {
		margin-top: -100px;
		padding-top: 100px;
	}

	.cflex {
		display: flex;
	}

	p {
		font-size: 16px;
		line-height: 28px;
	}

	.img100 {
		width: 100%;
	}

	.img100 img {
		width: 100%;
	}

	.ui-state-default:hover,
	.ui-widget-content .ui-state-default:hover,
	.ui-widget-header .ui-state-default:hover {
		background: #000;
		color: #FFF;
	}

	/* keyframe
	---------------------------------------------------------------------- */
	@-moz-keyframes imgfade {
		0% {
			opacity: 0;
		}

		100% {
			opacity: 1;
		}
	}

	@-webkit-keyframes imgfade {
		0% {
			opacity: 0;
		}

		100% {
			opacity: 1;
		}
	}

	@-o-keyframes imgfade {
		0% {
			opacity: 0;
		}

		100% {
			opacity: 1;
		}
	}

	@-ms-keyframes imgfade {
		0% {
			opacity: 0;
		}

		100% {
			opacity: 1;
		}
	}

	@-moz-keyframes showup {
		0% {
			opacity: 0;
			transform: translateY(20px);
		}

		100% {
			opacity: 1;
			transform: translateY(0);
		}
	}

	@-webkit-keyframes showup {
		0% {
			opacity: 0;
			transform: translateY(20px);
		}

		100% {
			opacity: 1;
			transform: translateY(0);
		}
	}

	@-o-keyframes showup {
		0% {
			opacity: 0;
			transform: translateY(20px);
		}

		100% {
			opacity: 1;
			transform: translateY(0);
		}
	}

	@-ms-keyframes showup {
		0% {
			opacity: 0;
			transform: translateY(20px);
		}

		100% {
			opacity: 1;
			transform: translateY(0);
		}
	}

	@-moz-keyframes showdown {
		0% {
			opacity: 0;
			transform: translateY(-20px);
		}

		100% {
			opacity: 1;
			transform: translateY(0);
		}
	}

	@-webkit-keyframes showdown {
		0% {
			opacity: 0;
			transform: translateY(-20px);
		}

		100% {
			opacity: 1;
			transform: translateY(0);
		}
	}

	@-o-keyframes showdown {
		0% {
			opacity: 0;
			transform: translateY(-20px);
		}

		100% {
			opacity: 1;
			transform: translateY(0);
		}
	}

	@-ms-keyframes showdown {
		0% {
			opacity: 0;
			transform: translateY(-20px);
		}

		100% {
			opacity: 1;
			transform: translateY(0);
		}
	}

	@-moz-keyframes showleft {
		0% {
			opacity: 0;
			transform: translateX(-20px);
		}

		100% {
			opacity: 1;
			transform: translateX(0);
		}
	}

	@-webkit-keyframes showleft {
		0% {
			opacity: 0;
			transform: translateX(-20px);
		}

		100% {
			opacity: 1;
			transform: translateX(0);
		}
	}

	@-o-keyframes showleft {
		0% {
			opacity: 0;
			transform: translateX(-20px);
		}

		100% {
			opacity: 1;
			transform: translateX(0);
		}
	}

	@-ms-keyframes showleft {
		0% {
			opacity: 0;
			transform: translateX(-20px);
		}

		100% {
			opacity: 1;
			transform: translateX(0);
		}
	}

	@-moz-keyframes showright {
		0% {
			opacity: 0;
			transform: translateX(20px);
		}

		100% {
			opacity: 1;
			transform: translateX(0);
		}
	}

	@-webkit-keyframes showright {
		0% {
			opacity: 0;
			transform: translateX(20px);
		}

		100% {
			opacity: 1;
			transform: translateX(0);
		}
	}

	@-o-keyframes showright {
		0% {
			opacity: 0;
			transform: translateX(20px);
		}

		100% {
			opacity: 1;
			transform: translateX(0);
		}
	}

	@-ms-keyframes showright {
		0% {
			opacity: 0;
			transform: translateX(20px);
		}

		100% {
			opacity: 1;
		}
	}

	body { padding-top: 80px; }

	.header {
		position: fixed; top: 0; left: 0; z-index: 100;
		width: 100%; height: 80px;
		display: flex; align-items: center;
		background: #fff; box-shadow: 0 1px 6px rgba(0,0,0,.06);
	}
	.header__logo { width: 315px; margin-left: 20px; }
	.header__logo img { display: block; width: 100%; }
	.gnav { margin-left: auto; }
	.gnav__list { display: flex; align-items: center; }
	.gnav__list a { padding: 0 9.5px; font-size: 16px; letter-spacing: 0; white-space: nowrap; }
	.gnav__list a:hover { color: var(--head-hover); opacity: 1; }
	.header__lang { width: 100px; height: 40px; margin: 0 10px; }
	.header__lang .lang__btn { border-radius: 5px; font-size: 14px; }
	.header__lang .lang__btn:hover, .header__lang.is-open .lang__btn { background: var(--lang-hover); }
	.header__lang .lang__list { min-width: 140px; }
	.header__lang .lang__list button { padding: 12px 16px; font-size: 14px; }
	.header__reserve {
		display: flex; align-items: center; justify-content: center;
		width: 100px; height: 40px; margin-right: 20px; border-radius: 5px;
		background: var(--wine); color: #fff; font-size: 16px; letter-spacing: 0;
	}
	.header__reserve:hover { background: var(--wine-hover); opacity: 1; }
	.header__ham { display: none; }

	.cbtn--box { text-align: center; margin-top: 40px; }
	.cbtn--box a {
		position: relative; display: inline-flex; align-items: center; justify-content: center;
		width: 300px; height: 56px; box-sizing: border-box;
		border: 1px solid var(--text); font-size: 14px; letter-spacing: 0.22em;
	}
	.cbtn--box .arrow {
		position: absolute; right: -24px; top: 50%; font-size: 0;
		width: 66px; height: 1px; background: var(--text); transform: translateY(-50%);
	}
	.cbtn--box .arrow::after {
		content: ""; position: absolute; right: 0; top: 50%;
		width: 8px; height: 8px; border-top: 1px solid var(--text); border-right: 1px solid var(--text);
		transform: translate(0, -50%) rotate(45deg);
	}
	.cbtn--box a:hover { opacity: 1; }
	.cbtn--box a:hover .arrow { transform: translate(8px, -50%); }

	.cmenu { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
	.cmenu a {
		position: relative; display: block; height: 40px; box-sizing: border-box;
		border: 1px solid var(--text); text-align: center; line-height: 38px;
		font-size: 14px; letter-spacing: 0.2em;
	}
	.cmenu a::before,
	.cmenu a::after { content: ""; position: absolute; transition: transform 0.3s ease; }
	.cmenu a::before { right: 26px; top: 10px; width: 1px; height: 20px; background: var(--text); }
	.cmenu a::after {
		right: 22px; top: 21px; width: 8px; height: 8px;
		border-right: 1px solid var(--text); border-bottom: 1px solid var(--text); transform: rotate(45deg);
	}
	.cmenu a:hover { opacity: 1; }
	.cmenu a:hover::before { transform: translateY(4px); }
	.cmenu a:hover::after { transform: translateY(4px) rotate(45deg); }

	.footer { background: var(--wine); color: #fff; }
	.footer__inner {
		display: grid; grid-template-columns: 1fr auto; grid-template-areas: "brand side" "tel side";
		align-items: start; max-width: 1260px; margin: 0 auto; padding: 80px 0;
	}
	.footer a { color: #fff; }
	.footer__brand { grid-area: brand; }
	.footer__tels { grid-area: tel; }
	.footer__side { grid-area: side; align-self: stretch; display: flex; flex-direction: column; }
	.footer__logo { width: 395px; }
	.footer__logo img { display: block; width: 100%; }
	.footer__name { font-size: 16px; line-height: 1; margin-top: 22px; }
	.footer__addr { font-size: 16px; line-height: 1; margin-top: 22px; }
	.footer__tel { margin-top: 40px; }
	.footer__tel dt { width: 100px; box-sizing: border-box; border: 1px solid #fff; font-size: 16px; line-height: 22px; text-align: center; margin-bottom: 20px; }
	.footer__tel dd { font-family: 'Libre Baskerville', serif; font-size: 33px; line-height: 47px; letter-spacing: 0; white-space: pre; }
	.footer__tel dd a:hover { color: var(--foot-hover); opacity: 1; }
	.footer__nav { display: flex; gap: 60px; }
	.footer__nav ul { min-width: 120px; white-space: nowrap; }
	.footer__nav li + li { margin-top: 24px; }
	.footer__nav a { display: flex; align-items: center; font-size: 16px; line-height: 16px; font-weight: 500; letter-spacing: 0; color: #f6f3ed; }
	.footer__nav a::before { content: ""; width: 20px; height: 1px; background: currentColor; margin-right: 5px; flex: none; }
	.footer__nav a:hover, .footer__logo a:hover { color: var(--foot-hover); opacity: 1; }
	.footer__terms { margin-top: 40px; }
	.footer__terms a {
		position: relative; display: flex; align-items: center; justify-content: center; width: 304px; height: 40px; box-sizing: border-box;
		border: 1px solid #fff; font-size: 16px; letter-spacing: 0; transition: background-color .3s, color .3s;
	}
	.footer__terms .ico { position: absolute; right: 10px; top: 50%; width: 18px; height: 18px; transform: translateY(-50%); }
	.footer__terms a:hover { background: #fff; color: var(--wine); opacity: 1; }
	.footer .copyright { margin-top: auto; background: none; text-align: right; padding: 0; font-family: 'Libre Baskerville', serif; font-size: 11px; line-height: 1; letter-spacing: 0.05em; }

	.pagetop {
		position: fixed; right: 30px; bottom: 30px; z-index: 90;
		width: 60px; height: 60px; border-radius: 50%; background: var(--wine);
		display: flex; align-items: center; justify-content: center;
		opacity: 0; visibility: hidden; transition: opacity .3s, background .3s;
	}
	.pagetop.is-show { opacity: 1; visibility: visible; }
	.pagetop:hover { background: var(--wine-hover); opacity: 1; }
	.pagetop__arrow { width: 12px; height: 12px; border-top: 2px solid #fff; border-right: 2px solid #fff; transform: rotate(-45deg); margin-top: 4px; }

	.w960 { max-width: 960px; margin: 0 auto; }

	.catch { font-size: 24px; line-height: 1.5; letter-spacing: 0.1em; }
	.note { font-size: 14px; line-height: 1.3; }

	.ctable { font-size: 16px; line-height: 1.5; }
	.ctable--stack { text-align: center; }
	.ctable--stack th { height: 40px; padding: 0; }
	.ctable--stack td { padding: 8px 10px; }
	.ctable--side th, .ctable--side td { padding: 10px 20px; }
	.ctable--side th { text-align: center; }
	.ctable--side td { text-align: left; }
	.lead { font-size: 16px; line-height: 1.75; letter-spacing: 0; }

	.cintro { padding-top: 160px; }
	.cintro__icon { width: 92px; margin-bottom: 29px; }
	.cintro__en { margin-top: 1px; font-size: 14px; line-height: 20px; }
	.cintro .lead { margin-top: 26px; }

	.cunit__main { display: flex; align-items: center; }
	.cunit--rev .cunit__main { flex-direction: row-reverse; }
	.cunit__img { flex: none; width: calc(50% + 80px); }
	.cunit__img img { height: 460px; border-radius: 0 10px 10px 0; }
	.cunit--rev .cunit__img img { border-radius: 10px 0 0 10px; }
	.cunit__body { width: 340px; margin-left: 40px; }
	.cunit--rev .cunit__body { margin: 0 40px 0 0; }

	.cgallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; margin-top: 80px; }
	.cgallery img { height: 204px; border-radius: 10px; }

	.ccard { margin: -24px 20px 0; border-radius: 10px; }

	#mv { display: flex; height: 320px; }
	.mv__ttl { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 50%; text-align: center; }
	.mv__icon { width: 66px; margin-bottom: 11px; }
	.mv__ttl .en { font-size: 48px; line-height: 1.217; letter-spacing: 0; }
	.mv__ttl .jp { margin-top: 3px; font-size: 24px; line-height: 1; letter-spacing: 0; }
	.mv__img { width: 50%; }
	.mv__img img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 10px 0 0 10px; }

	.ch3__icon { width: 66px; margin-bottom: 24px; }
	.ch3 .en { font-size: 36px; line-height: 1.111; }
	.ch3 .jp { margin-top: 6px; font-size: 16px; line-height: 1.5; }
	.ch3--long .en { font-size: 32px; white-space: nowrap; }
	.ch3--tight .jp { margin-top: -2px; }
	.ch3--jp .ch3__icon { width: 64px; margin-bottom: 20px; }
	.ch3--jp .jp { margin-top: 0; font-size: 28px; line-height: 1.35; letter-spacing: 0.06em; }
	.ch3--jp .en { margin-top: 16px; font-size: 14px; line-height: 1.1; }

	.spmenu { display: none; }

	.ch4 .en { font-size: 36px; line-height: 1.111; }
	.ch4 .jp { margin-top: 6px; font-size: 16px; line-height: 1.5; }
	.ch4--tight .jp { margin-top: -2px; }
	.pcTel { display: block; }
	.spTel { display: none; }
}

@media (min-width: 1001px) and (max-width: 1199px) {
	.header__logo { width: 26.25vw; }
	.gnav__list a { padding: 0 0.792vw; font-size: 1.333vw; }
	.header__lang { width: 8.333vw; margin: 0 0.833vw; }
	.header__lang .lang__btn { font-size: 1.167vw; }
	.header__reserve { width: 8.333vw; font-size: 1.333vw; }
	.pcTel { display: block; }
	.spTel { display: none; }
}

/* End @media (min-width: 1001px) */
/* ---------------------------------------------------------------------- */


/* ---------------------------------------------------------------------- */
/* SP */
/* ---------------------------------------------------------------------- */
@media (max-width: 1000px) {

	body {
		font-size: 3.7333vw;
	}

	a {
		-webkit-transition: 0.3s ease-in-out;
		-moz-transition: 0.3s ease-in-out;
		-o-transition: 0.3s ease-in-out;
		transition: 0.3s ease-in-out;
	}

	img {
		-webkit-transition: 0.3s ease-in-out;
		-moz-transition: 0.3s ease-in-out;
		-o-transition: 0.3s ease-in-out;
		transition: 0.3s ease-in-out;
	}

	a:active,
	a:hover,
	a:hover img {
		opacity: 0.7;
	}

	.mb20 {
		margin-bottom: 2.6vw !important;
	}

	.mb25 {
		margin-bottom: 3.3vw !important;
	}

	.mb30 {
		margin-bottom: 4vw !important;
	}

	.mb40 {
		margin-bottom: 5.3vw !important;
	}

	.mb50 {
		margin-bottom: 6.6vw !important;
	}

	.mb60 {
		margin-bottom: 8vw !important;
	}

	.mb70 {
		margin-bottom: 9.3vw !important;
	}

	.mb80 {
		margin-bottom: 10.6vw !important;
	}

	.mb90 {
		margin-bottom: 12vw;
	}

	.mb100 {
		margin-bottom: 13.3vw !important;
	}

	.mb120 {
		margin-bottom: 16vw !important;
	}

	.pt50 {
		padding-top: 6.6vw !important;
	}

	.ls-1 {
		letter-spacing: -1px;
	}

	.ls-2 {
		letter-spacing: -2px;
	}

	.ls-3 {
		letter-spacing: -3px;
	}

	.ls-4 {
		letter-spacing: -4px;
	}

	.fs10 {
		font-size: 3vw;
	}

	.fs14,
	.fs15 {
		font-size: 3.4vw;
	}

	.fs16 {
		font-size: 3.7vw;
	}

	.fs24 {
		font-size: 4vw;
	}

	.fs26 {
		font-size: 5vw;
	}

	.wrap,
	#page {
		width: 100%;
		position: relative;
	}

	.for_pc {
		display: none !important;
	}

	.for_tab {
		display: none;
	}

	.for_pcnotab {
		display: none !important;
	}

	.for_nw {
		display: none !important;
	}

	.cf_s:before,
	.cf_s:after {
		content: "";
		display: table;
	}

	.cf_s:after {
		clear: both;
	}

	.cf_s {
		zoom: 1;
	}

	.showup {
		opacity: 0;
		transition: 1s;
		transform: translateY(4vw);
		-webkit-transform: translateY(4vw);
		-moz-transform: translateY(4vw);
		-ms-transform: translateY(4vw);
		-o-transform: translateY(4vw);
	}

	.upview {
		-moz-animation: showup 1s linear 0s 1 normal forwards;
		-webkit-animation: showup 1s linear 0s 1 normal forwards;
		-o-animation: showup 1s linear 0s 1 normal forwards;
		-ms-animation: showup 1s linear 0s 1 normal forwards;
	}

	.showdown {
		opacity: 0;
		transition: 1s;
		transform: translateY(-4vw);
		-webkit-transform: translateY(-4vw);
		-moz-transform: translateY(-4vw);
		-ms-transform: translateY(-4vw);
		-o-transform: translateY(-4vw);
	}

	.downview {
		-moz-animation: showup 1s linear 0s 1 normal forwards;
		-webkit-animation: showup 1s linear 0s 1 normal forwards;
		-o-animation: showup 1s linear 0s 1 normal forwards;
		-ms-animation: showup 1s linear 0s 1 normal forwards;
	}

	.showleft {
		opacity: 0;
		transition: 1s;
		transform: translateX(-4vw);
		-webkit-transform: translateX(-4vw);
		-moz-transform: translateX(-4vw);
		-ms-transform: translateX(-4vw);
		-o-transform: translateX(-4vw);
	}

	.leftview {
		-moz-animation: showleft 1s linear 0s 1 normal forwards;
		-webkit-animation: showleft 1s linear 0s 1 normal forwards;
		-o-animation: showleft 1s linear 0s 1 normal forwards;
		-ms-animation: showleft 1s linear 0s 1 normal forwards;
	}

	.showright {
		opacity: 0;
		transition: 1s;
		transform: translateX(4vw);
		-webkit-transform: translateX(4vw);
		-moz-transform: translateX(4vw);
		-ms-transform: translateX(4vw);
		-o-transform: translateX(4vw);
	}

	.rightview {
		-moz-animation: showright 1s linear 0s 1 normal forwards;
		-webkit-animation: showright 1s linear 0s 1 normal forwards;
		-o-animation: showright 1s linear 0s 1 normal forwards;
		-ms-animation: showright 1s linear 0s 1 normal forwards;
	}

	/* common
	---------------------------------------------------------------------- */
	.mainw,
	.w1600,
	.w1200,
	.w1100,
	.w1000,
	.w900,
	.w920,
	.w800,
	.w700 {
		width: 88vw;
		max-width: 100%;
		margin: 0 auto;
		padding: 0;
	}

	.w950 {
		width: 80%;
		margin-left: auto;
		margin-right: auto;
	}

	.anchor {
		margin-top: -20vw;
		padding-top: 20vw;
	}

	/* keyframe
	---------------------------------------------------------------------- */
	@-moz-keyframes showup {
		0% {
			opacity: 0;
			transform: translateY(4vw);
		}

		100% {
			opacity: 1;
			transform: translateY(0);
		}
	}

	@-webkit-keyframes showup {
		0% {
			opacity: 0;
			transform: translateY(4vw);
		}

		100% {
			opacity: 1;
			transform: translateY(0);
		}
	}

	@-o-keyframes showup {
		0% {
			opacity: 0;
			transform: translateY(4vw);
		}

		100% {
			opacity: 1;
			transform: translateY(0);
		}
	}

	@-ms-keyframes showup {
		0% {
			opacity: 0;
			transform: translateY(4vw);
		}

		100% {
			opacity: 1;
			transform: translateY(0);
		}
	}

	@-moz-keyframes txtfade {
		0% {
			opacity: 0;
			transform: translateY(4vw);
		}

		100% {
			opacity: 1;
			transform: translateY(0);
		}
	}

	@-webkit-keyframes txtfade {
		0% {
			opacity: 0;
			transform: translateY(4vw);
		}

		100% {
			opacity: 1;
			transform: translateY(0);
		}
	}

	@-o-keyframes txtfade {
		0% {
			opacity: 0;
			transform: translateY(4vw);
		}

		100% {
			opacity: 1;
			transform: translateY(0);
		}
	}

	@-ms-keyframes txtfade {
		0% {
			opacity: 0;
			transform: translateY(4vw);
		}

		100% {
			opacity: 1;
			transform: translateY(0);
		}
	}

	@-moz-keyframes showleft {
		0% {
			opacity: 0;
			transform: translateX(-20px);
		}

		100% {
			opacity: 1;
			transform: translateX(0);
		}
	}

	@-webkit-keyframes showleft {
		0% {
			opacity: 0;
			transform: translateX(-20px);
		}

		100% {
			opacity: 1;
			transform: translateX(0);
		}
	}

	@-o-keyframes showleft {
		0% {
			opacity: 0;
			transform: translateX(-20px);
		}

		100% {
			opacity: 1;
			transform: translateX(0);
		}
	}

	@-ms-keyframes showleft {
		0% {
			opacity: 0;
			transform: translateX(-20px);
		}

		100% {
			opacity: 1;
			transform: translateX(0);
		}
	}

	@-moz-keyframes showright {
		0% {
			opacity: 0;
			transform: translateX(20px);
		}

		100% {
			opacity: 1;
			transform: translateX(0);
		}
	}

	@-webkit-keyframes showright {
		0% {
			opacity: 0;
			transform: translateX(20px);
		}

		100% {
			opacity: 1;
			transform: translateX(0);
		}
	}

	@-o-keyframes showright {
		0% {
			opacity: 0;
			transform: translateX(20px);
		}

		100% {
			opacity: 1;
			transform: translateX(0);
		}
	}

	@-ms-keyframes showright {
		0% {
			opacity: 0;
			transform: translateX(20px);
		}

		100% {
			opacity: 1;
			transform: translateX(0);
		}
	}

	body { font-size: 3.467vw; padding-bottom: 18.667vw; }
	.wrap { padding-top: 18.667vw; }

	.header, .spmenu__head {
		display: flex; align-items: center; height: 18.667vw; padding: 0 2.667vw; box-sizing: border-box;
	}
	.header {
		position: absolute; top: 0; left: 0; z-index: 100; width: 100%;
		background: #fff; box-shadow: 0 0.3vw 1.5vw rgba(0,0,0,.08);
	}
	.header.is-bottom {
		position: fixed; top: auto; bottom: 0;
		height: calc(18.667vw + env(safe-area-inset-bottom)); padding-bottom: env(safe-area-inset-bottom);
		box-shadow: 0 -0.3vw 1.5vw rgba(0,0,0,.08);
		animation: headerSlideUp .3s ease;
	}
	@keyframes headerSlideUp {
		from { transform: translateY(100%); }
		to   { transform: translateY(0); }
	}
	.anchor { margin-top: 0; padding-top: 0; }
	.header__logo, .spmenu__logo { width: 34.133vw; flex: none; }
	.header__logo img, .spmenu__logo img { display: block; width: 100%; }
	.header__logo a { -webkit-mask-image: url(../images/logo_sp.svg); mask-image: url(../images/logo_sp.svg); }
	.gnav { display: none; }
	.header__lang, .spmenu__lang { width: 21.333vw; height: 10.667vw; margin-left: 1.867vw; }
	.header__lang .lang__btn, .spmenu__lang .lang__btn { border-radius: 1.067vw; font-size: 3.467vw; }
	.header__lang .lang__list, .spmenu__lang .lang__list { top: calc(100% + 1.333vw); min-width: 34.667vw; }
	.header__lang .lang__list button, .spmenu__lang .lang__list button { padding: 3.2vw 2.667vw; font-size: 3.733vw; }
	.header.is-bottom .lang__list { top: auto; bottom: calc(100% + 1.333vw); transform: translate(-50%, 4px); }
	.header.is-bottom .lang.is-open .lang__list { transform: translate(-50%, 0); }
	.header__reserve, .spmenu__reserve {
		display: flex; align-items: center; justify-content: center; flex: none;
		/* width: 21.333vw; height: 10.667vw; margin-left: 1.333vw; border-radius: 1.067vw; */
		/* 仮：Language非表示中のため右寄せ（Language復活時は上の行に戻す） */
		width: 21.333vw; height: 10.667vw; margin-left: auto; border-radius: 1.067vw;
		background: var(--wine); color: #fff; font-size: 3.467vw; letter-spacing: 0;
	}
	.header__ham, .spmenu__close {
		display: flex; flex-direction: column; align-items: center; justify-content: flex-start;
		/* width: 12vw; height: 11.2vw; margin-left: auto; padding: 0; background: none; border: none; cursor: pointer; */
		/* 仮：Language非表示中のため右寄せ（Language復活時は上の行に戻す） */
		width: 12vw; height: 11.2vw; margin-left: 4vw; padding: 0; background: none; border: none; cursor: pointer;
	}
	.header__ham .bar { display: block; width: 12vw; height: 0.267vw; background: #000; margin-bottom: 2.533vw; }
	.header__ham .bar:nth-of-type(3) { margin-bottom: 1.867vw; }
	.header__ham .txt, .spmenu__close .txt { font-family: 'Libre Baskerville', serif; font-size: 3.2vw; line-height: 1; letter-spacing: 0.1em; color: #000; }

	.spmenu {
		position: fixed; top: 0; left: 0; z-index: 110;
		width: 100%; height: 100vh; background: #fff; overflow-y: auto;
		padding-bottom: 10vw; box-sizing: border-box;
		opacity: 0; visibility: hidden; transition: .3s;
	}
	.spmenu.is-open { opacity: 1; visibility: visible; }
	.spmenu__close .bar { position: relative; width: 10.667vw; height: 6.4vw; margin-bottom: 1.733vw; }
	.spmenu__close .bar::before, .spmenu__close .bar::after { content: ""; position: absolute; top: 50%; left: -0.8vw; width: 12.267vw; height: 0.267vw; background: #000; }
	.spmenu__close .bar::before { transform: rotate(31deg); }
	.spmenu__close .bar::after { transform: rotate(-31deg); }
	.spmenu__close .txt { letter-spacing: 0; }
	.spmenu__list { margin: 0 6.667vw; }
	.spmenu__list li a { display: flex; align-items: center; height: 13.333vw; border-bottom: 0.267vw solid #000; font-size: 4.8vw; font-weight: 500; letter-spacing: 0; color: #000; }
	.spmenu__list li a::before { content: ""; width: 4vw; height: 0.267vw; background: #000; margin-right: 1.333vw; flex: none; }
	.spmenu__list li a::after { content: ""; width: 2.4vw; height: 2.4vw; margin: 0 1vw 0 auto; border-top: 0.267vw solid #000; border-right: 0.267vw solid #000; transform: rotate(45deg); }
	.spmenu__tel { margin: 6.667vw 6.667vw 0; }
	.spmenu__tel dl { display: flex; flex-wrap: wrap; justify-content: space-between; }
	.spmenu__tel dl + dl { margin-top: 5.467vw; }
	.spmenu__tel dt { width: 100%; border: 0.267vw solid #000; font-size: 3.467vw; line-height: 4.267vw; text-align: center; margin-bottom: 3.6vw; }
	.spmenu__tel dd { font-family: 'Libre Baskerville', serif; font-size: 4.2vw; line-height: 1.2; letter-spacing: 0; color: #000; white-space: pre; }
	.spmenu__tel dd a { color: #000; }

	.cbtn--box { text-align: center; margin-top: 8vw; }
	.cbtn--box a {
		position: relative; display: inline-flex; align-items: center; justify-content: center;
		width: 60vw; height: 13vw; box-sizing: border-box;
		border: 1px solid var(--text); font-size: 3.4vw; letter-spacing: 0.2em;
	}
	.cbtn--box .arrow { position: absolute; right: -5vw; top: 50%; font-size: 0; width: 15vw; height: 1px; background: var(--text); transform: translateY(-50%); }
	.cbtn--box .arrow::after { content: ""; position: absolute; right: 0; top: 50%; width: 1.8vw; height: 1.8vw; border-top: 1px solid var(--text); border-right: 1px solid var(--text); transform: translate(0,-50%) rotate(45deg); }

	.cmenu { display: grid; grid-template-columns: 1fr 1fr; gap: 3vw; }
	.cmenu a {
		position: relative; display: block; height: 12vw; box-sizing: border-box;
		border: 1px solid var(--text); padding-right: 5vw; text-align: center; line-height: calc(12vw - 2px);
		font-size: 3.2vw; letter-spacing: 0.02em;
	}
	.cmenu a::before,
	.cmenu a::after { content: ""; position: absolute; }
	.cmenu a::before { right: 4vw; top: 3.2vw; width: 1px; height: 5vw; background: var(--text); }
	.cmenu a::after {
		right: 3vw; top: 5.8vw; width: 2vw; height: 2vw;
		border-right: 1px solid var(--text); border-bottom: 1px solid var(--text); transform: rotate(45deg);
	}

	.footer { background: var(--wine); color: #fff; }
	.footer__inner { display: flex; flex-direction: column; padding: 9.467vw 2.667vw 5.467vw; }
	.footer__side { display: contents; }
	.footer__brand { order: 1; }
	.footer__nav { order: 2; margin-top: 10.667vw; }
	.footer__tels { order: 3; margin-top: 3.733vw; }
	.footer__terms { order: 4; }
	.footer .copyright { order: 5; }
	.footer a { color: #fff; }
	.footer__logo { width: 80.133vw; }
	.footer__logo img { display: block; width: 100%; }
	.footer__name { font-size: 3.467vw; line-height: 1; margin-top: 4vw; }
	.footer__addr { font-size: 3.467vw; line-height: 1; margin-top: 5.333vw; }
	.footer__tel { margin-top: 6.4vw; }
	.footer__tel dt { width: 53.333vw; box-sizing: border-box; border: 0.267vw solid #fff; font-size: 3.467vw; line-height: 4.267vw; text-align: center; margin-bottom: 3.2vw; }
	.footer__tel + .footer__tel { margin-top: 2.4vw; }
	.footer__tel dd { font-family: 'Libre Baskerville', serif; font-size: 5.333vw; line-height: 8.8vw; letter-spacing: 0; white-space: pre; }
	.footer__terms { margin-top: 8.667vw; }
	.footer__terms a {
		position: relative; display: flex; align-items: center; justify-content: center; width: 53.333vw; height: 8vw; box-sizing: border-box;
		border: 0.267vw solid #fff; font-size: 3.2vw; letter-spacing: 0;
	}
	.footer__terms .ico { position: absolute; right: 2.4vw; top: 50%; width: 3.6vw; height: 3.6vw; transform: translateY(-50%); }
	.footer__nav ul + ul { margin-top: 4.8vw; }
	.footer__nav li + li { margin-top: 4.8vw; }
	.footer__nav a { display: flex; align-items: center; font-size: 3.467vw; line-height: 3.2vw; font-weight: 500; letter-spacing: 0; color: #f6f3ed; }
	.footer__nav a::before { content: ""; width: 4vw; height: 0.267vw; background: currentColor; margin-right: 1.2vw; flex: none; }
	.footer .copyright { background: none; text-align: right; padding: 0; margin-top: 10.8vw; font-family: 'Libre Baskerville', serif; font-size: 2.43vw; line-height: 1; letter-spacing: 0.05em; }

	.pagetop { position: fixed; right: 2.667vw; bottom: 4vw; z-index: 90; width: 8vw; height: 8vw; border-radius: 50%; background: var(--wine); display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: opacity .3s; }
	.pagetop.is-show { opacity: 1; visibility: visible; }
	.is-header-bottom .pagetop { bottom: calc(18.667vw + env(safe-area-inset-bottom) + 4vw); }
	.pagetop__arrow { width: 2.4vw; height: 2.4vw; border-top: 0.267vw solid #fff; border-right: 0.267vw solid #fff; transform: rotate(-45deg); margin-top: 1vw; }

	.mainw, .w1600, .w1200, .w1100, .w1000, .w920, .w900, .w800, .w700 { width: 86.667vw; }
	.w960 { width: 86.667vw; max-width: 100%; margin: 0 auto; padding: 0; }

	.catch { font-size: 6.4vw; line-height: 1.5; letter-spacing: 0.1em; }
	.note { font-size: 3.2vw; line-height: 1.5; }

	.ctable { font-size: 3.467vw; line-height: 1.4; text-align: center; }
	.ctable--stack th { height: 9.2vw; padding: 0; }
	.ctable--stack td { padding: 1.73vw 2vw; }
	.ctable--side, .ctable--side tbody, .ctable--side tr, .ctable--side th, .ctable--side td { display: block; }
	.ctable--side th, .ctable--side td { padding: 2.13vw 2vw; text-align: center; }
	.ctable--side tr + tr th, .ctable--side td { margin-top: -1px; }
	.lead { font-size: 3.467vw; line-height: 1.846; letter-spacing: 0; }

	.cintro { padding: 21.37vw 3vw 0; }
	.cintro__icon { width: 18.133vw; margin-bottom: 3.28vw; }
	.cintro__en { margin-top: 1.69vw; font-size: 3.2vw; line-height: 1.333; }
	.cintro .lead { margin-top: 4.44vw; }

	.cunit__img { padding-right: 2.667vw; }
	.cunit--rev .cunit__img { padding: 0 0 0 2.667vw; }
	.cunit__img img { height: 56vw; border-radius: 0 1.333vw 1.333vw 0; }
	.cunit--rev .cunit__img img { border-radius: 1.333vw 0 0 1.333vw; }
	.cunit__body { width: 86.667vw; margin: 8vw auto 0; }

	.cgallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: 5.333vw 5.067vw; }
	.cgallery img { height: 27.2vw; border-radius: 1.333vw; }

	.ccard { margin: -8vw 5.333vw 0; border-radius: 1.333vw; }

	#mv { display: flex; flex-direction: column-reverse; }
	.mv__img { margin: 0 2.533vw; }
	.mv__img img { display: block; width: 100%; height: 43.067vw; object-fit: cover; border-radius: 1.333vw; }
	.mv__ttl { display: flex; flex-direction: column; align-items: center; padding-top: 5.2vw; text-align: center; }
	.mv__icon { width: 12vw; margin-bottom: 4.3vw; }
	.mv__ttl .en { font-size: 8vw; line-height: 1.217; letter-spacing: 0; }
	.mv__ttl .jp { margin-top: 2.29vw; font-size: 4.8vw; line-height: 1; letter-spacing: 0; }

	.ch3__icon { width: 18.133vw; margin-bottom: 4.64vw; }
	.ch3 .en { font-size: 8vw; line-height: 1.033; }
	.ch3 .jp { margin-top: 0.15vw; font-size: 3.467vw; line-height: 1.5; }
	.ch3--long-sp .en { font-size: 7vw; white-space: nowrap; }
	.ch3--jp .ch3__icon { width: 18vw; margin-bottom: 4.1vw; }
	.ch3--jp .jp { margin-top: 0; font-size: 6.4vw; line-height: 7.73vw; letter-spacing: 0; }
	.ch3--jp .en { margin-top: 2.73vw; font-size: 3.05vw; line-height: 1.1; }

	.ch4 .en { font-size: 8vw; line-height: 1.033; }
	.ch4 .jp { margin-top: 0.15vw; font-size: 3.467vw; line-height: 1.5; }
	.ch4--long-sp .en { font-size: 7vw; white-space: nowrap; }
	.pcTel { display: none; }
	.spTel { display: block; }
}

/* End @media (max-width:1000px) */