@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(88.45deg, #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);

	/* zerofull */
  --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: 35px;
  --spa2: 30px;
}

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: 14px; line-height: 2; letter-spacing: 0.1em; margin-bottom: 1em; }
p:last-child { margin-bottom: 0 !important; }
address,i { font-style: normal; }
img { max-width: none; }
figure { position: relative; }

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

.block { display: inline-block !important; }
.wide { display: inline-block !important; }
.narrow { display: none !important; }
.nav-sp, .btn-nav { display: none !important; }

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

/* link
------------------------------------*/
a { color: var(--color-text); text-decoration: none; transition: .15s ease-out; -webkit-transform: translateZ(0); }
.hover { cursor: pointer; transition: .15s ease-out; }
a:hover,.hover:hover { text-decoration: none; opacity: 0.6; }

.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-link.size-l a,
.btn-link.size-ll a,
.btn-zerofull a {
	display: inline-block;
	background: var(--gradient-green);
	border-radius: 100px;
	padding: 15px 21px 14px 23px;
	color: #FFFFFF;
	font-size: 14px;
	letter-spacing: 0.12em;
	text-align: center;
	cursor: pointer;
	transition: .15s ease-out;
}

.btn-link > span:hover { opacity: 0.8; }
.btn-link.radius a,
.btn-link.radius > span { border-radius: 2px; }
.btn-zerofull a { background: var(--color-blue); }

.btn-link.size-l a,
.btn-link.size-ll a {
	display: block;
	border-radius: 40px;
	padding-top: 22px;
	padding-bottom: 21px;
	font-size: 17px;
	letter-spacing: 0.14em;
}

.btn-link.size-ll a {
	padding-top: 32px;
	padding-bottom: 31px;
	font-size: 20px;
}

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

.btn-link.size-ll a i.arrow { margin-left: 24px; transform: translateY(-2px); }

.btn-line a {
	display: inline-block;
	background: url(img/share/ico-arrow-green.svg) no-repeat right 9px top 12px;
	border: 1px solid var(--color-green);
	border-radius: 100px;
	padding: 10px 26px 8px 24px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 14px;
	letter-spacing: 0.06em;
	text-align: center;
}

.btn-color a {
	display: block;
	background: var(--gradient-green);
	border-radius: 4px;
	padding: 19px 20px 17px 22px;
	color: #FFFFFF;
	font-size: 16px;
	letter-spacing: 0.12em;
	text-align: center;
}

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

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

.btn-color.size-l a {
	padding-top: 24px;
	padding-bottom: 22px;
	font-size: 17px;
	letter-spacing: 0.15em;
}

.btn-color a:hover { opacity: 0.8; }
.btn-color a span { display: inline-block; position: relative; padding-right: 32px; }
.btn-color.size-s a span { padding-right: 24px; }

.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-color.size-s a span:after { top: 2px; }
.btn-set > div { display: inline-block; margin: 0 6px 12px 0; }
.btn-set > div:nth-of-type(2):last-of-type { margin-right: 0; }

/* .dot-list
------------------------------------*/
.dot-list li {
	position: relative;
	margin: 0 0 6px 2px;
	padding-left: 16px;
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

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

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

/* .attention-list
------------------------------------*/
.attention-list li {
	position: relative;
	margin: 0 0 4px;
	padding-left: 16px;
	font-size: 13px;
	line-height: 1.6;
	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: 23px;
	right: 20px;
	width: 11px;
	height: 11px;
	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: 5px; width: 1px; height: 100%; }
i.plus:after { top: 5px; left: 0; width: 100%; height: 1px; }


/* #wrap
---------------------------------------------------------------------------*/
#wrap { min-width: 1240px; }

body.recruit-doctor #wrap,
body.recruit-information #wrap,
body.column #wrap { padding-top: 0 !important; }

body.recruit-doctor .btn-reservation-fix,
body.recruit-information .btn-reservation-fix,
body.column .btn-reservation-fix,
body.recruit-doctor .bg-modal,
body.recruit-information .bg-modal,
body.column .bg-modal { margin-top: 0 !important; }

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

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;
	z-index: 2;
	cursor: pointer;
}

.attention-news .close img { display: block; transition: .15s ease-out; }
.attention-news .close:hover img { opacity: 0.5; }

.attention-news .close:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: -34px;
	background-image: linear-gradient(to right, rgba(176,163,126,1) 0%, rgba(176,163,126,0) 100%);
	width: 34px;
	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: 15px !important;
	line-height: 1 !important;
	letter-spacing: 0.1em !important;
}

.attention-news .inner { padding: 14px 0 12px; }
.attention-news .news-inner p { display: inline-block; margin: 0 !important; }
.attention-news .inner span { display: inline-block; padding-left: 25px; }
.attention-news .inner span time { padding-right: 12px; font-family: var(--font-gothic-m-en); font-size: 15px; letter-spacing: 0.08em; }
.attention-news .inner strong {	display: inline-block; box-shadow: inset 0 -7px 0 0 #FFF300; padding-bottom: 1px; }

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


/* header
---------------------------------------------------------------------------*/
header {
	position: relative;
	display: flex;
	justify-content: space-between;
	width: 100%;
	height: 105px;
	margin: 0 0 125px;
	padding: 0;
	z-index: 100;
	opacity: 0;
}

body.paak header,
body.zerofull-clinic header,
body.recruit-information header { margin-bottom: 0; }
body.zerofull-clinic header { position: absolute; top: 0; left: 0; }

header .logo { margin: 40px 0 0 43px; }
header .logo .green,
header .logo .type { display: none !important; }
header .logo.hidden { visibility: hidden; pointer-events: none; opacity: 0; }

header .header-inner { display: flex; }

header .gnav { margin: 29px 0 0; }
header .gnav.off { pointer-events: none; }
header .gnav > ul { display: flex; }
header .gnav-list { position: relative; }

header .gnav-list-parent { display: block; position: relative; padding: 15px 10px 42px; }
header #gnav-other .gnav-list-parent { padding-right: 12px; }
header .gnav-list-parent:hover { opacity: 1 !important; }
header .gnav-list-parent img { display: block; transition: 0s; }

header .gnav-list-parent .green {
	display: block;
	position: absolute;
	top: 15px;
	left: 10px;
	opacity: 0;
	transition: .15s ease-out;
}

header .gnav-list:hover .gnav-list-parent img:not(.green),
header .gnav-list.current .gnav-list-parent img:not(.green) { opacity: 0; transition: .15s ease-out .05s; }
header .gnav-list:hover .gnav-list-parent .green,
header .gnav-list.current .gnav-list-parent .green { opacity: 1; transition: .1s ease-out; }

header .gnav-list-parent:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 39px;
	right: 9px;
  background-color: var(--color-green);
	width: 0;
	height: 1px;
  transition: .12s ease-out;
}

header .gnav-list:hover .gnav-list-parent:after,
header .gnav-list.current .gnav-list-parent:after {
	left: 10px;
	width: calc(100% - 19px);
	transition: .24s var(--easeOutQuart);
}

header .sns { display: flex; margin: 34px 164px 0 13px; }
header .sns > li { position: relative; }
header .sns > li > a,
header .sns > li > span { position: relative; display: block; padding: 4px; }
header .sns img:not(.green) { filter: saturate(0%) brightness(150%) contrast(100%); }
header .sns img.white { position: absolute; top: 4px; left: 4px; }

.sns li > a .green,
.sns li > span .green {
	display: block;
	position: absolute;
	top: 4px;
	left: 4px;
	transition: .15s ease-out;
	opacity: 0;
}

header .sns li:hover > a .green,
header .sns li:hover > span .green { opacity: 1; }

.btn-reservation-fix {
	position: fixed;
	top: 36px;
	right: 30px;
	background: url(img/share/bg-pattern-noise.png), linear-gradient(88.45deg, #007C3F 48.68%, #297358 86.23%);
	border-radius: 50px;
	padding: 7px 25px 7px 27px;
	white-space: nowrap;
	z-index: 101;
	transform-origin: right top;
	cursor: pointer;
	opacity: 0;
}

.btn-reservation-fix.scale { top: 32px; transform: scale(1.37); transition: .3s var(--easeOutQuart); }
.btn-reservation-fix.scale-out { top: 36px; transition: .2s var(--easeOutQuart); transform: scale(1); }

body.dermatology-single .btn-reservation-fix,
body.beauty-single .btn-reservation-fix,
body.recruit-doctor .btn-reservation-fix,
body.recruit-information .btn-reservation-fix {
	position: absolute !important;
	transform: scale(1) !important;
}

.btn-reservation-fix img { display: block; transition: .15s ease-out; }
.btn-reservation-fix:hover img { opacity: 0.6; }
.btn-reservation-fix .blue { position: absolute; top: 7px; left: 27px; opacity: 0 !important; }
body.zerofull-clinic .btn-reservation-fix .blue { opacity: 1 !important; }

.btn-nav + .btn-search { display: none !important; }

@media (max-width: 1340px) {
	header .logo { margin-left: 32px; }
	header .gnav-list > a,
	header .gnav-list > span { padding-right: 8px; padding-left: 8px; }
	header .gnav-list-parent .green { left: 8px; }
	header .sns { margin-right: 152px; margin-left: 9px; }
	header .sns li > a,
	header .sns li > span { padding-right: 3px; padding-left: 3px; }
	.sns li > a .green,
	.sns li > span .green { left: 3px; }
	.btn-reservation-fix { right: 22px; }
}

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

body.zerofull-clinic .bg-modal { top: 0; }

.mnav {
	position: absolute;
	top: 35px;
	left: 50%;
	transform: translateX(-50%);
	min-width: 140px;
	padding: 25px;
	transition: .2s var(--easeOutCubic);
	visibility: hidden;
	pointer-events: none;
	opacity: 0;
}

.sns .mnav > strong { display: none; }
header .sns .mnav { margin-top: -5px !important; }

header .gnav:not(.off) .mnav-wrap:hover .mnav,
header .sns:not(.off) .mnav-wrap:hover .mnav,
footer .sns:not(.off) .mnav-wrap:hover .mnav {
	top: 45px;
	transition: .2s var(--easeOutCubic);
	visibility: visible;
	pointer-events: auto;
	opacity: 1;
}

footer .mnav { top: inherit !important; bottom: 20px; min-width: auto; margin-left: 10px; }
footer .sns:not(.off) .mnav-wrap:hover .mnav { bottom: 30px; }

.mnav > ul,
.mnav-beauty > div {
	position: relative;
	background-color: var(--color-bg);
	border-radius: 6px;
	box-shadow: 0 11px 9px rgba(0,0,0,0.25);
}

.mnav > ul { background-color: #FFFFFF; padding: 16px 0 12px; }
.mnav-beauty > ul { background-color: var(--color-bg); }
footer .mnav > ul { box-shadow: 0 6px 6px rgba(0,0,0,0.1); }

.mnav > ul:before,
.mnav-beauty > div:before {
	display: block;
	content: '';
	position: absolute;
	top: -5px;
	left: 50%;
	transform: translateX(-50%);
	background-color: #FFFFFF;
	clip-path: polygon(50% 0, 0% 100%, 100% 100%);
	width: 18px;
	height: 6px;
}

.mnav-beauty > div:before { background-color: var(--color-bg); }

footer .mnav > ul:before {
	top: inherit !important;
	bottom: -5px;
	left: 87px;
	transform: translateX(-50%) rotate(180deg);
}

.mnav > ul > li a,
.mnav > ul > li > span {
	display: block;
	padding: 10px 22px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 14px;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

footer .mnav > ul > li a { padding-right: 18px; padding-left: 18px; letter-spacing: 0.06em; }

.mnav > ul > li a span { font-size: 12px; letter-spacing: 0.06em; }
.mnav > ul > li a span.pl { padding-left: 4px; }
.mnav > ul > li a span.pr { padding-right: 7px; }

/* .mnav-beauty
------------------------------------*/
.mnav-beauty { width: 1240px; padding-top: 50px; z-index: 1; }
.mnav-beauty > div { border-radius: 12px; }

.mnav-beauty-head {
	display: flex;
	justify-content: space-between;
	border-bottom: 2px solid var(--color-border);
	padding: 30px 34px 26px;
	white-space: nowrap;
}

.mnav-beauty-head nav li { display: inline-block; margin-right: 26px; }

.mnav-beauty-head nav li a {
	display: inline-block;
	background: url(img/share/ico-arrow-link-green.svg) no-repeat right top 1px;
	padding: 0 26px 0 0;
	color: var(--color-green);
	font-size: 18px;
	letter-spacing: 0.1em;
}

.mnav-beauty-head nav li a i { display: inline-block; margin-right: 3px; }
.mnav-beauty-head nav li:nth-of-type(2) a i { margin-right: 1px; }
.mnav-beauty-head nav li:nth-of-type(3) a i { margin-top: 1px; transform: translateY(-1px); }
.mnav-beauty-head nav li span { display: inline-block; }

.mnav-beauty-head > ul { margin-top: 2px; }

.mnav-beauty-head > ul li {
	position: relative;
	display: inline-block;
	margin-left: 7px;
	padding: 4px 0 0 24px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 13px;
	letter-spacing: 0.08em;
}

.mnav-beauty-head > ul li:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background-position: left top;
	background-repeat: no-repeat;
	width: 19px;
	height: 20px;
}

.mnav-beauty-head > ul li:nth-of-type(1):before { background-image: url(img/share/ico-mnav-recommend.png); }
.mnav-beauty-head > ul li:nth-of-type(2):before { background-image: url(img/share/ico-mnav-external-medicine.png); }
.mnav-beauty-head > ul li:nth-of-type(3):before { background-image: url(img/share/ico-mnav-internal-medicine.png); }
.mnav-beauty-head > ul li:nth-of-type(4):before { background-image: url(img/share/ico-mnav-injection.png); }

@media all and (-webkit-min-device-pixel-ratio: 1.5) {
	.mnav-beauty-head > ul li:before { background-size: 19px auto; }
	.mnav-beauty-head > ul li:nth-of-type(1):before { background-image: url(img/share/ico-mnav-recommend@2x.png); }
	.mnav-beauty-head > ul li:nth-of-type(2):before { background-image: url(img/share/ico-mnav-external-medicine@2x.png); }
	.mnav-beauty-head > ul li:nth-of-type(3):before { background-image: url(img/share/ico-mnav-internal-medicine@2x.png); }
	.mnav-beauty-head > ul li:nth-of-type(4):before { background-image: url(img/share/ico-mnav-injection@2x.png); }
}

/* .mnav-beauty-list
------------------------------------*/
.mnav-beauty-list {
	overflow: hidden;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
	gap: 65px 25px;
	padding: 36px 33px;
}

.mnav-beauty-list .inner { position: relative; }
.mnav-beauty-list .inner:has(.btn-line) { padding-bottom: 50px; }

.mnav-beauty-list .inner:nth-of-type(7):before,
.mnav-beauty-list .inner:nth-of-type(13):before,
.mnav-beauty-list .inner:nth-of-type(19):before {
	display: block;
	content: '';
	position: absolute;
	top: -32px;
	left: -34px;
	background: var(--color-border);
	width: calc(1240px + 68px);
	height: 2px;
}

.mnav-beauty-list h3 {
	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;
}

.mnav-beauty-list ul { margin-left: 3px; }

.mnav-beauty-list li a {
	display: block;
	position: relative;
	background: url(img/share/ico-arrow-green.svg) no-repeat left top 6px / 6px auto;
	padding: 0 0 5px 11px;
	font-size: 12px;
	line-height: 1.5;
	letter-spacing: 0.06em;
}

.mnav-beauty-list li a:has(.label) { padding-right: 25px; }

.mnav-beauty-list li .label {
	display: block;
	position: absolute;
	top: 2px;
	right: 1px;
	background-position: left top;
	background-repeat: no-repeat;
	width: 15px;
	height: 16px;
}

.mnav-beauty-list li .label.recommend { background-image: url(img/share/ico-mnav-recommend-s.png); }
.mnav-beauty-list li .label.external-medicine { background-image: url(img/share/ico-mnav-external-medicine-s.png); }
.mnav-beauty-list li .label.internal-medicine { background-image: url(img/share/ico-mnav-internal-medicine-s.png); }
.mnav-beauty-list li .label.injection { background-image: url(img/share/ico-mnav-injection-s.png); }

@media all and (-webkit-min-device-pixel-ratio: 1.5) {
	.mnav-beauty-list li .label { background-size: 15px auto; }
	.mnav-beauty-list li .label.recommend { background-image: url(img/share/ico-mnav-recommend-s@2x.png); }
	.mnav-beauty-list li .label.external-medicine { background-image: url(img/share/ico-mnav-external-medicine-s@2x.png); }
	.mnav-beauty-list li .label.internal-medicine { background-image: url(img/share/ico-mnav-internal-medicine-s@2x.png); }
	.mnav-beauty-list li .label.injection { background-image: url(img/share/ico-mnav-injection-s@2x.png); }
}

.mnav-beauty-list .btn-line { position: absolute; bottom: 0; left: 0; width: 100%; }

.mnav-beauty-list .btn-line a {
	display: block;
	width: 100%;
	padding-left: 22px;
	font-size: 12px;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

@media (max-width: 1380px) {
	header #gnav-beauty { position: static; }
	.mnav-beauty { top: 65px; }
	header .gnav:not(.off) .mnav-wrap:hover .mnav-beauty { top: 75px; }
}

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

.modal-common {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 104;
	opacity: 0;
}

.btn-close-reservation { position: absolute; top: 0; right: 0; padding: 42px 48px; }

.modal-common-inner {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) !important;
	background-color: #FFFFFF;
	border-radius: 4px;
	width: 890px;
	padding: 45px 45px 30px;
	opacity: 0;
}

.modal-reservation .inner { display: flex; border-top: 1px solid var(--color-border); }

.modal-reservation .inner h2 {
	width: 120px;
	min-width: 120px;
	margin-right: 35px;
	padding-top: 32px;
	text-align: center;
}

.modal-reservation .inner h2 a { display: block; }
.modal-reservation .inner.paak h2 a img { width: 80px; }
.modal-reservation .inner.zerofull h2 a img { width: 115px; }

.modal-reservation .inner h2 span {
	display: block;
	border: 1px solid var(--color-border-dark);
	border-radius: 20px;
	margin-top: 18px;
	padding: 6px 10px 5px 10px;
	font-size: 12px;
	letter-spacing: 0.08em;
	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 { display: flex; padding: 15px 0; }
.modal-reservation .inner dl > div:not(:first-of-type) { border-top: 1px solid var(--color-border); }

.modal-reservation .inner dt {
	position: relative;
	width: 95px;
	min-width: 95px;
	padding: 22px 10px;
	text-align: center;
	white-space: nowrap;
}

.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-size: 14px;
	letter-spacing: 0.1em;
	z-index: 1;
}

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

.modal-reservation .zerofull dd { padding: 18px 0 0 34px; }

.link-list li:not(:last-of-type) { margin-bottom: 5px; }
.modal-reservation .link-list li { margin-bottom: 4px !important; }
.modal-reservation .zerofull dd .link-list li { margin-bottom: 4px !important; }

.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 32px;
	font-size: 14px;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

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

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

.modal-reservation .inner p {
	margin-bottom: 18px;
	font-size: 12px;
	letter-spacing: 0.06em;
}

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

.modal-reservation .inner .attention-list li {
	margin-bottom: 4px;
	font-size: 12px;
	letter-spacing: 0.06em;
	white-space: nowrap;
}

.modal-reservation .inner dd .qr { position: absolute; top: 15px; right: 20px; }
.modal-reservation .inner dd .qr img { display: block; margin-bottom: 12px; }

.modal-reservation .inner dd .qr span {
	display: block;
	font-size: 12px;
	line-height: 1.5;
	letter-spacing: 0.04em;
	text-align: center;
}

/* .modal-line
------------------------------------*/
.modal-line .modal-line-inner {
	border-radius: 40px;
	width: 760px;
	padding: 42px 70px 50px;
}

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

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

.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: 28px;
	letter-spacing: 0.18em;
	white-space: nowrap;
}

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

.modal-line .modal-line-inner > p {
	font-size: 15px;
	text-align: center;
	white-space: nowrap;
}

.modal-line .modal-line-inner .box {
	display: flex !important;
	justify-content: space-between;
	background-color: var(--color-bg-green);
	margin: 24px 0 26px;
	padding: 30px 30px 22px 33px;
}

.modal-line .modal-line-inner .box .txt {
	padding: 0 35px 0 0;
	transform: translateY(-4px);
}

.modal-line .modal-line-inner .box p {
	margin-bottom: 9px;
	line-height: 1.8;
	letter-spacing: 0.08em;
	text-align: justify;
}

.modal-line .modal-line-inner .box p strong {
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
}

.modal-line .modal-line-inner .box .qr {
	width: 100px;
	min-width: 100px;
}


/* footer
---------------------------------------------------------------------------*/
footer {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	background: url(img/share/bg-footer.png) no-repeat right bottom;
	width: 100%;
	margin: 0;
	padding: 280px 0 50px 60px;
	white-space: nowrap;
	opacity: 0;
}

footer .footer-clinic { display: flex; align-items: flex-end; width: 100%; margin-bottom: 80px; }
footer .footer-clinic .inner { display: flex; align-items: flex-end; margin-right: 40px; }
footer .footer-clinic .logo { margin: 0 40px 0 0; text-align: center; }
footer .footer-clinic .paak .logo img { width: 100px; transform: translateY(-8px); }
footer .footer-clinic .zerofull .logo img { width: 152px; transform: translateY(-8px); }

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

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

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

footer .footer-clinic .link-list li a { background-position: left top 1px; font-family: var(--font-gothic-r-jp); font-size: 14px; }

footer .sns { display: flex; margin: 0 0 28px -6px; }
footer .sns > li { position: relative; }
footer .sns > li > a,
footer .sns > li > span { display: inline-block; padding: 6px; }
footer .sns img { width: 29px; }

footer .footer-inner > .logo { position: absolute; bottom: 40px; left: 60px; }
footer .footer-inner > .logo > img { display: block; margin: 0 0 18px 2px; width: 148px; }
footer .footer-inner > .logo a img { width: 260px; }

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

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

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

.footer-inner dl p.attention { margin-top: 5px; font-size: 12px; }
.footer-inner dd li { margin-bottom: 6px; }
.footer-inner dd li a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.1em; }

footer .tag { font-size: 12px; letter-spacing: 0.12em; }
.footer-link { position: absolute; bottom: 0; right: 15px; }

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

.copyright {
	position: absolute;
	bottom: 224px;
	right: 8px;
	color: var(--color-green);
	font-family: var(--font-gothic-m-en);
	font-size: 9px;
	letter-spacing: 0.11em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

/* .fnav
------------------------------------*/
.fnav { position: relative; margin: 0 60px 0 0; }
.fnav .dl-wrap { display: flex; margin-bottom: 45px; }
.fnav dl:not(:last-of-type) { margin-right: 30px; }

.fnav dt {
	margin-bottom: 33px;
	color: var(--color-green);
	font-family: var(--font-gothic-m-en);
	font-size: 11px;
	letter-spacing: 0.08em;
}

.fnav dd.even { display: flex; }
.fnav dd.even ul { margin-right: 30px; }
.fnav dd li:not(:last-of-type) { margin-bottom: 11px; }

.fnav dd li a {
	display: inline-block;
	background: url(img/share/ico-arrow-green-s.svg) no-repeat left 2px top 2px;
	padding: 0 5px 7px 15px;
	font-size: 14px;
	letter-spacing: 0.06em;
}

.fnav dd li.current a { color: var(--color-green); }
.fnav dd li a span { padding-left: 3px; font-size: 12px; }

@media (max-width: 1380px) {
	footer { padding-left: 55px; }
	footer .footer-inner > .logo { left: 55px; }
	.fnav dl:not(:last-of-type) { margin-right: 20px; }
	.fnav dd.even ul { margin-right: 20px; }
	.fnav dd li a { font-size: 13px; letter-spacing: 0.06em; }
}


/* contents
---------------------------------------------------------------------------*/
#mainContents {
	display: block;
	width: 100%;
	min-height: calc(100vh - 1055px);
	margin: 0 auto;
	padding: 0;
	text-align: left;
}

.contents { opacity: 0; }
.contents-wrap { position: relative; width: 1040px; margin: 0 auto; }
.contents-2column { display: flex; align-items: flex-start; border-top: 1px solid var(--color-border); }

.contents-2column-nav {
	display: flex;
	align-items: center;
	position: sticky;
	top: 0;
	left: 0;
	background-color: #ECEDE6;
	border-right: 1px solid var(--color-border);
	min-height: 100vh;
}

#wrap:not(.attention-news-close):has(.attention-news) .contents-2column-nav {
	top: 41px;
	height: calc(100vh - 41px);
	min-height: calc(100vh - 41px);
}

#wrap:has(.attention-news):not(.attention-news-close) .price-nav {
	height: 100%;
	min-height: 100%;
}

/* .img-main
------------------------------------*/
.img-main { position: relative; padding: 0 35px; }
.img-main img { width: 100%; }

/* .title-page-wrap
------------------------------------*/
.title-page-wrap p {
	line-height: 2.15;
}

