@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600&display=swap');
/*.montserrat {
	font-family: "Montserrat", sans-serif;
	font-weight: 400;
	font-weight: 500;
	font-weight: 600;
}*/
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400&display=swap');
/*.eb-garamond {
	font-family: "EB Garamond", serif;
	font-weight: 400;
}*/
@import url('https://fonts.googleapis.com/css2?family=Zen+Old+Mincho&display=swap');
/*.zen-old-mincho-regular {
	font-family: "Zen Old Mincho", serif;
	font-weight: 400;
}*/
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400&display=swap');
/*.roboto {
	font-family: "Roboto", sans-serif;
	font-weight: 400;
}*/


/* -------------------------------------------------- */
html {
	scroll-behavior: smooth;
	/* font-size: w768px=>12px 〜 w1440px=>16px */
	font-size: clamp(12px, 0.595vw + 7.429px, 16px);
}
body {
	font-size: 1rem;
	font-family: "Zen Old Mincho", serif;
	font-weight: 400;
	font-optical-sizing: auto;
	font-style: normal;
	color: #211814;
	line-height: 1.75;
	letter-spacing: .05em;
	text-align: left;
	background: #fff;
	position: relative;
	-webkit-text-size-adjust: 100%;
}
a,
a img,
.easing {
	transition: .3s ease-in-out;
	border: none;
	outline: none;
	position: relative;
}
a:hover {
	color: #888;
}
a.bw:hover {
	filter: opacity(80%) sepia(70%);
}
.pcSet {
	display: block !important;
}
.spSet {
	display: none !important;
}
/* ------------------------------ */
/* common */
/* ------------------------------ */
section {
	width: 100%;
	margin: 0 auto;
	position: relative;
}
.inner {
	width: 100%;
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 1.875rem;
	position: relative;
	/*border: 1px solid #f5f5f5;*/
}
h1 {
	width: 15%;
	max-width: 210px;
	padding: .4375rem 0;
}
h2 {
	color: #393939;
	font-family: "Montserrat", sans-serif;
	font-weight: 500;
	font-size: 3.625rem;
	line-height: 1.25;
	position: relative;
}
h2:before {
	content: '';
	width: 1.5em;
	height: 1px;
	background: #363636;
	position: absolute;
	top: -1.875rem;
	left: 0;
}
h2 span {
	color: #898989;
	font-family: "Zen Old Mincho", serif;
	font-weight: 400;
	font-size: 1.25rem;
	margin: .9375rem 0;
	display: block;
}
h3 {
	color: #101010;
	font-family: "EB Garamond", serif;
	font-weight: 400;
	font-size: 1.75rem;
	line-height: 1.25;
	text-align: center;
}
h3 span {
	color: #898989;
	font-family: "Zen Old Mincho", serif;
	font-weight: 400;
	font-size: .875rem;
	letter-spacing: .03em;
	display: block;
}
/* ------------------------------ */
/* bnrFixside */
/* ------------------------------ */
#bnrFixside {
	position: fixed;
	top: 10rem;
	right: 0;
	width: 4.375rem;
	height: 11.375rem;
	background: rgba(238, 192, 193, .85);
	/* #EEC0C1 */
	padding: 1.875rem 1.09375rem;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	z-index: 100;
}
/* ------------------------------ */
/* header */
/* ------------------------------ */
header .inner {
	padding: 1.25rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
nav ul {
	display: flex;
	gap: 0 2.8125rem;
	padding: .4375rem 7.5rem .4375rem .9375rem;
	color: #0F214E;
	font-family: "Montserrat", sans-serif;
	font-weight: 600;
	font-size: 1rem;
	line-height: 1.25;
}
nav ul span {
	color: #767676;
	font-family: "Zen Old Mincho", serif;
	font-weight: 400;
	font-size: .8125rem;
	letter-spacing: .025em;
	display: block;
}
header nav ul li.snsSet,
header nav .subNavi {
	display: none;
}
#nav_trigger {
	position: fixed;
	top: 1.875rem;
	right: 1.25rem;
	width: 5rem;
	height: 1.875rem;
	padding: .625rem;
	cursor: pointer;
	z-index: 110;
}
#nav_trigger span:before,
#nav_trigger span:after {
	content: '';
	display: block;
	width: 3.75rem;
	height: 1px;
	background: #707070;
	position: absolute;
	transition: transform .3s;
}
#nav_trigger span:before {
	transform: translateY(0) rotate(0deg);
}
#nav_trigger span:after {
	transform: translateY(.625rem) rotate(0deg);
}
#nav_trigger.opened span:before {
	transform: translateY(.3125rem) rotate(-170deg);
}
#nav_trigger.opened span:after {
	transform: translateY(.3125rem) rotate(170deg);
}
nav.is_open {
	width: 45rem;
	padding: 7.5rem 0 0;
	display: block;
	background: rgba(255, 255, 255, .9);
	position: fixed;
	top: 0;
	right: 0;
	z-index: 100;
}
nav.is_open ul {
	display: flex;
	flex-direction: column;
	gap: 1.5625rem 0;
	width: 12em;
	padding: 0 2.5rem;
	margin: auto;
	font-size: 1.125rem;
}
nav.is_open ul span {
	color: #585858;
	letter-spacing: .075em;
}
nav.is_open li.snsSet {
	display: block flex;
	gap: 0 .9375rem;
	margin: .625rem 0;
}
nav.is_open li.snsSet a {
	display: block;
	width: 1.875rem;
}
nav.is_open .subNavi,
footer .subNavi {
	width: 18.75rem;
	margin: 1.875rem auto 2.5rem;
	display: flex;
	flex-direction: column;
	gap: .9375rem 0;
}
nav.is_open a.btnArrow,
footer .subNavi a.btnArrow {
	width: 100%;
	padding: .625rem 1.25rem .625rem 1.875rem;
	color: #0F214E;
	font-size: 1rem;
	letter-spacing: .075em;
	background: #FFF;
	border: 1px solid #B1B1B1;
	border-radius: 1.875rem;
	position: relative;
}
nav.is_open a.btnArrow:after,
footer .subNavi a.btnArrow:after {
	content: '';
	position: absolute;
	right: 1.25rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.875rem;
	height: 1.875rem;
	background: url(/assets/img/icon_arrow.svg) no-repeat;
	background-size: contain;
	background-position: center;
}
nav.is_open .logoSet {
	margin: 1.25rem auto;
	text-align: center;
}
nav.is_open .logoSet span {
	display: block;
	color: #292929;
	font-weight: 400;
	font-size: .8125rem;
	letter-spacing: .2em;
	padding: 0 0 .3125rem;
}
nav.is_open .logoSet img {
	width: 12.5rem;
	margin: 0 auto;
}
/* ------------------------------ */
/* main */
/* ------------------------------ */
main {
	position: relative;
}
main #bgTop {
	width: 100%;
	height: 20.625rem;
	background: url(/assets/img/bg_homebtm.jpg) no-repeat;
	background-size: cover;
	background-position: 0 15%;
}
/* ------------------------------ */
/* section#catch */
/* ------------------------------ */
section#catch {
	overflow: hidden;
}
section#catch video {
	position: absolute;
	top: 16.875rem;
	left: 0;
	min-width: 100%;
	height: 43.75rem;
	z-index: -1;
	object-fit: cover;
}
section#catch .inner {
	padding: 150px 170px;
	/* padding-top/bottom: w768px=>110px 〜 w1440px=>150px */
	/* padding-left/right: w768px=>40px 〜 w1440px=>170px */
	padding: clamp(110px, 5.95vw + 64.29px, 150px) clamp(40px, 19.35vw - 108.57px, 170px);
}
h2#h2Catch {
	color: #1C1C1C;
	font-family: "Zen Old Mincho", serif;
	font-weight: 400;
	font-size: 3.125rem;
	letter-spacing: .1em;
	line-height: 1.6;
}
h2#h2Catch:before {
	display: none;
}
div#textCatch {
	margin: 1.875rem 0;
}
div#textCatch>p {
	margin: 1.875rem 0;
	font-size: 1rem;
	letter-spacing: .075em;
	color: #1C1C1C;
}
div#guideScroll {
	position: absolute;
	right: 4.375rem;
	top: 4.375rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	animation: down 3.5s infinite;
}
div#guideScroll span {
	color: #171717;
	font-size: .75rem;
	letter-spacing: .075em;
	line-height: 1.25;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	padding: 1.25rem 0;
}
div#guideScroll img {
	width: 8.125rem;
}
@keyframes down {
	0% {
		transform: translateY(-.9375rem);
	}
	80% {
		transform: translateY(.9375rem);
	}
	0%,
	80%,
	100% {
		opacity: 0;
	}
	40% {
		opacity: 1;
	}
}
/* ------------------------------ */
/* section#about */
/* ------------------------------ */
section#about {
	margin: 8.4375rem auto 0;
}
section#about .inner {
	padding: 135px 170px 0;
	/* padding-top: w768px=>80px 〜 w1440px=>135px */
	/* padding-left/right: w768px=>40px 〜 w1440px=>170px */
	padding-top: clamp(80px, 8.18vw + 17.14px, 135px);
	padding-left: clamp(40px, 19.35vw - 108.57px, 170px);
	padding-right: clamp(40px, 19.35vw - 108.57px, 170px);
	padding-bottom: 0;
}
div#bgBeige {
	/*width: 944px;*/
	/*height: 624px;*/
	width: 65.7%;
	height: 65.7%;
	background: #F0EDEA;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
