@charset "utf-8";
/*
Theme Name: uedahifuka 2
Theme URI: https://uedahifuka.com/
Version: 2.0
*/

/* common
---------------------------------------------------------------------------*/
:root {
	--color-text: #4F5451;
	--color-bg: #F2F3F0;
	--color-bg-green: #E9ECE4;
	--color-border: #D7DBCF;
	--color-border-dark: #A7A9A8;
	--color-border-brown: #A09087;
	--color-green: #006F38;
	--color-green-light: #75B491;
	--color-green-dark: #1D7651;
	--color-gold: #987D28;
	--color-gold-light: #B8AD8B;
	--color-gold-yellow: #CEA82E;
	--color-brown: #41210F;
	--color-blue: #5CC2CF;

	--gradient-green: linear-gradient(90deg, #007C3F 48.68%, #297358 86.23%), url(img/share/bg-pattern-noise.png);
	--gradient-green-color: linear-gradient(90deg, #007C3F 48.68%, #297358 86.23%);
	--gradient-green-light: linear-gradient(140deg, #EAEBE7 20%, #E1EDE2 100%), url(img/share/bg-pattern-noise.png);
	--line-dot-green: url(img/share/line-dot-green.svg) repeat-x left bottom;

	--font-gothic-l-jp: 'TazuganeGothicStdN-Book', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	--font-gothic-r-jp: 'TazuganeGothicStdN-Regular', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;

	--font-gothic-r-en: 'AvenirNextLTPro-Regular', sans-serif;
	--font-gothic-m-en: 'AvenirNextLTPro-Medium', sans-serif;
	--font-serif-r-en: 'OptimaLTPro-Roman', serif;
	
	--font-gothic-device: 'Noto Sans JP' '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;

	--easeInSine     : cubic-bezier(0.47, 0, 0.745, 0.715);
	--easeOutSine    : cubic-bezier(0.39, 0.575, 0.565, 1);
	--easeInOutSine  : cubic-bezier(0.445, 0.05, 0.55, 0.95);
	--easeInQuad     : cubic-bezier(0.55, 0.085, 0.68, 0.53);
	--easeOutQuad    : cubic-bezier(0.25, 0.46, 0.45, 0.94);
	--easeInOutQuad  : cubic-bezier(0.455, 0.03, 0.515, 0.955);
	--easeInCubic    : cubic-bezier(0.55, 0.055, 0.675, 0.19);
	--easeOutCubic   : cubic-bezier(0.215, 0.61, 0.355, 1);
	--easeInOutCubic : cubic-bezier(0.645, 0.045, 0.355, 1);
	--easeInQuart    : cubic-bezier(0.895, 0.03, 0.685, 0.22);
	--easeOutQuart   : cubic-bezier(0.165, 0.84, 0.44, 1);
	--easeInOutQuart : cubic-bezier(0.76, 0, 0.24, 1);
	--easeInQuint    : cubic-bezier(0.755, 0.05, 0.855, 0.06);
	--easeOutQuint   : cubic-bezier(0.23, 1, 0.32, 1);
	--easeInOutQuint : cubic-bezier(0.86, 0, 0.07, 1);
	--easeInExpo     : cubic-bezier(0.95, 0.05, 0.795, 0.035);
	--easeOutExpo    : cubic-bezier(0.19, 1, 0.22, 1);
	--easeInOutExpo  : cubic-bezier(1, 0, 0, 1);
	--easeInCirc     : cubic-bezier(0.6, 0.04, 0.98, 0.335);
	--easeOutCirc    : cubic-bezier(0.075, 0.82, 0.165, 1);
	--easeInOutCirc  : cubic-bezier(0.785, 0.135, 0.15, 0.86);
	--easeInBack     : cubic-bezier(0.6, -0.28, 0.735, 0.045);
	--easeOutBack    : cubic-bezier(0.175, 0.885, 0.32, 1.275);
	--easeInOutBack  : cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

body {
	overflow-y: scroll;
	background-color: var(--color-bg);
	color: var(--color-text);
	font-size: 14px;
	font-family: var(--font-gothic-l-jp);
	line-height: 1;
	font-feature-settings: 'palt' 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: none !important;
}

body.noscroll { position: fixed; width: 100%; }

::-moz-selection { background: #EBEBEB; color: var(--color-text); }
::selection { background: #EBEBEB; color: var(--color-text); }

p { font-size: 13px; line-height: 2; letter-spacing: 0.08em; margin-bottom: 1em; }
p:last-child { margin-bottom: 0 !important; }
address,i { font-style: normal; }
img { max-width: none; }
figure { position: relative; }
figure img { max-width: 100%; text-align: center; }

#paakContents figure figcaption {
	position: absolute;
	bottom: 8px;
	left: -2px;
	color: #FFFFFF;
	font-family: var(--font-gothic-m-en);
	font-size: 9px;
	letter-spacing: 0.08em;
	white-space: nowrap;
	z-index: 1;
	scale: 0.8;
}

.block { display: inline-block !important; }
.wide { display: none !important; }
.narrow { display: inline-block !important; }

/* #loading
------------------------------------*/
#loading {
	display: block;
	opacity: 1;
	position: fixed;
	top: 50%;
	left: 50%;
	border: 1px solid var(--color-bg);
	border-top-color: transparent;
	border-radius: 50%;
	width: 20px;
	height: 20px;
	margin: -10px 0 0 -10px;
	z-index: 99999;
	animation: spin .4s infinite linear;
}
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

/* link
------------------------------------*/
a { color: var(--color-text); text-decoration: none; -webkit-transform: translateZ(0); }

.line { display: inline-block; position: relative; padding-bottom: 1px; line-height: 1; }
.line:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: var(--color-text);
	width: 100%;
	height: 1px;
}

.link-txt,
.link-list li a,
.link-list li > span {
	color: var(--color-green);
	text-decoration: underline !important;
	text-underline-offset: 0.1em;
}

/* .btn
------------------------------------*/
.btn-link a,
.btn-link > span,
.btn-zerofull a,
.btn-link.size-l a,
.btn-link.size-ll a {
	display: inline-block;
	background: var(--gradient-green);
	border-radius: 100px;
	padding: 8px 17px 6px 19px;
	color: #FFFFFF;
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: 0.08em;
	text-align: center;
}

.btn-link.radius a,
.btn-link.radius > span {
	border-radius: 2px;
	padding-left: 13px;
	padding-right: 11px;
}

.btn-zerofull a { background: var(--color-blue); }

.btn-link.size-l a,
.btn-link.size-ll a,
#voiceContents .sec-lead .btn-link a {
	display: block;
	border-radius: 40px;
	padding-top: 16px;
	padding-bottom: 14px;
	font-size: 14px;
	letter-spacing: 0.12em;
}

.btn-link a i.arrow {
	display: inline-block;
	background: url(img/share/ico-arrow-line-white.svg) no-repeat left top;
	margin-left: 10px;
	width: 15px;
	height: 9px;
}

.btn-line a {
	display: inline-block;
	border: 1px solid var(--color-green);
	border-radius: 20px;
	padding: 8px 16px 6px 18px;
	color: var(--color-green);
	font-size: 12px;
	letter-spacing: 0.08em;
	text-align: center;
}

.nav-sp > .inner .btn-line-white a { border-color: var(--color-bg); }

.btn-color a,
.parts-media .btn-set a {
	display: block;
	background: var(--gradient-green);
	border-radius: 4px;
	padding: 24px 10px 22px 12px;
	color: #FFFFFF;
	font-size: 15px;
	letter-spacing: 0.12em;
	text-align: center;
}

.btn-color.radius a { border-radius: 100px; }

.btn-color.size-s a,
.parts-media .btn-set.size-s a {
	border-radius: 100px;
	padding: 16px 24px 14px 26px;
	font-size: 14px;
}

.btn-color a span {
	display: inline-block;
	position: relative;
	padding-right: 25px;
}

.btn-color a span:after {
	display: block;
	content: '';
	position: absolute;
	top: 3px;
	right: 0;
	background: url(img/share/ico-arrow-line-white.svg) no-repeat;
	width: 15px;
	height: 8px;
}

.btn-set > div { display: inline-block; margin: 0 4px 10px 0; }
.btn-set > div:nth-of-type(2):last-of-type { margin-right: 0; }

/* .dot-list
------------------------------------*/
.dot-list li {
	position: relative;
	margin: 0 0 8px 2px;
	padding-left: 16px;
	font-size: 13px;
	line-height: 1.9;
	letter-spacing: 0.08em;
	text-align: justify;
}

.dot-list li:last-of-type { margin-bottom: 0; }

.dot-list li:before {
	display: block;
	content: '';
	position: absolute;
	top: 9px;
	left: 3px;
	background-color: var(--color-text);
	border-radius: 50%;
	width: 4px;
	height: 4px;
}

/* .attention-list
------------------------------------*/
.attention-list li {
	position: relative;
	margin: 0 0 6px;
	padding-left: 14px;
	font-size: 12px;
	line-height: 1.7;
	letter-spacing: 0.08em;
}

.attention-list li:last-of-type { margin-bottom: 0; }
.attention-list li:before { display: block; content: '※'; position: absolute; top: 0; left: 0; }

/* i.plus
------------------------------------*/
i.plus {
	position: absolute;
	top: 22px;
	right: 10px;
	width: 9px;
	height: 9px;
	transition: .6s var(--easeOutQuint);
	transform: rotate(0deg);
}

.active i.plus { transform: rotate(225deg); }
i.plus:before,
i.plus:after { display: block; content: ''; position: absolute; background-color: var(--color-green); }
i.plus:before { top: 0; left: 4px; width: 1px; height: 100%; }
i.plus:after { top: 4px; left: 0; width: 100%; height: 1px; }

/* .btn-search
------------------------------------*/
.btn-search { position: fixed; top: 0; right: 62px; padding: 30px 10px 10px; z-index: 10001; }
.btn-search i { display: block; width: 22px; margin: 0 auto 7px; transform: translateX(-1px); }
.btn-search > span { text-align: center; }

body.zerofull-clinic .btn-search:not(.white) img,
body.zerofull-clinic .btn-nav:not(.white) { filter: saturate(0%) brightness(100%) contrast(100%); }

/* .btn-nav
------------------------------------*/
.btn-nav {
	position: fixed;
	top: 0;
	right: 0;
	width: 65px;
	height: 80px;
	padding-left: 8px;
	z-index: 10000;
}

.btn-nav div, .btn-nav div span { transition: all .15s; }

.btn-nav div {
	display: block;
	position: relative;
	width: 26px;
	height: 12px;
	margin: 35px 0 0 3px;
}

.btn-nav > span,
.btn-search > span { display: block; font-size: 0; }
.btn-nav > span { margin: 10px 0 0 1px; }

.btn-nav div span {
	position: absolute;
	left: 0;
	background-color: var(--color-green);
	width: 100%;
	height: 2px;
	-webkit-transform: translateZ(0);
}

.btn-nav.white:not(.active) div span { background-color: var(--color-bg); transition: none; }

.btn-nav div span:nth-of-type(1) { top: 0; }
.btn-nav div span:nth-of-type(2) { top: 5px; }
.btn-nav div span:nth-of-type(3) { bottom: 0; }

/* .btn-nav.active
------------------------------------*/
.btn-nav.active div span { background-color: #C8E4CD; backface-visibility: hidden; transform: translateZ(0); }
.btn-nav.active div span:nth-of-type(1) { transform: translateY(5px) rotate(-15deg); }
.btn-nav.active div span:nth-of-type(2) { animation: active-menu-bar02 .4s forwards; opacity: 0; }
.btn-nav.active div span:nth-of-type(3) { transform: translateY(-5px) rotate(15deg); }
@-webkit-keyframes active-menu-bar02 {100%{ height: 0; }}
@keyframes active-menu-bar02 {100%{ height: 0; }}

.btn-nav,
.btn-search { opacity: 0; }
.btn-nav span { backface-visibility: hidden; transform: translateZ(0); }
.btn-nav.white span img,
.btn-search.white img { filter: saturate(0%) brightness(600%) contrast(600%) !important; }
.btn-nav.active + .btn-search.white i img { opacity: 0.8; }

/* .nav-sp
------------------------------------*/
.nav-sp {
	position: fixed;
	top: 0;
	left: 0;
	background: var(--gradient-green);
	width: 100%;
	height: 100vh;
	height: 100dvh;
	z-index: 9999;
	display: none;
	opacity: 0;
}

.nav-sp > .inner { overflow-y: scroll; width: 100%; height: 100vh; height: 100dvh; }
.nav-sp .inner-s { position: relative; padding: 26px 22px 0; }
.nav-sp > .inner,
.nav-sp > .inner a,
.nav-sp footer * { color: var(--color-bg) !important; }
.nav-sp .logo-top { margin-bottom: 90px; }

.nav-sns { position: absolute; top: 24px; right: 115px; z-index: 1; }
.nav-sns .sns { margin-bottom: 0 !important; }
.nav-sns .sns .mnav { top: 45px; bottom: inherit; width: 244px; }
.nav-sns .sns .mnav > ul:before { top: -8px; transform: translateX(-50%) rotate(0deg) !important; }
.nav-sns .sns .mnav-wrap.active .mnav { top: 55px; bottom: inherit; }
.nav-sns .sns > li { display: none !important; }
.nav-sns .sns > li.mnav-wrap { display: block !important; }
.nav-sns .sns > li img { display: none !important; }

.sns .nav-ico,
.sns .btn-mnav > em { display: none !important; }

.nav-sns .sns .btn-mnav { text-align: center; }

.nav-sns .sns .btn-mnav > em {
	display: block !important;
	margin-top: 5px;
	font-family: var(--font-gothic-r-jp);
	font-size: 11px;
	text-align: center;
	white-space: nowrap;
}

.nav-sns .sns .btn-mnav > em img { display: block !important; width: 41px; }
.nav-sns .sns .nav-ico { display: inline-block !important; width: 21px; }

.nav-sp .btn-line-txt {
	margin: 0 0 33px 3px;
	font-size: 15px;
	letter-spacing: 0.12em;
	text-decoration: underline;
	text-decoration-color: rgba(255,255,255,0.8);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.4em;
	white-space: nowrap;
}

.nav-sp .btn-line-txt i {
	display: inline-block;
	margin-right: 9px;
	transform: translateY(3px);
}

.nav-sp .btn-line-txt i img { width: 22px; }

.nav-sp .gnav.btm { margin-top: 45px; }
.nav-sp .gnav-list { position: relative; }

.nav-sp .gnav-list:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background-color: var(--color-border);
	width: 100%;
	height: 1px;
	opacity: 0.4;
}

.nav-sp .gnav-list-parent,
.nav-sp .gnav-list a {
	display: block;
	position: relative;
	padding: 13px 0 21px 4px;
	font-family: var(--font-gothic-r-jp);
	font-size: 17px;
	letter-spacing: 0.1em;
}

.nav-sp .gnav-list > a {
	background: url(img/share/ico-arrow-line-white.svg) no-repeat right 8px top 16px / 15px auto;
}

.nav-sp .gnav-list:not(.mnav-wrap) > a,
.nav-sp .gnav-list:not(.mnav-wrap) .gnav-list-parent {
	font-size: 16px;
}

.nav-sp .gnav-list-parent img { display: none !important; }
.nav-sp .gnav-list-parent.btn-mnav i.plus { top: 15px; right: 11px; }
.nav-sp .gnav-list-parent.btn-mnav i.plus:before,
.nav-sp .gnav-list-parent.btn-mnav i.plus:after { background-color: var(--color-bg); }

.nav-sp .gnav-list-parent.not-mnav:after {
	display: block;
	content: '';
	position: absolute;
	top: 16px;
	right: 8px;
	background: url(img/share/ico-arrow-line-white.svg) no-repeat left top / 100% auto;
	width: 15px;
	height: 8px;
}

.nav-sp .mnav { display: none; padding: 0 5px 50px; }
.nav-sp .mnav ul { padding-top: 15px; }
.nav-sp .mnav li:not(:last-of-type) { margin-bottom: 14px; }

.nav-sp .mnav li a,
.nav-sp .mnav > ul > li > span {
	display: inline-block;
	position: relative;
	padding: 0 10px 10px 0;
	font-size: 13px;
	letter-spacing: 0.13em;
}

.nav-sp .mnav li a:after,
.nav-sp .mnav > ul > li > span:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 8px;
	left: 0;
	background-color: var(--color-bg);
	width: calc(100% - 10px);
	height: 1px;
	opacity: 0.5;
}

.nav-sp .mnav .flex { display: flex; justify-content: space-between; }
.nav-sp .mnav .flex:not(:last-of-type) { margin-bottom: 30px; }

.nav-sp .mnav .flex > strong {
	width: 80px;
	min-width: 80px;
	margin: 13px 25px 0 0;
	font-size: 12px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

#gnav-beauty .mnav-beauty-head,
#gnav-beauty .mnav-beauty-list { display: none !important; }

.nav-sp-treatment { padding-top: 50px; }

.nav-sp-treatment h2 {
	position: relative;
	margin-bottom: 18px;
	padding-left: 36px;
	font-size: 18px;
	letter-spacing: 0.1em;
}

.nav-sp-treatment h2:before {
	display: block;
	content: '';
	position: absolute;
	top: -5px;
	left: 2px;
	background: url(img/share/logo-face-white.svg) no-repeat left top / 100% auto;
	width: 25px;
	height: 25px;
}

.nav-sp-treatment p {
	margin: 0 0 28px 3px;
	font-size: 12px;
	line-height: 1.7;
	letter-spacing: 0.12em;
}

.nav-sp .nav-sp-treatment .mnav { padding-bottom: 45px; }
.nav-sp .nav-sp-treatment .mnav ul { width: 100%; padding: 15px 0 0; }
.nav-sp .nav-sp-treatment .mnav li:not(:last-of-type) { margin-bottom: 7px; }

.nav-sp .btn-line { margin-top: 15px; }

.nav-sp footer {
	background: url(img/share/bg-footer-nav.png) no-repeat right bottom;
	width: calc(100% + 44px);
	margin: 0 -22px !important;
	padding-top: 100px;
	opacity: 1 !important;
}

.sns li > a .green,
.sns li > span .green { display: none !important; }

.nav-sp footer img { filter: saturate(0%) brightness(600%) contrast(600%); }

/* .footer-inner .sns
------------------------------------*/
.footer-inner .sns li { position: relative; }

.footer-inner .sns .mnav {
	display: block !important;
	position: absolute;
	bottom: 40px;
	left: 50%;
	transform: translateX(-50%) !important;
	padding: 10px;
	transition: .2s var(--easeOutCubic) !important;
	white-space: nowrap;
	visibility: hidden;
	pointer-events: none;
	opacity: 0;
}

.footer-inner .sns .mnav-wrap.active .mnav {
	bottom: 50px;
	visibility: visible;
	pointer-events: auto;
	opacity: 1;
}

.footer-inner .sns .mnav > strong {
	position: absolute;
	top: 26px;
	left: 22px;
	padding: 0 0 0 31px;
	color: var(--color-green) !important;
	font-family: var(--font-gothic-m-en);
	font-size: 16px;
	letter-spacing: 0.08em;
	z-index: 1;
}

.footer-inner .sns .mnav > strong i {
	display: block;
	position: absolute;
	top: -3px;
	left: 0;
	background: url(img/share/logo-face.svg) no-repeat left top / 100% auto;
	width: 23px;
	height: 23px;
}

.footer-inner .sns .mnav > ul {
	position: relative;
	background-color: #FFFFFF;
	border-radius: 6px;
	box-shadow: 0 8px 8px rgba(0,0,0,0.05);
	padding: 70px 18px 10px;
	z-index: 0;
}

.footer-inner .sns .mnav > ul:before {
	display: block;
	content: '';
	position: absolute;
	bottom: -8px;
	left: 50%;
	transform: translateX(-50%) rotate(180deg);
	background-color: #FFFFFF;
	clip-path: polygon(50% 0, 0% 100%, 100% 100%);
	width: 16px;
	height: 8px;
}

.footer-inner .sns .mnav li { display: block; border-top: 1px solid var(--color-border); margin-bottom: 0 !important; }

.footer-inner .sns .mnav li > a {
	display: block;
	position: relative;
	padding: 10px 44px 16px 3px;
	color: var(--color-green) !important;
	font-family: var(--font-gothic-r-jp);
	font-size: 14px;
	letter-spacing: 0.08em;
	text-align: left;
}

.footer-inner .sns .mnav li > a:has(span.pr) { letter-spacing: 0.03em; }
.footer-inner .sns .mnav li > a span { color: var(--color-green) !important; font-size: 12px; letter-spacing: 0.05em; }
.footer-inner .sns .mnav > ul > li a span.pl { padding-left: 3px; }
.footer-inner .sns .mnav > ul > li a span.pr { padding-right: 7px; }

.footer-inner .sns .mnav li > a:after {
	display: block;
	content: '';
	position: absolute;
	top: 12px;
	right: 4px;
	left: inherit;
	background: url(img/share/ico-arrow-line-green.svg) no-repeat left top / 100% auto;
	width: 14px;
	height: 7px;
}

.nav-sp .footer-inner .sns li:has(.white) img { opacity: 0; }

.nav-sp .footer-inner .sns li img.white {
	display: block !important;
	position: absolute;
	top: 6px;
	left: 6px;
	filter: saturate(100%) brightness(110%) contrast(100%);
	opacity: 1;
}


/* #wrap
---------------------------------------------------------------------------*/
#wrap { overflow: hidden; background: var(--gradient-green); }


/* .attention-news
---------------------------------------------------------------------------*/
.attention-news {
	overflow: hidden;
	position: fixed;
	bottom: 0;
	left: 0;
	background: linear-gradient(90deg, #B0A37D 0%, #C5B689 100%);
	width: 100%;
	height: 0;
	padding: 0 0 0 37px;
	font-family: var(--font-gothic-device) !important;
	white-space: nowrap;
	z-index: 101;
}

body.recruit-doctor .attention-news,
body.recruit-information .attention-news,
body.column .attention-news { height: 0 !important; }

.attention-news .close {
	position: absolute;
	top: 0;
	left: 0;
	background-color: #B0A37E;
	padding: 9px 6px 9px 8px;
	z-index: 2;
}

.attention-news .close:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: -25px;
	background-image: linear-gradient(to right, rgba(176,163,126,1) 0%, rgba(176,163,126,0) 100%);
	width: 25px;
	height: 100%;
}

.attention-news .news-inner { box-sizing: border-box; display: block; height: 100%; }

.attention-news .news-inner,
.attention-news .news-inner p {
	color: #FFFFFF !important;
	font-size: 14px !important;
	line-height: 1 !important;
	letter-spacing: 0.08em !important;
}

.attention-news .inner { padding: 15px 0 14px; }
.attention-news .news-inner p { display: inline-block; margin: 0 !important; }
.attention-news .inner span { display: inline-block; padding-left: 15px; }
.attention-news .inner span time { padding-right: 10px; font-size: 13px; letter-spacing: 0.08em; }
.attention-news .inner strong { display: inline-block; box-shadow: inset 0 -7px 0 0 #FFF300; padding-bottom: 1px; }

.attention-news .inner i {
	display: inline-block;
	background: url(img/share/ico-arrow-bold.svg) no-repeat;
	background-size: 100% auto;
	width: 7px;
	height: 12px;
	margin-left: 8px;
	transform: translateY(1px);
}

.simply-scroll-clip { position: relative; overflow: hidden; }


/* header
---------------------------------------------------------------------------*/
header { position: relative; width: 100%; height: 165px; margin: 0; padding: 0; z-index: 0; }
body.paak header { position: absolute; top: 0; left: 0; height: 0; z-index: 10; }

header .logo { position: absolute; top: 26px; left: 22px; }
header .logo a { display: block; position: relative; }
header .logo img { width: 40px; }
header .logo span.white { filter: saturate(0%) brightness(280%); }

header .logo .green,
header .logo .type { display: block; position: absolute; top: 0; left: 0; opacity: 0; }

header .logo .type { display: none; }
body.top header .logo span.white { opacity: 0; }
body.top header .logo .type { display: block; margin-top: 5px; opacity: 1; }
body.recruit-information header .logo .type { top: 5px; }
header .logo .type img { width: 170px; }

body.recruit-doctor header .logo span.white,
body.recruit-information header .logo span.white { opacity: 0; }

body.recruit-doctor header .logo .type,
body.recruit-information header .logo .type { display: block; opacity: 1; }

header .gnav,
header .sns { display: none !important; }

.btn-reservation-fix {
	position: fixed;
	bottom: 18px;
	right: 16px;
	z-index: 101;
	-webkit-transform: perspective(0);
	opacity: 0;
}

body.recruit-doctor .btn-reservation-fix,
body.recruit-information .btn-reservation-fix { display: none !important; }

/* .mnav
------------------------------------*/
.bg-modal {
	display: none;
	position: absolute;
	top: 105px;
	left: 0;
	background: url(img/share/bg-pattern-noise.png), linear-gradient(88.45deg, #007C3F 48.68%, #297358 86.23%);
	width: 100%;
	height: 100%;
	z-index: 99;
	opacity: 0;
}

/* .modal-reservation
------------------------------------*/
.bg-modal.current { position: fixed; top: 0; height: 100vh; z-index: 10000; }

.modal-common {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100dvh;
	padding: 65px 0 90px;
	/*z-index: 104;*/
	z-index: 10001;
	opacity: 0;
	overflow-y: scroll;
}

.btn-close-reservation { position: fixed; bottom: 18px; right: 16px; z-index: 200; }

.modal-common-inner {
	background-color: #FFFFFF;
	border-radius: 4px;
	width: 93%;
	margin: 0 auto;
	padding: 45px 0 25px;
	text-align: justify;
	opacity: 0;
}

.modal-reservation .inner { padding-right: 30px; padding-left: 30px; }

.modal-reservation .inner:not(:last-of-type) {
	border-bottom: 1px solid var(--color-border);
	margin-bottom: 40px;
	padding-bottom: 30px;
}

.modal-reservation .inner h2 { position: relative; margin-bottom: 25px; }
.modal-reservation .inner h2 a { display: block; }

.modal-reservation .inner h2 span {
	display: block;
	position: absolute;
	top: -1px;
	right: 0;
	border: 1px solid var(--color-border-dark);
	padding: 3px 6px 2px 7px;
	font-size: 11px;
	line-height: 1.4;
	letter-spacing: 0.08em;
	text-align: center;
	white-space: nowrap;
}

.modal-reservation .inner.paak h2 span { border-color: var(--color-border-brown); color: var(--color-brown); }
.modal-reservation .inner dl { width: 100%; }
.modal-reservation .inner dl > div:not(:last-of-type) { margin-bottom: 20px; }

.modal-reservation .inner dt {
	position: relative;
	margin-bottom: 16px;
	padding: 14px 14px 12px;
	white-space: nowrap;
}

.modal-reservation .inner.zerofull dt { display: none; }

.modal-reservation .inner dt:after {
	display: block;
	content: '';
	background: url(img/share/bg-pattern-noise.png), linear-gradient(93.57deg, #D7D9D2 6.44%, #BADEC0 82.28%);
	border-radius: 3px;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	opacity: 0.3;
}

.modal-reservation .inner dt:empty:after { display: none; }

.modal-reservation .inner dt h3 {
	position: relative;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 15px;
	letter-spacing: 0.1em;
	z-index: 1;
}

.modal-reservation .inner dd {
	position: relative;
	width: 100%;
	padding: 5px 0 5px;
	font-family: var(--font-gothic-r-jp);
}

.link-list li a,
.link-list li > span {
	display: inline-block;
	background: url(img/share/ico-arrow-link.svg) no-repeat left top / 23px auto;
	padding: 6px 10px 10px 31px;
	font-size: 13px;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.modal-reservation .link-list li a { background-position: left top 1px; font-size: 14px; }

.modal-reservation .inner h4 {
	margin-bottom: 10px;
	margin-top: 22px;
	color: var(--color-green);
	font-size: 14px;
	letter-spacing: 0.08em;
}

.modal-reservation .inner p {
	font-size: 13px;
	line-height: 1.9;
	letter-spacing: 0.06em;
}

.modal-reservation .inner p a {
	text-decoration: underline;
	text-underline-offset: 0.1em;
}

.modal-reservation .inner p br { display: none; }
.modal-reservation .inner .link-list + .attention-list { margin: 8px 0 0 2px; }

.modal-reservation .inner .attention-list li {
	margin-bottom: 6px;
	font-size: 11px;
	line-height: 1.8;
	letter-spacing: 0.06em;
}

.modal-reservation .inner dd .qr { display: none; }
.modal-reservation .inner dd .qr img { display: block; margin-bottom: 12px; }

.modal-reservation .inner dd .qr span {
	display: block;
	font-size: 11px;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

/* .modal-line
------------------------------------*/
.modal-line .modal-line-inner {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) !important;
	width: 90%;
	border-radius: 20px;
	padding: 26px 27px 30px;
}

.modal-line .modal-line-inner h2 {
	margin-bottom: 28px;
	text-align: center;
}

.modal-line .modal-line-inner h2 i {
	display: inline-block;
	margin-right: 11px;
	transform: translateY(8px);
}

.modal-line .modal-line-inner h2 i img {
	width: 37px;
}

.modal-line .modal-line-inner h2 span {
	display: inline-block;
	position: relative;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 18px;
	letter-spacing: 0.12em;
	white-space: nowrap;
}

.modal-line .modal-line-inner h2 span:after {
	display: block;
	content: '';
	position: absolute;
	bottom: -4px;
	left: 0;
	background-color: var(--color-green);
	width: calc(100% - 3px);
	height: 1.5px;
}

.modal-line .modal-line-inner > p {
	font-size: 14px;
	line-height: 1.9;
	letter-spacing: 0.06em;
	text-align: justify;
}

.modal-line .modal-line-inner .btn-link + p { font-size: 12px; }
.modal-line .modal-line-inner > p br { display: none; }
.modal-line .modal-line-inner .btn-link { margin: 14px 0 18px; }

.modal-line .modal-line-inner .btn-link,
.modal-line .modal-line-inner .btn-link a { display: block !important; }

.modal-line .modal-line-inner .btn-link a {
	padding-top: 11px;
	padding-bottom: 10px;
	font-family: var(--font-gothic-r-jp);
	font-size: 15px;
}


/* footer
---------------------------------------------------------------------------*/
footer {
	position: relative;
	background: var(--color-bg) url(img/share/bg-footer.png) no-repeat right -190px bottom -20px / 520px auto;
	width: 100%;
	margin: 0;
	padding: 160px 30px 25px 35px;
	opacity: 0;
}

footer .footer-clinic { margin-bottom: 60px; }
footer .footer-clinic .inner { display: flex; margin: 0 0 30px -5px; }
footer .footer-clinic .logo { width: 100px; min-width: 100px; margin: 0 25px 0 0; text-align: center; }
footer .footer-clinic .paak .logo { transform: translateY(-4px); }
footer .footer-clinic .paak .logo img { width: 75px; transform: translateY(7px); }
footer .footer-clinic .zerofull .logo img { width: 100px; transform: translateY(0); }

footer .footer-clinic address {
	display: block;
	margin-bottom: 5px;
	font-family: var(--font-gothic-r-jp);
	font-size: 13px;
	line-height: 1.7;
	letter-spacing: 0.08em;
}

footer .footer-clinic address span {
	display: block;
	margin: 0 0 1px 1px;
	font-size: 11px;
	letter-spacing: 0.14em;
}

footer .footer-clinic address em {
	font-size: 12px;
}

footer .footer-clinic .link-list li a {
	background-position: left top 2px;
	background-size: 20px auto;
	padding-left: 27px;
	font-size: 13px;
}

.footer-inner .sns { margin: 0 0 28px; text-align: center; }
.footer-inner .sns li { display: inline-block; }

.footer-inner .sns li > a,
.footer-inner .sns li > span {
	display: inline-block;
	padding: 6px;
	backface-visibility: hidden;
	transform: translateZ(0);
}

.footer-inner .sns img { width: 30px; }
.footer-inner .sns img.white { display: none !important; }

footer .logo { margin: 0 0 40px -10px; text-align: center; }
footer .logo > img { display: inline-block; margin: 0 0 12px 16px; width: 128px; }
footer .logo a { will-change: transform, filter; backface-visibility: hidden; transform: translateZ(0); }
footer .logo a img { width: 220px; }

.footer-inner dl,
.footer-inner dl p {
	margin-bottom: 0;
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

.footer-inner dl { margin: 0 0 50px; }
.footer-inner dl > div { display: -webkit-box; display: flex; margin-bottom: 18px; }
.footer-inner dl > div:last-of-type { margin-bottom: 0; }

.footer-inner dt {
	width: 70px;
	min-width: 70px;
	color: var(--color-green);
	letter-spacing: 0.06em;
}

.footer-inner dl p.attention { margin-top: 6px; font-size: 11px; }
.footer-inner dd li { margin-bottom: 4px; }
.footer-inner dd li a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.1em; white-space: nowrap; }
.footer-inner dd li a span { padding-left: 1px; font-size: 11px; }
.footer-link { margin-bottom: 7px; }

.footer-link li a {
	display: inline-block;
	padding: 5px 5px 5px 0;
	font-size: 11px;
	letter-spacing: 0.08em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

.copyright {
	margin-left: 1px;
	color: var(--color-green);
	font-family: var(--font-gothic-m-en);
	font-size: 9px;
	letter-spacing: 0.11em;
	white-space: nowrap;
}

/* .fnav
------------------------------------*/
.fnav { display: none !important; }


/* contents
---------------------------------------------------------------------------*/
#mainContents {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	text-align: left;
}

.contents { position: relative; z-index: 1; opacity: 0; }

#paakContents { border-radius: 0; padding-top: 0; }
#doctorContents { position: static; }
#beauty-priceContents { z-index: inherit; }

.contents-inner {
	background-color: var(--color-bg);
	border-radius: 35px 35px 0 0;
	padding: 50px 0 0;
}

#paakContents .contents-inner { border-radius: 0; padding-top: 0; }
#beauty-priceContents .contents-inner + .contents-inner { border-radius: 0; padding-right: 0; padding-left: 0; }

/* .img-main
------------------------------------*/
.img-main { position: relative; }
.img-main img { width: 100%; }

/* .title-page
------------------------------------*/
.title-page {
	margin: 0 0 40px 35px;
	color: var(--color-bg);
	z-index: 1;
}

.title-page span {
	display: block;
	margin: 0 0 17px -1px;
	font-family: var(--font-gothic-r-en);
	font-size: 23px;
	letter-spacing: 0.1em;
}

.title-page > span i { padding: 0 2px 0 3px; }

.title-page h1,
.title-page h2 {
	font-size: 14px;
	letter-spacing: 0.2em;
}

.title-page h1 a,
.title-page h2 a {
	color: #FFFFFF;
}

.title-page h1 span,
.title-page h2 span {
	display: inline-block;
	padding-left: 4px;
	font-size: 11px;
	letter-spacing: 0.14em;
}

.title-page h1 span i,
.title-page h2 span i {
	padding: 0 1px;
}

/* .anchor-nav
------------------------------------*/
.anchor-nav { margin: 32px 0 -16px; }

.anchor-nav li {
	display: inline-block;
	position: relative;
	margin: 0 11px 11px 0;
}

.anchor-nav li a {
	display: block;
	position: relative;
	padding: 3px 5px 5px 24px;
	color: #FFFFFF;
	font-family: var(--font-gothic-r-jp);
	font-size: 13px;
	letter-spacing: 0.1em;
}

.anchor-nav li a:before {
	display: block;
	content: '';
	position: absolute;
	top: 1px;
	left: 0;
	background: url(img/share/ico-arrow-link-white.svg) no-repeat left top;
	width: 17px;
	height: 17px;
}

.anchor-nav li.current a:before {
	background-image: url(img/share/ico-arrow-link.svg);
	background-size: 20px auto;
	top: -1px;
	left: -1px;
	width: 20px;
	height: 20px;
}


/* .anchor-nav-txt
------------------------------------*/
.anchor-nav-txt {
	position: relative;
	z-index: 2;
}

.anchor-nav-txt ul {
	text-align: center;
}

.anchor-nav-txt li {
	position: relative;
	display: inline-block;
}

.anchor-nav-txt li:after {
	display: block;
	content: '/';
	position: absolute;
	top: -1px;
	right: -5px;
	font-size: 16px;
}

.anchor-nav-txt li:last-of-type:after { display: none; }

.anchor-nav-txt a {
	display: inline-block;
	padding: 0 11px;
	font-size: 13px;
	letter-spacing: 0.1em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
	white-space: nowrap;
}

/* .title-line
------------------------------------*/
.title-line {
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 17px;
	letter-spacing: 0.12em;
}

.title-line:not(:has(.line)) {
	/* text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em; */
}

.title-line .line:after {
	background-color: var(--color-green);
	display: none;
}

/* .sec-lead
------------------------------------*/
.sec-lead {
	margin-bottom: 45px;
	padding: 0 10%;
}

.sec-lead p,
.title-page-wrap p {
	margin-bottom: 10px;
	font-size: 14px;
	line-height: 2;
	letter-spacing: 0.06em;
	text-align: justify;
}

.sec-lead p.attention {
	margin-top: 16px;
	font-size: 12px;
	letter-spacing: 0.07em;
}

.sec-lead p:has(strong) { margin-top: 16px; }
.sec-lead p strong { color: var(--color-green); }
.sec-lead p br,
.title-page-wrap p br { display: none; }

.sec-lead .btn-link { margin: 20px 0 0 -3px; }

.sec-lead .pickup {
	position: relative;
	margin-bottom: 60px;
	padding-top: 8px;
	text-align: center;
}

.sec-lead .pickup:after {
	display: block;
	content: '';
	position: absolute;
	bottom: -28px;
	left: 50%;
	transform: translateX(-50%);
	background-color: var(--color-gold-light);
	width: 80px;
	height: 1px;
}

.sec-lead .pickup h2 {
	margin-bottom: 12px;
	color: var(--color-green);
	font-size: 20px;
	letter-spacing: 0.06em;
}

.sec-lead .pickup p {
	font-size: 12px;
	letter-spacing: 0.1em;
	text-align: center;
}

.sec-lead .pickup p.attention {
	margin-top: -9px;
	font-size: 11px;
}

/* .pickup-visit
------------------------------------*/
.treatment-recommend .pickup-visit {
	position: absolute;
	top: -20px;
	right: -20px;
	width: 142px;
	height: 142px;
	padding: 31px 3px 0 0;
	color: #FFFFFF;
	text-align: center;
	z-index: 2;
	opacity: 0;
}

.treatment-recommend .pickup-visit .visit-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}

.treatment-recommend .pickup-visit .visit-bg > div {
	position: absolute;
	top: -2px;
	left: -2px;
	box-sizing: border-box;
	mask-image: url(img/share/ico-circle-wave.svg);
	width: 142px;
	height: 142px;
	z-index: -1;
}

.treatment-recommend .pickup-visit .visit-bg > div > div {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(201.98deg, #CABD93 8.97%, #B0A37D 91.82%);
}

.treatment-recommend .pickup-visit.active .visit-bg > div {
	animation: visit-bg1 14s linear infinite;
}
.treatment-recommend .pickup-visit.active .visit-bg > div > div {
	animation: visit-bg2 14s linear infinite;
}

@keyframes visit-bg1 {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

@keyframes visit-bg2 {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(-360deg); }
}

.treatment-recommend .pickup-visit span {
	display: block;
	position: relative;
	letter-spacing: 0.06em;
	z-index: 1;
}

.treatment-recommend .pickup-visit span:nth-of-type(1) { font-size: 21px; }
.treatment-recommend .pickup-visit span:nth-of-type(2) { margin: 2px 0 7px; font-size: 18px; letter-spacing: 0; }

.treatment-recommend .pickup-visit span:nth-of-type(2) strong {
	display: inline-block;
	padding-right: 6px;
	font-family: var(--font-gothic-m-en);
	font-size: 32px;
	letter-spacing: -0.1em;
	transform: translateY(2px);
}

.treatment-recommend .pickup-visit span:nth-of-type(2) i {
	display: inline-block;
	font-size: 18px;
	transform: translate(-1px,-3px);
}

.treatment-recommend .pickup-visit span:nth-of-type(3) {
	font-size: 21px;
	transform: translateX(2px);
}

/* .table-common
------------------------------------*/
.table-common { width: 100%; }

.table-common,
.table-common p {
	font-size: 13px !important;
	line-height: 1.8 !important;
	letter-spacing: 0.06em !important;
	text-align: left !important;
	word-break: break-all;
}

.table-common tr { border-bottom: 1px solid var(--color-border); }

.table-common th,
.table-common td { padding: 15px 12px 12px 0; font-family: var(--font-gothic-r-jp);}

.table-common .th-head th { padding-top: 5px; padding-bottom: 13px; }
.table-common .th-head th:empty { padding-top: 0; padding-bottom: 0; }

.table-common th {
	max-width: 165px;
	min-width: 70px;
	padding-right: 16px;
	color: var(--color-green);
}

.table-common th br { display: none; }
.table-common td:last-of-type { padding-right: 5px; }
.table-common td:nth-child(2):last-child p { text-align: justify !important; }

.table-common td a {
	color: var(--color-green);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

/* .dl-line
------------------------------------*/
.dl-line > div {
	border-top: 1px solid var(--color-border);
	margin-bottom: 22px;
	padding-top: 7px;
}

.dl-line > div:last-of-type { margin-bottom: 0; }

.dl-line dt {
	margin-bottom: 10px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.dl-line dt br { display: none; }

.dl-line dd,
.dl-line dd p {
	font-size: 13px;
	line-height: 1.7;
	letter-spacing: 0.08em;
}

.dl-line dd { padding: 0 0 0 21px; }
.dl-line dd .link-list { padding-top: 8px; }
.dl-line dd .link-list li { margin-bottom: 0; }

.dl-line dd .link-list li a {
	padding-top: 0;
	padding-bottom: 8px;
	font-size: 14px;
}

/* .page-nav
------------------------------------*/
.page-nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.page-nav li {
	border-top: 1px solid var(--color-border);
	width: 46.5%;
	margin-bottom: 5px;
}

.page-nav li a {
	display: block;
	position: relative;
	padding: 11px 20px 16px 4px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 13px;
	letter-spacing: 0.12em;
}

.page-nav li a:after {
	display: block;
	content: '';
	position: absolute;
	top: 12px;
	right: 4px;
	background: url(img/share/ico-arrow-green-s.svg) no-repeat left top / 100% auto;
	width: 6px;
	height: 8px;
	transform: rotate(90deg);
}

/* .page-nav-btm
------------------------------------*/
.page-nav-btm { margin-top: 65px; }
.page-nav-btm li { margin-bottom: 3px; }
.page-nav-btm li:last-of-type { margin-bottom: 0; }
.page-nav-btm li:last-of-type:before { display: none; }

.page-nav-btm li a {
	display: block;
	position: relative;
	background: #FFFFFF;
	padding: 19px 0 16px 35px;
	white-space: nowrap;
}

.page-nav-btm li a:after {
	display: block;
	content: '';
	position: absolute;
	top: 20px;
	right: 24px;
	background: url(img/share/ico-arrow-line-green.svg);
	width: 15px;
	height: 8px;
}

.page-nav-btm li a strong {
	display: block;
	margin-bottom: 9px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 13px;
	letter-spacing: 0.12em;
}

.page-nav-btm li a em {
	display: block;
	color: var(--color-gold);
	font-family: var(--font-gothic-r-en);
	font-size: 11px;
	letter-spacing: 0.16em;
}

.page-nav-btm li.current a { background: var(--gradient-green); }
.page-nav-btm li.current a:after { background: url(img/share/ico-arrow-line-white.svg); }
.page-nav-btm li.current a strong { color: #FFFFFF; }
.page-nav-btm li.current a em { color: #DDD3B1; }

/* .beauty-list
------------------------------------*/
.beauty-list { margin-bottom: 1px; padding: 0 3.5%; }
.beauty-list:last-of-type { margin-bottom: 0; }

.beauty-list-title {
	position: relative;
	background: var(--gradient-green);
	border-radius: 3px;
	padding: 22px 20px 22px 25px;
	color: #FFFFFF;
	z-index: 1;
}

.beauty-list-title:has(i.plus) { padding: 22px 20px 20px 50px; }

.beauty-list-title.active {
	border-radius: 3px 3px 0 0;
	transition: .7s var(--easeOutQuint);
}

.beauty-list-title .plus {
	position: absolute;
	top: 28px;
	left: 22px;
	width: 9px;
	height: 9px;
	transition: .7s var(--easeOutQuint);
	transform: rotate(0deg);
}

.beauty-list-title.active .plus { transform: rotate(225deg); }

.beauty-list-title .plus:before,
.beauty-list-title .plus:after { display: block; content: ''; position: absolute; background-color: #FFFFFF; }
.beauty-list-title .plus:before { top: 0; left: 4px; width: 1px; height: 100%; }
.beauty-list-title .plus:after { top: 4px; left: 0; width: 100%; height: 1px; }

.beauty-list-title h2 strong {
	font-size: 17px;
	letter-spacing: 0.15em;
}

.beauty-list-title h2 em {
	display: block;
	margin: 10px 0 0 1px;
	color: #DDD3B1;
	font-family: var(--font-gothic-m-en);
	font-size: 12px;
	letter-spacing: 0.16em;
}

.beauty-list-title:has(i.plus) h2 em { display: none; }

.beauty-list-title p {
	margin-top: 12px;
	font-size: 12px;
	line-height: 1.8;
	letter-spacing: 0.12em;
	opacity: 0.8;
}

/* .beauty-list-inner
------------------------------------*/
.beauty-list-inner { position: relative; z-index: 0; }
.beauty-list-title:has(i.plus) + .beauty-list-inner { display: none; }

.beauty-list-inner > div {
	background-color: #FFFFFF;
	border-radius: 0 0 3px 3px;
	padding: 16px 26px 36px;
}

.beauty-list-inner article { border-bottom: 1px solid var(--color-border); }
.beauty-list-inner article figure,
.treatment-list-s article figure { display: none !important; }

.beauty-list-inner article a {
	display: block;
	background: url(img/share/ico-arrow-line-green.svg) no-repeat right 5px top 20px;
	padding: 13px 30px 12px 0;
}

#topContents .beauty-list-inner article a { background: none; padding-right: 0; }

.beauty-list-inner article h3 {
	margin-bottom: 3px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 15px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.beauty-list-inner article h3 span { margin-right: 5px; }
.beauty-list-inner article .label-trouble { display: none; }

#topContents .beauty-list-inner article .label-trouble {
	display: inline-block;
	background: var(--gradient-green);
	border-radius: 20px;
	margin-right: 4px;
	padding: 5px 6px 4px 8px;
	color: #FFFFFF;
	font-size: 10px;
	line-height: 1;
	letter-spacing: 0.06em;
	transform: translateY(-2px);
}

#topContents .beauty-list-inner article .label-trouble + .label-trouble { margin-left: -6px; }

.beauty-list-inner article .label {
	display: inline-block;
	background-color: #B0A37D;
	border-radius: 4px;
	margin: -4px 0 0;
	padding: 4px 5px 3px 6px;
	color: #FFFFFF;
	font-size: 10px;
	line-height: 1;
	letter-spacing: 0.06em;
	white-space: nowrap;
	transform: translateY(-2px);
}

/*.beauty-list-inner article .label.recommend { background: var(--gradient-green); }*/

.beauty-list-inner article p {
	font-size: 11px;
	line-height: 1.8;
	letter-spacing: 0.1em;
	opacity: 0.7;
}

.beauty-list-inner > div .btn-line { margin: 28px -2px 0; }

.beauty-list-inner > div .btn-line a {
	display: block;
	background: url(img/share/ico-arrow-green.svg) no-repeat right 17px top 17px;
	padding-top: 14px;
	padding-bottom: 12px;
	font-size: 13px;
	letter-spacing: 0.11em;
}

/* .treatment-list-s
------------------------------------*/
.treatment-list-s article { margin-bottom: 3px; }

.treatment-list-s article a {
	display: flex;
	flex-wrap: wrap;
	background: #FFFFFF;
	padding: 14px 60px 11px 32px;
	line-height: 1.6;
}

.treatment-list-s article.current a { background: var(--gradient-green); }

.treatment-list-s article a:after {
	display: block;
	content: '';
	position: absolute;
	top: 20px;
	right: 28px;
	background: url(img/share/ico-arrow-line-green.svg) no-repeat;
	width: 15px;
	height: 8px;
}

.treatment-list-s article.current a:after { background-image: url(img/share/ico-arrow-line-white.svg); }
.treatment-list-s article h3 { order: 2; width: 100%; margin-top: 4px; font-size: 11px; letter-spacing: 0.1em; }
.treatment-list-s article h3 .label,
.treatment-list-s article h3 .label-trouble { display: none; }

.treatment-list-s article p {
	order: 1;
	width: 100%;
	margin-bottom: 8px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.treatment-list-s article.current a,
.treatment-list-s article.current a p { color: #FFFFFF; }

.treatment-page-list .btn-color { margin: 1px 7% 0; }
.treatment-list-s + .btn-color { margin-top: 45px; }

/* .treatment-list-img
------------------------------------*/
.treatment-list-img { padding: 0 9.5%; }
.treatment-list-img article:not(:last-of-type) { margin-bottom: 50px; }
.treatment-list-img figure { margin-bottom: 20px; }
.treatment-list-img figure img { width: 100%; border-radius: 2px; }

.treatment-list-img h3 {
	position: relative;
	margin-bottom: 10px;
	padding: 0 0 0 20px;
	color: var(--color-green);
	font-size: 17px;
	line-height: 1.6;
	letter-spacing: 0.14em;
}

.treatment-list-img h3:before {
	display: block;
	content: '';
	position: absolute;
	top: 10px;
	left: 2px;
	background-color: var(--color-gold);
	border-radius: 50%;
	width: 6px;
	height: 6px;
}

.treatment-list-img p { text-align: justify; }
.treatment-list-img .btn-link { margin: 20px 0 0 -2px; }

/* .beauty-list + .btn-set
------------------------------------*/
.beauty-list + .btn-set { display: flex; justify-content: space-between; margin: 45px 3.5% 0; }
.beauty-list + .btn-set .btn-color { width: 48.5%; }
.beauty-list + .btn-set .btn-color a { display: block; border-radius: 100px; padding-top: 20px; padding-bottom: 18px; }

/* .dropdown-sp
------------------------------------*/
.dropdown-sp {
	display: none;
	position: absolute;
	top: 0;
	right: 0;
	background-color: #FFFFFF;
	box-shadow: 0px 9px 9px rgba(0,0,0,0.06);
	border-radius: 6px;
	min-width: 200px;
	padding: 30px 20px 6px;
	z-index: 10;
	opacity: 0;
}

.dropdown-sp li { border-top: 1px solid var(--color-border); }

.dropdown-sp li span {
	display: block;
	position: relative;
	padding: 11px 20px 18px 4px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 13px;
	letter-spacing: 0.1em;
}

.dropdown-sp li span:after {
	display: block;
	content: '';
	position: absolute;
	top: 12px;
	right: 4px;
	background: url(img/share/ico-arrow-green-s.svg) no-repeat left top / 100% auto;
	width: 6px;
	height: 9px;
	transform: rotate(90deg) scaleY(1.2);
}

/* .nav-modal-btn
------------------------------------*/
.nav-modal-btn {
	display: none;
	position: fixed;
	top: 84px;
	right: 24px;
	opacity: 0;
	z-index: 10;
}

.price-nav-modal-btn {
	top: 30px;
	left: 25px;
	right: inherit;
}

.nav-modal-btn .close {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	transition: .25s var(--easeOutQuart);
	transform: rotate(-60deg);
}

.nav-modal-btn.active .close { transform: rotate(0deg); opacity: 1; }


/* page news archive
---------------------------------------------------------------------------*/

/* .news-category
------------------------------------*/
.news-category {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 10px;
	width: 86%;
	margin: 0 auto 50px;
}

/* .selectbox-wrap
------------------------------------*/
.selectbox-wrap { position: relative; z-index: 2; }

.btn-selectbox {
	position: relative;
	background-color: #FBFAF9;
	border: 1px solid var(--color-border);
	border-radius: 5px;
	width: 100%;
	color: var(--color-green);
	padding: 16px 0 13px 13px;
	font-size: 14px;
	letter-spacing: 0.12em;
	white-space: nowrap;
}

.btn-selectbox:after {
	display: block;
	content: '';
	position: absolute;
	top: 9px;
	right: 32px;
	background-color: var(--color-border);
	width: 1px;
	height: 25px;
}

.btn-selectbox i {
	display: block;
	position: absolute;
	top: 19px;
	right: 12px;
	background: url(img/share/ico-arrow-down-gray.svg) no-repeat center center;
	width: 9px;
	height: 6px;
}

.btn-selectbox-dropdown {
	position: absolute;
	top: 35px;
	left: 0;
	min-width: 100%;
	visibility: hidden;
	pointer-events: none;
	opacity: 0;
	transition: .2s var(--easeOutCubic);
}

.selectbox-wrap.active .btn-selectbox-dropdown {
	top: 40px;
	padding-top: 15px;
	visibility: visible;
	pointer-events: auto;
	opacity: 1;
	transition: .3s var(--easeOutCubic);
}

.btn-selectbox-dropdown > div {
	position: relative;
	background-color: #FFFFFF;
	border-radius: 6px;
	box-shadow: 0px 9px 9px rgba(0,0,0,0.06);
	padding: 20px 12px 16px;
}

.btn-selectbox-dropdown > div:before {
	display: block;
	content: '';
	position: absolute;
	top: -5px;
	left: 66px;
	background-color: #FFFFFF;
	width: 17px;
	height: 5px;
	clip-path: polygon(50% 0, 0% 100%, 100% 100%);
}

.btn-selectbox-dropdown li a {
	display: block;
	padding: 7px 7px 8px;
	color: var(--color-green);
	font-size: 14px;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

/* .news-list
------------------------------------*/
.news-list {
	border-top: 1px solid var(--color-border);
	width: 86%;
	margin: 0 auto;
}

.news-list article {
	position: relative;
	border-bottom: 1px solid var(--color-border);
}

.news-list article:before,
.news-list article:last-of-type:after,
.top-post-list article:before,
.top-post-list article:last-of-type:after {
	display: block;
	content: '';
	position: absolute;
	top: -1px;
	left: 0;
	background: linear-gradient(90deg, #007C3F 47.34%, #297358 76.9%);
	width: 4px;
	height: 1px;
}

.news-list article:last-of-type:after,
.top-post-list article:last-of-type:after {
	top: inherit;
	bottom: -1px;
}

.news-list article a {
	display: block;
}

.news-list article a > div {
	display: flex;
	flex-wrap: wrap;
	background: url(img/share/ico-arrow-line-green.svg) no-repeat right 18px top 24px;
	width: 100%;
	padding: 18px 50px 17px 10px;
	line-height: 1.8;
}

.news-list article time {
	order: 2;
	width: 73px;
	min-width: 73px;
	color: var(--color-green);
	font-family: var(--font-gothic-m-en);
	font-size: 11px;
	letter-spacing: 0.06em;
	white-space: nowrap;
	transform: translateY(-1px);
}

.news-list article .category {
	order: 3;
	width: calc(100% - 73px);
	font-size: 10px;
	letter-spacing: 0.12em;
}

.news-list article .category span {
	display: inline-block;
	margin-right: 6px;
	white-space: nowrap;
}

.news-list article h2 {
	order: 1;
	width: 100%;
	margin-bottom: 4px;
	color: var(--color-green);
	font-size: 14px;
	line-height: 1.7;
	letter-spacing: 0.09em;
}

.news-list article .viewmore { display: none; }


/* page news single
---------------------------------------------------------------------------*/
.news-area { padding: 0 7%; }

/* .news-title
------------------------------------*/
.news-title { margin-bottom: 28px; }

.news-title time {
	display: inline-block;
	color: var(--color-green);
	font-family: var(--font-gothic-m-en);
	font-size: 12px;
	letter-spacing: 0.12em;
	transform: translateY(1px);
}

.news-title .post-categories {
	display: inline-block;
	margin-left: 11px;
	font-size: 11px;
	letter-spacing: 0.1em;
}

.news-title .post-categories li { display: inline-block; margin-right: 4px; }

.news-title h1 {
	padding-top: 14px;
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

/* .news-main
------------------------------------*/
.news-main, .news-main h2, .news-main p {
	font-size: 14px;
	line-height: 2;
	letter-spacing: 0.08em;
}

.news-main h2 {
	margin: 54px 0 18px;
	font-family: var(--font-gothic-r-jp);
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0.12em;
}

.news-main > h2:first-child { margin-top: 0; }

.news-main p {
	margin-bottom: 18px;
	text-align: justify;
	word-break: break-all;
}

.news-main p:last-child { margin-bottom: 0; }
.news-main a { text-decoration: underline; text-decoration-thickness: 1px; word-break: break-all; }
.news-main strong { font-weight: bold; }
.news-main em { font-style: italic; }
.news-main del { text-decoration: line-through; }

.news-main img {
	display: block;
	max-width: calc(100% + 0px);
	height: auto;
	margin: 25px 0 25px !important;
}

.news-main img + img { margin-top: -10px !important; }
.news-main .wp-caption { max-width: 100%; margin-bottom: 40px; }
.news-main .wp-caption-text { margin: -30px 0 0; font-size: 12px; }

.news-main .gallery > dl { width: 49.5% !important; margin-right: 1% !important; }
.news-main .gallery > dl:nth-child(even) { margin-right: 0 !important; }
.news-main .gallery a { pointer-events: none; }
.news-main .gallery img { border: none !important; width: 100% !important; margin: 0 !important; }

.news-main ul, .news-main ol { margin: 30px 0 30px; }
.news-main ul li { list-style: disc; margin: 0 0 6px 18px; }
.news-main ol li { list-style: decimal; margin: 0 0 6px 24px; }
.news-main ul li:last-of-type,
.news-main ol li:last-of-type { margin-bottom: 0; }

.news-main blockquote { background: #F5F5F5; margin: 40px 0; padding: 28px 36px; text-align: justify; }
.news-main blockquote p { font-size: 14px; line-height: 1.9; }

.post-main iframe { width: 100%; height: calc(85vw * 0.5625); }

/* .news-table
------------------------------------*/
.news-table { margin-top: 60px; }

.news-table h3 {
	margin: 45px 0 15px;
	font-family: var(--font-gothic-r-jp);
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.12em;
}

.news-table h3:first-child { margin-top: 0; }

.news-table table {
	width: calc(100% + 0px);
	margin: 0 0 35px;
	font-size: 13px;
	line-height: 1.8;
	letter-spacing: 0.08em;
}

.news-table tr:first-of-type { border-top: 1px solid var(--color-border); }
.news-table tr { border-bottom: 1px solid var(--color-border); }

.news-table th, .news-table td {
	padding-top: 13px;
	padding-bottom: 10px;
}

.news-table th {
	position: relative;
	padding-right: 22px;
	padding-left: 4px;
	text-align: left;
	vertical-align: top;
	white-space: nowrap;
}

.news-table td { width: 100%; padding-right: 4px; }
.news-table table.right td { text-align: right; }

.news-table-attention {
	margin-top: -22px;
	font-size: 11px;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

/* .post-link
------------------------------------*/
.post-link { margin-top: 35px; }
.post-link li { display: inline-block; margin: 0 6px 12px 0; }

/* .news-other
------------------------------------*/
.news-other,
.blog-other { margin: 90px auto 0; }
.news-other .btn-link,
.blog-other .btn-link { width: 88%; margin: 35px auto 0; }


/* blog archive
---------------------------------------------------------------------------*/

/* .blog-list
------------------------------------*/
.blog-list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px 22px;
	padding: 0 7%;
}

.blog-list article a { display: block; }
.blog-list article figure { overflow: hidden; margin-bottom: 10px; }

.blog-list article time,
.blog-list article .category {
	display: inline-block;
	margin-top: 6px;
	font-size: 11px;
	letter-spacing: 0.06em;
}

.blog-list article time { position: relative; margin-right: 9px; color: var(--color-green); }

.blog-list article time:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: -7px;
	background-color: var(--color-border);
	width: 1px;
	height: 10px;
}

.blog-list article .category span { display: inline-block; white-space: nowrap; }

.blog-list article h3 {
	padding-top: 6px;
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0.04em;
}


/* .wp-pagenavi
---------------------------------------------------------------------------*/
.wp-pagenavi {
	overflow: hidden;
	margin: 40px 0 0;
	padding: 5px 0;
	color: var(--color-green);
	font-family: var(--font-gothic-m-en);
	font-size: 14px;
	text-align: center;
}

.wp-pagenavi .extend { margin: 0 10px; }
.wp-pagenavi a,
.wp-pagenavi .current { margin: 0 4px; padding: 10px 6px; color: var(--color-green); }

.wp-pagenavi .current {
	display: inline-block;
	position: relative;
	margin: 0 4px;
	padding-right: 10px;
	padding-left: 10px;
	color: #FFFFFF;
	z-index: 1;
}

.wp-pagenavi .current:after {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	background-color: var(--color-green);
	border-radius: 50%;
	width: 30px;
	height: 30px;
	z-index: -1;
}

.wp-pagenavi a.first,
.wp-pagenavi a.last { display: none; }

.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
	padding-right: 4px;
	padding-left: 4px;
	font-size: 14px;
	letter-spacing: 0.06em;
}


/* page top
---------------------------------------------------------------------------*/
body.top header { height: 105px; margin-bottom: 0; }
body.top .wrap { background-color: var(--color-bg); transition: .6s ease-out; }
#topContents { overflow: hidden; }

/* .top-bnr
------------------------------------*/
.top-bnr { position: relative; overflow: hidden; width: 100%; margin-bottom: 45px; }
.slider-top-bnr { display: flex; padding-bottom: 60px; }
.slider-top-bnr .inner { width: 68vw !important; height: 68vw !important; margin: 0 12px; }
.slider-top-bnr .inner a { display: block; width: 100%; height: 100%; }
.slider-top-bnr .inner img { width: 100%; }

.slider-top-bnr .slick-arrow {
	position: absolute;
	bottom: 0;
	background: url(img/share/ico-arrow-green.svg) no-repeat center center;
	width: 50px;
	height: 50px;
	text-indent: -9999px;
	z-index: 2;
	transition: .15s ease-out;
}

.slider-top-bnr .slick-prev { left: calc(50% - 45px); transform: scaleX(-1); }
.slider-top-bnr .slick-next { right: calc(50% - 45px); }

.slider-top-bnr .slick-dots {
	display: inline-block;
	position: absolute;
	bottom: 13px;
	left: 50%;
	transform: translateX(-50%);
	text-align: center;
	white-space: nowrap;
	z-index: 0;
}

.slider-top-bnr .slick-dots li {
	display: inline-block;
	position: relative;
	width: 22px;
	height: 24px;
}

.slider-top-bnr .slick-dots li:first-of-type:last-of-type { opacity: 0 !important; }

.slider-top-bnr .slick-dots button {
	position: relative;
	width: 100%;
	height: 100%;
	text-indent: -9999px;
	transition: .3s ease-out;
}

.slider-top-bnr .slick-dots button:after {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	background: #D9D9D9;
	border-radius: 50%;
	width: 6px;
	height: 6px;
}

.slider-top-bnr .slick-dots .slick-active button:after {
	background: var(--color-green);
}

/* .bnr-campaign
------------------------------------*/
.bnr-campaign a { display: block; position: relative; width: 100%; height: 100%; color: #FFFFFF; }
.bnr-campaign a > span { display: block; position: absolute; z-index: 2; }

.bnr-campaign .campaign-title {
	top: 21.5%;
	left: 7%;
	width: 86%;
	font-size: 5.5vw;
	line-height: 1.4;
	letter-spacing: 0.04em;
}

.bnr-campaign .campaign-date {
	bottom: 6%;
	left: 6%;
	font-family: var(--font-gothic-m-en);
	font-size: 3vw;
	letter-spacing: 0.01em;
}

.bnr-campaign .campaign-date i { display: inline-block; margin: 0 0 0 0.8vw; transform: translateY(0.3vw); }
.bnr-campaign .campaign-date i img { width: 3vw; height: auto; }

/* .top-lead
------------------------------------*/
.top-lead { position: relative; margin: 0 auto 95px; }
.top-lead .copy-en { display: none; }

.top-lead h2,
.top-lead h3,
.top-lead p,
.top-lead .name { padding: 0 10%; }

.top-lead h2 { margin: 44px 0 32px; }

.top-lead p {
	margin-bottom: 14px;
	line-height: 2.15;
	letter-spacing: 0.12em;
	white-space: nowrap;
}

.top-lead h3 {
	margin: 26px 0 18px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 16px;
	line-height: 1.9;
	letter-spacing: 0.24em;
}

.top-lead .name { color: var(--color-green); }
.top-lead .name em img { width: 140px; }

.top-lead .name strong {
	display: inline-block;
	margin-left: 16px;
	font-size: 12px;
	letter-spacing: 0.16em;
	transform: translateY(-2px);
}

.top-lead .img1 { display: block; width: 100%; }
.top-lead .img2 { display: none; }


/* .top-case
------------------------------------*/
.top-case {
	position: relative;
	background: url(img/share/bg-gradation_sp.jpg) no-repeat left bottom / cover;
	border-radius: 8px;
	width: 88%;
	margin: 0 auto 65px;
	padding: 0 20px 10px;
}

.top-case h2 {
	margin-bottom: 11px;
	color: #3E2A1E;
	font-family: var(--font-gothic-r-jp);
	font-size: 17px;
	letter-spacing: 0.24em;
	text-align: center;
	transform: translateY(-7px);
}

.top-case .copy-en {
	color: var(--color-green);
	font-family: var(--font-gothic-m-en);
	font-size: 13px;
	letter-spacing: 0.13em;
	text-align: center;
}

.top-case .inner { margin-bottom: -5px; padding: 60px 16px 50px; }
.top-case .inner-other { padding-bottom: 40px; }
.top-case .inner:not(:last-child) { border-bottom: 2px solid #FFFFFF; }

.top-case .inner h3 {
	margin: 0 0 18px -2px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 17px;
	letter-spacing: 0.24em;
}

.top-case .inner h3 + p {
	margin: 0;
	font-family: var(--font-gothic-r-jp);
	letter-spacing: 0.16em;
	transform: translateY(-2px);
}

.top-case .inner > div .ul-wrap { margin-top: 20px; }
.top-case .inner > div li { margin-bottom: 2px; }
.top-case .inner-beauty > div li { margin-bottom: 0; }

.top-case .inner > div li a {
	display: inline-block;
	background: url(img/share/ico-arrow-line-green.svg) no-repeat left 0 top 10px;
	padding: 2px 10px 4px 28px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: 0.12em;
	white-space: nowrap;
}

.top-case .inner nav { margin-top: 30px; }
.top-case .inner nav li { margin-top: 8px; }
.top-case .inner-beauty nav li { margin-top: 10px; }

.top-case .inner nav li a {
	display: block;
	padding-top: 13px;
	padding-bottom: 11px;
	letter-spacing: 0.22em;
}

/* .top-beauty
------------------------------------*/
.top-beauty {
	background-color: #FFFFFF;
	border-radius: 22px;
	margin: 0 auto 80px;
	padding-bottom: 36px;
}

.top-beauty-lead { position: relative; padding: 72px 10% 45px; }

/* .top-beauty-lead .pickup-visit
------------------------------------*/
.top-beauty-lead .pickup-visit {
	position: absolute;
	top: 20px;
	right: 20px;
	width: 96px;
	height: 96px;
	padding: 21px 3px 0 0;
	color: #FFFFFF;
	text-align: center;
	z-index: 2;
}

.top-beauty-lead .pickup-visit .visit-bg {
	position: absolute;
	top: -2px;
	left: -2px;
	box-sizing: border-box;
	mask-image: url(img/share/ico-circle-wave.svg);
	mask-size: 100% auto;
	width: 96px;
	height: 96px;
	z-index: -1;
	animation: visit-bg1 14s linear infinite;
}

.top-beauty-lead .pickup-visit .visit-bg div {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(201.98deg, #CABD93 8.97%, #B0A37D 91.82%);
	animation: visit-bg2 14s linear infinite;
}

@keyframes visit-bg1 {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

@keyframes visit-bg2 {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(-360deg); }
}

.top-beauty-lead .pickup-visit span { display: block; letter-spacing: 0.06em; }
.top-beauty-lead .pickup-visit span:nth-of-type(1) { font-size: 14px; }
.top-beauty-lead .pickup-visit span:nth-of-type(2) { margin: 2px 0 7px; font-size: 12px; letter-spacing: 0; }

.top-beauty-lead .pickup-visit span:nth-of-type(2) strong {
	display: inline-block;
	padding-right: 3px;
	font-family: var(--font-gothic-m-en);
	font-size: 19px;
	letter-spacing: -0.05em;
	transform: translateY(1px);
}

.top-beauty-lead .pickup-visit span:nth-of-type(2) i {
	display: inline-block;
	font-size: 18px;
	transform: translate(-1px,-3px);
}

.top-beauty-lead .pickup-visit span:nth-of-type(3) {
	font-size: 14px;
	transform: translateX(2px);
}

.top-beauty-lead .title {
	position: relative;
	margin-bottom: 16px;
	font-family: var(--font-gothic-r-jp);
}

.top-beauty-lead .title em {
	display: block;
	margin-bottom: 11px;
	color: var(--color-gold);
	font-size: 11px;
	line-height: 2;
	letter-spacing: 0.22em;
}

.top-beauty-lead .title strong {
	display: block;
	color: var(--color-green);
	font-size: 17px;
	line-height: 1.75;
	letter-spacing: 0.2em;
}

.top-beauty-lead .title .size-s {
	display: block;
	position: absolute;
	bottom: 9px;
	right: 0;
	font-size: 10px;
	letter-spacing: 0.1em;
}

.top-beauty-lead p { line-height: 2.1; letter-spacing: 0.06em; text-align: justify; }
.top-beauty-lead p br { display: none; }

.top-beauty-machine {
	overflow: hidden;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	margin-bottom: 35px;
}

.beauty-machine-scroll { display: flex; padding-bottom: 10px; }
.beauty-machine-scroll.pc { display: none !important; }
.beauty-machine-scroll .inner { width: 87px !important; margin: 0 9px 0 0 !important; }
.beauty-machine-scroll .inner img { width: 100%; }
.top-beauty-list .beauty-list-inner { margin-bottom: 35px; padding: 0 35px; }

.top-beauty-list .btn-link {
	background-color: var(--color-green);
	border-radius: 100px;
	width: 86%;
	margin: 0 auto;
}

/* .top-clinic
------------------------------------*/
.top-clinic { margin: 0 auto 60px; }
.top-clinic .map { overflow: hidden; position: relative; width: 90%; height: 400px; margin: 0 auto 45px; border: 2px solid #fff; }
.top-clinic .map #gmap-clinic { width: 100%; height: 100%; }
.top-clinic .clinic .inner { background-color: #FFFFFF; border-radius: 2px; padding: 36px 24px 24px; }
.top-clinic .clinic .inner:not(:last-of-type) { margin-bottom: 25px; }

.top-clinic .clinic h2 {
	margin-bottom: 25px;
	color: var(--color-green);
	font-size: 16px;
	letter-spacing: 0.12em;
	text-align: center;
}

.top-clinic .clinic h2 span {
	display: block;
	padding-top: 10px;
	font-size: 13px;
	letter-spacing: 0.08em;
}

.top-clinic .clinic figure { margin-bottom: 25px; }
.top-clinic .clinic .txt { display: flex; }
.top-clinic .clinic .txt > div { padding: 0 0 0 18px; }
.top-clinic .clinic .paak .logo img { width: 70px; }
.top-clinic .clinic .zerofull .logo { margin-right: 5px; }
.top-clinic .clinic .zerofull .logo img { width: 80px; }

.top-clinic .clinic address {
	display: block;
	margin-bottom: 8px;
	font-family: var(--font-gothic-r-jp);
	font-size: 14px;
	line-height: 1.7;
	letter-spacing: 0.08em;
}

.top-clinic .clinic address span {
	display: block;
	margin: 0 0 1px 1px;
	font-size: 10px;
	letter-spacing: 0.14em;
}

.top-clinic .clinic address em {
	font-size: 12px;
}

.top-clinic .clinic .link-list li a {
	background-position: left top 1px;
	background-size: 21px auto;
	padding-left: 28px;
	letter-spacing: 0.08em;
}

/* .top-visit
------------------------------------*/
#top-visit {
	margin-top: -1px;
	padding-top: 1px;
}

.top-visit {
	background: var(--gradient-green-light);
	border-radius: 5px;
	width: 90%;
	margin: 45px auto 0;
	padding: 38px 26px 30px;
}

.top-visit h2 {
	margin-bottom: 22px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 15px;
	letter-spacing: 0.18em;
}

.top-visit .dot-list-color > li {
	position: relative;
	margin-bottom: 12px;
	padding-left: 19px;
}

.top-visit .dot-list-color > li:before {
	display: block;
	content: '';
	position: absolute;
	top: 8px;
	left: 3px;
	background-color: var(--color-gold-yellow);
	border-radius: 50%;
	width: 5px;
	height: 5px;
}

.top-visit .dot-list-color > li > p {
	line-height: 1.8;
	letter-spacing: 0.03em;
	text-align: justify;
}

.top-visit .dot-list-color > li > p br {
	display: none;
}

.top-visit .dot-list-color > li > p strong {
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
}

.top-visit .dot-list {
	margin-top: -2px;
	margin-left: -1px;
}

.top-visit .dot-list li {
	margin-bottom: 4px;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

.top-visit .dot-list li:before {
	top: 7px;
}

.top-visit .box {
	position: relative;
	background: url(img/share/ico-attention.svg) no-repeat left 21px top 21px / 21px auto;
	background-color: #FFFFFF;
	border-radius: 3px;
	margin-top: 30px;
	padding: 22px 24px 16px 54px;
}

.top-visit .box p {
	line-height: 1.8;
	letter-spacing: 0.06em;
	text-align: justify;
}

.top-visit .box p br {
	display: none;
}

.top-visit .box .link-list {
	margin: 0 0 0 -5px;
}

.top-visit .box .link-list li {
	margin-bottom: 0;
	font-family: var(--font-gothic-r-jp);
}

.top-visit .box .link-list li a {
	background-position: left top 1px;
	background-size: 21px auto;
	padding-left: 29px;
	letter-spacing: 0.04em;
}

/* .top-news
------------------------------------*/
.top-news-wrap {
	position: relative;
	overflow: hidden;
	width: 100vw;
	margin: 0 0 90px;
	opacity: 0;
}

.top-news-wrap .slick-arrow {
	position: absolute;
	top: 0;
	height: 100%;
	text-indent: -9999px;
	z-index: 10;
	/*background: rgba(0,0,0,0.5);*/
}

.top-news-wrap .slick-prev { left: 0; width: 6vw; }
.top-news-wrap .slick-next { right: 0; width: 11vw; }

.top-news-wrap section {
	position: relative;
	width: 86vw !important;
	padding: 0 4vw;
	transform: translateX(-4vw) !important;
	opacity: 0;
}

.top-news-wrap section.slick-current {
	opacity: 1;
}

.top-news-wrap section > h2 {
	margin: 0 0 20px;
}

.top-news-wrap section > h2 em {
	margin-bottom: 8px;
	color: var(--color-green);
	font-family: var(--font-gothic-m-en);
	font-size: 18px;
	letter-spacing: 0.06em;
}

.top-news-wrap section > h2 strong {
	padding-left: 8px;
	font-size: 12px;
	letter-spacing: 0.15em;
}

.top-news-wrap section .link-arrow {
	position: absolute;
	top: 2px;
	right: calc(4vw - 5px);
}

.top-news-wrap section .link-arrow a {
	display: inline-block;
	position: relative;
	padding: 5px 5px 5px;
	color: var(--color-green);
	font-size: 13px;
	letter-spacing: 0.1em;
}

.top-news-wrap section .link-arrow a i.arrow {
	display: inline-block;
	background: url(img/share/ico-arrow-line-green.svg) no-repeat left top;
	margin-right: 6px;
	width: 15px;
	height: 9px;
}

.top-post-list article {
	position: relative;
	border-top: 1px solid var(--color-border);
	height: 102px;
}

.top-post-list article:last-of-type {
	border-bottom: 1px solid var(--color-border);
}

.top-post-list article a {
	display: flex;
	align-items: center;
	height: 100%;
	padding: 16px 8px 16px 8px;
}

.top-post-list article a:has(figure) {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.top-post-list article figure {
	align-self: flex-start;
	width: 60px;
	min-width: 60px;
	margin-right: 20px;
}

.top-post-list article a > div {
	display: flex;
	flex-wrap: wrap;
}

.top-blog .top-post-list article a > div {
	align-self: flex-start;
}

.top-post-list article a > div > div {
	order: 2;
}

.top-post-list article time,
.top-post-list article .category {
	display: inline-block;
	font-size: 11px;
	letter-spacing: 0.08em;
}

.top-post-list article time { position: relative; margin-right: 12px; color: var(--color-green); }

.top-post-list article time:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: -8px;
	background-color: var(--color-border);
	width: 1px;
	height: 11px;
}

.top-post-list article .category span { display: inline-block; margin-right: 6px; white-space: nowrap; }

.top-post-list article h2,
.top-post-list article h3 {
	order: 1;
	margin-bottom: 7px;
	font-size: 14px;
	line-height: 1.65;
	letter-spacing: 0.05em;
	text-align: justify;
}

/* .top-bnr-sub
------------------------------------*/
.top-bnr-sub img { width: 100%; }

.top-bnr-sub .column4 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px 10px;
	margin-bottom: 45px;
	padding: 0 4%;
}

.top-bnr-sub .column3 {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px 0;
	margin-bottom: 55px;
	padding: 0 18%;
}

.top-bnr-sub .column2 { padding: 0 6%; }
.top-bnr-sub .column2 li:not(:last-of-type) { margin-bottom: 20px; }


/* page paak
---------------------------------------------------------------------------*/
#paakContents { overflow: hidden; }
#paakContents .img-main { margin-bottom: 30px; }
#paakContents .img-main figure img { width: 130%; max-width: 130%; margin-left: -15%; }
#paakContents .img-main h1 { display: none; }

/* .paak-concept
------------------------------------*/
.paak-concept { margin: 0 auto 60px; padding: 0 8%; }
.paak-concept-inner { position: relative; }
.paak-concept .logo-face { display: none; }

.paak-concept h2 {
	margin: 0 -5px 60px 0;
	text-align: right;
}

.paak-concept h2 em {
	display: block;
	margin-bottom: 16px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-en);
	font-size: 20px;
	letter-spacing: 0.06em;
}

.paak-concept h2 strong {
	display: block;
	margin-right: -1px;
	font-size: 11px;
	letter-spacing: 0.11em;
}

.paak-concept h3 {
	margin-bottom: 24px;
	color: var(--color-green);
	font-size: 20px;
	line-height: 1.8;
	letter-spacing: 0.22em;
}

.paak-concept .txt2 h3 {
	margin-bottom: 20px;
	font-size: 17px;
	line-height: 1.9;
	letter-spacing: 0.16em;
}

.paak-concept p {
	margin-bottom: 18px;
	line-height: 2.2;
	letter-spacing: 0.08em;
	text-align: justify;
}

.paak-concept .txt1 { margin-bottom: 45px; padding: 0 30px 0 5px; }
.paak-concept .txt2 { clear: both; margin: 0 -2px 60px; padding: 45px 0 0; }
.paak-concept .img1 { float: right; width: 33.3%; margin-right: -5px; }
.paak-concept .img2 { float: left; width: 67.6%; margin-left: -5px; }
.paak-concept .img3 { display: none; }
.paak-concept .img4 { margin: 0 -10%; }
.paak-concept .img4 img { width: 110%; margin-left: -5%; }

/* .paak-cure
------------------------------------*/
.paak-cure {
	margin-bottom: 90px;
	padding: 0 8%;
}

.paak-cure h2 {
	margin-bottom: 30px;
	color: var(--color-green);
	font-size: 17px;
	line-height: 1.9;
	letter-spacing: 0.15em;
}

.paak-cure .img { margin-bottom: 25px; }
.paak-cure .img2 { margin: 42px 0 25px; }

.paak-cure .txt-set .txt { padding: 0 2px; }
.paak-cure .txt-set p { text-align: justify; }
.paak-cure .btn-set { margin-top: 30px; white-space: nowrap; }

.paak-cure .btn-set > div a {
	padding-right: 16px;
	padding-left: 17px;
	letter-spacing: 0.07em;
}

/* .paak-kuredo
------------------------------------*/
.paak-kuredo {
	position: relative;
	overflow: hidden;
	border-radius: 55px 55px 0 0;
	margin-bottom: 115px;
	z-index: 1;
}

.paak-kuredo:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background: url(img/share/bg-pattern-noise.png), linear-gradient(93.57deg, #D7D9D2 6.44%, #BADEC0 82.28%);
	width: 100%;
	height: 100%;
	opacity: 0.3;
	z-index: -1;
}

.btn-kuredo-open {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 60px 0;
	z-index: 2;
}

.btn-kuredo-open:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background: linear-gradient(180deg, rgba(230, 236, 228, 0) 0%, #E9EBE7 40%);
	width: 100%;
	height: 160px;
	pointer-events: none;
	transition: .4s ease-out;
	opacity: 0;
}

.paak-kuredo.close .btn-kuredo-open:after { opacity: 1; }

.btn-kuredo-open .btn {
	position: relative;
	background: var(--gradient-green);
	border-radius: 60px;
	width: 86%;
	margin: 0 auto;
	padding: 7px;
	color: #FFFFFF;
	font-size: 15px;
	letter-spacing: 0.12em;
	text-align: center;
	white-space: nowrap;
	z-index: 1;
}

.btn-kuredo-open .btn img {
	filter: saturate(0%) brightness(400%) contrast(100%);
	width: 150px;
}

.btn-kuredo-open .btn > span {
	display: inline-block;
	position: relative;
	margin-left: 13px;
	transform: translateY(-7px);
}

.paak-kuredo-inner {
	margin: 0 auto;
	padding: 75px 10% 160px;
}

.paak-kuredo-head {
	margin-bottom: 50px;
}

.paak-kuredo-head h2 {
	margin-bottom: 32px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	white-space: nowrap;
}

.paak-kuredo-head h2 em {
	display: block;
	margin: 0 0 18px 1px;
	font-size: 10px;
	letter-spacing: 0.2em;
}

.paak-kuredo-head h2 em .txt-line {
	display: inline-block;
	background-color: var(--color-green);
	width: 16px;
	height: 1px;
	margin: 0 3px 0 3px;
	transform: translateY(-3px);
}

.paak-kuredo-head h2 strong {
	display: block;
	margin-bottom: 12px;
	font-size: 14px;
	letter-spacing: 0.22em;
}

.paak-kuredo-head h2 > img { width: 172px; }

.paak-kuredo-head p { line-height: 2.15; text-align: justify; }
.paak-kuredo-head p br { display: none; }

.paak-kuredo-inner .inner:not(:last-of-type) { margin-bottom: 45px; }

.paak-kuredo-inner .inner h3 {
	margin-bottom: 16px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 16px;
	line-height: 1.9;
	letter-spacing: 0.13em;
}

.paak-kuredo-inner .inner p { line-height: 2.05; text-align: justify; }
.paak-kuredo-inner .inner p br { display: none; }

.paak-kuredo-inner .inner .dot-list { margin-bottom: 16px; }

.paak-kuredo-inner .inner .dot-list.color li {
	margin-bottom: 4px;
	color: var(--color-green);
	letter-spacing: 0.12em;
}

.paak-kuredo-inner .inner .dot-list.color li:before {
	background-color: var(--color-green);
}

/* .paak-info
------------------------------------*/
.paak-info {
	position: relative;
	margin-bottom: 60px;
	padding: 0 8%;
}

.paak-info .map {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 475px;
	margin: 0 auto 50px;
}

.paak-info .map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.paak-info .info-wrap {
	margin-bottom: 60px;
}

.paak-info > figure {
	margin: 0 -8vw;
}

.paak-info > figure img {
	width: 150%;
	max-width: none;
	margin-left: -25%;
}

/* .schedule
------------------------------------*/
.info-wrap .schedule .table-wrap {
	overflow-x: scroll;
	margin-right: -8vw;
	padding-right: 8vw;
}

.info-wrap .schedule table {
	background: var(--gradient-green);
	width: 520px;
	font-size: 12px;
	line-height: 1.4;
	letter-spacing: 0.04em;
	text-align: center;
	vertical-align: middle;
	white-space: nowrap;
}

.info-wrap .schedule table + table {
	margin-top: 20px;
}

.info-wrap .schedule tr:not(:last-of-type) {
	border-bottom: 1px solid #C2D2CC;
}

.info-wrap .schedule th {
	border-right: 1px solid #43916D;
	border-bottom: 1px solid #43916D;
	padding: 9px 8px 6px;
	color: #FFFFFF;
	vertical-align: middle;
}

.info-wrap .schedule tr:last-of-type th {
	border-bottom: none;
}

.info-wrap .schedule td {
	position: relative;
	background-color: #FFFFFF;
	border-right: 1px solid #C2D2CC;
	width: 68px;
	padding: 13px 8px 11px;
	vertical-align: middle;
}

.info-wrap .schedule th:has(+ td) {
	width: 80px;
	min-width: 80px;
	padding-top: 15px;
	padding-bottom: 14px;
}

.info-wrap .schedule th + td {
	background-color: #EFEFEF;
	padding-left: 12px;
	font-size: 11px;
	letter-spacing: 0.02em;
	text-align: left;
}

.info-wrap .schedule td i {
	display: block;
	line-height: 0;
}

.info-wrap .schedule td i + i {
	margin-top: 6px;
}

.info-wrap .schedule td i.bar {
	display: inline-block;
	background-color: #D9D9D9;
	width: 17px;
	height: 1px;
	transform: translateY(-6px);
}

.info-wrap .schedule td span {
	display: block;
	margin: 4px -2px -4px;
	font-size: 11px;
}

.info-wrap .schedule td .label {
	display: inline-block;
	position: absolute;
	top: 17px;
	left: 15px;
	background-color: var(--color-bg-green);
	border-radius: 4px;
	margin: 0;
	padding: 7px 16px 6px 18px;
	font-size: 11px;
	z-index: 1;
}

.info-wrap .schedule .attention-list {
	margin-top: 30px;
}

.info-wrap .schedule .attention-list li {
	margin-bottom: 5px;
	padding-left: 16px;
	letter-spacing: 0.04em;
}

.info-wrap .schedule .attention-list li i {
	display: inline-block;
	border-radius: 10px;
	width: 12px;
	height: 6px;
	margin: 0 3px 0 2px;
	transform: translateY(-2px);
}

.info-wrap .schedule .attention-list li i.barometer-yellow { background-color: #FFEA7D; }
.info-wrap .schedule .attention-list li i.barometer-green { background-color: var(--color-green); }

/* .info
------------------------------------*/
.info-wrap .info {
	margin-bottom: 45px;
}

.info-wrap .info .link-list li a,
.info-wrap .info .link-list li > span {
	padding-left: 30px;
	font-family: var(--font-gothic-r-jp);
	font-size: 14px;
	text-decoration: none !important;
}

.info-parking {
	position: absolute;
	top: -50px;
	left: 0;
	width: 100%;
	color: var(--color-green);
	font-size: 15px;
	letter-spacing: 0.1em;
	text-align: center;
}

.info-parking span {
	display: inline-block;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.5em;
}

.info-address {
	position: relative;
	min-height: 100px;
	margin-bottom: 20px;
	padding: 2px 0 0 120px;
}

.info-address h1 {
	position: absolute;
	top: 0;
	left: 0;
}

.info-address address {
	margin-bottom: 9px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.info-address address span {
	display: block;
	margin: 0 0 4px 1px;
	font-size: 10px;
	letter-spacing: 0.08em;
}

.info-address address em {
	display: block;
	margin-top: 3px;
	font-size: 13px;
}

.info-contact {
	border-top: 1px solid var(--color-green);
	padding: 14px 2px 22px;
}

.info-contact h2 {
	margin-bottom: 16px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 14px;
	letter-spacing: 0.08em;
}

.info-contact h2 span {
	padding-left: 4px;
	font-size: 13px;
	letter-spacing: 0.06em;
}

.info-contact .btn-set {
	margin-top: 20px;
}

.info-contact1 {
	position: relative;
	padding-left: 80px;
	color: var(--color-green);
}

.info-contact1 h2 {
	position: absolute;
	top: 17px;
	left: 2px;
}

.info-contact1 .tel,
.info-contact1 .fax {
	font-family: var(--font-gothic-m-en);
	font-size: 15px;
	letter-spacing: 0.05em;
}

.info-contact1 .tel {
	margin-bottom: 8px;
}

.info-contact1 .tel strong {
	padding-left: 6px;
	font-family: var(--font-gothic-r-en);
	font-size: 23px;
}

.info-contact1 .tel strong a {
	color: var(--color-green);
}

.info-contact1 .fax {
	margin-bottom: 16px;
}

.info-contact1 p {
	margin-bottom: 2px;
	font-size: 12px;
	line-height: 1.6;
	letter-spacing: 0.05em;
	white-space: nowrap;
}

.info-contact1 p.attention {
	font-size: 11px;
	letter-spacing: 0.02em;
}

/* .clinic-news
------------------------------------*/
.clinic-news {
	margin-bottom: 60px;
}

#zerofull-clinicContents .clinic-news {
	order: 4;
	margin: 50px auto 20px;
}

.clinic-news > h2 {
	margin-bottom: 20px;
	color: var(--color-text);
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0.14em;
}

.clinic-news .news-list { width: 100%; }

#zerofull-clinicContents .news-list article time,
#zerofull-clinicContents .news-list article h2,
#zerofull-clinicContents .news-list article .viewmore { color: var(--color-text); }

#zerofull-clinicContents .news-list article:before { background: var(--color-blue); }
#zerofull-clinicContents .news-list article a { background-image: url(img/share/ico-arrow-line-blue.svg); }

/* .paak-calendar
------------------------------------*/
#paak-calendar-wrap {
	margin-top: -160px;
	padding-top: 160px;
}

.paak-calendar,
.zerofull-calendar {
	position: relative;
	padding: 0 0 0 7%;
}

.calendar-wrap {
	padding-top: 120px;
}

.fc-daygrid {
  overflow-x: scroll;
	width: 100%;
	/*padding-right: 7%;*/
}

.fc-scrollgrid,
.fc .fc-scrollgrid-liquid {
	width: 750px !important;
}

.paak-calendar > h2 {
	position: absolute;
	top: 0;
	left: 7%;
	color: var(--color-green);
	font-size: 18px;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.paak-calendar > h2 .mark {
	width: 20px;
	margin: 0 12px 16px 0;
}

.paak-calendar > h2 .type {
	width: 82px;
	margin-bottom: 16px;
	transform: translateY(-1px);
}

.paak-calendar .doctor-name {
	display: flex;
	position: absolute;
	top: 75px;
	left: 7%;
	margin-left: 2px;
	font-family: var(--font-gothic-r-jp);
	white-space: nowrap;
}

.paak-calendar .doctor-name ul {
	display: flex;
}

.paak-calendar .doctor-name li {
	position: relative;
	margin-right: 5px;
	padding: 0 0 0 16px;
	font-size: 10px;
	letter-spacing: 0.04em;
}

.paak-calendar .doctor-name li i {
	display: block;
	position: absolute;
	top: -3px;
	left: 0;
	background-position: left top;
	background-repeat: no-repeat;
	background-size: 13px auto;
	width: 14px;
	height: 14px;
}

.paak-calendar .doctor-name li.ueda i { background-image: url(img/share/calendar-ueda.svg); }
.paak-calendar .doctor-name li.asai i { background-image: url(img/share/calendar-asai.svg); }
.paak-calendar .doctor-name li.mine i { background-image: url(img/share/calendar-mine.svg); }
.paak-calendar .doctor-name li.fukui i { background-image: url(img/share/calendar-fukui.svg); }

.paak-calendar .doctor-name .icon {
	font-size: 10px;
	letter-spacing: 0.02em;
}

.paak-calendar .doctor-name .icon i {
	display: inline-block;
	border-radius: 50%;
	width: 6px;
	height: 6px;
	margin: 0 2px;
}

.paak-calendar .doctor-name .icon i.male { background-color: var(--color-green-dark); }
.paak-calendar .doctor-name .icon i.female { background-color: var(--color-gold); }

/* .bnr-zerofull
------------------------------------*/
.bnr-zerofull { width: 86%; margin: 100px auto 0; }
.bnr-zerofull img { width: 100%; }


/* page zerofull
---------------------------------------------------------------------------*/
body.zerofull-clinic #wrap { background: none; }
body.zerofull-clinic header { position: absolute; }
body.zerofull-clinic footer { display: none; }
body.zerofull-clinic .btn-reservation-fix { display: none !important; }
#zerofull-clinicContents { overflow: hidden; }

/* setting
------------------------------------*/
:root {
  --k: #111;
  --k2: #666;
  --w: #fff;
  --g1: #E8EEEE;
  --c1: #1678bf;

  /* font */
	--font1: "FOT-セザンヌ ProN M";
  --font2: "I-OTFゴシックオールドPro M";
  --font2d: "I-OTFゴシックオールドPro D";
  --font2b: "I-OTFゴシックオールドPro B";
  --font3: "Work Sans";

  /* fontsize */
  --root-font-size: 16;
  --f10: 0.625rem;
  --f11: 0.6875rem;
  --f12: 0.75rem;
  --f13: 0.8125rem;
  --f14: 0.875rem;
  --f15: 0.9375rem;
  --f16: 1rem;
  --f17: 1.0625rem;
  --f18: 1.125rem;
  --f19: 1.1875rem;
  --f20: 1.25rem;
  --f21: 1.3125rem;
  --f22: 1.375rem;
  --f23: 1.4375rem;
  --f24: 1.5rem;
  --f25: 1.5625rem;
  --f26: 1.625rem;
  --f27: 1.6875rem;
  --f28: 1.75rem;
  --f29: 1.8125rem;
  --f30: 1.875rem;
  --f31: 1.9375rem;
  --f32: 2rem;

  /* spacing */
  --spa: 25px;
  --spa2: 30px;
}

body.zerofull-clinic { overflow-x: hidden; }
body.zerofull-clinic main.wrapper { position: relative; }
body.zerofull-clinic ::selection { background: #a6d2fc; }

body.zerofull-clinic .container {
  width: 100%;
  padding-left: var(--spa);
  padding-right: var(--spa);
  margin-inline: auto;
}

#zerofull-clinicContents {
	font-family: var(--font1), "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  color: var(--k);
  font-size: var(--f16);
  font-weight: 500;
  letter-spacing: 0.1em;
}

/* mv
------------------------------------*/
body.zerofull-clinic .mv {
  position: relative;
  z-index: 0;
  height: 720px;
  display: flex;
  align-items: flex-end;
  padding-bottom: 75px;
  padding-left: 30px;
}
body.zerofull-clinic .mv::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(img/zerofull/common/bg_blue.png);
  background-repeat: repeat;
  z-index: -2;
}
body.zerofull-clinic .mv::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -100%;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(img/zerofull/common/bg_blue.png);
  background-repeat: repeat;
  z-index: -3;
}

body.zerofull-clinic .mv_logo { display: none; }
body.zerofull-clinic .icon-scroll { display: none; }

body.zerofull-clinic .mv_subtitle { position: absolute; top: 38px; left: 30px; z-index: 1; }
body.zerofull-clinic .mv_subtitle img { width: 66px; height: auto; }

body.zerofull-clinic .mv_title {
  color: var(--w);
}
body.zerofull-clinic .mv_title em {
	display: block;
	margin-bottom: 16px;
	font-size: 14px;
	letter-spacing: 0.14em;
}
body.zerofull-clinic .mv_title em span {
	display: inline-block;
	position: relative;
	padding-bottom: 6px;
}
body.zerofull-clinic .mv_title em span:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #FFFFFF;
	width: calc(100% - 2px);
	height: 1px;
}
body.zerofull-clinic .mv_title p {
  margin-bottom: 10px;
  font-size: 18px;
  line-height: 1.85;
  letter-spacing: 0.2em;
}
body.zerofull-clinic .mv_title > span {
  font-family: var(--font3);
  font-weight: 400;
  font-style: italic;
  font-size: 12px;
  line-height: 2;
  letter-spacing: 0.08em;
}

body.zerofull-clinic .mv_img { position: absolute; top: 0; right: 50%; z-index: -1; }
body.zerofull-clinic .mv_img { height: auto; }
body.zerofull-clinic .mv_img img { height: auto; }

body.zerofull-clinic .mv_img.-img01 { top: 90px; right: 24px; }
body.zerofull-clinic .mv_img.-img01 img { width: 170px; }

body.zerofull-clinic .mv_img.-img02 { top: 300px; left: 14px; }
body.zerofull-clinic .mv_img.-img02 img { width: 115px; }

body.zerofull-clinic .mv_img.-img03 { top: auto; right: 0; bottom: 165px; }
body.zerofull-clinic .mv_img.-img03 img { width: 165px; }

body.zerofull-clinic .mv_0 {
  position: absolute;
  z-index: -1;
  bottom: 360px;
  right: 55px;
}
body.zerofull-clinic .mv_0 img {
  width: 76px;
  height: auto;
}

/* intro
------------------------------------*/
body.zerofull-clinic .intro {
  padding-top: 70px;
  padding-bottom: 45px;
  /*background-image: url(img/zerofull/top/intro_bg.png);
  background-size: cover;
  background-position: center bottom;*/
	background: linear-gradient(to bottom, #F5F6F6 0%, #ECECEC 100%);
  position: relative;
}
body.zerofull-clinic .intro_wave {
  position: absolute;
  top: -4vw;
  left: 0;
  width: 100%;
  overflow-x: hidden;
}
body.zerofull-clinic .intro_wave img {
  width: 110%;
  transform: translateX(-5%);
}
body.zerofull-clinic .intro_inner {
  display: flex;
  flex-direction: column;
}
body.zerofull-clinic .intro_logo {
  text-align: center;
  margin-bottom: 35px;
  order: 0;
}
body.zerofull-clinic .intro_logo img {
  width: 200px;
}
body.zerofull-clinic .intro_tag {
  /*display: grid;
	display: grid;
	grid-template-columns: 1fr 1fr;
  gap: 8px 8px;*/
  margin-bottom: 55px;
	/*padding: 0 10px;*/
  order: 2;
	text-align: center;
	white-space: nowrap;
}
body.zerofull-clinic .intro_tag li {
	display: inline-block;
}
body.zerofull-clinic .intro_tag li span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: auto;
  background-color: var(--w);
  border: 1px solid #E0E0E0;
  padding: 10px 14px 11px 16px;
  font-size: var(--f15);
  color: var(--k2);
  font-family: var(--font2d);
  font-style: normal;
  font-weight: 500;
	letter-spacing: 0.06em;
  border-radius: 999px;
}
/*body.zerofull-clinic .intro_schedule {
  text-align: center;
  margin-bottom: 50px;
  order: 1;
  line-height: 1;
}
body.zerofull-clinic .intro_schedule img {
  width: 100%;
  height: auto;
}*/
body.zerofull-clinic .intro_recommend {
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  order: 2;
}
body.zerofull-clinic .intro_recommend dt {
  font-size: var(--f21);
  color: var(--k2);
  line-height: 1.7;
  letter-spacing: 0.14em;
  text-align: center;
  margin-bottom: 32px;
  width: 100%;
}
body.zerofull-clinic .intro_recommend dt span {
  display: none;
}
body.zerofull-clinic .intro_recommend dt em {
  display: inline-block;
  padding-left: 1em;
  padding-right: 1em;
  font-family: var(--font1);
}
body.zerofull-clinic .intro_recommend dd {
  text-align: center;
  width: 50%;
  margin-bottom: 30px;
}
body.zerofull-clinic .intro_recommend dd img {
  margin-bottom: 8px;
  width: 82%;
  max-width: 150px;
  height: auto;
}
body.zerofull-clinic .intro_recommend dd p {
  color: var(--k2);
  font-family: var(--font1);
  font-size: var(--f15);
  letter-spacing: 0.1em;
  line-height: 1.9;
}
body.zerofull-clinic .intro_recommend dd span {
  display: inline-block;
	position: relative;
}
body.zerofull-clinic .intro_recommend dd span:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 3px;
	left: 0;
	background: url(img/zerofull/common/line-dot.svg) repeat-x left bottom;
	width: 100%;
	height: 2px;
}

/* app
------------------------------------*/
body.zerofull-clinic .app {
  padding-top: 15px;
  background: #0179CF;
}
body.zerofull-clinic .app_maintitle {
  width: 100%;
  margin-bottom: 60px;
}
body.zerofull-clinic .app_maintitle p {
  text-align: center;
}
body.zerofull-clinic .app_maintitle img {
  width: 95%;
}
body.zerofull-clinic .app_inner.container {
  padding-left: 35px;
  padding-right: 35px;
}
body.zerofull-clinic .app_concept {
  --rw: clamp(400px, 50%, 543px);
  --rw: 40%;
  padding-bottom: 50px;
}
body.zerofull-clinic .app_concept ._info {
  width: 100%;
  color: var(--w);
  position: relative;
}
body.zerofull-clinic .app_concept ._info h2 {
  margin-bottom: 35px;
  position: relative;
}
body.zerofull-clinic .app_concept ._info h2 > ._icon {
  position: absolute;
  bottom: 75px;
  right: -10px;
  mix-blend-mode: color-burn;
  transform: translateY(34%) translateX(20%) scale(.8);
}

body.zerofull-clinic .app_concept ._info h2 span {
  font-family: var(--font2b);
  font-size: var(--f15);
  letter-spacing: 0.14em;
  line-height: 2;
  display: block;
  margin-bottom: 26px;
}
body.zerofull-clinic .app_concept ._info h2 em {
  font-size: var(--f31);
  line-height: 1;
  font-family: var(--font2b);
  letter-spacing: 0.21313rem;
}
body.zerofull-clinic .app_concept ._txt {
  margin-bottom: 25px;
}
body.zerofull-clinic .app_concept ._txt p {
  font-family: var(--font2d);
  font-size: var(--f16);
  line-height: 2.2;
  letter-spacing: 0.08em;
  text-align: justify;
}
body.zerofull-clinic .app_concept ._txt p:not(:last-child) {
  margin-bottom: 1em;
}
body.zerofull-clinic .app_concept ._linkarea a,
body.zerofull-clinic ._linkbtn a {
  display: block;
  background-color: #01BFED;
  border-radius: 10px;
  text-align: center;
  color: var(--w);
  text-decoration: none;
  font-size: var(--f15);
  font-family: var(--font2d);
  padding: 20px;
}
body.zerofull-clinic .app_concept ._linkarea ._qr {
  display: none;
}
body.zerofull-clinic .app_concept ._img {
  display: none;
}
body.zerofull-clinic .app_point {
  margin-bottom: 40px;
}
body.zerofull-clinic .app_point ol li {
  width: 100%;
}
body.zerofull-clinic .app_point ._pointbox {
  color: var(--w);
  position: relative;
  padding-left: 42px;
  padding-bottom: 35px;
  padding-top: 5px;
}
body.zerofull-clinic .app_point ._pointbox::before {
  position: absolute;
  display: block;
  content: "";
  top: 40px;
  left: 11px;
  width: 1px;
  height: calc(100% - 55px);
  border-left: 1px dashed #B3D7F1;
}
body.zerofull-clinic .app_point ._pointbox::after {
  position: absolute;
  display: block;
  content: "";
  bottom: 10px;
  left: 8px;
  transform: rotateZ(-45deg);
  transform-origin: center;
  width: 6px;
  height: 6px;
  border-left: 1px solid #B3D7F1;
  border-bottom: 1px solid #B3D7F1;
}
body.zerofull-clinic .app_point ._pointbox.-noarw {
  padding-bottom: 0;
}
body.zerofull-clinic .app_point ._pointbox.-noarw::before {
  height: calc(100% - 44px);
}
body.zerofull-clinic .app_point ._pointbox.-noarw::after {
  display: none;
}
body.zerofull-clinic .app_point ._pointbox ._numb {
  margin-bottom: 15px;
  font-family: var(--font1);
  font-size: var(--f15);
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 1px solid var(--w);
  top: 0.25em;
  left: -3px;
  padding-left: 1px;
}
body.zerofull-clinic .app_point ._pointbox ._title {
  display: block;
  font-family: var(--font2d);
  font-size: var(--f15);
  font-weight: 600;
  line-height: 1.86;
  letter-spacing: 0.064rem;
  margin-bottom: .5em;
}
body.zerofull-clinic .app_point ._pointbox ._txt {
	margin-bottom: 10px;
  font-family: var(--font1);
  color: #A6D3F3;
  text-align: justify;
  font-size: 0.8rem;
  font-weight: 500;
  line-height: 1.5rem;
  letter-spacing: 0.04rem;
}
body.zerofull-clinic .app_point ._pointbox ._txt.attention {
  margin-top: 6px;
  font-size: var(--f12);
}
body.zerofull-clinic .app_point ._pointbox ._linkbtn {
  margin-top: 20px;
}
body.zerofull-clinic .app_point ._pointbox ._linkbtn a {
  padding: 15px;
  border-radius: 6px;
}
body.zerofull-clinic .app_outro {
  width: calc(100% + 20px);
	margin-left: -10px;
  text-align: center;
}
body.zerofull-clinic .app_outro img {
  width: 100%;
}

body.zerofull-clinic .app_payment ._title {
	width: 100%;
  color: var(--k2);
  font-family: var(--font2d);
  font-size: var(--f14);
  line-height: 1.6;
  letter-spacing: 0.1em;
  text-align: center;
  padding: 25px 0 10px;
}
body.zerofull-clinic .app_payment .container {
  background: #ffffff;
  border-radius: 15px;
  margin-bottom: 55px;
	padding-bottom: 10px;
}
body.zerofull-clinic .app_payment .container li {
  list-style: none;
  border-top: 1px solid #E0E0E0;
  padding: 7px 0 20px;
}
body.zerofull-clinic .app_payment li p {
  color: var(--k2);
  font-family: var(--font1);  
  font-size: 0.8rem;
  margin-bottom: 6px;
}
body.zerofull-clinic .app_payment li:nth-of-type(2) p {
  margin-bottom: 16px;
}
body.zerofull-clinic .app_payment .container > div {
  display: block;
}
body.zerofull-clinic .app_payment ._credit picture img {
  width: 254px;
}
body.zerofull-clinic .app_payment ._qr picture img {
  width: 256px;
}
body.zerofull-clinic .app_payment ._denshi picture img {
  width: 227px;
}
body.zerofull-clinic .app_payment ._ic picture img{
  width: 260px;
}

/* message
------------------------------------*/
body.zerofull-clinic .message {
  padding-top: 30px;
  color: var(--k2);
}
body.zerofull-clinic .message .message_inner {
  padding-bottom: 160px;
}
body.zerofull-clinic .message .message_intro {
  width: 100%;
  text-align: right;
}
body.zerofull-clinic .message .message_title {
  text-align: left;
}
body.zerofull-clinic .message .message_title span {
  font-family: var(--font1);
  font-size: 1.1875rem;
  line-height: 1.78;
  letter-spacing: 0.16625rem;
  display: block;
  margin-bottom: 30px;
}
body.zerofull-clinic .message .message_title small {
  display: none;
}
body.zerofull-clinic .message .message_portrait {
  padding-right: 10px;
}
body.zerofull-clinic .message .message_portrait img {
  width: 100%;
  max-width: 203px;
}
body.zerofull-clinic .message .message_txt {
  width: 100%;
  padding-top: calc(30px - 1.25em);
}
body.zerofull-clinic .message .message_txt ._inner {
  width: auto;
  padding-left: 10px;
  padding-right: 10px;
  padding-top: 1.25em;
}
body.zerofull-clinic .message .message_txt ._inner p {
  text-align: justify;
  font-family: var(--font1);
  font-size: var(--f14);
  line-height: 2;
  letter-spacing: 0.04rem;
}
body.zerofull-clinic .message .message_txt ._inner p:not(:last-child) {
  margin-bottom: 1.25em;
}
body.zerofull-clinic .message .message_txt ._outro {
  padding-top: 5px;
  letter-spacing: 0.08em!important;
}

/* access
------------------------------------*/
body.zerofull-clinic .access {
	background-color: #ECECEC;
}

body.zerofull-clinic .access_inner {
  padding-bottom: 60px;
}

body.zerofull-clinic .access_inner .access_title {
  display: none;
}

body.zerofull-clinic .access .access_layout {
  width: 100%;
	margin: 60px 0 10px;
}

body.zerofull-clinic .access .access_map {
	position: relative;
	overflow: hidden;
	width: calc(100% + 10px);
	margin: 0 -5px 20px;
}

body.zerofull-clinic .access .access_map #gmap-zerofull {
  width: 100%;
  height: calc((100vw - (var(--spa)*2)) * 1.375);
}

body.zerofull-clinic .access .access_map #gmap-zerofull iframe {
	width: 100%;
	height: 100%;
}

/* .access .access_info
------------------------------------*/
body.zerofull-clinic .access .access_info {
	font-family: var(--font-gothic-l-jp);
	color: #666666;
}

body.zerofull-clinic .access .access_info .info1 {
	margin: 34px 0 24px;
	text-align: center;
	white-space: nowrap;
}

body.zerofull-clinic .access .access_info .info1 h1 {
	margin-bottom: 18px;
}

body.zerofull-clinic .access .access_info .info1 h1 img {
	width: 140px;
}

body.zerofull-clinic .access .access_info .info1 h2 {
	display: inline-block;
	background-color: #FFFFFF;
	border-radius: 40px;
	margin-bottom: 14px;
	padding: 5px 11px 3px 13px;
	font-size: 14px;
	letter-spacing: 0.1em;
}

body.zerofull-clinic .access .access_info .info1 address {
	font-size: 15px;
	line-height: 1.7;
	letter-spacing: 0.07em;
}

body.zerofull-clinic .access .access_info .info1 address span {
	display: block;
	margin-bottom: 1px;
	padding-right: 3px;
	font-size: 13px;
}

body.zerofull-clinic .access .access_info .info1 address em {
	display: block;
	font-size: 14px;
}

body.zerofull-clinic .access .access_info .info1 address br {
	display: none;
}

body.zerofull-clinic .access .access_info .info2 {
	margin: 0 -5px;
}

body.zerofull-clinic .access .access_info table {
	width: 100%;
	font-size: 12px;
	white-space: nowrap;
}

body.zerofull-clinic .access .access_info th,
body.zerofull-clinic .access .access_info td {
	border-right: 1px solid rgba(216,216,216,0.5);
}

body.zerofull-clinic .access .access_info th:last-of-type,
body.zerofull-clinic .access .access_info td:last-of-type {
	border-right: none;
}

body.zerofull-clinic .access .access_info td {
	border-bottom: 1px solid rgba(216,216,216,0.5);
}

body.zerofull-clinic .access .access_info tr:last-of-type td {
	border-bottom: none;
}

body.zerofull-clinic .access .access_info th {
	background-color: #5CC2CF;
	padding: 9px 8px 7px;
	color: #FFFFFF;
	font-family: var(--font-gothic-r-jp);
	font-size: 12px;
	text-align: center;
	letter-spacing: 0.08em;
}

body.zerofull-clinic .access .access_info th:first-of-type {
	padding-right: 7px;
	padding-left: 7px;
}

body.zerofull-clinic .access .access_info th:last-of-type {
	padding-right: 7px;
	padding-left: 7px;
}

body.zerofull-clinic .access .access_info td {
	background-color: #FFFFFF;
	padding: 8px 8px 5px;
	text-align: center;
	vertical-align: middle;
}

body.zerofull-clinic .access .access_info td:has(span) {
	padding: 5px 4px 5px;
}

body.zerofull-clinic .access .access_info td:first-of-type {
	padding-right: 10px;
	padding-left: 11px;
	line-height: 1.4;
	letter-spacing: 0.02em;
	text-align: left;
}

body.zerofull-clinic .access .access_info td i {
	display: block;
}

body.zerofull-clinic .access .access_info td i img {
	transform: scale(0.8);
}

body.zerofull-clinic .access .access_info td span {
	display: inline-block;
	margin-top: 5px;
	font-size: 10px;
	letter-spacing: 0.02em;
}

body.zerofull-clinic .access .access_info td i.bar {
	display: inline-block;
	background-color: #D9D9D9;
	width: 17px;
	height: 2px;
	transform: translateY(-3px);
}

body.zerofull-clinic .access .access_info .info2 .attention-list {
	margin-top: 14px;
}

body.zerofull-clinic .access .access_info .info2 .attention-list li {
	font-size: 12px;
}

body.zerofull-clinic .access .access_info .info2 .attention-list li a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

body.zerofull-clinic .access .reserve-calendar {
	position: relative;
	background-color: #FFFFFF;
	border-radius: 12px;
	margin: 0 -10px;
	padding: 20px 10px 0;
}

body.zerofull-clinic .access .reserve-calendar:before {
	display: block;
	content: '';
	position: absolute;
	top: 3px;
	left: 50%;
	transform: translateX(-50%);
	background-color: #5CC2CF;
	border-radius: 4px;
	width: calc(100% - 20px);
	height: 3px;
}

body.zerofull-clinic .access .reserve-calendar h2 {
	position: relative;
	margin-bottom: 25px;
	color: #5CC2CF;
	font-family: var(--font-gothic-r-jp);
	font-size: 12px;
	letter-spacing: 0.12em;
	text-align: center;
}

body.zerofull-clinic .access .reserve-calendar h2 i {
	display: inline-block;
	margin-right: 15px;
	transform: translateY(6px);
}

body.zerofull-clinic .access .reserve-calendar h2 i img {
	width: 30px;
}

body.zerofull-clinic .access .reserve-calendar h2 strong {
	font-size: 18px;
}

body.zerofull-clinic .access .digikar-smart {
	width: 100%;
	min-width: 332px;
	height: 480px;
	margin-bottom: -18px;
	transform-origin: center top;
	transform: scale(0.92) translateX(-4px);
}

body.zerofull-clinic .access .reserve-calendar-wrap > p {
	margin-top: 16px;
	color: #666666;
	font-size: 12px;
	line-height: 1.8;
	letter-spacing: 0.06em;
	text-align: justify;
}

body.zerofull-clinic .access .reserve-calendar-wrap > p a {
	color: #0179CF;
}

/* calendar
------------------------------------*/
#zerofull-calendar-wrap {
	margin-top: -90px;
	padding-top: 90px;
}

.zerofull-calendar-wrap {
	background-color: #ECECEC;
	padding-bottom: 100px;
}

body.zerofull-clinic .calendar {
  margin-bottom: 0;
  color: var(--k2);
}
body.zerofull-clinic .calendar.container {
  padding-right: 0;
  padding-bottom: 0;
}
body.zerofull-clinic .calendarWrap {
  padding-top: 10px;
}

/* footer
------------------------------------*/
body.zerofull-clinic .footer {
  padding: 150px 10px 12px;
  position: relative;
  overflow: hidden;
}
body.zerofull-clinic .footer_wave {
  position: absolute;
  top: 0;
  left: 0;
  width: 200%;
  height: 100%;
  z-index: -1;
}
body.zerofull-clinic .footer_wave ._item {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}
body.zerofull-clinic .footer_wave ._item::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 35px;
  background-image: url(img/zerofull/common/wave02_repeat.svg);
  background-repeat: repeat-x;
  background-size: contain;
}
body.zerofull-clinic .footer_wave ._item::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: calc(100% - 30px);
  bottom: 0;
  left: 0;
  background-color: #1CA7BA;
}
body.zerofull-clinic .footer_wave img {
  width: 100%;
}
body.zerofull-clinic .footer_wave.-wave01 {
	margin-left: -40px;
  z-index: -2;
}
body.zerofull-clinic .footer_wave.-wave02 ._item::after {
  background-image: url(img/zerofull/common/wave03_repeat.svg);
}
body.zerofull-clinic .footer_wave.-wave02 ._item::before {
  background-color: #5DC2D0;
}
body.zerofull-clinic .footer .footer_inner {
  width: 100%;
}
body.zerofull-clinic .footer .footer_copy {
  text-align: center;
  margin-bottom: 120px;
}
body.zerofull-clinic .footer .footer_copy img {
  width: 200px;
  height: auto;
}
body.zerofull-clinic .footer .footer_logo02 {
  display: block;
  text-align: center;
  margin-bottom: 35px;
}
body.zerofull-clinic .footer .footer_logo02 img {
  width: 77px;
  height: auto;
}
body.zerofull-clinic .footer .footer_logo {
  width: 100%;
}
body.zerofull-clinic .footer .footer_logo ._tagline {
  text-align: center;
  display: block;
  margin-bottom: 10px;
}
body.zerofull-clinic .footer .footer_logo ._tagline img {
  width: 100%;
  height: auto;
}
body.zerofull-clinic .footer .footer_logo ._logotitle {
  width: 100%;
}
body.zerofull-clinic .footer .footer_logo ._logotitle img {
  width: 100%;
  height: auto;
}

/* loading
------------------------------------*/
body.zerofull-clinic .loading {
	display: none !important;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  background-color: var(--g1);
  overflow: hidden;
}
body.zerofull-clinic #loading_logo {
  width: clamp(200px, 40vw, 278px);
}
body.zerofull-clinic .loading_bg {
  width: 100%;
  height: 100vh;
  height: 100dvh;
  background-color: #7AC9D4;
  position: fixed;
  z-index: 11;
  top: 0%;
  left: 0;
}
body.zerofull-clinic .loading_bg ._inner {
  position: relative;
}
body.zerofull-clinic .loading_bg ._inner::before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 7.84vw;
  transform: translateY(-95%);
  background-image: url(img/zerofull/common/wave04.svg);
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
}

/* .btn-reserve-fix
------------------------------------*/
body.zerofull-clinic .btn-reserve-fix {
  position: fixed;
  bottom: 5px;
  right: 5px;
  filter: drop-shadow(0px 2px 4px rgba(50,90,90,0.2));
  z-index: 1000;
  opacity: 0;
}

body.zerofull-clinic .btn-reserve-fix.btm { position: absolute; bottom: -30px; }
body.zerofull-clinic .btn-reserve-fix img { width: 90px; }


/* page doctor
---------------------------------------------------------------------------*/

/* .doctor-profile
------------------------------------*/
.doctor-profile {
	margin-bottom: 90px;
	padding: 0 10vw;
}

.doctor-profile > .img { margin-top: 55px; }
.doctor-profile > .img figure { margin-bottom: 25px; }
.doctor-profile > .img img { width: 100%; }

/* .profile1
------------------------------------*/
.doctor-profile .profile1 { margin: 0 auto 70px; }
.doctor-profile .profile1 .img { margin-bottom: 30px; }
.doctor-profile .profile1 .img figure img { border-radius: 2px; }

.doctor-profile .profile1 .img h2 {
	margin: 32px 0 10px;
	color: var(--color-green);
	font-size: 15px;
	letter-spacing: 0.15em;
}

.doctor-profile .profile1 .img h2 span { padding-right: 0.7em; }

.doctor-profile .profile1 .img p {
	font-size: 13px;
	line-height: 1.95;
}

.doctor-profile .profile1 .txt p {
	margin-bottom: 12px;
	line-height: 2.1;
	text-align: justify;
}

.doctor-profile .profile1 .txt p br { display: none; }

.doctor-profile .profile1 .btn-set {
	margin: 20px 0 0 -2px;
	white-space: nowrap;
}

/* .profile2
------------------------------------*/
.doctor-profile .profile2 .inner:not(:last-of-type) {
	margin-bottom: 50px;
}

.doctor-profile .profile2 h3,
.doctor-profile .profile2 dt,
.doctor-profile .profile2 li {
	font-size: 13px;
	line-height: 1.7;
}

.doctor-profile .profile2 h3 {
	margin: 0 0 25px -10px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	letter-spacing: 0.22em;
}

.doctor-profile .profile2 dl > div:not(:last-of-type) { margin-bottom: 15px; }

.doctor-profile .profile2 dt {
	margin-bottom: 6px;
	color: var(--color-green);
	font-size: 12px;
	letter-spacing: 0.06em;
}

.doctor-profile .profile2 dd p { line-height: 1.6; }

.doctor-profile .profile2 dd p span {
	display: block;
	margin-top: 1px;
	font-size: 11px;
}

.doctor-profile .profile2 li {
	margin-bottom: 5px;
	font-size: 12px;
	letter-spacing: 0.06em;
	white-space: nowrap;
}

.doctor-profile .profile2 .even li { font-size: 13px; }

.doctor-profile .profile2 li a {
	color: var(--color-green);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.12em;
}

/* .doctor-list
------------------------------------*/
.doctor-list {
	position: relative;
	padding: 21vw 10vw 16vw;
	z-index: 1;
}

.doctor-list:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background: url(img/share/bg-pattern-noise.png), linear-gradient(93.57deg, #D7D9D2 6.44%, #BADEC0 82.28%);
	width: 100%;
	height: 100%;
	z-index: -1;
	opacity: 0.3;
	pointer-events: none;
}

.doctor-list .inner:not(:last-of-type) { margin-bottom: 60px; }

.doctor-list figure {
	margin: 0 auto 36px;
	padding: 0 9vw;
}

.doctor-list figure img { border-radius: 2px; }

.doctor-list .txt h2 {
	margin-bottom: 13px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	text-align: center;
}

.doctor-list .txt h2 strong {
	padding-right: 12px;
	font-size: 20px;
	letter-spacing: 0.18em;
}

.doctor-list .txt h2 em {
	font-size: 11px;
	letter-spacing: 0.14em;
}

.doctor-list .txt h3 {
	font-family: var(--font-gothic-r-jp);
	font-size: 11px;
	letter-spacing: 0.11em;
	text-align: center;
}

.doctor-list .txt h2 + p,
.doctor-list .txt h3 + p {
	margin-top: 25px;
}

.doctor-list .txt p { line-height: 1.95; text-align: justify; }
.doctor-list .txt p br { display: none; }

.doctor-list .txt dl { margin-top: 32px; }
.doctor-list .txt dl > div { margin-bottom: 14px; }

.doctor-list .txt dt {
	margin-bottom: 6px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 12px;
	letter-spacing: 0.1em;
}

.doctor-list .txt dd p { letter-spacing: 0.12em; }

/* .bnr-recruit
------------------------------------*/
.bnr-recruit { background-color: var(--color-bg); padding: 60px 6% 0; }
.bnr-recruit img { width: 100%; }


/* .modal-message
---------------------------------------------------------------------------*/
.modal-message-wrap {
	position: fixed;
	top: 0;
	left: 0;
	background: var(--color-bg);
	width: 100%;
	height: 100%;
	z-index: -999;
	opacity: 0;
	pointer-events: none;
}

.modal-message { overflow-y: scroll; height: 100%; }
.modal-message .txt::-webkit-scrollbar { width: 1px; }
.modal-message-inner .txt::-webkit-scrollbar-track { border-radius: 1px; background: var(--color-bg); }
.modal-message-inner .txt::-webkit-scrollbar-thumb { border-radius: 1px; background: var(--color-green); }

.modal-message .img { opacity: 0; }
.modal-message .slider-img { height: 100%; }

.modal-message .img .slick-slider .slick-track,
.modal-message .img .slick-slider .slick-list { width: 100% !important; height: 100%; }

.modal-message .img .inner { position: absolute !important; top: 0 !important; left: 0 !important; opacity: 0; }
.modal-message .img .inner:first-of-type { position: relative !important; opacity: 1; }
.modal-message .img .inner img { position: relative; width: 100%; height: auto; z-index: 0; }
.modal-message-inner { position: relative; box-sizing: border-box; }

.modal-message-inner .bg {
	position: sticky;
	top: 0;
	left: 0;
	background: url(img/doctor/bg-modal-message.png) no-repeat left 0 top 50px;
	background-size: 105% auto;
	width: 100%;
	height: 100vh;
	z-index: 0;
}

.modal-message-inner .txt {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	margin-top: -100vh;
	padding: 80px 40px 65px;
	z-index: 1;
	opacity: 0;
}

.modal-message-inner .txt-inner { width: 100%; max-width: 600px; margin: 0 auto; }

.modal-message-inner h2 {
	position: relative !important;
	top: 0 !important;
	left: 0 !important;
	width: auto !important;
	margin: 0 0 65px !important;
	line-height: 1 !important;
	text-align: center;
}

.modal-message-inner h2 em {
	display: block;
	margin-bottom: 17px;
	color: var(--color-green);
	font-family: var(--font-serif-r-en);
	font-size: 27px;
	letter-spacing: 0.04em;
}

.modal-message-inner h2 strong {
	display: block;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 13px;
	letter-spacing: 0.14em;
}

.modal-message-inner p {
	margin-bottom: 32px;
	font-size: 14px;
	line-height: 2;
	letter-spacing: 0.08em;
	text-align: justify;
}

.modal-message-inner p strong { text-decoration: underline; text-decoration-thickness: 1px; }
.modal-message-inner p.name { text-align: left; }
.modal-message-inner p br { display: block !important; }

.modal-message-inner .btn-link { width: calc(100% + 20px); margin: 65px -10px 0; }

.modal-message-inner .btn-link span {
	display: block;
	width: 100%;
	padding: 16px 0 16px;
	font-size: 17px;
	letter-spacing: 0.12em;
}

.modal-message-inner .btn-link span:after {
	background-position: center center;
	background-size: 16px auto;
	right: 24px;
	width: 16px;
	height: 16px;
}


/* page price
---------------------------------------------------------------------------*/
.price-nav-close-btn {
	display: none;
	position: fixed;
	top: 30px;
	left: 25px;
	z-index: 10101;
	opacity: 0;
}

/* .price-list-nav-modal
------------------------------------*/
.price-list-nav-modal {
	display: none;
	overflow-y: scroll;
	position: fixed;
	top: 0;
	left: 0;
	background-color: var(--color-bg);
	width: 100%;
	height: 100dvh;
	z-index: 10100;
	opacity: 0;
}

.price-list-nav-modal > div { display: flex; align-items: flex-end; min-height: 100%; }

.price-list-nav-modal:after,
.price-list-nav-btm:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background: url(img/share/bg-pattern-noise.png), linear-gradient(93.57deg, #D7D9D2 6.44%, #BADEC0 82.28%);
	width: 100%;
	height: 100%;
	opacity: 0.3;
	z-index: -1;
}

.price-list-nav-modal:after { position: fixed; }
.price-list-nav-modal .price-nav { opacity: 0; }

/* .price-nav
------------------------------------*/
.price-nav { position: relative; padding: 120px 42px 32px; }

.price-nav .price-all {
	position: relative;
	margin-bottom: 30px;
	padding: 0 10px 10px 0;
	color: var(--color-green);
	font-size: 13px;
	letter-spacing: 0.08em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

.price-nav dl { font-family: var(--font-gothic-r-jp); }
.price-nav dl > div:not(:last-of-type) { margin-bottom: 40px; }

.price-nav dt {
	margin-bottom: 17px;
	color: var(--color-green);
	font-size: 17px;
	letter-spacing: 0.13em;
}

.price-nav dd .list-block { padding-bottom: 5px; }

.price-nav dt .link {
	display: inline-block;
	background: url(img/share/ico-arrow-green.svg) no-repeat right top 4px / 6px auto;
	padding-right: 15px;
}

.price-nav dd .list-block li {
	display: inline-block;
	background: rgba(251, 250, 249, 0.5);
	border: 1px solid var(--color-green-light);
	border-radius: 18px;
	margin-right: 4px;
	padding: 11px 14px 9px 15px;
	color: var(--color-green);
	font-size: 13px;
	white-space: nowrap;
}

.price-nav dd .list-arrow { display: flex; flex-wrap: wrap; justify-content: space-between; margin-top: 26px; }
.price-nav dd .list-arrow li { width: 50%; margin-bottom: 7px; }
.price-nav dd .list-arrow li:last-of-type,
.price-nav dd .list-arrow li:nth-last-of-type(2) { margin-bottom: 0; }

.price-nav dd .list-arrow li span {
	display: inline-block;
	padding: 0 10px 10px 0;
	color: var(--color-green);
	font-size: 13px;
	letter-spacing: 0.08em;
	white-space: nowrap;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

/* .price-list-nav-btm
------------------------------------*/
.price-list-nav-btm { position: relative; margin-bottom: 60px; z-index: 1; }
.price-list-nav-btm:after { border-radius: 55px; }
.price-list-nav-btm .price-nav { padding-top: 75px; padding-bottom: 65px; }
.price-list-nav-btm .price-nav .price-all { display: none; }

/* .price-list-contents
------------------------------------*/
.price-list-contents .contents-inner { padding-right: 10%; padding-left: 10%; }
.price-list-contents .title-page-wrap + .contents-inner { border-radius: 0; padding-right: 0; padding-left: 0; }

.title-page-wrap .payment-wrap { margin-top: 30px; }

.title-page-wrap .payment-wrap h2 {
	margin-bottom: 25px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: 0.14em;
	text-align: center;
}

.title-page-wrap .payment-wrap > div:first-of-type {
	background-color: #FFFFFF;
	border-radius: 6px;
	margin: 0 -6px;
	padding: 32px 26px 34px;
}

.title-page-wrap .payment-wrap dl > div {
	border-top: 1px solid var(--color-border);
	padding: 8px 2px 0;
}

.title-page-wrap .payment-wrap dl > div:not(:last-of-type) { margin-bottom: 24px; }

.title-page-wrap .payment-wrap dt {
	margin-bottom: 12px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 12px;
	letter-spacing: 0.13em;
}

.title-page-wrap .payment-wrap .attention-list { margin-top: 18px; }
.title-page-wrap .payment-wrap .attention-list li:not(:last-of-type) { margin-bottom: 4px; }

/* .sec-price
------------------------------------*/
.sec-price > h2 {
	overflow: hidden;
	position: relative;
	height: 55px;
	color: var(--color-green);
	font-size: 16px;
	letter-spacing: 0.1em;
	opacity: 0;
	transition: .4s ease-out;
}

.sec-price > h2 span {
	display: none;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	font-size: 19px;
	letter-spacing: 0.06em;
	text-align: center;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
	opacity: 0;
	transition: .4s ease-out;
}

.sec-price > h2.active,
.sec-price > h2 span.active { display: block; overflow: visible; opacity: 1; }

.sec-price .price-list { width: 100%; margin-bottom: -1px; }

/* .price-nav-anchor
------------------------------------*/
.price-nav-anchor { display: none; }

/* .price-list
------------------------------------*/
.price-list + .attention-list { margin-top: 18px; }
.price-inner-wrap { margin-bottom: 1px; }

.price-inner + p {
	margin-top: 18px;
	font-size: 12px;
	letter-spacing: 0.08em;
}

.price-title {
	position: relative;
	background: var(--gradient-green);
	border-radius: 3px;
	padding: 16px 16px 14px 42px;
}

.price-title.active { border-radius: 3px 3px 0 0; }

.price-inner-wrap:first-child:last-child .price-title {
	border-radius: 3px 3px 0 0;
	padding-left: 24px;
	pointer-events: none;
}

.price-title,
.price-title a { color: var(--color-bg); }

.price-title .plus { top: 21px; left: 17px; }
.price-inner-wrap:first-child:last-child .price-title .plus { display: none; }

.price-title .plus:before,
.price-title .plus:after { background-color: var(--color-bg); }

.price-title h3 { width: 100%; }
.price-title h3:has(.set) { padding-right: 90px; }

.price-title h3 a { pointer-events: none; }
.price-title h3 a:first-child { margin-top: 0; }
.price-title h3 a i { border-bottom: 1px solid rgba(255,255,255,0.7); }

.price-title h3 strong,
.price-title h3 strong > i > p { display: block; margin: 0; }

.price-title h3 strong br { display: none; }

.price-title h3 strong span {
	display: block;
	margin: 3px 0 0;
	font-size: 11px;
	line-height: 1.65;
	letter-spacing: 0.04em;
	text-align: justify;
}

.price-title h3 strong span + span { margin-top: 2px; }

.price-title h3 strong i.set {
	display: inline-block;
	position: absolute;
	top: 17px;
	right: 15px;
	background: var(--color-bg);
	border-radius: 10px;
	padding: 4px 6px 3px 7px;
	color: var(--color-green);
	font-size: 10px;
	line-height: 1;
	letter-spacing: 0.02em;
}

.price-title h3 em {
	display: block;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.08em;
}

.price-title p,
.price-title h3 strong > i {
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: 0.1em;
}

.price-title p br { display: none; }

/* .price-table
------------------------------------*/
.price-table-wrap {
	display: none;
	background-color: #FFFFFF;
	width: 100%;
	padding: 0 20px 20px;
}

.price-inner-wrap:first-child:last-child .price-table-wrap {
	display: block;
}

.price-table-wrap .post-link { margin-top: 10px; }
.price-table-wrap .post-link li { margin-bottom: 6px; }

.price-table {
	width: 100%;
	padding: 30px 0 0;
	font-size: 12px;
	letter-spacing: 0.04em;
	border-collapse: separate;
}

.price-table tr.hidden:not(.not-hidden) th,
.price-table tr.hidden:not(.not-hidden) td,
.price-table tr.hidden:not(.not-hidden) td * {
	overflow: hidden !important;
	border: none !important;
	height: 0 !important;
	padding: 0 !important;
	font-size: 0 !important;
}

.price-table th,
.price-table td {
	text-align: left !important;
}

.price-table.center th.left,
.price-table.center td.left {
	text-align: left !important;
	padding-left: 15px;
}

.price-table.center.th-left th:first-of-type {
	text-align: left !important;
	padding-left: 25px !important;
}

.price-table.even th,
.price-table.even td {
	width: 50% !important;
}

.price-table th {
	position: relative;
	padding: 11px 8px;
	font-size: 13px;
	line-height: 1.3;
	text-align: center;
	vertical-align: middle;
}

.price-table th:nth-of-type(1),
.price-table td:nth-of-type(1) { width: 115px; min-width: 115px; }
.price-table th:nth-of-type(2),
.price-table td:nth-of-type(2) { min-width: 55px; }
/*.price-table th:nth-of-type(3),
.price-table td:nth-of-type(3) { width: 45px; min-width: 45px; }*/
.price-table th:nth-of-type(4),
.price-table td:nth-of-type(4) { width: 65px; min-width: 65px; }

.price-table th:empty,
.price-table td:empty {
	width: 0;
	min-width: 0;
	padding-right: 0 !important;
}

.price-table th:first-of-type { letter-spacing: 0; }

.price-table .th-head th {
	padding: 0 8px 6px 0;
	font-size: 12px;
	letter-spacing: 0.08em;
	white-space: nowrap;
	font-family: var(--font-gothic-r-jp);
	color: var(--color-green);
}

.price-table .th-head th:first-of-type {
	padding-left: 4px;
	color: var(--color-green);
}

.price-table .th-head th:last-of-type,
.price-table td:last-of-type {
	padding-right: 2px;
	text-align: right !important;
}

.price-table th span,
.price-table td span {
	display: inline-block;
	margin-right: -1px;
	padding: 2px 0 0 1px;
	font-size: 10px;
	line-height: 1.5;
	letter-spacing: 0.04em;
}

.price-table th span { padding-top: 0; }
.price-table td span { padding-left: 2px; }

.price-table th span.size-m {
	padding: 6px 0 0 2px;
	font-size: 12px;
	line-height: 1.4;
}

.price-table th span.middle { font-size: 14px; padding: 0; }
.price-table th p { line-height: 1.7; }

.price-table td {
	border-top: 1px solid var(--color-border);
	padding: 8px 8px 14px 0;
	line-height: 1.6;
	letter-spacing: 0.02em;
	text-align: right;
}

.price-table.height td { padding-top: 30px; padding-bottom: 30px; }

.price-table td:first-of-type {
	max-width: 50%;
	padding-left: 2px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
}

.price-table td:last-of-type { font-size: 12px; }

.price-table td.txt-large {
	border-top: none;
	padding-top: 5px;
	padding-bottom: 15px;
	text-align: center !important;
}

.price-table td.txt-large a {
	color: var(--color-green);
	font-size: 13px;
	letter-spacing: 0.1em;
}

.price-table tr:has(td.txt-large) + tr:has(.attention-list) {
	display: none;
}

.price-table td.width {
	width: 210px !important;
	text-align: justify !important;
	letter-spacing: 0.02em !important;
}

.price-table td em,
.price-table.discount td:last-of-type {
	color: #676767;
	width: 35%;
	padding-left: 13px;
}

.price-table td div {
	display: inline-block;
	text-align: right;
	font-size: 14px;
	width: 95px;
	letter-spacing: 0.04em;
	color: #676767;
}

.price-table td div:nth-of-type(2) { width: 120px; margin-left: 5px; text-align: left; }
.price-table td.left div:nth-of-type(2) { margin-right: 45px; }

.price-table td em {
	padding-left: 2px;
	font-size: 16px;
}

.price-table td div em {
	color: #E36E6E;
	display: inline-block;
	width: 80px;
	text-align: right;
	white-space: nowrap;
}

.price-table td a { text-decoration: underline; text-decoration-thickness: 1px; }
.price-table .nowrap { white-space: nowrap !important; }
.price-table .left { text-align: left !important; }

.price-table .attention-list {
	margin: 10px 0 -5px;
}

.price-table .attention-list li {
	margin-bottom: 6px;
	padding-left: 18px;
	color: var(--color-text);
	font-size: 11px;
	line-height: 1.7;
	letter-spacing: 0.07em;
	text-align: justify;
}

/* .hair-removal-price-plan
------------------------------------*/
.hair-removal-price-plan {
	margin: 30px 0 70px;
}

.hair-removal-price-plan .list {
	font-family: var(--font-gothic-r-jp);
}

.hair-removal-price-plan .inner {
	position: relative;
	display: flex;
	background-color: #FFFFFF;
	border: 1px solid var(--color-green-light);
	border-radius: 6px;
	margin-bottom: 14px;
	padding: 12px 14px 9px 14px;
	color: var(--color-green);
}

.hair-removal-price-plan .inner:has(.ico) {
	min-height: 145px;
}

.hair-removal-price-plan .inner .ico {
	position: absolute;
	bottom: 14px;
	left: 14px;
	color: var(--color-gold);
	font-size: 10px;
	white-space: nowrap;
}

.hair-removal-price-plan .inner .ico span {
	display: inline-block;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.3em;
}

.hair-removal-price-plan .inner .ico strong {
	font-size: 16px;
}

.hair-removal-price-plan .inner .title {
	white-space: nowrap;
}

.hair-removal-price-plan .inner .title h4 {
	display: inline-block;
	border: 1px solid var(--color-green-light);
	border-radius: 20px;
	margin: 0 0 7px -1px;
	padding: 3px 7px 2px 8px;
	font-size: 10px;
	letter-spacing: 0.06em;
}

.hair-removal-price-plan .inner .title h3 {
	margin-bottom: 4px;
	font-size: 16px;
	line-height: 1.4;
	letter-spacing: 0.06em;
}

.hair-removal-price-plan .inner .title h5 {
	margin-left: 1px;
	font-size: 10px;
	letter-spacing: 0.04em;
}

.hair-removal-price-plan .inner .price {
	align-self: flex-end;
	width: 100%;
	padding-top: 24px;
	text-align: right;
}

.hair-removal-price-plan .inner .price h3 {
	position: relative;
	margin-bottom: 8px;
}

.hair-removal-price-plan .inner .price h3 i {
	margin-right: 4px;
	font-size: 12px;
	letter-spacing: 0.1em;
}

.hair-removal-price-plan .inner .price h3 i.en {
	margin-right: 2px;
	font-size: 18px;
}

.hair-removal-price-plan .inner .price h3 strong {
	font-family: var(--font-serif-r-en);
	font-size: 23px;
	letter-spacing: -0.01em;
}

.hair-removal-price-plan .inner .price h3 span.mark {
	position: absolute;
	top: -2px;
	right: -8px;
	font-size: 10px;
}

.hair-removal-price-plan .inner .price ul {
	margin-bottom: 2px;
	font-size: 10px;
	white-space: nowrap;
}

.hair-removal-price-plan .inner .price li {
	display: inline-block;
	margin-left: 6px;
	letter-spacing: 0.04em;
}

.hair-removal-price-plan .inner .price p {
	margin-top: 8px;
	font-size: 10px;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

.hair-removal-price-plan .attention-list { margin-top: 20px; }


/* page faq
---------------------------------------------------------------------------*/
.faq-nav-modal-dropdown {
	position: fixed;
	top: 134px;
	right: 22px;
}

.faq-nav-modal-dropdown h2 {
	margin: 6px 0 16px 3px;
	color: var(--color-green);
	font-size: 11px;
	letter-spacing: 0.1em;
}

/* .faq-nav
------------------------------------*/
.faq-nav { width: 85%; margin: 5px auto 55px; }
.faq-nav h2 { display: none; }

/* .faq-list
------------------------------------*/
.faq-list-wrap > div {
	border-top: 1px solid var(--color-border);
	padding: 17px 27px 40px 17px;
}

.faq-list-wrap h2 {
	margin-bottom: 20px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 18px;
	letter-spacing: 0.14em;
}

.faq-list-wrap h2:has(+ .faq-child) { margin-bottom: 14px; }

.faq-list-wrap .faq-list {
	padding-left: 43px;
}

.faq-list > div { border-bottom: 1px solid var(--color-border); }
#faqContents .faq-list > div:not(:first-of-type):last-of-type { border-bottom: none; }
.treatment-faq .faq-list > div { border-bottom: 1px solid var(--color-border) !important; }
.treatment-faq .faq-list > div:last-of-type { border-bottom: none !important; }

.faq-list dt {
	position: relative;
	padding: 17px 35px 14px 30px;
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

.faq-list dt.active { color: var(--color-green); }

.faq-list dt i.q {
	display: block;
	position: absolute;
	top: 17px;
	left: 4px;
	color: var(--color-gold);
	font-family: var(--font-serif-r-en);
}

.faq-list dt:after {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	right: 20px;
	background: url(img/share/ico-arrow-down.svg) no-repeat;
	background-size: 24px 24px;
	width: 24px;
	height: 24px;
	margin-top: -12px;
	transition: .15s ease-out;
}

.faq-list dt.active:after { transform: rotate(-180deg); }

.faq-list dd {
	display: none;
	position: relative;
	padding: 0 7px 30px 4px;
	text-align: justify;
}

.faq-list dd,
.faq-list dd p {
	line-height: 1.85;
	letter-spacing: 0.06em;
	padding-left: 15px;
}

.faq-list dd br { display: none; }
.faq-list dd p a { color: var(--color-green); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.1em; }
.faq-list dd .post-link { margin: 16px 0 0 -4px; }
.faq-list dd .post-link li { margin: 0 4px 12px 0px; }
.faq-list dd .post-link li a { padding-top: 8px; padding-bottom: 6px; font-size: 13px; }

/* .faq-child
------------------------------------*/
.faq-child { padding: 0 0 0 6px; }

.faq-child h3 {
	position: relative;
	border-bottom: 1px solid var(--color-border);
	padding: 20px 0 4px 27px;
	font-family: var(--font-gothic-r-jp);
	color: var(--color-green);
	font-size: 14px;
	line-height: 1.7;
	letter-spacing: 0.1em;
}

.faq-child h3 i { top: 26px; left: 7px; }
.faq-child-inner { display: none; padding-bottom: 35px; }

.faq-child-inner h4 {
	align-self: flex-start;
	position: sticky;
	top: 25px;
	left: 0;
	margin: 20px 34px 0 -34px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 12px;
	letter-spacing: 0.12em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.faq-grandchild {
	position: relative;
	margin: 0 0 0 40px;
	padding: 6px 0 24px;
}

.faq-grandchild:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: -34px;
	background-color: var(--color-border);
	width: calc(100% + 34px);
	height: 1px;
}

.faq-grandchild:last-of-type:after { margin-bottom: 0; padding-bottom: 0; }

.faq-grandchild .flex { display: flex; }
.faq-grandchild .faq-list { padding-left: 0; }
.faq-grandchild .btn-link { margin: 12px 0 20px; }


/* page dermatology machine
---------------------------------------------------------------------------*/
#dermatology-machineContents .sec-lead {
	margin-bottom: 75px;
}

/* .machine-list
------------------------------------*/
.machine-list {
	background: var(--line-dot-green);
	background-position: left top;
	margin: 0 auto;
}

.machine-list .inner {
	position: relative;
	background: var(--line-dot-green);
	padding: 70px 9% 75px;
}

.machine-list .inner:has(h2 span) { padding-top: 92px; }

.machine-list figure { margin-bottom: 20px; }
.machine-list figure img:not(:last-of-type) { display: block; margin-bottom: 2px; }

.machine-list .txt h2 {
	position: absolute;
	top: 12px;
	left: 16px;
	color: var(--color-green);
	font-size: 18px;
	line-height: 1.65;
	letter-spacing: 0.11em;
}

.machine-list .txt h2 span {
	display: block;
	font-family: var(--font-gothic-r-jp);
	font-size: 12px;
	letter-spacing: 0.12em;
}

.machine-list .txt h3 {
	display: flex;
	margin-bottom: 13px;
	font-size: 13px;
	line-height: 1.85;
	letter-spacing: 0.08em;
}

.machine-list .txt h3 span {
	margin-right: 14px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 12px;
	white-space: nowrap;
	transform: translateY(1px);
}

.machine-list .txt h3 span i { display: none; }

.machine-list .txt h4 {
	position: relative;
	margin: 20px 0 4px;
	padding-left: 17px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 14px;
	line-height: 1.7;
	letter-spacing: 0.1em;
}

.machine-list .txt h4:before {
	display: block;
	content: '';
	position: absolute;
	top: 8px;
	left: 2px;
	background-color: var(--color-gold);
	border-radius: 50%;
	width: 5px;
	height: 5px;
}

.machine-list .txt h4 span {
	padding-left: 2px;
	font-size: 14px;
	letter-spacing: 0.1em;
}

.machine-list .txt p { letter-spacing: 0.06em; text-align: justify; }
.machine-list .txt p br { display: none; }
.machine-list .txt .btn-link { margin: 23px 0 0 -3px; }


/* treatment (dermatology single / beauty single)
---------------------------------------------------------------------------*/
.treatment-point,
.treatment-layout,
.treatment-flow,
.treatment-faq,
.treatment-price,
.treatment-page-list { border-top: 1px solid var(--color-border); margin-top: 80px; padding: 19px 8% 0 40px; }

.treatment-page-list { padding-right: 0; padding-left: 0; }

.treatment-flow,
.treatment-faq { padding-left: 30px; }

.treatment-price,
.sec-price { padding-left: 3.5%; padding-right: 3.5%; }

.treatment-point h2.title-line,
.treatment-layout h2.title-line,
.treatment-flow h2.title-line,
.treatment-faq h2.title-line { margin: 0 0 40px -25px; }

.treatment-flow h2.title-line,
.treatment-faq h2.title-line { margin-left: -15px; }

.treatment-layout h5 br { display: none; }

/* .treatment-nav
------------------------------------*/
.treatment-nav { padding: 0 35px; }
.treatment-nav .btn-back { display: none !important; }

.treatment-nav .en {
	margin-bottom: 12px;
	color: var(--color-bg);
	font-family: var(--font-gothic-m-en);
	font-size: 12px;
	letter-spacing: 0.08em;
}

.treatment-nav h1 {
	margin-bottom: 20px;
	color: var(--color-bg);
	font-size: 24px;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

.treatment-nav .category-clinic {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 -14px 2px;
	opacity: 0;
}

.treatment-nav .category-clinic li {
	position: relative;
	overflow: hidden;
	margin: 0 16px 16px 0;
	padding-top: 1px;
	padding-left: 19px;
	color: var(--color-bg);
	font-family: var(--font-gothic-m-en);
	font-size: 12px;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.treatment-nav .category-clinic li:after {
	display: block;
	content: '';
	position: absolute;
	top: 3px;
	left: 2px;
	background-repeat: no-repeat;
	width: 8px;
	height: 6px;
	opacity: 0;
}

.treatment-nav .category-clinic li:after {
	top: 30px;
	left: -50px;
	background-image: url(img/share/ico-check-green.svg);
	z-index: 2;
}

.treatment-nav .category-clinic li i {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background-color: inherit;
	border: 1px solid var(--color-bg);
	border-radius: 1px;
	width: 13px;
	height: 13px;
	z-index: 0;
}

.treatment-nav .category-clinic li:after { transition: 1s var(--easeInQuart) .2s; }
.treatment-nav .category-clinic li i { transition: .3s ease-in-out .9s; }
.treatment-nav .category-clinic li.current.active:after { top: 3px; left: 2px; opacity: 1; }
.treatment-nav .category-clinic li.current.active i { background-color: #FFFFFF; }
.treatment-nav nav { display: none; }
.treatment-nav .btn-reserve { display: none; }
.treatment-nav .btn-reserve a { display: block; }
.treatment-nav .btn-reserve div { margin-top: 7px; }
.treatment-nav .btn-reserve div:first-of-type { margin-bottom: 14px; }

.treatment-nav .btn-reserve div span {
	display: inline-block;
	background: var(--gradient-green);
	padding: 3px 2px 1px 4px;
	color: #FFFFFF;
	font-size: 14px;
	letter-spacing: 0.1em;
}

.treatment-nav .btn-reserve div:first-of-type span {
	padding: 4px 3px 2px 5px;
	font-size: 12px;
	letter-spacing: 0.2em;
}

.treatment-nav .btn-reserve strong {
	font-size: 15px;
	letter-spacing: 0.1em;
}


/* .treatment-contents
---------------------------------------------------------------------------*/
.treatment-contents {
	position: relative;
	width: 100%;
	padding: 45px 0 45px;
	word-break: break-all;
}

.treatment-contents #treatment-top { overflow: hidden; }
.treatment-contents #treatment-top > section { margin-bottom: 60px; }
.treatment-contents #treatment-top > section:last-of-type { margin-bottom: 0 !important; padding-bottom: 60px; }
.treatment-contents #treatment-top > section > .sec-inner { width: 100%; margin: 0 auto; }

.treatment-contents figure img { max-width: 100%; }

.treatment-contents .treatment-point figure span:not(:has([src$=".png"])),
.treatment-contents .treatment-layout figure span:not(:has([src$=".png"])) {
	display: block;
	position: relative;
	background-color: #FFFFFF;
}

.treatment-contents .treatment-point figure span:not(:has([src$=".png"])):before,
.treatment-contents .treatment-layout figure span:not(:has([src$=".png"])):before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	border: 1px solid #FFFFFF;
	width: 100%;
	height: 100%;
}

.treatment-contents .img-set { margin-top: 25px; }
.treatment-contents .img-set:not(:last-child) { margin-bottom: 25px; }

.treatment-contents .img-m { margin-bottom: 25px; }
.treatment-contents .img-m figure { margin-bottom: 15px; }

.treatment-contents .img-s { text-align: center; }

.treatment-contents .img-l:first-of-type,
.treatment-contents .img-m:first-of-type,
.treatment-contents .img-s:first-of-type { margin-top: 0; }

.treatment-contents .img-l:last-of-type,
.treatment-contents .img-m:last-of-type,
.treatment-contents .img-s:last-of-type { margin-bottom: 0; }

.treatment-contents figcaption {
	width: 100%;
	margin-top: 13px;
	font-size: 11px;
	line-height: 1.7;
	letter-spacing: 0.07em;
}


/* .treatment-recommend
------------------------------------*/
.treatment-recommend {
	display: flex;
	flex-wrap: wrap;
	border-bottom: 1px solid var(--color-border);
	margin-right: auto !important;
	margin-left: auto !important;
	padding: 0 6% 55px !important;
}

.treatment-recommend-head {
	order: 2;
	width: 100%;
	margin-bottom: 32px;
	padding: 0 10px 32px;
	color: var(--color-green);
	border-bottom: 1px solid var(--color-border);
}

.treatment-recommend-head .title {
	margin-bottom: 24px;
}

.treatment-recommend-head .title h2 {
	margin-bottom: 6px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.treatment-recommend-head .title h2 strong {
	font-size: 19px;
	padding-right: 4px;
}

.treatment-recommend-head .title h2 em {
	font-family: var(--font-gothic-r-jp);
	font-size: 12px;
}

.treatment-recommend-head .title ul {
	margin-left: -1px;
}

.treatment-recommend-head .title li {
	display: inline-block;
	border: 1px solid var(--color-green);
	border-radius: 20px;
	margin-right: 3px;
	padding: 4px 7px 3px 8px;
	font-size: 10px;
	letter-spacing: 0.02em;
}

.treatment-recommend-head .price {
	margin-bottom: 2px;
}

.treatment-recommend-head .price em {
	font-family: var(--font-gothic-r-jp);
	font-size: 14px;
	letter-spacing: 0.08em;
}

.treatment-recommend-head .price strong {
	padding: 0 6px 0 4px;
	font-family: var(--font-serif-r-en);
	font-size: 28px;
	letter-spacing: 0;
}

.treatment-recommend-head .price strong span {
	padding-right: 4px;
	font-size: 22px;
}

.treatment-recommend-head .price i {
	font-family: var(--font-gothic-r-jp);
	font-size: 11px;
	letter-spacing: 0.1em;
}

.treatment-recommend-head .price-wrap p {
	font-family: var(--font-gothic-r-jp);
	font-size: 13px;
	letter-spacing: 0.02em;
}

.treatment-recommend-img { order: 1; width: 100%; margin-bottom: 30px; }
.treatment-recommend-img > div { position: relative; }
.treatment-recommend-img figure img { width: 100%; }

.treatment-recommend-img .pickup-visit {
	top: 10px;
	left: 10px;
	transform-origin: left top;
	transform: scale(0.6) !important;
}

.treatment-recommend-point { order: 3; width: 100%; padding: 0 5px; }

.treatment-recommend-point h3 {
	width: 100%;
	margin-bottom: 20px;
	color: var(--color-green);
	font-size: 16px;
	line-height: 1.7;
	letter-spacing: 0.14em;
	text-align: center;
}

.treatment-recommend-point .treatment-num-list { margin: 0; }
.treatment-recommend-point .treatment-num-list li { margin-bottom: 7px; padding-left: 24px; font-size: 14px; letter-spacing: 0.08em; }
.treatment-recommend-point .treatment-num-list li:before { content: counters(count-number,'.') '.'; top: -2px; font-size: 16px; }

/* .treatment-img-main
------------------------------------*/
.treatment-img-main { margin-bottom: 40px; padding: 0 7%; }
.treatment-img-main figure { margin: 0 auto; }
.treatment-img-main img { width: 100%; border-radius: 2px; }

/* .treatment-lead
------------------------------------*/
.treatment-lead {
	margin-top: 30px;
	margin-bottom: 60px !important;
	padding: 0 10%;
}

.treatment-lead h2,
.treatment-lead-img .txt h2 {
	margin-bottom: 16px;
	color: var(--color-green);
	font-size: 18px;
	line-height: 1.8;
	letter-spacing: 0.16em;
}

.treatment-lead p,
.treatment-trouble p,
.treatment-point .inner p,
.treatment-layout p {
	line-height: 2.0;
	letter-spacing: 0.06em;
	text-align: justify;
}

.treatment-lead p br,
.treatment-trouble p br,
.treatment-point .inner p br,
.treatment-layout p br { display: none; }

.treatment-lead p.attention,
.treatment-lead-img .txt p.attention,
.treatment-trouble p.attention,
.treatment-point .inner p.attention,
.treatment-layout p.attention { margin-top: -6px; font-size: 11px; line-height: 1.9; }

.treatment-layout h5 + p.attention { margin-top: 0; }
.treatment-layout .table-common + p.attention { margin-top: -25px; }
.treatment-layout .btn-set + p.attention { margin-top: 10px; }

.treatment-point .img-l img,
.treatment-layout .img-l img { max-width: 100%; }

.treatment-lead .btn-set { margin: 20px 0 0 -4px; }

/* .treatment-lead-img
------------------------------------*/
.treatment-lead-img { margin: 60px auto 90px; padding: 0 10%; }
.treatment-lead-img:first-child { margin-top: 0; }
.treatment-lead-img figure { width: 80%; margin: 0 auto 35px; }
.treatment-lead-img .txt p { text-align: justify; }
.treatment-lead-img .txt .btn-set { margin-top: 25px; }

/* .treatment-attention
------------------------------------*/
.treatment-attention { width: 84%; margin: 40px auto 80px; }
.treatment-lead + .treatment-attention,
.treatment-lead-img + .treatment-attention { margin-top: -25px; }

.treatment-attention .sec-inner {
	position: relative;
	background-color: var(--color-bg-green);
	border-radius: 6px;
	margin: 0 auto !important;
	padding: 26px 26px 22px 62px;
}

.treatment-attention .sec-inner:before {
	display: block;
	content: '';
	position: absolute;
	top: 26px;
	left: 22px;
	background: url(img/share/ico-attention.svg) no-repeat left top;
	width: 22px;
	height: 22px;
}

.treatment-attention h3 {
	margin-bottom: 8px;
	color: var(--color-green);
	font-size: 15px;
	line-height: 1.7;
	letter-spacing: 0.1em;
	text-align: justify;
	font-family: var(--font-gothic-r-jp);
}

.treatment-attention p {
	line-height: 1.95;
	text-align: justify;
}

.treatment-attention p a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

/* .treatment-trouble
------------------------------------*/
.treatment-trouble {
	margin-bottom: 90px;
	margin-top: -85px;
	padding: 85px 10% 0;
}

.treatment-trouble .chart {
	width: 200px;
	margin: 30px auto 40px;
}

.treatment-trouble .chart:has(figure + figure) {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px 20px;
	width: 100%;
}

.treatment-trouble .chart figure:not(:last-of-type) { margin-bottom: 25px; }
.treatment-trouble .chart:has(figure + figure) figure { margin: 0 !important; }

.treatment-trouble .chart figcaption {
	margin-top: 12px;
	font-size: 12px;
	line-height: 1.6;
	letter-spacing: 0.12em;
	text-align: center;
}

.treatment-trouble h2 {
	margin-bottom: 25px;
	font-size: 16px;
	text-align: center;
}

.treatment-trouble ul {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 11px 11px;
	margin-bottom: 20px;
}

.treatment-trouble li {
	position: relative;
	background: var(--gradient-green);
	border-radius: 4px;
	padding: 38px 10px 15px;
	color: #FFFFFF;
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0.08em;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}

.treatment-trouble li:before {
	display: block;
	content: '';
	position: absolute;
	top: 14px;
	left: 50%;
	transform: translateX(-50%);
	background: url(img/share/ico-check.svg) no-repeat left top / 100% auto;
	width: 13px;
	height: 13px;
	filter: saturate(50%);
}

/* .treatment-point
------------------------------------*/
.treatment-point h2 { margin-bottom: 55px !important; }
.treatment-point .inner { margin-bottom: 40px; }
.treatment-point .inner:has(.img-set),
.treatment-point .inner:has(.btn-set) { margin-bottom: 50px; }
.treatment-point .inner:not(:has(.txt)) { margin-bottom: 25px; }
.treatment-point .inner:last-of-type { margin-bottom: 0; }

.treatment-point .inner > i {
	display: block;
	margin-bottom: 10px;
	font-family: var(--font-serif-r-en);
	color: var(--color-gold);
	font-size: 13px;
	letter-spacing: 0.16em;
	white-space: nowrap;
}

.treatment-point .inner h3 {
	margin-bottom: 15px;
	color: var(--color-green);
	font-size: 17px;
	line-height: 1.75;
	letter-spacing: 0.12em;
}

.treatment-point .inner:not(:has(.inner dd .txt)) h3 {
	font-size: 16px;
}

.treatment-point .inner h4 {
	margin: 30px 0 8px;
	color: var(--color-green);
	font-size: 15px;
	line-height: 1.75;
	letter-spacing: 0.12em;
}

.treatment-point .inner .btn-set { margin: 22px 0 0; }
.treatment-point .inner .flex .img-s + .img-s { margin-top: 25px; }

/* .treatment-layout
------------------------------------*/
.treatment-point h2.title-line,
.treatment-layout h2.title-line {
	margin-bottom: 55px;
	line-height: 1.6;
	/* text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em; */
}

.treatment-layout .img-txt:not(:last-of-type) { margin-bottom: 45px; }
.treatment-layout .img-txt:has(+ .btn-set) { margin-bottom: 30px; }
.treatment-layout .img-txt:has(+ h5) { margin-bottom: 30px !important; }

.treatment-layout .img-txt figure {
	margin-bottom: 30px !important;
}

.treatment-layout .img-txt .txt h6 {
	margin-bottom: 11px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 14px;
	line-height: 1.85;
	letter-spacing: 0.12em;
}

/* .treatment-layout .img
------------------------------------*/
.treatment-layout .img-l:not(:first-child),
.treatment-layout .img-m:not(:first-child) { margin-top: 20px; }
.treatment-layout .img-l:not(:last-child),
.treatment-layout .img-m:not(:last-child) { margin-bottom: 45px; }

/* .treatment-layout .dl-side
------------------------------------*/
.treatment-layout .txt + .dl-side { margin-top: 45px; }
.treatment-layout .txt + .dl-side:not(:has(dt)) { margin-top: 30px; }

.treatment-layout .dl-side > div {
	background: left bottom url(img/share/line-dot.svg) repeat-x;
	margin-bottom: 43px;
	padding-bottom: 43px;
}

.treatment-layout .dl-side > div:last-of-type {
	background: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.treatment-layout .dl-side dt {
	margin-bottom: 20px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 17px;
	line-height: 1.7;
	letter-spacing: 0.12em;
	/* text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em; */
}

.treatment-layout .dl-side dd { width: 100%; }

.treatment-layout .dl-side dd h4,
.treatment-layout .dl-side dd h5 {
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.treatment-layout .dl-side dd h4 { margin: 40px 0 10px; font-size: 16px; }
.treatment-layout .dl-side dd h5 { margin: 35px 0 18px; font-size: 15px; }

.treatment-layout .dl-side dd h4:first-child,
.treatment-layout .dl-side dd h5:first-child { margin-top: 0; }

.treatment-layout .dl-side dd .btn-set { display: inline-block; margin-top: 22px; }
.treatment-layout .dl-side dd .btn-set + .btn-set { margin-top: 0; }
.treatment-layout .dl-side dd h5 + .btn-set { margin-top: 15px; }
.treatment-layout .dl-side dd .btn-set:has(+ .img-txt) { margin-bottom: 60px; }
.treatment-layout .dl-side dd .img-txt + .btn-set { margin-top: 0; }
.treatment-layout .dl-side dd .type-list .btn-set { margin-top: 12px; }
.treatment-layout .dl-side dd .type-list .btn-set a { font-size: 12px; }

/* .type-list
------------------------------------*/
.treatment-layout .type-list { margin-top: 40px; }
.treatment-layout .type-list:first-child { margin-top: 30px; }

.treatment-layout .type-list .inner {
	display: flex;
	background: left bottom url(img/share/line-dot.svg) repeat-x;
  padding-bottom: 25px;
}

.treatment-layout .type-list .inner:has(.btn-set) { padding-bottom: 20px; }
.treatment-layout .type-list .inner:last-of-type { background: none; padding-bottom: 0; }
.treatment-layout .type-list .inner:not(:last-of-type) { margin-bottom: 30px; }

.treatment-layout .type-list figure { width: 90px; min-width: 90px; }
.treatment-layout .type-list figure + .txt { padding: 0 0 0 20px; }
.treatment-layout .type-list .txt h4 { margin-bottom: 6px; font-size: 15px; }

.treatment-layout .type-list .txt p {
	font-size: 13px;
	line-height: 1.9;
	letter-spacing: 0.04em;
}

/* .treatment-dot-list
------------------------------------*/
.treatment-dot-list { margin: 15px 0 25px; }
.treatment-dot-list:first-child { margin-top: 0; }
.treatment-dot-list:last-child { margin-bottom: 0; }
.treatment-dot-list .dot-list li { margin-bottom: 7px; line-height: 1.8; }
.treatment-dot-list .dot-list li:before { top: 8px; }
.treatment-dot-list .dot-list li br { display: none; }

/* .treatment-num-list
------------------------------------*/
.treatment-num-list { counter-reset: count-number; margin: 45px 0 45px; }
.treatment-num-list:first-child { margin-top: 0; }
.treatment-num-list:last-child { margin-bottom: 0; }

.treatment-layout .dl-side dd h4 + .treatment-num-list,
.treatment-layout .dl-side dd h5 + .treatment-num-list { margin-top: 20px; }

.treatment-num-list:has(+ .btn-set) { margin-bottom: 10px; }
.treatment-num-list:has(+ p) { margin-bottom: 25px; }

.treatment-num-list li {
	position: relative;
	margin-bottom: 6px;
	padding: 0 0 0 34px;
	font-family: var(--font-gothic-r-jp);
	font-size: 15px;
	line-height: 1.75;
	letter-spacing: 0.1em;
}

.treatment-num-list li:before {
	display: block;
	counter-increment: count-number;
  content: counters(count-number,'.') '.';
	position: absolute;
	top: 0;
	left: 2px;
	font-family: var(--font-serif-r-en);
	color: var(--color-gold);
	font-size: 16px;
	letter-spacing: 0;
	white-space: nowrap;
}

/* .treatment-layout .table-common
------------------------------------*/
.treatment-layout .table-common-wrap.fixed { margin-right: -10%; padding-right: 10%; overflow-x: scroll; }
.treatment-layout .table-common-wrap.fixed .table-common { width: 150vw; }

.treatment-layout .table-common-wrap { margin: 35px 0 35px; }
.treatment-layout .table-common-wrap:first-child { margin-top: 0; }
.treatment-layout .table-common-wrap:last-child { margin-bottom: 0; }
.treatment-layout .table-common-wrap:has(+ .btn-set) { margin-bottom: 25px; }
.treatment-layout .table-common-wrap:has(+ .attention) { margin-bottom: 20px; }
.treatment-layout h5 + .table-common-wrap { margin-top: 20px; }

/* .treatment-flow
------------------------------------*/
.treatment-flow h2.title-line {
	margin-bottom: 40px;
}

.flow-list { background: left top url(img/share/line-dot.svg) repeat-x; }
.flow-list > div { background: left bottom url(img/share/line-dot.svg) repeat-x; }

.flow-list dt {
	position: relative;
	padding: 15px 35px 12px 30px;
	color: var(--color-green);
}

.flow-list dt h3 {
	font-family: var(--font-gothic-r-jp);
	font-size: 15px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.flow-list dt h3 i {
	display: block;
	position: absolute;
	top: 15px;
	left: 9px;
	color: var(--color-gold);
	font-family: var(--font-serif-r-en);
	font-size: 17px;
}

.flow-list dt.active i.plus { transform: rotate(225deg); }

.flow-list dd {
	display: none;
	padding: 0 7px 40px;
}

.flow-list dd,
.flow-list dd p {
	font-size: 13px;
	letter-spacing: 0.08em;
	text-align: justify;
	padding-left: 15px;
}

.flow-list dd p a {
	color: var(--color-green);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

.flow-list dd p.attention {
	margin-top: -6px;
	font-size: 11px;
	line-height: 1.8;
}

/* .treatment-faq
------------------------------------*/
.treatment-faq { position: relative; }
.treatment-faq h2 { margin-bottom: 30px !important; }

.faq-sort-nav-btn {
	display: inline-block;
	position: absolute;
	top: 18px;
	right: 14px;
	background: var(--gradient-green-color);
	border-radius: 100px;
	padding: 8px 12px 6px 32px;
	color: #FFFFFF;
	font-size: 14px;
	letter-spacing: 0.12em;
	white-space: nowrap;
	z-index: 10;
}

.faq-sort-nav-btn i {
	display: block;
	position: absolute;
	top: 7px;
	left: 12px;
	background: url(img/share/ico-arrow-down-green-light.png) no-repeat left top / 14px 14px;
	width: 14px;
	height: 14px;
	transition: .2s var(--easeOutCubic);
}

.faq-sort-nav-btn.active i { transform: rotate(180deg); }
.faq-sort-nav ul { position: absolute; top: 64px; right: 14px; }

/* .treatment-price
------------------------------------*/
.treatment-price h2 { margin: 0 0 40px 5px; }
.treatment-price .sec-inner-s { padding: 0 10px 0 25px; }

.treatment-price .sec-inner-s > h3 {
	margin-bottom: 15px;
	color: var(--color-green);
	font-size: 14px;
	letter-spacing: 0.1em;
}

.sec-price-title .title-line { margin-bottom: 28px; }
.treatment-price .sec-inner-s > p { text-align: justify; }
.treatment-price .sec-inner-s > p br { display: none; }

/* .treatment-page-list
------------------------------------*/
.treatment-page-list h2.title-line {
	margin: 0 0 45px 16px;
}

.treatment-page-list h2.title-line.in {
	margin: 35px 0 40px;
	padding: 0 9.5%;
}

.treatment-page-list h2.title-line + p {
	margin: -10px 0 40px;
	padding: 0 9.5%;
	letter-spacing: 0.07em;
	text-align: justify;
}

.treatment-page-list h2.title-line + p br { display: none; }

/* .plist
------------------------------------*/
.treatment-contents .plist.top {
	display: block !important;
	width: 86%;
	margin: 0 auto 10px;
	transform: translateY(-30px);
}

.treatment-contents .plist.btm {
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #FFFFFF;
	width: 100%;
	padding: 17px;
}

.plist ul { display: flex; }
.plist li,
.plist li a { color: var(--color-green); }

.plist li {
	position: relative;
	margin-right: 22px;
	font-size: 11px;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

.plist li:last-of-type { transform: translateY(1.5px); }

.plist li:not(:last-of-type):after {
	display: block;
	content: '';
	position: absolute;
	top: 3px;
	right: -13px;
	background: url(img/share/ico-arrow-green-s.svg) no-repeat;
	width: 5px;
	height: 7px;
}

.plist li a,
.plist li > span {
	font-family: var(--font-gothic-m-en);
	letter-spacing: 0.02em;
}

.plist li a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

.plist li > span {
	display: inline-block;
	padding-top: 1px;
}


/* page beforeafter
---------------------------------------------------------------------------*/
#beforeafterContents { overflow: hidden; }

#beforeafterContents .anchor-nav-txt { margin-bottom: 65px; }

#beforeafterContents .anchor-nav-txt > h2 {
	display: block !important;
	margin-bottom: 16px;
	padding-top: 15px;
	color: var(--color-green);
	font-size: 20px;
	line-height: 1.7;
	letter-spacing: 0.1em;
	text-align: center;
}

/* .beforeafter-list
------------------------------------*/
.beforeafter-list .post {
	position: relative;
	margin: -75px 0 75px;
	padding-top: 75px;
}

.beforeafter-list .post:before {
	display: block;
	content: '';
	position: absolute;
	top: 65px;
	left: 0;
	background-color: var(--color-border);
	width: 100%;
	height: 1px;
}

.beforeafter-list .post:last-child { margin-bottom: 0; }

.beforeafter-list h2 {
	margin: 2px 0 25px 18px;
	line-height: 1.6;
}

.beforeafter-list h2 strong {
	display: inline-block;
	margin-right: 6px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 16px;
	letter-spacing: 0.13em;
	/* text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em; */
}

.beforeafter-list h2 em {
	display: inline-block;
	color: var(--color-gold);
	font-family: var(--font-gothic-r-en);
	font-size: 11px;
	letter-spacing: 0.11em;
	transform: translateY(-1px);
}

/* .beforeafter-scroll
------------------------------------*/
.beforeafter-scroll { overflow-x: scroll; display: flex; padding: 0 0 10px 18px; }
.beforeafter-scroll article { width: 125px; margin-right: 20px; }

.beforeafter-thumb figure {
	overflow: hidden;
	border-radius: 3px;
	width: 125px;
	height: 166px;
	margin-bottom: 16px;
}

.beforeafter-thumb figure img { object-fit: cover; width: 100%; height: 100%; }

.beforeafter-thumb .txt .age {
	margin-bottom: 8px;
	color: var(--color-green);
	font-size: 12px;
	line-height: 1.4;
	letter-spacing: 0.08em;
}

.beforeafter-thumb .txt dl { font-size: 12px; line-height: 1.4; letter-spacing: 0.02em; }
.beforeafter-thumb .txt dl > div { display: flex; margin-bottom: 2px; }
.beforeafter-thumb .txt dl > div:last-of-type { margin-bottom: 0; }
.beforeafter-thumb .txt dt { white-space: nowrap; }

/* .modal-beforeafter
------------------------------------*/
.modal-beforeafter {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10101;
	opacity: 0;
}

.modal-beforeafter .bg { display: none; }

.modal-beforeafter-close {
	position: absolute;
	top: calc(130vw + 19px);
	right: 0;
	z-index: 10102;
}

.modal-beforeafter-close.fixed { position: fixed; top: 0; margin-top: 0 !important; }
.modal-beforeafter-close span { display: block; padding: 25px 26px; }

.modal-beforeafter-category { display: none; }

.beforeafter-detail-wrap {
	display: block !important;
	background-color: var(--color-bg);
	width: 100%;
	height: 100dvh;
	opacity: 1 !important;
}

.beforeafter-detail { display: none; width: 100%; z-index: 1; opacity: 0; }
.slider-beforeafter,
.slider-beforeafter .slick-list,
.slider-beforeafter .slick-track { width: 100% !important; }
.slider-beforeafter .slick-dots { display: none !important; }

.slider-beforeafter .slick-arrow {
	position: absolute;
	right: 13px;
	background: url(img/share/ico-arrow-link.svg) no-repeat center top / 22px auto;
	width: 40px;
	height: 62px;
	text-indent: -9999px;
	z-index: 10;
}

.slider-beforeafter .slick-prev { top: calc(130vw + 190px); transform: scaleX(-1); }
.slider-beforeafter .slick-next { top: calc(130vw + 110px); }
.slider-beforeafter .slick-arrow.fixed { position: fixed; top: inherit !important; margin-top: 0 !important; }
.slider-beforeafter .slick-prev.fixed { bottom: 20px; }
.slider-beforeafter .slick-next.fixed { bottom: 100px; }

.slider-beforeafter .slick-arrow:before {
	display: block;
	position: absolute;
	bottom: 0;
	left: 5px;
	width: 30px;
	font-size: 11px;
	line-height: 1.5;
	letter-spacing: 0.06em;
	text-align: center;
	text-indent: 0;
}

.slider-beforeafter .slick-prev:before { content: '前の症例'; transform: scaleX(-1); }
.slider-beforeafter .slick-next:before { content: '次の症例'; }
.slider-beforeafter-thumb { display: none !important; }

.slider-beforeafter .inner {
	overflow-y: scroll;
	display: none;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100%;
	height: 100dvh;
	z-index: 1;
	opacity: 0;
	pointer-events: none;
}

.slider-beforeafter .inner.slick-current { pointer-events: all; }
.slider-beforeafter .inner:first-of-type { position: static !important; opacity: 1; }
.slider-beforeafter .inner .img { position: relative; width: 100vw; margin-bottom: 40px; }
.slider-beforeafter .inner .img img { object-fit: cover; width: 100vw; height: 100%; }

/* .slide-change
------------------------------------*/
.beforeafter-detail .slide-change {
	overflow: hidden;
	position: relative;
	width: 100vw;
	height: 130vw !important;
}

.beforeafter-detail .slide-change .mask {
	position: absolute;
	top: 0;
	right: 0;
	background: rgba(0,0,0,0.1);
	width: 100%;
	height: 100%;
	z-index: 20;
}

.beforeafter-detail .slide-change .before img.active {
	animation: before_vertical_start .6s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
	clip: rect(0px, 100vw, 130vw, 0px);
}
@keyframes before_vertical_start {
	0% { clip: rect(0px, 100vw, 130vw, 0px); }
	100% { clip: rect(0px, 50vw, 130vw, 0px); }
}

.beforeafter-detail .slide-change .after img.active {
	animation: after_vertical_start .6s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
	clip: rect(0px, 100vw, 130vw, 100vw);
}
@keyframes after_vertical_start {
	0% { clip: rect(0px, 100vw, 130vw, 100vw); }
	100% { clip: rect(0px, 100vw, 130vw, 50vw); }
}

.beforeafter-detail .inner .txt {
	position: relative;
	padding: 0 72px 40px 22px;
}

.beforeafter-detail .inner .txt > div {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.beforeafter-detail .inner .txt > div > * { width: 100%; }

.beforeafter-detail .inner .txt h2 {
	order: 1;
	display: block !important;
	margin-bottom: 7px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 18px;
	line-height: 1.6;
	letter-spacing: 0.12em;
}

.beforeafter-detail .inner .txt h3 {
	order: 2;
	margin-bottom: 32px;
	font-size: 14px;
	line-height: 1.7;
	letter-spacing: 0.07em;
}

.beforeafter-detail .inner .txt .point { order: 4; margin-top: 45px; }
.beforeafter-detail .inner .txt .point p { line-height: 1.95; text-align: justify; }
.beforeafter-detail .inner .txt .point p br { display: none; }
.beforeafter-detail .inner .txt .dl-line { order: 3; }
.beforeafter-detail .inner .txt p + .dot-list { margin-top: -5px; }
.beforeafter-detail .inner .txt .dot-list li { margin-left: 0; font-size: 13px; line-height: 1.7; letter-spacing: 0.06em; }
.beforeafter-detail .inner .txt .dot-list li:before { top: 8px; }


/* page column
---------------------------------------------------------------------------*/
body.column { background: none; }
body.column header,
body.column .btn-nav,
body.column .btn-search,
body.column .attention-news,
body.column footer,
body.column .btn-reservation-fix { display: none !important; }
body.column-top #mainContents { overflow: hidden; height: 100dvh; }
#columnContents { height: 100%; }

/* .column-wrap
------------------------------------*/
body.column .column-wrap { position: relative; height: 100%; color: #583F2A; }
body.column .font-serif { font-family: 'Times New Roman', '游明朝体', '游明朝', YuMincho, 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ＭＳ Ｐ明朝', 'MS PMincho', serif; }

/* .column-header
------------------------------------*/
body.column .column-header { width: 100%; height: 50px; }
body.column .column-header ul { display: -webkit-box; display: flex; flex-wrap: wrap; height: 100%; }
body.column .column-header li { width: 50%; min-width: 50%; height: 100%; }
body.column .column-header li:nth-of-type(1) { background-color: #F0E3D8; text-align: left; }
body.column .column-header li:nth-of-type(2) { background-color: #FFF9F4; text-align: right; }
body.column .column-header li a { display: block; position: relative; box-sizing: border-box; height: 100%; padding: 19px 36px 0; color: #583F2A; font-size: 12px; letter-spacing: 0.04em; }
body.column .column-header li a:before { display: block; content: ''; position: absolute; top: 20px; background: url(img/column/ico-arrow.svg) no-repeat; background-size: 100% auto; width: 12px; height: 11px; }
body.column .column-header li:nth-of-type(1) a { padding-right: 0; }
body.column .column-header li:nth-of-type(2) a { padding-left: 0; letter-spacing: 0; }
body.column .column-header li:nth-of-type(1) a:before { left: 15px; transform: scaleX(-1); }
body.column .column-header li:nth-of-type(2) a:before { right: 15px; }

/* .column-footer
------------------------------------*/
body.column .column-footer { margin-top: 80px; }
body.column .column-footer .share { float: right; overflow: hidden; margin: 0 calc(6% - 4px) 30px 0; }
body.column .column-footer .share h2 { display: inline-block; float: left; margin: 18px 14px 0 0; font-size: 12px; font-weight: bold; font-style: italic; letter-spacing: 0; }
body.column .column-footer .share ul { float: left; overflow: hidden; }
body.column .column-footer .share li { float: left; }
body.column .column-footer .share li a { display: block; padding: 4px; }
body.column .column-footer .share li img { width: 32px; height: auto; }
body.column .column-footer nav { clear: both; }
body.column .column-footer nav ul { display: -webkit-box; display: flex; flex-wrap: wrap; }
body.column .column-footer nav li { width: 50%; min-width: 50%; }
body.column .column-footer nav li:nth-of-type(1) { background-color: #F0E3D8; }
body.column .column-footer nav li:nth-of-type(2) { background-color: #FDF1DC; }
body.column .column-footer nav a { display: block; padding: 28px 0 28px; color: #583F2A; font-size: 15px; letter-spacing: 0.12em; text-align: center; }

/* .column-nav
------------------------------------*/
body.column .btn-nav-column { position: fixed; top: 12px; right: -56px; box-sizing: border-box; width: 56px; height: 50px; z-index: 10100; transition: .4s cubic-bezier(0.165, 0.84, 0.44, 1); opacity: 0; }
body.column .btn-nav-column.fix { right: 8px; opacity: 1; }
body.column .btn-nav-column div,
body.column .btn-nav-column span { display: inline-block; box-sizing: border-box; transition: all .2s; }
body.column .btn-nav-column div { position: relative; width: 26px; height: 17px; margin: 15px 0 0 15px; }
body.column .btn-nav-column span { position: absolute; left: 0; background-color: #583F2A; width: 100%; height: 1px; }
body.column .btn-nav-column span:nth-of-type(1) { top: 0; }
body.column .btn-nav-column span:nth-of-type(2) { top: 8px; }
body.column .btn-nav-column span:nth-of-type(3) { bottom: 0; }

/* .btn-nav-column.active
------------------------------------*/
body.column .btn-nav-column.active span:nth-of-type(1) { transform: translateY(8px) rotate(-45deg); }
body.column .btn-nav-column.active span:nth-of-type(2) { animation: active-menu-bar02 .4s forwards; opacity: 0; }
body.column .btn-nav-column.active span:nth-of-type(3) { transform: translateY(-8px) rotate(45deg); }
@-webkit-keyframes active-menu-bar02 {100%{ height: 0; }}
@keyframes active-menu-bar02 {100%{ height: 0; }}

/* .column-nav
------------------------------------*/
body.column .column-nav { display: none; position: fixed; top: 0; right: 0; box-sizing: border-box; background-color: #F0E3D8; width: 100%; height: 100vh; z-index: 10099; opacity: 0; }
body.column .column-nav-inner { overflow-y: scroll; box-sizing: border-box; width: 100%; max-height: 100%; padding: 70px 20px 110px; -webkit-overflow-scrolling: touch; }
body.column .column-nav .inner { position: relative; box-sizing: border-box; background-color: #FFFFFF; width: 100%; margin: 0 auto; padding: 15px 10px 5px; opacity: 0; }
body.column .column-nav .index { display: block; content: ''; position: absolute; top: -25px; left: 14px; background: url(img/column/column-index-bg.svg) no-repeat; background-size: 100% auto; height: 25px; }
body.column .column-nav .index img { width: auto; height: 25px; }
body.column .column-nav li { position: relative; white-space: nowrap; }
body.column .column-nav li:after { display: block; content: ''; position: absolute; bottom: 0; left: 0; background-color: #EEECEA; width: 100%; height: 1px; transform-origin: left top; }
body.column .column-nav li:last-of-type:after { display: none; }
body.column .column-nav li a { display: -webkit-box; display: flex; -webkit-box-align: center; align-items: center; padding: 14px 0 14px 12px; }
body.column .column-nav li figure { width: 60px; min-width: 60px; }
body.column .column-nav li figure img { width: 100%; height: auto; }
body.column .column-nav li .txt { padding-left: 22px; padding-bottom: 4px; }
body.column .column-nav li h2 { margin-bottom: 10px; }
body.column .column-nav li h2 i { display: inline-block; margin-right: 4px; }
body.column .column-nav li h2 i img { width: 11px; height: auto; opacity: 0.5; }
body.column .column-nav li h2 strong { display: inline-block; margin-right: 2px; color: #583F2A; font-size: 16px; letter-spacing: 0.15em; transform: translateY(1px); }
body.column .column-nav li h2 em { display: inline-block; transform-origin: left bottom; transform: scale(0.65); }
body.column .column-nav li p { color: #583F2A; font-size: 10px; letter-spacing: 0.12em; }

/* .column-index
------------------------------------*/
body.column .column-logo-wrap { position: absolute; top: 24px; left: 26px; width: 94px; text-align: center; transform-origin: left top; transform: scale(0.55); z-index: 4; }
body.column .column-logo { opacity: 0; }
body.column .column-logo img:first-of-type { display: block; width: 100%; height: auto; margin-bottom: 16px; }
body.column .column-index-wrap { position: absolute; bottom: 7.5vh; left: 50%; transform: translateX(-50%); box-sizing: border-box; width: 310px; }
body.column .column-index h2 { position: relative; height: 40px; margin: 0 0 52px 38px; z-index: 2; }
body.column .column-index h2 span { display: block; }
body.column .column-index h2 > span { position: absolute; top: 0; left: 0; }
body.column .column-index h2 > span > span { opacity: 0; }
body.column .column-index h2 .title1 { top: -54px; left: -52px; transform: rotate(-5deg); }
body.column .column-index h2 .title2 { top: 0; left: 0; }
body.column .column-index h2 .title3 { top: -4px; left: 164px; transform: rotate(-5deg); }
body.column .column-index h2 img { height: auto; }
body.column .column-index h2 .title1 img { width: 148px; }
body.column .column-index h2 .title2 img { width: 155px; }
body.column .column-index h2 .title3 img { width: 105px; }
body.column .column-index .txt { position: relative; z-index: 1; opacity: 0; }
body.column .column-index h1 { margin-bottom: 25px; }
body.column .column-index h1 img { width: 200px; height: auto; }
body.column .column-index p { margin-bottom: 10px; font-size: 13px; line-height: 1.95; letter-spacing: 0.13em; white-space: nowrap; opacity: 0.85; }
body.column .column-index .obj { position: absolute; top: 0; left: 0; z-index: 0; opacity: 0; }
body.column .column-index .obj1 { top: -115px; left: 180px; }
body.column .column-index .obj2 { top: 10px; left: -65px; }
body.column .column-index .obj3 { top: 120px; left: 195px; }
body.column .column-index .obj img { height: auto; }
body.column .column-index .obj1 img { width: 90px; }
body.column .column-index .obj2 img { width: 220px; }
body.column .column-index .obj3 img { width: 180px; }

/* .column-main
------------------------------------*/
body.column .column-main { position: relative; background-color: #FFFFFF; width: 100%; height: 100%; }
body.column-top .column-main { background-color: #FFFAF6; height: 100vh; }
body.column .column-main-inner { box-sizing: border-box; width: 100%; margin: 0; padding: 30px 7% 0; }
body.column .column-main-inner section { opacity: 0; }

/* .column-title
------------------------------------*/
body.column .column-title { margin-bottom: 55px; opacity: 0; }
body.column .column-title .title { float: right; width: 74%; margin: 0 -3.5% 5% 0; }
body.column .column-title .title img { width: 100%; height: auto; }
body.column .column-title h1 img { width: 100%; height: auto; -webkit-backface-visibility: hidden; }

/* .sec-common
------------------------------------*/
body.column .sec-common .inner { margin-bottom: 65px; }
body.column .sec-common .inner:last-of-type { margin-bottom: 0; }
body.column .sec-common .inner h2 { position: relative; margin-bottom: 16px; font-size: 18px; line-height: 1.7; letter-spacing: 0.16em; }
body.column .sec-common .inner h2 strong { display: inline-block; position: relative; z-index: 1; }
body.column .sec-common .inner p { margin-bottom: 15px; color: #A89F98; font-size: 15px; line-height: 2; letter-spacing: 0.12em; text-align: justify; }

/* .sec-illust-list
------------------------------------*/
body.column .sec-illust-list { margin-top: 80px; }
body.column .sec-illust-list h2 { margin-bottom: 5px; font-size: 17px; line-height: 1.6; letter-spacing: 0.2em; }
body.column .sec-illust-list .inner { display: -webkit-box; display: flex; border-bottom: 1px solid #EEE6E0; padding: 22px 0 28px; }
body.column .sec-illust-list .inner:last-of-type { border-bottom: none; padding-bottom: 0; }
body.column .sec-illust-list .inner figure { width: 110px; min-width: 110px; margin: 0 0 5px -10px; }
body.column .sec-illust-list .inner figure img { width: 100%; height: auto; }
body.column .sec-illust-list .inner .txt { padding: 5px 0 0 25px; }
body.column .sec-illust-list h3 { margin-bottom: 12px; font-size: 17px; line-height: 1.6; letter-spacing: 0.18em; }
body.column .sec-illust-list p,
body.column .sec-howto p { margin-bottom: 12px; color: #A89F98; font-size: 14px; line-height: 1.85; letter-spacing: 0.1em; text-align: justify; }

/* .sec-howto
------------------------------------*/
body.column .sec-howto { margin-top: 80px; }
body.column .sec-howto h2 { margin-bottom: 32px; }
body.column .sec-howto h2 span { display: inline-block; border: 1px solid #583F2A; padding: 7px 5px 5px 8px; font-size: 15px; letter-spacing: 0.1em; }
body.column .sec-howto .inner { display: -webkit-box; display: flex; -webkit-box-align: center; align-items: center; margin-bottom: 30px; }
body.column .sec-howto .inner:last-of-type { padding-bottom: 0; }
body.column .sec-howto .inner figure { align-self: flex-start; width: 100px; min-width: 100px; margin-left: -5px; }
body.column .sec-howto .inner figure img { width: 100%; height: auto; }
body.column .sec-howto .inner .txt { position: relative; padding-left: 15px; }
body.column .sec-howto h3 { position: relative; margin-bottom: 8px; padding-left: 20px; font-size: 15px; line-height: 1.6; letter-spacing: 0.12em; }
body.column .sec-howto h3 i { display: block; position: absolute; top: 0; left: 1px; }
body.column .sec-howto p.attention { font-size: 12px; letter-spacing: 0.1em; }

/* .sec-advice
------------------------------------*/
body.column .sec-advice { position: relative; margin-top: 120px; }
body.column .sec-advice h2 { margin-bottom: 25px; }
body.column .sec-advice h2 span { position: relative; display: inline-block; font-size: 17px; font-weight: bold; font-style: italic; }
body.column .sec-advice h2 span:after { display: block; content: ''; position: absolute; bottom: -5px; left: 0; background-color: #583F2A; width: 100%; height: 1px; opacity: 0.3; }
body.column .sec-advice figure { position: absolute; top: -70px; right: 0; width: 122px; }
body.column .sec-advice figure img { width: 100%; height: auto; }
body.column .sec-advice p { font-size: 14px; line-height: 1.9; letter-spacing: 0.12em; text-align: justify; }


/* page online
---------------------------------------------------------------------------*/
#onlineContents .sec-lead p { color: var(--color-green); }
#onlineContents .img-main { margin-bottom: 40px; padding: 0 7%; }

/* .online-lead
------------------------------------*/
.online-lead { margin-bottom: 70px; }
.online-lead .txt { padding: 0 10%; }

.online-lead .txt h2 {
	margin-bottom: 18px;
	color: var(--color-green);
	font-size: 18px;
	line-height: 1.8;
	letter-spacing: 0.16em;
}

.online-lead .txt p { margin-bottom: 8px; text-align: justify; }
.online-lead .txt p.attention { margin-top: 12px; font-size: 12px; }
.online-lead .txt p br { display: none; }

.online-lead .merit {
	background: var(--color-bg-green);
	border-radius: 6px;
	width: 86%;
	margin: 40px auto 0;
	padding: 36px 30px 32px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	text-align: center;
}

.online-lead .merit figure {
	height: 71px;
	margin-bottom: 7px;
	transform: scale(0.9);
}

.online-lead .merit li:nth-of-type(3) figure,
.online-lead .merit li:nth-of-type(4) figure { margin-bottom: 2px; }
.online-lead .merit li:nth-of-type(3) figure img { transform: translateX(6px); }

.online-lead .merit h3 {
	margin-bottom: 18px;
	font-size: 15px;
	line-height: 1.6;
	letter-spacing: 0.16em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

.online-lead .merit ul {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px 20px;
}

.online-lead .merit li h4 {
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.06em;
	white-space: nowrap;
}

/* .online-plan
------------------------------------*/
.online-plan {
	margin-bottom: 80px;
}

.online-plan > h2,
.online-flow .inner > h2,
.online-faq > h2 {
	margin-bottom: 16px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 16px;
	line-height: 1.75;
	letter-spacing: 0.12em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
}

.online-plan > h2,
.online-plan > p { padding: 0 10%; }

.online-plan > p { text-align: justify; }
.online-plan > p br { display: none; }

.online-plan-list {
	width: 86%;
	margin: 30px auto 40px;
}

.online-plan-list .inner {
	background-color: #FFFFFF;
	border: 1px solid var(--color-green);
	border-radius: 6px;
	margin-bottom: 14px;
	padding: 24px 24px 18px;
	text-align: center;
}

.online-plan-list h3 { margin-bottom: 13px; }

.online-plan-list h3 em {
	display: block;
	margin-bottom: 2px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0.14em;
}

.online-plan-list h3 strong {
	display: block;
	color: var(--color-green);
	font-size: 20px;
	line-height: 1.6;
	letter-spacing: 0.12em;
}

.online-plan-list h3 strong span { padding-left: 2px; font-size: 14px; }

.online-plan-list dl { margin-bottom: 20px; }

.online-plan-list dl > div {
	display: -webkit-box;
	display: flex;
	align-items: center;
	margin-bottom: 12px;
}

.online-plan-list dl > div:last-of-type { margin-bottom: 0; }

.online-plan-list dt {
	align-self: flex-start;
	background-color: #EDF0E9;
	border-radius: 2px;
	width: 45px;
	min-width: 45px;
	padding: 7px 4px 4px 6px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 12px;
	line-height: 1.4;
	letter-spacing: 0.1em;
}

.online-plan-list dl > div:not(:has(dd)) dt {
	width: 100%;
	height: 40px;
	padding-top: 12px;
}

.online-plan-list dd {
	padding: 0 0 0 16px;
	font-family: var(--font-gothic-r-jp);
	font-size: 13px;
	line-height: 1.75;
	letter-spacing: 0.04em;
	text-align: justify;
}

.online-plan-price {
	display: flex;
	justify-content: space-between;
	border-top: 1px solid var(--color-border);
	padding-top: 13px;
}

.online-plan-price > div {
	position: relative;
	width: 100%;
	color: var(--color-green);
	white-space: nowrap;
}

.online-plan-price > div:nth-of-type(1) { padding: 0 10px 0 5px; }
.online-plan-price > div:nth-of-type(2) { padding: 0 10px; }
.online-plan-price > div:nth-of-type(3) { padding: 0 5px 0 10px; }

.online-plan-price > div.column2 {
	padding: 6px 0 0 18px;
	text-align: left;
}

.online-plan-price > div:not(:last-of-type):after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	background: url(img/share/line-dot-v.svg) repeat-y left top;
	width: 1px;
	height: 100%;
}

.online-plan-price > div.column2 strong {
	display: block;
	margin-bottom: 2px;
	font-family: var(--font-gothic-r-jp);
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.online-plan-price > div.column2 em {
	display: block;
	color: var(--color-text);
	font-family: var(--font-gothic-r-jp);
	font-size: 11px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.online-plan-price > div strong {
	display: block;
	font-family: var(--font-gothic-r-jp);
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0.12em;
}

.online-plan-price > div em {
	display: block;
	font-family: var(--font-gothic-m-en);
	font-size: 18px;
	line-height: 1.6;
	letter-spacing: 0.02em;
}

.online-plan-price > div em span {
	padding-left: 2px;
	font-size: 11px;
}

/* .online-target
------------------------------------*/
.online-target {
	background-color: var(--color-bg-green);
	border-radius: 4px;
	width: 88%;
	margin: 0 auto;
	padding: 38px 30px 24px;
}

.online-target h3 {
	margin-bottom: 20px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 15px;
	line-height: 1.8;
	letter-spacing: 0.14em;
}

.online-target .time { margin-top: 30px; color: var(--color-green); }

.online-target .time h4 {
	margin-bottom: 3px;
	font-family: var(--font-gothic-r-jp);
	font-size: 13px;
	letter-spacing: 0.12em;
}

.online-target .time p {
	margin-left: 1px;
	font-size: 13px;
	letter-spacing: 0.1em;
}

.online-target .time p strong {
	font-family: var(--font-gothic-r-jp);
	font-size: 17px;
	padding: 0 4px 0 5px;
}

.online-target .check-list { margin-bottom: 12px; }

.online-target .check-list li {
	position: relative;
	padding-left: 23px;
	margin-bottom: 7px;
	font-size: 13px;
	line-height: 1.7;
	letter-spacing: 0.08em;
}

.online-target .check-list li:before {
	display: block;
	content: '';
	position: absolute;
	top: 5px;
	left: 2px;
	border: 1px solid var(--color-green);
	width: 11px;
	height: 11px;
}

.online-target .attention-list li { letter-spacing: 0.12em; }
.online-target + .btn-color { width: 88%; margin: 25px auto 0; }

/* .online-flow
------------------------------------*/
.online-flow { margin: 0 auto; }
.online-flow .inner { position: relative; background-color: #FFFFFF; margin: 0 auto 2px; padding: 50px 10%; }
.online-flow #online-flow2.inner { padding-top: 55px; padding-bottom: 20px; }
.online-flow .inner > p { text-align: justify; }
.online-flow .inner > p br { display: none; }
.online-flow .inner > .logo { position: absolute; top: 20px; right: 20px; width: 100px; }
.online-flow dl > div { background: url(img/share/line-dot.svg) repeat-x left bottom; padding: 20px 0 10px; }
.online-flow dl > div:last-of-type { margin-bottom: 0; }

.online-flow dt {
	position: relative;
	margin-bottom: 4px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 15px;
	line-height: 1.8;
	letter-spacing: 0.11em;
}

.online-flow dt i {
	display: inline-block;
	margin: 0 12px 0 2px;
	color: var(--color-gold);
	font-family: var(--font-serif-r-en);
	font-size: 16px;
	list-style: 1;
	letter-spacing: 0;
}

.online-flow dt i.left { margin-left: -1px; }
.online-flow dd p { line-height: 1.9; letter-spacing: 0.05em; text-align: justify; }
.online-flow dd p br { display: none; }

.online-flow dd p span {
	display: block;
	padding-top: 3px;
	font-size: 12px;
	line-height: 1.75;
	letter-spacing: 0.04em;
	text-align: left;
}

.online-flow dd a {
	color: var(--color-green);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

.online-flow dd strong { color: var(--color-green); }

.online-flow .inner-s {
	display: flex;
	border-top: 1px solid var(--color-border);
	margin-top: 15px;
	padding: 5px 0 0;
}

.online-flow .logo + .inner-s { margin-top: 30px; }

.online-flow .inner-s h3 {
	width: 15px;
	min-width: 15px;
	padding-top: 26px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 14px;
	letter-spacing: 0.3em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.online-flow .inner-s > dl { width: 100%; }
.online-flow .inner-s dl > div { padding-top: 20px; padding-bottom: 18px; padding-left: 24px; }
.online-flow .inner-s dl > div:last-of-type { background: none; }

.online-flow .inner-s .dl-wide dt {
	position: relative;
	padding-left: 22px;
	font-size: 14px;
	letter-spacing: 0.05em;
	text-align: justify;
}

.online-flow .inner-s .dl-wide dt i { position: absolute; top: 0; left: 0; }
.online-flow .inner-s .dl-wide dt br { display: none; }
.online-flow .inner-s .dl-wide dd { padding: 0; }

.online-flow .qr-list { margin: 22px 0 12px 2px; }
.online-flow .qr-list li { margin-bottom: 6px; }

.online-flow .qr-list li a {
	display: flex;
	justify-content: space-between;
	position: relative;
	background-color: var(--color-bg-green);
	border-radius: 6px;
	padding: 20px 18px 18px 20px;
	color: var(--color-green);
	text-decoration: none;
	white-space: nowrap;
}

.online-flow .qr-list li a img { display: none; }
.online-flow .qr-list li a strong { font-size: 14px; letter-spacing: 0.1em; }
.online-flow .qr-list li a strong i { padding: 0 2px; }
.online-flow .qr-list li a strong.en { font-family: var(--font-gothic-m-en); letter-spacing: 0.02em; }

.online-flow .qr-list li a em {
	font-size: 11px;
	letter-spacing: 0.06em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

.online-flow .online-target { margin-top: 45px; }

/* .online-faq
------------------------------------*/
.online-faq { margin-top: 80px; padding: 0 8%; }


/* page recruit
---------------------------------------------------------------------------*/
.btn-entry-fix { position: fixed; bottom: 20px; right: 20px; z-index: 10; opacity: 0; }
.btn-entry-fix img { display: block; transform-origin: center bottom; }

body.recruit-doctor,
body.recruit-information { background-color: #FEFFF6; }

body.recruit-doctor #wrap,
body.recruit-information #wrap { background: none; overflow: hidden; }

body.recruit-doctor header { height: 115px; }
body.recruit-information header { height: 95px; }

#recruit-doctorContents,
#recruit-informationContents { color: #51533B; }

body.recruit-doctor footer,
body.recruit-information footer { margin-bottom: 0 !important; padding-top: 90px; }

.recruit-lead { margin: 40px auto; text-align: center; }

.recruit-lead h1 {
	margin-bottom: 15px;
	color: var(--color-green);
	font-size: 18px;
	line-height: 1.7;
	letter-spacing: 0.12em;
}

.recruit-lead p { letter-spacing: 0.12em; }


/* page recruit-information
------------------------------------*/
.parts-txt,
.parts-num,
.parts-ph { position: absolute; z-index: 1; }
.ph-wrap img { display: inline-block; width: 100%; }
.centerTtlEn img { display: inline-block; width: 100%; }
.centerTtlSet strong { font-size: 15px; color: #3F210F; letter-spacing: 0.17em; }

/* .recruit-wrap
------------------------------------*/
.recruit-wrap {
	width: 100%;
	padding: 35px 0 0;
	overflow-x: hidden;
}

.recruit-wrap h2 {
	color: #83A734;
	text-align: center;
	letter-spacing: 0.09em;
	line-height: 1.55;
	font-size: 20px;
}

#recruit-information h3 {
	text-align: center;
	color: #99B74E;
	letter-spacing: 0.06em;
	font-size: 20px;
}

.recruit-detail-lead p,
.recruit-wrap p.lead {
	text-align: center;
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: 0.1em;
	width: 100%;
	margin: 15px auto 0;
}

.recruit-detail h2:first-of-type + p.lead {
	letter-spacing: 0.04em;
	opacity: .9;
	margin-top: 10px;
}

/* .portraitWrap
------------------------------------*/
.portraitWrap { position: relative; width: 84%; margin: 45px auto 70px; }
.portraitWrap #portrait { width: 68%; margin: 0 auto 50px; overflow: hidden; }
.portraitWrap #portrait img { display: inline-block; width: 100%; }
.portraitWrap .txt-wrap p { margin-bottom: 14px; font-size: 14px; line-height: 2.05; letter-spacing: 0.06em; text-align: justify; }
.portraitWrap .txt-wrap p:last-of-type { margin-bottom: 0; }
.portraitWrap .txt-wrap p a { text-decoration: underline; text-decoration-thickness: 1px; }
.portraitWrap .dr-name { margin-top: 35px; display: block; margin-right: -2px; }
.portraitWrap .dr-name small { font-size: 11px; letter-spacing: 0.1em; margin-right: 10px; }
.portraitWrap .dr-name strong { font-size: 16px; letter-spacing: 0.1em; }

/* .recruit-concept
------------------------------------*/
.recruit-concept {
	background-image: linear-gradient(222deg, #EBF6CA 0%, #FFEADA 100%);
	width: 100%;
	height: auto;
	display: block;
	padding: 40px 0 40px;
	margin-bottom: 65px;
	text-align: center;
	position: relative;
	overflow: hidden;
}

.recruit-concept .bg-pattern {
	display: block;
	background: url(img/recruit/bg-concept.jpg) repeat-y left top / cover;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}

/* .concept-inner
------------------------------------*/
.concept-inner {
	background: #fff;
	display: inline-block;
	width: 92%;
	border-radius: 498px;
	margin: 0 auto;
	position: relative;
	padding: 55px 0 60px;
	z-index: 1;
	box-sizing: border-box;
}

.concept-inner h3 { margin-bottom: 32px; }

.concept-inner h3 em {
	display: block;
	margin-bottom: 32px;
	color: var(--color-green);
	font-size: 15px;
	letter-spacing: 0.14em;
}

.concept-inner h3 em span { display: inline; position: relative; }

.concept-inner h3 em span::after {
	display: block;
	content: "";
	background: var(--color-green);
	width: calc(100% - 3px);
	position: absolute;
	left: 0;
	bottom: 1px;
	height: 1px;
}

.concept-inner h3 > span {
	position: relative;
	padding-right: 18px;
	color: var(--color-green);
	font-size: 15px;
	letter-spacing: 0.08em;
}

.concept-inner h3 > span:last-of-type { padding-right: 0; }

.concept-inner h3 > span::after {
	content: "";
	position: absolute;
	display: block;
	width: 1px;
	height: 15px;
	background: #C6C6C6;
	transform: rotate(30deg);
	right: 9px;
	top: 3px;
}

.concept-inner h3 > span:last-of-type::after { display: none; }

.concept-inner h3 strong { display: block; margin-top: 12px; }
.concept-inner h3 strong img { width: 200px; }

.concept-inner .txtSet { width: 82%; margin: 0 auto; }
.concept-inner .txtSet p { margin-bottom: 13px; font-size: 13px; line-height: 1.9; letter-spacing: 0.06em; text-align: justify; }
.concept-inner .txtSet p br { display: none; }

.concept-inner .logo { margin-top: 50px; text-align: center; transform: translateX(6px); }
.concept-inner .logo img { display: inline-block; margin: 0 10px; }
.concept-inner .logo img.paak { width: 62px; }
.concept-inner .logo img.zerofull { width: 97px; }

/* .sec-interview
------------------------------------*/
#recruit-staff { margin-top: -90px; padding-top: 90px; }

.sec-interview { position: relative; width: 90%; margin: 0 auto 75px; }
.sec-interview > h3 { margin-bottom: 30px !important; text-align: center; }
.sec-interview h2 { position: absolute; top: calc(50px + 3.5%); left: 0; width: 58%; }
.sec-interview h2 img { width: 100%; height: auto; }

h3.parts-txt { position: relative; margin: 0 auto 50px; }

.interview-wrap {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
}

.interview-wrap.bottom { position: relative; }

.parts-media { margin: 40px 2% 0px; position: relative; }
.parts-media h4 img { width: 90px; position: absolute; right: 2px; top: -10px; }
.parts-media h5 img { width: 137px; padding-left: 4px; }

.parts-media p {
	padding: 14px 0 10px 2px;
	font-size: 13px;
	line-height: 1.5;
	letter-spacing: 0.1em;
}

.parts-media .btn-set-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 0 10px; }
.parts-media .btn-set i { display: none; }

/* .staff-wrap
------------------------------------*/
.staff-wrap {
	width: calc(100% / 3 - 1px);
	position: relative !important;
	margin-bottom: 2px;
}

.staff-wrap.staff1 { margin-left: calc(100% / 3 * 2 + 1px); }

.staff-wrap .plus {
	position: absolute;
	display: block;
	width: 22px;
	height: 22px;
	top: inherit;
	right: 8px;
	bottom: 10px;
	opacity: 0;
}

.staff-wrap .plus:before,
.staff-wrap .plus:after { background: #FFFFFF; z-index: 2; }

.staff-wrap .plus:before { top: 5px; left: 10px; height: 11px; }
.staff-wrap .plus:after { top: 10px; left: 5px; width: 11px; }

.staff-wrap .plus div {
	display: block;
	background-color: var(--color-green);
	border-radius: 50%;
	width: 22px;
	height: 22px;
	transform: rotate(0deg);
	transition: .3s ease-out;
}

.staff-wrap.active .plus div { transform: rotate(220deg); transition: .3s ease-out .2s; }

.staff-wrap:last-of-type,
.staff-wrap:nth-last-of-type(2){ margin-bottom: 0; }

.staff-wrap figure {
	height: 45vw;
	position: relative;
	overflow: hidden;
}

.staff-wrap figure img { max-width: none; }

.staff-wrap figure img.before_ph {
	position: absolute;
	display: inline-block;
	width: 107%;
	left: -4%;
	bottom: -2%;
}

.staff-wrap figure img.hover_ph {
	position: absolute;
	bottom: -5%;
	left: -4%;
	width: 107%;
	visibility: hidden;
	transition: .08s ease-out;
	transform-origin: center bottom;
}

.staff1 figure img.hover_ph { bottom: -7%; }
.staff2 figure img.hover_ph { bottom: -7%; }
.staff3 figure img.before_ph { bottom: -2.5%; }
.staff4 figure img.before_ph { width: 111%; }
.staff4 figure img.hover_ph { bottom: 0; }
.staff5 figure img.before_ph { bottom: -2.5%; }
.staff5 figure img.before_ph { bottom: -1.5%; }
.staff6 figure img.hover_ph { bottom: -1%; }

/* .interview-inner
------------------------------------*/
.inner-wrap { display: inline-block; position: absolute; right: 0; z-index: 2; }

.interview-inner {
	position: absolute;
	bottom: 0;
	width: 80vw;
	box-sizing: border-box;
	background: #fff;
	padding: 23px 24px 23px;
	box-shadow: 4px 6px rgba(94,66,47,0.2);
	opacity: 0;
	visibility: hidden;
	transform-origin: bottom center;
}

.staff1 .interview-inner { right: -2vw; }
.staff2 .interview-inner { left: -32vw; }
.staff3 .interview-inner { right: -25.5vw; }
.staff4 .interview-inner { right: -2vw; }
.staff5 .interview-inner { left: -32vw; }
.staff6 .interview-inner { right: -25.5vw; }
.staff7 .interview-inner { right: -2vw; }

.staff1 .inner-wrap { bottom: calc(45vw); }
.staff2 .inner-wrap { bottom: calc(45vw); }
.staff3 .inner-wrap { bottom: calc(45vw); }
.staff4 .inner-wrap { bottom: calc(45vw); }
.staff5 .inner-wrap { bottom: calc(45vw); }
.staff6 .inner-wrap { bottom: calc(45vw); }
.staff7 .inner-wrap { bottom: calc(43vw); }

.interview-inner::before {
	display: block;
	content: '';
	position: absolute;
	background: url(img/recruit-information/parts-bubble-shadow.svg) no-repeat;
	background-size: 100%;
	width: 26px;
	height: 20px;
	bottom: -26px;
}

.interview-inner::after {
	display: block;
	content: '';
	position: absolute;
	background: url(img/recruit-information/parts-bubble.svg) no-repeat;
	width: 33px;
	height: 20px;
	bottom: -19px;
}

.staff1 .interview-inner::before,
.staff1 .interview-inner::after,
.staff4 .interview-inner::before,
.staff4 .interview-inner::after,
.staff7 .interview-inner::before,
.staff7 .interview-inner::after { right: 15px; }

.staff2 .interview-inner::before,
.staff2 .interview-inner::after,
.staff5 .interview-inner::before,
.staff5 .interview-inner::after { left: 30%; }

.staff3 .interview-inner::before,
.staff3 .interview-inner::after,
.staff6 .interview-inner::before,
.staff6 .interview-inner::after { right: 30%; }

.interview-inner p {
	font-size: 12px;
	color: #5E422F;
	text-align: justify;
	line-height: 1.7;
	letter-spacing: 0.02em;
}

.interview-inner .staff-detail {
	margin-top: 12px;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}

.interview-inner .staff-detail span { font-size: 13px; color: #5E422F; }
.interview-inner .staff-detail i { display: inline-block; transform: translate(9px,3px) scale(0.8); }

/* .sec-point
------------------------------------*/
.sec-point { width: 86%; margin: 0 auto 60px; }

.sec-point .lead,
.sec-clinic .lead { margin-bottom: 45px; padding: 0 5px; }

.sec-point .lead h3,
.sec-clinic .lead h3 { margin-bottom: 20px; text-align: center; }

.sec-point .lead h3 img,
.sec-clinic .lead h3 img { height: 18px; }

.sec-point .lead p,
.sec-clinic .lead p { text-align: justify; }

.sec-point .lead p br,
.sec-clinic .lead p br { display: none; }

.sec-point .lead .btn-color {
	display: inline-block;
	margin-top: 18px;
	white-space: nowrap;
}

.sec-point dl {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 100%;
	margin: 40px auto 0;
}

.sec-point dl div { width: 100%; margin-bottom: 40px; }
.sec-point dl > div:last-of-type { margin-bottom: 0; }
.sec-point dl dt { margin-bottom: 20px; }

.sec-point dl dt figure {
	display: inline-block;
	position: relative;
	overflow: hidden;
	width: 100%;
	padding-bottom: 66%;
	margin-bottom: 28px;
}

.sec-point dl dt figure img {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: auto;
}

.sec-point dl:nth-of-type(1) dt figure img { top: 0; bottom: inherit; }

.sec-point dl dt h4 {
	position: relative;
	font-size: 19px;
	color: var(--color-green);
	letter-spacing: 0.12em;
	text-align: center;
}

.sec-point dl dt h4 small { padding: 0 3px; font-size: 13px; }
.sec-point dl dt h4 span { position: relative; }

.sec-point dl dt h4 span::after {
	display: inline-block;
	content: "";
	position: absolute;
	bottom: -9px;
	left: -1px;
	background: url(img/share/dot-horizontal.svg) repeat-x;
	background-size: 8px 3px;
	width: calc(100% + 2px);
	height: 3px;
}

.sec-point dl dd p { padding: 0 5px; letter-spacing: 0.06em; text-align: justify; }
.sec-point dl dd .btn-color { margin: 20px 0 0; }

/* .clinic
------------------------------------*/
.clinic { width: 90%; margin: 0 auto; }

/* .ph-set
------------------------------------*/
.ph-set { width: 100%; margin: 0 auto 20px; }
.ph-set img { display: inline-block; width: 100%; }

/* .clinic h3
------------------------------------*/
.clinic h3 { font-size: 30px; }

.clinic p.lead {
	box-sizing: border-box;
	letter-spacing: 0.08em;
	margin-top: 20px;
	margin-bottom: 60px;
	padding: 0 5px;
	text-align: justify;
}

.clinic p.lead br { display: none; }
.clinic .ph-wrap.large { margin: 0 auto; width: 100%; }

/* .recruit-detail
------------------------------------*/
.recruit-detail { padding: 0 6%; }
.recruit-detail-lead { text-align: center; }
.recruit-detail-lead h3 { margin: 35px 0 20px; }
.recruit-detail-lead h3 img { height: 22px; }

.recruit-detail-lead p {
	font-size: 13px;
	line-height: 1.9;
	letter-spacing: 0.1em;
}

.recruit-detail-lead p strong {
	font-size: 17px;
	line-height: 2.1;
	letter-spacing: 0.1em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.25em;
}

.recruit-detail-lead p strong span {
	display: inline-block;
	margin-left: 9px;
	padding-bottom: 6px;
	font-size: 27px;
	line-height: 1;
	box-shadow: inset 0 -3px 0 0 #F8ED2A;
	transform: translateY(-2px);
}

.recruit-detail-lead p .dot {
	position: relative;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
}

.recruit-detail-lead p .dot:before {
	display: block;
	content: '';
	position: absolute;
	top: -4px;
	left: 50%;
	transform: translateX(-50%);
	background-color: var(--color-green);
	border-radius: 50%;
	width: 4px;
	height: 4px;
	margin-left: -1px;
}

.recruit-dl { width: 100%; margin: 35px auto 70px; }
.recruit-dl > div { position: relative; }

.recruit-dl > div::before {
	content: "";
	position: absolute;
	display: block;
	background: url(img/share/line-dot-green.svg) repeat-x left top / 8px auto;
	width: 100%;
	height: 3px;
	background-position: 0 0;
	top: 0;
	left: 0;
	z-index: 1;
}

.recruit-dl > div:last-of-type::after {
	content: "";
	position: absolute;
	display: block;
	background: url(img/share/line-dot-green.svg) repeat-x left bottom / 8px auto;
	width: 100%;
	height: 3px;
	background-position: 0 0;
	bottom: 0;
	left: 0;
}

.recruit-dl > div > dt {
	display: block;
	padding: 18px 45px 17px 10px;
	color: var(--color-green);
	font-size: 16px;
	line-height: 1.4;
	letter-spacing: 0.1em;
	position: relative;
	transition: ease .2s;
	box-sizing: border-box;
	overflow: hidden;
}

.recruit-dl > div > dt i { padding-right: 6px; }
.recruit-dl > div > dt i.plus { padding-right: 0; }
.recruit-dl > div > dd { padding-bottom: 17px; display: none; }

.recruit-dl .inner-dl { padding: 5px 10px 0 34px; }
.recruit-dl .inner-dl div { display: flex; flex-direction: column; margin-bottom: 18px; }

.recruit-dl .inner-dl div dt {
	margin-bottom: 4px;
	color: var(--color-green);
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: 0.06em;
}

.recruit-dl .inner-dl div dd {
	font-size: 14px;
	line-height: 1.8;
	padding-left: 15px;
}

.recruit-dl .inner-dl div dd p {
	font-size: 13px;
	line-height: 1.9;
	letter-spacing: 0.06em;
	text-align: justify;
}

/* .flow
------------------------------------*/
.recruit-flow { margin: -60px auto 60px; padding: 60px 6% 0; }
.recruit-flow > h2 { margin-bottom: 28px; font-size: 16px; }
.recruit-flow ol { display: flex; width: 100%; flex-direction: column; }
.recruit-flow ol li { display: flex; min-height: 70px; }

.recruit-flow ol .flow-1 { z-index: 6; }
.recruit-flow ol .flow-2 { z-index: 5; }
.recruit-flow ol .flow-3 { z-index: 4; }
.recruit-flow ol .flow-4 { z-index: 3; }
.recruit-flow ol .flow-5 { z-index: -1; }

.flow-tab {
	position: relative;
	display: flex;
	align-items: center;
	width: 130px;
	padding-left: 16px;
	color: #FCFDEE;
	font-size: 15px;
	letter-spacing: 0.05em;
}

.flow-tab::after {
	display: block;
	content: "";
	position: absolute;
	bottom: -8px;
	left: 50%;
	transform: translateX(-50%);
	width: 27px;
	height: 9px;
	clip-path: polygon(0 0, 100% 0%, 50% 100%);
	z-index: 10;
}

.recruit-flow ol li:nth-of-type(1) .flow-tab { background: #A3D0BA; }
.recruit-flow ol li:nth-of-type(1) .flow-tab::after { background: #A3D0BA; }

.recruit-flow ol li:nth-of-type(2) .flow-tab { background: #8AC3A7; }
.recruit-flow ol li:nth-of-type(2) .flow-tab::after { background: #8AC3A7; }

.recruit-flow ol li:nth-of-type(3) .flow-tab { background: #66B08C; }
.recruit-flow ol li:nth-of-type(3) .flow-tab::after { background: #66B08C; }

.recruit-flow ol li:nth-of-type(4) .flow-tab { background: #339665; }
.recruit-flow ol li:nth-of-type(4) .flow-tab::after { background:  #339665; }

.recruit-flow ol li:nth-of-type(5) .flow-tab { background: #007C3F;}
.recruit-flow ol li:nth-of-type(5) .flow-tab::after { display: none;}

.flow-tab .tab-inner .flow-hl { letter-spacing: 0.1em; padding-left: 39px; display: block; }

.flow-tab .tab-inner span.num3,
.flow-tab .tab-inner span.num4 { position: relative; }

.flow-tab .tab-inner span.num3 em,
.flow-tab .tab-inner span.num4 em { padding-top: 6px; }

.flow-tab .tab-inner .flow-hl em {
	display: block;
	font-size: 12px;
	letter-spacing: 0.1em;
}

.flow-tab .tab-inner .num-flow {
	display: inline-block;
	position: relative;
	top: 1px;
	margin-right: 5px;
	font-family: var(--font-serif-r-en);
	font-size: 20px;
}

.flow-txt {
	box-sizing: border-box;
	width: calc(100% - 130px);
	padding: 10px 0 4px 18px;
	font-size: 13px;
	line-height: 1.7;
	letter-spacing: 0.06em;
	text-align: justify;
}

.flow-1 .flow-txt { padding-top: 4px; }
.flow-5 .flow-txt { padding-top: 14px; }

/* .ph-wrap.end
------------------------------------*/
.ph-wrap.end { overflow: hidden; width: 100%; margin-top: 60px; }
.ph-wrap.end img { display: inline-block; width: 110%; height: auto; position: relative; left: -5%; }

/* recruit-form
------------------------------------*/
.recruit-form { width: 88%; margin: 0 auto; }
.recruit-form > h2 { margin-bottom: 30px; font-size: 16px; }
.recruit-form > dl > div { margin-bottom: 25px; }
.recruit-form > dl > div:last-of-type { margin-bottom: 0; }

.recruit-form > dl > div > dt {
	margin-left: 1px;
	margin-bottom: 8px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0.12em;
	white-space: nowrap;
}

.recruit-form > dl > div > dt i { padding-right: 4px; }

.recruit-form > dl > div > dd p {
	margin-bottom: 10px;
	font-size: 13px;
	line-height: 2;
	letter-spacing: 0.06em;
	text-align: justify;
}

.recruit-form > dl > div:nth-of-type(2) > dd p br { display: none; }

.recruit-form .wpcf7 { margin-top: 45px; }

.recruit-form .form-wrap input[type="text"],
.recruit-form .form-wrap input[type="email"],
.recruit-form .form-wrap input[type="tel"],
.recruit-form .form-wrap textarea { background-color: #FFFFFF !important; }

.recruit-form .sec-privacy { background-color: var(--color-bg); }


/* .modal-reserve
---------------------------------------------------------------------------*/
.modal-reserve,
.btn-modal-reserve { display: none !important; }

/* .sec-data
------------------------------------*/
.sec-data {
	display: block;
	margin: 80px 2% 80px;
	background-image: url(img/recruit/bg-recuit.jpg);
	border: solid 4px var(--color-green);
	border-radius: 15px;
	box-sizing: border-box;
	position: relative;
	padding: 42px 7% 60px;
}

.sec-data::before {
	display: block;
	content: "";
	position: absolute;
	background: url(img/recruit/img-flag.svg) no-repeat left top;
	width: 282px;
	height: 78px;
	top: -50px;
	left: 14px;
	background-size: 174px;
}

.sec-data .box { display: flex; justify-content: space-between; position: relative; }
.sec-data .box li.data-3 { display: flex; width: 346px; flex-direction: column; }

.sec-data li h4 { display: block; margin-bottom: 17px; }
.sec-data li .num-1 { width: 106px; margin: 0 auto; }
.sec-data li .num-2 { width: 110px; margin: 0 auto; }
.sec-data li .num-3 { width: 220px; margin: 0 auto; }
.sec-data li .num-4 { width: 72px; }
.sec-data li .num-5 { width: 80px; margin: 0 auto; }
.sec-data li img { width: 100%; }
.sec-data li.data-3 h4 { margin-bottom: 18px; }

.sec-data li h4 strong {
	font-size: 15px;
	display: inline-block;
	border-bottom: solid 2px #F8ED2A ;
	padding-bottom: 3px;
	letter-spacing: 0.06em;
}

.sec-data li p.txt {
	font-size: 12px;
	line-height: 1.6;
	text-align: justify;
	letter-spacing: 0.03em;
	padding: 14px 0 5px;
}

.sec-data li.data-3 p.txt  { padding: 14px 0 0; }
.sec-data li p.attention  { font-size: 10px !important; text-align: left; }

.sec-data .data-1 { width: 50%; padding-right: 19px; }
.sec-data .data-2 { width: 50%; padding-left: 19px; }

.sec-data .box2 { display: flex; margin: 50px auto 0; width: 291px; }
.sec-data .box2 li.data-4 { width: 100%; text-align: left; position: relative; }
.sec-data .box2 li.data-4 .staff { position: absolute; bottom: -25px; width: 193px; left: -1px; }
.sec-data .box2 li.data-4 .attention { position: absolute; left: 85px; bottom: 12px; }
.sec-data .box2 li .attention { letter-spacing: 0.04em; }
.sec-data .box2 li.data-5 .attention { padding-top: 8px; }

.sec-data .box2 li.data-4 .age {
	position: absolute;
	background-color: #ffffff;
	width: 112px;
	height: 67px;
	border: 2px solid #296125;
	border-radius: 7px;
	text-align: center;
	padding: 10px;
	box-sizing: border-box;
	left: 81px;
	top: -4px;
}

.sec-data .box2 li.data-4 .age::before {
	display: block;
	content: "";
	position: absolute;
	background: url(img/recruit/cur-recruit2.svg) no-repeat left top;
	width: 19px;
	height: 16px;
	top: 38px;
	left: -11px;
	background-size: 11px;
}

.sec-data .box2 li.data-4 .age::after {
	display: block;
	content: "";
	position: absolute;
	background: url(img/recruit/cur-recruit1.svg) no-repeat left top;
	width: 19px;
	height: 16px;
	top: 39px;
	left: -7px;
	background-size: 9px;
}

.sec-data .box2 li.data-5 { text-align: left; position: relative; width: 110px; }

.sec-data li.data-3::before  {
	display: inline-block;
	content: "";
	position: absolute;
	top: -25px;
	background: url(img/recruit/data-line-yoko.svg) repeat-x;
	background-size: 11px 2px;
	width: 100%;
	height: 2px;
	left: 50%;
	translate: -50%;
}

.sec-data li.data-3::after  {
	display: inline-block;
	content: "";
	position: absolute;
	bottom: -25px;
	background: url(img/recruit/data-line-yoko.svg) repeat-x;
	background-size: 11px 2px;
	width: 100%;
	height: 2px;
	left: 50%;
	translate: -50%;
}

.sec-data .box::after  {
	display: inline-block;
	content: "";
	position: absolute;
	top: 0px;
	right: 50%;
	background: url(img/recruit/data-line.svg) repeat-y;
	background-size: 2px 11px;
	width: 2px;
	height: 100%;
	translate: 50%;
}

.sec-data li { list-style-type: none; }
.sec-data li.data-3 { margin-top: 50px; position: relative; text-align: center; }
.sec-data li.data-3 span.attention { font-size: 10px!important; }


/* page recruit-doctor
---------------------------------------------------------------------------*/

/* .recruit-main
------------------------------------*/
.recruit-main { position: relative; width: 100%; margin-bottom: 40px; }

.recruit-main .logo-set,
.recruit-main nav { display: none !important; }

.recruit-main .btn-entry,
.recruit-main .img,
.recruit-main .copy,
.recruit-main .txt-team { opacity: 0; }

.recruit-main .btn-entry { display: none !important; }

.recruit-main img { display: block; width: 100%; height: auto; }
.recruit-main .img-set { position: relative; margin-bottom: 3%; }
.recruit-main .img1 { width: 79%; margin: -17% 0 0 -16%; }
.recruit-main .img1 img { transform: rotate(11deg); }
.recruit-main .img2 { width: 50.8%; margin: -10% 0 0 3%; }
.recruit-main .img2 img { transform: rotate(-8deg); }
.recruit-main .img3 { position: absolute; top: 28%; right: -14%; width: 68%; }
.recruit-main .img4 { position: absolute; top: 78.5%; left: 54%; width: 24.4%; }
.recruit-main .img4 img { transform: rotate(-2deg); }
.recruit-main .img5 { position: absolute; top: 13%; left: 62%; width: 22%; }

.recruit-main .copy-set { display: -webkit-box; display: flex; justify-content: space-between; padding: 0 5% 0 8%; }
.recruit-main .copy1 { order: 2; width: 38.4%; }
.recruit-main .copy1 img { transform: translateY(-12%); }
.recruit-main .copy2 { order: 1; width: 55%; }
.recruit-main .txt-team { margin-top: 2%; padding: 0 5.5%; }

/* .recruit-main
------------------------------------*/
.recruit-main-sp { margin-bottom: 40px; padding: 0 8%; }
.recruit-main-sp .page-nav li { width: 47%; }
.recruit-main-sp .page-nav li a { padding-bottom: 11px; }

/* .portraitWrap
------------------------------------*/
.portraitWrap h3 {
	color: var(--color-green);
	font-size: 30px;
	letter-spacing: 0.05em;
	margin: 21px 0 24px;
}

.portraitWrap h3 img { height: 26px; }

/* .careerWrap
------------------------------------*/
#careerWrap { text-align: center; display: block; margin: 0 auto 110px; }
.careerWrap { margin-bottom: 60px; margin-top: -68px; padding-top: 68px; }
.careerWrap .txtSet { margin-bottom: 28px; }
#careerWrap .txtSet h3 { margin-bottom: 22px; }
#careerWrap .txtSet h3 img { height: 21px; }

#careerWrap .txtSet h4 {
	margin-bottom: 20px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 14px;
	letter-spacing: 0.1em;
}

#careerWrap .txtSet h4 span { position: relative; display: inline; }

#careerWrap .txtSet h4 span::after {
	display: block;
	content: "";
	background: var(--color-green);
	position: absolute;
	left: -1px;
	bottom: 1px;
	width: calc(100% - -2px);
	height: 1px;
}

.careerWrap .txtSet > p { font-size: 13px; line-height: 1.9; letter-spacing: 0.08em; }

.careerWrap .career-step figure { width: 352px; margin: 0 auto; }
.careerWrap .career-step figure img { width: 100% }
.careerWrap .career-step .logo { display: none; }

.pointWrap .logo i,
.career-step .logo i {
	display: inline-block;
	position: absolute;
	top: -26px;
	left: 50%;
	margin: 0 0 10px 2px;
	color: #3F210F;
	font-size: 12px;
	font-style: normal;
	letter-spacing: 0.08em;
	white-space: nowrap;
	transform: translateX(-50%);
}

.pointWrap .logo i:before,
.pointWrap .logo i:after,
.career-step .logo i:before,
.career-step .logo i:after {
	display: block;
	content: '';
	position: absolute;
	top: 5px;
	background: #5E422F;
	width: 15px;
	height: 2px;
}

.pointWrap .logo i:after,
.career-step .logo i:after { right: -16px; transform: rotate(-65deg); }

.pointWrap .logo i:before,
.career-step .logo i:before { left: -19px; transform: rotate(65deg); }

.recruit-wrap .careerWrap .career-step .logo i { display: none; }
.pointWrap dl .ac-wrap dd .btnBrown { margin: 6px 0%; }

/* .career-voiceWrap
------------------------------------*/
#careerWrap .career-voiceWrap .txtSet h3 { margin-bottom: 35px; }
#careerWrap .career-voiceWrap .txtSet h3 img { height: auto; }

.career-voiceWrap .img-main { margin: 0 auto 35px; }
.career-voiceWrap ul.voiceSet { display: block; margin: 0 auto; position: relative; width: 375px; height: 365px; }
.career-voiceWrap ul.voiceSet li { display: inline-block; position: absolute; }
.career-voiceWrap ul.voiceSet li.voice1 { top: 0px; left: 12px; }
.career-voiceWrap ul.voiceSet li.voice2 { top: 190px; right: 24px; }
.career-voiceWrap ul.voiceSet li.voice3 { top: 6px; right: 12px; }
.career-voiceWrap ul.voiceSet li.voice4 { top: 182px; left: 31px; }
.career-voiceWrap ul.voiceSet li.voice5 { top: 94px; right: 30px; }
.career-voiceWrap ul.voiceSet li.voice6 { top: 102px; left: 24px; }
.career-voiceWrap ul.voiceSet li.voice7 { bottom: -10px; left: 160px; }
.career-voiceWrap ul.voiceSet li.voice8 { bottom: 15px; left: 14px; }

.career-voiceWrap ul.voiceSet li.voice1 img { width: 172px; }
.career-voiceWrap ul.voiceSet li.voice2 img { width: 119px; }
.career-voiceWrap ul.voiceSet li.voice3 img { width: 160px; }
.career-voiceWrap ul.voiceSet li.voice4 img { width: 180px; }
.career-voiceWrap ul.voiceSet li.voice5 img { width: 170px; }
.career-voiceWrap ul.voiceSet li.voice6 img { width: 128px; }
.career-voiceWrap ul.voiceSet li.voice7 img { width: 198px; }
.career-voiceWrap ul.voiceSet li.voice8 img { width: 129px; }


/* pointWrap
------------------------------------*/
.pointWrap {
	display: block;
	position: relative;
	background: url(img/recruit/bg-point.jpg) no-repeat left top / cover;
	margin: 0 auto;
	padding: 60px 0 30px;
	text-align: center;
}

#pointWrap .logo {
	position: absolute;
	top: -35px;
	left: 50%;
	transform: translateX(-50%);
	width: 60px;
}

#pointWrap .logo img { width: 100%; }

.pointWrap .txtSet { margin-bottom: 40px; }
.pointWrap .txtSet h3 { margin-bottom: 28px; }
.pointWrap .txtSet h3 img { height: 40px; }

.pointWrap .txtSet h4 {
	margin-bottom: 15px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 14px;
	letter-spacing: 0.14em;
}

.pointWrap .txtSet h4 span { position: relative; display: inline; }

.pointWrap .txtSet > p {
	font-size: 13px;
	letter-spacing: 0.1em;
	line-height: 1.95;
	margin-bottom: 24px;
}

.pointWrap .txtSet .btn-color { display: inline-block; margin: 0 auto 5px; }

.pointWrap dl {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 25px;
	justify-content: center;
	width: 340px;
	margin: 0 auto;
}

.pointWrap dl > div {
	width: 100%;
	background-color: #FFFFFF;
	border-radius: 5px;
	box-sizing: border-box;
	padding: 16px 18px;
	position: relative;
}

.pointWrap dl > div dt.btn-ac { display: flex; align-items: center; }
.pointWrap dl > div dt figure { width: 96px; min-width: 96px; }
.pointWrap dl > div dt figure img { border-radius: 3px; }

.pointWrap dl > div dt h4 {
	display: block;
	margin-bottom: 2px;
	margin-left: 20px;
  color: var(--color-green);
	font-size: 17px;
	letter-spacing: 0.06em;
	text-align: left;
}

.pointWrap dl > div dt h4 span { position: relative; }
.pointWrap dl > div dt h4 .line2 { display: block; margin-bottom: -4px; }
.pointWrap dl > div dt h4 .plus { top: 44px; right: 18px; }

.pointWrap dl > div dt h4 span::after,
.pointWrap dl > div.txt-contents span::after {
	display: inline-block;
	content: "";
	position: absolute;
	bottom: -2px;
	left: 1px;
	background: url(img/share/line-dot-green.svg) repeat-x left bottom / 8px auto;
	width: calc(100% + 0px);
	height: 2px;
}

.pointWrap dl > div.ac-wrap dd { display: none; }

.pointWrap dl > div.ac-wrap dd p {
	text-align: justify;
	font-size: 13px;
	line-height: 1.7;
	letter-spacing: 0.04em;
	padding: 17px 0 0;
}

.pointWrap dl.point-sub > div.txt-contents {
	padding: 14px 15px;
	position: relative;
	width: 167px;
	height: 75px;
}

.pointWrap dl > div.txt-contents dt p { padding-bottom: 4px; font-size: 12px; }
.pointWrap dl > div.txt-contents dt span { padding-top: 5px; }

.pointWrap dl > div.txt-contents dd p {
	font-size: 12px;
	text-align: center;
	letter-spacing: 0.03em;
  padding: 6px 5px 0px;
	white-space: nowrap;
}

.pointWrap dl > div.txt-contents dd .btn-color { margin-top: 15px; }

.pointWrap dl > div.txt-contents span {
	display: inline-block;
	position: relative;
	color: var(--color-green);
	font-size: 15px;
	white-space: nowrap;
}

.pointWrap dl > div.txt-contents figure.img-point { display: none; }

.pointWrap dl.point-sub {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 0;
  margin-top: 6px;
	justify-content: space-between;
}

/* .recruit-doctor-woman
---------------------------------------------------------------------------*/
.recruit-doctor-woman { display: block; position: relative; margin: 60px 5vw 100px; }
.recruit-doctor-woman .img-main { margin-bottom: 40px; }
.recruit-doctor-woman h2 { margin: 0 5px 40px; }
.recruit-doctor-woman h2 img { width: 100%; }
.recruit-doctor-woman .txt-top h3 { text-align: center; margin-bottom: 20px; }
.recruit-doctor-woman dl.lead-wrap dt .txt-top h3 img { width: 240px; }

.recruit-doctor-woman .txt-top h4 {
	font-size: 15px;
	letter-spacing: 0.08em;
	margin-bottom: 24px;
	text-align: center;
}

.recruit-doctor-woman .txt-top h4 span { display: inline; position: relative; }

.recruit-doctor-woman .txt-top h4 span::after {
	content: "";
	position: absolute;
	display: block;
	height: 1px;
	width: calc(100% - -2px);
	left: -1px;
	bottom: 0;
	background: #72543d;
}

.recruit-doctor-woman h5 { position: absolute; top: -56px; right: 17px; }

.recruit-doctor-woman .txt-top p {
	margin-bottom: 14px;
	padding: 0 10px;
	font-size: 14px;
	line-height: 2.1;
	letter-spacing: 0.04em;
	text-align: justify;
}

.recruit-doctor-woman .txt-set { margin: 48px 4px 30px; }

.recruit-doctor-woman .txt-set h3 {
	text-align: center;
	width: 200px;
	margin: 0 auto 20px;
}

.recruit-doctor-woman .txt-set h3 span {
	display: block;
	font-size: 20px;
	margin-top: 20px;
	letter-spacing: 0.04em;
	color:#72543d;
}

.recruit-doctor-woman .txt-set h3 img { width: 100%; }
.recruit-doctor-woman dl.lead-wrap dd { margin-top: -30px; }
.recruit-doctor-woman .txt-set dl div { border-bottom: 2px dotted #CABEB7; }
.recruit-doctor-woman .txt-set dl div.linetop { border-top: 2px dotted #CABEB7; }

.recruit-doctor-woman .txt-set dt {
	position: relative;
	padding: 22px 40px 22px 8px;
	font-size: 15px;
	letter-spacing: 0.08em;
	text-align: left;
}

.recruit-doctor-woman .txt-set dt i.plus:before,
.recruit-doctor-woman .txt-set dt i.plus:after { background-color: #FF7D7D; }

.pointWrap dl > div dt.btn-ac::after {
	display: block;
	content: '';
	position: absolute;
	top: 18px;
	right: 12px;
	background: url(img/share/ico-arrow.svg) no-repeat;
	background-size: 20px 20px;
	width: 20px;
	height: 20px;
	transition: .15s ease-out;
	transform: rotate(90deg);
}

.pointWrap dl > div dt.btn-ac.active::after { transform: rotate(-90deg); }
.pointWrap dl > div dt.btn-ac::after { top: 40px; right: 15px; }

.recruit-doctor-woman .txt-set > dl dd {
	font-size: 14px;
	line-height: 1.9;
	letter-spacing: 0.04em;
	text-align: justify;
	padding: 0 8px 20px;
	display: none;
}

.recruit-doctor-woman .txt-set .ask {
	font-size: 13px;
	letter-spacing: 0.03em;
	margin: -10px 0 45px 0;
}

.recruit-doctor-woman .btnPink a {
	display: block;
	box-sizing: border-box;
	background-color: #FF7D7D;
	border-radius: 5px;
	width: 100%;
	margin: 0 auto;
	padding: 16px 5px 14px;
	color: #FCFDEF;
	font-family: var(--font-gothic-r-jp);
	font-size: 16px;
	line-height: 1;
	letter-spacing: 0.08em;
	text-align: center;
	text-decoration: none;
}

.recruit-doctor-woman .img-top { margin: 60px 0vw 0; }
.recruit-doctor-woman .img-top img { width: 100%; }
.recruit-doctor-woman .img-main img { width: 100%; }

/* ph-set
------------------------------------*/
#recruit-doctorContents .ph-set { display: none; }

/* sec-point
------------------------------------*/
#recruit-doctorContents .sec-point,
#recruit-doctorContents .clinic h3,
#recruit-doctorContents .clinic p { display: none; }

/* sec-visit
------------------------------------*/
.visit { margin: 80px auto 65px; text-align: center; }
.visit .visit-txtset { margin-bottom: 30px; padding: 0 8%; }
.visit .visit-txtset h3 { margin-bottom: 20px; }
.visit .visit-txtset h3 img { height: 20px; }

.visit .visit-txtset p,
.recruit-detail h3 + p.lead {
	box-sizing: border-box;
	margin-top: 15px;
	padding: 0;
	font-size: 14px;
	letter-spacing: 0.06em;
	line-height: 1.8;
}

.visit .visit-txtset p { text-align: justify; }
.visit .visit-txtset p br { display: none; }

.visit .slide-recruit { display: -webkit-box; display: flex; width: 100%; }
.visit .slide-recruit .inner { position: relative; margin-right: 4px; }
.visit .slide-recruit .inner img { width: auto; height: 140px; }

.visit .slide-recruit .inner figcaption {
	position: absolute;
	bottom: 8px;
	left: 11px;
	color: #FFFFFF;
	font-family: var(--font-gothic-m-en);
	font-size: 9px;
	letter-spacing: 0.08em;
	white-space: nowrap;
	z-index: 1;
}

/* .recruit-faq
------------------------------------*/
.recruit-faq { margin: -60px auto 50px; padding: 60px 6% 0; }
.recruit-faq > h2 { margin: 0 0 12px; font-size: 16px; }

/* .sec-data
------------------------------------*/
.sec-data {
	display: block;
	margin: 100px 2% 80px;
	background-image: url(img/recruit/bg-recuit.jpg);
	border: solid 4px #296125;
	border-radius: 15px;
	box-sizing: border-box;
	position: relative;
	padding: 42px 7% 60px;
}

.sec-data::before {
	display: block;
	content: "";
	position: absolute;
	background: url(img/recruit/img-flag.svg) no-repeat left top;
	width: 282px;
	height: 78px;
	top: -51px;
	left: 14px;
	background-size: 174px;
}

.sec-data .box {
	display: flex;
	justify-content: space-between;
	position: relative;
}

.sec-data .box li.data-3 {
	display: flex;
	width: 346px;
	flex-direction: column;
}

.sec-data li h4 {
	display: block;
	margin-bottom: 17px;
}

.sec-data li .num-1 { width: 106px; margin: 0 auto; }
.sec-data li .num-2 { width: 110px; margin: 0 auto; }
.sec-data li .num-3 { width: 220px; margin: 0 auto; }
.sec-data li .num-4 { width: 72px; }
.sec-data li .num-5 { width: 80px; margin: 0 auto; }

.sec-data li img { width: 100%; }

.sec-data li.data-3 h4 { margin-bottom: 18px; }

.sec-data li h4 strong {
	display: inline-block;
	border-bottom: solid 1px var(--color-green);
	padding-bottom: 2px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 14px;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

.sec-data li p.txt {
	margin-bottom: 2px;
	padding: 14px 0 5px;
	font-size: 12px;
	line-height: 1.6;
	letter-spacing: 0.03em;
	text-align: justify;
}

.sec-data li.data-3 p.txt { padding: 14px 0 0; }

.sec-data li p.attention  {
	font-size: 10px !important;
	letter-spacing: 0.02em;
	text-align: left;
	white-space: nowrap;
}

.sec-data .data-1 { width: 50%; padding-right: 19px; }
.sec-data .data-2 { width: 50%; padding-left: 19px; }

.sec-data .box2 {
	display: flex;
  margin: 50px auto 0;
  width: 291px;
}

.sec-data .box2 li.data-4 { width: 100%; text-align: left; position: relative; }

.sec-data .box2 li.data-4 .staff {
	position: absolute;
	bottom: -25px;
	width: 193px;
	left: -1px;
}

.sec-data .box2 li.data-4 .attention {
	position: absolute;
	left: 85px;
	bottom: 12px;
}

.sec-data .box2 li .attention { letter-spacing: 0.04em; }
.sec-data .box2 li.data-5 .attention { padding-top: 8px; }

.sec-data .box2 li.data-4 .age {
	position: absolute;
	background-color: #ffffff;
	width: 112px;
	height: 67px;
	border: 2px solid #296125;
	border-radius: 7px;
	text-align: center;
	padding: 10px;
	box-sizing: border-box;
	left: 81px;
	top: 0px;
}

.sec-data .box2 li.data-4 .age::before {
	display: block;
	content: "";
	position: absolute;
	background: url(img/recruit/cur-recruit2.svg) no-repeat left top;
	width: 19px;
	height: 16px;
	top: 38px;
	left: -11px;
	background-size: 11px;
}

.sec-data .box2 li.data-4 .age::after {
	display: block;
	content: "";
	position: absolute;
	background: url(img/recruit/cur-recruit1.svg) no-repeat left top;
	width: 19px;
	height: 16px;
	top: 39px;
	left: -7px;
	background-size: 9px;
}

.sec-data .box2 li.data-5 { text-align: left; position: relative; width: 110px; }

.sec-data li.data-3::before {
	display: inline-block;
	content: "";
	position: absolute;
	top: -25px;
	background: url(img/recruit/data-line-yoko.svg) repeat-x;
	background-size: 10px 3px;
	width: 100%;
	height: 2px;
	left: 50%;
	translate: -50%;
}

.sec-data li.data-3::after {
	display: inline-block;
	content: "";
	position: absolute;
	bottom: -25px;
	background: url(img/recruit/data-line-yoko.svg) repeat-x;
	background-size: 11px 2px;
	width: 100%;
	height: 2px;
	left: 50%;
	translate: -50%;
}

.sec-data .box::after {
	display: inline-block;
	content: "";
	position: absolute;
	top: 0px;
	right: 50%;
	background: url(img/recruit/data-line.svg) repeat-y;
	background-size: 3px 10px;
	width: 3px;
	height: 100%;
	translate: 50%;
}

.sec-data li { list-style-type: none; }

.sec-data li.data-3 {
	margin-top: 45px;
	position: relative;
	text-align: center;
}

.sec-data li.data-3 span.attention { font-size: 10px!important; }


/* page contact
---------------------------------------------------------------------------*/
#contactContents .sec-lead { margin-bottom: 40px; }

/* .contact-info
------------------------------------*/
.contact-info {
	background-color: #FFFFFF;
	border-radius: 6px;
	width: 91%;
	margin: 0 auto 90px;
	padding: 32px 18px;
}

.contact-info .inner { display: flex; width: 100%; }

.contact-info .inner:first-of-type {
	border-bottom: 1px solid var(--color-border);
	margin-bottom: 24px;
	padding-bottom: 22px;
}

.contact-info .logo { width: 88px; min-width: 88px; }
.contact-info .paak .logo img { width: 48px; margin-left: 10px; }
.contact-info .zerofull .logo img { width: 69px; }
.contact-info .zerofull .txt { padding-right: 5px; }

.contact-info .paak .txt-box { margin-top: -4px; }

.contact-info .txt h3 {
	margin-bottom: 1px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 12px;
	letter-spacing: 0.1em;
	line-height: 1.7;
}

.contact-info .txt .tel {
	margin-bottom: -10px;
	font-family: var(--font-gothic-r-en);
	font-size: 20px;
	letter-spacing: 0.02em;
	line-height: 1.5;
}

.contact-info .txt .tel span { padding-right: 4px; font-size: 11px; }
.contact-info .txt > p { font-size: 12px; letter-spacing: 0.02em; }

.contact-info .zerofull .txt p {
	margin-bottom: 6px;
	line-height: 1.8;
	letter-spacing: 0.06em;
	text-align: justify;
}

.contact-info .zerofull .txt p br { display: none; }
.contact-info .zerofull .txt p span { padding-left: 4px; }

.contact-info .txt p.attention {
	margin-top: 15px;
	font-size: 11px;
	line-height: 1.6;
	letter-spacing: 0.03em;
}

.contact-info .txt .btn-zerofull { display: block !important; margin: 18px 0 0 -1px; }
.contact-info .txt .btn-zerofull a { display: block; }
.contact-info .txt .btn-zerofull + .btn-zerofull { margin-top: 8px; }

.contact-info .qr { display: none; }

.contact-info .inner .paaktel {
	margin: 13px 0 12px;
}

.contact-info .inner .paaktel em {
	display: block;
	font-size: 16px;
}

.contact-info .inner .paaktel em span {
	padding-right: 3px;
}

.sec-lead .cancel {
	margin-top: 45px;
}

.sec-lead .cancel h3 {
	position: relative;
	font-size: 15px;
	color: var(--color-green);
	padding-left: 35px;
	letter-spacing: 0.08em;
	font-weight: 400;
	line-height: 1.7;
}

.sec-lead .cancel h3::before {
	display: block;
	content: '';
	position: absolute;
	top: 1px;
	left: 0px;
	background: url(img/share/ico-attention.svg) no-repeat left top;
	width: 22px;
	height: 22px;
}

.sec-lead .cancel p {
	font-size: 14px;
	line-height: 1.9;
	padding: 12px 0 0 0;
}

/* .contact-form
------------------------------------*/
.contact-form { padding: 0 6%; }

.form-wrap dl, .form-wrap dl p { line-height: 1.6; }
.form-wrap dl div { margin-bottom: 20px; }
.form-wrap dl div:last-of-type { margin-bottom: 0; }

.form-wrap dt {
	position: relative;
	margin-bottom: 3px;
	padding-left: 2px;
}

.form-wrap dt.must:before {
	display: block;
	content: '';
	position: absolute;
	top: -2px;
	left: -6px;
	background-color: var(--color-gold);
	border-radius: 50%;
	width: 4px;
	height: 4px;
}

.form-wrap dt,
.form-wrap dt p {
	font-size: 13px;
	letter-spacing: 0.08em;
}

.form-wrap dt span {
	padding-left: 6px;
	font-size: 10px;
	letter-spacing: 0.1em;
}

.form-wrap dd p {
	font-size: 12px;
	line-height: 1.7;
	text-align: justify;
}

/* input
------------------------------------*/
.wpcf7-form-control-wrap { display: inline-block; position: relative; width: 100%; }

.form-wrap input[type="text"],
.form-wrap input[type="email"],
.form-wrap input[type="tel"],
.form-wrap select,
.form-wrap textarea,
.form-wrap .btn-select .customSelect {
	display: inline-block;
	background-color: #FBFBFB;
	border: 1px solid var(--color-border);
	width: 100%;
	height: 50px;
	padding: 0 18px;
	font-family: var(--font-gothic-device);
	font-size: 16px;
	letter-spacing: 0.08em;
}

.form-wrap select {
	appearance: none;
	position: relative;
	padding: 0 40px 0 20px;
	z-index: 0;
}

.btn-select .wpcf7-form-control-wrap:before {
	display: block;
	content: '';
	position: absolute;
	top: 19px;
	right: 22px;
	background: url(img/share/ico-arrow-green-s.svg) no-repeat left top / 100% auto;
	filter: grayscale(100%);
	width: 9px;
	height: 13px;
	transform: rotate(90deg);
	z-index: 1;
	pointer-events: none;
}

.form-wrap textarea { height: 360px; padding: 20px 18px; }

::-webkit-input-placeholder { display: none; font-size: 0; }
:-moz-placeholder { display: none; font-size: 0; }
::-moz-placeholder { display: none; font-size: 0; }
:placeholder-shown { display: none; font-size: 0; }

/* .sec-privacy
------------------------------------*/
.sec-privacy {
	background-color: var(--color-bg-green);
	border-radius: 6px;
	margin: 35px 0 20px;
	padding: 5px;
	text-align: justify;
}

.sec-privacy .inner {
	overflow-y: scroll;
	width: 100%;
	height: 360px;
	padding: 45px 30px 0 25px;
	overflow-x: auto;
	position: relative;
}

.sec-privacy .inner::-webkit-scrollbar { width: 2px !important; }
.sec-privacy .inner::-webkit-scrollbar-track { background: none; }
.sec-privacy .inner::-webkit-scrollbar-thumb { background: var(--color-green); }

.sec-privacy h2 {
	margin-bottom: 20px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 14px;
	letter-spacing: 0.1em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

.sec-privacy .inner > p,
.sec-privacy dd p { letter-spacing: 0.06em; }
.sec-privacy dl > div { margin-bottom: 30px; }
.sec-privacy dt { margin: 34px 0 8px; }

.sec-privacy dt p {
	margin: 0;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 14px;
	letter-spacing: 0.1em;
}

.sec-privacy dd { color: #565656; text-align: justify; }
.sec-privacy ul { margin-top: -2px; }
.sec-privacy ul li { margin-bottom: 3px; }
.sec-privacy .dot-list li:before { top: 9px; }
.sec-privacy ul li p { line-height: 1.95; letter-spacing: 0.04em; }
.sec-privacy ol { padding: 15px 0px 20px 18px; }
.sec-privacy ol:last-child { padding-bottom: 0; }

.sec-privacy ol li {
	margin-bottom: 4px;
	list-style: decimal;
	font-size: 12px;
	line-height: 1.8;
	letter-spacing: 0.06em;
}

.privacy-check { margin-left: 7px; margin-bottom: 8px; }
.privacy-check .wpcf7-form-control-wrap { width: auto; margin-right: 14px; }
.privacy-check .wpcf7-form-control-wrap input { transform: scale(1.2); transform-origin: left top; }

.form-attention {
	font-size: 12px;
	line-height: 1.9;
	padding: 0px 7px;
	text-align: justify;
	letter-spacing: 0.06em;
}

/* .btm-attention
------------------------------------*/
.btm-attention { margin: 30px 0 0; padding: 0 2px; text-align: justify; }
.btm-attention p { letter-spacing: 0.06em; }

/* .btn-submit
------------------------------------*/
.btn-submit {
	position: relative;
	display: block;
	margin: 35px 0 0;
}

.btn-submit input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: block;
	background: url(img/share/bg-pattern-noise.png), linear-gradient(88.45deg, #007C3F 48.68%, #297358 86.23%);
	border: none;
	border-radius: 60px;
	width: 100%;
	margin: 0;
	padding: 14px 20px 13px 22px;
	color: #FFFFFF;
	font-family: var(--font-gothic-r-jp);
	font-size: 16px;
	line-height: 1.4;
	letter-spacing: 0.12em;
	text-align: center;
	white-space: nowrap;
}

/* error
------------------------------------*/
.form-wrap .txt-error,
.wpcf7-not-valid-tip,
.txt-response,
.wpcf7-response-output { display: block; }

.form-wrap .txt-error,
.wpcf7-not-valid-tip {
	margin: 8px 0 0 2px;
	padding: 0;
	font-family: var(--font-gothic-r-jp);
	color: var(--color-green);
	font-size: 11px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.screen-reader-response { display: none; }

.txt-response,
.wpcf7-response-output {
	margin: 20px 0 0;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 14px;
	line-height: 1.85;
	letter-spacing: 0.08em;
}

.wpcf7-response-output:first-child { margin: -45px 0 45px; padding-top: 45px; }
.wpcf7-response-output:empty { margin: 0; padding-top: 0; }

/* recaptcha
------------------------------------*/
.grecaptcha-badge { pointer-events: none; z-index: -999; opacity: 0; transition: .15s ease-out; }
body.contact .grecaptcha-badge,
body.voice .grecaptcha-badge,
body.recruit-doctor .grecaptcha-badge,
body.recruit-information .grecaptcha-badge { pointer-events: auto; z-index: 0; opacity: 1; }


/* page voice
---------------------------------------------------------------------------*/
.form-wrap dd:has(p .wpcf7-checkbox) {
	padding-top: 10px;
	padding-bottom: 5px;
	padding-left: 2px;
}

.wpcf7-checkbox > span {
	display: inline-block;
	margin: 0 16px 8px 0;
	font-size: 13px;
	letter-spacing: 0.04em;
}

.wpcf7-checkbox input[type="checkbox"] {
	margin-right: 6px;
	transform: translateY(2px);
}

_::-webkit-full-page-media, _:future, :root .wpcf7-checkbox input[type="checkbox"] {
	transform: translateY(1px);
}


/* page error
---------------------------------------------------------------------------*/
#errorContents .sec-lead { margin-bottom: 0; }
#errorContents .sec-lead p a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.1em; }