/* .title-page
------------------------------------*/
.title-page {
	position: relative;
	margin-bottom: 60px;
	color: var(--color-green);
	z-index: 1;
}

.title-page:not(:has(+ .contents-inner .sec-lead)) { margin-bottom: 75px; }

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

.title-page > span i { padding: 0 4px 0 6px; }

.title-page h1,
.title-page h2:not(.copy) {
	font-size: 20px;
	letter-spacing: 0.2em;
}

.title-page h1 a,
.title-page h2:not(.copy) a {
	color: var(--color-green);
}

.title-page h1 span,
.title-page h2:not(.copy) span {
	padding-left: 4px;
	font-size: 14px;
	letter-spacing: 0.18em;
}

.title-page h1 span i,
.title-page h2:not(.copy) span i {
	padding: 0 3px;
}

.title-page:has(h2.copy) h1 {
	display: inline-block;
	margin-right: 10px;
}

.title-page h2.copy {
	display: inline-block;
	font-family: var(--font-gothic-r-jp);
	font-size: 12px;
	letter-spacing: 0.12em;
	transform: translateY(-1px);
}

/* .anchor-nav
------------------------------------*/
.anchor-nav {
	position: absolute;
	top: -7px;
	right: 0;
	background-color: #FFFFFF;
	border-radius: 40px;
	padding: 0 5px;
}

.anchor-nav ul { display: flex; }
.anchor-nav li { position: relative; }

.anchor-nav li:before {
	display: block;
	content: '';
	position: absolute;
	top: 11px;
	right: 0;
	background-color: var(--color-border);
	width: 1px;
	height: calc(100% - 22px);
}

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

/*.anchor-nav li.current:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: -4px;
	background: var(--gradient-green);
	border-radius: 100px;
	width: calc(100% + 8px);
	height: 100%;
	z-index: 0;
}

.anchor-nav li.current:first-of-type:after { left: -10px; width: calc(100% + 12px); }
.anchor-nav li.current:last-of-type:after { right: -10px; width: calc(100% + 12px); }*/

.anchor-nav-current {
	display: block;
	position: absolute;
	top: 0;
	left: -4px;
	/*width: 100%;*/
	height: 100%;
	z-index: 0;
}

.anchor-nav-current > div {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background: var(--gradient-green);
	border-radius: 100px;
	width: 100%;
	height: 100%;
}

.anchor-nav li a {
	display: block;
	position: relative;
	padding: 18px 20px 16px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 14px;
	letter-spacing: 0.1em;
	white-space: nowrap;
	z-index: 1;
}

.anchor-nav li:last-of-type a { padding-left: 25px; }

.anchor-nav li a:hover { opacity: 1 !important; }
.anchor-nav li a:hover,
.anchor-nav li.current a { color: #FFFFFF; }
.anchor-nav li.current.hover-out a { color: var(--color-green); }

/* .anchor-nav-txt
------------------------------------*/
.anchor-nav-txt {
	position: absolute;
	top: 10px;
	right: 0;
	z-index: 2;
}

.anchor-nav-txt ul {
	display: flex;
}

.anchor-nav-txt li {
	position: relative;
	margin-left: 1px;
}

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

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

.anchor-nav-txt a {
	display: inline-block;
	padding: 0 15px 0;
	color: var(--color-green);
	font-size: 15px;
	letter-spacing: 0.1em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

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

.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); }

/* .sec-lead
------------------------------------*/
.sec-lead {
	position: relative;
	margin-bottom: 80px;
	padding: 0 0 0 15px;
}

.sec-lead p {
	font-size: 15px;
	line-height: 2.1;
}

.sec-lead p.attention { font-size: 13px; }
.sec-lead p:has(strong) { margin-top: 22px; line-height: 2.2; }
.sec-lead p strong { color: var(--color-green); font-size: 16px; }

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

.sec-lead .pickup p:not(.attention) { display: none; }

.sec-lead .pickup p.attention {
	position: absolute;
	bottom: 4px;
	right: 50px;
	font-size: 12px;
}

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

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

.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;
}

.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%);
}

.pickup-visit.active .visit-bg > div {
	animation: visit-bg1 14s linear infinite;
}
.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); }
}

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

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

.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);
}

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

.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: 14px !important;
	line-height: 1.8 !important;
	letter-spacing: 0.08em !important;
}

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

.table-common th,
.table-common td { padding: 12px 24px 20px 0; }

.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 tr:not(.th-head) th { max-width: 180px; min-width: 120px; }

.table-common th { color: var(--color-green); }
.table-common td { text-align: justify; }
.table-common td:last-of-type { padding-right: 5px; }

.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 {
	display: -webkit-box;
	display: flex !important;
	border-top: 1px solid var(--color-border);
	margin-bottom: 18px;
	padding-top: 11px;
}

.dl-line > div:has(.link-list) { padding-top: 14px; }
.dl-line > div:last-of-type { margin-bottom: 0; }

.dl-line dt {
	width: 130px;
	min-width: 130px;
	padding-right: 20px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

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

.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 li { margin-bottom: 5px; }
.page-nav li:first-of-type:last-of-type { display: none; }

.page-nav li a {
	display: inline-block;
	position: relative;
	padding: 5px 10px 10px 18px;
	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: 5px;
	left: 2px;
	background: url(img/share/ico-arrow-anchor-gold.svg) no-repeat left top;
	width: 6px;
	height: 10px;
	transition: .4s ease-out;
}

.page-nav li.current a:after { opacity: 0; }

.page-nav li a:before {
	display: block;
	content: '';
	position: absolute;
	top: 8px;
	left: 2px;
	background-color: var(--color-gold);
	border-radius: 50%;
	width: 5px;
	height: 5px;
	opacity: 0;
}

.page-nav li.current a:before { animation: anime .6s var(--easeInOutQuart) forwards; }

@keyframes anime {
	0% { opacity: 0; transform: scale(1); }
	50% { opacity: 1; transform: scale(1.45); }
	100% { opacity: 1; transform: scale(1); }
}

/* .page-nav-btm
------------------------------------*/
.page-nav-btm {
	position: relative;
	background-color: #FFFFFF;
	border-radius: 100px;
	margin-top: 70px;
	padding: 0 10px;
}

.page-nav-btm ul { display: flex; }
.page-nav-btm li { position: relative; width: 100%; }

.page-nav-btm li:before {
	display: block;
	content: '';
	position: absolute;
	top: 25px;
	right: 0;
	background-color: var(--color-border);
	width: 1px;
	height: calc(100% - 50px);
}

.page-nav-btm li:last-of-type:before { display: none; }

.page-nav-btm li a {
	display: block;
	position: relative;
	padding: 28px 15px 24px;
	text-align: center;
	white-space: nowrap;
	z-index: 1;
}

.page-nav-btm li a strong,
.page-nav-btm li a em { transition: .15s ease-out; }
.page-nav-btm li a:hover { opacity: 1 !important; }
.page-nav-btm li a:hover strong,
.page-nav-btm li a:hover em,
.page-nav-btm li.current a strong,
.page-nav-btm li.current a em { color: #FFFFFF; }
.page-nav-btm li.current.hover-out a strong { color: var(--color-green); }
.page-nav-btm li.current.hover-out a em { color: var(--color-gold); }

.page-nav-btm li a strong {
	display: block;
	margin-bottom: 13px;
	color: var(--color-green);
	font-size: 18px;
	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 strong { color: #FFFFFF; }
.page-nav-btm li.current a em { color: #DDD3B1; }

/* .beauty-list
------------------------------------*/
.beauty-list { margin-bottom: 1px; margin-top: -55px; padding-top: 55px; }
.beauty-list-title { position: relative; margin: 0 -5px; color: #FFFFFF; z-index: 1; }

.beauty-list-title > div:first-child {
	position: relative;
	display: flex;
	justify-content: space-between;
	background: var(--gradient-green);
	border-radius: 100px;
	min-height: 84px;
	padding: 28px 50px 26px 50px;
	transition: .15s var(--easeOutCubic);
	z-index: 1;
}

.beauty-list-title:has(i.plus) > div:first-child {
	border-radius: 3px;
	padding-left: 80px;
	cursor: pointer;
}

.beauty-list-title h2,
.beauty-list-title p { transition: .15s ease-out; }
.beauty-list-title:has(i.plus):hover h2,
.beauty-list-title:has(i.plus):hover p { opacity: 0.7; }

.beauty-list-title.active > div:first-child {
	border-radius: 100px !important;
	margin-top: 30px;
	transition: .7s var(--easeOutQuint);
}

.beauty-list-title:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 20px;
	background-color: #FFFFFF;
	width: calc(100% - 40px);
	height: 15px;
	z-index: 0;
	opacity: 0;
}

.beauty-list-title:not(:has(i.plus)):after,
.beauty-list-title.active:after { opacity: 1; }

.beauty-list-title .plus {
	position: absolute;
	top: 38px;
	left: 48px;
	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 {
	transform: translateY(5px);
	white-space: nowrap;
}

.beauty-list-title h2 strong {
	padding-right: 12px;
	font-size: 20px;
	letter-spacing: 0.22em;
}

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

.beauty-list-title p {
	font-size: 15px;
	letter-spacing: 0.2em;
}

/* .beauty-list-inner
------------------------------------*/
.beauty-list-inner {
	position: relative;
	margin-bottom: 30px;
	padding: 0 15px;
	z-index: 2;
}

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

.beauty-list-inner > div {
	background-color: #FFFFFF;
	border-radius: 0 0 4px 4px;
	padding: 20px 32px 45px;
}

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

.beauty-list-inner article figure,
.treatment-list-s article figure {
	display: none;
	overflow: hidden;
	border: 1px solid var(--color-green);
	border-radius: 3px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	pointer-events: none;
	opacity: 0;
}

.beauty-list-inner article:hover figure,
.treatment-list-s article:hover figure { display: block; opacity: 1; }

.beauty-list-inner article a {
	display: flex;
	justify-content: space-between;
	background: url(img/share/ico-arrow-line-green.svg) no-repeat left 18px top 33px;
	min-height: 60px;
	padding: 26px 10px 8px 60px;
}

.beauty-list-inner article h3 {
	color: var(--color-green);
	font-size: 16px;
	letter-spacing: 0.1em;
	transform: translateY(4px);
}

.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: 8px;
	padding: 4px 6px 3px 8px;
	color: #FFFFFF;
	font-size: 11px;
	line-height: 1;
	letter-spacing: 0.08em;
	transform: translateY(-2px);
}

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

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

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

.beauty-list-inner article p {
	font-size: 13px;
	letter-spacing: 0.13em;
}

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

.beauty-list-inner > div .btn-line a {
	display: block;
	background-position: right 24px top 24px;
	padding: 18px 35px 16px 30px;
	font-family: var(--font-gothic-l-jp);
	font-size: 16px;
	letter-spacing: 0.16em;
}

/* .treatment-list-s
------------------------------------*/
.treatment-list-s article {
	position: relative;
	background-color: #FFFFFF;
	margin-bottom: 13px;
}

.treatment-list-s article a {
	position: relative;
	display: flex;
	justify-content: space-between;
	padding: 12px 24px 11px;
	line-height: 1.6;
	z-index: 1;
	transition: .2s ease-out;
}

.treatment-list-s article.current a,
.treatment-list-s article a:hover { padding-right: 50px; opacity: 1; }

.treatment-list-s article a:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background: var(--gradient-green);
	width: 100%;
	height: 100%;
	z-index: -1;
	opacity: 0;
	transition: .3s var(--easeOutCubic);
}

.treatment-list-s article.current a:after,
.treatment-list-s article a:hover:after { opacity: 1; }

.treatment-list-s article a:before {
	display: block;
	content: '';
	position: absolute;
	top: 23px;
	right: 50px;
	background: url(img/share/ico-arrow-line-white.svg) no-repeat;
	width: 15px;
	height: 8px;
	z-index: 1;
	transition: .2s var(--easeOutCubic);
	opacity: 0;
}

.treatment-list-s article.current a:before,
.treatment-list-s article:hover a:before { right: 20px; opacity: 1; }
.treatment-list-s article h3 { order: 2; padding-top: 5px; font-size: 14px; 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;
	margin-bottom: 8px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 16px;
	letter-spacing: 0.12em;
	transition: .15s ease-out;
}

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

.treatment-page-list .btn-color { margin-top: 1px; }
.treatment-list-s + .btn-color { margin-top: 50px; }

/* .treatment-list-img
------------------------------------*/
.treatment-list-img { max-width: 780px; }
.treatment-list-img article { display: flex; }
.treatment-list-img article:not(:last-of-type) { margin-bottom: 50px; }
.treatment-list-img figure { width: 160px; min-width: 160px; height: 120px; }
.treatment-list-img figure img { object-fit: cover; width: 100%; height: 100%; border-radius: 2px; }
.treatment-list-img .txt { padding: 0 0 0 40px; }

.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 { letter-spacing: 0.12em; }
.treatment-list-img .btn-link { margin: 16px 0 0 -2px; }

/* .beauty-list + .btn-set
------------------------------------*/
.beauty-list + .btn-set { display: flex; justify-content: space-between; margin: 80px -5px 0; }
.beauty-list + .btn-set .btn-color { width: 48%; }
.beauty-list + .btn-set .btn-color a { display: block; border-radius: 100px; padding-top: 27px; padding-bottom: 25px; }
.beauty-list + .btn-set .btn-color a span:after { top: 4px; }

/* .dropdown-sp
------------------------------------*/
.faq-nav-modal-dropdown { display: none !important; }

/* .price-nav-close
------------------------------------*/
.nav-modal-btn,
.nav-modal-close-btn { display: none !important; }


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

/* .news-category
------------------------------------*/
.news-category { display: flex; position: absolute; top: 0; right: 0; }
.news-category > div { margin-left: 10px; }

/* .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: 150px;
	color: var(--color-green);
	padding: 13px 0 11px 15px;
	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: 21px;
}

.btn-selectbox i {
	display: block;
	position: absolute;
	top: 17px;
	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:hover .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: 1040px;
	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 > div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 28px 30px 28px 23px;
	line-height: 1.8;
}

.news-list article a:hover { background-color: #FBFAF9; opacity: 1; }

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

.news-list article .category {
	width: 140px;
	min-width: 140px;
	font-size: 12px;
	letter-spacing: 0.12em;
}

.news-list article .category:has(span + span) { margin: -10px 0; }
.news-list article .category span { display: block; white-space: nowrap; }

.news-list article h2 {
	width: 100%;
	padding-right: 40px;
	color: var(--color-green);
	font-size: 15px;
	letter-spacing: 0.12em;
}

.news-list article .viewmore {
	background: url(img/share/ico-arrow-line-green.svg) no-repeat right top 8px;
	width: 110px;
	min-width: 110px;
	color: var(--color-green);
	font-family: var(--font-gothic-m-en);
	font-size: 13px;
	letter-spacing: 0.12em;
	white-space: nowrap;
	transform: translateY(-1px);
}


/* page news single
---------------------------------------------------------------------------*/
#informationContents.single .title-page { margin-bottom: 100px; }
.news-area { width: 740px; margin: 0 auto; }

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

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

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

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

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

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

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

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

.news-main p {
	margin-bottom: 25px;
	line-height: 2.1;
	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: 40px 0 40px !important;
}

.news-main img + img { margin-top: -15px !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; }

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

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

.news-table h3 {
	margin: 65px 0 25px;
	font-family: var(--font-gothic-r-jp);
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0.14em;
}

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

.news-table table {
	width: calc(100% + 0px);
	margin: 0 0 40px;
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.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: 17px;
	padding-bottom: 15px;
}

.news-table th {
	position: relative;
	min-width: 160px;
	padding-right: 40px;
	padding-left: 10px;
	text-align: left;
	vertical-align: top;
	white-space: nowrap;
}

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

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

/* .post-link
------------------------------------*/
.news-table + .post-link { margin-left: -5px; }
.post-link { margin-top: 45px; }
.post-link li { display: inline-block; margin: 0 12px 14px 0; }

/* .news-other
------------------------------------*/
.news-other,
.blog-other { margin: 240px auto 0; }
.news-other .btn-link,
.blog-other .btn-link { margin-top: 60px; }
.blog-other .btn-link { margin-right: -20px; margin-left: -20px; }


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

/* .blog-list
------------------------------------*/
.blog-list {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 60px 40px;
	width: 1080px;
	margin: 0 -20px;
}

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

.blog-list article time,
.blog-list article .category {
	display: inline-block;
	font-size: 12px;
	letter-spacing: 0.1em;
}

.blog-list article time { position: relative; margin-right: 11px; 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: 11px;
}

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

.blog-list article h3 {
	padding-top: 10px;
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: 0.06em;
	text-align: justify;
}


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

.wp-pagenavi .extend { margin: 0 15px; }
.wp-pagenavi a,
.wp-pagenavi .current { margin: 0 5px; padding: 10px; color: var(--color-green); }
.wp-pagenavi .current { display: inline-block; position: relative; 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: 34px;
	height: 34px;
	z-index: -1;
}

.wp-pagenavi a.first,
.wp-pagenavi a.last,
.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink { font-size: 14px; letter-spacing: 0.1em; }


/* page top
---------------------------------------------------------------------------*/
body.top header { margin-bottom: 50px; }
#topContents { overflow: hidden; }

/* .top-bnr
------------------------------------*/
.top-bnr { position: relative; overflow: hidden; width: 100%; margin-bottom: 120px; }
.slider-top-bnr { display: flex; padding-bottom: 80px; }
.slider-top-bnr .inner { width: 476px !important; height: 476px !important; margin: 0 21px; }
.slider-top-bnr .inner a { display: block; width: 100%; height: 100%; }
.slider-top-bnr .inner a:hover { opacity: 0.8; }

.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;
	cursor: pointer;
}

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

.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: 24px;
	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 button:hover:after,
.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: 102px;
	left: 36px;
	width: calc(100% - (36px * 2));
	font-size: 40px;
	line-height: 1.4;
	letter-spacing: 0.08em;
}

.bnr-campaign .campaign-date {
	bottom: 25px;
	left: 25px;
	font-family: var(--font-gothic-m-en);
	font-size: 23px;
	letter-spacing: 0.01em;
}

.bnr-campaign .campaign-date i { display: inline-block; margin: 0 0 0 6px; transform: translateY(2px); }

/* .top-lead
------------------------------------*/
.top-lead {
	position: relative;
	width: 1040px;
	margin: 0 auto 170px;
	padding: 125px 0 0 190px;
	transform: translateX(-5px);
}

.top-lead .copy-en { position: absolute; top: 0; left: 0; }
.top-lead h2 { position: absolute; top: 82px; left: 4px; }
.top-lead p { margin-bottom: 22px; line-height: 2.4; letter-spacing: 0.18em; }

.top-lead h3 {
	margin: 40px 0 28px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 22px;
	line-height: 1.9;
	letter-spacing: 0.26em;
}

.top-lead .name { color: var(--color-green); }
.top-lead .name em img { width: 160px; }
.top-lead .name strong { display: inline-block; margin-left: 18px; font-size: 14px; letter-spacing: 0.2em; transform: translateY(-2px); }

.top-lead .img1 { display: block; position: absolute; top: 55px; right: -10px; }
.top-lead .img2 { display: block; position: absolute; top: 440px; right: 30px; }


/* .top-case
------------------------------------*/
.top-case {
	position: relative;
	background: url(img/share/bg-gradation@2x.jpg) no-repeat left bottom / cover;
	border-radius: 8px;
	width: 1140px;
	margin: 0 auto 160px;
	padding: 45px 50px 20px;
}

.top-case h2 {
	position: absolute;
	top: -5px;
	left: 65px;
	color: #3E2A1E;
	font-size: 26px;
	letter-spacing: 0.32em;
}

.top-case .copy-en {
	position: absolute;
	top: -9px;
	right: 56px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-en);
	font-size: 25px;
	letter-spacing: 0.13em;
}

.top-case .inner {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	padding: 52px 15px 40px 20px;
}

.top-case .inner:not(:last-child) { border-bottom: 2px solid #FFFFFF; }

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

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

.top-case .inner > div .ul-wrap { margin-top: 32px; display: flex; }
.top-case .inner > div ul:not(:last-of-type),
.top-case .inner-other > div ul li:not(:last-of-type) { margin-right: 20px; }
.top-case .inner-other > div ul { display: flex; flex-wrap: wrap; }
.top-case .inner > 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 2px top 8px;
	padding: 0 10px 7px 30px;
	color: var(--color-green);
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: 0.12em;
	white-space: nowrap;
}

.top-case .inner nav { margin-bottom: 10px; }
.top-case .inner nav li { margin-top: 10px; }

.top-case .inner nav li a {
	display: block;
	min-width: 190px;
	padding-top: 15px;
	padding-bottom: 13px;
}

/* .top-beauty
------------------------------------*/
.top-beauty {
	background-color: #FFFFFF;
	border-radius: 40px;
	width: 1020px;
	margin: 0 auto 120px;
}

.top-beauty-lead { position: relative; padding: 72px 60px 40px; }
.top-beauty-lead .pickup-visit { top: 55px; right: 75px; }
.top-beauty-lead .title { font-family: var(--font-gothic-r-jp); margin-bottom: 15px; }

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

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

.top-beauty-lead p { line-height: 2.3; letter-spacing: 0.14em; }
.top-beauty-lead p .size-s { font-size: 12px; letter-spacing: 0.1em; }

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

.beauty-machine-scroll { display: flex; }
.beauty-machine-scroll.left,
.beauty-machine-scroll.right { display: none !important; }
.beauty-machine-scroll .inner { width: 174px !important; margin: 0 18px 0 0 !important; }
.top-beauty-list .beauty-list-inner { margin-bottom: 60px; padding: 0 35px; }

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

/* .top-clinic
------------------------------------*/
.top-clinic {
	width: 1060px;
	margin: -60px auto 140px;
	padding-top: 60px;
}

.top-clinic .map {
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 614px;
	margin-bottom: 60px;
	border: 2px solid #fff;
}

.top-clinic .map #gmap-clinic { width: 100%; height: 100%; }

.top-clinic .clinic {
	display: flex;
	justify-content: space-between;
	width: 960px;
	margin: 0 auto;
}

.top-clinic .clinic .inner {
	background-color: #FFFFFF;
	border-radius: 4px;
	width: 460px;
	padding: 55px 30px 45px;
}

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

.top-clinic .clinic h2 span { display: block; padding-top: 14px; font-size: 14px; letter-spacing: 0.12em; font-family: var(--font-gothic-r-jp); }
.top-clinic .clinic figure { margin-bottom: 25px; }
.top-clinic .clinic .txt { display: flex; align-items: center; min-height: 100px; padding: 0 5px; }
.top-clinic .clinic .zerofull .txt { transform: translateY(5px); }
.top-clinic .clinic .txt > div { padding: 5px 0 0 30px; }
.top-clinic .clinic .zerofull .logo { margin-right: 5px; }
.top-clinic .clinic .zerofull .logo img { width: 128px; }

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

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

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

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

.top-visit {
	background: var(--gradient-green-light);
	border-radius: 5px;
	width: 960px;
	margin: 50px auto 0;
	padding: 55px 60px 45px;
}

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

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

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

.top-visit .dot-list-color > li > p { line-height: 1.8; letter-spacing: 0.12em; }
.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; }
.top-visit .dot-list li { margin-bottom: 3px; }

.top-visit .box {
	position: relative;
	background: url(img/share/ico-attention.svg) no-repeat left 30px top 27px;
	background-color: #FFFFFF;
	border-radius: 3px;
	margin-top: 32px;
	padding: 26px 30px 16px 67px;
}

.top-visit .box p { line-height: 1.8; letter-spacing: 0.12em; }
.top-visit .box .link-list { margin: -4px 0 0 -4px; }
.top-visit .box .link-list li { display: inline-block; margin-right: 6px; font-family: var(--font-gothic-r-jp); }

/* .top-news
------------------------------------*/
.top-news-wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 50px;
	width: 1040px;
	margin: 0 auto 160px;
}

.top-news-wrap section {
	position: relative;
}

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

.top-news-wrap section > h2 em {
	margin-right: 12px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-en);
	font-size: 25px;
	letter-spacing: 0.06em;
}

.top-news-wrap section > h2 strong {
	display: inline-block;
	font-size: 14px;
	letter-spacing: 0.15em;
	transform: translateY(-1px);
}

.top-news-wrap section .news-list {
	width: 100%;
}

.top-news-wrap section .link-arrow {
	position: absolute;
	top: 4px;
	right: 10px;
}

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

.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: 12px;
	width: 15px;
	height: 9px;
}

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

.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 {
	order: 2;
	width: 90px;
	min-width: 90px;
	margin-left: 40px;
}

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

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

.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 {
	padding-top: 10px;
	font-size: 15px;
	line-height: 1.8;
	letter-spacing: 0.06em;
	text-align: justify;
}

/* .top-bnr-sub
------------------------------------*/
.top-bnr-sub { width: 1081px; margin: 0 auto; }
.top-bnr-sub .column4 { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 27px 27px; margin-bottom: 45px; }
.top-bnr-sub .column3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 28px 20px; margin-bottom: 45px; }
.top-bnr-sub .column2 { display: grid; grid-template-columns: 1fr 1fr; gap: 30px 30px; }