img#topAbout {
	width: 32%;
	position: absolute;
	top: -15rem;
	right: 170px;
	/* right: w768px=>60px 〜 w1440px=>170px */
	right: clamp(60px, 16.37vw - 65.71px, 170px);
}
section#about p {
	margin: 3.125rem 0 0;
	font-size: .9375rem;
	line-height: 2;
	letter-spacing: .075em;
	width: 550px;
	/* width: w768px=>412px 〜 w1440px=>550px */
	width: clamp(412px, calc(20.54vw + 254.29px), 550px);
}
div#boxAbout {
	width: 100%;
	background: url(/assets/img/top_about_bg.jpg) no-repeat;
	background-size: auto 222%;
	background-position: 44% 26%;
	margin: 7.5rem 0;
	padding: 4.375rem 6.9% 6.25rem;
}
div#boxAbout h3 {
	color: #211814;
	font-family: "Zen Old Mincho", serif;
	font-weight: 400;
	font-size: 1.125rem;
	margin-bottom: 2.5rem;
}
div#boxAbout ul.grid {
	grid-template-columns: repeat(4, 1fr);
	gap: 1.25rem;
}
div#boxAbout ul>li {
	background: #FFF;
	border: 1px solid #707070;
	padding: 1.875rem 0 .75rem;
	text-align: center;
	font-size: .9375rem;
	position: relative;
}
div#boxAbout ul>li:after {
	content: '';
	width: .875rem;
	aspect-ratio: 1 / 1;
	background: url(/assets/img/icon_check.svg) no-repeat;
	position: absolute;
	top: .75rem;
	left: 0;
	right: 0;
	margin: auto;
}
/* ------------------------------ */
/* section#service */
/* ------------------------------ */
section#service {
	margin: 1.875rem auto 0;
}
section#service .inner {
	padding: 30px 170px 0;
	/* padding-top: w768px=>0px 〜 w1440px=>30px */
	/* padding-right/left: w768px=>40px 〜 w1440px=>170px */
	padding-top: clamp(0px, 4.46vw - 34.29px, 30px);
	padding-right: clamp(40px, 19.35vw - 108.57px, 170px);
	padding-bottom: 0;
	padding-left: clamp(40px, 19.35vw - 108.57px, 170px);
}
section#service p {
	font-size: .9375rem;
	line-height: 2;
	letter-spacing: .075em;
	position: absolute;
	width: 560px;
	top: 40px;
	right: 170px;
	/* width: w768px=>350px 〜 w1440px=>560px */
	width: clamp(350px, 31.25vw + 110px, 560px);
	/* top: w768px=>5px 〜 w1440px=>40px */
	top: clamp(5px, 5.21vw - 35px, 40px);
	/* right: w768px=>40px 〜 1440px=~>170px */
	right: clamp(40px, 19.35vw - 108.57px, 170px);
}
section#service .flex {
	border-right: 1px solid #B7B7B7;
	border-bottom: 1px solid #B7B7B7;
	width: calc(100% + 340px);
	margin: 100px -170px 80px;
	margin-top: 6.25rem;
	margin-bottom: 5rem;
	/* width: w768px=>100% + 80px 〜 1440px=>100% + 340px */
	width: clamp(calc(100% + 80px), calc(100% + (38.69vw - 217.14px)), calc(100% + 340px));
	/* margin-left/right: w768px=>-40px 〜 w1440px=>-170px */
	margin-left: clamp(-170px, -19.35vw + 108.57px, -40px);
	margin-right: clamp(-170px, -19.35vw + 108.57px, -40px);
}
.flex>a.card {
	border-top: 1px solid #B7B7B7;
	border-left: 1px solid #B7B7B7;
	background: #FFF;
	display: flex;
	flex-wrap: wrap;
	z-index: 1;
}
.flex>a.card:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(15deg, #feada6 0%, #f5efef 100%);
	opacity: 0;
	transition: opacity .3s ease-in-out;
	z-index: -1;
}
.flex>a.card:nth-child(-n+3) {
	width: calc(100% / 3);
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 2.8125rem 1.875rem;
}
.flex>a.card:nth-child(n+4):nth-child(-n+5) {
	width: 50%;
	padding: 1.875rem 100px;
	/* padding-left/right: w768px=>20px	〜 w1440px=>100px */
	padding: 1.875rem clamp(20px, 11.9vw - 71.43px, 100px);
}
.flex>a.card:nth-child(n+4):nth-child(-n+5) figure {
	order: -1;
}
.flex>a.card:nth-child(n+4):nth-child(-n+5) h3 {
	position: absolute;
	top: 40%;
	left: 50%;
	/* left: w768px=>47% 〜 w1440px=>50%;*/
	left: clamp(47%, 0.45vw + 43.57%, 50%);
}
.flex>a.card:nth-child(n+4):nth-child(-n+5)>span {
	position: absolute;
	top: 65%;
	left: 50%;
	/* left: w768px=>47% 〜 w1440px=>50%;*/
	left: clamp(47%, 0.45vw + 43.57%, 50%);
}
.flex>a.card figure {
	width: 12.5rem;
	height: 16.25rem;
	border-radius: 6.25rem;
	overflow: hidden;
	background-repeat: no-repeat;
	transition: .3s ease-in-out;
	position: relative;
	margin: 1.25rem 0;
}
.flex>a.card figure.img_service1 {
	background-image: url(/assets/img/service1.jpg);
	background-size: auto 100%;
	background-position: 70% 50%;
}
.flex>a.card figure.img_service2 {
	background-image: url(/assets/img/service2.jpg);
	background-size: auto 100%;
	background-position: 70% 50%;
}
.flex>a.card figure.img_service3 {
	background-image: url(/assets/img/service3.jpg);
	background-size: auto 110%;
	background-position: 60% 50%;
}
.flex>a.card figure.img_service4 {
	background-image: url(/assets/img/service4.jpg);
	background-size: auto 100%;
	background-position: 50% 50%;
}
.flex>a.card figure.img_service5 {
	background-image: url(/assets/img/service5.jpg);
	background-size: auto 100%;
	background-position: 85% 50%;
}
.flex>a.card figure:after {
	content: '';
	width: 100%;
	height: 100%;
	background: rgba(98, 73, 50, .5);
	position: absolute;
	top: 0;
	left: 0;
}
.flex>a.card>span {
	color: #171717;
	font-family: "EB Garamond", serif;
	font-weight: 400;
	/*font-size: 14px;*/
	font-size: .875rem;
	line-height: 1.25;
	display: inline-flex;
	align-items: center;
	position: relative;
	padding: 10px 0;
}
.flex>a.card>span:after {
	content: '';
	display: inline-block;
	width: 8.125rem;
	height: 1px;
	background: #000;
	margin-left: .625rem;
	position: relative;
}
.flex>a.card>span:before {
	content: '';
	position: absolute;
	width: .5rem;
	height: .5rem;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	transform: translateY(-50%) rotate(45deg) skew(-15deg, -15deg);
	top: 50%;
	right: 1px;
}
.flex>a.card:hover:before {
	opacity: .65;
}
.flex>a.card:hover figure {
	filter: brightness(135%);
}
/* ------------------------------ */
/* section#access */
/* ------------------------------ */
section#access {
	padding-top: 1.875rem;
}
section#access .inner {
	padding: 30px 170px 100px;
	/* padding-left/right: w768px=>40px 〜 w1440px=>170px */
	padding-top: 1.875rem;
	padding-bottom: 6.25rem;
	padding-left: clamp(40px, 19.35vw - 108.57px, 170px);
	padding-right: clamp(40px, 19.35vw - 108.57px, 170px);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
