@charset "UTF-8";
/*
Theme Name: Site Base
Version: 1.1
*/
/* =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: url('font/NotoSansJP.woff2') format('woff2');
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Noto Serif JP';
	src: url('font/NotoSerifJP-Medium.woff2') format('woff2');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Noto Serif JP';
	src: url('font/NotoSerifJP-SemiBold.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'din_pro_semi';
	src: url('font/d-din-pro-semi-bold.woff') format('woff');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}
.questrial {
	font-family: "Century Gothic", "Questrial", sans-serif;
	font-weight: 400;
	font-style: normal;
}
/* =Styles 
-------------------------------------------------------------- */
body {
	font-family: 'Noto Sans JP', "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	font-weight: 400;
	color: #fff;
	background: var(--green);
	position: relative;
}
.en_content {
	font-family: "Century Gothic", "Questrial", sans-serif;
}
a {
	text-decoration: none;
	color: var(--navy);
}
@media ( min-width: 1025px ){
	.sptab {
		display: none !important;
	}
}
@media ( min-width: 768px ){
	body {
		font-size: 15px;
	}
	.sp {
		display: none !important;
	}
	.inner {
		max-width: min(2050px, calc(2050 / var(--width) * 100vw));
		padding: 0 min(75px, calc(75 / var(--width) * 100vw));
		margin-inline: auto;
	}
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}
@media ( max-width: 1024px ){
	.pc {
		display: none !important;
	}
}
@media ( max-width: 767px ){
	body {
		font-size: 3.3333vw;
		letter-spacing: 0;
	}
	.pc,
	.pctab {
		display: none !important;
	}
	.inner {
		padding: 0 6vw;
	}
}
:root {
	--width: 2200;
	--green: #164727;
	--gold: #d5b338;
	--beige: #ede8de;
	--pink: #a52f68;
}
@media ( min-width: 1025px ){
}
@media (min-width: 768px) and (max-width: 1024px) {
}
@media ( min-width: 768px ){
}
@media ( max-width: 767px ){
}
/* common
-------------------------------------------------------------- */
/* .header */
.header {
	position: fixed;
	top: 0;
	width: 100%;
	color: #fff;
	transition: all 0.3s;
	z-index: 998;
	box-sizing: border-box;
}
.header.is-small {
	background: rgba(0,0,0,0.7);
	backdrop-filter: blur(5px) contrast(1.2);
}
.header .inner {
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.header .gnav ul li.language {
	display: flex;
	align-items: center;
	gap: 0 1em;
}
.header .gnav ul li.language a {
	display: inline-block;
	position: relative;
}
.header .gnav ul li.language a:first-child::before,
.header .gnav ul li.language span:first-child::before {
	content: "";
	background: #fff;
	position: absolute;
	top: 50%;
	transform: translateY(-50%) rotate(20deg);
}
/* .btn */
.btn a,
.btn input[type="submit"],
#form .smf-action button[type="submit"] {
	font-family: "Century Gothic", "Questrial", sans-serif;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #000;
	color: #fff;
	position: relative;
	transition : all 0.3s;
	letter-spacing: 0.15em;
}
.btn a::after,
.btn input[type="submit"]::after,
#form .smf-action button[type="submit"]::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	transition: transform 0.3s ease, right 0.3s ease;
}
@media (hover: hover) {
	.btn a:hover,
	.btn input[type="submit"]:hover,
	#form .smf-action button[type="submit"]:hover {
		background: var(--gold);
		color: #000;
	}
}
.btn.cta a {
	font-family: 'Noto Sans JP', "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	font-weight: 700;
	background: var(--gold);
	color: #000;
	letter-spacing: 0.1em;
}
@media (hover: hover) {
	.btn.cta a:hover {
		background: #000;
		color: #fff;
	}
}
@media ( min-width: 1025px ){
	.header .logo {
		width: clamp(6.563rem, -5.438rem + 25vw, 17.063rem);
	}
	.header.is-small .logo {
		width: clamp(6.563rem, -0.223rem + 14.14vw, 12.5rem);
	}
	.header .gnav ul {
		gap: 0 min(45px, calc(45 / var(--width) * 100vw));
	}
	.header .gnav ul li:not(.btn) a,
	.header .gnav ul li.language span {
		font-size: clamp(0.813rem, 0.67rem + 0.3vw, 0.938rem);
	}
	/* .btn */
	.header .btn.cta a {
		font-size: clamp(0.875rem, 0.589rem + 0.6vw, 1.125rem);
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	.header .logo {
		width: 105px;
	}
	.header .gnav ul {
		gap: 0 min(25px, calc(25 / var(--width) * 100vw));
	}
	.header .gnav ul li:not(.btn) a,
	.header .gnav ul li.language span {
		font-size: 13px;
	}
	/* .btn */
	.header .btn.cta a {
		font-size: 14px;
		letter-spacing: 0;
	}
}
@media ( min-width: 768px ){
	.header {
		height: 120px;
	}
	.header.is-small {
		height: 80px;
	}	
	.header .gnav ul {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.header .gnav ul li:not(.btn) a,
	.header .gnav ul li.language span {
		display: inline-block;
		font-weight: 500;
		padding: 0 0 3px;
		position: relative;
	}
	.header .gnav ul li.language span {
		color: #959595;
	}
	.header .gnav ul li:not(.btn) a::after {
		content: '';
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 1px;
		background-color: var(--gold);
		transform: scaleX(0);
		transform-origin: center;
		transition: all 0.5s ease;
	}
	@media (hover: hover) {
		.header .gnav ul li:not(.btn) a:hover {
			color: var(--gold);
		}
		.header .gnav ul li:not(.btn) a:hover::after {
			transform: scaleX(1);
		}
	}
	.header .gnav ul li.language a:first-child::before,
	.header .gnav ul li.language span:first-child::before {
		width: 0.5px;
		height: 15px;
		right: -8px;
	}
	.content {
	  margin: 120px 0 0;
	}
	/* .btn */
	.btn a,
	.btn input[type="submit"],
	.smf-action button[type="submit"] {
		font-size: 17px;
		width: clamp(15rem, 6.429rem + 17.86vw, 22.5rem);
		height: 75px;
		border-radius: 38px;
	}
	.btn.cta a {
		font-size: 18px;
	}
	.header .btn.cta a {
		width: min(360px, calc(360 / var(--width) * 100vw));
	}
	.header.is-small .btn.cta a {
		height: 60px;
	}
	.btn a::after,
	.btn input[type="submit"]::after,
	#form .smf-action button[type="submit"]::after {
		background: url("img/btn_arw02.svg") no-repeat 0 0 / contain;
		width: 15px;
		height: 17px;
		right: 22px;
	}
	@media (hover: hover) {
		.btn a:hover::after,
		.btn input[type="submit"]:hover::after,
		#form .smf-action button[type="submit"]:hover::after {
			background: url("img/btn_arw01.svg") no-repeat 0 0 / contain;
			right: 10px;
		}
	}
	.btn.cta a::after {
		background: url("img/btn_arw01.svg") no-repeat 0 0 / contain;
	}
	.header .btn.cta a::after {
		background: url("img/btn_arw01.svg") no-repeat 0 0 / contain;
		width: min(15px, calc(15 / var(--width) * 100vw));
		height: min(17px, calc(17 / var(--width) * 100vw));
		right: min(22px, calc(22 / var(--width) * 100vw));
	}
	@media (hover: hover) {
		.btn.cta a:hover::after {
			background: url("img/btn_arw02.svg") no-repeat 0 0 / contain;
		}
		.header .btn.cta a:hover::after {
			right: min(10px, calc(10 / var(--width) * 100vw));
		}
	}
}
@media (max-width: 767px) {
	body.noscroll {
		overflow: hidden;
		height: 100%;
	}
	.header {
		padding: 0 16vw 0 0;
	}
	.header {
		height: 20.9333vw;
	}
	.header.is-small {
		height: 13.3333vw;
	}	
	.header .logo {
		width: 36.4vw;
	}
	.header.is-small .logo {
		width: 26.6667vw;
	}
	.header .gnav {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		background-color: var(--beige);
		z-index: 99;
		opacity: 0;
		visibility: hidden;
		transition: all 0.4s ease;
	}
	.header.open .gnav {
		opacity: 1;
		visibility: visible;
	}
	.header .gnav ul {
		padding: 16vw 6vw 7.2vw;
	}
	.header .gnav ul li:not(.btn) {
		border-top: 1px solid #dcd3c1;
		position: relative;
	}
	.header .gnav ul li:not(.btn)::after {
		content: "";
		background: url("img/info_arw_sp.svg") no-repeat 0 0 / contain;
		width: 2.4vw;
		height: 2.8vw;
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
	}
	.header .gnav ul li:not(.btn) a,
	.header .gnav ul li.language span {
		display: block;
		text-align: left;
		color: #000;
		font-size: 3.3333vw;
		font-weight: 500;
		padding: 8vw 0;
	}
	.header .gnav ul li.language a:first-child::before,
	.header .gnav ul li.language span:first-child::before {
		background: #000;
		width: 0.1333vw;
		height: 3.3333vw;
		right: -1.6666vw;
	}
	.content {
	  margin: 20.9333vw 0 0;
	}
	/* .btn */
	.btn a,
	.btn input[type="submit"],
	#form .smf-action button[type="submit"] {
		font-size: 4.2667vw;
		width: 100%;
		height: 18.6667vw;
		border-radius: 9.3333vw;
	}
	.btn a::after,
	.btn input[type="submit"]::after,
	#form .smf-action button[type="submit"]::after {
		background: url("img/btn_arw02_sp.svg") no-repeat 0 0 / contain;
		width: 3.7333vw;
		height: 4.2667vw;
		right: 8vw;
	}
	.btn.cta a {
		font-size: 4.2667vw;
	}
	.btn.cta a::after {
		background: url("img/btn_arw01_sp.svg") no-repeat 0 0 / contain;
	}
	.gnav .btn.cta a {
		text-align: center;
		margin: 12vw 0 0;
		font-size: 4.2667vw;
	}
	.gnav .btn.cta a::after {
		background: url("img/btn_arw01_sp.svg") no-repeat 0 0 / contain;
		width: 3.7333vw;
		height: 4.2667vw;
		right: 8vw;	
	}
	.menubtn {
		position: absolute;
		z-index: 100;
		width: 9.0667vw;
		height: 2.6667vw;
		cursor: pointer;
		top: 9vw;
		right: 6vw;
	}
	.header.is-small .menubtn {
		top: 5.3333vw;
	}
	.menubtn .bar {
		display: block;
		width: 100%;
		height: 0.4vw;
		background-color: #fff;
		position: absolute;
		left: 0;
		transition: all 0.4s;
	}
	.menubtn .bar1 { 
		top: 0;
	}
	.menubtn .bar2 { 
		bottom: 0;
	}
	.header.open .bar {
		background-color: var(--green);
	}
	.header.open .bar1 {
		transform: translateY(1.13335vw) rotate(45deg);
	}
	.header.open .bar2 {
		transform: translateY(-1.13335vw) rotate(-45deg);
	}
	.language_btn {
		display: flex;
		align-items: center;
		gap: 0 1em;
	}
	.language_btn a,
	.language_btn span {
		font-size: 2.6667vw;
		position: relative;
	}
	.language_btn a:first-child::before,
	.language_btn span:first-child::before {
		content: "";
		background: #fff;
		position: absolute;
		top: 50%;
		transform: translateY(-50%) rotate(20deg);
		width: 0.1333vw;
		height: 2.6667vw;
		right: -1.6667vw;
	}
}
/* #scrollBtn */
#scrollBtn {
	position: fixed;
	border: none;
	cursor: pointer;
	transition: all 0.3s ease;
	z-index: 3;
	background: #000;
	bottom: min(20px, calc(20 / var(--width) * 100vw));
	right: min(20px, calc(20 / var(--width) * 100vw));
}
.scroll-down,
.scroll-up {
	font-family: "Century Gothic", "Questrial", Futura, sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	display: inline-block;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode:vertical-rl;
	text-align: left;
	color: #fff;
	letter-spacing: 0.1em;
	position: relative;
}
.scroll-down::before,
.scroll-down::after,
.scroll-up::before,
.scroll-up::after {
	content: "";
	background: #fff;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	transition: all 0.3s ease;
}
.scroll-down::after,
.scroll-up::after {
	border-radius: 100%;
}
@media (hover: hover) {
	.scroll-down:hover,
	.scroll-up:hover {
		color: var(--gold);
	}
	.scroll-down:hover::before,
	.scroll-down:hover::after,
	.scroll-up:hover::before,
	.scroll-up:hover::after {
		background: var(--gold);
	}
}
@media (min-width: 768px) {
	#scrollBtn {
		font-size: 12px;
		border-radius: 20px
	}
	.scroll-down {
		padding: 15px 5px 45px;
	}
	.scroll-up {
		padding: 45px 5px 15px;
	}
	.scroll-down::before,
	.scroll-up::before {
		width: 1px;
		height: 20px;
	}
	.scroll-down::before {
		bottom: 9px
	}
	.scroll-up::before {
		top: 9px
	}
	.scroll-down::after,
	.scroll-up::after {
		width: 6px;
		height: 6px;
	}
	.scroll-down::after {
		bottom: 7px;
	}
	.scroll-up::after {
		top: 7px;
	}
}
@media ( max-width: 767px ){
	#scrollBtn {
		display: none;
	}
}
/* title_box */
.bdr_title {
	display: inline-block;
	color: #fff;
	font-weight: 500;
	letter-spacing: 0.1em;
	border: 1px solid #fff;
	position: relative;
}
.bdr_title::before {
	content: "";
	background: var(--green);
	position: absolute;
}
.bdr_title::after {
	content: "";
	background: #fff;
	border-radius: 100%;
	position: absolute;
}
.title_box.v2 .bdr_title {
	color: var(--green);
	border: 1px solid var(--green);
}
.title_box.v2 .bdr_title::before {
	background: #fff;
}
.title_box.v2 .bdr_title::after {
	background: var(--green);
}
.title_box .sec_title {
	font-family: "Century Gothic", "Questrial", Futura, sans-serif;
	color: #fff;
	text-align: left;
	line-height: 1.28;
	letter-spacing: 0.05em;
}
.title_box.v2 .sec_title {
	color: var(--green);
}
.title_box .sec_title .typing-text .char {
	display: inline-block;
	opacity: 0;
	transition: transform 0.6s ease-out, opacity 0.6s ease-out;
}
.title_box .sec_title .typing-text.is-active .char {
	opacity: 1;
}
.title_box .intro {
	text-align: left;
	position: relative;
}
.title_box .intro::before {
	content: "";
	background: #fff;
	position: absolute;
}
.title_box.v2 .intro {
	color: #000;
}
.title_box.v2 .intro::before {
	background: #000;
}
@media ( min-width: 1025px ){
	.title_box .sec_title {
		font-size: clamp(1.875rem, -0.982rem + 5.95vw, 4.375rem);
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	.title_box .sec_title {
		font-size: 30px;
	}
}
@media ( min-width: 768px ){
	.title_box {
		display: flex;
		flex-direction: row-reverse;
		justify-content: flex-start;
		align-items: flex-start;
	}
	.bdr_title {
		writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		-webkit-writing-mode:vertical-rl;
		padding: min(40px, calc(40 / var(--width) * 100vw)) min(18px, calc(18 / var(--width) * 100vw));
		border-radius: min(30px, calc(30 / var(--width) * 100vw));
		margin: 0 0 0 min(40px, calc(40 / var(--width) * 100vw));
	}
	.bdr_title::before {
		width: min(24px, calc(24 / var(--width) * 100vw));
		height: min(24px, calc(24 / var(--width) * 100vw));
		top: max(-12px, calc(-12 / var(--width) * 100vw));
		left: 50%;
		transform: translateX(-50%);
	}
	.bdr_title::after {
		width: min(9px, calc(9 / var(--width) * 100vw));
		height: min(9px, calc(9 / var(--width) * 100vw));
		top: max(-4.5px, calc(-4.5 / var(--width) * 100vw));
		left: 50%;
		transform: translateX(-50%);
	}
	.title_box .sec_title {
		writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		-webkit-writing-mode:vertical-rl;
	}
	.title_box .sec_title .typing-text .char {
		transform: translateX(30px) scale(0.9);
	}
	.title_box .sec_title .typing-text.is-active .char {
		transform: translateX(0) scale(1);
	}
	.title_box .intro {
		writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		-webkit-writing-mode:vertical-rl;
		padding: 57px 0 0;
		margin: 0 min(60px, calc(60 / var(--width) * 100vw)) 0 0;
		letter-spacing: 0.15em;
	}
	.title_box .intro::before {
		width: 1px;
		height: 25px;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
	}
}
@media ( max-width: 767px ){
	.title_box {
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		align-items: flex-start;
	}
	.bdr_title {
		padding: 3.3333vw 8vw;
		border-radius: 4.6667vw;
		margin: 0 0 8.2667vw;
	}
	.bdr_title::before {
		width: 4.9333vw;
		height: 4.9333vw;
		top: 50%;
		left: -2.4vw;
		transform: translateY(-50%);
	}
	.bdr_title::after {
		width: 1.6vw;
		height: 1.6vw;
		top: 50%;
		left: -0.8vw;
		transform: translateY(-50%);
	}
	.title_box .sec_title {
		font-size: 9.3333vw;
		margin: 0 0 9vw;
	}
	.title_box .sec_title .typing-text .char {
		transform: translateY(30px) scale(0.9);
	}
	.title_box .sec_title .typing-text.is-active .char {
		transform: translateY(0) scale(1);
	}
	.title_box .intro {
		padding: 0 0 0 7.0667vw;
		margin: 0 min(60px, calc(60 / var(--width) * 100vw)) 0 0;
		letter-spacing: 0.1em;
	}
	.title_box .intro::before {
		width: 3.3333vw;
		height: 0.2667vw;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
	}	
}
/* .footer */
@media ( min-width: 1025px ){
	.footer .logo img {
		width: 273px;;
	}
	.footer .logo {
		gap: 45px 0;
	}
	.footer .address {
		font-size: 15px;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	.footer .logo img {
		width: min(500px, calc(500 / var(--width) * 100vw));
	}
	.footer .logo {
		gap: min(45px, calc(45 / var(--width) * 100vw)) 0;
	}
	.footer .address {
		font-size: 13px;
	}
}
@media ( min-width: 768px ){
	.footer {
		padding: min(125px, calc(125 / var(--width) * 100vw)) 0 min(115px, calc(115 / var(--width) * 100vw));
	}
	.footer .inner {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.footer .logo {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}
	.footer .address {
		text-align: left;
		font-weight: 500;
		line-height: 2.33;
		letter-spacing: 0.01em;
	}
}
@media ( max-width: 767px ){
	.footer {
		padding: 21.3333vw 0;
	}
	.footer .logo {
		width: 36.4vw;
		margin: 0 auto 10.6667vw;
	}
	.footer .address {
		font-size: 2.4vw;
		font-weight: 500;
		line-height: 2.5;
		letter-spacing: 0.01em;
		margin: 0 0 10.6667vw;
	}
	.footer copy {
		font-size: 2.6667vw;
		letter-spacing: 0.075em;
	}
}
/* lower common
-------------------------------------------------------------- */
/* .kv */
.kv .page_title p {
	display: block;
	font-weight: 500;
	letter-spacing: 0.075em;
	position: relative;
}
.kv .page_title p::after {
	content: "";
	background: #fff;
	position: absolute;
}
.kv .page_title span {
	display: block;
	font-family: "Century Gothic", "Questrial", Futura, sans-serif;
	letter-spacing: 0.1em;
}
/* breadcrumb */
.breadcrumb {
	display: flex;
}
.breadcrumb ol {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	list-style: none;
	margin: 0;
	padding: 0;
}
.breadcrumb ol li:not(:last-child)::after {
	display: inline-block;
	content: "＞";
	margin: 0 0.5rem;
}
.breadcrumb ol li:last-child {
	color: #fff;
}
.breadcrumb ol li a {
	color: #fff;
	transition: color 0.3s ease;
}
.breadcrumb ol li a:hover {
	color: var(--gold);
}
@media ( min-width: 1025px ){
	.kv .page_title p {
		font-size: clamp(1.75rem, 0.321rem + 2.98vw, 3rem);
	}
	.kv .page_title span {
		font-size: clamp(0.875rem, 0.446rem + 0.89vw, 1.25rem);
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	.kv .page_title p {
		font-size: 28px;
	}
	.kv .page_title span {
		font-size: 14px;
	}
}
@media ( min-width: 768px ){
	.kv_wrap {
		padding: min(40px, calc(40 / var(--width) * 100vw)) 0 0 min(40px, calc(40 / var(--width) * 100vw));
	}
	.kv {
		display: flex;
		justify-content: space-between;
		align-items: stretch;
	}
	.kv .page_title {
		display: flex;
		align-items: stretch;
		justify-content: flex-start;
		align-self: stretch;	
	}
	.kv .page_title.ver2 {
		display: block;
	}
	.kv .page_title p,
	.kv .page_title span {
		writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		-webkit-writing-mode:vertical-rl;
		text-align: start;
	}
	.kv .page_title.ver2 p,
	.kv .page_title.ver2 span {
		writing-mode: horizontal-tb;
		-ms-writing-mode: horizontal-tb;
		-webkit-writing-mode:horizontal-tb;

	}
	.kv .page_title p {
		padding: 0 min(105px, calc(105 / var(--width) * 100vw)) 0 0;
		margin: 0 min(50px, calc(50 / var(--width) * 100vw)) 0 0;
	}
	.kv .page_title.ver2 p {
		padding: 0 0 min(80px, calc(80 / var(--width) * 100vw)) 0;
		margin: 0 0 min(60px, calc(60 / var(--width) * 100vw)) 0;
	}
	.kv .page_title p::after {
		width: 1px;
		top: 0;
		bottom: 0;
		right: 0;
	}
	.kv .page_title.ver2 p::after {
		width: min(105px, calc(105 / var(--width) * 100vw));
		height: 1px;
		top: auto;
		bottom: 0;
		left: 0;
		right: auto;
	}
	.kv .img_box {
		flex: 0 0 min(1610px, calc(1610 / var(--width) * 100vw));
	}
	/* breadcrumb */
	.breadcrumb {
		justify-content: flex-end;
		margin: min(27px, calc(27 / var(--width) * 100vw)) 0 min(56px, calc(56 / var(--width) * 100vw));
	}
	.breadcrumb ol li {
		font-size: 12px;
	}	
}
@media ( max-width: 767px ){
	.kv_wrap {
		display: flex;
		flex-direction: column-reverse;
	}
	.kv .page_title {
		text-align: left;
		margin: 0 0 4.6667vw;
	}
	.kv .page_title p {
		font-size: 6.4vw;
		padding: 0 0 1em;
		margin: 0 0 4vw;
	}
	.kv .page_title p::after {
		width: 100%;
		height: 1px;
		bottom: 0;
		left: 0;
	}
	.kv .page_title span {
		font-size: 2.6667vw;
	}
	.kv .img_box {
		margin: 0 0 4.5333vw;
	}
	/* breadcrumb */
	.breadcrumb {
		margin: 0 0 8vw;
	}
	.breadcrumb ol li {
		font-size: 2.4vw;
	}
}
/* =index
-------------------------------------------------------------- */
/* .fv */
.line_light {
	position: relative;
	overflow: hidden;
}
.line_light::before {
	content: "";
	position: absolute;
}
.fv .slider_wrap {
	position: relative;
}
.fv .splide__slide {
	position: relative;
	overflow: hidden;
}
.fv .slide-content {
	position: absolute;
	text-align: center;
}
.fv .slide-content p {
	font-family: 'Noto Serif JP';
	font-weight: 500;
	color: #fff;
	opacity: 0;
	margin-left: auto;
    margin-right: auto;
	background-image: linear-gradient(#fff, #fff);
	background-position: 0 100%;
	background-repeat: no-repeat;
	background-size: 0% 1px;
	transition: opacity 0.5s ease, background-size 0.5s ease;
	position: relative;
}
.fv .slide-content p .num {
	display: inline-block;
	font-style: italic;
}
.fv .slide2 .slide-content p {
	color: #000;
}
.fv .slide3 .slide-content p.line-1 {
    margin-left: 0;
    margin-right: auto;
    text-align: left;
}
.fv .slide3 .slide-content p.line-2 {
    margin-left: auto;
    margin-right: 0;
    text-align: right;
}
.fv .slide-content .ta_l {
	position: relative;
}
.fv .slide-content .ta_l::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.fv .slide-content .ta_r {
	position: relative;
}
.fv .slide-content .ta_r::after {
	content: "で";
	font-family: 'Noto Serif JP';
	font-weight: 500;
	position: absolute;
}
#main-slider .splide__slide img {
	width: 100%;
	display: block;
	opacity: 0;
	transition: opacity 0.8s ease;
}
#main-slider .splide__slide.is-active img { 
	opacity: 1;
	transition-delay: 0s; 
}
.draw-line {
	opacity: 0;
	transition: opacity 1.8s ease;
}
.splide__slide.is-active .draw-line {
	opacity: 1;
	transition-delay: 1.8s;
}
.marker {
	position: relative;
	display: inline-block;
	z-index: 1;
}
.marker::after {
	content: "";
	position: absolute;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #fff;
	z-index: -1;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0s;
	transition-delay: 1.0s;
}
.slide2 .marker::after {
	background-color: #000;
}
.splide__slide.is-active .line-1 .marker::after {
	transform: scaleX(1);
	transition: transform 0.5s ease-out;
	transition-delay: 2.8s;
}
.splide__slide.is-active .line-2 .marker::after {
	transform: scaleX(1);
	transition: transform 0.5s ease-out;
	transition-delay: 3.4s;
}
.splide__slide.is-active .line-3 .marker::after {
	transform: scaleX(1);
	transition: transform 0.5s ease-out;
	transition-delay: 3.9s;
}
.splide__slide.is-active .line-3 .marker.m-2::after {
	transform: scaleX(1);
	transition: transform 0.5s ease-out;
	transition-delay: 4.2s;
}
#thumbnail-slider {
	position: absolute;
}
#thumbnail-slider .splide__list {
	display: flex;
}
#thumbnail-slider .splide__slide {
	cursor: pointer;
	flex-shrink: 0;
	box-sizing: border-box;
	transition : all 0.3s;
}
#thumbnail-slider .splide__slide img {
	width: 100%;
	height: auto;
	display: block;
}
@media (hover: hover) {
	#thumbnail-slider .splide__slide:hover {
		opacity: 0.6;
	}
}
@media ( min-width: 768px ){
	.line_light::before {
		background: url("img/line_light.png") no-repeat 0 0 / contain;
		width: min(1600px, calc(1600 / var(--width) * 100vw));
		height: min(1800px, calc(1800 / var(--width) * 100vw));
		top: max(-150px, calc(-150 / var(--width) * 100vw));
		left: max(-400px, calc(-400 / var(--width) * 100vw));
	}
	.fv .slider_wrap {
		margin: 0 0 min(100px, calc(100 / var(--width) * 100vw));
	}
	.en_content .fv .slider_wrap {
		margin: 0 0 min(200px, calc(200 / var(--width) * 100vw));
	}
	.fv .slide-content {
		top: 50%;
		left: 55%;
		transform: translateY(-50%);
	}
	.fv .slide2 .slide-content {
		left: 5%;
	}
	.fv .slide-content p {
		font-size: min(110px, calc(110 / var(--width) * 100vw));
		margin-bottom: min(30px, calc(30 / var(--width) * 100vw));
	}
	.en_content .fv .slide-content p {
		font-size: min(70px, calc(70 / var(--width) * 100vw));
	}
	.fv .slide-content p .f75 {
		font-size: min(75px, calc(75 / var(--width) * 100vw));
	}
	.fv .slide-content p .num {
		font-size: min(220px, calc(220 / var(--width) * 100vw));
		margin-top : max(-30px, calc(-30 / var(--width) * 100vw));
	}
	.fv .slide-content .ta_l::after {
		background: url("img/kv_text.png") no-repeat 0 0 / contain;
		width: min(123px, calc(123 / var(--width) * 100vw));
		height: min(123px, calc(123 / var(--width) * 100vw));
		right: max(-145px, calc(-145 / var(--width) * 100vw));
	}
	.fv .slide-content .ta_r::after {
		font-size: min(75px, calc(75 / var(--width) * 100vw));
		top: 52%;
		right: max(-80px, calc(-80 / var(--width) * 100vw));
	}
	.marker::after {
		bottom: 5px;
	}
	#thumbnail-slider {
		width: min(518px, calc(518 / var(--width) * 100vw));
		right: min(47px, calc(47 / var(--width) * 100vw));
		bottom: min(40px, calc(40 / var(--width) * 100vw));
	}
	#thumbnail-slider .splide__list {
		column-gap: min(19px, calc(19 / var(--width) * 100vw));
	}
	#thumbnail-slider .splide__slide {
		width: calc((100% - min(38px, calc(38 / var(--width) * 100vw))) / 3) !important;
		border-radius: min(30px, calc(30 / var(--width) * 100vw));
		border: min(4px, calc(4 / var(--width) * 100vw)) solid rgba(255,255,255,0);
	}
	#thumbnail-slider .splide__slide.is-active {
		border: min(4px, calc(4 / var(--width) * 100vw)) solid rgba(255,255,255,1);
	}
}
@media ( max-width: 767px ){
	.line_light::before {
		background: url("img/line_light_sp.png") no-repeat 0 0 / contain;
		width: 100vw;
		height: 160vw;
		top: -22vw;
		left: 0;
	}
	.fv .slider_wrap {
		margin: 0 0 6.4vw;
	}
	.fv .slide-content {
		bottom: 20.5333vw;
		left: 50%;
		transform: translateX(-50%);
	}
	.fv .slide-content p {
		font-size: 10.2667vw;
		margin-bottom: 4vw;
		white-space: nowrap;
	}
	.en_content .fv .slide-content p {
		font-size: 6vw;
	}
	.fv .slide-content p .f75 {
		font-size: 7.0667vw;
	}
	.fv .slide-content p .num {
		font-size: 20.6667vw;
		margin-top : -4vw;
	}
	.fv .slide-content .ta_l::after {
		background: url("img/kv_text_sp.png") no-repeat 0 0 / contain;
		width: 12.6667vw;
		height: 12.6667vw;
		right: -14.6667vw;
	}
	.fv .slide-content .ta_r::after {
		font-size: 7.0667vw;
		top: 52%;
		right: -6.6667vw;
	}
	.marker::after {
		bottom: 0.8vw;
	}
	#thumbnail-slider {
		width: 77.3333vw;
		left: 50%;
		bottom: 5.3333vw;
		transform: translateX(-50%);
	}
	#thumbnail-slider .splide__list {
		column-gap: 2.5333vw;
	}
	#thumbnail-slider .splide__slide {
		width: calc((100% - 5.0667vw) / 3) !important;
		border-radius: 4vw;
		border: 0.8vw solid rgba(255,255,255,0);
	}
	#thumbnail-slider .splide__slide.is-active {
		border: 0.8vw solid rgba(255,255,255,1);
	}
}
/* .bnr_area */
.bnr_area a {
	display: block;
	position: relative;
	z-index: 2;
	transition: all 0.3s;
}
@media ( min-width: 768px ){
	.bnr_area {
		margin-bottom: min(200px, calc(200 / var(--width) * 100vw));
	}
	.bnr_area .inner {
		display: flex;
	}
	.bnr_area a {
		width: 50%;
	}
	.bnr_area a:hover {
		opacity: 0.8;
	}
}
@media ( max-width: 767px ){
	.bnr_area {
		margin: 18vw 0 0;
	}
	.bnr_area a + a {
		margin-top: 4vw;
	}
}
/* .recommended */
.recommended .detail {
	flex: 1;
	display: flex;
    flex-direction: column;
}
.recommended .detail dd {
	flex: 1;
	background: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	box-sizing: border-box;
}
.recommended .detail dd .menu {
	color: var(--green);
	font-weight: 500;
	line-height: 1.2;
}
.recommended .detail dd .ingredient {
	color: #000;
	font-weight: 500;
}
.recommended .detail dd .ingredient .num {
	margin: 0 0 0 0.5em;
}
.recommended .detail dd .num {
	display: inline-block;
	font-family: 'din_pro_semi';
	font-weight: 600;
}
.recommended .detail dd .effect span {
	display: inline-block;
	color: var(--green);
	border: 1px solid var(--green);
}
.recommended .detail dd .price {
	display: flex;
	flex-direction: column;
}
.recommended .detail dd .price .original {
	color: #000;
	position: relative;
}
.recommended .detail dd .price .original::after {
	content: "";
	background: var(--pink);
	clip-path: polygon(0 0, 50% 100%, 100% 0);
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.en_content .recommended .detail dd .price .original::after {
	display: none;
}
.recommended .detail dd .price .original .yen {
	display: inline-block;
	font-weight: 900;
	position: relative;
}
.recommended .detail dd .price .original .yen::before {
    content: "（税込）";
    color: #000;
	left: -1em;
    font-weight: 500;
    width: 4em;
    height: 1em;
    position: absolute;
    top: -1em;
}
.recommended .detail dd .price .discount {
	color: var(--pink);
}
.recommended .detail dd .price .discount .cat {
	display: block;
	font-weight: 500;
	letter-spacing: 0.025em;
}
.recommended .detail dd .price .discount .off {
	display: inline-block;
    color: #fff;
    font-weight: 700;
    background: var(--pink);
}
.recommended .detail dd .price .discount .yen {
	display: inline-block;
	font-weight: 900;
	position: relative;
}
.recommended .detail dd .price .discount .yen::before {
    content: "（税込）";
    color: var(--pink);
	left: -1em;
    font-weight: 500;
    width: 4em;
    height: 1em;
    position: absolute;
    top: -1em;
}
.en_content .recommended .detail dd .price .discount .yen::before {
    content: "(tax inc.)";
    width: 5em;
}
.recommended .sec_in .more p {
	text-align: left;
}
@media ( min-width: 1025px ){
	.recommended .flex_box {
		gap: 0 min(120px, calc(120 / var(--width) * 100vw));
		padding: 0 0 0 min(110px, calc(110 / var(--width) * 100vw));
	}
	.recommended .detail_wrap {
		padding: min(73px, calc(73 / var(--width) * 100vw)) min(75px, calc(75 / var(--width) * 100vw)) min(80px, calc(80 / var(--width) * 100vw)) min(80px, calc(80 / var(--width) * 100vw));
		gap: 0 min(60px, calc(60 / var(--width) * 100vw));
	}
	.recommended .detail dd .menu {
		font-size: clamp(1.25rem, 0.647rem + 1.26vw, 2.375rem);
	}
	.recommended .detail dd .menu.f35 {
		font-size: clamp(1.25rem, 0.747rem + 1.05vw, 2.188rem);
	}
	.recommended .detail dd .ingredient {
		font-size: clamp(1rem, 0.866rem + 0.28vw, 1.25rem);
	}
	.recommended .detail dd .effect span {
		font-size: clamp(0.688rem, 0.587rem + 0.21vw, 0.875rem);
		padding: 3px 9px;
		border-radius: 15px;
		margin: 0 2px 2px 0;
	}
	.recommended .detail dd .price {
		gap: 10px 0;
	}
	.recommended .detail dd .price .original {
		font-size: clamp(0.75rem, 0.616rem + 0.28vw, 1rem);
	}
	.recommended .detail dd .price .original .num {
		font-size: clamp(1.625rem, 1.491rem + 0.28vw, 1.875rem);
		margin: 0 3px 0 5px;
	}
	.recommended .detail dd .price .discount .cat {
		font-size: clamp(0.875rem, 0.808rem + 0.14vw, 1rem);
	}
	.recommended .detail dd .price .discount .off {
		font-size: clamp(0.875rem, 0.808rem + 0.14vw, 1rem);
		padding: 3px 4px 4px;
		border-radius: 5px;
	}
	.recommended .detail dd .price .discount .off span {
		font-size: clamp(0.625rem, 0.591rem + 0.07vw, 0.688rem);
	}
	.recommended .detail dd .price .discount .num {
		font-size: clamp(2rem, 1.43rem + 1.19vw, 3.063rem);
		margin: 0 5px 0 8px;
	}
	.recommended .detail dd .price .discount .yen {
		font-size: clamp(1.25rem, 1.082rem + 0.35vw, 1.563rem);
	}
	.recommended .detail dd .price .discount .yen::before {
		font-size: clamp(0.563rem, 0.495rem + 0.14vw, 0.688rem);
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	.recommended .flex_box {
		gap: 0 min(45px, calc(45 / var(--width) * 100vw));
	}
	.recommended .detail_wrap {
		padding: min(70px, calc(70 / var(--width) * 100vw)) min(75px, calc(75 / var(--width) * 100vw)) min(50px, calc(50 / var(--width) * 100vw)) min(50px, calc(50 / var(--width) * 100vw));
		gap: 0 min(40px, calc(40 / var(--width) * 100vw));
	}
	.recommended .detail dd .menu {
		font-size: 20px;
	}
	.recommended .detail dd .menu.f35 {
		font-size: 20px;
	}
	.recommended .detail dd .ingredient {
		font-size: 16px;
	}
	.recommended .detail dd .effect span {
		font-size: 11px;
		padding: 1px 5px;
		border-radius: 10px;
	}
	.recommended .detail dd .price {
		gap: 8px 0;
	}
	.recommended .detail dd .price .original {
		font-size: 12px;
	}
	.recommended .detail dd .price .original .num {
		font-size: 26px;
		margin: 0 3px 0 2px;
	}
	.recommended .detail dd .price .original .yen::before {
		font-size: 7px;
	}
	.recommended .detail dd .price .discount .cat {
		font-size: 14px;
	}
	.recommended .detail dd .price .discount .off {
		font-size: 14px;
		padding: 2px 3px 3px;
		border-radius: 4px;
	}
	.recommended .detail dd .price .discount .off span {
		font-size: 10px;
	}
	.recommended .detail dd .price .discount .num {
		font-size: 32px;
		margin: 0 3px 0 8px;
	}
	.recommended .detail dd .price .discount .yen {
		font-size: 20px;
	}
	.recommended .detail dd .price .discount .yen::before {
		font-size: 9px;
	}
}
@media ( min-width: 768px ){
	.recommended {
		padding: 0 0 min(480px, calc(480 / var(--width) * 100vw));
	}
	.recommended .flex_box {
		display: flex;
		justify-content: space-between;
		margin: 0 max(-75px, calc(-75 / var(--width) * 100vw)) 0 0;
	}
	.recommended .detail_wrap {
		background: url("img/recommended_bg.png") no-repeat 0 0 / cover;
		margin: 0 0 min(45px, calc(45 / var(--width) * 100vw));
		display: flex;
		align-items: stretch;
	}
	.recommended .detail {
		max-width: 400px;
	}
	.recommended .detail dd {
		border-radius: 0 0 min(30px, calc(30 / var(--width) * 100vw)) min(30px, calc(30 / var(--width) * 100vw));
		gap: min(20px, calc(20 / var(--width) * 100vw)) 0;
		padding: min(50px, calc(50 / var(--width) * 100vw)) 10px;
	}
	.recommended .detail dd .effect span {
		margin: 0 2px 2px 0;
	}
	.recommended .detail dd .price .original {
		padding: 0 0 25px;
	}
	.recommended .detail dd .price .original::after {
		width: 18px;
		height: 13px;
	}
	.recommended .detail dd .price .original .yen::before {
		font-size: 7px;
	}
	.recommended .detail dd .price .discount .cat {
		margin: 0 0 10px;
	}	
	.recommended .sec_in .more {
		display: flex;
		align-items: center;
		gap: 0 min(50px, calc(50 / var(--width) * 100vw));
		justify-content: flex-end;
		padding: 0 min(75px, calc(75 / var(--width) * 100vw)) 0 0;
	}
	.recommended .sec_in .more p {
		line-height: 1.3;
	}
}
@media ( max-width: 767px ){
	.recommended {
		padding: 20vw 0 70.6667vw;
	}
	.recommended .sec_in {
		padding: 18.6667vw 0 0;
	}
	.recommended .detail_wrap {
		margin: 0 -6vw 12vw 0;
		background: url("img/recommended_bg_sp.png") no-repeat 0 0 / cover;
		padding: 8.8vw 9.0667vw 9.6vw;
	}
	.recommended .detail + .detail {
		margin: 7.6vw 0 0;
	}
	.recommended .detail dd {
		border-radius: 0 0 6.6667vw 6.6667vw;
		gap: 4vw 0;
		padding: 6.6667vw 4vw;
	}
	.recommended .detail dd .menu {
		font-size: 6.9333vw;
	}
	.recommended .detail dd .ingredient {
		font-size: 4.2667vw;
	}
	.recommended .detail dd .effect span {
		font-size: 2.5333vw;
		padding: 1.0667vw 2.6667vw;
		border-radius: 2.4vw;
		margin: 0 0.4vw 0.4vw;
	}
	.recommended .detail dd .price {
		gap: min(10px, calc(10 / var(--width) * 100vw)) 0;
	}
	.recommended .detail dd .price .original {
		font-size: 2.5333vw;
		padding: 0 0 5.3333vw;
		margin: 0 0 2.1333vw;
	}
	.recommended .detail dd .price .original::after {
		width: 4.9333vw;
		height: 3.6vw;
	}
	.recommended .detail dd .price .original .num {
		font-size: 5.4667vw;
		margin: 0 0.4vw 0 0.9333vw;
	}
	.recommended .detail dd .price .original .yen {
		font-size: 2.8vw;
	}
	.recommended .detail dd .price .original .yen::before {
		font-size: 1.2vw;
	}
	.recommended .detail dd .price .discount .cat {
		font-size: 3.6vw;
		margin: 0 0 2.6667vw;
	}
	.recommended .detail dd .price .discount .off {
		font-size: 3.6vw;
		padding: 1.3333vw 1.3333vw 1.0667vw;
		border-radius: 0.6667vw;
	}
	.recommended .detail dd .price .discount .off span {
		font-size: 2.5333vw;
	}
	.recommended .detail dd .price .discount .num {
		font-size: 10.6667vw;
		margin: 0 1.6vw 0 2.1333vw;
	}
	.recommended .detail dd .price .discount .yen {
		font-size: 5.3333vw;
	}
	.recommended .detail dd .price .discount .yen::before {
		font-size: 2.4vw;
	}
	.recommended .sec_in .more p {
		line-height: 2.4;
		margin: 0 0 13.3333vw;
	}
}
/* .principles */
.principles {
	position: relative;
	background: var(--beige);
	color: var(--green);
}
.principles::before,
.principles::after {
	content: "";
	width: 100%;
	position: absolute;
	left: 0;
}
.principles .flex_box {
	position: relative;
	z-index: 1;
}
.principles .flex_box .title {
	font-family: 'Noto Serif JP';
	letter-spacing: 0.1em;
	margin: 0 1.25rem;
	white-space: nowrap;
}
.principles .flex_box .title .emphasis {
	display: inline-block;
	position: relative;
}
.principles .flex_box .title .en {
	font-family: "Century Gothic", "Questrial", sans-serif;
	color: #000;
	white-space: nowrap;
	letter-spacing: 0;
}
/* --- 1. 初期状態：すべて非表示・幅0 --- */
.principles .title.js-inview li {
    opacity: 0;
}
.principles .title .under_line, 
.title .bdr_box {
    display: inline-block;
    position: relative;
}
.principles .title .under_line::after {
    content: '';
    position: absolute;
	left: 0;
    width: 0; 
	height: 1px;
    background-color: var(--green);
}
.principles .title .bdr_box::before,
.principles .title .bdr_box::after {
    content: '';
    position: absolute;
    width: 0; 
	height: 0;
    box-sizing: border-box;
}
.principles .title .bdr_box::before {
    top: 0; 
	right: 0;
    border-right: 1px solid var(--green);
    border-bottom: 1px solid var(--green);
}
.principles .title .bdr_box::after {
    bottom: 0; 
	left: 0;
    border-left: 1px solid var(--green);
    border-top: 1px solid var(--green);
}
/* テキスト浮上 */
.principles .title.js-inview.inview li {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.8s ease, transform 0.8s ease;
}
/* 下線 (0.8s遅延) */
.principles .title.js-inview.inview .under_line::after {
    width: 100%;
    transition: width 0.5s ease-out 0.8s;
}
/* 枠1：美 (1.4s遅延開始) */
.principles .title.js-inview.inview .bdr_box:nth-of-type(1)::before {
    width: 100%; 
	height: 100%;
    transition: height 0.2s linear 1.4s, width 0.2s linear 1.6s;
}
.principles .title.js-inview.inview .bdr_box:nth-of-type(1)::after {
    transition: height 0.2s linear 1.8s, width 0.2s linear 2.0s;
	height: 100%;
}
/* 枠2：健康 (2.3s遅延開始) */
.principles .title.js-inview.inview .bdr_box:nth-of-type(2)::before {
    width: 100%; 
	height: 100%;
    transition: height 0.2s linear 2.3s, width 0.2s linear 2.5s;
}
.principles .title.js-inview.inview .bdr_box:nth-of-type(2)::after {
    transition: height 0.2s linear 2.7s, width 0.2s linear 2.9s;
	height: 100%;
}
.principles .title_box.v2 .bdr_title::before {
	background: var(--beige);
}
.principle_detail li .img_box {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-end;
}
.principle_detail li:nth-child(2) .img_box {
	align-items: flex-start;
}
.principle_detail li .img_box picture {
	position: relative;
}
.principle_detail li .img_box picture::after {
	content: "";
	position: absolute;
}
.principle_detail li .img_box dl {
	text-align: left;
}
.principle_detail li .img_box dl dt {
	font-weight: 500;
	letter-spacing: 0.05em;
	color: var(--green);
	position: relative;
}
.principle_detail li .img_box dl dt::before,
.principle_detail li .img_box dl dt::after {
	content: "";
	background: var(--green);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.principle_detail li .img_box dl dt::before {
	border-radius: 100%;
	left: 0;
}
.principle_detail li .img_box dl dt .palt {
	font-feature-settings: "palt";
}
.principle_detail li .img_box dl dd {
	color: #000;
	letter-spacing: 0.1em;
}
@media ( min-width: 1025px ){
	.principles .flex_box .title {
		font-size: clamp(1.875rem, 0.232rem + 3.42vw, 3.313rem);
	}
	.principles .flex_box .title li + li {
		margin: clamp(1.25rem, 0.536rem + 1.49vw, 1.875rem) 0 0;
	}
	.principles .flex_box .title .emphasis {
		font-size: clamp(2.813rem, 0.455rem + 4.91vw, 4.875rem);
	}
	.principles .flex_box .title .en {
		font-size: clamp(0.875rem, 0.732rem + 0.3vw, 1rem);
		margin: min(100px, calc(100 / var(--width) * 100vw)) 0 0;
	}
	.principles .flex_box .img_box {
		width: clamp(18.75rem, 12.716rem + 12.57vw, 30rem);
	}
	.principles .flex_box .img_box2 {
		width: clamp(18.75rem, 12.515rem + 12.99vw, 30.375rem);
	}
	.principle_detail li .img_box dl dt {
		font-size: clamp(1.625rem, -0.232rem + 3.87vw, 3.25rem);
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	.principles .flex_box .title {
		font-size: 30px;
	}
	.principles .flex_box .title li + li {
		margin: 20px 0 0;
	}
	.principles .flex_box .title .emphasis {
		font-size: 45px;
	}
	.principles .flex_box .title .en {
		font-size: 14px;
		margin: 40px 0 0;
	}
	.principles .flex_box .img_box {
		width: 300px;
	}
	.principles .flex_box .img_box2 {
		width: 300px;
	}
	.principle_detail li .img_box dl dt {
		font-size: 26px;
	}
}
@media ( min-width: 768px ){
	.principles::before {
		background: url("img/bg_top.png") no-repeat center bottom / 100% auto;
		height: min(288px, calc(288 / var(--width) * 100vw));
		top: max(-286px, calc(-286 / var(--width) * 100vw));
	}
	.principles::after {
		background: url("img/bg_btm.png") no-repeat center 0 / 100% auto;
		height: min(288px, calc(288 / var(--width) * 100vw));
		bottom: max(-286px, calc(-286 / var(--width) * 100vw));
	}
	.principles .flex_box {
		display: flex;
		justify-content: space-between;
		margin: 0 0 min(133px, calc(133 / var(--width) * 100vw));
	}
	.principles .flex_box .img_box {
		margin: max(-390px, calc(-390 / var(--width) * 100vw)) 0 0;
	}
	.principles .flex_box .img_box2 {
		margin: max(-260px, calc(-260 / var(--width) * 100vw)) 0 0;
	}
	/* --- 1. 初期状態：すべて非表示・幅0 --- */
	.principles .title.js-inview li {
		transform: translateY(15px);
	}
	.principles .title .bdr_box {
		padding: min(3px, calc(3 / var(--width) * 100vw)) min(5px, calc(5 / var(--width) * 100vw)) min(8px, calc(8 / var(--width) * 100vw));
	}
	.principles .title .under_line::after {
		bottom: 2px;
	}
	.principles .title.js-inview.inview .bdr_box:nth-of-type(1)::after {
		width: calc(100% - min(30px, calc(30 / var(--width) * 100vw)));
	}
	.principles .title.js-inview.inview .bdr_box:nth-of-type(2)::after {
		width: calc(100% - min(30px, calc(30 / var(--width) * 100vw)));
	}
	.principle_detail li {
		display: flex;
		margin: 0 max(-75px, calc(-75 / var(--width) * 100vw)) 0 0;
	}
	.principle_detail li:nth-child(1) {
		justify-content: space-between;
		padding: 0 0 0 min(110px, calc(110 / var(--width) * 100vw));
	}
	.principle_detail li:nth-child(2) {
		margin: 45px 0 0 max(-75px, calc(-75 / var(--width) * 100vw));
	}
	.principle_detail li:nth-child(3) {
		justify-content: flex-end;
		margin: 45px max(-75px, calc(-75 / var(--width) * 100vw)) 0 0;
	}
	.principle_detail li .img_box {
		flex: 0 0 min(1300px, calc(1300 / var(--width) * 100vw));
	}
	.principle_detail li .img_box picture::after {
		width: min(170px, calc(170 / var(--width) * 100vw));
		height: min(169px, calc(169 / var(--width) * 100vw));
		top: min(18px, calc(18 / var(--width) * 100vw));
		left: max(-105px, calc(-105 / var(--width) * 100vw));
	}
	.principle_detail li:nth-child(1) .img_box picture::after {
		background: url("img/principles_icon01.png") no-repeat 0 0 / contain;
	}
	.principle_detail li:nth-child(2) .img_box picture::after {
		background: url("img/principles_icon02.png") no-repeat 0 0 / contain;
		left: auto;
		right: max(-105px, calc(-105 / var(--width) * 100vw));
	}
	.principle_detail li:nth-child(3) .img_box picture::after {
		background: url("img/principles_icon03.png") no-repeat 0 0 / contain;
	}
	.principle_detail li .img_box dl {
		margin: min(80px, calc(80 / var(--width) * 100vw)) 0 0;
		padding: 0 min(75px, calc(75 / var(--width) * 100vw)) 0 0;
	}
	.principle_detail li:nth-child(2) .img_box dl {
		padding: 0 0 0 min(75px, calc(75 / var(--width) * 100vw));
	}
	.principle_detail li .img_box dl dt {
		padding: 0 0 0 68px;
	}
	.principle_detail li .img_box dl dt::before {
		width: 9px;
		height: 9px;
	}
	.principle_detail li .img_box dl dt::after {
		width: 25px;
		height: 1px;
		left: 17px;;
	}
	.principle_detail li .img_box dl dd {
		padding: 0 0 0 68px;
		margin: min(38px, calc(38 / var(--width) * 100vw)) 0 0;
		line-height: 1.5;
	}
}
@media ( max-width: 767px ){
	.principles {
		padding: 0 0 22.6667vw;
	}
	.principles::before {
		background: url("img/bg_top_sp.png") no-repeat center bottom / 100% auto;
		height: 10.9333vw;
		top: -10.8333vw;
	}
	.principles::after {
		background: url("img/bg_btm_sp.png") no-repeat center 0 / 100% auto;
		height: 10.8vw;
		bottom: -10.7vw;
	}
	.principles .flex_box {
		margin: 0 0 22.6667vw;
	}
	.principles .flex_box .img_box {
		width: 64vw;
		position: absolute;
		top: -40vw;
		left: 50%;
		transform: translateX(-50%);
	}
	.principles .flex_box .img_box2 {
		width: 80.1333vw;
		margin: 0 auto;
	}
	.principles .flex_box .title {
		padding: 77.3333vw 0 0;
		font-size: 7.0667vw;
		letter-spacing: 0;
	}
	.principles .flex_box .title li + li {
		margin: 4vw 0 0;
	}
	.principles .flex_box .title .emphasis {
		font-size: 10.4vw;
	}
	.principles .flex_box .title .en {
		font-size: 2.6667vw;
		line-height: 1.9;
		margin: 13.3333vw 0;
	}
	/* --- 1. 初期状態：すべて非表示・幅0 --- */
	.principles .title.js-inview li {
		transform: translateY(4vw);
	}
	.principles .title .bdr_box {
		padding: 1.2vw;
	}
	.principles .title .under_line::after {
		bottom: 2px;
	}
	.principles .title.js-inview.inview .bdr_box:nth-of-type(1)::after {
		width: calc(100% - 3.7333vw);
	}
	.principles .title.js-inview.inview .bdr_box:nth-of-type(2)::after {
		width: calc(100% - 3.7333vw);
	}
	.principle_detail li {
		display: flex;
		flex-direction: column;
		margin: 0 -6vw 0 0;
	}
	.principle_detail li:nth-child(2) {
		margin: 20vw 0 0 -6vw;
	}
	.principle_detail li:nth-child(3) {
		justify-content: flex-end;
		margin: 20vw -6vw 0 0;
	}
	.principle_detail li .img_box {
		align-items: flex-end;
	}
	.principle_detail li:nth-child(1) .img_box {
		margin: 17.3333vw 0 0;
	}
	.principle_detail li .img_box picture {
		width: 81.3333vw;
	}
	.principle_detail li .img_box picture::after {
		width: 28.2667vw;
		height: 28.1333vw;
		top: 2vw;
		left: -13.3333vw;
	}
	.principle_detail li:nth-child(1) .img_box picture::after {
		background: url("img/principles_icon01_sp.png") no-repeat 0 0 / contain;
	}
	.principle_detail li:nth-child(2) .img_box picture::after {
		background: url("img/principles_icon02_sp.png") no-repeat 0 0 / contain;
		left: auto;
		right: -13.3333vw;
	}
	.principle_detail li:nth-child(3) .img_box picture::after {
		background: url("img/principles_icon03_sp.png") no-repeat 0 0 / contain;
	}
	.principle_detail li .img_box dl {
		margin: 9.3333vw 0 0;
		padding: 0 6vw 0 0;
	}
	.principle_detail li:nth-child(2) .img_box dl {
		padding: 0 0 0 6vw;
	}
	.principle_detail li .img_box dl dt {
		font-size: 7.3333vw;
		padding: 0 0 0 12vw;
	}
	.principle_detail li .img_box dl dt::before {
		width: 1.6vw;
		height: 1.6vw;
	}
	.principle_detail li .img_box dl dt::after {
		width: 4.6667vw;
		height: 1px;
		left: 3.4667vw;
	}
	.principle_detail li .img_box dl dd {
		padding: 0 0 0 12vw;
		margin: 6.6667vw 0 0;
		line-height: 2.5;
		letter-spacing: 0.05em;
	}	
}
/* .top_information */
.top_information {
	background: #fff;
	color: #000;
}
.info_list {
	color: #000;
	text-align: left;
}
.info_list a {
	display: flex;
	align-items: center;
	border-bottom: 1px solid var(--beige);
	position: relative;
	line-height: 1.2;
}
.info_list a::after {
	content: "";
	background: url("img/info_arw.svg") no-repeat 0 0 / contain;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	transition: transform 0.3s ease, right 0.3s ease;
}
.pagination {
	color: #000;
	display: flex;
	justify-content: center;
	gap: 0 1em;
	font-weight: 700;
}
.pagination .page-numbers {
	width: 2em;
	height: 2em;
	display: flex;
    justify-content: center;
    align-items: center;
    font-family: "Century Gothic", "Questrial", Futura, sans-serif;
	border-radius: 1em;
	transition: all 0.3s;
}
.pagination .page-numbers.current {
	width: 2em;
	height: 2em;
	background: var(--green);
	color: #fff;
}
.pagination .page-numbers:hover {
	background: var(--green);
	color: #fff;
}
.pagination .page-numbers.next:hover,
.pagination .page-numbers.prev:hover {
	background: #fff;
	color: var(--green);
}
.information.detail .faq_list_wrap {
	color: #000;
	text-align: left;
	line-height: 1.6;
}
@media (hover: hover) {
	.info_list a:hover::after {
		right: max(-10px, calc(-10 / var(--width) * 100vw));
	}
}
.article_body {
	color: #000;
	text-align: left;
	line-height: 1.6;
	background-color: #fff;
}
#tinymce.article_body {
	padding: 1em;
}
.article_title,
.article_body h3 {
	color: var(--green);
	font-weight: 700;
}
.article_body h3 {
	position: relative;
}
.article_body h3::before,
.article_body h3::after {
	content: "";
    background: var(--green);
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.article_body h3::before {
	border-radius: 100%;
    left: 0;
}
.info_list a .date,
.information.detail .faq_list_wrap .date {
	font-family: "Century Gothic", "Questrial", sans-serif;
	color: var(--gold);
}
@media ( min-width: 768px ){
	.top_information {
		padding: min(480px, calc(480 / var(--width) * 100vw)) 0 min(150px, calc(150 / var(--width) * 100vw));
	}
	.top_information .flex_box {
		display: flex;
		justify-content: space-between;
		gap: 0 min(115px, calc(115 / var(--width) * 100vw));
		padding: 0 0 0 min(110px, calc(110 / var(--width) * 100vw));
	}
	.top_information .sec_in {
		width: 100%;
	}
	.info_list {
		margin: 0 0 min(54px, calc(54 / var(--width) * 100vw));
		border-top: 1px solid var(--beige);
	}
	.information .info_list {
		margin: 0 0 min(105px, calc(105 / var(--width) * 100vw));
	}
	.info_list a {
		padding: min(75px, calc(75 / var(--width) * 100vw)) min(100px, calc(100 / var(--width) * 100vw)) min(75px, calc(75 / var(--width) * 100vw)) 0;
		border-bottom: 1px solid var(--beige);
	}
	.info_list a::after {
		width: min(18px, calc(18 / var(--width) * 100vw));
		height: min(21px, calc(21 / var(--width) * 100vw));
	}
	.info_list a .text {
		line-height: 1.3;
	}
	.info_list a .date {
		font-size: 17px;
		flex: 0 0 120px;
	}
	.information .faq_list_wrap .inner,
	.information.detail .faq_list_wrap .inner {
		max-width: min(1800px, calc(1800 / var(--width) * 100vw));
	}
	.information.detail .faq_list_wrap .date {
		font-size: clamp(0.875rem, 0.446rem + 0.89vw, 1.25rem);
		margin: 0 0 min(20px, calc(20 / var(--width) * 100vw));
	}
	.article_title {
		font-size: 28px;
		margin: 0 0 min(54px, calc(54 / var(--width) * 100vw));
	}
	.article_body h3 {
		padding: 0 0 0 60px;
		font-size: 25px;
		margin: 0 0 min(54px, calc(54 / var(--width) * 100vw));
	}
	.article_body h3::before {
		width: 9px;
        height: 9px;
	}
	.article_body h3::after {
		width: 26px;
        height: 1px;
        left: 16px;
	}
	.article_body p {
		margin: 0 0 min(30px, calc(30 / var(--width) * 100vw));
	}
	.top_information .sec_in .more,
	.information .faq_list_wrap .more {
		display: flex;
		justify-content: flex-end;
	}
	.information .faq_list_wrap .more{
		margin: min(100px, calc(100 / var(--width) * 100vw)) 0 0;
	}
}
@media ( max-width: 767px ){
	.top_information {
		padding: 35.3333vw 0 26.6667vw;
	}
	.info_list {
		margin: 16.6667vw 0 17.3333vw;
		border-top: 0.2667vw solid var(--beige);
	}
	.information .info_list {
		margin: 0 0 12vw;
	}
	.article_title {
		font-size: 5.5vw;
		margin: 0 0 6vw;
	}
	.article_body h3 {
		font-size: 4.5vw;
        padding: 0 0 0 8vw;
        margin: 0 0 4vw;
	}
	.article_body h3::before {
		width: 1.2vw;
        height: 1.2vw;
	}
	.article_body h3::after {
		width: 4vw;
        height: 1px;
        left: 2.8vw;
	}
	.article_body p {
		margin: 0 0 2vw;
	}
	.info_list a {
		padding: 12.6667vw 9.3333vw 12.6667vw 0;
		border-bottom: 0.2667vw solid var(--beige);
	}
	.info_list a::after {
		width: 2.4vw;
		height: 2.8vw;
	}
	.info_list a .date {
		font-size: 3.3333vw;
		flex: 0 0 24.8vw;
	}
	.info_list a .text {
		line-height: 2;
	}
}
/* =treatment
-------------------------------------------------------------- */
/* .menu_cat */
.menu_cat {
	display: flex;
	background: #fff;
	overflow: hidden;
}
.menu_cat li {
	flex: 1;
	background: #fff;
}
.menu_cat li a {
	display: block;
	background: #fff;
	font-weight: 500;
	color: #000;
	transition: background-color 0.3s ease;
	position: relative;
}
.menu_cat li a.on,
.menu_cat li a:hover {
	background: var(--gold);
}
.menu_cat li a::after {
	content: "";
	background: #d2cdc3;
	width: 1px;
	position: absolute;
}
.menu_cat li:last-child a::after,
.menu_cat li a.on::after {
	display: none;
}
/* .menu_content */
.treatment .menu_content {
	text-align: left;
	width: 100%;
}
.treatment .menu_content .title {
	font-weight: 500;
	letter-spacing: 0.075em;
	margin: 0 0 1em;
	line-height: 1.3;
}
.treatment .menu_content .lead {
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.3;
	position: relative;
}
.treatment .menu_content .lead::before,
.treatment .menu_content .lead::after {
	content: "";
	background: #fff;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.treatment .menu_content .lead::before {
	border-radius: 100%;
	left: 0;
}
.treatment .menu_content dl {
	display: flex;
	align-items: center;
}
.treatment .menu_content dl dt {
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode:vertical-rl;
	letter-spacing: 0.2em;
	border: 1px solid #fff;
}
.treatment .menu_content dl dd {
	width: 100%;
}
.treatment .menu_content dl dd ul li {
	line-height: 1.4;
	letter-spacing: 0.1em;
}
.treatment .menu_content dl dd ul li:not(:last-child) {
	border-bottom: 1px solid #fff;
}
@media ( min-width: 1025px ){
	.menu_cat li a {
		font-size: clamp(0.688rem, 0.188rem + 1.04vw, 1.125rem);
	}
	.treatment .menu_content .title {
		font-size: clamp(1.5rem, -0.357rem + 3.87vw, 3.125rem);
	}
	.treatment .menu_content .lead {
		font-size: clamp(1rem, 0.143rem + 1.79vw, 1.75rem);
	}
	.treatment .menu_content dl dt {
		font-size: 16px;
		padding: 50px 15px;
	}
	.treatment .menu_content dl dd ul li {
		font-size: clamp(0.938rem, 0.723rem + 0.45vw, 1.125rem);
		padding: 38px 0 38px 56px;
		background: url("img/check_icon.svg") no-repeat 0 38px / 27px auto;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	.menu_cat li a {
		font-size: 11px;
	}
	.treatment .menu_content .title {
		font-size: 24px;
	}
	.treatment .menu_content .lead {
		font-size: 16px;
	}
	.treatment .menu_content dl dt {
		font-size: 14px;
		padding: 30px 10px;
	}
	.treatment .menu_content dl dd ul li {
		font-size: 15px;
		padding: 25px 0 25px 40px;
		background: url("img/check_icon.svg") no-repeat 0 25px / 20px auto;
	}
}
@media ( min-width: 768px ){
	/* .menu_cat */
	.treatment {
		padding: 0 0 min(300px, calc(300 / var(--width) * 100vw));
	}
	.menu_cat {
		border-radius: min(50px, calc(50 / var(--width) * 100vw));
		margin: 0 0 min(94px, calc(94 / var(--width) * 100vw));
	}
	.menu_cat li a {
		padding: min(40px, calc(40 / var(--width) * 100vw)) 0;
		border-radius: min(50px, calc(50 / var(--width) * 100vw));
	}
	.menu_cat li a::after {
		width: 1px;
		height: min(50px, calc(50 / var(--width) * 100vw));
		top: 50%;
		right: 0;
		transform: translateY(-50%);
	}
	/* .menu_content */
	.treatment .sec_in {
		display: flex;
		gap: 0 min(120px, calc(120 / var(--width) * 100vw));
		align-items: center;
		margin: 0 0 min(140px, calc(140 / var(--width) * 100vw)) max(-75px, calc(-75 / var(--width) * 100vw));
	}
	.treatment .sec_in .img_box {
		flex: 0 0 min(1050px, calc(1050 / var(--width) * 100vw));
	}
	.treatment .menu_content .lead {
		padding: 0 0 0 70px;
		margin: 0 0 min(100px, calc(100 / var(--width) * 100vw));
	}
	.treatment .menu_content .lead::before {
		width: 9px;
		height: 9px;
	}
	.treatment .menu_content .lead::after {
		width: 26px;
		height: 1px;
		left: 16px;
	}
	.treatment .menu_content dl {
		gap: 0 min(46px, calc(46 / var(--width) * 100vw));
	}
}
@media ( max-width: 767px ){
	/* .menu_cat */
	.treatment {
		padding: 0 0 20vw;
	}
	.menu_cat {
		flex-wrap: wrap;
		justify-content: flex-start;
		padding: 1.3333vw;
		border-radius: 6vw;
		margin: 0 0 12vw;
	}
	.menu_cat li {
		flex: 1 1 calc(100% / 2);
		flex-grow: 0;
	}
	.menu_cat li a {
		padding: 4vw;
		border-radius: 6vw;
		font-size: 3.2vw;
	}
	.menu_cat li a .palt {
		font-feature-settings: "palt";
		letter-spacing: -0.03em;
	}
	.menu_cat li a::after {
		width: 29.3333vw;
		height: 1px;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
	}
	/* .menu_content */
	.treatment .sec_in .img_box {
		width: 86.6667vw;
		margin: 0 0 12vw -6vw;
	}
	.treatment .menu_content .title {
		font-size: 6.4vw;
	}
	.treatment .menu_content .lead {
		font-size: 3.3333vw;
		padding: 0 0 0 11.3333vw;
		margin: 0 0 11.3333vw;
		letter-spacing: 0.05em;
	}
	.treatment .menu_content .lead::before {
		width: 1.6vw;
		height: 1.6vw;
	}
	.treatment .menu_content .lead::after {
		width: 4.6667vw;
		height: 1px;
		left: 3.4667vw;
	}
	.treatment .menu_content dl {
		gap: 0 6vw;
	}
	.treatment .menu_content dl dt {
		font-size: 3.3333vw;
		padding: 10.6667vw 3.4667vw;
	}
	.treatment .menu_content dl dd ul li {
		font-size: 3.3333vw;
		line-height: 1.6;
		padding: 8vw 4vw 8vw 6.9333vw;
	}
	.treatment .menu_content dl dd ul li {
		background: url("img/check_icon.svg") no-repeat 0 9vw / 3.6vw auto;
	}
}
/* .menu_list */
.treatment .menu_list {
	overflow: hidden;
}
.treatment .menu_list li {
	background: var(--beige);
}
.treatment .menu_list li:nth-child(even) {
	background: #fff;
}
.treatment .menu_list .menu {
	text-align: left;
}
.treatment .menu_list .menu dt {
	color: var(--green);
	font-weight: 500;
	letter-spacing: 0.05em;
	margin: 0 0 0.5em;
	line-height: 1.2;
}
.treatment .menu_list .menu dd .ingredient {
	color: #000;
	font-weight: 500;
	letter-spacing: 0.1em;
	margin: 0 0 0.5em;
	line-height: 1.2;
}
.treatment .menu_list .num {
	display: inline-block;
	font-family: 'din_pro_semi';
	font-weight: 600;
}
.treatment .menu_list .menu dd .effect span {
	display: inline-block;
	color: var(--green);
	border: 1px solid var(--green);
}
.treatment .menu_list .menu dd .column_url {
	margin-top: 0.5rem;
}
.treatment .menu_list .menu dd .column_url a {
	display: inline-block;
	color: #fff;
	background: #000;
	transition: all 0.3s;
	position: relative;
}
.treatment .menu_list .menu dd .column_url a::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    transition: transform 0.3s ease, right 0.3s ease;
}
.treatment .menu_list .menu dd .notes {
	color: #000;
	margin-top: 0.5rem;
	line-height: 1.2;
}
.treatment .menu_list .price {
	display: flex;
}
.treatment .menu_list .price .original {
	color: #000;
	position: relative;
}
.treatment .menu_list .price .original::after {
	content: "";
	background: var(--pink);
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	position: absolute;
	top: 3em;
	transform: translateY(-50%);
}
.treatment .menu_list .price .discount {
	color: var(--pink);
}
.treatment .menu_list .price .cat {
	font-weight: 500;
	display: block;
	margin: 0 0 0.3em;
}
.treatment .option .menu_list .price .discount .cat {
	color: #000;
}
.treatment .menu_list .price .yen {
	display: inline-block;
	font-weight: 900;
	position: relative;
}
.treatment .menu_list .price .yen::after {
    content: "（税込）";
    color: #000;
	left: -1em;
    font-weight: 500;
    width: 4em;
    height: 1em;
    position: absolute;
    top: -1em;
}
.treatment.en_content .menu_list .price .yen::after {
    content: "(tax inc.)";
    width: 5em;
}
.treatment .menu_list .price .discount .yen::after {
    color: var(--pink);
}
.treatment .menu_list .price .discount .off {
    display: inline-block;
    color: #fff;
    font-weight: 500;
    background: var(--pink);
}
.treatment .option {
	letter-spacing: 0.075em;
}
.treatment .option .title p {
	font-weight: 500;
}
.treatment .option .title span {
	display: block;
}
.treatment .option .menu_list .price .discount:first-child {
	position: relative;
}
.treatment .option .menu_list .price .discount:first-child::after {
	content: "";
	background: #beaf92;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	display: none;
}
@media ( min-width: 1025px ){
	.treatment .menu_list {
		border-radius: 58px;
	}
	.treatment .menu_list li {
		padding: clamp(1.25rem, -0.036rem + 2.68vw, 2.375rem) clamp(1.875rem, -1.696rem + 7.44vw, 5rem) 1.4375rem clamp(1.875rem, -2.411rem + 8.93vw, 5.625rem);
	}
	.treatment .menu_list li:last-child {
		padding: clamp(1.25rem, -0.036rem + 2.68vw, 2.375rem) clamp(1.875rem, -1.696rem + 7.44vw, 5rem) clamp(1.25rem, -0.036rem + 2.68vw, 2.375rem) clamp(1.875rem, -2.411rem + 8.93vw, 5.625rem);
	}
	.treatment .menu_list .menu dt {
		font-size: clamp(1.25rem, 0.3rem + 1.5vw, 2.375rem);
	}
	.treatment .menu_list .menu dd .ingredient {
		font-size: clamp(0.875rem, 0.589rem + 0.6vw, 1.125rem);
	}
	.treatment .menu_list .menu dd .effect span {
		font-size: clamp(0.75rem, 0.607rem + 0.3vw, 0.875rem);
		padding: 6px 10px;
		border-radius: 14px;
		margin: 0 3px 0 0;
	}
	.treatment .menu_list .menu dd .column_url a {
		font-size: clamp(0.75rem, 0.607rem + 0.3vw, 0.875rem);
		padding: 6px 25px 6px 10px;
		border-radius: 14px;
		margin: 0 3px 0 0;
	}
	.treatment .menu_list .price {
		gap: 0 80px;
	}
	.treatment .menu_list .price .original::after {
		width: 20px;
		height: 27px;
		right: -54px;
	}
	.treatment .menu_list .price .cat {
		font-size: clamp(1rem, 0.714rem + 0.6vw, 1.25rem);
	}
	.treatment .menu_list .price .num {
		font-size: clamp(2.5rem, 1.071rem + 2.98vw, 3.75rem);
	}
	.treatment .menu_list .price .yen {
		font-size: clamp(1.25rem, 0.464rem + 1.64vw, 1.938rem);
		margin: 0 0 0 10px;
	}
	.treatment .menu_list .price .yen::after {
		font-size: clamp(0.75rem, 0.607rem + 0.3vw, 0.875rem);
	}
	.treatment .menu_list .price .discount .off {
		font-size: clamp(1rem, 0.643rem + 0.74vw, 1.313rem);
		padding: 5px 7px;
		border-radius: 5px;
		margin: 0 10px 0 0;
	}
	.treatment .menu_list .price .discount .off span {
		font-size: clamp(0.75rem, 0.607rem + 0.3vw, 0.875rem);
	}
	.treatment .option {
		padding: clamp(9.375rem, 4.732rem + 9.67vw, 13.438rem) 0 0;
	}
	.treatment .option .title {
		margin: 0 0 clamp(3.125rem, 0.268rem + 5.95vw, 5.625rem);
	}
	.treatment .option .title p {
		font-size: clamp(1.875rem, 1.018rem + 1.79vw, 2.625rem);
	}
	.treatment .option .title span {
		margin: clamp(1.875rem, 0.446rem + 2.98vw, 3.125rem) 0 0;
	}
	.treatment .option .menu_list .price .discount:first-child::after {
		width: 1px;
		height: min(100px, calc(100 / var(--width) * 100vw));
		right: -40px;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	.treatment .menu_list {
		border-radius: 30px;
	}
	.treatment .menu_list li {
		padding: 20px 30px 15px 30px;
	}
	.treatment .menu_list li:last-child {
		padding: 20px 30px;
	}
	.treatment .menu_list .menu dt {
		font-size: 24px;
	}
	.treatment .menu_list .menu dd .ingredient {
		font-size: 14px;
	}
	.treatment .menu_list .menu dd .effect span {
		font-size: 12px;
		padding: 2px 5px;
		border-radius: 10px;
		margin: 0 2px 2px 0;
	}
	.treatment .menu_list .menu dd .column_url a {
		font-size: 12px;
		padding: 2px 20px 2px 5px;
		border-radius: 10px;
		margin: 0 2px 2px 0;
	}
	.treatment .menu_list .price {
		gap: 0 50px;
	}
	.treatment .menu_list .price .original::after {
		width: 15px;
		height: 20px;
		right: -35px;
	}
	.treatment .menu_list .price .cat {
		font-size: 16px;
	}
	.treatment .menu_list .price .num {
		font-size: 40px;
	}
	.treatment .menu_list .price .yen {
		font-size: 20px;
		margin: 0 0 0 10px;
	}
	.treatment .menu_list .price .yen::after {
		font-size: 12px;
	}
	.treatment .menu_list .price .discount .off {
		font-size: 16px;
		padding: 3px 4px;
		border-radius: 4px;
		margin: 0 10px 0 0;
	}
	.treatment .menu_list .price .discount .off span {
		font-size: 12px;
	}
	.treatment .option {
		padding: 150px 0 0;
	}
	.treatment .option .title {
		margin: 0 0 50px;
	}
	.treatment .option .title p {
		font-size: 30px;
	}
	.treatment .option .title span {
		margin: 30px 0 0;
	}
	.treatment .option .menu_list .price .discount:first-child::after {
		width: 1px;
		height: min(100px, calc(100 / var(--width) * 100vw));
		right: -25px;
	}
}
@media ( min-width: 768px ){
	.treatment .menu_list li {
		display: flex;
		justify-content: space-between;
	}
	.treatment .menu_list .menu {
		max-width: min(780px, calc(780 / var(--width) * 100vw));
	}
	.treatment.en_content .menu_list .menu {
		max-width: min(1000px, calc(1000 / var(--width) * 100vw));
	}
	.treatment .option .menu_list .menu,
	.treatment.en_content .option .menu_list .menu {
		max-width: 100%;
	}
	.treatment .menu_list .menu dd .column_url a::after {
		background: url(img/btn_arw02.svg) no-repeat 0 0 / contain;
        width: min(15px, calc(15 / var(--width) * 100vw));
        height: min(17px, calc(17 / var(--width) * 100vw));
        right: min(16px, calc(16 / var(--width) * 100vw));
	}
	.treatment .menu_list .menu dd .column_url a:hover {
		background: var(--gold);
		color: #000;
	}
	.treatment .menu_list .menu dd .column_url a:hover::after {
		background: url(img/btn_arw01.svg) no-repeat 0 0 / contain;
	}
}
@media ( max-width: 767px ){
	.treatment .menu_list {
		border-radius: 6.4vw;
	}
	.treatment .menu_list li {
		padding: 6vw 6.6667vw 4vw;
	}
	.treatment .menu_list .menu dt {
		font-size: 5.3333vw;
	}
	.treatment .menu_list .menu dd .ingredient {
		font-size: 3vw;
	}
	.treatment .menu_list .menu dd .effect span {
		font-size: 3.3333vw;
		padding: 0.6667vw 2vw;
		border-radius: 2.4vw;
		margin: 0 0.6667vw 0.6667vw 0;
	}
	.treatment .menu_list .menu dd .column_url a {
		font-size: 3.3333vw;
		padding: 0.6667vw 5vw 0.6667vw 2vw;
		border-radius: 2.4vw;
		margin: 0 0.6667vw 0.6667vw 0;
	}
	.treatment .menu_list .menu dd .column_url a::after {
		background: url(img/btn_arw02_sp.svg) no-repeat 0 0 / contain;
        width: 2.2vw;
        height: 2.5vw;
        right: 1.5vw;
	}
	.treatment .menu_list .menu dd .column_url a:hover::after {
		background: url(img/btn_arw01_sp.svg) no-repeat 0 0 / contain;
	}
	.treatment .menu_list .price {
		margin: 2.9333vw 0 0;
		gap: 0 8vw;
	}
	.treatment .menu_list .price .original::after {
		width: 2.6667vw;
		height: 3.6vw;
		right: -6vw;
	}
	.treatment .menu_list .price .cat {
		text-align: left;
		font-size: 3.3333vw;
	}
	.treatment .menu_list .price .num {
		font-size: 7.5vw;
	}
	.treatment .menu_list .price .yen {
		font-size: 4.1333vw;
		margin: 0 0 0 1vw;
	}
	.treatment .menu_list .price .yen::after {
		font-size: 2vw;
	}
	.treatment .menu_list .price .discount .off {
		font-size: 2.6667vw;
		padding: 0.9333vw;
		border-radius: 0.6667vw;
		margin: 0 1.8667vw 0 0;
	}
	.treatment .menu_list .price .discount .off span {
		font-size: 1.8667vw;
	}
	.treatment .option {
		padding: 24vw 0 0;
	}
	.treatment .option .title {
		margin: 0 0 10.6667vw;
	}
	.treatment .option .title p {
		font-size: 6.4vw;
	}
	.treatment .option .title span {
		margin: 6vw 0 0;
	}
	.treatment .option .menu_list .price .discount:first-child::after {
		width: 0.2667vw;
		height: 11.3333vw;
		right: -5.3333vw;
	}
}
/* =faq
-------------------------------------------------------------- */
.faq_list_wrap {
	background: #fff;
	position: relative;
}
.faq_list_wrap::before {
    content: "";
    width: 100%;
    position: absolute;
    left: 0px;
}
.faq_list {
	text-align: left;
}
.faq_item dt {
	font-family: "Century Gothic", "Questrial", sans-serif;
	letter-spacing: 0.15em;
}
.faq_item.item_q dt {
	color: var(--green);
	border-bottom: 1px solid var(--green);
}
.faq_item.item_a dt {
	color: var(--gold);
	border-bottom: 1px solid var(--gold);
}
.faq_item dd {
	color: #000;
	letter-spacing: 0.075em;
}
.faq_item.item_q dd {
	font-weight: 500;
	line-height: 1.7;
}
.faq_item.item_a dd a {
	color: var(--green);
	text-decoration: underline;
	font-weight: 700;
}
.faq_item.item_a dd a:hover {
	text-decoration: none;
}
.search_bar_form {
	position: relative;
	display: flex;
	justify-content: center;
}
.search_bar_input {
	flex-grow: 1;
	border: none;
	outline: none;
	background: var(--beige);
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.search_bar_button {
	background: var(--beige);
	border: none;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	flex-shrink: 0;
	box-sizing: border-box;
}
.search_bar_button img {
	display: block;
	height: auto;
}
::placeholder {
	color: #a4a4a4;
}
.search_bar_input:-internal-autofill-selected {
    background-color: var(--beige);
}
input[type="search"] {
	-webkit-appearance: none;
	appearance: none;
}
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
	display: none;
}
@media ( min-width: 1025px ){
	.search_bar_input {
		padding: 0 30px 0 60px;
		height: 80px;
		font-size: 18px;
		border-radius: 40px 0 0 40px;
	}
	.search_bar_button {
		padding: 0 37px 0 20px;
		border-radius: 0 40px 40px 0;
		height: 80px;
	}
	.search_bar_button img {
		width: 40px;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	.search_bar_input {
		padding: 0 20px 0 40px;
		height: 60px;
		font-size: 16px;
		border-radius: 30px 0 0 30px;
	}
	.search_bar_button {
		padding: 0 30px 0 15px;
		border-radius: 0 30px 30px 0;
		height: 60px;
	}
	.search_bar_button img {
		width: 30px;
	}
}
@media ( min-width: 768px ){
	.faq_list_wrap {
		padding: 10px 0 min(210px, calc(210 / var(--width) * 100vw));
		margin: min(300px, calc(300 / var(--width) * 100vw)) 0 0;
	}
	.faq_list_wrap::before {
		height: min(288px, calc(288 / var(--width) * 100vw));
		top: max(-286px, calc(-286 / var(--width) * 100vw));
		background: url(img/bg_top02.png) center bottom / 100% no-repeat;
	}
	.faq_list {
		display: flex;
		gap: 0 min(100px, calc(100 / var(--width) * 100vw));
	}
	.faq_item.item_q {
		flex: 0 0 clamp(280px, 32%, 650px);
	}
	.faq_item.item_a {
		flex: 1 1 auto;
	}
	.faq_item dt {
		padding: 0 0 25px;
		margin: 0 0 40px;
	}
	.faq_item dd {
		min-height: 150px;
	}
	.faq_item.item_q dd {
		font-size: 18px;
	}
	.faq_item.item_a dd {
		line-height: 2.33;
	}
	.faq_item.item_a dd a[href*="tel:"] {
		color: #000;
		text-decoration: none;
	}
	.search_bar{
		padding: 0 60px;
	}
	.search_bar_form {
		max-width: 750px;
		margin: max(-115px, calc(-115 / var(--width) * 100vw)) auto min(75px, calc(75 / var(--width) * 100vw));
	}
}
@media ( max-width: 767px ){
	.faq_list_wrap {
		padding: 12vw 0 6vw;
		margin: 16vw 0 0;
	}
	.faq_list_wrap::before {
		height: 10.9333vw;
		top: -10.6333vw;
		background: url(img/bg_top02_sp.png) center bottom / 100% no-repeat;
	}
	.faq_item dt {
		font-size: 2.6667vw;
		padding: 0 0 3.3333vw;
		margin: 0 0 4vw;
	}
	.faq_item.item_q {
		margin: 0 0 7.3333vw;
	}
	.faq_item.item_q dd {
		font-size: 3.4667vw;
	}
	.faq_item.item_a {
		margin: 0 0 12vw;
	}
	.faq_item.item_a dd {
		font-size: 3.3333vw;
		line-height: 1.7;
	}
	.search_bar_form {
		margin: 0 auto 14.6667vw;
	}
	.search_bar_input {
		padding: 0 3vw 0 7.6vw;
		height: 13.3333vw;
		font-size: 3.3333vw;
		border-radius: 6.6667vw 0 0 6.6667vw;
		max-width: calc(100% - 12vw);
		box-sizing: border-box;
		-webkit-text-size-adjust: 100%;
		margin: 0 auto;
	}
	.search_bar_button {
		padding: 0 5.6vw 0 3vw;
		border-radius: 0 6.6667vw 6.6667vw 0;
		height: 13.3333vw;
	}
	.search_bar_button img {
		width: 6.6667vw;
	}
	/* 入力欄にフォーカスが当たった時、文字サイズを16pxにしてズームを防ぐ */
	.search_bar_input:focus {
		font-size: 16px;
	}
}
/* =clinic
-------------------------------------------------------------- */
.clinic .sec {
	text-align: left;
}
.page_sub_title {
	position: relative;
}
.page_sub_title::after {
	content: "";
	background: #fff;
	height: 1px;
	position: absolute;
	bottom: 0;
	left: 0;
}
.page_sub_title p {
	font-weight: 500;
}
.page_sub_title span {
	display: block;
	font-family: "Century Gothic", "Questrial", sans-serif;
	letter-spacing: 0.15em;
}
.access .map {
    width: 100%;
    margin-inline: auto;
    overflow: hidden;
}
.access .map iframe {
    width: 100%;
}
.access .map_link {
    text-align: right;
}
.detail_tbl dl + dl {
	border-top: 1px solid var(--green);
}
.detail_tbl dl dt {
	background: var(--beige);
	color: var(--green);
	box-sizing: border-box;
}
.detail_tbl dl dd {
	background: #fff;
	color: #000;
	box-sizing: border-box;
}
.detail_tbl2 dl dt {
	background: #e7e7e7;
	color: var(--green);
	box-sizing: border-box;
}
.detail_tbl2 dl dd {
	background: #fff;
	color: #000;
	box-sizing: border-box;
}
.clinic .text {
	letter-spacing: 0.075em;
}
.phone a {
	display: inline-block;
	font-weight: 700;
	letter-spacing: 0.075em;
}
.clinic .message .text {
	line-height: 1.96;
	margin: 0 0 1.5em;
}
.message .name {
	display: block;
	letter-spacing: 0.075em;
}
@media ( min-width: 1025px ){
	.clinic .sec {
		margin: 0 0 180px;
	}
	.page_sub_title {
		padding: 0 0 45px;
		margin: 0 0 80px;
	}
	.page_sub_title::after {
		width: 650px;
	}
	.page_sub_title p {
		font-size: 50px;
	}
	.page_sub_title span {
		font-size: 15px;
		margin: 25px 0 0;
	}
	.clinic .access {
		padding: 100px 0 0;
	}
	.access .map {
		border-radius: 56px;
		height: 580px;
		margin: 0 0 20px;
	}
	.access .map iframe {
		height: 880px;
		margin-top: -150px;
	}
	.access .map_link {
		margin: 0 0 50px;
	}
	.access .map_link a {
		font-size: 15px;
	}
	.detail_tbl dl {
		font-size: 18px;
	}
	.detail_tbl dl dt {
		padding: 40px 30px 40px 60px;
	}
	.detail_tbl dl:first-child dt {
		border-radius: 56px 0 0 0;
	}
	.detail_tbl dl:last-child dt {
		border-radius: 0 0 0 56px;
	}
	.detail_tbl dl dd {
		padding: 40px;
	}
	.detail_tbl dl:first-child dd {
		border-radius: 0 56px 0 0;
	}
	.detail_tbl dl:last-child dd {
		border-radius: 0 0 56px 0;
	}
	.detail_tbl2 dl {
		font-size: 18px;
	}
	.detail_tbl2 dl dt {
		padding: 40px 30px 40px 60px;
	}
	.detail_tbl2 dl:nth-child(2) dt {
		border-radius: 56px 0 0 0;
	}
	.detail_tbl2 dl:last-child dt {
		border-radius: 0 0 0 56px;
	}
	.detail_tbl2 dl dd {
		padding: 40px;
	}
	.detail_tbl2 dl:first-child dd:first-of-type {
		border-radius: 56px 0 0 0;
	}
	.detail_tbl2 dl:first-child dd:last-child {
		border-radius: 0 56px 0 0;
	}
	.detail_tbl2 dl:last-child dd:last-child {
		border-radius: 0 0 56px 0;
	}
	.clinic .text {
		line-height: 2.33;
	}
	.hours .text {
		margin: 58px 0 0;
	}
	.phone a {
		background: url("img/icon_tel.svg") no-repeat 0 center / 31px auto;
		font-size: 40px;
		padding: 0 0 0 48px;
		margin: 0 0 38px;
	}
	.clinic .message .text {
		font-size: 28px;
	}
	.message .name {
		font-size: 24px;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	.clinic .sec {
		margin: 0 0 130px;
	}
	.page_sub_title {
		padding: 0 0 30px;
		margin: 0 0 60px;
	}
	.page_sub_title::after {
		width: 400px;
	}
	.page_sub_title p {
		font-size: 26px;
	}
	.page_sub_title span {
		font-size: 12px;
		margin: 15px 0 0;
	}
	.clinic .access {
		padding: 80px 0 0;
	}
	.access .map {
		border-radius: 40px;
		height: 500px;
		margin: 0 0 20px;
	}
	.access .map iframe {
		height: 800px;
		margin-top: -150px;
	}
	.access .map_link {
		margin: 0 0 40px;
	}
	.access .map_link a {
		font-size: 13px;
	}
	.detail_tbl dl {
		font-size: 16px;
	}
	.detail_tbl dl dt {
		padding: 30px 20px 30px 40px;
	}
	.detail_tbl dl:first-child dt {
		border-radius: 40px 0 0 0;
	}
	.detail_tbl dl:last-child dt {
		border-radius: 0 0 0 40px;
	}
	.detail_tbl dl dd {
		padding: 30px;
	}
	.detail_tbl dl:first-child dd {
		border-radius: 0 40px 0 0;
	}
	.detail_tbl dl:last-child dd {
		border-radius: 0 0 40px 0;
	}
	.detail_tbl2 dl {
		font-size: 16px;
	}
	.detail_tbl2 dl dt {
		padding: 30px 20px 30px 40px;
	}
	.detail_tbl2 dl:nth-child(2) dt {
		border-radius: 40px 0 0 0;
	}
	.detail_tbl2 dl:last-child dt {
		border-radius: 0 0 0 40px;
	}
	.detail_tbl2 dl dd {
		padding: 30px;
	}
	.detail_tbl2 dl:first-child dd:first-of-type {
		border-radius: 40px 0 0 0;
	}
	.detail_tbl2 dl:first-child dd:last-child {
		border-radius: 0 40px 0 0;
	}
	.detail_tbl2 dl:last-child dd:last-child {
		border-radius: 0 0 40px 0;
	}
	.clinic .text {
		line-height: 1.8;
	}
	.hours .text {
		margin: 40px 0 0;
	}
	.phone a {
		background: url("img/icon_tel.svg") no-repeat 0 center / 22px auto;
		font-size: 26px;
		padding: 0 0 0 32px;
		margin: 0 0 30px;
	}
	.clinic .message .text {
		font-size: 18px;
	}
	.message .name {
		font-size: 16px;
	}
}
@media ( min-width: 768px ){
	.detail_tbl dl {
		display: flex;
		align-items: stretch;
		align-self: stretch;
		line-height: 1.7;
	}
	.detail_tbl dl + dl {
		border-top: 1px solid var(--green);
	}
	.detail_tbl dl dt {
		flex: 0 0 clamp(210px, 22%, 440px);
		border-right: 1px solid var(--green);
		display: flex;
		align-items: center;
	}
	.detail_tbl dl dd {
		flex: 1 1 auto;
		display: flex;
		align-items: center;
	}
	.detail_tbl dl dd > * {
		width: 100%;
	}
	.detail_tbl2 dl {
		display: flex;
		align-items: stretch;
		align-self: stretch;
		line-height: 1.7;
	}
	.detail_tbl2 dl + dl {
		border-top: 1px solid var(--green);
	}
	.detail_tbl2 dl dt {
		flex: 0 0 clamp(210px, 22%, 440px);
		border-right: 1px solid var(--green);
		display: flex;
		align-items: center;
	}
	.detail_tbl2 dl dd {
		flex: 1 1 auto;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 50%;
	}
	.detail_tbl2 dl:first-child dt {
		background: var(--green);
	}
	.detail_tbl2 dl:first-child dd {
		background: var(--beige);
		color: var(--green);
	}
	.detail_tbl2 dl dd + dd {
		border-left: 1px solid var(--green);
	}
	.detail_tbl2 dl dd > * {
		width: 100%;
	}
}
@media ( max-width: 767px ){
	.clinic .sec {
		margin: 0 0 26.6667vw;
	}
	.page_sub_title {
		padding: 0 0 6vw;
		margin: 0 0 7.3333vw;
	}
	.page_sub_title::after {
		width: 57.3333vw;
	}
	.page_sub_title p {
		font-size: 6.4vw;
	}
	.page_sub_title span {
		font-size: 2.6667vw;
		margin: 3.7333vw 0 0;
	}
	.clinic .access {
		padding: 12vw 0 0;
	}
	.access .map {
		border-radius: 6vw;
		height: 88vw;
		margin: 0 0 3.3333vw;
	}
	.access .map iframe {
		height: 128vw;
		margin-top: -20vw;
	}
	.access .map_link {
		margin: 0 0 8vw;
	}
	.access .map_link a {
		font-size: 2.4vw;
	}	
	.detail_tbl dl {
		font-size: 3.4667vw;
		font-weight: 500;
		line-height: 1.46;
	}
	.detail_tbl dl dt {
		text-align: center;
		font-size: 3.4667vw;
		font-weight: 500;
		padding: 4vw;
	}
	.detail_tbl dl:first-child dt {
		border-radius: 6vw 6vw 0 0;
	}
	.detail_tbl dl dd {
		padding: 6.6667vw 4vw;
	}
	.detail_tbl dl:last-child dd {
		border-radius: 0 0 6vw 6vw;
	}
	ul.train li {
		margin: 0 0 0.5em;
	}
	ul.train li span {
		display: block;
		color: var(--green);
	}
	.clinic .text {
		font-size: 3.3333vw;
		line-height: 1.4;
	}
	.phone {
		text-align: center;
	}
	.phone a {
		padding: 6vw 0;
		font-size: 6.9333vw;
		margin: 0 0 6vw;
		border: 1px solid #fff;
		border-radius: 10vw;
		display: flex;
		justify-content: center;
	}
	.phone a span {
		display: inline-block;
		position: relative;
		padding: 0 11vw 0 9vw;
	}
	.phone a span::before,
	.phone a span::after {
		content: "";
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		pointer-events: none;
	}
	.phone a span::before {
		background: url("img/icon_tel.svg") no-repeat 0 center / contain;
		width: 6vw;
		height: 6vw;
		top: 52%;
		left: 0;
	}
	.phone a span::after {
		background: url("img/btn_arw02_sp.svg") no-repeat 0 center / contain;
		width: 3.7333vw;
		height: 4.2667vw;
		right: 0;
	}
	.payment .detail_tbl dl dd {
		padding: 4vw 2vw;
	}
	.payment .detail_tbl dl dd .img_box {
		margin: 0 auto;
	}
	.payment .detail_tbl dl:nth-child(1) dd .img_box {
		width: 67.8667vw;
	}
	.payment .detail_tbl dl:nth-child(2) dd .img_box {
		width: 83.6vw;
	}
	.payment .detail_tbl dl:nth-child(3) dd .img_box {
		width: 37.2vw;
	}
	.payment .detail_tbl dl:nth-child(4) dd .img_box {
		width: 9.2vw;
	}
	.clinic .message .text {
		padding: 4vw 0 0;
		font-size: 3.7333vw;
	}
	.message .name {
		font-size: 3.3333vw;
	}
	.detail_tbl2_sp dl {
		font-size: 3.4667vw;
		font-weight: 500;
		letter-spacing: 0.05em;
		color: var(--green);
		margin: 0 0 6vw;
	}
	.detail_tbl2_sp dl dt {
		background: var(--beige);
		padding: 4.2667vw 0;
		text-align: center;
		border-radius: 6vw 6vw 0 0;
	}
	.detail_tbl2_sp dl dd {
		display: flex;
		align-items: stretch;
		align-self: stretch;
		line-height: 1.46;
	}
	.detail_tbl2_sp dl dd:last-of-type {
		border-radius: 0 0 6vw 6vw;
		overflow: hidden;
	}
	.detail_tbl2_sp dl dd div {
		border-top: 0.2667vw solid var(--green);
		padding: 6.6667vw 5.3333vw;
		display: flex;
		align-items: center;
	}
	.detail_tbl2_sp dl dd .cat {
		background: #dcdcdc;
		flex: 0 0 34vw;
		box-sizing: border-box;
	}
	.detail_tbl2_sp dl dd .hour {
		background: #fff;
		flex: 1 1 auto;
	}
}
/* =recruit
-------------------------------------------------------------- */
.recruit .lead {
	line-height: 1.6;
}
.recruit .sec_in {
	text-align: left;
}
.recruit .sec_in .title {
	font-weight: 700;
}
.recruit .sec_in .recruit_tbl dt {
	background-color: rgba(255, 255, 255, 0.7);
	color: var(--green);
	font-weight: 700;
}
.recruit .sec_in .recruit_tbl dd dt {
	background: none;
	color: #fff;
}
.recruit .sec_in .recruit_tbl dd {
	line-height: 1.6;
}
.recruit .sec_in .btn.cta a {
	margin: 0 auto;
}
.recruit .sec_in .content {
	display: none;
}
.recruit .sec_in .content.show {
	display: block;
}
@media ( min-width: 768px ){
	.recruit .lead {
		font-size: 18px;
		margin-bottom: min(100px, calc(100 / var(--width) * 100vw));
	}
	.recruit .sec_in {
		max-width: min(1800px, calc(1800 / var(--width) * 100vw));
		margin: 0 auto;
	}
	.recruit .sec_in {
		margin-bottom: min(500px, calc(500 / var(--width) * 100vw));
	}
	.recruit .sec_in .title {
		font-size: 40px;
		padding: 0 0 30px;
		margin-bottom: 40px;
		border-bottom: 1px solid #fff;
	}
	.recruit .sec_in .recruit_tbl dt {
		font-size: 20px;
		padding: min(15px, calc(15 / var(--width) * 100vw)) min(30px, calc(30 / var(--width) * 100vw));
		margin-bottom: min(50px, calc(50 / var(--width) * 100vw));
	}
	.recruit .sec_in .recruit_tbl dd dt {
		font-size: 18px;
		padding: 0;
		margin-bottom: min(20px, calc(20 / var(--width) * 100vw));
	}
	.recruit .sec_in .recruit_tbl dd {
		font-size: 16px;
		margin-bottom: min(80px, calc(80 / var(--width) * 100vw));
	}
	.recruit .sec_in .recruit_tbl dd dd {
		margin-bottom: min(50px, calc(50 / var(--width) * 100vw));
	}
	.recruit .sec_in .recruit_tbl dd .note {
		font-size: 14px;
	}
}
@media ( max-width: 767px ){
	.recruit .lead {
		font-size: 4.2vw;
		margin-bottom: 8vw;
		text-align: left;
	}
	.recruit .sec_in .title {
		font-size: 6.9333vw;
		padding: 0 0 4vw;
		margin-bottom: 6vw;
		border-bottom: 1px solid #fff;
	}
	.recruit .sec_in .recruit_tbl dt {
		font-size: 4vw;
		padding: 2vw 3vw;
		margin-bottom: 4vw;
	}
	.recruit .sec_in .recruit_tbl dd dt {
		font-size: 3.6vw;
		padding: 0;
		margin-bottom: 2vw;
	}
	.recruit .sec_in .recruit_tbl dd {
		margin-bottom: 8vw;
	}
	.recruit .sec_in .recruit_tbl dd dd {
		margin-bottom: 6vw;
	}
	.recruit .sec_in .recruit_tbl dd .note {
		font-size: 2.8vw;
	}

}
/* =form
-------------------------------------------------------------- */
.recruit .faq_list_wrap,
.contact .faq_list_wrap {
	color: #000;
}
.recruit .faq_list_wrap .title,
.contact .faq_list_wrap .title {
	font-weight: 700;
	color: var(--green);
}
.recruit .faq_list_wrap .lead,
.contact .faq_list_wrap .lead {
	line-height: 1.6;
}
form {
	text-align: left;
}
form dt {
	color: var(--green);
	font-weight: 700;
}
form dl dd input:not([type="radio"], [type="file"]),
form dl dd textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 0.2em 0.5em;
	border-radius: 0.2em;
	border: 1px solid #888;
}
form dl dd label {
	margin-right: 1em;
}
input[type="radio"] {
  accent-color: var(--green);
}
form .required_box {
    color: #fff;
    font-weight: 300;
    line-height: 1.2;
    background: #B70000;
    line-height: 1;
}
.btn input[type="submit"] {
	margin: 0 auto;
	display: block;
	border: none;
	cursor: pointer;
}
form .error {
	color: #B70000;
	margin-top: 0.5em;
	font-size: 80%;
}
@media ( min-width: 768px ){
	.recruit .faq_list_wrap .lead,
	.contact .faq_list_wrap .lead {
		font-size: 16px;
		margin-bottom: min(100px, calc(100 / var(--width) * 100vw));
	}
	.recruit .faq_list_wrap .title,
	.contact .faq_list_wrap .title {
		font-size: 40px;
		margin-bottom: 40px;
	}
	form {
		width: min(1500px, calc(1500 / var(--width) * 100vw));
		margin: 0 auto;
		font-size: 18px;
	}
	form dl {
		display: flex;
		align-items: center;
		margin-bottom: min(30px, calc(30 / var(--width) * 100vw));
	}
	form dl dt {
		width: min(400px, calc(400 / var(--width) * 100vw));
	}
	form dl dd {
		width: calc(100% - min(400px, calc(400 / var(--width) * 100vw)));
	}
	form .required_box {
		font-size: 13px;
		margin-left: min(15px, calc(15 / var(--width) * 100vw));
		border-radius: 20px;
		padding: min(1px, calc(1 / var(--width) * 100vw)) min(15px, calc(15 / var(--width) * 100vw));
	}
	.btn:not(.header .btn) {
		margin-top: min(100px, calc(100 / var(--width) * 100vw));
	}
}
@media ( max-width: 767px ){
	.recruit .faq_list_wrap .lead,
	.contact .faq_list_wrap .lead {
		font-size: 4.2vw;
		margin-bottom: 8vw;
		text-align: left;
	}
	.recruit .faq_list_wrap .title,
	.contact .faq_list_wrap .title {
		font-size: 6.9333vw;
		margin-bottom: 6vw;
	}
	form {
		font-size: 3.8vw;
	}
	form dl {
		margin-bottom: 8vw;
	}
	form dl dt,
	form dl dd {
		width: 100%;
	}
	form dl dt {
		margin-bottom: 4vw;
		padding-bottom: 4vw;
		border-bottom: 1px solid var(--green);
	}
	form .required_box {
		font-size: 2.6vw;
		margin-left: 1vw;
		border-radius: 4vw;
		padding: 0.5vw 2vw;
	}
	.btn:not(.header .btn) {
		margin-top: 8vw;
	}
}

#form .smf-item__label__text {
	color: var(--green);
	font-weight: 700;
}
#form .smf-item:has([data-validations~="required"]) .smf-item__label__text::after {
	content: '必須';
    color: #fff;
    font-weight: 300;
    line-height: 1.2;
    background: #B70000;
    line-height: 1;
}
.en_content #form .smf-item:has([data-validations~="required"]) .smf-item__label__text::after {
	content: 'Required';
}
#form .smf-item__controls input:not([type="radio"], [type="file"]),
#form .smf-item__controls textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 0.2em 0.5em;
	border-radius: 0.2em;
	border: 1px solid #888;
}
#form .smf-item__controls input[type="radio"] {
	margin-top: 0.1em;
  accent-color: var(--green);
}
#form .smf-action button[type="submit"] {
	margin-inline: auto;
	display: block;
	border: none;
	cursor: pointer;
}
@media ( min-width: 768px ){
	#form .smf-item {
		display: flex;
		align-items: center;
		margin-bottom: min(30px, calc(30 / var(--width) * 100vw));
		padding: 0;
	}
	#form .smf-item__col--label {
		width: min(400px, calc(400 / var(--width) * 100vw));
	}
	#form .smf-item__col--controls {
		width: calc(100% - min(400px, calc(400 / var(--width) * 100vw)));
	}
	#form .smf-item:has([data-validations~="required"]) .smf-item__label__text::after {
		font-size: 13px;
		margin-left: min(15px, calc(15 / var(--width) * 100vw));
		border-radius: 20px;
		padding: min(1px, calc(1 / var(--width) * 100vw)) min(15px, calc(15 / var(--width) * 100vw));
	}
	.smf-form--simple-table+.smf-action {
		margin: min(100px, calc(100 / var(--width) * 100vw)) 0 0;
	}
}
@media ( max-width: 767px ){
	#form .smf-item {
		display: block;
		margin-bottom: 8vw;
		padding: 0;
	}
	#form .smf-item__col--label {
		margin-bottom: 4vw;
		padding-bottom: 4vw;
		border-bottom: 1px solid var(--green);
	}
	#form .smf-item:has([data-validations~="required"]) .smf-item__label__text::after {
		font-size: 2.6vw;
		margin-left: 1vw;
		border-radius: 4vw;
		padding: 0.5vw 2vw;
	}
}