/* page paak
---------------------------------------------------------------------------*/
#paakContents { overflow: hidden; }
#paakContents .img-main { margin-bottom: 120px; }
#paakContents .img-main h1 { position: absolute; bottom: -77px; right: 10.5%; }

/* .paak-concept
------------------------------------*/
.paak-concept { width: 1140px; margin: 0 auto 100px; }

.paak-concept-inner {
	position: relative;
	width: 1040px;
	margin: 0 auto 120px;
	padding: 105px 0 0 225px;
}

.paak-concept .logo-face { position: absolute; top: 108px; left: -1px; }
.paak-concept h2 { position: absolute; top: 0; left: 0; }

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

.paak-concept h2 strong {
	display: block;
	margin-left: 1px;
	font-size: 12px;
	letter-spacing: 0.16em;
}

.paak-concept .txt1 { margin-bottom: 50px; }

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

.paak-concept p {
	width: 455px;
	margin-bottom: 15px;
	line-height: 2.3;
	letter-spacing: 0.08em;
	text-align: justify;
	font-size: 15px;
}

.paak-concept .img1 { position: absolute; top: 90px; right: -35px; }
.paak-concept .img2 { position: absolute; top: 365px; left: -380px; }
.paak-concept .img3 { position: absolute; bottom: 0; right: -110px; }

/* .paak-cure
------------------------------------*/
.paak-cure {
	position: relative;
	width: 1130px;
	margin: 0 auto 120px;
}

.paak-cure h2 {
	margin-bottom: 26px;
	color: var(--color-green);
	font-size: 23px;
	line-height: 2;
	letter-spacing: 0.22em;
}

.paak-cure .img { position: absolute; top: 123px; right: 0; }
.paak-cure .img2 { display: block; position: absolute; top: 379px; right: 0; }

.paak-cure .txt-set {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 40px;
	padding: 0 370px 0 0;
}

.paak-cure .txt-set p {
	margin-bottom: 22px;
	text-align: justify;
	font-size: 15px;
	line-height: 2.05;
}

.paak-cure .btn-set { margin-top: 35px; }

/* .paak-kuredo
------------------------------------*/
.paak-kuredo {
	position: relative;
	overflow: hidden;
	border-radius: 55px;
	margin-bottom: 160px;
}

.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: 220px;
	z-index: 0;
	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: 460px;
	margin: 0 auto;
	padding: 9px 0 9px;
	color: #FFFFFF;
	font-size: 19px;
	letter-spacing: 0.16em;
	text-align: center;
	white-space: nowrap;
	z-index: 1;
}

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

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

.paak-kuredo-inner {
	width: 1030px;
	margin: 0 auto;
	padding: 155px 0;
}

.paak-kuredo-head {
	display: flex;
	margin-bottom: 78px;
}

.paak-kuredo-head h2 {
	margin-right: 78px;
	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 p {
	margin-top: 8px;
	font-size: 15px;
	line-height: 2.15;
	letter-spacing: 0.15em;
	white-space: nowrap;
}

.paak-kuredo-inner .inner { padding-left: 55px; }
.paak-kuredo-inner .inner:not(:last-of-type) { margin-bottom: 40px; }

.paak-kuredo-inner .inner h3 {
	margin: 0 0 20px -54px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 20px;
	line-height: 1.6;
	letter-spacing: 0.2em;
}

.paak-kuredo-inner .inner p {
	line-height: 2.25;
	letter-spacing: 0.14em;
}

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

.paak-kuredo-inner .inner .dot-list li {
	margin-bottom: 9px;
	line-height: 1.8;
	letter-spacing: 0.16em;
}

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

/* .paak-info
------------------------------------*/
.paak-info {
	width: 1140px;
	margin: 0 auto 135px;
}

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

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

.paak-info .info-wrap {
	display: flex;
	justify-content: space-between;
	width: 1040px;
	margin: 0 auto 100px;
}

/* .schedule
------------------------------------*/
.info-wrap .schedule {
	order: 1;
	width: 640px;
}

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

.info-wrap .schedule table + table { margin-top: 15px; }
.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 0 5px;
	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: 15px 12px 14px;
	vertical-align: middle;
}

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

.info-wrap .schedule th + td {
	background-color: #EFEFEF;
	font-size: 13px;
	letter-spacing: 0.02em;
}

.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 0 -4px;
	font-size: 11px;
}

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

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

.info-wrap .schedule .attention-list li {
	margin-bottom: 4px;
	padding-left: 16px;
	font-size: 13px;
	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 {
	order: 2;
	position: relative;
	width: 350px;
}

.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: -48px;
	left: -10px;
	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-color: var(--color-green-light);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.4em;
}

.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: 8px;
	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 3px 1px;
	font-size: 11px;
	letter-spacing: 0.1em;
}

.info-address address em {
	font-size: 12px;
	letter-spacing: 0.06em;
}

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

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

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

.info-contact2 h2 span {
	font-size: 13px;
}

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

.info-contact1 {
	position: relative;
	padding-left: 107px;
	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-top: 1-3px;
	margin-bottom: 10px;
}

.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);
	pointer-events: none;
}

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

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

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

/* .clinic-news
------------------------------------*/
.clinic-news {
	width: 1040px;
	margin: 125px auto 125px;
}

#zerofull-clinicContents .clinic-news { margin: 160px auto 0; }

.clinic-news > h2 {
	margin: 0 0 42px 23px;
	color: var(--color-green);
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0.16em;
}

#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 .viewmore { background-image: url(img/share/ico-arrow-line-blue.svg); }

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

.paak-calendar {
	position: relative;
	width: 1070px;
	margin: 0 auto;
	padding-top: 120px;
}

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

.paak-calendar > h2 .mark {
	width: 22px;
	margin-right: 12px;
}

.paak-calendar > h2 .type {
	width: 80px;
	margin-right: 18px;
	transform: translateY(-2px);
}

.paak-calendar .doctor-name {
	display: flex;
	position: absolute;
	top: 50px;
	right: 0;
	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: 12px;
	padding: 0 0 0 28px;
	font-size: 14px;
	letter-spacing: 0.08em;
}

.paak-calendar .doctor-name li i {
	display: block;
	position: absolute;
	top: -6px;
	left: 0;
	background-position: left top;
	background-repeat: no-repeat;
	width: 23px;
	height: 23px;
}

.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: 13px;
	letter-spacing: 0.13em;
}

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

.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: 1140px; margin: 120px auto 0; }


/* page zerofull
---------------------------------------------------------------------------*/
body.zerofull-clinic { background-color: #E8EEEE; }
body.zerofull-clinic ::selection { background: #a6d2fc; }
body.zerofull-clinic footer { display: none; }

body.zerofull-clinic header .gnav-list-parent img,
body.zerofull-clinic header .sns img { filter: saturate(0%) brightness(600%) contrast(600%); }
body.zerofull-clinic header .sns img:has(+ .white) { opacity: 0; }
body.zerofull-clinic header .sns img.white {
	display: block !important;
	filter: saturate(100%) brightness(100%) contrast(100%);
}

body.zerofull-clinic header .gnav-list-parent:after { background-color: #FFFFFF; }
body.zerofull-clinic .btn-reservation-fix {
	position: absolute;
	top: 36px !important;
	background: #FFFFFF;
	transform: scale(1) !important;
}

/* setting
------------------------------------*/
body.zerofull-clinic main.wrapper,
body.zerofull-clinic footer { min-width: 1240px; }
body.zerofull-clinic main.wrapper { position: relative; }
body.zerofull-clinic .container { width: 1140px; 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 {
  --pl: clamp(66px, 4.5vw, 100px);
  --pb: clamp(80px, 8.5vw, 150px);
  position: relative;
  z-index: 0;
  height: 83vw;
  min-height: calc(1240px * 0.83);
	max-height: 120vh;
  display: flex;
  align-items: flex-end;
  padding-bottom: var(--pb);
  padding-left: var(--pl);
}

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: 0;
  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 {
	position: absolute;
	top: 48px;
	left: 38px;
	width: 182px;
	filter: saturate(0%) brightness(600%) contrast(600%);
}

body.zerofull-clinic .mv_subtitle {
  position: absolute;
  top: 41%;
  left: 5.5%;
  margin-left: 0.85vw;
  z-index: 1;
}
body.zerofull-clinic .mv_subtitle img {
  width: clamp(70px, 6.5vw, 120px);
  height: auto;
}

body.zerofull-clinic .mv_title {
  color: var(--w);
  margin-left: -0.4vw;
}
body.zerofull-clinic .mv_title em {
	display: block;
	margin-bottom: 20px;
	font-size: 20px;
	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 {
  font-size: clamp(28px, 2.4vw, 40px);
  line-height: 1.8;
  letter-spacing: 0.18em;
  margin-bottom: 20px;
}
body.zerofull-clinic .mv_title > span {
  font-family: var(--font3);
  font-weight: 400;
  font-style: italic;
  font-size: clamp(14px, 1.25vw, 21px);
  line-height: 1.94;
  letter-spacing: 0.11em;
}

body.zerofull-clinic .icon-scroll {
  position: absolute;
  bottom: 6vw;
  right: 23px;
  z-index: 1;
}
body.zerofull-clinic .icon-scroll ._inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}
body.zerofull-clinic .icon-scroll ._icon {
  width: 8px;
  height: 100px;
  background-image: url(img/zerofull/common/icon_scroll_line.svg);
  background-size: 8px 25px;
  animation: bg_scroll 2.5s linear infinite;
  margin-bottom: 20px;
}
@keyframes bg_scroll {
  0% { background-position: 0 0; }
  100% { background-position: 0 25px; }
}
body.zerofull-clinic .icon-scroll ._txt { line-height: 1; }

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_subtitle img,
body.zerofull-clinic .mv_img.-img01 img,
body.zerofull-clinic .mv_img.-img02 img,
body.zerofull-clinic .mv_img.-img03 img { transform: translateY(-50%) !important; }

body.zerofull-clinic .mv_img.-img01 { top: 27%; right: 25%; }
body.zerofull-clinic .mv_img.-img01 img { width: clamp(calc(1240px * 0.265), 26.5vw, 35vh); }

body.zerofull-clinic .mv_img.-img02 { top: 49.5%; left: 18.8%; }
body.zerofull-clinic .mv_img.-img02 img { width: clamp(calc(1240px * 0.205), 20.5vw, 30vh); }

body.zerofull-clinic .mv_img.-img03 { top: auto; top: 69%; right: 6.5%; }
body.zerofull-clinic .mv_img.-img03 img { width: clamp(calc(1240px * 0.27), 27vw, 35vh); }

body.zerofull-clinic .mv_0 {
  position: absolute;
  z-index: -1;
  top: 64.5%;
  left: 52.5%;
}
body.zerofull-clinic .mv_0 img {
  width: clamp(194px, 13.4vw, 250px);
  height: auto;
	transform: translate(-50%,-50%) !important;
}

/* intro
------------------------------------*/
body.zerofull-clinic .intro {
  padding-top: max(5vw, 80px);
  padding-bottom: 145px;
  /*background-image: url(img/zerofull/top/intro_bg.png);
  background-size: cover;
  background-position: center top;*/
	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_logo {
  text-align: center;
  margin-bottom: 65px;
}
body.zerofull-clinic .intro_logo img {
	width: 326px;
}
body.zerofull-clinic .intro_tag {
  display: flex;
  justify-content: center;
  gap: 15px;
  margin-bottom: 85px;
}
body.zerofull-clinic .intro_tag li span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 220px;
  background-color: var(--w);
  padding: .7em;
  font-size: var(--f20);
  color: var(--k2);
  font-family: var(--font2d);
  border-radius: 999px;
	letter-spacing: 0.15em;
}
/*body.zerofull-clinic .intro_schedule {
  text-align: center;
  margin-bottom: 97px;
}*/
body.zerofull-clinic .intro_recommend {
  width: 1000px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 50px 40px;
}
body.zerofull-clinic .intro_recommend dt {
  font-family: var(--font1);
  font-style: normal;
  font-weight: 500;
  font-size: var(--f28);
  color: var(--k2);
  letter-spacing: 0.08em;
  text-align: center;
  width: 100%;
  white-space: nowrap;
  transform: translateX(3px);
}
body.zerofull-clinic .intro_recommend dt span {
  display: inline-block;
}
body.zerofull-clinic .intro_recommend dt em {
  display: inline-block;
  padding-left: 1em;
  padding-right: 1em;
}
body.zerofull-clinic .intro_recommend dd {
  text-align: center;
}
body.zerofull-clinic .intro_recommend dd img {
  margin-bottom: 10px;
}
body.zerofull-clinic .intro_recommend dd p {
  color: var(--k2);
  font-family: var(--font2d);
  font-size: 22px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.1em;
}

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: 4px;
	left: 0;
	background: url(img/zerofull/common/line-dot.svg) repeat-x left bottom;
	width: 100%;
	height: 2px;
}

body.zerofull-clinic .clinic-news > h2 {
	color: var(--color-text);
}

/* app
------------------------------------*/
body.zerofull-clinic .app {
  padding-top: 55px;
  padding-bottom: 120px;
  background: #0179CF;
}
body.zerofull-clinic .app_maintitle {
	overflow: hidden;
  width: 100%;
  margin-bottom: 188px;
}
body.zerofull-clinic .app_maintitle p {
  text-align: center;
}
body.zerofull-clinic .app_maintitle img {
  width: 101%;
  max-width: 1500px;
	margin-left: -0.5%;
}
body.zerofull-clinic .app_inner {
  max-width: calc(1180px + (var(--spa)*2));
}
body.zerofull-clinic .app_concept {
  --rw: clamp(400px, 50%, 543px);
  display: flex;
	justify-content: space-between;
	margin: 0 -20px;
	padding: 0 30px 90px;
  border-bottom: 1px solid rgba(232, 238, 238, 0.4);
}
body.zerofull-clinic .app_concept ._info {
  width: calc(100% - var(--rw));
  padding-right: 90px;
  color: var(--w);
  position: relative;
}
body.zerofull-clinic .app_concept ._info h2 {
  padding-top: 40px;
  margin-bottom: 50px;
  position: relative;
}
body.zerofull-clinic .app_concept ._info h2 > ._icon {
  position: absolute;
  top: -5px;
  left: 0;
  mix-blend-mode: color-burn;
  transform: translateY(-80%) translateX(-18%);
}

body.zerofull-clinic .app_concept ._info h2 span {
  font-family: var(--font2b);
  font-size: var(--f19);
  letter-spacing: 0.14em;
  line-height: 2;
  display: block;
  margin-bottom: 26px;
}
body.zerofull-clinic .app_concept ._info h2 em {
  font-size: 2.5rem;
  line-height: 1;
  font-family: var(--font2b);
  letter-spacing: 0.28rem;
}
body.zerofull-clinic .app_concept ._txt p {
  font-family: var(--font2d);
  font-size: 1.125rem;
  line-height: 2.25;
  letter-spacing: 0.12rem;
	white-space: nowrap;
}
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;
  transition: .15s ease-out;
}
body.zerofull-clinic .app_concept ._linkarea a:hover,
body.zerofull-clinic ._linkbtn a:hover {
  opacity: 0.7;
}
body.zerofull-clinic .app_concept ._linkarea a {
  display: none;
}
body.zerofull-clinic .app_concept ._linkarea ._qr {
  position: absolute;
  top: -5px;
  right: 50px;
}
body.zerofull-clinic .app_concept ._img {
  width: 540px;
	margin: -10px -5px 0 0;
}
body.zerofull-clinic .app_concept ._img img {
  width: 100%;
}
body.zerofull-clinic .app_point {
  padding-top: 60px;
}
body.zerofull-clinic .app_point ol {
  display: flex;
  gap: 50px;
}
body.zerofull-clinic .app_point ol li {
  width: 25%;
}
body.zerofull-clinic .app_point ._pointbox {
  color: var(--w);
}
body.zerofull-clinic .app_point ._pointbox ._numb {
  font-size: 1.1875rem;
  line-height: 1;
  display: block;
  margin-bottom: 15px;
  font-family: var(--font1);
  font-weight: 600;
}
body.zerofull-clinic .app_point ._pointbox ._title {
  display: block;
  font-family: var(--font2d);
  font-size: 21px;
  line-height: 1.65;
  letter-spacing: 0.1125rem;
  margin-bottom: 1em;
}
body.zerofull-clinic .app_point ._pointbox ._txt {
	margin-bottom: 0;
  font-family: var(--font1);
  color: #A6D3F3;
  text-align: justify;
  font-size: 0.95rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.68;
  letter-spacing: 0.04rem;
}
body.zerofull-clinic .app_point ._pointbox ._txt.attention {
  margin-top: 10px;
  font-size: var(--f13);
}
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_payment ._title {
  color: var(--w);
  font-family: var(--font2d);
  font-size: 1.06rem;
  letter-spacing: 0.1em;
  margin: 65px 0 20px;
}
body.zerofull-clinic .app_payment .container {
  background: #ffffff;
  border-radius: 13px;
	width: 1140px !important;
	margin: 0 -10px !important;
  padding: 33px 45px 8px 45px;
}
body.zerofull-clinic .app_payment .container li {
  list-style: none;
  padding-bottom: 25px;
}
body.zerofull-clinic .app_payment .container li:last-of-type {
	width: 649px;
	min-width: 649px;
}
body.zerofull-clinic .app_payment li p {
  color: var(--k2);
  font-family: var(--font2d);
  font-size: var(--f14);
  margin-bottom: 10px;
}
body.zerofull-clinic .app_payment .container > div {
  display: flex;
}

body.zerofull-clinic .app_payment .container > div > li:first-of-type {
  width: 435px;
}

/* message
------------------------------------*/
body.zerofull-clinic .message {
  --rw: 400px;
  width: 1060px;
  padding: 120px 0 0;
  color: var(--k2);
}
body.zerofull-clinic .message .message_inner {
  /*padding-top: 40px;*/
  padding-top: 0;
  padding-right: 45px;
  padding-left: 40px;
  padding-bottom: 200px;
  /*border-top: 1px solid #BABABA;*/
	margin-bottom: 80px;
  display: flex;
}
body.zerofull-clinic .message .message_intro {
  width: var(--rw);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  white-space: nowrap;
  margin-right: 120px;
}
body.zerofull-clinic .message .message_title span {
  font-family: var(--font1);
  font-size: 1.45rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.2rem;
  display: block;
  margin-bottom: 8px;
}
body.zerofull-clinic .message .message_title small {
  display: none;
}
body.zerofull-clinic .message .message_portrait {
  width: 205px;
  height: auto;
}
body.zerofull-clinic .message .message_txt {
  padding-top: 2px;
}
body.zerofull-clinic .message .message_txt ._inner p {
  margin-bottom: 25px;
  text-align: justify;
  font-family: var(--font1);
  font-size: 0.94rem;
  font-weight: 500;
  line-height: 2.05;
  letter-spacing: 0.11rem;
}
body.zerofull-clinic .message .message_txt ._inner p._outro {
  margin-bottom: -5px;
  padding-top: 15px;
	font-size: 16px;
  letter-spacing: 0.1em;
}

/* access
------------------------------------*/
body.zerofull-clinic .access {
	background-color: #ECECEC;
	width: 100%;
	margin-bottom: 0;
	padding-bottom: 120px;
}

body.zerofull-clinic .access_inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
  box-sizing: border-box;
  width: 1140px;
  margin: 0 auto;
}

body.zerofull-clinic .access_inner .access_title {
	width: 100%;
  text-align: right;
  color: var(--k2);
  text-align: right;
  font-family: var(--font1);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.07rem;
  margin-bottom: 35px;
}

body.zerofull-clinic .access .access_layout {
	order: 1;
  width: 650px;
}

body.zerofull-clinic .access .access_map {
	position: relative;
	overflow: hidden;
  width: var(--mapw);
	height: 450px;
	margin-bottom: 40px;
}

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

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

/* .access .access_info
------------------------------------*/
body.zerofull-clinic .access .access_info {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	font-family: var(--font-gothic-l-jp);
	color: #666666;
}

body.zerofull-clinic .access .access_info .info1 {
	padding-right: 25px;
	text-align: center;
	white-space: nowrap;
}

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

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

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: 13px;
	letter-spacing: 0.1em;
}

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

body.zerofull-clinic .access .access_info .info1 address span {
	display: inline-block;
	font-family: var(--font-gothic-r-jp);
	font-size: 12px;
}

body.zerofull-clinic .access .access_info .info1 address em {
	display: block;
	margin-top: 2px;
	font-size: 12px;
}

body.zerofull-clinic .access .access_info table {
	width: 100%;
	font-size: 13px;
	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: 12px 12px 9px 14px;
	color: #FFFFFF;
	font-family: var(--font-gothic-r-jp);
	text-align: center;
}

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

body.zerofull-clinic .access .access_info th:last-of-type {
	padding-right: 10px;
	padding-left: 10px;
	letter-spacing: 0.04em;
}

body.zerofull-clinic .access .access_info td {
	background-color: #FFFFFF;
	padding: 10px 14px 6px 15px;
	text-align: center;
	vertical-align: middle;
}

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

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

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

body.zerofull-clinic .access .access_info td span {
	display: inline-block;
	margin-top: 8px;
	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: 15px;
}

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

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-wrap {
	order: 2;
	width: 440px;
}

body.zerofull-clinic .access .reserve-calendar {
	position: relative;
	background-color: #FFFFFF;
	border-radius: 20px;
	padding: 24px 22px 24px;
}

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: 376px;
	height: 4px;
}

body.zerofull-clinic .access .reserve-calendar h2 {
	position: relative;
	margin-bottom: 29px;
	color: #5CC2CF;
	font-family: var(--font-gothic-r-jp);
	font-size: 15px;
	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 strong {
	font-size: 21px;
}

body.zerofull-clinic .access .digikar-smart {
	width: 396px;
	height: 544px;
}

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

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

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

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

.zerofull-calendar {
  margin: 0 auto;
  color: var(--k2);
}

/* footer
------------------------------------*/
body.zerofull-clinic .footer {
  padding: 200px 45px 30px;
  height: 45vw;
  min-height: 700px;
	max-height: 900px;
  position: relative;
  display: flex;
  align-items: end;
  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: 120px;
  background-image: url(img/zerofull/common/wave02_repeat.svg);
  background-repeat: repeat-x;
}
body.zerofull-clinic .footer_wave ._item::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: calc(100% - 110px);
  bottom: 0;
  left: 0;
  background-color: #1CA7BA;
}
body.zerofull-clinic .footer_wave img { width: 100%; }
body.zerofull-clinic .footer_wave.-wave01 { z-index: -2; width: 120%; left: -90px; }
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: right; padding-right: 40px; }
body.zerofull-clinic .footer .footer_logo02 {
  display: inline-block;
  padding-left: 30px;
  transform: translateY(25px);
  transition: opacity 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  body.zerofull-clinic .footer .footer_logo02:hover {
    opacity: 0.5 !important;
  }
}
body.zerofull-clinic .footer .footer_logo02 img { width: 136px; }
body.zerofull-clinic .footer .footer_logo { width: 100%; }
body.zerofull-clinic .footer .footer_logo ._tagline {
  text-align: right;
  display: block;
  margin-bottom: 56px;
  padding-right: 20px;
}
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: 100%;
  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: 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: repeat-x;
}

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

body.zerofull-clinic .btn-reserve-fix.btm { position: absolute; bottom: -50px; }
body.zerofull-clinic .btn-reserve-fix a img { display: block; transition: .15s ease-out; }
body.zerofull-clinic .btn-reserve-fix a:hover img { filter: brightness(115%); }


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

/* .doctor-profile
------------------------------------*/
.doctor-profile {
	position: relative;
	margin: 0 auto 150px;
}

.doctor-profile > .img {
	position: absolute;
	bottom: 0;
	right: 25px;
}

.doctor-profile > .img figure {
	margin-bottom: 50px;
}

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

/* .profile1
------------------------------------*/
.doctor-profile .profile1 {
	display: flex;
	margin: 0 auto 70px;
}

.doctor-profile .profile1 .img {
	margin-right: 64px;
}

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

.doctor-profile .profile1 .img h2 {
	margin: 22px 0 8px;
	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;
}

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

.doctor-profile .profile1 .btn-set {
	margin: 30px 0 0 -2px;
}

/* .profile2
------------------------------------*/
.doctor-profile .profile2 .inner {
	position: relative;
	margin-bottom: 30px;
	padding: 0 0 0 88px;
}

.doctor-profile .profile2 .inner:last-of-type {
	margin-bottom: 0;
}

.doctor-profile .profile2 h3,
.doctor-profile .profile2 dt,
.doctor-profile .profile2 li {
	font-size: 12px;
	line-height: 1.7;
	font-family: var(--font-gothic-m-en);
}

.doctor-profile .profile2 h3 {
	position: absolute;
	top: 0;
	left: 0;
	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: 14px;
}

.doctor-profile .profile2 dt {
	margin-bottom: 4px;
	color: var(--color-green);
	letter-spacing: 0.14em;
}

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

.doctor-profile .profile2 li {
	margin-bottom: 3px;
	letter-spacing: 0.12em;
}