section#access dl {
	width: 47%;
	/* width: w768px=>50% 〜 w1440px=>47% */
	width: clamp(47%, -0.45vw + 53.43%, 50%);
	display: flex;
	flex-wrap: wrap;
	color: #0F214E;
	font-size: .9375rem;
	letter-spacing: .075em;
}
section#access dl dt {
	width: 20%;
	border-bottom: 1px solid #D5D5D5;
	padding: .625rem .3125rem;
}
section#access dl dd {
	width: 80%;
	border-bottom: 1px solid #D5D5D5;
	padding: .625rem .3125rem;
}
section#access iframe {
	width: 100%;
	height: 450px;
	/* height: w768px=>300px 〜 w1440px=>450px */
	height: clamp(300px, 22.32vw + 128.57px, 450px);
	border: 0;
	filter: grayscale(85%) sepia(5%);
	transition: all .7s ease;
	margin: 3.125rem auto;
}
/* ------------------------------ */
/* footer */
/* ------------------------------ */
footer {
	position: relative;
}
footer video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	object-fit: cover;
}
footer .inner {
	padding: 4.375rem 70px 2.1875rem;
	/* padding-left/right: w768px=>20px 〜 w1440px=>70px */
	padding: 4.375rem clamp(20px, 7.44vw - 37.14px, 70px) 2.1875rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
footer .logoSet {
	margin: 0;
	text-align: left;
}
footer .logoSet span {
	display: block;
	color: #292929;
	font-weight: 400;
	font-size: .8125rem;
	letter-spacing: .2em;
	padding: 0 0 .3125rem;
}
footer .logoSet img {
	width: 12.5rem;
	margin: 0;
}
footer nav ul {
	gap: 0 2.875rem;
	padding: 1.875rem 0 .9375rem .9375rem;
}
footer .subNavi {
	width: 100%;
	gap: 0 .625rem;
	flex-direction: row;
	justify-content: flex-end;
	align-items: center;
	margin: 1.25rem 0 7.5rem;
}
footer .snsSet {
	display: block flex;
	gap: 0 .9375rem;
	margin: .625rem 1.25rem .625rem 0;
}
footer .snsSet a {
	display: block;
	width: 1.875rem;
}
footer .subNavi a.btnArrow {
	width: 15.625rem;
}
footer #btmSet {
	color: #0F214E;
	width: 100%;
	display: flex;
	justify-content: flex-end;
	gap: 2.5rem;
	border-top: 1px solid #B9B6B3;
	padding: 2.1875rem 0 0;
	font-size: .75rem;
}
#pageTop {
	opacity: 0;
	visibility: hidden;
	transition: opacity .5s, visibility .5s;
	position: fixed;
	right: 4.375rem;
	bottom: 2.1875rem;
	width: 8.125rem;
	z-index: 99;
	cursor: pointer;
}
#pageTop.is_show {
	opacity: 1;
	visibility: visible;
}
/* ------------------------------ */
/* section#mainV */
/* ------------------------------ */
section#mainV {
	margin-bottom: 8rem;
}
section#mainV>img {
	position: absolute;
	top: 16.875rem;
	left: 0;
	min-width: 100%;
	height: 24.375rem;
	z-index: -1;
	object-fit: cover;
}
section#mainV .inner {
	padding: 230px 170px 0;
	/* padding-top: w768px=>170px 〜 w1440px=>２３0px */
	/* padding-left/right: w768px=>40px 〜 w1440px=>170px */
	padding: clamp(170px, 8.93vw + 101.43px, 230px) clamp(40px, 19.35vw - 108.57px, 170px) 0;
}
#anchorNav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1.25%;
	margin: 13.75rem 0 3.125rem;
}
#anchorNav>a {
	border: 1px solid #707070;
	background: rgba(255, 255, 255, .3);
	padding: 1rem 1.25%;
	width: 19%;
	font-family: "Montserrat", sans-serif;
	font-weight: 500;
	font-size: .875rem;
	line-height: 1.25;
	position: relative;
}
#anchorNav>a:after {
	content: '';
	position: absolute;
	right: 16px;
	/* right: w768px=>2px 〜 w1440px=>16px */
	right: clamp(2px, 2.083vw - 14px, 16px);
	top: 50%;
	transform: translateY(-50%);
	width: 1.125rem;
	height: 1.125rem;
	background: url(/assets/img/anchor_arrow.svg) no-repeat;
	background-size: contain;
	background-position: center;
}
#anchorNav>a:hover {
	background: rgba(255, 255, 255, 1);
}
/* ------------------------------ */
/* body#menu */
/* ------------------------------ */
body#menu section:not(#mainV) .inner {
	margin: 2rem auto;
	max-width: 1060px;
	padding: 0 30px;
	/* padding-left/right: w768px=>40px 〜 w1440px=>30px */
	padding: 0 clamp(30px, -1.49vw + 51.43px, 40px);
}
body#menu h3 {
	text-align: left;
	font-size: 2.25rem;
	font-family: "Montserrat", sans-serif;
	font-weight: 400;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	align-items: center;
	padding: 1.25rem 0;
	position: relative;
}
body#menu h3>span {
	display: inline-block;
	white-space: nowrap;
	font-size: 1rem;
}
body#menu h3:before {
	content: '';
	width: 100%;
	height: .5rem;
	background: #F0EDEA;
	position: absolute;
	bottom: 0;
	left: 0;
}
body#menu h3:after {
	content: '';
	width: 31%;
	height: .5rem;
	background: #DBD5D0;
	position: absolute;
	bottom: 0;
	left: 0;
}
body#menu .boxDtl {
	margin: 3rem 0 4rem;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
