@charset "UTF-8";

/*
@media ( max-width: 767px ){
　スマホレイアウト、VW指定
}
@media ( min-width: 768px ){
　タブレット・PC（1140px）レイアウト
　min(1.5385vw, 20px)　⇒　min(タブレット、PC）
}
*/

/* =Reset
-------------------------------------------------------------- */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;word-wrap:break-word;overflow-wrap:break-word;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {display: block;}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:normal;}
li{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:inherit;}
q:before,q:after{content:'';}
abbr,acronym{border:0;font-variant:normal;}
sup{vertical-align:super;}
sub{vertical-align:text-bottom;}
input,textarea,select,button{font-family:inherit;font-size:inherit;font-weight:inherit;}
legend{color:#000;}
img {vertical-align:top;}
input[type="radio"],input[type="checkbox"] {vertical-align: -2px;}
label {cursor: pointer;}


/* =Common
-------------------------------------------------------------- */
body {
	text-align: center;
	line-height: 1;
	-webkit-text-size-adjust: 100%;
}
img {
	max-width: 100%;
	height: auto;
}
input[type="submit"], input[type="reset"] {
	appearance: none;
	cursor: pointer;
}
@font-face {
	font-family: 'Noto Sans JP';
	src: local(''), url('../font/NotoSansJP.woff2') format('woff2');
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Noto Serif JP';
	src: local(''), url('../font/NotoSerif.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

/* =Styles 
-------------------------------------------------------------- */
body {
	position: relative;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	color: #000;
}
.sans {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
}
a {
	text-decoration: none;
    color: #000;
}
@media ( min-width: 768px ){
	body {
	}
	.inner {
		max-width: 1072px;
		margin: 0 auto;
		padding: 0 min(1.7986vw, 20px);
	}
	.sp {
		display: none !important;
	}
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}	
}
@media ( max-width: 767px ){
	.inner {
		padding: 0 5.3333vw;
	}
	.pc {
		display: none !important;
	}
}

/* header */
.header .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-color: #fff;
}
.header .tel a {
	display: inline-block;
	font-weight: 700;
	position: relative;
	letter-spacing: 0.05em;
}
.header .tel a::before {
	content: "";
	background: url("../img/icon_tel01.png") no-repeat 0 0 / contain;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.header .tel span {
	display: block;
}
@media ( min-width: 768px ){
	.header .inner {
		height: min(5.7239vw, 63.65px);
	}
	.header .logo {
		width: min(23.9209vw, 266px);
	}
	.header .tel a {
		font-size: min(3.1331vw, 34.84px);
	}
	.header .tel a::before {
		width: min(2.9676vw, 33px);
		height: min(1.9784vw, 22px);
		left: max(-3.7356vw, -41.54px);
	}
	.header .tel span {
		font-size: min(0.9038vw, 10.05px);
		margin: min(0.482vw, 5.36px) 0 0;
	}
}
@media ( max-width: 767px ){
	.header .inner {
		justify-content: center;
		height: 12.6667vw;
	}
	.header .logo {
		width: 52.9333vw;
	}
	.header .tel {
		display: none;
	}
}

/* fv */
.fv {
	position: relative;
	overflow: hidden;
}
.fv::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.fv .text01 {
	color: #e9ce8e;
	letter-spacing: 0.1em;
	border: 1px solid #e9ce8e;
}
.fv .text02 {
	color: #fff;
	font-feature-settings: "palt";
}
.fv .text03 {
	color: #fff;
}
@media ( min-width: 768px ){
	.fv {
		background: url("../img/fv_bg.jpg") no-repeat center center / cover;
		padding: min(3.4173vw, 38px) 0 min(25vw, 278px);
	}
	.fv::after {
		background: url("../img/fv_img_01.png") no-repeat bottom center / contain;
		width: min(104.5863vw, 1163px);
		height: min(21.4928vw, 239px);
	}
	.fv .text01 {
		display: inline-block;
		padding: min(1.259vw, 15px) min(2.1088vw, 23.45px);
		font-size: min(2.1088vw, 23.45px);
		margin: 0 auto min(2.9676vw, 33px);
	}
	.fv .text02 {
		font-size: min(2.8777vw, 32px);
		margin: 0 0 min(1.9784vw, 22px);
	}
	.fv .text02 .emphasis {
		font-size: min(3.9568vw, 44px);
	}
	.fv .logo {
		width: min(58.143vw, 646.55px);
		margin: 0 auto min(1.9784vw, 22px);
	}
	.fv .text03 {
		font-size: min(2.1583vw, 24px);
	}
}
@media ( max-width: 767px ){
	.fv {
		background: url("../img/fv_bg_sp.jpg") no-repeat center center / cover;
		padding: 6.2667vw 0 30.2667vw;
	}
	.fv::after {
		background: url("../img/fv_img_01_sp.png") no-repeat bottom center / contain;
		width: 94vw;
		height: 22.9333vw;
	}
	.fv .text01 {
		padding: 2.1333vw 0;
		font-size: 3.4667vw;
		margin: 0 auto 5.3333vw;
	}
	.fv .text02 {
		font-size: 5.3333vw;
		line-height: 1.3;
		margin: 0 0 4.8vw;
	}
	.fv .text02 .emphasis {
		font-size: 7.3333vw;
	}
	.fv .text02 .sp_size {
		font-size: 6.4vw;
	}
	.fv .logo {
		width: 78.9333vw;
		margin: 0 auto 5.0667vw;
	}
	.fv .text03 {
		font-size: 3.6vw;
		line-height: 1.7;
	}
}

/* floatbnr */
.floatbnr{
	position:fixed;
	right:0;
	z-index:998;
	display: flex;
	flex-direction: column;
}
.floatbnr li {
	writing-mode: vertical-rl;
    text-orientation: upright;
}
.floatbnr li a {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	color: #fff;
	border: 1px solid #fff;
	letter-spacing: 0.05em;
	text-align: center;
	transition-duration: .3s;
}
.floatbnr li.mail a {
	background: #40409a;
}
.floatbnr li.reserve a {
	background: #a48029;
}
@media (hover: hover) {
	.floatbnr li a:hover {
		opacity: 0.8;
	}
}
.floatbnr li a .text1 {
	position: relative;
}
.floatbnr li a .text1::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
.floatbnr li.mail a .text1::before {
	background: url("../img/icon_mail.svg") no-repeat 0 0 / contain;
}
.floatbnr li.reserve a .text1::before {
	background: url("../img/icon_reserve.svg") no-repeat 0 0 / contain;
}
.floatbnr li.reserve a .text2 {
	writing-mode: horizontal-tb;
	line-height: 1.3;
	border: 1px solid #fff;
}
.floatbnr li.reserve a .text2 span {
	display: block;
	font-weight: 700;
}
@media ( min-width: 768px ){
	.floatbnr{
		top: min(8.9928vw, 100px);
		gap: min(1.0791vw, 12px) 0;
	}
	.floatbnr li a {
		width: min(6.1151vw, 68px);
		font-size: min(2.1583vw, 24px);
		border-radius: min(0.8993vw, 10px) 0 0 min(0.8993vw, 10px);
	}
	.floatbnr li.mail a {
		height: min(25.8993vw, 288px);
	}
	.floatbnr li.reserve a {
		height: min(30.9353vw, 344px);
	}
	.floatbnr li.mail a .text1 {
		padding: min(3.0576vw, 34px) 0 0;
	}
	.floatbnr li.reserve a .text1 {
		padding: min(3.4173vw, 38px) 0 min(1.259vw, 14px);
	}
	.floatbnr li.mail a .text1::before {
		width: min(2.4101vw, 26.8px);
		height: min(1.6871vw, 18.76px);
	}
	.floatbnr li.reserve a .text1::before {
		width: min(2.2896vw, 25.46px);
		height: min(2.2896vw, 25.46px);
	}
	.floatbnr li.reserve a .text2 {
		font-size: min(0.8993vw, 10px);
		padding: min(0.5396vw, 6px) min(0.3597vw, 4px);
	}
	.floatbnr li.reserve a .text2 span {
		font-size: min(1.259vw, 14px);
	}
}
@media ( max-width: 767px ){
	.floatbnr{
		display: none;
	}
}

/* cta_bar */
.cta_bar {
	background: #fff;
}
.cta_bar .inner {
	display: flex;
	justify-content: space-between;
}
.cta_bar .tel {
	text-align: left;
}
.cta_bar .tel a {
	display: block;
	font-weight: 700;
	letter-spacing: 0.05em;
	position: relative;
}
.cta_bar .tel a::before {
	content: "";
	background: url("../img/icon_tel01.png") no-repeat 0 0 / contain;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.cta_bar .tel span {
	display: block;
	letter-spacing: 0.01em;
}
.cta_bar .btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-weight: 600;
	letter-spacing: 0.1em;
	transition: 0.3s;
	position: relative;
}
.cta_bar .mail .btn {
	background: linear-gradient(to bottom, #6b6bac, #40409a);
}
.cta_bar .reserve .btn {
	background: linear-gradient(to bottom, #bdab7d, #b2995a);
}
.cta_bar .btn::after {
	content: "";
	background: url("../img/btn_arw.png") no-repeat 0 0 / contain;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.cta_bar .btn span {
	display: inline-block;
	position: relative;
}
.cta_bar .btn span::before {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.cta_bar .mail .btn span::before {
	background: url("../img/icon_mail.svg") no-repeat 0 0 / contain;
}
.cta_bar .reserve .btn span::before {
	background: url("../img/icon_reserve.svg") no-repeat 0 0 / contain;
}
@media (hover: hover) {
	.cta_bar .btn:hover {
		box-shadow: 0 min(0.5396vw, 6px) min(0.8993vw, 10px) rgba(0, 0, 0, 0.4);
		transform: translateY(-2px);
	}
}
.cta_bar .mail .sans,
.cta_bar .reserve .sans {
	display: block;
	margin: 1em 0 0;
}
@media ( min-width: 768px ){
	.cta_bar {
		padding: min(1.6187vw, 18px) 0 min(1.259vw, 14px);
	}
	.cta_bar .tel p {
		font-size: min(1.4388vw, 16px);
		margin: 0 0 min(0.4496vw, 5px);
	}
	.cta_bar .tel a {
		font-size: min(4.2176vw, 46.9px);
		padding: 0 0 0 min(4.8561vw, 54px);
	}
	.cta_bar .tel a::before {
		width: min(3.9766vw, 44.22px);
		height: min(2.5908vw, 28.81px);
	}
	.cta_bar .tel span {
		font-size: min(1.0791vw, 12px);
		padding: min(0.3597vw, 4px) 0 0 min(5.1259vw, 57px);
	}
	.cta_bar .btn {
		width: min(29.6763vw, 330px);
		height: min(6.0252vw, 67px);
		font-size: min(2.1583vw, 24px);
		border-radius: min(0.8993vw, 10px);
		box-shadow: 0 min(0.3597vw, 4px) min(0.5396vw, 6px) rgba(0, 0, 0, 0.3);
	}
	.cta_bar .btn::after {
		width: min(0.8993vw, 10px);
		height: min(1.6187vw, 18px);
		right: min(1.7986vw, 20px);
	}
	.cta_bar .btn span::before {
		left: max(-3.4173vw, -38px);
	}
	.cta_bar .mail .btn span::before {
		width: min(2.4101vw, 26.8px);
		height: min(1.6871vw, 18.76px);
	}
	.cta_bar .reserve .btn span::before {
		width: min(2.2896vw, 25.46px);
		height: min(2.2896vw, 25.46px);
	}
	.cta_bar .mail .sans,
	.cta_bar .reserve .sans {
		font-size: min(1.0791vw, 12px);
	}
	.cta_bar_sp {
		display: none;
	}
}
@media ( max-width: 767px ){
	.cta_bar {
		display: none;
	}
	.cta_bar_sp {
		display: flex;
	}
	.cta_bar_sp div {
		width: 33.333%;
	}
	.cta_bar_sp .tel {
		background: #fff;
	}
	.cta_bar_sp .mail {
		background: #40409a;
	}
	.cta_bar_sp .reserve {
		background: #a48029;
	}
	.cta_bar_sp div a {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		color: #fff;
		height: 22.6667vw;
	}
	.cta_bar_sp .tel a {
		color: #40409a;
	}
	.cta_bar_sp .icon {
		margin: 0 auto;
	}
	.cta_bar_sp .tel .icon {
		width: 7.3333vw;
		margin: 2vw auto 0;
	}
	.cta_bar_sp .mail .icon {
		width: 5.8667vw;
	}
	.cta_bar_sp .reserve .icon {
		width: 5.6vw;
		margin: -1vw auto 0;
	}
	.cta_bar_sp p {
		font-size: 3.7333vw;
		margin: 2.6667vw 0 2vw;
	}
	.cta_bar_sp .tel p {
		margin: 2vw 0 1vw;
	}
	.cta_bar_sp .reserve p {
		margin: 1.5vw 0 2vw;
	}
	.cta_bar_sp .sans {
		font-size: 2.4vw;
		line-height: 1.2;
	}
}

/* introduction */
.introduction {
	overflow: hidden;
}
.introduction .sec_in {
	background: linear-gradient(to bottom, #fff, #eae0cc);
	border: 1px solid #976a00;
	box-shadow: 1px 1px 3px 0px rgba(41, 41, 41, 0.2);
}
.introduction .sec_in .lead {
	font-weight: 700;
	line-height: 1.35;
	background: linear-gradient(to right, #341500, #853800, #341500);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	position: relative;
	z-index: 2;
}
.introduction .sec_in .img_box {
	position: relative;
	z-index: 2;
}
.introduction .sec_in .img_box img {
	width: 100%;
}
.introduction .sec_in .img_box::before {
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}
.introduction .sec_in .img_box span {
	display: block;
	text-align: right;
}
.introduction .sec_in .case {
	line-height: 1.5;
	font-weight: 600;
	letter-spacing: 0.05em;
}
@media ( min-width: 768px ){
	.introduction {
		background: url("../img/intro_bg.jpg") no-repeat 0 center / cover;
		padding: min(4.4964vw, 50px) 0;
	}
	.introduction .sec_in {
		padding: min(6.0252vw, 67px) 0;
	}
	.introduction .sec_in .lead {
		letter-spacing: 0.1em;
		font-size: min(3.5971vw, 40px);
		margin: 0 0 min(19.7842vw, 220px);
	}
	.introduction .sec_in .lead span {
		font-size: min(4.2266vw, 47px);
	}
	.introduction .sec_in .img_box {
		width: min(81.205vw, 903px);
		margin: 0 auto min(2.2482vw, 25px);
	}
	.introduction .sec_in .img_box::before {
		background: url("../img/intro_img02.png") no-repeat 0 0 / contain;
		width: min(138.759vw, 1543px);
		height: min(43.705vw, 486px);
		bottom: min(18.8849vw, 210px);
	}
	.introduction .sec_in .img_box span {
		font-size: min(0.9892vw, 11px);
	}
	.introduction .sec_in .case {
		font-size: min(3.0126vw, 33.5px);
	}	
}
@media ( max-width: 767px ){
	.introduction {
		background: url("../img/intro_bg_sp.jpg") no-repeat bottom center / cover;
		padding: 5.8667vw 0;
	}
	.introduction .sec_in {
		padding: 8vw 0 6.6667vw;
	}
	.introduction .sec_in .lead {
		font-size: 4.2667vw;
		margin: 0 0 34vw;
	}
	.introduction .sec_in .lead span {
		font-size: 5.2vw;
	}
	.introduction .sec_in .img_box {
		width: 82.9333vw;
		margin: 0 auto 5.3333vw;
	}
	.introduction .sec_in .img_box::before {
		background: url("../img/intro_img02_sp.png") no-repeat 0 0 / contain;
		width: 100vw;
		height: 42.1333vw;
		top: -35.0667vw;
	}
	.introduction .sec_in .img_box span {
		font-size: 2.1333vw;
		margin: 1em 2em 0 0;
	}
	.introduction .sec_in .case {
		font-size: 4vw;
		font-feature-settings: "palt";
	}	
}

/* about */
.about {
	overflow: hidden;
	background-color: #000;
	background-position: center top, center bottom;
	background-repeat: no-repeat, no-repeat;
	background-size: 100% auto;
	color: #fff;
}
.about .inner {
	position: relative;
}
.about .inner::before {
	content: "ABOUT";
	color: rgba(181,161,81,0.25);
	position: absolute;
	top: 0;
	transform: rotate( 90deg );
	transform-origin: left top;
}
.about .sec_title {
	font-weight: 600;
	letter-spacing: 0.1em;
}
.about .lead {
	display: inline-block;
	background-color: rgba(000,000,000,0.4);
	letter-spacing: 0.075em;
	position: relative;
}
.about .lead::before,
.about .lead::after {
	content: "";
	background-image: linear-gradient(to right,
		rgba(151, 106, 0, 0),
		#976a00 10%,
		#cea648 50%,
		#976a00 90%,
		rgba(151, 106, 0, 0)
	);	
	background-repeat: no-repeat;
	height: 1px;
	left: 0;
	margin-inline: auto;
	position: absolute;
	right: 0; 
	width: 100%;
}
.about .lead::before {
	top: 0;
}
.about .lead::after {
	bottom: 0;
}
.about .feature {
	display: flex;
	justify-content: space-between;
}
.about .feature:nth-child(even) {
	flex-direction: row-reverse;
}
.about .feature .sub_title {
	line-height: 1.3;
	writing-mode: vertical-rl;
	text-orientation: upright;
	text-align: left;
	position: relative;
}
.about .feature {
	position: relative;
}
.about .feature .content {
	border-bottom: 1px solid #b5a151;
	position: relative;
}
.about .feature:nth-child(odd) .content {
	border-left: 1px solid #b5a151;
}
.about .feature:nth-child(even) .content {
	border-right: 1px solid #b5a151;
}
.about .feature .content::before {
	content: "01";
	color: #b5a151;
	position: absolute;
	top: 0;
	transform: rotate( 90deg );
	transform-origin: left top;
}
.about .feature:nth-child(odd) .content::before {
	left: 1.5em;
}
.about .feature:nth-child(even) .content::before {
	right: 0;
}
.about .feature:nth-child(1) .content::before {
	content: "01";
}
.about .feature:nth-child(2) .content::before {
	content: "02";
}
.about .feature:nth-child(3) .content::before {
	content: "03";
}
.about .feature:nth-child(4) .content::before {
	content: "04";
}
.about .feature:nth-child(5) .content::before {
	content: "05";
}
.about .feature:nth-child(6) .content::before {
	content: "06";
}
.about .feature .content .box_in .text_box {
	text-align: left;
}
.about .service {
	background: #fff;
}
.about .service dt {
	background: linear-gradient(to right, #341500, #853800, #341500);
	letter-spacing: 0.1em;
}
.about .service dd ul {
	color: #000;
	text-align: left;
}
.about .service dd ul li {
	line-height: 2.18;
	position: relative;
	padding: 0 0 0 1em;
}
.about .service dd ul li::before {
	content: "";
	background: url("../img/icon_serve_lineup.svg") no-repeat 0 0 / contain;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.about .feature:nth-child(2)::before,
.about .feature:nth-child(3)::before,
.about .feature:nth-child(4)::before,
.about .feature:nth-child(5)::before {
	content: "";
	position: absolute;
}

@media ( min-width: 768px ){
	.about {
		background-image: url("../img/about_bg_top.png"), url("../img/about_bg_btm.png");
		padding: min(4.0468vw, 45px) 0 min(17.9856vw, 200px);
	}
	.about .inner::before {
		font-size: min(9.1727vw, 102px);
		left: min(9.1727vw, 102px);
	}
	.about .sec_title {
		font-size: min(3.9568vw, 44px);
		padding: min(4.946vw, 55px) 0 0;
		margin: 0 0 min(4.4964vw, 50px);
	}
	.about .lead {
		font-size: min(2.2482vw, 25px);
		padding: min(3.1475vw, 35px) min(2.2482vw, 25px);
		margin: 0 0 min(16.1871vw, 180px);
	}
	.about .feature {
		gap: 0 min(2.6978vw, 30px);
	}
	.about .feature .sub_title {
		font-size: min(2.518vw, 28px);
	}
	.about .feature {
		padding: 0 0 0 min(11.6906vw, 130px);
	}
	.about .feature:nth-child(even) {
		padding: 0 min(11.6906vw, 130px) 0 0;
	}
	.about .feature:not(:last-child) {
		margin: 0 0 min(17.3561vw, 193px);
	}
	.about .feature:nth-child(odd) .content {
		padding: 0 0 min(6.295vw, 70px) min(4.8561vw, 54px);
	}
	.about .feature:nth-child(even) .content {
		padding: 0 min(4.8561vw, 54px) min(6.295vw, 70px) 0;
	}
	.about .feature .content::before {
		font-size: min(1.7986vw, 20px);
	}
	.about .feature .content .box_in {
		display: flex;
		align-items: center;
		gap: 0 min(2.6978vw, 30px);
	}
	.about .feature:nth-child(odd) .content .box_in {
		flex-direction: row-reverse;
	}
	.about .feature .content .box_in .img_box {
		flex: 0 0 min(33.723vw, 375px);
	}
	.about .feature .content .box_in .text_box {
		line-height: 2.2;
		letter-spacing: 0.05em;
		font-size: min(1.5288vw, 17px);
	}
	.about .service {
		margin: min(4.4964vw, 50px) 0 0;
		padding: min(0.4496vw, 5px);
	}
	.about .service dt {
		font-size: min(1.304vw, 14.5px);
		padding: min(0.8993vw, 10px) 0;
	}
	.about .service dd {
		display: flex;
		gap: 0 min(6.295vw, 70px);
		padding: min(2.2482vw, 25px) min(2.6978vw, 30px);
	}
	.about .service dd ul {
		width: 50%;
	}
	.about .service dd ul li {
		font-size: min(1.3489vw, 15px);
	}
	.about .service dd ul li::before {
		width: min(0.6628vw, 7.37px);
		height: min(1.3858vw, 15.41px);
	}
	.about .feature:nth-child(2)::before,
	.about .feature:nth-child(3)::before,
	.about .feature:nth-child(4)::before,
	.about .feature:nth-child(5)::before {
		width: min(95.054vw, 1057px);
		height: min(43.3453vw, 482px);
		top: max(-6.0252vw, -67px);
	}
	.about .feature:nth-child(2)::before {
		background: url("../img/about_bg02.png") no-repeat 0 0 / contain;
		left: 50%;
	}
	.about .feature:nth-child(3)::before {
		background: url("../img/about_bg03.png") no-repeat 0 0 / contain;
		right: 50%;
	}
	.about .feature:nth-child(4)::before {
		background: url("../img/about_bg04.png") no-repeat 0 0 / contain;
		left: 50%;
	}
	.about .feature:nth-child(5)::before {
		background: url("../img/about_bg05.png") no-repeat 0 0 / contain;
		right: 50%;
	}
}
@media ( max-width: 767px ){
	.about {
		background-image: url("../img/about_bg_top_sp.png"), url("../img/about_bg_btm_sp.png");
		padding: 16.6667vw 0 38.6667vw;
	}
	.about .inner::before {
		font-size: 17.3333vw;
		left: 14vw;
	}
	.about .sec_title {
		font-size: 8vw;
		margin: 0 0 14.9333vw;
	}
	.about .lead {
		font-size: 4.9333vw;
		line-height: 1.35;
		padding: 7.3333vw 4vw;
		margin: 0 0 28.6667vw;
	}
	.about .feature {
		gap: 0 3.3333vw;
	}
	.about .feature .sub_title {
		font-size: 5.6vw;
	}
	.about .feature:not(:last-child) {
		margin: 0 0 36vw;
	}
	.about .feature:nth-child(2) {
		margin: 0 0 10.4vw;
	}
	.about .feature:nth-child(odd) .content {
		padding: 0 0 8vw 9vw;
	}
	.about .feature:nth-child(even) .content {
		padding: 0 9vw 8vw 0;
	}
	.about .feature .content::before {
		font-size: 4vw;
	}
	.about .feature:nth-child(even) .content::before {
		right: -3vw;
	}
	.about .feature:nth-child(2) .content {
		border-right: none;
		border-bottom: none;
	}
	.about .feature:nth-child(2) .content .box_in {
		position: relative;
		padding: 0 0 8vw;
		margin: 0 0 8.4vw;
	}
	.about .feature:nth-child(2) .content .box_in::before {
		content: "";
		background: #b5a151;
		width: 1px;
		height: 100%;
		position: absolute;
		top: 0;
		right: -9vw;
	}
	.about .feature:nth-child(2) .content .box_in::after {
		content: "";
		background: #b5a151;
		width: calc(100% + 9vw);
		height: 1px;
		position: absolute;
		bottom: 0;
		left: 0;
	}
	.about .feature .content .box_in .img_box {
		margin: 0 0 6vw;
	}
	.about .feature .content .box_in .text_box {
		font-size: 3.333vw;
		line-height: 2.1;
		font-feature-settings: "palt";
	}
	.about .service {
		padding: 1.0667vw;
		width: 140%;
	}
	.about .service dt {
		font-size: 3.3333vw;
		padding: 2.4vw 0;
	}
	.about .service dd {
		padding: 4.9333vw 4.2667vw;
	}
	.about .service dd ul li {
		font-size: 3.3333vw;
	}
	.about .service dd ul li::before {
		width: 1.4667vw;
		height: 3.0667vw;
	}
	.about .feature:nth-child(2)::before,
	.about .feature:nth-child(3)::before,
	.about .feature:nth-child(4)::before,
	.about .feature:nth-child(5)::before {
		height: 49.2vw;
		bottom: -30.6667vw;
	}
	.about .feature:nth-child(2)::before,
	.about .feature:nth-child(4)::before {
		width: 89.4667vw;
		right: -5.3333vw;
	}
	.about .feature:nth-child(3)::before,
	.about .feature:nth-child(5)::before {
		width: 88vw;
		left: -5.3333vw;
	}
	.about .feature:nth-child(2)::before {
		background: url("../img/about_bg02_sp.png") no-repeat 0 0 / contain;
		bottom: auto;
		top: -54vw;
	}
	.about .feature:nth-child(3)::before {
		background: url("../img/about_bg03_sp.png") no-repeat 0 0 / contain;
	}
	.about .feature:nth-child(4)::before {
		background: url("../img/about_bg04_sp.png") no-repeat 0 0 / contain;
	}
	.about .feature:nth-child(5)::before {
		background: url("../img/about_bg05_sp.png") no-repeat 0 0 / contain;
	}
}

/* staff */
.staff .sec_title {
	font-weight: 600;
	position: relative;
	font-feature-settings: "palt";
	letter-spacing: 0.075em;
}
.staff .sec_title .sub {
	display: block;
}
.staff .sec_title::after {
    content: "";
    background-image: linear-gradient(to right, #976a00, #cea648 50%, #976a00);
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}
.staff .lead {
    font-weight: 600;
    background: linear-gradient(to right, #341500, #853800, #341500);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    position: relative;
	letter-spacing: 0.075em;
}
.staff .profile {
	background: #fff;
	text-align: left;
	position: relative;
	box-sizing: border-box;
}
.staff .profile .img_box {
	position: absolute;
	z-index: 2;
}
.staff .profile .name dt {
	color: #fff;
	background-image: linear-gradient(to right, #341500, #853800 50%, #341500);
	position: relative;
}
.staff .profile .name dt::after {
    content: "";
    background: #fff;
    clip-path: polygon(100% 0, 0% 100%, 100% 100%);
    height: 101%;
    position: absolute;
    top: 0.5%;
}
.staff .profile .alphabet {
	text-align: right;
	color: #b5a151;
	font-weight: 400;
	border-bottom: 1px solid #b5a151;
}
.staff .profile .experience {
	display: flex;
	align-items: center;
}
.staff .profile .experience dl dt {
	color: #fff;
}
.staff .profile .experience dl.years dt {
	background-image: linear-gradient(to right, #976a00, #cea648 50%, #976a00);
}
.staff .profile .experience dl.number dt {
	background-image: linear-gradient(to right, #001e4b, #5669bc 50%, #001e4b);
}
.staff .profile .career {
	background: #ebebeb;
	line-height: 1.48;
}
.staff .profile .comment {
	color: #351500;
	line-height: 1.9;
}
@media ( min-width: 768px ){
	.staff {
		background: #dedede url("../img/staff_bg.png") no-repeat center 0 / 100% auto;
		padding: min(8.9928vw, 100px) 0 min(10.6115vw, 118px);
	}
	.staff .sec_title {
		font-size: min(3.9568vw, 44px);
		padding: 0 0 min(3.5971vw, 40px);
		margin: 0 0 min(4.8561vw, 54px);
	}
	.staff .sec_title .sub {
		font-size: min(2.518vw, 28px);
		margin: 0 0 min(2.1583vw, 24px);
	}
	.staff .sec_title::after {
		width: min(12.0504vw, 134px);
		height: min(0.1799vw, 2px);
	}
	.staff .lead {
		font-size: min(3.0576vw, 34px);
		margin: 0 0 min(10.5216vw, 117px);
	}
	.staff .profile {
		padding: min(4.3165vw, 48px) min(6.4748vw, 72px) min(4.3165vw, 48px) min(14.9281vw, 166px);
		width: min(80.036vw, 890px);
		margin: 0 0 min(8.8129vw, 98px) min(16.1871vw, 180px);
	}
	.staff .profile:nth-child(even) {
		padding: min(4.3165vw, 48px) min(14.9281vw, 166px) min(4.3165vw, 48px) min(6.4748vw, 72px);
		margin: 0 min(16.1871vw, 180px) min(8.8129vw, 98px) 0;
	}
	.staff .profile:last-child {
		margin: 0 0 0 min(16.1871vw, 180px);
	}
	.staff .profile .img_box {
		width: min(27.1133vw, 301.5px);
		top: max(-4.3165vw, -48px);
	}
	.staff .profile:nth-child(odd) .img_box {
		left: max(-16.1871vw, -180px);
	}
	.staff .profile:nth-child(even) .img_box {
		right: max(-16.1871vw, -180px);
	}
	.staff .profile .name {
		display: flex;
		align-items: center;
		gap: 0 min(2.1583vw, 24px);
		margin: 0 0 min(1.259vw, 14px);
	}
	.staff .profile .name dt {
		font-size: min(1.6187vw, 18px);
		padding: min(0.7194vw, 8px) min(3.3273vw, 37px) min(0.8993vw, 10px) min(2.3381vw, 26px);
	}
	.staff .profile .name dt::after {
		width: min(1.1691vw, 13px);
		right: -0.5px;
	}
	.staff .profile .name dd {
		font-size: min(2.6978vw, 30px);
	}
	.staff .profile .alphabet {
		font-size: min(1.6187vw, 18px);
		margin: 0 0 min(1.6187vw, 18px);
	}
	.staff .profile .experience {
		gap: 0 min(3.777vw, 42px);
		margin: 0 0 min(1.6187vw, 18px);
	}
	.staff .profile .experience dl {
		display: flex;
		align-items: center;
		gap: 0 min(1.0791vw, 12px);
	}
	.staff .profile .experience dl dt {
		font-size: min(1.4388vw, 16px);
		padding: min(0.4496vw, 5px) min(1.4388vw, 16px);
	}
	.staff .profile .experience dl dd {
		font-size: min(1.6187vw, 18px);
	}
	.staff .profile .experience dl dd span {
		font-size: min(2.4281vw, 27px);
	}
	.staff .profile .career {
		padding: min(2.1583vw, 24px) min(2.2482vw, 25px);
		font-size: min(1.4388vw, 16px);
		margin: 0 0 min(2.6978vw, 30px);
	}
	.staff .profile .comment {
		font-size: min(1.5288vw, 17px);
	}
}
@media ( max-width: 767px ){
	.staff {
		background: #dedede url("../img/staff_bg_sp.png") no-repeat center 12vw / 100% auto;
		padding: 17.3333vw 0 16vw;
	}
	.staff .sec_title {
		font-size: 8.6667vw;
		padding: 0 0 7.2vw;
		margin: 0 0 12vw;
	}
	.staff .sec_title .sub {
		font-size: 5.6vw;
		margin: 0 0 6vw;
	}
	.staff .sec_title .br {
		display: block;
		font-size: 6vw;
		margin: 0 0 2.6667vw;
	}
	.staff .sec_title::after {
		width: 26.6667vw;
		height: 0.4vw;
	}
	.staff .lead {
		font-size: 5.6vw;
		margin: 0 0 36vw;
	}
	.staff .profile {
		padding: 4.9333vw 4.2667vw 4.2667vw;
		width: calc(100% - 2.6667vw);
		margin: 0 0 15.3333vw 2.6667vw;
	}
	.staff .profile:nth-child(even) {
		margin: 0 2.6667vw 15.3333vw 0;
	}
	.staff .profile:last-child {
		margin: 0 0 0 2.6667vw;
	}
	.staff .profile .img_box {
		width: 39.2vw;
		top: -9.7333vw;
	}
	.staff .profile:nth-child(odd) .img_box {
		left: -2.6667vw;
	}
	.staff .profile:nth-child(even) .img_box {
		right: -2.6667vw;
	}
	.staff .profile .name {
		padding: 0 0 0 36vw;
		margin: 0 0 1.8vw;
	}
	.staff .profile:nth-child(even) .name {
		padding: 0 36vw 0 0;
	}
	.staff .profile .name dt {
		font-size: 3.6vw;
		padding: 1.6vw 6.6667vw 2vw 5.3333vw;
		margin: 0 0 2.9vw;
	}
	.staff .profile .name dt::after {
		width: 2.6667vw;
		right: -0.2vw;
	}
	.staff .profile .name dd {
		font-size: 6vw;
	}
	.staff .profile .alphabet {
		width: calc(100% - 36vw);
		font-size: 2.6667vw;
		margin: 0 0 2.1333vw 36vw;
	}
	.staff .profile:nth-child(even) .alphabet {
		margin: 0 36vw 2.1333vw 0;
	}
	.staff .profile .experience {
		gap: 0 2.1333vw;
		margin: 0 0 4.2667vw;
		padding: 0 0 0 36vw;
	}
	.staff .profile:nth-child(even) .experience {
		padding: 0 36vw 0 0;
	}
	.staff .profile:nth-child(6) .experience,
	.staff .profile:nth-child(7) .experience {
		margin: 0 0 6.2667vw;
	}
	.staff .profile .experience dl dt {
		font-size: 2.9333vw;
		line-height: 1.27;
		padding: 1vw 2.6667vw;
		margin: 0 0 1vw;
		text-align: center;
	}
	.staff .profile .experience dl.number dt {
		padding: 2.8888vw 5.3333vw;
	}
	.staff .profile .experience dl dd {
		font-size: 3.4667vw;
	}
	.staff .profile .experience dl dd span {
		font-size: 5.3333vw;
	}
	.staff .profile .career {
		padding: 4vw;
		font-size: 3.0667vw;
		margin: 0 0 4.6667vw;
	}
	.staff .profile .comment {
		font-size: 3.4667vw;
	}
}

/* access */
.access {
	background: #303030;
}
.sec_title.common {
	color: #fff;
	letter-spacing: 0.1em;
	position: relative;
}
.sec_title.common span {
	display: block;
	color: #b5a151;
}
.sec_title.common::after {
	content: "";
	background-image: linear-gradient(to right, #976a00, #cea648 50%, #976a00);
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.access .map {
    position: relative;
    width: 100%;
}
.access .map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.access .sec_in {
	background: #fff;
}
.access .sec_in .text_box {
	text-align: left;
}
.access .sec_in .text_box dl {
	border-left: 1px solid #4a5fad;
}
.access .sec_in .text_box dt {
	display: inline-block;
	position: relative;
	color: #fff;
	letter-spacing: 0.1em;
	background-image: linear-gradient(to right, #001e4b, #5669bc);
}
.access .sec_in .text_box dt::after {
	content: "";
	background: #fff;
	clip-path: polygon(100% 0, 0% 100%, 100% 100%);
	height: 101%;
	position: absolute;
	top: 0.5%;
	right: -0.5px;
}
.access .sec_in .text_box dd ul li {
	text-indent: -1em;
	padding-left: 1em;
	margin: 0 0 0.25em;
}
.access .sec_in .img_box_wrap {
	display: flex;
	justify-content: space-between;
}
.access .sec_in .img_box span {
	display: block;
}
@media ( min-width: 768px ){
	.access {
		padding: min(8.5432vw, 95px) 0 min(9.8921vw, 110px);
	}
	.sec_title.common {
		font-size: min(3.2374vw, 36px);
		padding: 0 0 min(3.2374vw, 36px);
		margin: 0 0 min(5.2158vw, 58px);
	}
	.sec_title.common span {
		font-size: min(1.3489vw, 15px);
		padding: min(2.1583vw, 24px) 0 0;
	}
	.sec_title.common::after {
		width: min(12.0504vw, 134px);
		height: min(0.1799vw, 2px);
	}
	.access .map {
		height: min(42.2662vw, 470px);
		margin: 0 0 min(4.8561vw, 54px);
	}
	.access .sec_in {
		padding: min(8.0935vw, 90px);
	}
	.access .sec_in .text_box {
		display: flex;
		justify-content: space-between;
		margin: 0 0 min(7.6439vw, 85px);
	}
	.access .sec_in .text_box dl {
		padding: 0 0 0 min(2.3381vw, 26px);
	}
	.access .sec_in .text_box dt {
		font-size: min(1.3489vw, 15px);
		padding: min(0.5396vw, 6px) min(3.0576vw, 34px) min(0.5396vw, 6px) min(1.9784vw, 22px);
		margin: 0 0 min(2.6978vw, 30px);
	}
	.access .sec_in .text_box dt::after {
		width: min(1.0791vw, 12px);
	}
	.access .sec_in .text_box dd {
		font-size: min(1.5288vw, 17px);
		line-height: 1.8;
	}
	.access .sec_in .img_box_wrap {
		gap: 0 min(7.6439vw, 85px);
	}
	.access .sec_in .img_box span {
		font-size: min(1.4388vw, 16px);
		margin: min(2.0683vw, 23px) 0 0;
	}
}
@media ( max-width: 767px ){
	.access {
		padding: 17.3333vw 0 16vw;
	}
	.sec_title.common {
		font-size: 6.6667vw;
		padding: 0 0 6.9333vw;
		margin: 0 0 12vw;
	}
	.sec_title.common span {
		font-size: 2.9333vw;
		padding: 4vw 0 0;
	}
	.sec_title.common::after {
		width: 26.6667vw;
		height: 0.4vw;
	}
	.access .map {
		height: 93.3333vw;
		margin: 0 0 10.6667vw;
	}
	.access .sec_in {
		padding: 5.4667vw 4.4vw;
	}
	.access .sec_in .text_box > div {
		margin: 0 0 6.4vw;
	}
	.access .sec_in .text_box div:nth-child(1) {
		display: flex;
		justify-content: space-between;
	}
	.access .sec_in .text_box div .img_box {
		flex: 0 0 30.8vw;
		text-align: center;
	}
	.access .sec_in .text_box dl {
		padding: 0 0 0 3.7333vw;
	}
	.access .sec_in .text_box dt {
		font-size: 2.9333vw;
		padding: 1.3333vw 6.6667vw 1.3333vw 4.4vw;
		margin: 0 0 5.3333vw;
	}
	.access .sec_in .text_box dt::after {
		width: 2.6667vw;
	}
	.access .sec_in .text_box dd {
		font-size: 3.3333vw;
		line-height: 1.8;
	}
	.access .sec_in .img_box_wrap {
		gap: 0 3.4667vw;
	}
	.access .sec_in .img_box span {
		font-size: 3.2vw;
		margin: 3.3333vw 0 0;
	}
}

/* price */
.price .sec_in dl dt {
	text-align: left;
	letter-spacing: 0.1em;
}
.price .sec_in dl dd .bdr_box {
	border: 1px solid #843800;
}
.price .sec_in dl dd .bdr_box .main_text {
	letter-spacing: 0.1em;
	font-weight: 600;
    background: linear-gradient(to right, #341500, #853800, #341500);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.price .sec_in dl dd .bdr_box .main_text span {
	display: inline-block;
}
.price .sec_in dl dd .notes {
	text-align: left;
	line-height: 1.8;
}
@media ( min-width: 768px ){
	.price {
		background: url("../img/price_bg.jpg") no-repeat center 0 / cover;
		padding: min(25.6295vw, 285px) 0 min(10.7914vw, 120px);
	}
	.price .sec_in {
		display: flex;
	}
	.price .sec_in .sec_title {
		position: relative;
		padding: 0 min(4.4964vw, 50px) 0 min(2.8777vw, 32px);
		border-right: 1px solid #b5a151;
	}
	.price .sec_in .sec_title::before {
		content: "PRICE";
		color: #b5a151;
		font-size: min(1.3489vw, 15px);
		position: absolute;
		top: 0;
		left: 1em;
		transform: rotate(90deg);
		transform-origin: left top;
	}
	.price .sec_in .sec_title span {
		display: block;
		font-size: min(3.3273vw, 37px);
		letter-spacing: 0.5em;
		writing-mode: vertical-rl;
		text-orientation: upright;
		text-align: left;
		position: relative;
	}
	.price .sec_in dl {
		padding: 0 0 0 min(8.723vw, 97px);
	}
	.price .sec_in dl dt {
		font-size: min(3.3273vw, 37px);
		margin: 0 0 min(4.8561vw, 54px);
	}
	.price .sec_in dl dd .bdr_box {
		padding: min(7.6439vw, 85px) min(8.9928vw, 100px) min(8.0935vw, 90px);
		margin: 0 0 min(6.0252vw, 67px);
	}
	.price .sec_in dl dd .bdr_box .main_text {
		font-size: min(3.9568vw, 44px);
		margin: 0 0 min(2.1583vw, 24px);
	}
	.price .sec_in dl dd .bdr_box .main_text .text1 {
		font-size: min(3.5971vw, 40px);
	}
	.price .sec_in dl dd .bdr_box .main_text .text2 {
		font-size: min(6.6547vw, 74px);
	}
	.price .sec_in dl dd .bdr_box .main_text .text3 {
		font-size: min(5.1259vw, 57px);
	}
	.price .sec_in dl dd .bdr_box .sans {
		font-size: min(1.5288vw, 17px);
	}
	.price .sec_in dl dd .notes {
		font-size: min(1.3489vw, 15px);
	}
}
@media ( max-width: 767px ){
	.price {
		background: url("../img/price_bg_sp.jpg") no-repeat center 0 / cover;
		padding: 25.3333vw 0 13.3333vw;
	}
	.price .sec_in .sec_title {
		position: relative;
		padding: 7.2vw 0 6vw 9.3333vw;
		margin: 0 0 15.3333vw;
	}
	.price .sec_in .sec_title::before {
		content: "";
		background-image: linear-gradient(to bottom, #976a00, #cea648 50%, #976a00);
		position: absolute;
		left: 0;
		top: 0;
		width: 0.4vw;
		height: 100%;
	}
	.price .sec_in .sec_title span {
		display: block;
		font-size: 6.6667vw;
		letter-spacing: 0.5em;
		text-align: left;
		position: relative;
		padding: 0 0 7.3333vw;
	}
	.price .sec_in .sec_title span::before {
		content: "PRICE";
		color: #b5a151;
		font-size: 2.9333vw;
		letter-spacing: 0.1em;
		position: absolute;
		bottom: 0;
		left: 0;
	}
	.price .sec_in dl dt {
		font-size: 6.6667vw;
		margin: 0 0 8vw;
	}
	.price .sec_in dl dd .bdr_box {
		padding: 18.4vw 0;
		margin: 0 0 4.8vw;
	}
	.price .sec_in dl dd .bdr_box .main_text {
		font-size: 8.6667vw;
		margin: 0 0 4vw;
	}
	.price .sec_in dl dd .bdr_box .main_text .text1 {
		font-size: 8vw;
	}
	.price .sec_in dl dd .bdr_box .main_text .text2 {
		font-size: 14.6667vw;
	}
	.price .sec_in dl dd .bdr_box .main_text .text3 {
		font-size: 11.3333vw;
	}
	.price .sec_in dl dd .bdr_box .sans {
		font-size: 3.3333vw;
	}
	.price .sec_in dl dd .notes {
		font-size: 2.9333vw;
	}
}

/* flow */
.flow .step_box {
	position: relative;
}
.flow .step_box::after {
	content: "";
	background: #fff;
	clip-path: polygon(100% 0, 0 0, 50% 100%);
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}
.flow .step_box:last-child::after {
	display: none;
}
.flow .step_box dl {
	color: #fff;
	letter-spacing: 0.1em;
	display: flex;
	align-items: center;
	position: relative;
}
.flow .step_box dl::before,
.flow .step_box dl::after {
	content: "";
	background: #fff;
	width: 47%;
	height: 1px;
	position: absolute;
	bottom: 0;
}
.flow .step_box dl::before {
	left: 0;
}
.flow .step_box dl::after {
	right: 0;
}
.flow .step_box:last-child dl::before,
.flow .step_box:last-child dl::after {
	display: none;
}
.flow .step_box:last-child dl {
	border-bottom: 1px solid #fff;
	margin: 0;
}
.flow .step_box dl dt {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background-image: linear-gradient(to bottom left, #cea648, #976a00);
}
.flow .step_box dl dd {
	text-align: left;
}
@media ( min-width: 768px ){
	.flow {
		background: url("../img/flow_bg.jpg") no-repeat center 0 / cover;
		padding: min(10.2518vw, 114px) 0 min(8.9928vw, 100px);
	}
	.flow .step_box::after {
		width: min(1.7986vw, 20px);
		height: min(1.259vw, 14px);
		bottom: max(-1.259vw, -14px);
	}
	.flow .step_box dl {
		gap: 0 min(2.6978vw, 30px);
		padding: 0 0 min(1.4388vw, 16px);
		margin: 0 0 min(1.4388vw, 16px);
	}
	.flow .step_box dl dt {
		width: min(6.0252vw, 67px);
		height: min(6.0252vw, 67px);
		gap: min(0.3597vw, 4px) 0;
		flex: 0 0 min(6.0252vw, 67px);
	}
	.flow .step_box dl dt .text {
		font-size: min(1.0791vw, 12px);
	}
	.flow .step_box dl dt .num {
		font-size: min(1.6637vw, 18.5px);
	}
	.flow .step_box dl dd {
		font-size: min(1.8885vw, 21px);
	}
	.flow .step_box dl dd span {
		font-size: min(1.4388vw, 16px);
		margin: 0 0 0 0.5em;
	}
	.flow .step_box:nth-child(2) dl dd span {
		margin: 0 0 0 1em;
	}
}
@media ( max-width: 767px ){
	.flow {
		background: url("../img/flow_bg_sp.jpg") no-repeat center 0 / cover;
		padding: 24vw 0 20.6667vw;
	}
	.flow .step_box::after {
		width: 4vw;
		height: 2.9333vw;
		bottom: -2.9333vw;
	}
	.flow .step_box dl {
		gap: 0 5.3333vw;
		padding: 0 0 3.3333vw;
		margin: 0 0 3.3333vw;
	}
	.flow .step_box dl dt {
		width: 13.3333vw;
		height: 13.3333vw;
		gap: 1.3333vw 0;
		flex: 0 0 13.3333vw;
	}
	.flow .step_box dl dt .text {
		font-size: 2.4vw;
	}
	.flow .step_box dl dt .num {
		font-size: 3.7333vw;
	}
	.flow .step_box dl dd {
		font-size: 4vw;
		line-height: 1.4;
	}
	.flow .step_box dl dd span {
		display: block;
		font-size: 3.3333vw;
		margin: 0 0 0 -0.5em;
	}
	.flow .step_box:nth-child(2) dl dd span {
		margin: 0;
	}
}

/* faq */
.faq {
	background: #e7e5db;
}
.faq .sec_title.common {
	color: #000;
}
.faq .sec_in dl {
	text-align: left;
}
.faq .sec_in dl dt {
	background: #fff;
	cursor: pointer;
	display: flex;
	align-items: center;
	position: relative;
}
.faq .sec_in dl dt::after {
    content: '';
    display: inline-block;
    box-sizing: border-box;
    transform-origin: center center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(135deg);
    transition: transform 0.2s ease;
}
.faq .sec_in dl dt.active::after {
    transform: translateY(-50%) rotate(315deg);
}
.faq .sec_in dl dt p {
	position: relative;
	line-height: 1.28;
}
.faq .sec_in dl dt p::before {
	content: "";
	background: url("../img/icon_q.svg") no-repeat 0 0 / contain;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.faq .sec_in dl dd {
	display: none;
	background: #ededed;
}
.faq .sec_in dl dd div {
	display: flex;
	align-items: center;
}
.faq .sec_in dl dd p {
	position: relative;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	line-height: 1.458;
}
.faq .sec_in dl dd p::before {
	content: "";
	background: url("../img/icon_a.svg") no-repeat 0 0 / contain;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
@media ( min-width: 768px ){
	.faq {
		padding: min(8.5432vw, 95px) 0 min(8.9928vw, 100px);
	}
	.faq .sec_in dl {
		margin: 0 0 min(0.8993vw, 10px);
	}
	.faq .sec_in dl dt {
		height: min(6.295vw, 70px);
	}
	.faq .sec_in dl dt::after {
		width: min(1.3489vw, 15px);
		height: min(1.3489vw, 15px);
		border-top: solid min(0.1799vw, 2px) #b5a151;
		border-right: solid min(0.1799vw, 2px) #b5a151;
		right: min(2.1583vw, 24px);
	}
	.faq .sec_in dl dt p {
		font-size: min(1.5288vw, 17px);
		padding: min(1.3489vw, 15px) min(7.1942vw, 80px);
	}
	.faq .sec_in dl dt p::before {
		width: min(4.2266vw, 47px);
		height: min(4.2266vw, 47px);
		left: min(0.8993vw, 10px);
	}
	.faq .sec_in dl dd div {
		min-height: min(6.295vw, 70px);
	}
	.faq .sec_in dl dd p {
		font-size: min(1.4388vw, 16px);
		padding: min(1.3489vw, 15px) 4vw min(1.3489vw, 15px) min(7.1942vw, 80px);
	}
	.faq .sec_in dl dd p::before {
		width: min(4.2266vw, 47px);
		height: min(4.2266vw, 47px);
		left: min(0.8993vw, 10px);
	}
}
@media ( max-width: 767px ){
	.faq {
		padding: 17.3333vw 0;
	}
	.faq .sec_in dl {
		margin: 0 0 2.1333vw;
	}
	.faq .sec_in dl dt {
		height: 14vw;
	}
	.faq .sec_in dl dt::after {
		width: 2.6666vw;
		height: 2.6666vw;
		border-top: solid 0.5333vw #b5a151;
		border-right: solid 0.5333vw #b5a151;
		right: 4.8vw;
	}
	.faq .sec_in dl dt p {
		padding: 2.4vw 13.3333vw 2.4vw 15.7333vw;
		font-size: 3.3333vw;
	}
	.faq .sec_in dl dt p::before {
		width: 9.3333vw;
		height: 9.3333vw;
		left: 2vw;
	}
	.faq .sec_in dl dd div {
		min-height: 14vw;
	}
	.faq .sec_in dl dd p {
		padding: 2.4vw 4.6667vw 2.4vw 15.7333vw;
		font-size: 3.2vw;
	}
	.faq .sec_in dl dd p::before {
		width: 9.3333vw;
		height: 9.3333vw;
		left: 2vw;
	}
}

/* inquiry */
.inquiry .tab {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.inquiry .tab li {
	width: 49%;
}
.inquiry .tab li button {
	outline: none;
	border: none;
	width: 100%;
	color: #fff;
	position: relative;
	cursor: pointer;
}
.inquiry .tab li:nth-child(1) button {
	background-image: linear-gradient(to bottom, #6262a9, #40409a);	
}
.inquiry .tab li:nth-child(2) button,
.inquiry.thanks2 .tab li button {
	background-image: linear-gradient(to bottom, #b89f63, #a48029);
}
.inquiry .tab_box {
	display: none;
}
.inquiry .tab_box .p_box {
	background: #fff;
	line-height: 2;
}
.inquiry .tab_box:nth-child(1) {
	background: #40409a;
}
.inquiry .tab_box:nth-child(2),
.inquiry.thanks2 .tab_box {
	background: #a48029;
}
.inquiry .tab_box .form_cont {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
}
.inquiry .tab_box .form_cont dl {
	margin: 0 0 1px;
	text-align: left;
}
.inquiry .tab_box .form_cont dl dt {
	background: #d8d8ec;
	box-sizing: border-box;
}
.inquiry .tab_box .form_cont dl dt .small {
	display: inline-block;
}
.inquiry .tab_box .form_cont dl dt .must {
	display: inline-block;
	color: #a80000;
	border: 1px solid #a80000;
	margin: 0 0 0 0.5em;
}
.inquiry .tab_box .form_cont dl dt .any {
	display: inline-block;
	color: #4b9cd0;
	border: 1px solid #4b9cd0;
	margin: 0 0 0 0.5em;
}
.inquiry .tab_box .form_cont dl dd {
	background: #fff;
}
.inquiry .tab_box .form_cont dl dd .ib {
	display: inline-block;
}
.inquiry .form_cont dl dd span.item {
	display: inline-block;
	padding: 0 0.3em 0 0;
}
.inquiry .form_cont dl dd.datetime ul li:last-child {
	display: flex;
	align-items: center;
}
.inquiry .form_cont dl dd span.picker {
    display: block;
}
input[type="text"], textarea, select {
	appearance: none;
	outline: none;
	border: 1px solid #c3c3c3;
	background-color: #ececec;
	transition: background-color 0.3s ease;
	padding: 0 0.5em;
	box-sizing: border-box;
}
input[type="text"], 
select {
	height: 2.3em;
}
textarea {
	padding: 0.5em;
}
input[type="text"]:focus-within,
textarea:focus-within,
select:focus-within {
	background-color: #fff;
}
.inquiry .tab_box:nth-child(1) input[type="text"]:focus-within,
.inquiry .tab_box:nth-child(1) textarea:focus-within,
.inquiry .tab_box:nth-child(1) select:focus-within {
	border: 1px solid #40409a;
}
.inquiry .tab_box:nth-child(2) input[type="text"]:focus-within,
.inquiry .tab_box:nth-child(2) textarea:focus-within,
.inquiry .tab_box:nth-child(2) select:focus-within {
	border: 1px solid #a48029;
}
::placeholder {
   color: #ccc;
}
.inquiry .conf {
	color: #fff;
	font-weight: 400;
}
.inquiry .conf a {
	color: #fff;
	position: relative;
}
.inquiry .conf a::after {
	content: "";
	background: #fff;
	width: 100%;
	height: 1px;
	position: absolute;
	bottom: 0;
	left: 0;
}
@media (hover: hover) {
	.inquiry .conf a:hover::after {
		display: none;
	}
}
.inquiry .conf input[type="checkbox"] {
	accent-color: #03ad17;
}
.inquiry .form_btn button {
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	letter-spacing: 0.1em;
	color: #fff;
	background-image: linear-gradient(to bottom, #7bc584, #03ad17);
	outline: none;
	border: none;
	opacity: 1;
	cursor: pointer;
	transition: 0.3s;
	position: relative;
}
.inquiry .form_btn button::after {
	content: "";
	background: url("../img/btn_arw.png") no-repeat center center / contain;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.inquiry .err {
	color: #a80000;
}
@media (hover: hover) {
	.inquiry .form_btn button:hover {
		box-shadow: 0 min(0.5396vw, 6px) min(0.8993vw, 10px) rgba(0, 0, 0, 0.4);
		transform: translateY(-2px);
	}
}
@media ( min-width: 768px ){
	.inquiry {
		background: #000 url("../img/inquiry_bg.png") no-repeat center -170px / 100% auto;
		padding: min(8.9928vw, 100px) 0 min(10.7914vw, 120px);
	}
	.inquiry .tab li button {
		text-align: left;
		padding: min(2.518vw, 28px) min(2.2482vw, 25px) min(2.1583vw, 24px) min(5.8453vw, 65px);
		font-size: min(2.1583vw, 24px);
		letter-spacing: 0.05em;
		border-radius: min(0.8993vw, 10px) min(0.8993vw, 10px) 0 0;
	}
	.inquiry .tab li button::before {
		content: "";
		position: absolute;
		top: 54%;
		left: min(2.518vw, 28px);
		transform: translateY(-50%);
	}
	.inquiry .tab li:nth-child(1) button::before {
		background: url("../img/icon_mail.svg") no-repeat 0 0 / contain;
		width: min(2.4101vw, 26.8px);
		height: min(1.6871vw, 18.76px);
	}
	.inquiry .tab li:nth-child(2) button::before,
	.inquiry.thanks2 .tab li button::before {
		background: url("../img/icon_reserve.svg") no-repeat 0 0 / contain;
		width: min(2.2896vw, 25.46px);
		height: min(2.2896vw, 25.46px);
	}
	.inquiry .tab li button span {
		display: inline-block;
		font-size: min(1.0791vw, 12px);
		padding: 0 0 0 1.2em;
	}
	.inquiry .tab_box {
		padding: min(4.8561vw, 54px) min(4.8561vw, 54px) min(5.3957vw, 60px);
	}
	.inquiry .tab_box .form_cont dl {
		display: flex;
	}
	.inquiry .tab_box .form_cont dl dt {
		flex: 0 0 30%;
		font-size: min(1.4388vw, 16px);
		padding: min(1.7986vw, 20px);
	}
	.inquiry .tab_box .form_cont dl dt .small {
		font-size: min(1.1691vw, 13px);
	}
	.inquiry .tab_box .form_cont dl dt .must {
		font-size: min(1.0791vw, 12px);
		padding: min(0.1799vw, 2px);
	}
	.inquiry .tab_box .form_cont dl dt .any {
		font-size: min(1.0791vw, 12px);
		padding: min(0.1799vw, 2px);
	}
	.inquiry .tab_box .form_cont dl dd {
		flex: 1 1 auto;
		font-size: min(1.4388vw, 16px);
		padding: min(1.0791vw, 12px);
	}
	.inquiry .tab_box .form_cont dl dd .ib:last-of-type {
		margin: 0 0 0 min(1.7986vw, 20px);
	}
	.inquiry .form_cont dl dd.datetime ul {
		margin: 0 0 min(0.8993vw, 10px);
	}
	.inquiry .form_cont dl dd.datetime ul li:last-child {
		gap: 0 min(1.3489vw, 15px);
	}
	.inquiry .form_cont dl dd.datetime input,
	.inquiry .form_cont dl dd.datetime select {
		width: min(18.705vw, 208px);
	}
	.inquiry .form_cont dl dd span.picker {
		margin: 0 0 min(0.6295vw, 7px);
	}
	input[type="text"], textarea, select {
		border-radius: min(0.4496vw, 5px);
	}
	input[type="text"], 
	select {
		width: min(25.8993vw, 288px);
	}
	.w1 input[type="text"] {
		width: min(38.6691vw, 430px);
	}
	.w2 input[type="text"] {
		width: min(20.6835vw, 230px);
	}
	.w3 input[type="text"] {
		width: min(17.9856vw, 200px);
	}
	textarea {
		width: 94%;
		height: min(16.1871vw, 180px);
	}
	.inquiry .conf {
		margin: min(4.4964vw, 50px) 0 min(3.5971vw, 40px);
	}
	.inquiry .conf a {
		padding: 0 0 min(0.2698vw, 3px);
	}
	.inquiry .conf input[type="checkbox"] {
		margin: 0 min(0.5396vw, 6px) 0 0;
	}
	.inquiry .form_btn button {
		font-size: min(2.1583vw, 24px);
		width: min(30.1259vw, 335px);
		height: min(6.0252vw, 67px);
		border-radius: min(0.8993vw, 10px);
		box-shadow: 0 min(0.3597vw, 4px) min(0.5396vw, 6px) rgba(0, 0, 0, 0.3);
	}
	.inquiry .form_btn button::after {
		width: min(0.8993vw, 10px);
		height: min(1.6187vw, 18px);
		right: min(1.3489vw, 15px);
	}
	.inquiry .tab_box .p_box {
		padding: min(4.8561vw, 54px) min(4.8561vw, 54px) min(5.3957vw, 60px);
	}
	.inquiry .tab_box .p_box p + p {
		margin-top: min(2.6978vw, 30px);
	}
	.inquiry .err {
		font-size: min(1.0791vw, 12px);
    	padding: min(0.3597vw, 4px) 0 0 min(0.3597vw, 4px);
    	display: block;
	}
}
@media ( max-width: 767px ){
	.inquiry {
		background: #000 url("../img/inquiry_bg_sp.png") no-repeat center -25vw / 100% auto;
		padding: 19.3333vw 0 5.3333vw;
	}
	.inquiry .tab li button {
		padding: 5.3333vw 0 4.6667vw;
		font-size: 4.6667vw;
		border-radius: 2vw 2vw 0 0;
	}
	.inquiry .tab li button span {
		display: none;
	}
	.inquiry .tab_box {
		padding: 5.3333vw 4.4vw 10.6667vw;
	}
	.inquiry .tab_box .note {
		display: block;
		text-align: left;
		color: #fff;
		font-size: 2.9333vw;
		margin: 0 0 5.0667vw;
	}
	.inquiry .tab_box .form_cont dl {
		margin: 0 0 0.4vw;
	}
	.inquiry .tab_box .form_cont dl dt {
		font-size: 3.3333vw;
		padding: 2.9333vw 3.7333vw;
	}
	.inquiry .tab_box .form_cont dl dt .small {
		font-size: 3.3333vw;
	}
	.inquiry .tab_box .form_cont dl dt .must {
		font-size: 2.4vw;
		padding: 0.4vw 0.6667vw;
	}
	.inquiry .tab_box .form_cont dl dt .any {
		font-size: 2.4vw;
		padding: 0.4vw 0.6667vw;
	}
	.inquiry .tab_box .form_cont dl dd {
		font-size: 3.7333vw;
		padding: 2.6667vw 4vw;
	}
	.inquiry .tab_box .form_cont dl dd .ib:last-of-type {
		margin: 0 0 0 2vw;
	}
	.inquiry .form_cont dl dd.datetime ul {
		margin: 0 0 3.3333vw;
	}
	.inquiry .form_cont dl dd.datetime ul li:last-child {
		gap: 0 2vw;
	}
	.inquiry .form_cont dl dd.datetime input,
	.inquiry .form_cont dl dd.datetime select {
		width: 100%;
	}
	.inquiry .form_cont dl dd span.picker {
		margin: 0 0 2vw;
	}
	input[type="text"], textarea, select {
		border-radius: 1.0667vw;
	}
	input[type="text"], 
	select {
		width: 57.3333vw;
	}
	.w1 input[type="text"] {
		width: 100%;
	}
	.w2 input[type="text"] {
		width: 57.3333vw;
	}
	.w3 input[type="text"] {
		width: 26vw;
	}
	textarea {
		width: 100%;
		height: 41.3333vw;
	}
	.inquiry .conf {
		font-size: 2.9333vw;
		margin: 8vw 0 7.3333vw;
	}
	.inquiry .conf a {
		padding: 0 0 1.3333vw;
	}
	.inquiry .conf input[type="checkbox"] {
		margin: 0 2.6667vw 0 0;
	}
	.inquiry .form_btn button {
		font-size: 5.3333vw;
		width: 66.6667vw;
		height: 16vw;
		border-radius: 2vw;
		box-shadow: 0 0.5333vw 0.8vw rgba(0, 0, 0, 0.3);
	}
	.inquiry .form_btn button::after {
		width: 2vw;
		height: 3.6vw;
		right: 4.5333vw;
	}
	.inquiry .tab_box .p_box {
		padding: 5.3333vw 4.4vw 10.6667vw;
		text-align: left;
	}
	.inquiry .tab_box .p_box p + p {
		margin-top: 4.6667vw;
	}
	.inquiry .err {
		font-size: 2.6vw;
    	padding: 1.5vw 0 0 1.5vw;
    	display: block;
	}
}

/* footer */
.footer {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 400;
	color: #40409a;
	background: #fff;
}
.footer ul {
	display: flex;
}
.footer ul li a {
	color: #40409a;
}
@media (hover: hover) {
	.footer ul li a:hover {
		text-decoration: underline;
	}
}
@media ( min-width: 768px ){
	.footer {
		font-size: min(1.0791vw, 12px);
		padding: min(3.2374vw, 36px) 0;
	}
	.footer .inner {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.footer ul {
		gap: 0 min(3.2374vw, 36px);
	}
}
@media ( max-width: 767px ){
	.footer {
		font-size: 2.4vw;
		padding: 10.6667vw 0 7.3333vw;
	}
	.footer ul {
		justify-content: center;
		font-size: 2.9333vw;
		gap: 0 9.3333vw;
		margin: 0 0 5.3333vw;
	}
}