.doctor-profile .profile2 li:last-of-type {
	margin-bottom: 0;
}

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

.doctor-profile .profile2 .txt.even {
	display: flex;
}

.doctor-profile .profile2 .txt.even ul:not(:last-of-type) {
	margin-right: 20px;
}

/* .doctor-list
------------------------------------*/
.doctor-list .inner {
	display: flex;
	align-items: center;
	margin-bottom: 75px;
}

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

.doctor-list .txt {
	padding: 5px 0 0 50px;
}

.doctor-list .txt h2 {
	display: inline-block;
	margin: 0 50px 25px 0;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
}

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

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

.doctor-list .txt h3 {
	display: inline-block;
	font-family: var(--font-gothic-r-jp);
	font-size: 12px;
	letter-spacing: 0.14em;
}

.doctor-list .txt p {
	line-height: 2.05;
}

.doctor-list .txt dl { display: flex; margin-top: 32px; }
.doctor-list .txt dl > div { margin-right: 30px; }

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

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

/* .bnr-recruit
------------------------------------*/
.bnr-recruit { width: 1136px; margin: 150px auto 0; }
.bnr-recruit img { border-radius: 20px; }


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

.modal-message { display: -webkit-box; display: flex; overflow: hidden; width: 100%; height: 100%; }
.modal-message .img { position: relative; width: 50%; height: 100%; opacity: 0; }

.modal-message .slider-img-modal { 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; width: 100%; height: 100%; opacity: 0; }

.modal-message .img .inner:first-of-type { opacity: 1; }
.modal-message .img .inner img { position: relative; object-fit: cover; width: 100%; height: 100%; z-index: 0; }
.modal-message .img .inner:nth-of-type(2) img,
.modal-message .img .inner:nth-of-type(3) img { object-fit: cover; object-position: 0 100%; }

.modal-message-inner {
	position: relative;
	box-sizing: border-box;
	background: var(--gradient-green-light);
	width: 50%;
	height: 100%;
}

.modal-message-inner .bg {
	position: absolute;
	top: 40px;
	left: 40px;
	background: url(img/doctor/bg-modal-message@2x.png) no-repeat center top;
	background-size: 100%;
	width: calc(100% - 80px);
	height: calc(100% - 40px);
	z-index: 0;
	opacity: 0;
}

.modal-message-inner .txt {
	position: relative;
	overflow-y: scroll;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	padding: 100px 14% 100px;
	z-index: 1;
	opacity: 0;
}

.modal-message-inner .txt::-webkit-scrollbar { width: 2px !important; }
.modal-message-inner .txt::-webkit-scrollbar-track { background: none; }
.modal-message-inner .txt::-webkit-scrollbar-thumb { background: var(--color-green); }

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

.modal-message-inner h2 {
	position: relative;
	top: 0;
	left: 0;
	margin: 0 0 80px;
	text-align: center;
}

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

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

.modal-message-inner p {
	margin-bottom: 30px;
	font-size: 15px;
	line-height: 2.2;
	letter-spacing: 0.06em;
	text-align: justify;
}

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

.modal-message-inner .btn-link { width: calc(100% + 50px); margin: 95px -25px 0; }

.modal-message-inner .btn-link span {
	display: block;
	width: 100%;
	padding: 23px 0 22px;
	font-size: 19px;
	letter-spacing: 0.14em;
}

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


/* page price
---------------------------------------------------------------------------*/
.price-list-nav-modal { display: none !important; }
#beauty-priceContents .title-page { margin-bottom: 60px !important; }

/* .price-list-nav
------------------------------------*/
.price-list-nav { display: block; width: 350px; min-width: 350px; }

/* .price-nav
------------------------------------*/
.price-nav {
	position: relative;
	display: flex;
	align-items: flex-end;
	height: 100vh;
	padding: 0 42px 32px;
}

.price-nav .price-all {
	position: absolute;
	top: 35px;
	left: 40px;
	padding: 0 5px 5px 20px;
	color: var(--color-green);
	font-size: 13px;
	letter-spacing: 0.1em;
	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 .price-all,
.price-nav dt .link,
.price-nav dd .list-block li,
.price-nav dd .list-arrow li { cursor: pointer; transition: .15s ease-out; }

.price-nav .price-all:hover,
.price-nav dt .link:hover,
.price-nav dd .list-block li:hover,
.price-nav dd .list-arrow li:hover { opacity: 0.6; }

.price-nav dt .link {
	display: inline-block;
	background: url(img/share/ico-arrow-green.svg) no-repeat right top 3px / 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: 21px;
	margin-right: 1px;
	padding: 8px 13px 6px 14px;
	color: var(--color-green);
	font-size: 13px;
	white-space: nowrap;
}

.price-nav dd .list-arrow { margin-top: 24px; }
.price-nav dd .list-arrow.even { display: flex; flex-wrap: wrap; justify-content: space-between; }
.price-nav dd .list-arrow li { margin-bottom: 7px; }
.price-nav dd .list-arrow.even li { width: 50%; }

.price-nav dd .list-arrow li span {
	display: inline-block;
	position: relative;
	padding: 0 10px 10px 18px;
	font-size: 13px;
	letter-spacing: 0.1em;
}

.price-nav dd .list-arrow li span:before {
	display: block;
	content: '';
	position: absolute;
	top: 1px;
	left: 3px;
	background: url(img/share/ico-arrow-gold-s.svg) no-repeat;
	width: 6px;
	height: 8px;
}

.price-nav .price-all:before,
.price-nav dd .list-arrow li span.active:before {
	display: block;
	content: '';
	position: absolute;
	top: 3px;
	left: 3px;
	background: var(--color-gold);
	border-radius: 50%;
	width: 5px;
	height: 5px;
}

@media (max-height: 860px) {
	.price-list-nav { overflow-y: scroll; }
	.price-list-nav::-webkit-scrollbar { width: 1px; height: 1px; }
	.price-list-nav::-webkit-scrollbar-track { border-radius: 2px; background: var(--color-border); }
	.price-list-nav::-webkit-scrollbar-thumb { border-radius: 2px; background: var(--color-green-light); }
	.price-nav { height: 860px !important; }
}

/* .price-list-contents
------------------------------------*/
.price-list-contents { width: 100%; padding: 120px 0 60px; }
.price-list-contents .title-page-wrap { width: 750px; margin: 0 0 120px 105px; }

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

.title-page-wrap .payment-wrap h2 {
	margin-bottom: 18px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 14px;
	letter-spacing: 0.12em;
}

.title-page-wrap .payment {
	background-color: #FFFFFF;
	border-radius: 6px;
	margin: 0 -4px;
	padding: 30px 32px 30px;
}

.title-page-wrap .payment-wrap dl { display: flex; flex-wrap: wrap; justify-content: space-between; }
.title-page-wrap .payment-wrap dl > div { margin-bottom: 27px; }
.title-page-wrap .payment-wrap dl > div:nth-child(odd) { width: 230px; min-width: 230px; }
.title-page-wrap .payment-wrap dl > div:nth-child(even) { width: calc(100% - 270px); }
.title-page-wrap .payment-wrap dl > div:last-of-type,
.title-page-wrap .payment-wrap dl > div:nth-last-of-type(2) { margin-bottom: 0; }

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

.title-page-wrap .payment-wrap dl > div:nth-of-type(2) dd { transform: translateY(2px); }
.title-page-wrap .payment-wrap dl > div:nth-of-type(4) dd { transform: translateY(-3px); }

.title-page-wrap .payment-wrap .attention-list { margin-top: 16px; }
.title-page-wrap .payment-wrap .attention-list li { display: inline-block; margin-right: 7px; font-size: 12px; }

/* .sec-price
------------------------------------*/
.sec-price { display: flex; padding: 0 70px 0 0; }

.sec-price > h2 {
	align-self: flex-start;
	position: sticky;
	top: 20px;
	left: 18px;
	width: 105px;
	min-width: 105px;
	overflow: hidden;
	color: var(--color-green);
	font-size: 16px;
	letter-spacing: 0.1em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.sec-price > h2.active {
	overflow: visible;
}

.sec-price > h2 span {
	display: block;
	position: absolute;
	top: 10px;
	left: 18px;
	opacity: 0;
	transition: .3s var(--easeInOutQuart);
}

#wrap:has(.attention-news):not(.attention-news-close) .sec-price > h2 span { top: 50px; }
.sec-price .price-list { width: 100%; max-width: 1000px; }

/* .price-nav-anchor
------------------------------------*/
.price-nav-anchor { max-width: calc(100% - 195px); padding-right: 5px; z-index: 1; }
.price-nav-anchor ul { display: flex; flex-wrap: wrap; }
.price-nav-anchor li { margin: 0 0 14px 12px; }

.price-nav-anchor li a {
	display: inline-block;
	position: relative;
	padding: 0 0 0 13px;
	color: var(--color-green);
	font-size: 14px;
	letter-spacing: 0.08em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
	font-family: var(--font-gothic-r-jp);
}

.price-nav-anchor li a:before {
	display: block;
	content: '';
	position: absolute;
	top: 2px;
	left: 0;
	background: url(img/share/ico-arrow-green-s.svg) no-repeat left top / 100% auto;
	width: 6px;
	height: 9px;
	transform: rotate(90deg);
}

.price-nav-anchor li a br { display: none; }

/* .price-list
------------------------------------*/
.price-list { margin-bottom: 20px; }
.price-list:has(+ .price-list) { margin-bottom: 60px; }

.price-inner {
	position: relative;
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	padding-bottom: 25px;
}

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

.price-title {
	border-top: 1px solid var(--color-border);
	width: 190px;
	min-width: 190px;
	margin-right: 15px;
	padding: 9px 0 0;
}

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

.price-title .plus { display: none; }

.price-list .price-inner-wrap:first-of-type .price-title {
	margin-top: 36px;
}

.price-list .price-inner-wrap .price-title:has(+ .price-table-wrap .price-table.height) {
	margin-top: 0;
	padding-top: 26px;
}

.price-title .inner {
	padding: 0 10px 0 0;
}

.price-title h3 { width: 100%; }

.price-title h3 a {
	display: inline-block;
	background: url(img/share/ico-arrow-green-s.svg) no-repeat right 0 top 7px / 6px auto;
	padding-right: 14px;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

.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 { margin-bottom: 14px; }

.price-title h3 strong span {
	display: block;
	margin: 2px 0 6px;
	padding-right: 5px;
	font-size: 12px;
	line-height: 1.65;
	letter-spacing: 0.06em;
	text-align: justify;
}

.price-title h3 strong span + span { margin-top: 10px; }
.price-title h3 strong i.set {
	display: inline-block;
	background: var(--gradient-green);
	border-radius: 10px;
	margin-top: 6px;
	padding: 4px 7px 3px 8px;
	color: #FFFFFF;
	font-size: 12px;
	line-height: 1;
	letter-spacing: 0.04em;
}

.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: 15px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.price-title p a:last-child { margin-bottom: 4px; }

/* .price-table
------------------------------------*/
.price-table-wrap { width: 100%; }
.price-table-wrap .post-link { display: none; }

.price-table {
	width: 100%;
	font-size: 14px;
	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: 220px; min-width: 220px; letter-spacing: 0.1em; }
.price-table th:nth-of-type(2),
.price-table td:nth-of-type(2) { width: 140px; min-width: 140px; }
.price-table th:nth-of-type(3),
.price-table td:nth-of-type(3) { width: 120px; min-width: 120px; }
.price-table th:nth-of-type(4),
.price-table td:nth-of-type(4) { width: 140px; min-width: 140px; }

@media (max-width: 1380px) {
	.price-list-nav { width: 320px; min-width: 320px; }
	.price-nav { padding-right: 28px; }
	.sec-price { padding-right: 60px; }
	.sec-price > h2 { width: 90px; min-width: 90px; }
	.price-table th:nth-of-type(1),
	.price-table td:nth-of-type(1) { width: 200px; min-width: 200px; }
	.price-table th:nth-of-type(2),
	.price-table td:nth-of-type(2) { width: 120px; min-width: 120px; }
	.price-table th:nth-of-type(3),
	.price-table td:nth-of-type(3) { width: 100px; min-width: 100px; }
	.price-table th:nth-of-type(4),
	.price-table td:nth-of-type(4) { width: 120px; min-width: 120px; }
}

.price-list .price-inner-wrap:not(:nth-of-type(1)) .th-head { display: none; }

.price-table .th-head th {
	padding: 0 18px 16px 0;
	color: var(--color-green);
	font-size: 14px;
	letter-spacing: 0.12em;
	font-family: var(--font-gothic-r-jp);
}

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

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

.price-table td span { padding-left: 4px; letter-spacing: 0.08em; }

.price-table td:nth-of-type(3) span,
.price-table td:nth-of-type(4) span { display: block; }

.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);
	min-width: 75px;
	padding: 10px 18px 17px 0;
	line-height: 1.6;
	letter-spacing: 0.06em;
	text-align: right;
}

.price-table td:empty { border-top: none; }
.price-table tr:nth-of-type(2) td:empty,
.price-table td:not(:empty) + td:empty,
.price-table td:not(:empty) + td:empty + td:empty { border-top: 1px solid var(--color-border); }

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

.price-table td:first-of-type { color: var(--color-green); }

.price-table td:last-of-type {
	font-size: 15px;
	line-height: 1.3;
	letter-spacing: 0.04em;
}

.price-table td.txt-large {
	padding-top: 29px;
	padding-bottom: 45px;
	text-align: left !important;
	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 { color: var(--color-green); 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: 8px 0 15px;
}

.price-table .attention-list li {
	margin-bottom: 2px;
	padding-left: 18px;
	color: var(--color-text);
	line-height: 1.8;
	text-align: justify;
}

/* .hair-removal-price-plan
------------------------------------*/
.hair-removal-price-plan {
	margin: 75px 0 135px;
}

.hair-removal-price-plan .list {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 30px 20px;
	font-family: var(--font-gothic-r-jp);
}

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

.hair-removal-price-plan .inner .ico {
	position: absolute;
	top: -15px;
	right: 11px;
}

.hair-removal-price-plan .inner .title {
	width: 100%;
	margin-bottom: 20px;
}

.hair-removal-price-plan .inner .title h4 {
	display: inline-block;
	border: 1px solid var(--color-green-light);
	border-radius: 20px;
	margin: 0 0 13px -1px;
	padding: 4px 6px 2px;
	font-size: 12px;
	letter-spacing: 0.04em;
}

.hair-removal-price-plan .inner .title h3 {
	display: inline-block;
	margin-right: 8px;
	font-size: 19px;
	line-height: 1.3;
	letter-spacing: 0.06em;
}

.hair-removal-price-plan .inner .title h5 {
	display: inline-block;
	margin-top: 6px;
	font-size: 12px;
	letter-spacing: 0.04em;
}

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

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

.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: -9px;
	font-size: 10px;
}

.hair-removal-price-plan .inner .price ul {
	margin-bottom: 2px;
	font-size: 12px;
}

.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: 12px;
	font-size: 11px;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

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


/* page faq
---------------------------------------------------------------------------*/

/* .faq-wrap
------------------------------------*/
.faq-wrap {
	position: relative;
	display: flex;
	justify-content: space-between;
	margin-top: -20px;
	padding: 60px 0 0;
}

/* .faq-nav
------------------------------------*/
.faq-nav {
	position: sticky;
	align-self: flex-start;
	top: 60px;
	left: 0;
	width: 240px;
	min-width: 240px;
}

.faq-nav h2 {
	margin-bottom: 32px;
	color: var(--color-gold);
	font-family: var(--font-serif-r-en);
	font-size: 16px;
	letter-spacing: 0.06em;
}

.faq-nav .page-nav li a {
	background-position: left 2px top 6px;
	font-size: 14px;
}

/* .faq-list
------------------------------------*/
.faq-list-wrap { width: 100%; }

.faq-list-wrap > div {
	position: relative;
	margin-top: -60px;
	padding: 78px 0 0 2px;
}

.faq-list-wrap > div:before {
	display: block;
	content: '';
	position: absolute;
	top: 60px;
	left: 0;
	background-color: var(--color-border);
	width: 100%;
	height: 1px;
}

.faq-list-wrap h2 {
	margin-bottom: 38px;
	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: 22px; }
.faq-list-wrap > div:not(:last-of-type) { margin-bottom: 90px; }
.faq-list-wrap .faq-list { padding-left: 40px; }
.faq-list > div { border-bottom: 1px solid var(--color-border); }
#faqContents .faq-list > div:not(:first-of-type):last-of-type { border-bottom: none; }

.faq-list dt {
	position: relative;
	padding: 19px 60px 17px 40px;
	font-size: 15px;
	line-height: 1.7;
	letter-spacing: 0.12em;
	cursor: pointer;
	transition: .15s ease-out;
	font-family: var(--font-gothic-r-jp);
}

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

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

.faq-list dd {
	display: none;
	position: relative;
	margin-bottom: 10px;
	padding: 0 60px 20px 40px;
}

.faq-list dd p { text-align: justify; }
.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-child
------------------------------------*/
.faq-child { padding: 0 0 0 40px; }

.faq-child h3 {
	position: relative;
	border-bottom: 1px solid var(--color-border);
	padding: 20px 0 4px 38px;
	font-family: var(--font-gothic-r-jp);
	color: var(--color-green);
	font-size: 16px;
	line-height: 1.7;
	letter-spacing: 0.1em;
}

.faq-child h3 i { top: 27px; left: 5px; }

.faq-child-inner {
	display: none;
	padding-bottom: 35px;
}

.faq-child-inner h4 {
	margin-bottom: 10px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 15px;
	line-height: 1.7;
	letter-spacing: 0.12em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.3em;
}

.faq-grandchild {
	border-bottom: 1px solid var(--color-border);
	margin: 0 0 0 40px;
	padding: 36px 0 24px;
}

.faq-grandchild:not(:has(h4)) { padding-top: 18px; }
.faq-grandchild:last-of-type { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }

.faq-grandchild .faq-list { padding-left: 0; }
.faq-grandchild .faq-list dt { font-size: 14px; }
.faq-grandchild .faq-list dt i.q { top: 18px; }
.faq-grandchild .btn-link { margin: 22px 0 20px; }


/* page dermatology machine
---------------------------------------------------------------------------*/

/* .machine-list
------------------------------------*/
.machine-list {
	background: var(--line-dot-green);
	background-position: left top;
	width: 1040px;
	margin: 0 auto;
}

.machine-list .inner {
	display: flex;
	align-items: center;
	background: var(--line-dot-green);
	padding: 60px 20px 50px;
}

.machine-list figure {
	align-self: flex-start;
	width: 280px;
}

.machine-list figure img:not(:last-of-type) { display: block; margin-bottom: 2px; }
.machine-list .inner:has(figure) .txt { padding: 0 0 0 70px; }

.machine-list .txt h2 {
	margin-bottom: 6px;
	color: var(--color-green);
	font-size: 22px;
	line-height: 1.7;
	letter-spacing: 0.12em;
}

.machine-list .txt h2 span {
	padding-left: 4px;
	font-size: 14px;
	letter-spacing: 0.14em;
}

.machine-list .txt h3 {
	margin-bottom: 26px;
	font-size: 13px;
	line-height: 1.7;
	letter-spacing: 0.12em;
}

.machine-list .txt h3 span {
	margin-right: 4px;
	color: var(--color-green);
}

.machine-list .txt h3 span i { padding: 0 2px; }

.machine-list .txt h4,
.machine-list .txt h4 + p {
	padding-left: 18px;
}

.machine-list .txt h4 {
	position: relative;
	margin: 28px 0 8px;
	color: var(--color-green);
	font-size: 16px;
	line-height: 1.7;
	letter-spacing: 0.12em;
}

.machine-list .txt h4:before {
	display: block;
	content: '';
	position: absolute;
	top: 9px;
	left: 2px;
	background-color: var(--color-gold);
	border-radius: 50%;
	width: 6px;
	height: 6px;
}

.machine-list .txt h4 span {
	padding-left: 2px;
	font-size: 14px;
	letter-spacing: 0.12em;
}

.machine-list .txt .btn-link { margin: 25px 0 0 -3px; }


/* treatment (dermatology single / beauty single)
---------------------------------------------------------------------------*/
body.dermatology-single header,
body.beauty-single header,
body.beauty-price header { margin-bottom: 0; }

body.dermatology-single footer,
body.beauty-single footer,
body.beauty-price footer { border-top: 1px solid var(--color-border); }

.treatment-point,
.treatment-flow,
.treatment-faq,
.treatment-price,
.treatment-layout,
.treatment-page-list { border-top: 1px solid var(--color-border); margin-top: 90px; padding-top: 90px; }

/* .treatment-nav
------------------------------------*/
.treatment-nav { width: 300px; min-width: 300px; padding: 0 28px; }
.treatment-nav .btn-back { position: absolute; top: 26px; left: 28px; }

.treatment-nav .btn-back a {
	display: inline-block;
	padding: 1px 50px 10px 25px;
	color: var(--color-green);
	font-size: 12px;
	line-height: 1.75;
	letter-spacing: 0.1em;
}

.treatment-nav .btn-back a:before {
	display: block;
	content: '';
	position: absolute;
	top: 7px;
	left: 0;
	background: url(img/share/ico-arrow-line-green.svg) no-repeat left top;
	width: 15px;
	height: 7px;
	transform: scaleX(-1);
}

.treatment-nav .inner { margin-top: -20px; }

.treatment-nav .en {
	margin: 0 0 18px 1px;
	color: var(--color-gold);
	font-family: var(--font-serif-r-en);
	font-size: 12px;
	letter-spacing: 0.08em;
}

.treatment-nav h1 {
	margin-bottom: 16px;
	color: var(--color-green);
	font-size: 19px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.treatment-nav .category-clinic {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 35px 1px;
	opacity: 0;
}

.treatment-nav .category-clinic li {
	position: relative;
	overflow: hidden;
	margin: 0 12px 12px 0;
	padding-top: 1px;
	padding-left: 19px;
	color: #C5C7C1;
	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-white.svg);
	z-index: 2;
}

.treatment-nav .category-clinic li i {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #FFFFFF;
	border: 1px solid #CECECE;
	border-radius: 1px;
	width: 13px;
	height: 13px;
	z-index: 0;
}

.treatment-nav .category-clinic li { transition: .16s ease-out .9s; }
.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 { color: var(--color-text); }
.treatment-nav .category-clinic li.current.active:after { top: 3px; left: 2px; opacity: 1; }
.treatment-nav .category-clinic li.current.active i { background-color: var(--color-green); border-color: var(--color-green); }

.treatment-nav .btn-reserve {
	display: none;
	position: absolute;
	bottom: 30px;
	left: 24px;
	white-space: nowrap;
}

#dermatologyContents .treatment-nav .btn-reserve.dermatology { display: block; }
#beautyContents .treatment-nav .btn-reserve.beauty { display: block; }

.treatment-nav .btn-reserve a { display: block; }
.treatment-nav .btn-reserve div { position: relative; margin-top: 6px; }
.treatment-nav .btn-reserve1 { margin-bottom: 18px; }
.treatment-nav .btn-reserve2 { padding-right: 10px; }
#dermatologyContents .treatment-nav .btn-reserve1 { margin-bottom: 12px; }

.treatment-nav .btn-reserve .mask {
	position: absolute;
	top: 0;
	right: 0;
	background-color: #ECEDE6;
	width: 100%;
	height: 100%;
	margin: 0 !important;
}

.treatment-nav .btn-reserve div span {
	display: inline-block;
	color: var(--color-green);
	font-size: 14px;
	letter-spacing: 0.1em;
}

.treatment-nav .btn-reserve .btn-reserve1 span {
	background: var(--gradient-green);
	padding: 4px 2px 2px 4px;
	color: #FFFFFF;
	letter-spacing: 0.14em;
}

.treatment-nav .btn-reserve strong {
	display: inline-block;
	position: relative;
	padding-bottom: 1px;
	font-size: 20px;
	letter-spacing: 0.1em;
}

.treatment-nav .btn-reserve strong:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: var(--color-green);
	width: 100%;
	height: 1px;
}

.treatment-nav .btn-reserve div span i {
	display: inline-block;
	background: url(img/share/ico-arrow-link.svg) no-repeat left top / 100% auto;
	width: 23px;
	height: 23px;
	margin-left: 7px;
	transform: translateY(5px);
	opacity: 0;
}


/* .treatment-contents
---------------------------------------------------------------------------*/
.treatment-contents {
	overflow: hidden;
	position: relative;
	width: 100%;
	min-height: 100vh;
	padding: 65px 0 180px;
	word-break: break-all;
}

.treatment-contents #treatment-top { margin-top: -65px; padding-top: 65px; }
.treatment-contents #treatment-top > section { margin-bottom: 90px; padding-right: 120px; padding-left: 120px; }
.treatment-contents #treatment-top > section > .sec-inner { width: 100%; max-width: 880px; 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: 30px; }
.treatment-contents .flex .img-set { order: 2; margin-top: 0; }
.treatment-contents .flex .img-set:has(.img-s){ width: 280px; min-width: 280px; }

.treatment-contents .img-m {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	margin: 30px 0 30px;
}