body#menu .boxDtl>img {
	width: 31%;
}
body#menu .boxDtl>.textSet {
	width: 69%;
	padding-left: 6%;
}
section#menu1 .textSet {
	width: 48% !important;
}
section#menu1 .absPos {
	position: absolute;
	top: 8rem;
	right: 1.875rem;
	width: 20%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 3rem;
}
body#menu h4 {
	font-size: 1.25rem;
	margin-bottom: 1.25rem;
}
#menu5 h4 {
	letter-spacing: .025em;
}
body#menu h4>span {
	display: block;
	font-size: 1rem;
}
body#menu h4.f_eb {
	font-family: "EB Garamond", serif;
	font-size: 1.375rem;
	line-height: 1.25;
}
body#menu h4.f_eb>span {
	font-family: "Zen Old Mincho", serif;
}
body#menu h4:not(:first-of-type) {
	margin-top: 1.5rem;
}
body#menu h4:has(+ .priceSet) {
	margin-bottom: .75rem;
}
body#menu .boxDtl>.textSet>p {
	font-size: .875rem;
	margin-bottom: 1.25rem;
}
body#menu .boxDtl>.textSet>p:has(+ .priceSet) {
	margin-bottom: 2rem;
}
body#menu .priceSet {
	font-size: .875rem;
	line-height: 1.925;
}
section#menu4 ul.priceSet li {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	margin-top: .75rem;
	line-height: 1.75;
}
section#menu4 ul.priceSet li:before {
	content: '';
	width: .5rem;
	height: .5rem;
	background: #211814;
	display: inline-block;
	margin-right: .375em;
}
section#menu4 ul.priceSet li span {
	width: 100%;
	padding-left: .75rem;
}
body#menu dl.priceSet {
	display: flex;
	flex-wrap: wrap;
}
body#menu dl.priceSet dt {
	width: 13em;
	display: flex;
	align-items: center;
}
body#menu dl.priceSet dt:before {
	content: '';
	width: .5rem;
	height: .5rem;
	background: #211814;
	display: inline-block;
	margin-right: .375em;
}
body#menu dl.priceSet dd {
	width: calc(100% - 13em);
}
dl.priceSet.narrow dt {
	width: 6em !important;
}
dl.priceSet.narrow dd {
	width: calc(100% - 6em) !important;
}
dl.priceSet.narrow dd span {
	display: inline-block;
	padding-left: 1em;
}
dl.priceSet.wide dt {
	width: 15em !important;
}
dl.priceSet.wide dd {
	width: calc(100% - 15em) !important;
}
dl.priceSet.narrow dd span {
	display: inline-block;
	padding-left: 1em;
}
.boxNote {
	border: 1px solid #D6D5D5;
	margin: 3rem 0 0;
	padding: 1.5rem 2.5rem;
	font-size: .875rem;
}
.boxNote ul {
	margin-top: .5rem;
	font-size: .8125rem;
}
.boxNote ul li {
	padding: .25rem 0 0 1em;
	text-indent: -1em;
}
section#notice {
	margin: 9rem auto 4.5rem;
}
section#notice p {
	font-size: .875rem;
	letter-spacing: .075em;
	padding: .125rem 0 .125rem 1em;
	text-indent: -1em;
	line-height: 1.5;
}
section#notice p span {
	position: relative;
}
section#notice p span:after {
	content: '';
	width: 100%;
	height: 2px;
	background: #DBD5D0;
	position: absolute;
	left: 0;
	bottom: -2px;
}
/* ------------------------------ */
/* body#guest */
/* ------------------------------ */
body#guest section#mainV>img {
	object-position: left 56%;
}
body#guest #anchorNav {
	justify-content: flex-start;
}
body#guest #anchorNav>a {
	font-family: "Zen Old Mincho", serif;
	font-weight: 400;
}
body#guest h3 {
	text-align: center;
	font-size: 1.875rem;
	font-family: "Zen Old Mincho", serif;
	font-weight: 400;
	letter-spacing: .2em;
	padding-bottom: 2rem;
	margin-bottom: 6rem;
	display: flex;
	justify-content: center;
	position: relative;
}
body#guest h3:after {
	content: '';
	width: 3em;
	height: 1px;
	background: #363636;
	position: absolute;
	bottom: 0;
}
section#guest1 .inner {
	margin: 2rem auto 4rem;
	max-width: 860px;
	padding: 0 30px;
	/* padding-left/right: w768px=>40px 〜 w1440px=>30px */
	padding: 0 clamp(30px, -1.49vw + 51.43px, 40px);
}
section#guest1 .inner+.inner.wide {
	margin: 0 auto 8rem;
	max-width: 960px;
}
.boxStep {
	margin: 2.5rem auto;
}
.boxStep>.ttl {
	border-bottom: 1px solid #707070;
	display: flex;
	align-items: center;
	gap: 5.5%;
	padding: 0 .25rem .5rem;
	position: relative;
}
.boxStep>.ttl:before {
	content: '';
	position: absolute;
	left: 50%;
	bottom: -1px;
	transform: translateX(-50%);
	width: 1.4rem;
	height: 2px;
	background: #fff;
	z-index: 1;
}
.boxStep>.ttl:after {
	content: '';
	width: 1.4rem;
	height: 1.2rem;
	background: url(/assets/img/corr_arrow.svg);
	background-size: cover;
	transform: translateX(-50%);
	position: absolute;
	left: 50%;
	bottom: -1.2rem;
	z-index: 2;
}
.stepNum {
	width: 15.5%;
	font-family: "Roboto", sans-serif;
	font-weight: 400;
	letter-spacing: .075rem;
	color: #393939;
	display: flex;
	align-items: center;
	gap: .3125rem;
	line-height: 1;
}
.stepNum span {
	font-size: .8125rem;
}
.stepNum strong {
	font-size: 2.125rem;
}
section#guest1 h4 {
	width: 79%;
	font-size: 1.25rem;
	margin: 0;
}
.boxStep>.flex {
	padding: 2rem .375rem;
	gap: 5.5%;
}
.boxStep>.flex>img {
	width: 15.5%;
}
.boxStep>.flex>.textSet {
	width: 79%;
	font-size: .875rem;
}
#step1 .btnSet {
	display: flex;
	flex-wrap: wrap;
	gap: .625rem;
	margin-top: 1.75rem;
}
#step1 .btnSet>a.btnRes {
	color: #383838;
	font-size: 1rem;
	width: 12.25rem;
	background: #fff;
	border: 1px solid #B1B1B1;
	border-radius: 1.875rem;
	padding: .375rem 2%;
	display: flex;
	justify-content: center;
	align-items: center;
}
#step1 .btnSet>a.btnRes img {
	height: 2.25rem;
}
#step2.boxStep>.flex {
	align-items: flex-start;
}
#step2 p:not(.ind1em):has(+ p.ind1em) {
	margin-bottom: .5rem;
}
#step2 dl {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	margin-top: 1rem;
}
#step2 dl dt {
	width: 6em;
	padding: .25rem 0;
}
#step2 dl dd {
	width: calc(100% - 6em);
	padding: .25rem 0;
}
section#guest1 .boxNote {
	margin: 2rem 0 0;
}
section#guest2 {
	background: url(/assets/img/bg_qa.jpg);
	background-size: cover;
	background-position: 50% 50%;
}
section#guest2 .inner {
	margin: 0 auto;
	max-width: 1060px;
	padding: 7.5rem 30px 12rem;
	/* padding-left/right: w768px=>40px 〜 w1440px=>30px */
	padding: 7.5rem clamp(30px, -1.49vw + 51.43px, 40px) 12rem;
}
section#guest2 dl {
	width: 100%;
	max-width: 1000px;
	background: #fff;
	margin: 1rem auto;
	font-size: 1rem;
}
section#guest2 dl>dt {
	position: relative;
	padding: 1rem 4.5rem;
	cursor: pointer;
}
section#guest2 dl>dt:before {
	content: 'Q';
	font-size: 2rem;
	font-family: "Roboto", sans-serif;
	font-weight: 400;
	line-height: 1;
	color: #393939;
	position: absolute;
	top: 1rem;
	left: 1.5rem;
}
section#guest2 dl>dd {
	position: relative;
	padding: 1rem 4.5rem;
	display: none;
}
section#guest2 dl>dd:before {
	content: 'A';
	font-size: 2rem;
	font-family: "Roboto", sans-serif;
	font-weight: 400;
	line-height: 1;
	color: #898989;
	position: absolute;
	top: 1rem;
	left: 1.5rem;
}
section#guest2 dl>dd:after {
	content: '';
	width: calc(100% - 3rem);
	height: 1px;
	background: #D9D9D9;
	position: absolute;
	top: 0;
	left: 1.5rem;
}
dt .btnQA {
	width: 1.3125rem;
	height: 1.3125rem;
	position: absolute;
	top: 1.25rem;
	right: 1.5rem;
	background: none;
}
dt .btnQA:before,
dt .btnQA:after {
	content: '';
	height: 1px;
	width: 1.3125rem;
	background: #393939;
	position: absolute;
	top: 50%;
	left: 50%;
	transition: .3s ease-in-out;
	transform: translateX(-50%) translateY(-50%);
}
dt .btnQA:before {
	transform: translate(-50%, -50%) rotate(270deg);
}
dt.is_open .btnQA:before {
	transform: translate(-50%, -50%) rotate(0deg);
}
/* ------------------------------ */
/* body#privacy */
/* ------------------------------ */
body#privacy section#mainV {
	margin-bottom: 8rem;
	padding-bottom: 4.5rem;
}
body#privacy section#mainV>img {
	position: absolute;
	top: 16.875rem;
	left: 0;
	min-width: 100%;
	height: 10rem;
	z-index: -1;
	object-fit: cover;
}
body#privacy section#mainV .inner {
	padding: 230px 170px 0;
	/* padding-top: w768px=>170px 〜 w1440px=>２３0px */
	/* padding-left/right: w768px=>40px 〜 w1440px=>170px */
	padding: clamp(170px, 8.93vw + 101.43px, 230px) clamp(40px, 19.35vw - 108.57px, 170px) 0;
}
body#privacy section:not(#mainV) .inner {
	margin: 2rem auto 8rem;
	max-width: 1060px;
	padding: 0 30px;
	/* padding-left/right: w768px=>40px 〜 w1440px=>30px */
	padding: 0 clamp(30px, -1.49vw + 51.43px, 40px);
}
body#privacy h3 {
	text-align: left;
	font-size: 1.875rem;
	font-family: "Zen Old Mincho", serif;
	font-weight: 400;
	letter-spacing: .02em;
	padding: 1.25rem 0;
	position: relative;
}
body#privacy h3:before {
	content: '';
	width: 100%;
	height: .5rem;
	background: #F0EDEA;
	position: absolute;
	bottom: 0;
	left: 0;
}
body#privacy h3:after {
	content: '';
	width: 31%;
	height: .5rem;
	background: #DBD5D0;
	position: absolute;
	bottom: 0;
	left: 0;
}








/* ------------------------------ */
/* style */
/* ------------------------------ */
.flex {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.grid {
	width: 100%;
	display: grid;
}
.ind1em {
	padding-left: 1em;
	text-indent: -1em;
}