/* =friend_cp
-------------------------------------------------------------- */
.article_body.friend_cp .parson01_wrap {
	background: #EEF7FA;
}
.article_body.friend_cp .parson02_wrap {
	background: #FFF2EC;
}
.article_body.friend_cp .parson01 {
	color: #43899B;
	font-weight: 700;
}
.article_body.friend_cp .parson02 {
	color: #D97855;
	font-weight: 700;
}
.article_body.friend_cp dl dl dt {
	margin-top: 0;
}
.article_body.friend_cp p.big {
	font-weight: 700;
	color: var(--pink);
}
.article_body.friend_cp dl dl ul li .text_box .step {
	background: #000;
	color: #fff;
	line-height: 1.6;
	font-weight: 700;
	display: inline-block;
}
@media ( min-width: 768px ){
	.article_body.friend_cp {
		margin-top: min(100px, calc(100 / var(--width) * 100vw));
	}
	.article_body.friend_cp p {
		font-size: 16px;
	}
	.article_body.friend_cp p.big {
		font-size: 20px;
	}
	.article_body.friend_cp dl dl p + ul.list {
		margin-top: max(-30px, calc(-30 / var(--width) * 100vw));
	} 
	.article_body.friend_cp dt {
		margin-top: min(100px, calc(100 / var(--width) * 100vw));
	}
	.article_body.friend_cp .note {
		font-size: 13px;
	}
	.article_body.friend_cp dl dl {
		margin-top: min(40px, calc(40 / var(--width) * 100vw));
		padding: min(40px, calc(40 / var(--width) * 100vw)) min(50px, calc(50 / var(--width) * 100vw)) min(50px, calc(50 / var(--width) * 100vw));
	}
	.article_body.friend_cp dl dl dt {
		font-size: 18px;
		margin-bottom: min(20px, calc(20 / var(--width) * 100vw));
	}
	.article_body.friend_cp dl dl ul li .img_box {
		max-width: 500px;
	}
	.article_body.friend_cp dl dl ul li .text_box .step {
		padding: 0 min(20px, calc(20 / var(--width) * 100vw));
		margin-bottom: min(30px, calc(30 / var(--width) * 100vw));
		font-size: 16px;
	}
	.article_body.friend_cp .flow ul li {
		margin-top: min(30px, calc(30 / var(--width) * 100vw));
	}
	.article_body.friend_cp .flow ul li + li {
		margin-top: min(80px, calc(80 / var(--width) * 100vw));
	}
	.article_body.friend_cp .flow {
		margin-bottom: min(80px, calc(80 / var(--width) * 100vw));
	}
}
@media ( max-width: 767px ){
	.article_body.friend_cp {
		margin-top: 8vw;
	}
	.article_body.friend_cp p.big {
		font-size: 4vw;
	}
	.article_body.friend_cp dt {
		margin-top: 8vw;
	}
	.article_body.friend_cp .note {
		font-size: 2.8vw;
	}
	.article_body.friend_cp dl dl {
		margin-top: 4vw;
		padding: 4vw ;
	}
	.article_body.friend_cp dl dl dt {
		font-size: 4vw;
		margin-bottom: 2vw;
	}
	.article_body.friend_cp dl dl ul li .text_box .step {
		padding: 0 2vw;
		margin-bottom: 2.5vw;
		font-size: 3vw;
	}
	.article_body.friend_cp .flow ul li {
		margin-top: 3vw;
	}
	.article_body.friend_cp .flow ul li + li {
		margin-top: 6vw;
	}
	.article_body.friend_cp .flow {
		margin-bottom: 8vw;
	}
}