.treatment-contents .img-m figure { width: 48.6%; }
.treatment-contents .img-s { margin: 40px 0 0; 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 {
	margin-top: 14px;
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0.08em;
	text-align: justify;
}

.treatment-contents .img-s figcaption {
	margin-top: 12px;
	font-size: 12px;
	line-height: 1.7;
	letter-spacing: 0.06em;
	text-align: center;
}

/* .treatment-recommend
------------------------------------*/
.treatment-recommend {
	border-bottom: 1px solid var(--color-border);
	max-width: 1400px;
	margin-top: -65px !important;
	margin-right: auto !important;
	margin-left: auto !important;
	padding: 40px 40px 85px !important;
}

.treatment-recommend-head {
	display: flex;
	justify-content: space-between;
	border-top: 1px solid var(--color-green);
	margin-bottom: 85px;
	padding: 17px 7px 0;
	color: var(--color-green);
}

.treatment-recommend-head .title h2 {
	margin-bottom: 6px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.treatment-recommend-head .title h2 strong {
	font-size: 25px;
	padding-right: 2px;
}

.treatment-recommend-head .title h2 em {
	font-family: var(--font-gothic-r-jp);
	font-size: 16px;
}

.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: 12px;
	letter-spacing: 0.02em;
}

.treatment-recommend-head .price-wrap {
	text-align: right;
}

.treatment-recommend-head .price {
	margin-bottom: 2px;
}

.treatment-recommend-head .price em {
	font-family: var(--font-gothic-r-jp);
	font-size: 17px;
	letter-spacing: 0.08em;
}

.treatment-recommend-head .price strong {
	padding: 0 6px 0 4px;
	font-family: var(--font-serif-r-en);
	font-size: 45px;
	letter-spacing: 0;
}

.treatment-recommend-head .price strong span {
	padding-right: 6px;
	font-size: 30px;
}

.treatment-recommend-head .price i {
	font-family: var(--font-gothic-r-jp);
	font-size: 12px;
	letter-spacing: 0.1em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
	transform: translateY(1px);
}

.treatment-recommend-head .price-wrap p {
	font-family: var(--font-gothic-r-jp);
	font-size: 13px;
	letter-spacing: 0.04em;
}

.treatment-recommend-img { width: calc(100% - 50px); margin: 0 auto; text-align: center; }
.treatment-recommend-img > div { position: relative; }
.treatment-recommend-img figure img { width: 100%; }
.treatment-recommend-img .pickup-visit { top: 30px; left: 30px; }

.treatment-recommend-point {
	width: 100%;
	max-width: 900px;
	margin: 80px auto 0 !important;
	padding: 0 70px;
}

.treatment-recommend-point h3 {
	width: 100%;
	margin-bottom: 22px;
	color: var(--color-green);
	font-size: 24px;
	line-height: 1.7;
	letter-spacing: 0.14em;
}

.treatment-recommend-point .treatment-num-list { margin: 0; }
.treatment-recommend-point .treatment-num-list:has(ol + ol) { display: flex; }
.treatment-recommend-point .treatment-num-list li { margin-bottom: 10px; font-size: 15px; }

.treatment-recommend-point .treatment-num-list li:before { content: counters(count-number,'.') '.'; top: -5px; font-size: 22px; }

/* .treatment-img-main
------------------------------------*/
.treatment-img-main { margin-bottom: 90px; padding: 0 65px; }
.treatment-img-main figure { max-width: 1040px; margin: 0 auto; }
.treatment-img-main img { width: 100%; }

/* .treatment-lead
------------------------------------*/
.treatment-lead { margin-top: 40px; margin-bottom: 60px; }

.treatment-lead h2 {
	margin-bottom: 24px;
	color: var(--color-green);
	font-size: 28px;
	line-height: 1.75;
	letter-spacing: 0.2em;
}

.treatment-lead p,
.treatment-trouble p,
.treatment-point .inner p,
.treatment-layout p {
	margin-bottom: 15px;
	font-size: 15px;
	line-height: 2.15;
	text-align: justify;
	font-family: var(--font-gothic-l-jp);
}

.treatment-lead p { margin-bottom: 18px; letter-spacing: 0.12em; }

.treatment-lead p.attention,
.treatment-lead-img .txt p.attention,
.treatment-trouble p.attention,
.treatment-point .inner p.attention,
.treatment-layout p.attention { font-size: 13px; line-height: 1.95; }

.treatment-layout p.attention { margin-top: 14px; }
.treatment-layout h4 + p.attention { margin-top: -6px; }
.treatment-layout .table-common + p.attention { margin-top: -25px; }

.treatment-point .img-l img,
.treatment-layout .img-l img { max-width: 100%; }

.treatment-lead .btn-set { margin-top: 35px; }

/* .treatment-lead-img
------------------------------------*/
.treatment-lead-img { margin: 90px auto 90px; }
.treatment-lead-img:first-child { margin-top: 30px; }
.treatment-lead-img > .sec-inner { display: flex; }
.treatment-lead-img figure { width: 280px; min-width: 280px; }
.treatment-lead-img figure img { width: 100%; }
.treatment-lead-img .txt { padding: 5px 0 0 60px; }

.treatment-lead-img .txt h2 {
	margin-bottom: 22px;
	color: var(--color-green);
	font-size: 25px;
	line-height: 1.75;
	letter-spacing: 0.16em;
}

.treatment-lead-img .txt p {
	margin-bottom: 15px;
	font-size: 15px;
	line-height: 2.1;
	text-align: justify;
}

.treatment-lead-img .txt .btn-set { margin-top: 30px; }

/* .treatment-attention
------------------------------------*/
.treatment-attention { margin: 40px -10px 80px; }
.treatment-lead + .treatment-attention,
.treatment-lead-img + .treatment-attention { margin-top: -45px; }

.treatment-attention .sec-inner {
	position: relative;
	background-color: var(--color-bg-green);
	border-radius: 6px;
	width: calc(100% + 24px) !important;
	max-width: calc(900px + 24px) !important;
	margin: 0 auto !important;
	padding: 32px 60px 28px 80px;
}

.treatment-attention .sec-inner:before {
	display: block;
	content: '';
	position: absolute;
	top: 34px;
	left: 34px;
	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: 16px;
	line-height: 1.8;
	letter-spacing: 0.12em;
	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-top: 85px;
}

.treatment-trouble .flex:has(.chart) { display: flex; justify-content: space-between; }
.treatment-trouble .flex:has(.chart figure + figure) { display: block; margin-bottom: 40px; }

.treatment-trouble .chart {
	order: 2;
	width: 200px;
	min-width: 200px;
	margin-left: 60px;
	transform: translateY(-45px);
}

.treatment-trouble .chart:has(figure + figure) {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin: 40px 0 40px;
	transform: translateY(0);
}

.treatment-trouble .chart:has(figure + figure) figure {
	width: 200px;
	margin-right: 45px;
}

.treatment-trouble .chart figcaption {
	margin-top: 12px;
	font-size: 12px;
	line-height: 1.6;
	letter-spacing: 0.1em;
	text-align: center;
}

.treatment-trouble .txt { order: 1; width: 100%; }
.treatment-trouble h2 { margin-bottom: 32px; }
.treatment-trouble ul { display: flex; flex-wrap: wrap; }
.treatment-trouble ul:not(:last-child) { margin-bottom: 22px; }

.treatment-trouble li {
	position: relative;
	background: var(--gradient-green);
	border-radius: 4px;
	margin: 0 9px 9px 0;
	padding: 14px 15px 13px 40px;
	color: #FFFFFF;
	font-size: 15px;
	letter-spacing: 0.12em;
	white-space: nowrap;
}

.treatment-trouble li:before {
	display: block;
	content: '';
	position: absolute;
	top: 14px;
	left: 15px;
	background: url(img/share/ico-check.svg) no-repeat left top / 100% auto;
	width: 15px;
	height: 15px;
	filter: saturate(50%);
}

.treatment-trouble li br { display: none; }

/* .treatment-point
------------------------------------*/
.treatment-point h2 {
	margin-bottom: 55px;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
}

.treatment-point .inner { position: relative; margin-bottom: 45px; padding-left: 90px; }
.treatment-point .inner:has(.img-set),
.treatment-point .inner:has(.btn-set) { margin-bottom: 55px; }
.treatment-point .inner:not(:has(.txt)) { margin-bottom: 15px; }
.treatment-point .inner:last-of-type { margin-bottom: 0; }

.treatment-point .inner > i {
	display: block;
	position: absolute;
	top: 8px;
	left: 0;
	font-family: var(--font-serif-r-en);
	color: var(--color-gold);
	letter-spacing: 0.16em;
	white-space: nowrap;
}

.treatment-point .inner h3 {
	margin-bottom: 14px;
	color: var(--color-green);
	font-size: 22px;
	line-height: 1.75;
	letter-spacing: 0.16em;
}

.treatment-point .inner:not(:has(.inner dd .txt)) h3 {
	font-size: 20px;
	line-height: 1.8;
	letter-spacing: 0.14em;
}

.treatment-point .inner h4 {
	margin: 36px 0 10px;
	color: var(--color-green);
	font-size: 16px;
	line-height: 1.75;
	letter-spacing: 0.16em;
}

.treatment-point .inner h4:first-child { margin-top: 0; }
.treatment-point .inner .btn-set { margin: 22px 0 0; }
.treatment-point .inner .flex { display: flex; justify-content: space-between; padding-top: 10px; }
.treatment-point .inner h3 + .flex { padding-top: 0; }
.treatment-point .inner .flex .txt { order: 1; padding-right: 60px; text-align: justify; }
.treatment-point .inner .flex .txt p { letter-spacing: 0.08em; }
.treatment-point .inner .flex figure { padding-top: 5px; }
.treatment-point .inner .flex .img-s { width: 280px; min-width: 280px; }
.treatment-point .inner .flex .img-s + .img-s { margin-top: 25px; }

/* .treatment-layout
------------------------------------*/
.treatment-contents .treatment-layout .img-l,
.treatment-contents .treatment-layout .img-m { margin-top: 60px; }

.treatment-contents .treatment-layout .img-l:first-child,
.treatment-contents .treatment-layout .img-m:first-child { margin-top: 0; }

.treatment-contents .treatment-layout .img-l:not(:last-child),
.treatment-contents .treatment-layout .img-m:not(:last-child) { margin-bottom: 60px; }

.treatment-contents .treatment-layout h4 + .img-l,
.treatment-contents .treatment-layout h5 + .img-l,
.treatment-contents .treatment-layout h4 + .img-m,
.treatment-contents .treatment-layout h5 + .img-m { margin-top: 25px; }

.treatment-layout h2.title-line {
	margin-bottom: 36px;
	line-height: 1.8;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

.treatment-layout h2.title-line:has(+ .dl-side > div dt) { margin-bottom: 45px; }
.treatment-layout h2.title-line:has(+ .dl-side) { margin-bottom: 30px; }
.treatment-layout h2 + .txt { margin-top: -10px; }

/* .treatment-layout .img-txt
------------------------------------*/
.treatment-layout .img-txt { display: flex; margin: 30px 0 60px; }
.treatment-layout .img-txt:first-child { margin-top: 5px; }
.treatment-layout .img-txt:last-child { margin-bottom: 0; }
.treatment-layout .img-txt:has(+ .btn-set) { margin-bottom: 30px; }

.treatment-layout p + .img-txt { margin-top: 40px; }
.treatment-layout .img-txt:has(+ h5) { margin-bottom: 30px; }

.treatment-layout .img-txt figure {
	order: 2;
	width: 260px;
	min-width: 260px;
}

.treatment-layout .img-txt figure + .txt {
	width: 100%;
	padding: 0 45px 0 0;
	transform: translateY(-4px);
}

.treatment-layout .dl-side > div:not(:has(dt)) .img-txt figure + .txt {
	padding-right: 60px;
}

.treatment-layout .img-txt .txt { order: 1; }

.treatment-layout .img-txt .txt h6 {
	margin-bottom: 14px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 16px;
	line-height: 1.9;
	letter-spacing: 0.12em;
}

.treatment-layout .img-txt .txt p { font-size: 14px; }

/* .treatment-layout .dl-side
------------------------------------*/
.treatment-layout .txt + .dl-side { margin-top: 65px; }
.treatment-layout .txt + .dl-side:not(:has(dt)) { margin-top: 35px; }

.treatment-layout .dl-side > div {
	display: flex;
	/* background: left bottom url(img/share/line-dot.svg) repeat-x; */
	margin-bottom: 40px;
	/* padding-bottom: 60px; */
}

.treatment-layout .dl-side > div:last-of-type {
	background: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.treatment-layout .dl-side dt {
	width: 200px;
	min-width: 200px;
	padding: 5px 40px 0 0;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 15px;
	line-height: 1.75;
	letter-spacing: 0.1em;
}

.treatment-layout .dl-side dd {
	width: 100%;
	padding-top: 2px;
}

.treatment-layout .dl-side dd h4,
.treatment-layout .dl-side dd h5 { color: var(--color-green); line-height: 1.9; }

.treatment-layout .dl-side dd h4 {
	margin: 40px 0 8px;
	font-size: 18px;
	letter-spacing: 0.12em;
}

.treatment-layout .dl-side dd h5 {
	margin: 30px 0 4px;
	font-family: var(--font-gothic-r-jp);
	font-size: 16px;
	letter-spacing: 0.12em;
}

.treatment-layout .dl-side dd h4:first-child,
.treatment-layout .dl-side dd h5:first-child { margin-top: 0; }

.treatment-layout .dl-side dd p { line-height: 2; }
.treatment-layout .dl-side dd p:has(+ .btn-set) { margin-bottom: 5px; }

.treatment-layout .dl-side dd .btn-set { display: inline-block; margin-top: 20px; }
.treatment-layout .dl-side dd .btn-set:first-child { margin-top: 0; }
.treatment-layout .dl-side dd .btn-set:last-child { margin-bottom: 10px; }
.treatment-layout .dl-side dd .btn-set + .btn-set { margin-top: 0; }
.treatment-layout .dl-side dd .table-common + .btn-set { margin-top: -5px; }
.treatment-layout .dl-side dd h5 + .btn-set { margin-top: 15px; }
.treatment-layout .dl-side dd .btn-set:has(+ .img-txt) { margin-bottom: 70px; }
.treatment-layout .dl-side dd .img-txt + .btn-set { margin-top: 0; }
.treatment-layout .dl-side dd .type-list .btn-set { margin-top: 20px; }

/* .type-list
------------------------------------*/
.treatment-layout .type-list { margin-top: 60px; }
.treatment-layout .type-list:first-child { margin-top: 4px; }

.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: 15px; }
.treatment-layout .type-list .inner:last-of-type { background: none; padding-bottom: 0; }
.treatment-layout .type-list .inner:not(:last-of-type) { margin-bottom: 35px; }

.treatment-layout .type-list figure { width: 160px; min-width: 160px; }
.treatment-layout .type-list figure img { width: 100%; }

.treatment-layout .type-list figure + .txt { padding: 0 0 0 35px; }
.treatment-layout .type-list .inner:first-child:last-child .txt { padding-left: 45px; }
.treatment-layout .type-list .txt h4 { font-size: 15px; font-family: var(--font-gothic-r-jp)}

.treatment-layout .type-list .txt p {
	margin-bottom: 10px;
	font-size: 14px;
	line-height: 2;
}

/* .treatment-dot-list
------------------------------------*/
.treatment-dot-list { margin: 20px 0 30px; }
.treatment-dot-list:first-child { margin-top: 2px; }
.treatment-dot-list:last-child { margin-bottom: 0; }
.treatment-dot-list:has(+ .attention) { margin-bottom: 20px; }
.treatment-layout .dl-side dd h5 + .treatment-dot-list { margin-top: 14px; }

.treatment-dot-list li {
	margin-bottom: 8px;
	padding-left: 20px;
	font-size: 15px;
	line-height: 1.8;
}

.treatment-dot-list li:before { top: 10px; }

/* .treatment-num-list
------------------------------------*/
.treatment-num-list { counter-reset: count-number; margin: 45px 0 45px; }
.treatment-num-list:first-child { margin-top: 2px; }
.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(ol + ol) { display: flex; }
.treatment-num-list ol:not(:last-of-type) { margin-right: 50px; }

@media (max-width: 1440px) {
	.treatment-num-list:has(ol + ol) { display: block; margin-right: 0; }
}

.treatment-num-list:has(+ .btn-set) { margin-bottom: 10px; }
.treatment-num-list:has(+ p) { margin-bottom: 25px; }
.treatment-layout .dl-side dd p + .treatment-num-list { margin-top: 25px; }

.treatment-num-list li {
	position: relative;
	margin-bottom: 11px;
	padding: 0 0 0 34px;
	font-family: var(--font-gothic-r-jp);
	font-size: 16px;
	line-height: 1.8;
	letter-spacing: 0.14em;
	color: var(--color-green);
}

.treatment-num-list li:before {
	display: block;
	counter-increment: count-number;
  content: counters(count-number,'.');
	position: absolute;
	top: 1px;
	left: 5px;
	font-family: var(--font-serif-r-en);
	color: var(--color-gold);
	font-size: 17px;
	letter-spacing: 0;
	white-space: nowrap;
}

/* .treatment-layout .table-common
------------------------------------*/
.treatment-layout .table-common-wrap { margin: 70px 0 40px; }
.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(+ .attention) { margin-bottom: 0; }
.treatment-layout .table-common-wrap:has(+ .btn-set) { margin-bottom: 15px; }
.treatment-layout h5 + .table-common-wrap { margin-top: 20px; }
.treatment-layout .treatment-dot-list + .table-common-wrap { margin-top: 40px; }

/* .treatment-flow
------------------------------------*/
.treatment-flow h2.title-line {
	margin-bottom: 40px;
}

.flow-list > div {
	display: flex;
	background: left bottom url(img/share/line-dot.svg) repeat-x;
	padding: 26px 20px 26px 0;
}

.flow-list dt {
	position: relative;
	width: 220px;
	min-width: 220px;
	padding: 4px 34px 0 27px;
	color: var(--color-green);
	line-height: 1.6;
}

.flow-list dt h3 {
	font-size: 15px;
	letter-spacing: 0.12em;
}

.flow-list dt h3 i {
	display: block;
	position: absolute;
	top: 5px;
	left: 4px;
	color: var(--color-gold);
	font-family: var(--font-serif-r-en);
	font-size: 16px;
}

.flow-list dt i.plus {
	display: none;
}

.flow-list dd,
.flow-list dd p {
	font-size: 15px;
	letter-spacing: 0.1em;
	text-align: justify;
}

.flow-list dd p {
	margin-bottom: 10px;
}

.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: -8px;
	font-size: 13px;
	line-height: 1.95;
}

/* .treatment-faq
------------------------------------*/
.treatment-faq h2 { margin-bottom: 40px; }

.faq-sort {
	display: flex;
	justify-content: space-between;
	border-bottom: none !important;
}

.faq-sort-nav {
	align-self: flex-start;
	position: sticky;
	top: 40px;
	width: 170px;
	min-width: 170px;
	padding: 23px 45px 0 0;
}

.faq-sort-nav li { margin-bottom: 10px; }

.faq-sort-nav li span {
	display: block;
	padding: 0 10px 10px 0;
	font-family: var(--font-gothic-r-jp);
	font-size: 14px;
	letter-spacing: 0.14em;
}

.faq-sort-nav li#faq-sort-current span {
	color: var(--color-green);
	text-decoration: underline;
	text-decoration-thickness: 1px;
}

.faq-sort-list { width: 100%; }
.faq-sort-list .faq-list > div { border-bottom: 1px solid var(--color-border) !important; }

/* .treatment-price
------------------------------------*/
.treatment-price h2 { margin-bottom: 30px; }

.treatment-price .sec-inner-s > h3 {
	margin: 40px 0 15px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 15px;
	letter-spacing: 0.14em;
}

.sec-price-title {
	display: flex;
	justify-content: space-between;
	margin-bottom: 60px;
}

.sec-price-title .title-line {

}

/* .treatment-page-list
------------------------------------*/
.treatment-page-list h2.title-line {
	margin-bottom: 50px;
}

.treatment-page-list h2.title-line + p {
	margin: -15px 0 35px;
	line-height: 2.2;
	letter-spacing: 0.14em;
}

/* .plist
------------------------------------*/
.treatment-contents .plist {
	position: absolute;
	bottom: 35px;
	left: 45px;
}

.plist ul { display: flex; }
.plist li,
.plist li a { color: var(--color-green); }

.plist li {
	position: relative;
	margin-right: 22px;
	font-size: 12px;
	letter-spacing: 0.08em;
}

.plist li:last-of-type { transform: translateY(1px); }

.plist li:not(:first-of-type):before {
	display: block;
	content: '';
	position: absolute;
	top: 3px;
	left: -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 .title-page { margin-bottom: 100px; }

/* .beforeafter-list
------------------------------------*/
.beforeafter-list .post {
	position: relative;
	margin: -90px 0 120px;
	padding-top: 90px;
}

.beforeafter-list .post:before {
	display: block;
	content: '';
	position: absolute;
	bottom: -1px;
	background-color: var(--color-bg);
	width: calc(50vw - 520px);
	height: 4px;
	z-index: 10;
}

.beforeafter-list .post:before { left: calc(-50vw + 520px); }
.beforeafter-list .post:last-child { margin-bottom: 0; }

.beforeafter-list h2 {
	margin-bottom: 20px;
	line-height: 1.6;
}

.beforeafter-list h2 strong {
	display: inline-block;
	margin-right: 12px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 22px;
	letter-spacing: 0.2em;
}

.beforeafter-list h2 em {
	display: inline-block;
	color: var(--color-gold);
	font-family: var(--font-gothic-r-en);
	font-size: 12px;
	letter-spacing: 0.14em;
}

/* .beforeafter-scroll
------------------------------------*/
.beforeafter-scroll-wrap.scroll {
	overflow-x: scroll;
	width: 100vw;
	padding: 0 calc(50vw - 520px);
  margin: 0 calc(-50vw + 520px);
}

.beforeafter-scroll { display: flex; width: fit-content; padding: 0 0 30px; }
.slider-beforeafter-thumb .slick-track::-webkit-scrollbar { width: 0; height: 0; }

@media (max-width: 1240px){
	.beforeafter-scroll.scroll {
		margin-right: calc((1240px - 1040px) / 2 * -1);
	};
}

.beforeafter-scroll-wrap.scroll::-webkit-scrollbar { width: 0; height: 0; }
.beforeafter-scroll-wrap.scroll::-webkit-scrollbar-track { background: none; }
.beforeafter-scroll-wrap.scroll::-webkit-scrollbar-thumb { background: none; }

.slider-beforeafter-thumb.scroll .slick-track::-webkit-scrollbar { width: 2px; height: 2px; }
.slider-beforeafter-thumb.scroll .slick-track::-webkit-scrollbar-track { border-radius: 2px; background: var(--color-border); }
.slider-beforeafter-thumb.scroll .slick-track::-webkit-scrollbar-thumb { border-radius: 2px; background: var(--color-green-light); }

.custom-scrollbar { display: none; }

.beforeafter-scroll-wrap.scroll + .custom-scrollbar {
	display: block;
	position: relative;
  overflow: hidden;
  background: var(--color-border);
  border-radius: 2px;
  width: 100%;
  height: 2px;
}

.custom-scrollbar .scrollbar {
	position: absolute;
	top: 0;
	left: 0;
  background: var(--color-green);
  border-radius: 2px;
  width: 100px;
  height: 2px;
  transition: left 0.1s linear;
}

.beforeafter-scroll .slick-list { overflow: visible; }

.beforeafter-scroll article {
	background-color: #FFFFFF;
	border-radius: 5px;
	filter: drop-shadow(4px 9px 6px rgba(0, 0, 0, 0.02));
	width: 246px;
	margin-right: 17px;
}

.beforeafter-scroll article:last-of-type { margin-right: 0; }

.beforeafter-thumb { padding: 24px; }

.beforeafter-thumb figure {
	overflow: hidden;
	border-radius: 4px;
	width: 200px;
	height: 255px;
	margin-bottom: 20px;
}

.beforeafter-thumb figure img { object-fit: cover; width: 100%; height: 100%; }
.beforeafter-thumb .txt { display: flex; justify-content: space-between; }

.beforeafter-thumb .txt .age {
	background-color: #EDF0E9;
	border-radius: 2px;
	width: 54px;
	min-width: 54px;
	padding: 8px 0 8px;
	text-align: center;
	white-space: nowrap;
}

.beforeafter-thumb .txt .age strong {
	display: block;
	margin-bottom: 6px;
	font-family: var(--font-gothic-m-en);
	font-size: 17px;
	letter-spacing: 0;
}

.beforeafter-thumb .txt .age strong span {
	font-family: var(--font-gothic-r-jp);
	font-size: 10px;
	padding-left: 2px;
}

.beforeafter-thumb .txt .age em {
	display: inline-block;
	background-color: #FFFFFF;
	border-radius: 100px;
	padding: 3px 9px 2px 10px;
	font-size: 10px;
	letter-spacing: 0.14em;
}

.beforeafter-thumb .txt dl {
	width: 100%;
	padding: 5px 0 0 15px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 12px;
	line-height: 1.4;
	letter-spacing: 0.06em;
}

.beforeafter-thumb .txt dl > div { display: flex; background: var(--line-dot-green); margin-bottom: 8px; padding: 0 0 3px 2px; }
.beforeafter-thumb .txt dl > div:last-of-type { margin-bottom: 0; }
.beforeafter-thumb .txt dt { padding-right: 6px; white-space: nowrap; }
.beforeafter-thumb .txt dt i { display: none; }
.beforeafter-thumb .txt dd { width: 100%; text-align: right; letter-spacing: 0.02em; }

/* .modal-beforeafter
------------------------------------*/
.modal-beforeafter {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10101;
	opacity: 0;
}

.modal-beforeafter .bg {
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(152,152,152,0.8);
	width: 100%;
	height: 100%;
	z-index: 0;
	cursor: pointer;
}

.modal-beforeafter-close { position: fixed; top: 0; right: 0; z-index: 10102; }
.modal-beforeafter-close span { display: block; padding: 47px 42px; }

.modal-beforeafter-category {
	position: absolute;
	top: 45px;
	right: 0;
	width: 515px;
	z-index: 2;
}

.modal-beforeafter-category h2 {
	display: inline-block;
	position: relative;
	padding-right: 30px;
	color: var(--color-green);
	font-size: 24px;
	line-height: 1.4;
	letter-spacing: 0.12em;
	cursor: pointer;
}

.modal-beforeafter-category h2 span {
	padding-bottom: 2px;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

.modal-beforeafter-category h2 i {
	display: block;
	position: absolute;
	top: 5px;
	right: 0;
	background: url(img/share/ico-arrow-link-green.svg) no-repeat center center / 100% auto;
	width: 20px;
	height: 20px;
	transform: rotate(90deg);
}

.modal-beforeafter-category > div {
	position: absolute;
	top: 30px;
	left: -25px;
	padding-top: 10px;
	visibility: hidden;
	opacity: 0;
	transition: .15s ease-out;
}

.modal-beforeafter-category:hover > div { top: 35px; visibility: visible; opacity: 1; }

.modal-beforeafter-category > div:before {
	display: block;
	content: '';
	position: absolute;
	top: 5px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--gradient-green-color);
	width: 18px;
	height: 5px;
	clip-path: polygon(50% 0, 0% 100%, 100% 100%); /* 上 */
}

.modal-beforeafter-category ul {
	background: var(--gradient-green-color);
	border-radius: 3px;
	padding: 20px 10px 15px 17px;
}

.modal-beforeafter-category li {
	color: #FFFFFF;
	font-size: 14px;
	line-height: 1.7;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.modal-beforeafter-category li span {
	display: inline-block;
	padding: 0 15px 6px 0;
}

.beforeafter-detail-wrap {
	display: block !important;
	position: absolute;
	top: 0;
	right: 0;
	background-color: #FFFFFF;
	width: 1150px;
	height: 100vh;
	opacity: 1 !important;
}

.beforeafter-detail-wrap:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background-color: var(--color-bg-green);
	width: 590px;
	height: 100%;
	z-index: 0;
}

.beforeafter-detail {
	display: none;
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	opacity: 0;
}

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

.slider-beforeafter .slick-arrow {
	position: absolute;
	top: calc((100% - 110px) / 2);
	left: 15px;
	background: url(img/share/btn-modal-arrow-green.svg) no-repeat center center;
	width: 52px;
	height: 200px;
	text-indent: -9999px;
	z-index: 10;
}

.slider-beforeafter .slick-prev { left: 15px; transform: translateY(-50%) scaleX(-1); }
.slider-beforeafter .slick-next { left: 523px; transform: translateY(-50%); }

.slider-beforeafter-thumb,
.slider-beforeafter-thumb .slick-track,
.slider-beforeafter-thumb .slick-list { width: 100% !important; }
.slider-beforeafter-thumb .slick-track { transform: none !important; }

.slider-beforeafter-thumb {
	position: absolute !important;
	bottom: 28px;
	left: 26px;
	box-sizing: border-box;
	width: calc(590px - 52px) !important;
	z-index: 3;
}

.slider-beforeafter-thumb .slick-track { display: flex; overflow-x: scroll; padding: 0 0 6px; }

.slider-beforeafter-thumb .inner {
	position: relative;
	overflow: hidden;
	border-radius: 2px;
	width: 60px !important;
	min-width: 60px !important;
	height: 80px !important;
	margin: 0 6px 0 0;
	cursor: pointer;
}

.slider-beforeafter-thumb .inner:last-of-type { margin-right: 0; }

.slider-beforeafter-thumb .inner img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	filter: saturate(0%);
	opacity: 0.6;
	transition: .15s ease-out;
}

.slider-beforeafter-thumb .inner:hover img { filter: saturate(100%); opacity: 1; }

.slider-beforeafter-thumb .inner:before {
	display: block;
	content: '';
	position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  background: url(img/share/logo-face-white.svg) no-repeat center center / 20px auto;
	width: 20px;
	height: 20px;
  z-index: 2;
  filter: saturate(0%) brightness(280%);
  opacity: 0;
}

.slider-beforeafter-thumb .inner:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background: var(--gradient-green);
	width: 100%;
	height: 100%;
	opacity: 0;
	z-index: 1;
  transition: .15s ease-out;
	pointer-events: none;
}

.slider-beforeafter-thumb .inner.slick-current:before { opacity: 1; }
.slider-beforeafter-thumb .inner.slick-current:after { opacity: 0.7; }

.slider-beforeafter .inner {
	display: none;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100%;
	height: 100%;
	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-s { display: flex; height: 100%; }
.slider-beforeafter .inner .img { position: relative; width: 590px; min-width: 590px; }
.slider-beforeafter .inner .img img { object-fit: cover; width: 100%; height: 100%; }

/* .slide-change
------------------------------------*/
.beforeafter-detail .slide-change {
	overflow: hidden;
	position: absolute;
	top: calc((100% - 110px) / 2);
	left: 50%;
	transform: translate(-50%,-50%);
	border-radius: 6px;
	width: 456px;
	height: 608px !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, 456px, 608px, 0px);
}
@keyframes before_vertical_start {
	0% { clip: rect(0px, 456px, 608px, 0px); }
	100% { clip: rect(0px, 228px, 608px, 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, 456px, 608px, 456px);
}
@keyframes after_vertical_start {
	0% { clip: rect(0px, 456px, 608px, 456px); }
	100% { clip: rect(0px, 456px, 608px, 228px); }
}

.beforeafter-detail .inner .txt {
	overflow-y: scroll;
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	width: 560px;
	min-width: 560px;
	padding: 160px 42px 30px;
}

.beforeafter-detail .inner .txt::-webkit-scrollbar { width: 2px !important; }
.beforeafter-detail .inner .txt::-webkit-scrollbar-track { background: none; }
.beforeafter-detail .inner .txt::-webkit-scrollbar-thumb { background: var(--color-green-light); }

.beforeafter-detail .inner .txt > div { width: 100%; }

.beforeafter-detail .inner .txt h3 {
	margin-bottom: 14px;
	line-height: 1.6;
}

.beforeafter-detail .inner .txt h3 strong {
	display: inline-block;
	padding-right: 4px;
	color: var(--color-green);
	font-size: 19px;
	letter-spacing: 0.1em;
}

.beforeafter-detail .inner .txt h3 span { font-size: 13px; letter-spacing: 0.13em; }
.beforeafter-detail .inner .txt .point p { line-height: 1.95; }
.beforeafter-detail .inner .txt .dl-line { margin-top: 30px; }
.beforeafter-detail .inner .txt p + .dot-list { margin-top: -5px; }
.beforeafter-detail .inner .txt .dot-list li { margin-left: 0; font-size: 13px; letter-spacing: 0.08em; }
.beforeafter-detail .inner .txt .dot-list li:before { top: 7px; }


/* page column
---------------------------------------------------------------------------*/
body.column { background: none; }
body.column header,
body.column footer,
body.column .btn-reservation-fix { display: none !important; }
body.column #mainContents { overflow: hidden; min-height: 100vh; }

/* .column-wrap
------------------------------------*/
body.column .column-wrap { position: relative; 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: 100vw; height: 100px; }
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: 44px 100px 0; color: #583F2A; font-size: 18px; letter-spacing: 0.15em; }
body.column .column-header li a:before { display: block; content: ''; position: absolute; top: 39px; background: url(img/column/ico-arrow.svg) no-repeat; width: 25px; height: 23px; }
body.column .column-header li:nth-of-type(1) a:before { left: 40px; transform: scaleX(-1); }
body.column .column-header li:nth-of-type(2) a:before { right: 40px; }

/* .column-footer
------------------------------------*/
body.column .column-footer { margin-top: 160px; }
body.column .column-footer .share { overflow: hidden; margin: 0 0 40px 40px; }
body.column .column-footer .share h2 { display: inline-block; float: left; margin: 18px 22px 0 0; font-size: 14px; 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: 36px; }
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: 43px 0 39px; color: #583F2A; font-size: 17px; letter-spacing: 0.12em; text-align: center; }

/* .column-nav
------------------------------------*/
body.column-top .column-nav { opacity: 0; }
body.column .column-nav,
body.column .column-nav-bg { position: absolute; top: 0; left: 50vw; background-color: #F0E3D8; width: 50%; min-width: 550px; height: 100vh; z-index: 1; }
body.column .column-nav.fixed,
body.column .column-nav-bg { position: fixed; }
body.column .column-nav-bg { background-image: radial-gradient(51% 100%, #FFF8F2 43%, #FFF3EA 100%); z-index: 0; }
body.column .column-nav-inner { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 80%; max-width: 620px; }
body.column .column-nav .inner { position: relative; box-sizing: border-box; background-color: #FFFFFF; width: 100%; padding: 20px 40px; }
body.column-top .column-nav .inner { opacity: 0; }
body.column .column-nav .index { display: block; position: absolute; top: -30px; left: 14px; background: url(img/column/column-index-bg.svg) no-repeat; background-size: 100% auto; }
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: 20px 0 20px 20px; }
body.column .column-nav li figure { width: 94px; min-width: 94px; }
body.column .column-nav li .txt { padding-left: 35px; }
body.column .column-nav li h2 { margin-bottom: 15px; }
body.column .column-nav li h2 i { display: inline-block; margin-right: 10px; }
body.column .column-nav li h2 i img { width: 13px; height: auto; opacity: 0.5; }
body.column .column-nav li h2 strong { display: inline-block; margin-right: 4px; color: #583F2A; font-size: 20px; letter-spacing: 0.18em; transform: translateY(3px); }
body.column .column-nav li h2 em { display: inline-block; transform-origin: left bottom; }
body.column .column-nav li p { color: #583F2A; font-size: 14px; letter-spacing: 0.12em; }

/* .column-index
------------------------------------*/
body.column .column-logo-wrap { position: absolute; top: 46px; left: 52px; width: 94px; text-align: center; transform-origin: left top; 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: 14vh; left: 50%; box-sizing: border-box; width: 490px; margin: 0 0 0 -250px; }
body.column .column-index h2 { position: relative; height: 70px; margin: 0 0 70px 72px; 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: -70px; left: -120px; transform: rotate(-5deg); }
body.column .column-index h2 .title2 { top: 0; left: 0; }
body.column .column-index h2 .title3 { top: -5px; left: 290px; transform: rotate(-5deg); }
body.column .column-index .txt { position: relative; z-index: 1; opacity: 0; }
body.column .column-index h1 { margin-bottom: 32px; }
body.column .column-index p { margin-bottom: 12px; font-size: 16px; line-height: 2.1; letter-spacing: 0.15em; 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: -180px; left: 265px; }
body.column .column-index .obj2 { top: 0; left: -85px; }
body.column .column-index .obj3 { top: 122px; left: 277px; }

/* .column-main
------------------------------------*/
body.column .column-main { position: relative; background-color: #FFFFFF; width: 50vw; }
body.column-top .column-main { background-color: #FFFAF6; height: 100vh; }
body.column .column-main-inner { box-sizing: border-box; background-color: #FFFFFF; width: 100%; max-width: 800px; margin: 0 auto; padding: 18% 11% 0; }
body.column .column-main-inner section { opacity: 0; }

/* .column-title
------------------------------------*/
body.column .column-title { position: relative; margin-bottom: 80px; opacity: 0; }
body.column .column-title .title { position: absolute; top: -30%; right: -9.5%; width: 76%; }
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: 100px; }
body.column .sec-common .inner:last-of-type { margin-bottom: 0; }
body.column .sec-common .inner h2 { position: relative; margin-bottom: 28px; font-size: 25px; line-height: 1.8; letter-spacing: 0.2em; }
body.column .sec-common .inner h2 strong { display: inline-block; position: relative; z-index: 1; }
body.column .sec-common .inner p { margin-bottom: 18px; color: #A89F98; font-size: 17px; line-height: 2.3; letter-spacing: 0.08em; text-align: justify; }

/* .sec-illust-list
------------------------------------*/
body.column .sec-illust-list { margin-top: 140px; }
body.column .sec-illust-list h2 { margin-bottom: 5px; font-size: 20px; line-height: 1.6; letter-spacing: 0.3em; }
body.column .sec-illust-list .inner { display: -webkit-box; display: flex; border-bottom: 1px solid #EEE6E0; padding: 35px 0 40px; }
body.column .sec-illust-list .inner:last-of-type { border-bottom: none; padding-bottom: 0; }
body.column .sec-illust-list .inner figure { width: 210px; min-width: 210px; margin: 0 0 5px -10px; }
body.column .sec-illust-list .inner .txt { padding: 10px 0 0 40px; }
body.column .sec-illust-list h3 { margin-bottom: 18px; font-size: 20px; line-height: 1.6; letter-spacing: 0.22em; }
body.column .sec-illust-list p { color: #A89F98; font-size: 16px; line-height: 1.85; letter-spacing: 0.15em; text-align: justify; }

/* .sec-howto
------------------------------------*/
body.column .sec-howto { margin-top: 140px; }
body.column .sec-howto h2 { margin-bottom: 45px; }
body.column .sec-howto h2 span { display: inline-block; border: 1px solid #583F2A; padding: 8px 5px 6px 7px; font-size: 19px; letter-spacing: 0.15em; }
body.column .sec-howto .inner { display: -webkit-box; display: flex; -webkit-box-align: center; align-items: center; margin-bottom: 20px; }
body.column .sec-howto .inner:last-of-type { padding-bottom: 0; }
body.column .sec-howto .inner figure { align-self: flex-start; width: 155px; min-width: 155px; }
body.column .sec-howto .inner .txt { position: relative; padding-left: 40px; }
body.column .sec-howto h3 { position: relative; margin-bottom: 12px; padding-left:26px; font-size: 19px; line-height: 1.6; letter-spacing: 0.15em; }
body.column .sec-howto h3 i { display: block; position: absolute; top: 0; left: 1px; }
body.column .sec-howto p { margin-bottom: 10px; color: #A89F98; font-size: 14px; line-height: 1.9; letter-spacing: 0.1em; text-align: justify; }
body.column .sec-howto p.attention { margin-bottom: 10px !important; font-size: 12px; letter-spacing: 0.15em; }

/* .sec-advice
------------------------------------*/
body.column .sec-advice { position: relative; margin-top: 120px; padding-right: 220px; }
body.column .sec-advice h2 { margin-bottom: 30px; }
body.column .sec-advice h2 span { position: relative; display: inline-block; font-size: 20px; 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: 10px; right: 0; }
body.column .sec-advice p { font-size: 15px; line-height: 1.9; letter-spacing: 0.15em; text-align: justify; }
body.column .column-wrap,
body.column .column-header { min-width: 1240px; }

@media (min-width: 1600px) {
	body.column .column-main-inner { padding: 136px 88px 0; }
}
@media (min-height: 1100px) {
	body.column .column-nav li a { padding-top: 25px; padding-bottom: 25px; }
}
@media (max-width: 1340px), (max-height: 960px) {
	body.column .column-nav .inner { padding-right: 30px; padding-left: 30px; }
	body.column .column-nav li a { padding-left: 5px; }
	body.column .column-nav li figure { width: 80px; min-width: 80px; }
	body.column .column-nav li figure img,
	body.column .sec-howto .inner figure img,
	body.column .sec-advice figure img,
	body.column .sec-illust-list .inner figure img { width: 100%; height: auto; -webkit-backface-visibility: hidden; }
	body.column .column-nav li .txt { padding-left: 28px; }
	body.column .column-nav li h2 i { margin-right: 4px; }
	body.column .column-nav li h2 i img { width: 12px; }
	body.column .column-nav li h2 strong { font-size: 18px; letter-spacing: 0.15em; }
	body.column .column-nav li h2 em { transform: scale(0.85); }
	body.column .column-nav li p { font-size: 13px; letter-spacing: 0.1em; }
	body.column .sec-common .inner h2 { margin-bottom: 22px; font-size: 22px; letter-spacing: 0.18em; }
	body.column .sec-common .inner p { font-size: 16px; line-height: 2.15; }
	body.column .sec-illust-list p { font-size: 15px; }
	body.column .sec-illust-list h2,
	body.column .sec-illust-list h3,
	body.column .sec-howto h2 span,
	body.column .sec-howto h3 { font-size: 19px; }
	body.column .sec-illust-list h2 { letter-spacing: 0.25em; }
	body.column .sec-illust-list h3 { margin-bottom: 15px; }
	body.column .sec-howto h2 span { padding-top: 6px; letter-spacing: 0.15em; }
	body.column .sec-howto .inner figure { width: 120px; min-width: 120px; }
	body.column .sec-howto .inner .txt { padding-left: 30px; }
	body.column .sec-illust-list .inner .txt { padding-left: 35px; }
	body.column .sec-illust-list .inner figure { width: 165px; min-width: 165px; }
	body.column .sec-advice { padding-right: 180px; }
	body.column .sec-advice h2 { margin-bottom: 25px; }
	body.column .sec-advice figure { width: 160px; }
}
@media (max-height: 880px) {
	body.column .column-index-wrap { bottom: 10vh !important; }
	body.column .column-nav .inner { padding-top: 15px; padding-bottom: 10px; }
	body.column .column-nav .index { top: -27px; }
	body.column .column-nav .index img { width: auto; height: 27px; }
	body.column .column-nav li a { padding-top: 15px; padding-bottom: 15px; }
	body.column .column-nav li figure { width: 75px; min-width: 75px; }
	body.column .column-nav li h2 { margin-bottom: 12px; }
}
@media (max-height: 760px) {
	body.column .column-index-wrap { bottom: 9vh !important; }
	body.column .column-nav li a { padding-top: 12px; padding-bottom: 12px; }
	body.column .column-nav li figure { width: 70px; min-width: 70px; }
	body.column .column-nav li h2 strong { font-size: 16px; letter-spacing: 0.12em; }
}
@media (max-width: 1380px) {
	body.column .column-logo-wrap { transform: scale(0.9); }
	body.column .column-index-wrap { bottom: 12vh; }
	body.column .column-index { transform: scale(0.9); transform-origin: center bottom; }
}
@media (max-height: 960px) {
	body.column .column-logo-wrap { transform: scale(0.8); }
	body.column .column-index { bottom: 12vh; }
}
@media (max-width: 1220px) {
	body.column .column-logo-wrap { transform: scale(0.8); }
	body.column .column-index { transform: scale(0.8); }
}


/* page online
---------------------------------------------------------------------------*/
#onlineContents .sec-lead p {
	color: var(--color-green);
	font-size: 16px;
	line-height: 2.2;
	letter-spacing: 0.18em;
}

#onlineContents .img-main { margin-bottom: 95px; padding: 0; }

/* .online-lead
------------------------------------*/
.online-lead {
	display: flex;
	justify-content: space-between;
	width: 980px;
	margin: 0 auto 100px;
}

.online-lead .txt h2 {
	margin-bottom: 24px;
	color: var(--color-green);
	font-size: 28px;
	line-height: 1.75;
	letter-spacing: 0.22em;
}

.online-lead .txt p {
	margin-bottom: 12px;
	font-size: 15px;
	line-height: 2.1;
	letter-spacing: 0.14em;
}

.online-lead .txt p.attention {
	margin-top: 30px;
	font-size: 12px;
}

.online-lead .merit {
	background: var(--color-bg-green);
	border-radius: 6px;
	width: 400px;
	min-width: 400px;
	margin-left: 60px;
	padding: 45px 42px 50px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	text-align: center;
}

.online-lead .merit figure {
	height: 71px;
	margin-bottom: 13px;
}

.online-lead .merit li:nth-of-type(3) figure,
.online-lead .merit li:nth-of-type(4) figure { margin-bottom: 8px; }
.online-lead .merit li:nth-of-type(3) figure img { transform: translateX(6px); }

.online-lead .merit h3 {
	margin-bottom: 35px;
	font-size: 18px;
	line-height: 1.6;
	letter-spacing: 0.18em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

.online-lead .merit ul {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px 23px;
}

.online-lead .merit li h4 {
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

/* .online-plan
------------------------------------*/
.online-plan {
	width: 980px;
	margin: 0 auto 120px;
}

.online-plan > h2,
.online-flow .inner > h2,
.online-faq > h2 {
	margin-bottom: 28px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 18px;
	letter-spacing: 0.14em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

.online-plan > p {
	font-size: 15px;
	line-height: 2.1;
	letter-spacing: 0.14em;
}

.online-plan-list {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 0 25px;
	margin: 35px 0 60px;
}

.online-plan-list .inner {
	background-color: #FFFFFF;
	border: 1px solid var(--color-green);
	border-radius: 6px;
	padding: 24px 27px 20px;
	text-align: center;
}

.online-plan-list h3 { margin-bottom: 22px; }

.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 {
	min-height: 102px;
	margin-bottom: 23px;
}

.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: 102px;
	padding-top: 42px;
}

.online-plan-list dd {
	padding: 0 0 0 13px;
	font-family: var(--font-gothic-r-jp);
	font-size: 13px;
	line-height: 1.75;
	letter-spacing: 0.08em;
	text-align: justify;
}

.online-plan-price {
	display: flex;
	justify-content: space-between;
	border-top: 1px solid var(--color-border);
	padding-top: 14px;
}

.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: 5px 0 0 15px;
	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;
	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 {
	position: relative;
	background-color: var(--color-bg-green);
	border-radius: 4px;
	width: 980px;
	min-height: 205px;
	margin: 0 auto;
	padding: 40px 44px 34px 406px;
}

.online-target h3 {
	position: absolute;
	top: 36px;
	left: 44px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 18px;
	line-height: 1.75;
	letter-spacing: 0.18em;
}

.online-target .time {
	position: absolute;
	bottom: 28px;
	left: 44px;
	color: var(--color-green);
}

.online-target .time h4 {
	margin: 0 0 4px -1px;
	font-family: var(--font-gothic-r-jp);
	font-size: 13px;
	letter-spacing: 0.12em;
}

.online-target .time p { font-size: 12px; letter-spacing: 0.1em; }

.online-target .time p strong {
	font-family: var(--font-gothic-r-jp);
	font-size: 16px;
	padding: 0 4px 0 5px;
}

.online-target .check-list { margin-bottom: 25px; }

.online-target .check-list li {
	position: relative;
	padding-left: 23px;
	margin-bottom: 5px;
	font-size: 15px;
	line-height: 1.7;
	letter-spacing: 0.1em;
}

.online-target .check-list li:before {
	display: block;
	content: '';
	position: absolute;
	top: 6px;
	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 { margin-top: 60px; }

/* .online-flow
------------------------------------*/
.online-flow { width: 980px; margin: 0 auto; }
.online-flow .inner { position: relative; background-color: #FFFFFF; margin-bottom: 2px; padding: 90px 65px; }
.online-flow #online-flow2.inner { padding-bottom: 45px; }
.online-flow .inner > p { font-size: 15px; }
.online-flow .inner > .logo { position: absolute; top: 83px; right: 75px; }

.online-flow dl > div {
	display: -webkit-box;
	display: flex;
	background: url(img/share/line-dot.svg) repeat-x left bottom;
	padding: 24px 0 11px 20px;
}

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

.online-flow dt {
	position: relative;
	width: 210px;
	min-width: 210px;
	padding: 1px 20px 0 35px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 15px;
	line-height: 1.7;
	letter-spacing: 0.12em;
}

.online-flow dt i {
	display: block;
	position: absolute;
	top: 1px;
	left: -9px;
	width: 22px;
	color: var(--color-gold);
	font-family: var(--font-serif-r-en);
	font-size: 16px;
	letter-spacing: 0.04em;
	text-align: right;
}

.online-flow dd p { letter-spacing: 0.08em; }
.online-flow dd p span { font-size: 12px; letter-spacing: 0.06em; }

.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: 10px;
	padding: 10px 0 30px;
}

.online-flow .logo + .inner-s { margin-top: 40px; }

.online-flow .inner-s h3 {
	width: 100px;
	min-width: 100px;
	padding-top: 22px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 16px;
	line-height: 1.7;
	letter-spacing: 0.12em;
}

.online-flow .inner-s > dl { width: 100%; }
.online-flow .inner-s dl > div { padding-top: 22px; padding-bottom: 20px; }
.online-flow .inner-s dl > div:last-of-type { background: none; }

.online-flow .inner-s dt { padding-left: 25px; }
.online-flow .inner-s .dl-wide { display: block; }
.online-flow .inner-s .dl-wide dt { width: 100%; margin-bottom: 10px; }
.online-flow .inner-s .dl-wide dd { padding: 0; }

.online-flow .qr-list {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 0 10px;
	margin: 22px 10px 12px 5px;
}

.online-flow .qr-list li a {
	display: block;
	position: relative;
	background-color: var(--color-bg-green);
	border-radius: 6px;
	height: 91px;
	padding: 23px 18px 18px 20px;
	color: var(--color-green);
	text-decoration: none;
	white-space: nowrap;
}

.online-flow .qr-list li a:has(img) { padding-right: 90px; }
.online-flow .qr-list li a img { display: block; position: absolute; top: 18px; right: 18px; }
.online-flow .qr-list li a strong { display: block; margin-bottom: 13px; font-size: 16px; 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 {
	display: block;
	font-size: 13px;
	letter-spacing: 0.1em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

.online-flow .online-target { margin-top: 45px; }

/* .online-faq
------------------------------------*/
.online-faq { width: 980px; margin: 140px auto 0; }


/* page recruit
---------------------------------------------------------------------------*/
.btn-entry-fix { display: none !important; }

body.recruit-doctor,
body.recruit-information { background-color: #FEFFF6; }

#recruit-doctorContents,
#recruit-informationContents { color: #51533B; }

body.recruit-doctor footer,
body.recruit-information footer { padding-top: 180px; }

.recruit-lead { margin: 75px auto; text-align: center; }

.recruit-lead h1 {
	margin-bottom: 20px;
	color: var(--color-green);
	font-size: 24px;
	line-height: 1.7;
	letter-spacing: 0.14em;
}

.recruit-lead p {
	font-size: 16px;
	line-height: 2.1;
	letter-spacing: 0.12em;
}

/* page recruit-information
------------------------------------*/
.parts-txt,
.parts-num,
.parts-ph { position: absolute; z-index: 1; }
.centerTtlSet strong { font-size: 18px; color: #3F210F; letter-spacing: 0.17em; }

/* .recruit-wrap
------------------------------------*/
.recruit-wrap {
	width: 100%;
	min-width: 1100px;
	padding: 60px 0 120px;
}

.recruit-wrap h2 {
	font-size: 26px;
	color: #83A734;
	text-align: center;
	letter-spacing: 0.1em;
	line-height: 1.7;
}

.recruit-wrap .lead {
	text-align: center;
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.1em;
	margin-top: 28px;
}

.recruit-wrap h2:first-of-type + p.lead {
	letter-spacing: 0.04em;
	color: #5E422F;
	opacity: .8;
}

.ph-1 { width: 1000px; margin: 70px auto 115px; }

/* .portraitWrap
------------------------------------*/
.portraitWrap {
	position: relative;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	width: 1020px;
	margin: -60px auto 140px;
	padding-top: 60px;
}

#recruit-informationContents .portraitWrap { width: 1000px; }

.portraitWrap #portrait { align-self: flex-start; width: 420px; min-width: 420px; }
.portraitWrap .txtSet { padding: 0 0 3px 80px; }
.portraitWrap h3 { margin-bottom: 32px; }
.portraitWrap .txt-wrap p { margin-bottom: 16px; text-align: justify; line-height: 2.1; }
.portraitWrap .txt-wrap p a { text-decoration: underline; text-decoration-thickness: 1px; }

.portraitWrap .dr-name { margin-top: 30px; }
.portraitWrap .dr-name small { margin-right: 12px; font-size: 13px; letter-spacing: 0.14em; }
.portraitWrap .dr-name strong { font-size: 20px; letter-spacing: 0.15em; }

/* .recruit-concept
------------------------------------*/
.recruit-concept {
	display: block;
	position: relative;
	overflow: hidden;
	width: 100%;
	height: auto;
	padding: 120px 0 150px;
	margin-bottom: 160px;
	text-align: center;
	z-index: 0;
}

.recruit-concept .bg-pattern {
	display: block;
	background: url(img/recruit/bg-concept.jpg) no-repeat 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: 995px;
	border-radius: 498px;
	margin: 0 auto;
	position: relative;
	padding: 110px 0 130px;
	z-index: 1;
	box-sizing: border-box;
}

.concept-inner h3 { margin-bottom: 45px; }

.concept-inner h3 em {
	display: block;
	margin-bottom: 58px;
	color: var(--color-green);
	font-size: 23px;
	letter-spacing: 0.18em;
}

.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: -1px;
	bottom: 0;
	height: 1px;
}

.concept-inner h3 > span {
	position: relative;
	padding-right: 35px;
	color: var(--color-green);
	font-size: 20px;
	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: 27px;
	background: #C6C6C6;
	transform: rotate(45deg);
	right: 17px;
	top: 0;
}

.concept-inner h3 > span:last-of-type::after { display: none; }
.concept-inner h3 strong { display: block; margin-top: 32px; }

.concept-inner .txtSet + .txtSet { margin-top: 45px; }
.concept-inner .txtSet p { margin-bottom: 25px; font-size: 15px; line-height: 2.1; letter-spacing: 0.14em; }

.concept-inner .logo { margin-top: 70px; text-align: center; transform: translateX(12px); }
.concept-inner .logo img { display: inline-block; margin: 0 18px; }
.concept-inner .logo img.paak { width: 100px; }
.concept-inner .logo img.zerofull { width: 158px; }

.concept-inner .parts-ph { display: inline-block; box-shadow: 10px 7px 19px rgba(125,107,96,.22); }
.concept-inner .ph1 { left: -97px; top: 124px; height: 180px; }
.concept-inner .ph2 { right: -222px; top: 342px; height: 276px; }
.concept-inner .ph3 { left: -188px; top: 614px; height: 367px; }
.concept-inner .ph4 { right: -156px; top: 971px; height: 250px; }
.concept-inner .ph5 { left: -176px; bottom: -5px; height: 244px; }
.concept-inner .ph6 { right: -122px; bottom: -51px; height: 236px; }

/* .sec-interview
------------------------------------*/
#recruit-staff { margin-top: -115px; padding-top: 115px; }

.sec-interview { width: 1046px; margin: 0 auto 140px; position: relative; }
.parts-txt.interview { top: 0; left: 40px; }
h3.parts-txt { top: -80px; right: 15px; }

.interview-wrap { width: 100%; display: flex; justify-content: space-between; align-items: flex-start; }
.interview-wrap.top { width: 784px; margin: 0 auto 60px; }
.interview-wrap.bottom { position: relative; width: 1046px; }

.parts-txt.team-en { left: -112px; top: -35px; }
.parts-txt.team-jp { top: 18px; right: -124px; }
.parts-txt.team-jp img { width: 300px; }

.parts-media {
	position: absolute;
	right: -70px;
	top: 100px;
	width: 170px;
	color: #5E422F;
}

.parts-media h4 img { width: 133px; position: absolute; right: -35px; top: -10px; }
.parts-media h5 { padding-top: 97px; padding-left: 2px; }

.parts-media p {
	padding: 16px 0 12px;
	font-family: var(--font-gothic-r-jp);
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

.parts-media .btn-set { padding-bottom: 12px; }

.parts-media .btn-set a {
	color: #5E422F;
	font-family: var(--font-gothic-r-jp);
	font-size: 15px;
	letter-spacing: 0.1em;
}

.parts-media .btn-set a em { padding-left: 2px; }

.parts-media .btn-set i { position: relative; top: 2px; left: 0; padding-right: 7px; }
.parts-media .btn-set i img { width: 19px; height: auto; transform: translateY(-1px); }
.parts-media .btn-set::before { position: relative; }

.staff-wrap { width: 260px; position: relative; }

.staff-wrap figure {
	position: relative;
	overflow: hidden;
	width: 260px;
	height: 395px;
}

.staff-wrap figure i { display: none !important; }

.staff-wrap figure img {
	width: calc(100% + 14px);
	height: auto;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}

.staff-wrap figure img.hover_ph {
	position: absolute;
	top: -18px;
	left: -7px;
	visibility: hidden;
	transition: .11s ease-out;
	transform-origin: center bottom;
}

.staff-wrap figure img.before_ph { position: absolute; }
 
.staff1 figure img.before_ph { left: -6px; top: -32px; }
.staff2 figure img.before_ph { left: -7px; bottom: -2px; }
.staff3 figure img.before_ph { left: -6px; top: -26px; }
.staff4 figure img.before_ph { left: -6px; bottom: -2px; }
.staff5 figure img.before_ph { left: -6px; bottom: -5px; } 
.staff6 figure img.before_ph { left: -7px; bottom: 0; }
.staff6 figure img.hover_ph { top: -30px; }
.staff7 figure img.before_ph { left: -7px; bottom: 0; }
.staff7 figure img.hover_ph { top: -22px; }

/* .interview-inner
------------------------------------*/
.inner-wrap { display: inline-block; position: absolute; right: -25px; z-index: 2; }

.interview-inner {
	position: absolute;
	right: 0;
	top: 0;
	width: 320px;
	box-sizing: border-box;
	background: #fff;
	padding: 31px 32px 32px;
	box-shadow: 8px 6px rgba(94,66,47,0.2);
	opacity: 0;
	visibility: hidden;
	transform-origin: bottom center;
}

.staff1 .inner-wrap { top: -320px; }
.staff2 .inner-wrap { top: -290px; }
.staff3 .inner-wrap { top: -285px; }
.staff4 .inner-wrap { top: -320px; }
.staff5 .inner-wrap { top: -310px; }
.staff6 .inner-wrap { top: -335px; }
.staff7 .inner-wrap { top: -240px; }

.interview-inner::before {
	display: block;
	content: '';
	position: absolute;
	background: url(img/recruit-information/parts-bubble-shadow.svg) no-repeat;
	width: 33px;
	height: 20px;
	right: 74px;
	bottom: -26px;
}

.interview-inner::after {
	display: block;
	content: '';
	position: absolute;
	background: url(img/recruit-information/parts-bubble.svg) no-repeat;
	width: 33px;
	height: 20px;
	right: 84px;
	bottom: -19px;
}

.interview-inner p {
	font-size: 13px;
	color: #5E422F;
	text-align: justify;
	line-height: 1.85;
	letter-spacing: 0.02em;
}

.interview-inner .staff-detail {
	margin-top: 20px;
	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(-1px,1px); }

/* .sec-point
------------------------------------*/
.sec-point { margin-bottom: 130px; }

.sec-point .lead,
.sec-clinic .lead { margin-bottom: 75px; text-align: center; }

.sec-point .lead h3,
.sec-clinic .lead h3 { margin-bottom: 35px; }

.sec-point .lead p,
.sec-clinic .lead p {
	font-size: 16px;
	line-height: 2.1;
	letter-spacing: 0.12em;
	color: #5E422F;
}

.sec-point .lead .btn-color { display: inline-block; margin-top: 18px; }

.sec-point dl {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin: 75px auto 0;
}

.sec-point dl:nth-of-type(1) { width: 700px; }
.sec-point dl:nth-of-type(2) { width: 1055px; }

.sec-point dl div { width: 325px; }
.sec-point dl dt figure { margin-bottom: 34px; }
.sec-point dl dt figure img { width: 100%; }
.sec-point dl dt { margin-bottom: 22px; }

.sec-point dl dt h4 {
	position: relative;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 20px;
	letter-spacing: 0.12em;
	text-align: center;
}

.sec-point dl dt h4 small {	
	font-size: 12px;
	letter-spacing: 0.3em;
}

.sec-point dl dt h4 span::after {
	display: inline-block;
	content: "";
	position: absolute;
	bottom: -10px;
	left: 0px;
	background: url(img/share/dot-horizontal.svg) repeat-x;
	background-size: 9px 3px;
	width: calc(100% + 3px);
	height: 3px;
}

.sec-point dl dd p {
	font-size: 14px;
	line-height: 1.9;
	letter-spacing: 0.06em;
	text-align: justify;
}

/* .ph-set
------------------------------------*/
.ph-set { width: 92%; max-width: 1240px; margin: 0 auto 82px; }
.ph-set img { display: inline-block; width: 100%; }

/* .clinic h3
------------------------------------*/
.clinic h3 { font-size: 30px; text-align: center; color: #83A734; }
.clinic p.lead { margin-bottom: 90px; color: #5E422F; }
.clinic .ph-wrap.large { margin: 0 auto; width: 1080px; }

/* .recruit-detail
------------------------------------*/
.recruit-detail { margin-top: 50px; padding-top: 60px; }
.recruit-detail-lead { text-align: center; }
.recruit-detail-lead h3 { margin-bottom: 40px; }
.recruit-detail-lead p { margin-bottom: 10px; font-size: 16px; }

.recruit-detail-lead p strong {
	font-size: 22px;
	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: -9px;
	left: 50%;
	transform: translateX(-50%);
	background-color: var(--color-green);
	border-radius: 50%;
	width: 5px;
	height: 5px;
	margin-left: -1px;
}

.recruit-dl {
	background: url(img/share/line-dot-green.svg) repeat-x left top / 8px auto;
	width: 960px;
	margin: 60px auto 120px;
}

.recruit-dl > div {
	background: url(img/share/line-dot-green.svg) repeat-x left bottom / 8px auto;
}

.recruit-dl > div > dt {
	display: block;
	position: relative;
	padding: 28px 60px 22px 22px;
	color: var(--color-green);
	font-size: 20px;
	letter-spacing: 0.14em;
}

.recruit-dl > div > dt i {
	display: inline-block;
	margin-right: 10px;
	color: var(--color-gold);
	font-family: var(--font-serif-r-en);
	font-size: 22px;
}

.recruit-dl > div > dt i.plus {
	display: block;
	top: 31px;
	right: 17px;
	margin: 0;
}

.recruit-dl > div > dd { display: none; }
.recruit-dl .inner-dl { padding: 20px 60px 25px 57px; }

.recruit-dl .inner-dl div {
	display: flex;
	margin-bottom: 20px;
	font-size: 15px;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.recruit-dl .inner-dl div dt {
	width: 110px;
	min-width: 110px;
	margin-right: 25px;
	color: var(--color-green);
}

.recruit-dl .inner-dl div dd { width: 100%; }

/* .recruit-flow
------------------------------------*/
.recruit-flow { width: 965px; margin: 0 auto 120px; }
.recruit-flow ol { display: flex; width: calc(100% - 2px); margin-top: 23px; }
.recruit-flow ol li { width: 20%; }
.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 {
	height: 150px;
	text-align: center;
	color: #FCFDEE;
	font-family: var(--font-gothic-r-jp);
	font-size: 20px;
	letter-spacing: 0.05em;
	position: relative;
}

.flow-tab::after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: -8px;
	transform: translateY(-50%);
	width: 9px;
	height: 27px;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	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 {
	position: absolute;
	display: inline-block;
	left: 50%;
	top: 63px;
	transform: translateX(-50%);
	white-space: nowrap;
	z-index: 2;
}

.flow-4 .flow-tab .tab-inner { left: calc(50% - 3px); }
.flow-5 .flow-tab .tab-inner { transform: none; left: 27%; }
.flow-tab .tab-inner .flow-hl { letter-spacing: 0.12em; }

.flow-tab .tab-inner .flow-hl em {
	display: block;
	font-size: 14px;
	padding: 9px 0 0 33px;
	letter-spacing: 0.1em;
}

.flow-tab .tab-inner .num-flow {
	display: inline-block;
	position: relative;
	top: 1px;
	margin-right: 10px;
	margin-left: 5px;
	font-family: var(--font-serif-r-en);
	font-size: 32px;
}

.flow-txt {
	display: block;
	margin-top: 18px;
	padding-right: 22px;
	color: #5E422F;
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: 0.04em;
	text-align: justify;
}

/* .ph-wrap.end
------------------------------------*/
.ph-wrap.end { width: 100%; }
.ph-wrap.end img { display: block; width: 100%; height: auto; }

/* .recruit-form
------------------------------------*/
.recruit-form { width: 960px; margin: 0 auto; }
.recruit-form > h2 { margin-bottom: 45px; }
.recruit-form > dl > div { display: -webkit-box; display: flex; margin-bottom: 20px; }
.recruit-form > dl > div:last-of-type { margin-bottom: 0; }

.recruit-form > dl > div > dt {
	width: 190px;
	min-width: 190px;
	padding: 4px 20px 0 2px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.recruit-form > dl > div > dt i { padding-right: 4px; }
.recruit-form > dl > div > dd { width: 100%; }

.recruit-form > dl > div > dd p {
	margin-bottom: 10px;
	font-size: 15px;
	line-height: 2.1;
	letter-spacing: 0.08em;
}

.recruit-form .wpcf7 { margin-top: 60px; }
.recruit-form .form-wrap dt { padding-top: 18px; }
.recruit-form .form-wrap dt:has(span) { padding-top: 10px; }
.recruit-form .form-wrap dt span { margin-top: -4px; }

.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); }

@media (max-width: 1380px) {
	.concept-inner { width: 900px; padding-bottom: 80px; }
	.concept-inner .ph1 { left: -93px; top: -41px; }
	.concept-inner .parts-ph1-wrap { transform: scale(0.9); }
	.concept-inner .ph2 { right: -335px; top: 257px; }
	.concept-inner .parts-ph2-wrap { transform: scale(0.81); }
	.concept-inner .ph3 { left: -274px; top: 680px; }
	.concept-inner .parts-ph3-wrap { transform: scale(0.83); }
	.concept-inner .ph4 { right: -213px; top: 931px; }
	.concept-inner .parts-ph4-wrap { transform: scale(0.9); }
	.concept-inner .ph5 { left: -214px; top: 1625px; }
	.concept-inner .parts-ph5-wrap { transform: scale(0.9); }
	.concept-inner .ph6 { right: -134px; top: 1650px; }
	.concept-inner .parts-ph6-wrap { transform: scale(0.93); }
	.concept-inner h3 { transform: scale(0.93); margin-bottom: 35px; }
	.concept-inner .txtSet p { letter-spacing: 0.08em; }
	.concept-inner .logo { margin-top: 65px; transform: scale(0.9); }
}

@media (max-width: 1270px) {
	.recruit-concept { padding: 110px 0 130px; margin-bottom: 100px; }
	.concept-inner { width: 840px; padding: 90px 0 70px; }
	.concept-inner .ph1 { top: -41px; left: -140px; }
	.concept-inner .parts-ph1-wrap { transform: scale(0.8); }
	.concept-inner .ph2 { right: -429px; top: 333px; }
	.concept-inner .parts-ph2-wrap { transform: scale(0.65); }
	.concept-inner .ph3 { left: -296px; top: 650px; }
	.concept-inner .parts-ph3-wrap { transform: scale(0.73); }
	.concept-inner .ph4 { right: -262px; top: 1181px; }
	.concept-inner .parts-ph4-wrap { transform: scale(0.77); }
	.concept-inner .ph5 { left: -267px; top: 1890px; }
	.concept-inner .parts-ph5-wrap { transform: scale(0.77); }
	.concept-inner .ph6 { right: -188px; top: 1860px; }
	.concept-inner .parts-ph6-wrap { transform: scale(0.82); }
	.concept-inner h3 { transform: scale(0.9); margin-bottom: 32px; }
	.concept-inner .txtSet p { letter-spacing: 0.06em; }
	.concept-inner .logo { margin-top: 60px; }
	.sec-point dl { width: 980px; }
	.sec-point dl div { width: 235px; }
	.sec-point dl dt h4 small { left: 48px; }
	.sec-point dl dd p { letter-spacing: 0.04em; font-size: 13px; }
	.recruit-dl { width: 82%; max-width: 1000px; }
	.recruit-flow { width: 82%; max-width: 965px; }
	.flow-txt { padding-right: 20px; letter-spacing: 0.01em; }
	.recruit-form { width: 82%; max-width: 960px; }
	.recruit-form .form-txt-set p { letter-spacing: 0.03em; }
	.clinic p.lead { margin-bottom: 80px; }
	.clinic .ph-wrap.large { width: 85%; }
	.clinic .ph-wrap.large img { width: 100%; display: inline-block; }
	.sec-interview { transform: scale(0.86); margin-bottom: 30px; }
	.staff1 .inner-wrap { top: -325px; }
	.staff2 .inner-wrap { top: -307px; }
	.staff3 .inner-wrap { top: -294px; }
	.staff4 .inner-wrap {	top: -335px; }
	.staff5 .inner-wrap { top: -335px; }
	.staff6 .inner-wrap { top: -225px; }
	.interview-inner::after { bottom: -19px; }
	.interview-inner p { font-size: 14px; }
	.interview-inner .staff-detail span { font-size: 14px; }
}

@media (max-width: 1200px) {
	.parts-txt.team-en { top: -35px; transform: scale(0.95); }
	.parts-txt.team-jp { top: 11px; right: -114px; transform: scale(0.95); }
}


/* page recruit-doctor
---------------------------------------------------------------------------*/
body.recruit-doctor header,
body.recruit-doctor .btn-reservation-fix,
.recruit-main-sp {
	display: none !important;
}

/* .recruit-main
------------------------------------*/
.recruit-main { overflow: hidden; position: relative; width: 100%; height: 100vh; min-height: 715px; margin-bottom: 140px; }
.recruit-main-inner { position: relative; width: calc(100vh / 0.65); max-width: 100%; height: 100%; margin: 0 auto; }

.recruit-main .logo-set,
.recruit-main .img,
.recruit-main .txt-team,
.recruit-main .copy,
.recruit-main nav,
.recruit-main .btn-entry { opacity: 0; }

.recruit-main .img { position: absolute; z-index: 1; transform-origin: center bottom; }
.recruit-main .img img,
.recruit-main .copy img,
.recruit-main .logo-set .logo img,
.btn-entry img { display: block; position: relative; width: auto; height: 100%; }

.recruit-main .img img { -webkit-backface-visibility: hidden; image-rendering: -webkit-optimize-contrast; }
.recruit-main .img1 { top: 17.2%; left: 50.2%; height: 108%; }
.recruit-main .img2 { top: 49.3%; left: 1.6%; height: 34.2%; }
.recruit-main .img3 { bottom: 0; left: 41.6%; height: 43.5%; }
.recruit-main .img4 { bottom: 43.6%; right: 3.2%; height: 28%; }
.recruit-main .img5 { top: -2.6%; right: -2.8%; height: 24.4%; }

.recruit-main .img1 img { transform: translate(-50%,-50%); }
.recruit-main .img2 img { transform: translate(0,-50%); }
.recruit-main .img3 img { transform: translate(-50%,0); }
.recruit-main .img4 img { transform: translate(0,0); }
.recruit-main .img5 img { transform: translate(0,0); }

.recruit-main .copy { position: absolute; z-index: 2; }
.recruit-main .copy img { transform: translate(50%,0%); }
.recruit-main .copy1 { bottom: 9.3%; right: 11.1%; height: 38.4%; }
.recruit-main .copy2 { bottom: 9.4%; right: 30.7%; height: 29.9%; }

.recruit-main .logo-set { position: absolute; top: 4.6%; left: 4.6%; height: 15.6%; text-align: center; z-index: 3; }
.recruit-main .logo-set .logo { position: relative; height: 100%; }
.recruit-main .logo-set .logo a { display: block; position: relative; height: 100%; z-index: 1; }
.recruit-main .logo-set .logo img { display: inline-block; }
.recruit-main .logo-set .btn { display: inline-block; margin-top: 28px; }

.recruit-main .logo-set .btn a {
	display: inline-block;
	position: relative;
	background: var(--gradient-green-color);
	border-radius: 30px;
	padding: 13px 46px 11px 24px;
	color: #FFFFFF;
	font-size: 15px;
	letter-spacing: 0.12em;
}

.recruit-main .logo-set .btn a:after {
	display: block;
	content: '';
	position: absolute;
	top: 15px;
	right: 19px;
	background: url(img/share/ico-arrow-line-white.svg) no-repeat;
	width: 20px;
	height: 10px;
}

.recruit-main .nav-set { position: absolute; bottom: 8.8%; left: 2.5%; z-index: 3; }
.recruit-main nav li { margin-top: 7px; }

.recruit-main nav a {
	display: inline-block;
	background: url(img/share/ico-arrow-link.svg) no-repeat left top 2px / 19px auto;
	padding: 5px 20px 5px 26px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 14px;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.recruit-main .btn-entry { position: absolute; top: -15px; left: 155px; z-index: 3; }
.recruit-main .txt-team { position: absolute; bottom: 1px; left: 0; width: 100%; transform-origin: center bottom; z-index: 2; }
.recruit-main .txt-team img { width: 100%; height: auto; }

@media (max-aspect-ratio: 1/0.65) {
	.recruit-main { height: 65vw; }
}

@media (min-aspect-ratio: 1/0.65) {
	.recruit-main .img1 { top: 17.2%; left: 49%; height: 108%; }
	.recruit-main .img2 { top: 49.1%; left: -0.9%; height: 40.1%; }
	.recruit-main .img3 { bottom: 0; left: 39.8%; height: 44.5%; }
	.recruit-main .img4 { bottom: 43.6%; right: 3.2%; height: 29.1%; }
}

/* .careerWrap
------------------------------------*/
#careerWrap { display: block; margin: -70px auto 160px; text-align: center; }
.careerWrap { margin-bottom: 124px; margin-top: -60px; padding-top: 60px; }

.careerWrap .txtSet { margin-bottom: 10px; }
#careerWrap .txtSet h3 { margin-bottom: 36px; }

#careerWrap .txtSet h4 {
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 20px;
	letter-spacing: 0.12em;
	margin-bottom: 32px;
}

#careerWrap .txtSet h4 span { position: relative; display: inline; }

#careerWrap .txtSet h4 span::after {
	display: block;
	content: "";
	background: var(--color-green);
	position: absolute;
	height: 1px;
	left: -1px;
	bottom: -1px;
	width: calc(100% - -2px);
}

.careerWrap .txtSet > p { font-size: 16px; letter-spacing: 0.14em; line-height: 1.9; }

.careerWrap .career-step { margin: -120px auto 0px; }
.careerWrap .career-step ul { display: block; margin: 0 auto; position: relative; width: 950px; height: 620px; }
.careerWrap .career-step ul li { display: inline-block; position: absolute; }
.careerWrap .career-step ul li.step1 { top: 10px; left: 0px; }
.careerWrap .career-step ul li.step2 { top: 280px; left: 95px; }
.careerWrap .career-step ul li.step3 { bottom: 0px; left: 50%; transform: translateX(-50%);}
.careerWrap .career-step ul li.step4 { top: 280px; right: 95px; }
.careerWrap .career-step ul li.step5 { top: 10px; right: 0px; }
.careerWrap .career-step .logo img { width: 102px; }

.careerWrap .career-step ul li::after {
	display: block;
	content: "";
	position: absolute;
	background: url(img/recruit-doctor/cur-career-step.svg) no-repeat left top;
	width: 40px;
	height: 126px;
	top: 0px;
	left: 0px;
}

.careerWrap .career-step ul li.step1::after { top: 64px; left: 316px; transform:rotate(105deg) }
.careerWrap .career-step ul li.step2::after { top: -92px; left: 247px; transform:rotate(50deg) }
.careerWrap .career-step ul li.step3::after { top: -156px;  left: 50%; transform: translateX(-50%); }
.careerWrap .career-step ul li.step4::after { top: -92px; left: -56px; transform:rotate(-50deg) }
.careerWrap .career-step ul li.step5::after { top: 64px; left: -126px; transform:rotate(-105deg) }

.careerWrap .career-step .logo { position: relative; top: 215px; }

.pointWrap .logo i,
.career-step .logo i {
	display: inline-block;
	position: absolute;
	top: -33px;
	left: 50%;
	margin: 0 0 10px 2px;
	color: #3F210F;
	font-size: 16px;
	font-style: normal;
	letter-spacing: 0.08em;
	white-space: nowrap;
	transform: translateX(-50%);1
}

.pointWrap .logo i:before,
.pointWrap .logo i:after,
.career-step .logo i:before,
.career-step .logo i:after {
	display: block;
	content: '';
	position: absolute;
	top: 9px;
	background: #5E422F;
	width: 19px;
	height: 2px;
}

.pointWrap .logo i:after,
.career-step .logo i:after { right: -19px; transform: rotate(-65deg); }
.pointWrap .logo i:before,
.career-step .logo i:before { left: -23px; transform: rotate(65deg); }

/* .career-voiceWrap
------------------------------------*/
.career-voiceWrap .txtSet h3 { font-size: 40px; }
#careerWrap .career-voiceWrap .txtSet h4 { margin-bottom: 30px; }

#careerWrap .career-voiceWrap .txtSet h3 {
	box-sizing: border-box;
	margin-bottom: 36px;
	padding-left: 14px;
	letter-spacing: 0.08em;
}

.career-voiceWrap .img-main { width: 1040px; margin: 0 auto 66px; padding: 0; }
.career-voiceWrap .img-main img { width: 100%; }

.career-voiceWrap ul.voiceSet { display: block; margin: 0 auto; position: relative; width: 963px; height: 500px; }
.career-voiceWrap ul.voiceSet li { display: inline-block; position: absolute; }
.career-voiceWrap ul.voiceSet li.voice1 { top: 0px; left: 0px; }
.career-voiceWrap ul.voiceSet li.voice2 { top: 12px; right: 0px; }
.career-voiceWrap ul.voiceSet li.voice3 { top: 34px; left: 415px; }
.career-voiceWrap ul.voiceSet li.voice4 { top: 185px; right: 19px; }
.career-voiceWrap ul.voiceSet li.voice5 { top: 200px; left: 304px; }
.career-voiceWrap ul.voiceSet li.voice6 { top: 223px; left: 34px; }
.career-voiceWrap ul.voiceSet li.voice7 { bottom: 0px; left: 160px; }
.career-voiceWrap ul.voiceSet li.voice8 { bottom: 14px; right: 178px; }

/* pointWrap
------------------------------------*/
.pointWrap {
	display: block;
	position: relative;
	background: url(img/recruit/bg-point.jpg) no-repeat left top / cover;
	margin: 0 auto 140px;
	padding: 108px 0 217px;
	text-align: center;
}

#pointWrap .logo {
	position: absolute;
	top: -50px;
	left: 50%;
	transform: translateX(-50%);
}

.pointWrap .txtSet { margin-bottom: 25px; }
.pointWrap .txtSet h3 { margin-bottom: 28px; }

.pointWrap .txtSet h4 {
	margin-bottom: 24px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 22px;
	letter-spacing: 0.1em;
}

.pointWrap .txtSet h4 span { position: relative; display: inline; }

.pointWrap .txtSet > p {
	font-size: 16px;
	letter-spacing: 0.12em;
	line-height: 1.9;
	margin-bottom: 28px;
}

.pointWrap .btn-color { margin-top: 16px; }
.pointWrap .txtSet .btn-color { margin-top: 30px; }

.pointWrap .txtSet .btn-color a {
	display: inline-block;
	border-radius: 100px;
	padding-right: 28px;
	padding-left: 32px;
	font-size: 14px;
}

.pointWrap .btn-color a span { padding-right: 26px; }

.pointWrap dl {
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
	gap: 25px 25px;
	justify-content: center;
	margin-top: -35px;
	width: 1118px;
}

.pointWrap dl > div {
	width: 356px;
	background-color: #FFFFFF;
	border-radius: 8px;
	box-sizing: border-box;
	padding: 40px 33px 34px;
}

.pointWrap dl > div.btn-wrap { padding: 40px 33px 24px; }
.pointWrap dl > div dt.btn-ac { pointer-events: none; }

.pointWrap dl > div dt figure { margin-bottom: 28px; }
.pointWrap dl > div dt figure img { width: 100%; }

.pointWrap dl > div dt h4 {
	display: block;
	margin-bottom: 24px;
	color: var(--color-green);
	font-size: 20px;
	letter-spacing: 0.1em;
	font-family: var(--font-gothic-r-jp);
}

.pointWrap dl > div dt h4 span { position: relative; }
.pointWrap dl > div dt h4 .plus { display: none; }

.pointWrap dl > div dt h4 span::after,
.pointWrap dl > div.txt-contents span::after {
	display: inline-block;
	content: "";
	position: absolute;
	bottom: 0;
	left: -4px;
	background: url(img/share/line-dot-green.svg) repeat-x left bottom / 8px auto;
	width: calc(100% + 4px);
	height: 2px;
}

.pointWrap dl > div dd p {
	text-align: justify;
	font-size: 14px;
	line-height: 1.7;
	letter-spacing: 0.038em;
}

.pointWrap dl > div.activity dd p { letter-spacing: 0.03em; }
.pointWrap dl > div.txt-contents { padding: 26px; height: 126px; position: relative; }
.pointWrap dl > div.txt-contents dt:has(span) { padding-top: 8px; }
.pointWrap dl > div.txt-contents dt p { padding-bottom: 6px; font-size: 18px; letter-spacing: 0.08em; }
.pointWrap dl > div.txt-contents dd p { font-size: 19px; text-align: center; padding-top: 13px; }

.pointWrap dl > div.txt-contents span {
	display: inline-block;
	position: relative;
	padding-bottom: 4px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 22px;
	letter-spacing: 0.08em;
}

.pointWrap dl > div.txt-contents figure.img-point { position: absolute; }

.txt-contents figure.point7 img { width: 115px }
.txt-contents figure.point8 img { width: 188px }
.txt-contents figure.point9 img { width: 119px }
.txt-contents figure.point10 img { width: 132px }
.txt-contents figure.point11 img { width: 143px }

.txt-contents figure.point7 { top: -70px; left: -85px; z-index: 2; }
.txt-contents figure.point8 { top: -106px; right: -100px; }
.txt-contents figure.point9 { top: 18px; right: -74px; z-index: 1; }
.txt-contents figure.point10 { top: 76px; left: -50px; }
.txt-contents figure.point11 { top: 115px; left: -69px; }

.pointWrap dl > div.flex-middle { transform: translateY(77px) !important; }


/* .recruit-doctor-woman
---------------------------------------------------------------------------*/
.recruit-doctor-woman { width: 1120px; margin: 0 auto 240px; display: block; }
.recruit-doctor-woman .img-main { padding: 0; }

.recruit-doctor-woman .txt-top {
	padding-left: 24px;
	position: relative;
	letter-spacing: 0.08em;
	width: 510px;
}

.recruit-doctor-woman .txt-top h4 {
	margin-bottom: 30px;
	padding-left: 4px;
	font-size: 18px;
	letter-spacing: 0.1em;
}

.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 dl.lead-wrap {
	display: flex;
	margin-top: 40px;
	padding-top: 70px;
}

.recruit-doctor-woman .txt-top h3 {
	margin-bottom: 30px;
	text-align: left !important;
}

.recruit-doctor-woman .txt-top p {
	margin-bottom: 16px;
	font-size: 16px;
	line-height: 2.2;
	letter-spacing: 0.1em;
}

.recruit-doctor-woman .txt-top .txt-box { padding-left: 3px; }

.recruit-doctor-woman dl.lead-wrap dd .img-wrap {
	position: relative;
	width: 518px;
	height: 650px;
	transform: translateX(30px);
}

.recruit-doctor-woman dl.lead-wrap dd .img-wrap .img-top { position: absolute; }
.recruit-doctor-woman dl.lead-wrap dd .img-wrap .top1 { top:0; right:0; }
.recruit-doctor-woman dl.lead-wrap dd .img-wrap .top2 { bottom: 90px; left: 24px }
.recruit-doctor-woman dl.lead-wrap dd .img-wrap .top3 { bottom: 0; right: -24px; }

.recruit-doctor-woman .top1 img { width: 429px; height: auto; }
.recruit-doctor-woman .top2 img { width: 276px; height: auto; }
.recruit-doctor-woman .top3 img { width: 183px; height: auto; }

.recruit-doctor-woman .txt-set { margin: 10px auto 60px; width: 1090px; }
.recruit-doctor-woman .txt-set h3 { margin-bottom: 42px; padding-left: 8px; }

.recruit-doctor-woman .txt-set > dl div {
	display: flex;
	border-bottom: 2px dotted #CABEB7;
	padding: 0 0 26px 10px;
	margin-bottom: 26px;
	line-height: 1.6;
}

.recruit-doctor-woman .txt-set > dl div dt {
	position: relative;
	width: 250px;
	min-width: 250px;
	color: #F86A6A;
	font-family: var(--font-gothic-r-jp);
	font-size: 17px;
	line-height: 1.7;
	letter-spacing: 0.12em;
}

.recruit-doctor-woman .txt-set > dl div dt .plus { display: none !important; }

.pointWrap dl > div.flex-middle,
.recruit-doctor-woman .txt-set > dl div dd {
	display: block !important;
	height: 100% !important;
	transform: none;
}

.recruit-doctor-woman .txt-set > dl div dd {
	display: table;
	font-size: 15px;
	line-height: 2.1;
	letter-spacing: 0.1em;
}

.recruit-doctor-woman .txt-set .ask {
	font-size: 16px;
	margin-bottom: 76px;
	margin: 42px 0 76px 8px;
}

.recruit-doctor-woman .btnPink a {
	display: block;
	box-sizing: border-box;
	background-color: #FC9C95;
	border-radius: 100px;
	width: 100%;
	margin: 0 auto;
	padding: 26px 5px 22px;
	color: #FCFDEF;
	font-family: var(--font-gothic-r-jp);
	font-size: 20px;
	line-height: 1;
	letter-spacing: 0.14em;
	text-align: center;
}

/* 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 { overflow: hidden; margin: 140px auto 120px; text-align: center; }
.visit h3 { margin-bottom: 30px; letter-spacing: 0.12em; }
.visit .visit-txtset { margin-bottom: 40px; }
.visit .visit-txtset p { font-size: 15px; letter-spacing: 0.14em; }
.visit .slide-recruit { display: -webkit-box; display: flex; width: 100%; }
.visit .slide-recruit .inner { position: relative; margin-right: 10px; }

.visit .slide-recruit .inner figcaption {
	position: absolute;
	bottom: 9px;
	left: 13px;
	color: #FFFFFF;
	font-family: var(--font-gothic-m-en);
	font-size: 9px;
	letter-spacing: 0.1em;
	white-space: nowrap;
	z-index: 1;
}

/* .recruit-faq
------------------------------------*/
.recruit-faq { width: 965px; margin: -60px auto 0; padding-top: 60px; }
.recruit-faq > h2 { margin: 0 0 25px; }
.recruit-faq .faq-list dt { font-size: 16px; }

/* .recruit-form
------------------------------------*/
.recruit-form { margin: 80px auto 120px; }
#btnSend input { background-color: var(--color-green); }
.recruit-flow h3.form-flow { color: var(--color-green); }
.recruit-flow ol { margin-top: 30px; }

/* .sec-data
------------------------------------*/
.sec-data {
	width: 1106px;
	display: block;
	margin: 144px auto 170px;
	background-image: url(img/recruit/bg-recuit.jpg);
	border: solid 6px var(--color-green);
	border-radius: 25px;
	box-sizing: border-box;
	position: relative;
	padding: 78px 74px 66px;
}

#recruit-informationContents .sec-data { margin-bottom: 220px; }

.sec-data::before {
	display: block;
	content: "";
	position: absolute;
	background: url(img/recruit/img-flag.svg) no-repeat left top;
	width:  282px;
	height: 78px;
	top: -80px;
	left: 20px;
}

.sec-data .box, .sec-data .box2 { display: flex; justify-content: space-between; }
.sec-data .box { text-align: center; }
.sec-data .box li { display: flex; flex-direction: column; }

.sec-data .box li.data-1,
.sec-data .box li.data-2 {
	display: flex;
	width: 238px;
	flex-direction: column;
	position: relative;
}

.sec-data .box li.data-3 {
	display: flex;
	width: 346px;
	flex-direction: column;
}

.sec-data li h4 {
	display: block;
	margin-bottom: 30px;
}

.sec-data li.data-3 h4 { margin-bottom: 34px; }

.sec-data li h4 strong {
	display: inline-block;
	border-bottom: solid 1px var(--color-green);
	padding-bottom: 4px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 22px;
	letter-spacing: 0.07em;
}

.sec-data li p.txt {
	margin: 23px 0 11px;
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: 0.06em;
	text-align: justify;
}

.sec-data li p.attention {
	font-size: 12px;
	text-align: left;
	letter-spacing: 0.08em;
}

.sec-data .box2 { margin-top: 110px; }

.sec-data .box2 li.data-4 {
	width: 564px;
	text-align: left;
	position: relative;
}

.sec-data .box2 li.data-4 .number {
	position: absolute;
	top: 0;
	left: 134px;
}

.sec-data .box2 li.data-4 .staff {
	position: absolute;
	bottom: 0;
	width: 564px;
	height: 57px;
}

.sec-data .box2 li.data-4 .attention {
	position: absolute;
	left: 304px;
	bottom: -6px;
}

.sec-data .box2 li .attention { letter-spacing: 0.1em; }

.sec-data .box2 li.data-4 .age {
	position: absolute;
	background-color: #ffffff;
	width: 254px;
	height: 122px;
	border: 2px solid #296125;
	border-radius: 7px;
	text-align: center;
	padding: 15px 0;
	box-sizing: border-box;
	right: 4px;
	top: -20px;
}

.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: 37px;
	left: -18px;
}

.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: 37px;
	left: -14px;
}

.sec-data .box2 li.data-5 { width: 276px; text-align: left; position: relative; }
.sec-data .box2 li.data-5 .sec-date { display: flex; align-items: flex-end; }
.sec-data .box2 li.data-5 .attention { padding-left: 14px; transform: translateY(4px); }

.sec-data .box::after {
	display: inline-block;
	content: "";
	position: absolute;
	bottom: 260px;
	left: 78px;
	background: url(img/recruit/data-line-yoko.svg) repeat-x;
	background-size: 12px 2px;
	width: 950px;
	height: 2px;
}

.sec-data .box .data-1::after, .sec-data .box .data-2::after {
	display: inline-block;
	content: "";
	position: absolute;
	top: 0px;
	right: -29px;
	background: url(img/recruit/data-line.svg) repeat-y;
	background-size: 2px 12px;
	width: 2px;
	height: 280px;
}

.sec-data .box2 .data-5::before {
	display: inline-block;
	content: "";
	position: absolute;
	top: -24px;
	left: -49px;
	background: url(img/recruit/data-line.svg) repeat-y;
	background-size: 2px 13px;
	width: 2px;
	height: 160px;
}

.sec-data .box2 li { list-style-type: none; }


/* page contact
---------------------------------------------------------------------------*/
#contactContents .sec-lead {
	margin-bottom: 55px;
}

/* .contact-info
------------------------------------*/
.contact-info {
	display: flex;
	background-color: #FFFFFF;
	border-radius: 6px;
	margin: 0 auto 140px;
	padding: 32px 35px;
	/* white-space: nowrap; */
	align-items: center;
}

.contact-info .inner { display: flex; width: 100%; }

.contact-info .inner:first-of-type {
	border-right: 1px solid var(--color-border);
	margin-right: 32px;
}

.contact-info .logo { padding-top: 4px; }
.contact-info .paak .logo img { width: 62px; }
.contact-info .zerofull .logo img { width: 95px; }

.contact-info .txt { position: relative; padding: 0 0 0 34px; margin-top: 15px;}
.contact-info .paak .txt { padding-right: 30px; }
.contact-info .zerofull .txt { width: 350px; padding-right: 70px; margin-top: 0px; }

.contact-info .txt h3 {
	margin: 0 0 1px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 14px;
	letter-spacing: 0.12em;
}

.contact-info .txt.top {
	margin-top: 6px;
}

.contact-info .txt .tel {
	margin-bottom: -10px;
	font-family: var(--font-gothic-r-en);
	font-size: 21px;
	letter-spacing: 0.04em;
}

.contact-info .txt .tel span { padding-right: 3px; font-size: 13px; }
.contact-info .txt .tel em { font-size: 15px; padding-left: 8px; }
.contact-info .txt .tel em span { font-size: 12px; }
.contact-info .txt .tel.fax span { padding-right: 2px; }
.contact-info .txt > p { text-align: justify; }

.contact-info .zerofull .txt p {
	margin-bottom: 6px;
	line-height: 1.8;
	letter-spacing: 0.06em;
}

.contact-info .zerofull .txt p span {
	padding-left: 4px;
	font-size: 12px;
}

.contact-info .txt p.attention {
	margin-top: 7px;
	font-size: 12px;
	letter-spacing: 0.08em;
}

.contact-info .txt .btn-zerofull { margin: 18px 0 0 -1px; }

.contact-info .qr {
	position: absolute;
	bottom: 0px;
	right: -20px;
	text-align: center;
}

.contact-info .qr span {
	display: block;
	margin-bottom: 8px;
	color: var(--color-blue);
	font-family: var(--font-gothic-r-jp);
	font-size: 12px;
	line-height: 1.35;
	letter-spacing: 0.05em;
}

.sec-lead .cancel {
	margin-top: 45px;
}

.sec-lead .cancel h3 {
	position: relative;
	font-size: 16px;
	color: var(--color-green);
	padding-left: 35px;
	letter-spacing: 0.08em;
	font-weight: 400;
}

.sec-lead .cancel h3::before {
	display: block;
	content: '';
	position: absolute;
	top: -5px;
	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 35px;
}

/* .contact-form
------------------------------------*/
.contact-form {
	width: 740px;
	margin: 0 auto;
}

.form-wrap dl, .form-wrap dl p { line-height: 1.6; }
.form-wrap dl div { display: flex; margin-bottom: 25px; }
.form-wrap dl div:last-of-type { margin-bottom: 0; }

.form-wrap dt {
	position: relative;
	width: 200px;
	padding-top: 22px;
}

.form-wrap dt.must:before {
	display: block;
	content: '';
	position: absolute;
	top: 15px;
	left: -10px;
	background-color: var(--color-gold);
	border-radius: 50%;
	width: 5px;
	height: 5px;
}

.form-wrap dt.must.pt:before { top: 5px; }

.form-wrap dt,
.form-wrap dt p {
	font-size: 14px;
	letter-spacing: 0.08em;
}

.form-wrap dt.pt { padding-top: 13px; }

.form-wrap dt span {
	display: block;
	margin-top: 1px;
	font-size: 10px;
	letter-spacing: 0.1em;
}

.form-wrap dd {
	width: calc(100% - 200px);
	min-height: 64px;
}

.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: 64px;
	padding: 0 20px;
	font-family: var(--font-gothic-device);
	font-size: 14px;
	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: 27px;
	right: 29px;
	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: 18px 20px; }

::-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: 40px 0 20px 200px;
	padding: 15px;
}

.sec-privacy .inner {
	overflow-y: scroll;
	width: 100%;
	height: 360px;
	padding: 40px 30px 15px 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: 22px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 16px;
	letter-spacing: 0.1em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

.sec-privacy .inner > p,
.sec-privacy dd p {
	margin-bottom: 6px !important;
	font-size: 13px !important;
	line-height: 2.1 !important;
	letter-spacing: 0.06em !important;
}

.sec-privacy dl > div { margin-bottom: 30px; }
.sec-privacy dt { margin: 40px 0 10px; }

.sec-privacy dt p {
	margin: 0;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 16px;
	letter-spacing: 0.1em;
}

.sec-privacy dd { color: #565656; text-align: justify; }
.sec-privacy ul { margin-top: 12px; }
.sec-privacy ul li { margin-bottom: 3px; }
.sec-privacy ul li:before { top: 10px; }
.sec-privacy ul li p { line-height: 2; letter-spacing: 0.05em; }
.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: 0 0 0 205px; }
.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  { 
	margin: 20px 0 0 205px; 
	font-size: 13px;
}

/* .btm-attention
------------------------------------*/
.btm-attention { margin: 30px 0 0 200px; text-align: justify; }
.btm-attention p { letter-spacing: 0.09em; }

/* .btn-submit
------------------------------------*/
.btn-submit {
	position: relative;
	display: block;
	margin: 50px 0 0;
	padding-left: 200px;
}

.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: 18px 20px 17px 22px;
	color: #FFFFFF;
	font-family: var(--font-gothic-r-jp);
	font-size: 18px;
	line-height: 1.4;
	letter-spacing: 0.12em;
	text-align: center;
	white-space: nowrap;
	transition: .15s ease-out;
}

.btn-submit input:hover { opacity: 0.7; }

/* 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: 10px 0 0 2px;
	padding: 0;
	font-family: var(--font-gothic-r-jp);
	color: var(--color-green);
	font-size: 12px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.screen-reader-response { display: none; }

.txt-response,
.wpcf7-response-output {
	margin: 30px 0 0 205px;
	color: var(--color-green);
	font-family: var(--font-gothic-r-jp);
	font-size: 15px;
	line-height: 1.6;
	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
---------------------------------------------------------------------------*/
#voiceContents .sec-lead { margin-bottom: 140px; }
#voiceContents .title-page { margin-left: 15px; }
#voiceContents .contact-form { width: 800px; }
.form-wrap .div-mb { margin-bottom: -4px; padding-top: 4px; }
.form-wrap .div-mtb { margin: 38px 0 30px; }
.form-wrap dt.dt-checkbox { transform: translateY(-21px); }
.form-wrap dd:has(p .wpcf7-checkbox) { padding-left: 2px; }
.wpcf7-checkbox { display: flex; flex-wrap: wrap; }

.wpcf7-checkbox > span {
	width: 50%;
	padding-right: 20px;
	margin: 0 0 8px;
	font-size: 14px;
	letter-spacing: 0.06em;
	white-space: nowrap;
}

.wpcf7-checkbox input[type="checkbox"] {
	margin-right: 6px;
	transform: translateY(2px);
}

_::-webkit-full-page-media, _:future, :root .wpcf7-checkbox input[type="checkbox"] {
	transform: translateY(0);
}


/* page error
---------------------------------------------------------------------------*/
#errorContents { padding-top: 100px; }
#errorContents .sec-lead { padding-left: 0; }
#errorContents .sec-lead p { margin-bottom: 0; }
#errorContents .sec-lead p a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.1em; }

/* print
---------------------------------------------------------------------------*/
@media print {

}