/* =2周年
-------------------------------------------------------------- */
.treatment.ver2th .menu_list .price .discount .cat {
	color: var(--beige);
}
.treatment.ver2th .menu_list li:nth-child(even) .price .discount .cat {
	color: #fff;
}
.treatment.ver2th .option .menu_list .price .discount .cat {
	color: #000;
}
.treatment.ver2th .menu_list .price .discount .cat {
	position: relative;
	color: transparent;
}
.treatment.ver2th .menu_list .price .discount .cat::before {
	content: "2周年特別価格";
	position: absolute;
	left: 0;
	top: 0;
	color: var(--pink);
	white-space: nowrap;
}
.treatment.ver2th .option .menu_list .price .discount .cat::before {
	display: none;
}
.treatment.ver2th .menu_list .price .discount .off {
    background: var(--green);
}
.treatment.ver2th .menu_list .price .original .num {
	position: relative;
}
.treatment.ver2th .menu_list .price .original .num::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	height: 3px;
	transform: translateY(-50%);
	background: var(--pink);
}
@media ( min-width: 768px ){
	.treatment.ver2th .menu_list .price .discount .cat::before {
		right: 0;
		margin: auto;
	}
	.treatment.ver2th .menu_list .price .original .num::before {
		height: 3px;
		width: 100%;
	}
}
@media ( max-width: 767px ){
	.treatment.ver2th .menu_list .price .original .num::before {
		height: 3px;
		width: 100%;
	}
}
.recommended .detail dd .price .discount .off {
	background: var(--green);
}
.recommended .detail dd .price .discount .cat {
	position: relative;
	color: transparent;
}
.recommended .detail dd .price .discount .cat::before {
	content: "2周年特別価格";
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	top: 0;
	color: var(--pink);
	white-space: nowrap;
}
.bnr_area a:last-child {
	 pointer-events: none;
}