@charset "utf-8";
/*
Theme Name: machino-kousen
Theme URI: https://machino-kousen-saitama.com
Version: 1.0
*/

/* common
---------------------------------------------------------------------------*/
@import url("css/easing.css");

:root {
	--color-text: #34483A;
	--color-text-beige: #F3F0E9;
	--color-text-gray: #777777;
	--color-border: #DCE8DD;
	--color-border-beige: #D7CEBE;
	--color-border-brown: #C8BEAD;
	--color-border-green-light: rgba(68,131,75,0.1);
	--color-border-green: rgba(68,131,75,0.25);
	--color-border-green-dark: rgba(68,131,75,0.5);
	--color-border-green-txt: rgba(62,85,64,0.4);
	--color-border-gray: rgba(0,0,0,0.1);
	--color-border-white: rgba(255,255,255,0.3);
	--color-green: #44834B;
	--color-green-logo: #1C7157;
	--color-yellow: #FFF046;
	--color-white: #FBFAF3;

	--color-bg: url(img/share/bg.jpg?v2) repeat left top / 63rem auto;
	--color-bg-beige: url(img/share/bg-texture-beige.jpg) repeat left top / 63rem auto;
	--color-bg-beige-light: #EBE4D8;
	--color-bg-beige-dark: #A89C87;
	--color-bg-white-yellow: #FFFFF3;
	--color-bg-green: url(img/share/bg-texture-green-light.jpg) repeat left top / 90rem auto;
	--color-bg-green-gradient: url(img/share/bg-pattern-noise.png), linear-gradient(180deg, #05865F 10.48%, #407A47 92.49%);

	--font-gothic-jp: "fot-cezanne-pron", '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	--font-gothic-jp-device: '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	--font-serif-jp: zen-kurenaido, 'zen-kurenaido', '游明朝体', '游明朝', YuMincho, 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
	
	--font-gothic-en: 'mundial-narrow-variable', sans-serif;
	/* font-variation-settings: "wght" 400; */
}

html {
	font-size: calc(0.5px + 0.1333vw);
}

body {
	overflow-y: scroll;
	background: var(--color-bg);
	color: var(--color-text);
	font-size: 14rem;
	font-family: var(--font-gothic-jp);
	line-height: 1;
	font-feature-settings: 'palt' 1;
	-webkit-text-size-adjust: none !important;
	/*min-height: 100vh;
	min-height: 100dvh;*/
	-webkit-tap-highlight-color: transparent;
}

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

.bg-tab-bars {
  position: fixed;
  bottom: 0;
  pointer-events: none;
  height: 4px;
  width: 100%;
  background: none;
  mix-blend-mode: lighten;
	opacity: 0;
}
.bg-tab-bars.active { background: #000; opacity: 1; }

::-moz-selection { background: rgba(0,0,0,0.1); color: #000000; }
::selection { background: rgba(0,0,0,0.1); color: #000000; }

p { font-size: 14rem; line-height: 1.95; letter-spacing: 0.04em; margin-bottom: 1em; }
p .p_narrow { display: block; margin-bottom: 1em; }
p .p_narrow:last-child { margin-bottom: 0; }
p:last-child { margin-bottom: 0 !important; }
h1,h2,h3,h4,h5,h6 { line-height: 1.6; }
figure img { width: 100%; }

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

.title-h1 { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* .txt
------------------------------------*/
.stretch,
section p,
.btn-link,
.btn-line-white,
.btn-link-txt a span,
.btn-link.root a span,
.header-title strong span,
.header-title em,
.gnav > ul > li > a,
.gnav > ul > li > button,
.mnav li em,
.mnav li strong span,
.plist,
footer .snav li a span,
.info-clinic .link,
.contents h2:not(.title-page), .contents h3, .contents h4, .contents h5, .contents h6,
.title-page h1,
.dot-list li,
.attention-list li,
.tabel-common th span,
.tabel-common td span,
.schedule table span,
.schedule-doctor th em,
.schedule-doctor td em,
.post-categories,
.news-category li a,
.news-category select,
.news-list .category span,
.news-list-txt .category span,
.news-title .post-categories li,
.news-title h1,
.news-main p,
.news-table table,
.news-table-attention,
.drop-page-nav li a span,
.faq-list dt button span,
.dl-ac-list dt button span,
.dl-num-list dt > span,
.dl-dot-list dt span,
.dl-dot-list dd,
.dl-line dt,
.dl-price dl,
.check-list li span,
.about-message .txt .name,
.about-clinic .partner ul,
.access-head .txt p,
.access-info .info1 address,
.access-info .info2 .reserve .tel em,
.doctor-director .img figcaption em,
.doctor-director .img figcaption strong,
.doctor-career h3,
.doctor-list .list article > ul li,
.surgery-main .title h1,
.case-main .title .txt h1,
.case-list .lead dt,
.case-common .inner .box .num-list li span,
.before-after-list article dl,
.before-after-list .inner-s,
.modal-before-after-inner article .dl,
.faq-list dt span,
.faq-list dd p,
.appointment-method tbody th strong,
.appointment-method tbody td span,
.appointment-common .time-zone dt,
.appointment-common .order-time dt,
.appointment-doctorqube .waiting-info > div > span {
  display: inline-block;
	transform-origin: left center;
	transform: scaleX(1.03);
	max-width: 97%;
}

section p {
	display: block;
}

.btn-line-white,
.btn-link-txt a span,
.header-title strong span,
footer .snav li a span,
.dot-list li,
.attention-list li,
.news-list-txt .category span,
.news-list-txt h3,
.news-category li a,
.news-category select,
.news-title .post-categories li,
.drop-page-nav li a span,
.dl-ac-list dt button span {
	max-width: none;
}

.before-after-list article h3 {
	max-width: 97%;
}

sup,
.news-main p img,
.about-clinic .info-clinic h2 .logo,
.case-research h2,
.case-research h3,
.before-after-list article h3:after {
	display: block;
	transform-origin: left center;
	transform: scaleX(0.97);
	max-width: 100%;
}

.stretch-l {
  display: inline-block;
	transform-origin: left center;
	transform: scaleX(1.08) !important;
	max-width: 92%;
}

.footer-info-inner h2 strong span {
	max-width: none;
}

h1,h2,h3,h4,h5,h6 { display: block !important; }

/* bg
------------------------------------*/
footer,
.nav-sp .bg,
.case-research,
.surgery-result .dl {
	background-image: url(img/share/bg-pattern-noise.png), linear-gradient(164.4deg, #237053 8.2%, #4F7F6E 24.5%, rgba(83, 130, 86, 0.96) 65%, rgba(77, 129, 91, 0.97) 92.7%);
	background-repeat: repeat, no-repeat;
	background-position: left top;
	background-size: 120rem 120rem, cover;
	background-blend-mode: color-burn, normal;
	color: var(--color-text-beige);
}

.surgery-result .dl {
	background-image: url(img/share/bg-pattern-noise.png), linear-gradient(163.88deg, #05865F 10.48%, #407A47 92.49%);
}

.btn-audio .txt > div {
	background: url(img/share/bg-pattern-noise.png), linear-gradient(163.88deg, #05865F 10.48%, #407A47 92.49%);
	background-repeat: repeat, no-repeat;
	background-position: left top;
	background-size: 120rem 120rem, cover;
	background-blend-mode: color-burn, normal;
	color: var(--color-text-beige);
}

/* green */
.btn-audio .txt:after {
	background: url(img/share/bg-pattern-noise.png), #407A47;
	background-repeat: repeat, no-repeat;
	background-position: left top;
	background-size: 120rem 120rem, cover;
	background-blend-mode: color-burn, normal;
	color: var(--color-text-beige);
}

/* white */
.appointment-common .box {
	background: url(img/share/bg-pattern-noise.png), #FFFFFF;
	background-repeat: repeat, no-repeat;
	background-position: left top;
	background-size: 120rem 120rem, cover;
}

/* beige */
.surgery-option,
.appointment-common .box-beige,
.modal-before-after {
	background: url(img/share/bg-pattern-noise.png), #EFE6D8;
	background-repeat: repeat, no-repeat;
	background-position: left top;
	background-size: 120rem 120rem, cover;
}

.case-research { border-radius: 9rem; }

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

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

p a,
.dot-list li a,
.attention-list li a { color: var(--color-green); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.1em; }

/* txt
------------------------------------*/
.dash {
	display: inline-block;
	background-color: var(--color-text);
	width: 1.5em;
	height: 1px;
	margin: 0 0.25em 0 0.15em;
	vertical-align: middle;
	transform: translateY(-1px);
}

/* .btn
------------------------------------*/
.btn-link a {
	display: inline-block;
	position: relative;
	background: url(img/share/bg-pattern-noise.png), linear-gradient(164deg, #05865F 10.5%, #407A47 92.5%);
	background-repeat: repeat, no-repeat;
	background-position: left top;
	background-size: 120rem 120rem, cover;
	border-radius: 60rem;
	width: 100%;
	padding: 14rem 16rem 15rem 20rem;
	color: #FFFFFF;
	font-size: 14rem;
	letter-spacing: 0.1em;
	text-align: center;
}

.btn-wrap .btn-link a { letter-spacing: 0.06em !important; }
.btn-link.size-l { width: 100%; }

.btn-link.size-l a {
	display: block;
	padding-top: 17rem;
	padding-bottom: 18rem;
	font-size: 15rem;
	letter-spacing: 0.15em;
}

.btn-link.root a { padding-left: 40rem; white-space: nowrap; }

.btn-link.root a:before {
	display: block;
	content: '';
	position: absolute;
	top: calc(50% - 6rem);
	left: 20rem;
	background: url(img/share/ico-access-white.svg) no-repeat left top / 100% auto;
	width: 15rem;
	height: 15rem;
}

.btn-line-white a {
	display: inline-block;
	border: 1px solid rgba(255,255,255,0.5);
	border-radius: 100rem;
	padding: 13rem 28rem 13rem 30rem;
	color: #FFFFFF;
	font-size: 14rem;
	line-height: 1.4;
	letter-spacing: 0.14em;
}

.btn-link-txt a {
	display: inline-block;
	position: relative;
	padding: 3rem 32rem 5rem 0;
	color: var(--color-green);
	font-size: 14rem;
	letter-spacing: 0.06em;
}

.btn-link-txt a:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	background: url(img/share/btn-arrow-s-dark.png) no-repeat left top / 100% auto;
	width: 20rem;
	height: 20rem;
}

.btn-link-txt.bg-color a:after { background-image: url(img/share/btn-arrow-s.svg); }

.btn-link-txt a span {
	text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.15em;
}

.btn-link-txt.back a { padding-right: 5rem; padding-left: 30rem; font-size: 14rem; }
.btn-link-txt.back a:after { left: 0; transform: scaleX(-1); }

/* .btn-nav
------------------------------------*/
.btn-nav {
	position: fixed;
	top: 0;
	right: 0;
	padding: 36rem 30rem 20rem;
	z-index: 10000;
	visibility: hidden;
	pointer-events: none;
	opacity: 0;
	transition: .15s ease-out;
}

.btn-nav.visible { visibility: visible; pointer-events: all; opacity: 1; }

.btn-nav div,
.btn-nav span { display: block; }
.btn-nav div { position: relative; width: 45rem; height: 8rem; }

.btn-nav em { display: block; margin-top: 4rem; }
.btn-nav.active em { opacity: 0 !important; }
.btn-nav em img { width: 38rem; }
.btn-nav.white em img { filter: invert(100%) brightness(200%); }

.btn-nav span {
	position: absolute;
	left: 0;
	background-color: #000000;
	width: 100%;
	height: 1.3rem;
	-webkit-transform: translateZ(0);
}

.btn-nav.white span,
.btn-nav.active span { background-color: var(--color-white); }

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

.btn-nav.active span:nth-of-type(1) { transform: translateY(3.3rem) rotate(-20deg); }
.btn-nav.active span:nth-of-type(2) { transform: translateY(-3.3rem) rotate(20deg); }

/* .nav-sp
------------------------------------*/
.nav-sp {
	display: none;
	position: fixed;
	top: 0;
	right: 0;
	width: 82%;
	height: 100vh;
	height: 100dvh;
	z-index: 9999;
	opacity: 0;
}

.nav-sp .bg {
	position: absolute;
	top: 0;
	left: 0;
	background: url(img/share/bg-pattern-noise.png), linear-gradient(164.44deg, #417F68 8.25%, #477F6B 24.49%, rgba(94, 144, 97, 0.96) 65.09%, #417F68 92.7%);
	box-shadow: -8rem 4rem 7rem rgba(0, 0, 0, 0.33);
	border-radius: 6rem 0 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}

.nav-sp .inner {
	overflow-y: scroll;
	position: relative;
	width: 100%;
	height: 100vh;
	height: 100dvh;
	padding: 120rem 40rem 40rem;
	z-index: 1;
	opacity: 0;
}

.nav-sp,
.nav-sp a { color: var(--color-white); }

.nav-top { margin-bottom: 25rem; }

.nav-top a {
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 400;
	font-size: 13rem;
	letter-spacing: 0.13em;
	text-decoration: underline;
	text-decoration-color: rgba(255,255,255,0.5);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
}

.gnav { position: relative; white-space: nowrap; }

.gnav > ul > li > a,
.gnav > ul > li > button {
	display: block;
	position: relative;
	padding: 15rem 15rem 20rem 0;
	font-size: 17rem;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.gnav > ul > li > a,
.mnav li strong span {
	text-decoration: underline;
  text-decoration-color: rgba(255,255,255,0.5);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

.gnav > ul > li em { display: none; }

.mnav { margin-top: -3rem; padding: 0 0 13rem 15rem; }
.mnav ul.even { display: grid; grid-template-columns: 1fr 1fr; gap: 0 10rem; }
.mnav li { margin-bottom: 5rem; }
.mnav li a { display: inline-block; padding: 5rem 5rem 7rem 0; }
.mnav li figure { display: none; }
.mnav li strong { display: block; font-size: 13rem; letter-spacing: 0.06em; }


/* #wrap
---------------------------------------------------------------------------*/
#wrap { width: 100vw; position: relative; overflow: hidden; min-width: var(--width-min); }


/* header
---------------------------------------------------------------------------*/
header {
	width: 100%;
	margin: 0 0 65rem;
	padding: 20rem 20rem 0 16rem;
	color: var(--color-green);
	opacity: 0;
}

body.doctor header { margin-bottom: 35rem; }

.header-inner { display: flex; justify-content: space-between; }
.header-title { position: relative; color: var(--color-green-logo); white-space: nowrap; }

.header-title > em {
	display: block;
	margin: 0 0 -7rem 1rem;
	font-size: 8.5rem;
	letter-spacing: 0.06em;
}

.header-title .logo { display: inline-block; margin: 0 -14rem 0 0; }
.header-title .logo img { width: 136rem; }

.header-title strong { display: inline-block; transform: translateY(-4rem); }
.header-title strong span {
	display: inline-block;
	background-color: var(--color-white);
	border: 1px solid var(--color-green-logo);
	border-radius: 4rem;
	padding: 3rem 6rem 4rem 6rem;
	font-size: 10rem;
	letter-spacing: 0.08em;
}

_::-webkit-full-page-media, _:future, :root .header-title strong span {
	padding-bottom: 3rem;
}

.header-title strong span em {
	margin-left: 2rem;
	font-size: 8rem;
	letter-spacing: 0.06em;
}

.header-title .tel { display: none; }
header .gnav { display: none; }


/* footer
---------------------------------------------------------------------------*/
footer {
	position: relative;
	margin: 70rem 0 0;
	padding: 70rem 8% 35rem;
}

footer:before {
	display: block;
	content: '';
	position: absolute;
	top: -1px;
	left: 0;
	background: var(--color-bg);
	box-shadow: 0 16rem 9rem rgba(74, 122, 95, 0.8);
	border-radius: 0 0 100rem 100rem;
	width: 100%;
	height: 33rem;
	pointer-events: none;
}

footer .gnav,
footer .bg-gnav { display: none; }

footer,
footer a,
footer button,
footer .gnav > ul > li > a,
footer .gnav > ul > li > button { color: var(--color-text-beige); }

.footer-nav {
	display: flex;
	justify-content: space-between;
	gap: 0 40rem;
	border-bottom: 1px solid rgba(251,250,243,0.2);
	margin: 0 0 35rem;
}

.plist { margin: 0 0 5rem; }
.plist ul { display: flex; flex-wrap: wrap; }

.plist li {
	position: relative;
	margin: 0 20rem 6rem 0;
	font-size: 12rem;
	line-height: 1.6;
	letter-spacing: 0.02em;
}

.plist li:last-of-type { margin-right: 0; }
.plist li:after { display: block; content: '/'; position: absolute; top: 0; right: -13rem; }
.plist li:last-of-type:after { display: none; }
.plist li a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.15em; }

.footer-schedule { margin: 0 -5rem 43rem; }

.footer-info h3 {
	margin-bottom: 24rem;
	font-size: 17rem;
	line-height: 2;
	letter-spacing: 0.1em;
}

.footer-info figure { width: 216rem; margin: 0 0 50rem; }

.info-clinic { position: relative; padding-bottom: 45rem; }
footer .info-clinic { margin-right: -10rem; }

.info-clinic h2 {
	position: relative;
	margin-bottom: 16rem;
	white-space: nowrap;
	transform: scaleX(1);
	vertical-align: bottom;
}

.info-clinic h2 > em {
	display: block;
	margin-bottom: -11rem;
	margin-left: 1rem;
	font-size: 11rem;
	letter-spacing: 0.05em;
}

.info-clinic h2 .logo { display: inline-block !important; margin-right: -21rem; line-height: 1; }
footer .info-clinic h2 .logo { display: block !important; }
.info-clinic h2 .logo a { line-height: 1; }
.info-clinic h2 .logo img { width: 186rem; }

.info-clinic h2 .logo img.dark,
footer .info-clinic h2 .logo img:not(.dark) { display: none; }
footer .info-clinic h2 .logo img.dark { display: block; }

header .info-clinic h2 strong {
	display: inline-block;
	transform: translateY(-8rem);
	white-space: nowrap;
}

.info-clinic h2 strong span {
	border: 1px solid rgba(255,255,255,0.6);
	border-radius: 4.5rem;
	padding: 4rem 4rem 5rem 5rem;
	font-size: 12rem;
	line-height: 1;
	letter-spacing: 0.04em;
}

footer .info-clinic h2 strong span { position: absolute; bottom: 0; left: 170rem; }
.info-clinic h2 strong span em { padding-left: 3rem; font-size: 9rem; }

.info-clinic .tel {
	margin-bottom: 8rem;
	margin-left: 2rem;
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 300;
	font-size: 26rem;
	letter-spacing: 0.08em;
}

.info-clinic .tel span {
	padding-right: 4rem;
	font-variation-settings: "wght" 400;
	font-size: 16rem;
}

.info-clinic .link {
	display: inline-block;
	margin: 12rem 0 5rem 1rem;
	font-size: 12.5rem;
	letter-spacing: 0;
	text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.1em;
}

.info-clinic .link:has(+.link) { margin-right: 8rem; }

.info-clinic .sns { position: absolute; bottom: 0; left: -6rem; }

.sns { display: flex; }
.sns li a { display: block; padding: 5rem; }
.sns li img { width: 24rem; }
footer .sns li:last-of-type { margin-left: 1rem; }

footer .snav { margin: 25rem 0 35rem -2rem; }
footer .snav ul { display: flex; gap: 0 12rem; }

footer .snav li a {
	display: inline-block;
	position: relative;
	background-color: var(--color-white);
	border-radius: 100rem;
	padding: 9rem 19rem 10rem 40rem;
	color: var(--color-green);
	font-size: 15rem;
	letter-spacing: 0.04em;
}

footer .snav li a i {
	display: block;
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 100% auto;
	position: absolute;
	top: 9rem;
	left: 15rem;
	width: 18rem;
	height: 15rem;
}

footer .snav li.snav-access a i { background-image: url(img/share/ico-access.svg); }
footer .snav li.snav-faq a i { background-image: url(img/share/ico-faq.svg); }

.copyright {
	display: block;
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 400;
	font-size: 12rem;
	letter-spacing: 0.07em;
}

/* .schedule
------------------------------------*/
.schedule table {
	background-color: rgba(255,255,255,0.85);
	border-radius: 0 0 8rem 8rem;
	width: 100%;
	color: var(--color-text);
	white-space: nowrap;
}

.schedule table thead tr {
	background: url(img/share/bg-texture-green.jpg?260820) no-repeat left top / cover;
}

.schedule table thead th:first-of-type,
.schedule table thead th:last-of-type { position: relative; }

.schedule table thead th:first-of-type:before,
.schedule table thead th:last-of-type:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	background: url(img/share/bg-texture-green.jpg?260820) no-repeat left top / cover;
	width: 4rem;
	height: 100%;
}

.schedule table thead th:first-of-type:before { left: -3rem; }
.schedule table thead th:last-of-type:after { right: -3rem; background-position: right top; }

.schedule th {
	padding: 14rem 7rem 14rem;
	color: var(--color-text-beige);
	font-weight: 400;
	font-size: 13rem;
	letter-spacing: 0em;
	text-align: center;
	vertical-align: middle;
}

.schedule th:first-of-type {
	padding-right: 20rem;
	padding-left: 15rem;
	letter-spacing: 0.15em;
}

.schedule td {
	padding: 14rem 7rem 12rem;
	text-align: center;
	vertical-align: middle;
}

.schedule td:first-of-type {
	padding-right: 9rem;
	padding-left: 12rem;
	color: var(--color-green);
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 500;
	font-size: 13rem;
	letter-spacing: 0.07em;
	text-align: right;
}

.schedule th:last-of-type,
.schedule td:last-of-type { padding-right: 12rem; }
.schedule tr:last-of-type td { padding-bottom: 21rem; }

.schedule td > div { position: relative; }

.schedule td .triangle {
	display: block;
	width: 14rem;
	margin: -1rem auto 0;
}

_::-webkit-full-page-media, _:future, :root .schedule td .triangle {
	margin-top: 0;
}

.schedule td em {
	display: block;
	position: absolute;
	bottom: -11rem;
	left: 50%;
	transform: translateX(-50%);
	margin-left: -1.5rem;
	/*color: var(--color-text-gray);*/
	font-size: 8rem;
	letter-spacing: 0;
}

.schedule td em.num {
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 400;
	font-size: 9rem;
	letter-spacing: 0.06em;
}

.schedule .attention-list {
	display: flex;
	flex-wrap: wrap;
	gap: 5rem 16rem;
	margin: 12rem 0 0 4rem;
}

.schedule .attention-list li { margin: 0; font-size: 12rem; line-height: 1.4; }

/* .tabel-common
------------------------------------*/
.tabel-common {
	width: calc(100% + 20rem);
	margin: 0 -10rem;
	font-size: 12rem;
	line-height: 1.7;
	letter-spacing: 0;
}

.case-common .tabel-common:not(:first-child) { margin-top: 40rem; }
.case-common .tabel-common:not(:last-child) { margin-bottom: 35rem; }

.tabel-common thead th:first-of-type { border-radius: 6rem 0 0 0; }
.tabel-common thead th:last-of-type { border-radius: 0 6rem 0 0; }
.tabel-common tbody tr:last-of-type th { border-radius: 0 0 0 6rem; }
.tabel-common td:last-of-type { border-radius: 0 0 6rem 0; }

.tabel-common th,
.tabel-common td { padding: 8rem 8rem 16rem; vertical-align: top; }

.tabel-common thead th:first-of-type,
.tabel-common td:first-of-type { padding-left: 16rem; }
.tabel-common thead th:last-of-type,
.tabel-common td:last-of-type { padding-right: 14rem; }

.tabel-common th span,
.tabel-common td span { max-width: none; }

.tabel-common th {
	background-color: var(--color-green);
	border-bottom: 1px solid var(--color-border-white);
	color: #FFFFFF;
	font-weight: 400;
	white-space: nowrap;
}

.tabel-common thead th { padding-top: 9rem; padding-bottom: 9rem; font-size: 13rem; line-height: 1.5; }
.tabel-common thead th.left { text-align: left; }

.tabel-common td {
	background-color: #FFFFFF;
	border-bottom: 1px solid var(--color-border-gray);
	/*text-align: justify;*/
}

.tabel-common tbody tr:last-of-type th,
.tabel-common tr:last-of-type td { border-bottom: none; }


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

/* p
------------------------------------*/
section p { text-align: justify; }
section p br { display: none; }

sup {
	display: inline-block;
	transform: translateY(-0.35em);
	font-size: 0.7em;
}

/* .page-head
------------------------------------*/
.page-head,
.news-area,
.faq-wrap,
.appointment-wrap,
.error-wrap {
	margin: 0 auto;
	padding: 0 7%;
}

.page-head {
	margin-bottom: 75rem;
}

/* .title-page
------------------------------------*/
.title-page { white-space: nowrap; }

.title-page h1,
.title-page h2 {
	display: block;
	margin-bottom: 10rem;
	font-size: 17rem;
	letter-spacing: 0.12em;
}

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

.title-page em {
	display: block;
	margin-left: 2rem;
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 400;
	font-size: 12rem;
	letter-spacing: 0.18em;
}

/* .title-line-en
------------------------------------*/
.title-line-en {
	display: inline-block;
	padding: 0 4rem 0 1rem;
	color: var(--color-green);
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 400;
	font-size: 15rem;
	letter-spacing: 0.06em;
	text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.6em;
}

.title-line-en i { font-size: 23rem; }

/* .dot-list
------------------------------------*/
.dot-list li,
.news-main ul li,
.faq-list dd ul li {
	display: block;
	position: relative;
	margin: 0 0 5rem 3rem;
	padding-left: 12rem;
	font-size: 14rem;
	line-height: 1.7;
	letter-spacing: 0.04em;
}

.dot-list li:last-of-type,
.news-main ul li:last-of-type,
.faq-list dd ul li:last-of-type { margin-bottom: 0 !important; }
.dot-list li:before,
.news-main ul li:before,
.faq-list dd ul li:before { display: block; content: '・'; position: absolute; top: 0; left: 0; }


/* .dot-list-border-white
------------------------------------*/
.dot-list-border-white {
	position: relative;
	padding: 0 0 0 22rem;
}

.dot-list-border-white:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 3rem;
	background-color: #FFFFFF;
	width: 3rem;
	height: calc(100% - 2rem);
}

.dot-list-color li,
.dot-list-border-white li {
	display: block;
	position: relative;
	margin: 0 0 3rem;
	padding-left: 11rem;
	font-size: 13rem;
	line-height: 1.7;
	letter-spacing: 0.04em;
}

.dot-list-color li:before,
.dot-list-border-white li:before {
	display: block;
	content: '';
	position: absolute;
	top: 9rem;
	left: 0;
	background-color: var(--color-green);
	border-radius: 50%;
	width: 4rem;
	height: 4rem;
}

/* .attention-list
------------------------------------*/
.attention-list li {
	position: relative;
	margin: 0 0 10rem;
	padding-left: 14rem;
	font-size: 13rem;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

.attention-list li:last-of-type { margin-bottom: 0; }
.attention-list li:before { display: block; content: '※'; position: absolute; top: 0; left: 0; }
.attention-list li a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.1em; }

/* .num-list
------------------------------------*/
.num-list { counter-reset: count-number; }

.num-list li {
	position: relative;
	margin: 0 0 7px 3px;
	padding-left: 25px;
	font-size: 14rem;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.num-list li:last-of-type { margin-bottom: 0; }
.num-list li:before { display: block; counter-increment: count-number; content: counters(count-number,'.') '.'; position: absolute; top: 0; left: 0; }

/* .faq-list
------------------------------------*/
.faq-list { background: url(img/share/line-dot-gray.svg) repeat-x left top / 5rem auto; }
.faq-list dl { background: url(img/share/line-dot-gray.svg) repeat-x left bottom / 5rem auto; }
.faq-list dt { position: relative; }

.faq-list dt button {
  position: relative;
  width: 100%;
  padding: 18rem 35rem 18rem 35rem;
	color: var(--color-green);
  font-size: 14rem;
  line-height: 1.65;
  letter-spacing: 0.02em;
  text-align: left;
}

.faq-list dt button .ico {
  position: absolute;
  top: 19rem;
  left: 3rem;
	background: url(img/share/btn-plus.svg) no-repeat left top / 100% auto;
	width: 21rem;
	height: 21rem;
	transition: .4s var(--easeOutQuint);
	transform: rotate(0deg);
}

.faq-list dt button.active .ico,
.faq-list dt.active button .ico { transform: rotate(225deg); }

.faq-list dt .arrow {
	position: absolute;
	top: 0;
	right: 0;
	background: url(img/share/ico-arrow-gray.svg) no-repeat right 10rem top 26rem / 6rem auto;
	width: 35rem;
	height: 100%;
	z-index: 2;
}

.case-faq .faq-list dt .arrow { display: none; }

.faq-list dd { display: none; padding: 0 8rem 30rem 3rem; }
.case-faq .faq-list dd { padding-bottom: 35rem; }

.faq-list dd,
.faq-list dd p {
	font-size: 13rem;
	line-height: 1.9;
	letter-spacing: 0.02em;
	text-align: justify;
}

.faq-list dd p { margin-bottom: 10rem; }
.faq-list dd p a { color: var(--color-green); }

/* .sec-common
------------------------------------*/
.sec-common {
	position: relative;
	border-top: 1px solid var(--color-border-gray);
	margin: 0 auto 75rem;
	padding: 75rem 20rem 0;
}

.sec-common:last-child { margin-bottom: 0; }

#accessContents .sec-common {
	width: 91%;
}

.title-sec {
	color: var(--color-green);
	font-size: 14rem;
	letter-spacing: 0.06em;
	white-space: nowrap;
}

.title-sec i:first-of-type { padding-right: 0.5em; }
.title-sec i:last-of-type { padding-left: 0.45em; }

.sec-common .title-sec { position: absolute; top: 10rem; left: 0; }

.title-line {
	margin-bottom: 16rem;
	color: var(--color-green);
	font-size: 16rem;
	letter-spacing: 0.04em;
	text-decoration: underline;
  text-decoration-color: var(--color-border-green-dark);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.35em;
}

.sec-common .dl-wrap .dl-dot-list { margin: 0; }
.sec-common .dl-wrap .dl-dot-list:not(:last-child),
.sec-common .dl-dot-list dl:not(:last-child) { margin-bottom: 15rem; }
.sec-common .dl-dot-list dt,
.sec-common .dl-dot-list dd { padding-left: 22rem; }
.sec-common .dl-dot-list dt { margin-bottom: 5rem; font-size: 14rem; letter-spacing: 0.04em; }
.sec-common .dl-dot-list dt:before { background-color: var(--color-green); top: 10.5rem; width: 4rem; height: 4rem; }
.sec-common .dl-dot-list dd { font-size: 14rem; }

/* .nav-page
------------------------------------*/
.nav-page { margin: 0 auto 35rem; }

.nav-page h2 {
	margin-bottom: 18rem;
	color: var(--color-green);
	font-size: 16rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.nav-page li a { display: block; padding: 0 0 17rem 2rem; }

.nav-page li em {
	display: block;
	margin-bottom: 13rem;
	color: var(--color-green);
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 400;
	font-size: 14rem;
	letter-spacing: 0.09em;
}

.nav-page li em i { padding-left: 4rem; font-size: 23rem; }

.nav-page li strong {
	display: block;
	position: relative;
	padding-left: 18rem;
	font-size: 15rem;
	letter-spacing: 0.08em;
}

.nav-page li strong i {
	display: block;
	position: absolute;
	top: 4rem;
	left: 0;
	background: url(img/share/ico-arrow-down-green.svg) no-repeat left top/ 100% auto;
	width: 7rem;
	height: 11rem;
}

/* .btn-page-nav, .drop-page-nav
------------------------------------*/
.btn-page-nav {
	position: fixed;
	top: 82rem;
  right: 33rem;
	margin: 0 -10rem -10rem;
	padding: 0 10rem 10rem;
	text-align: center;
	white-space: nowrap;
	z-index: 9001;
	transition: .4s var(--easeOutQuart);
	opacity: 1;
}

.btn-page-nav.hidden { margin-right: -10rem; opacity: 0; pointer-events: none; }

.btn-page-nav i { display: block; width: 38rem; transform-origin: center center; }
.btn-page-nav i img { width: 100%; }
.btn-page-nav i span { display: block; width: 38rem; height: 38rem; }

.btn-page-nav i .close { position: absolute; top: 0; left: 10rem; opacity: 0; transform: rotate(180deg);  transition: .1s ease-out; }
.btn-page-nav.active i .close { opacity: 1; transform: rotate(0deg); }

.btn-page-nav strong {
	display: block;
	background: var(--color-bg);
	margin-top: 4rem;
	padding: 2rem 0 2rem 3rem;
	color: var(--color-green);
	font-weight: 600;
	font-size: 10rem;
	letter-spacing: 0.3em;
	transition: .1s ease-out;
}

.btn-page-nav.active strong { opacity: 0; }

.drop-page-nav {
	position: fixed;
	top: 100rem;
	right: 30rem;
	background-color: #FAFAF2;
	border: 1px solid var(--color-border-green-txt);
	border-radius: 6rem;
	padding: 22rem 27rem 22rem;
	z-index: 9000;
	margin-top: -10rem;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	transition: .4s var(--easeOutCubic);
}

.case-head .drop-page-nav { min-width: 238rem; }

.drop-page-nav.active {
	overflow-y: scroll;
  max-height: calc(100dvh - 110rem);
	margin-top: 0;
	visibility: visible;
	opacity: 1;
	pointer-events: all;
}

.drop-page-nav > h2 {
	margin: -5rem 0 25rem -10rem;
	color: var(--color-green);
	font-size: 15rem;
	letter-spacing: 0.1em;
}

.drop-page-nav > ul { display: grid; grid-template-columns: 1fr; gap: 2rem 0; }
.faq-wrap .drop-page-nav > ul > li { order: 3; }
.faq-wrap .drop-page-nav > ul > li:nth-of-type(1) { order: 2; }
.faq-wrap .drop-page-nav > ul > li:nth-of-type(2) { order: 1; }

.drop-page-nav li.parent { padding: 9rem 0 7rem; }

.drop-page-nav li.parent h2,
.drop-page-nav dt {
	margin: 0 0 6rem -2rem;
	color: var(--color-text-gray);
	font-size: 12rem;
	letter-spacing: 0.1em;
}

.drop-page-nav dt {
	margin-bottom: 14rem;
}

.drop-page-nav li.parent h2 i { display: none; }
/*.drop-page-nav li.parent ul { padding: 0 0 0 18rem; }*/

/*.drop-page-nav li a {
	display: inline-block;
	background: url(img/share/ico-arrow-down-green2.svg) no-repeat left top 9rem / 9rem auto;
	padding: 0 10rem 7rem 15rem;
	color: var(--color-green);
	font-size: 14rem;
	line-height: 1.6;
	letter-spacing: 0.06em;
}*/

.drop-page-nav li a {
	display: inline-block;
	position: relative;
	padding: 0 10rem 7rem 15rem;
	color: var(--color-green);
	font-size: 14rem;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

.drop-page-nav li a:before {
	display: block;
	content: '';
	position: absolute;
	top: 9rem;
	left: 0;
	background: url(img/share/ico-arrow-down-green2.svg) no-repeat left top / 9rem auto;
	width: 9rem;
	height: 5rem;
	transition: .1s ease-out;
}

.case-head .drop-page-nav li.current a:before { transform: rotate(-90deg); }
.case-head .drop-page-nav li.up a:before { transform: rotate(-180deg); }
.case-head .drop-page-nav li.down a:before { transform: rotate(0deg); }

.drop-page-nav li a span {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

.drop-page-nav dl:not(:nth-child(2)) { margin-top: 20rem; }
.drop-page-nav .btn-link-txt { margin: 15rem 0 0 -3rem; }


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

/* .news-head
------------------------------------*/
#newsContents:not(.single) .news-head {
	margin-bottom: 2rem;
}

.news-category {
	display: flex;
	position: relative;
	margin: 45rem 0 0 -5rem;
	padding: 30rem 0 0;
}

.news-category ul { display: flex; }

.news-category li a,
.news-category .select { display: inline-block; position: relative; }

.news-category li a,
.news-category .select select {
	display: inline-block;
	background: none;
	border: none;
	padding: 6rem 8rem 6rem 6rem;
	color: var(--color-green);
	font-size: 13rem;
	line-height: 1.7;
	letter-spacing: 0.06em;
}

.news-category li:first-of-type { position: absolute; top: 0; left: 0; }
.news-category li:first-of-type a { font-size: 11rem; }

.news-category li.current a:after,
.news-category .select.current:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 6rem;
	left: 6rem;
	background: var(--color-green);
	width: calc(100% - 15rem);
	height: 1rem;
}

.news-category li:first-of-type.current a:after { bottom: 8rem; }

.news-category select { -webkit-appearance: none; appearance: none; outline: none; }

/* .news-list
------------------------------------*/
.news-list {
	padding: 0 7%;
}

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

.news-list article a {
	display: flex;
	align-items: center;
	margin: 0 -4rem;
	padding: 38rem 4rem 24rem;
}

.news-list figure {
	align-self: flex-start;
  position: relative;
  overflow: hidden;
  width: 105rem;
  min-width: 105rem;
  height: auto;
  aspect-ratio: 4 / 3;
}

.news-list figure img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	border-radius: 6rem;
	width: 100%;
	height: 100%;
}

.news-list figure .noimg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.news-list figure .noimg:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	border: 1px solid var(--color-border-green-txt);
	border-radius: 6rem;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.news-list .txt {
	width: 100%;
	margin: -4rem 0 0 18rem;
}

.news-list time {
	display: block;
	position: absolute;
	top: 20rem;
	left: 6rem;
	font-size: 10rem;
	letter-spacing: 0.1em;
}

.news-list h3 {
	margin-bottom: 10rem;
	color: var(--color-green);
	font-size: 13rem;
	line-height: 1.75;
	letter-spacing: 0.04em;
	text-align: justify;
}

.news-list .category { display: block; }

.news-list .category span,
.news-list-txt .category span {
	display: inline-block;
	background-color: #FFFFFF;
	border: 1px solid var(--color-green);
	border-radius: 3rem;
	padding: 3rem 5.5rem 4rem 7rem;
	color: var(--color-green);
	font-size: 11rem;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.news-list-txt .category span {
	font-size: 11rem;
}


/* news single
---------------------------------------------------------------------------*/
.news-area {
	margin: 0 auto;
}

/* .news-title
------------------------------------*/
.news-title { margin-bottom: 25rem; }
.news-title,
.news-title a { color: var(--color-green); }

.news-title time,
.news-title .post-categories { display: inline-block; font-size: 11rem; }
.news-title time { letter-spacing: 0.1em; }
.news-title .post-categories { position: relative; margin-left: 13rem; letter-spacing: 0.06em; }
.news-title .post-categories:before { display: block; content: '/'; position: absolute; top: 0; left: -10rem; }
.news-title .post-categories li { display: inline-block; }

.news-title h1 {
	display: block;
	padding-top: 15rem;
	font-size: 15rem;
	line-height: 1.7;
	letter-spacing: 0.1em;
}

/* .news-main
------------------------------------*/
.news-main > * { font-family: var(--font-gothic-jp) !important; }

.news-main, .news-main h2, .news-main p {
	font-size: 14rem;
	line-height: 2;
	letter-spacing: 0.04em;
}

.news-main h2,
.news-table h3 {
	display: block;
	margin: 40rem 0 20rem;
	color: var(--color-green);
	font-size: 15rem;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

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

.news-main p { margin-bottom: 25rem; text-align: justify; word-break: break-all; }
.news-main p:last-child { margin-bottom: 0; }
.news-main a { color: var(--color-green); text-decoration: underline; 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% + 10rem) !important; height: auto; margin: 40rem -5rem 40rem !important; }
.news-main p:first-of-type img:first-of-type { margin-top: 10rem !important; }

.news-main .wp-caption { max-width: 100%; margin-bottom: 40rem; }
.news-main .wp-caption-text { margin: -30rem 0 0; font-size: 12rem; }

.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: 20rem 0 30rem; }
.faq-list dd ul, .faq-list dd ol { margin: 20rem 0 30rem; }
.news-main ul { margin-left: 6rem; }
.news-main ol { margin-left: 2rem; }
.news-main ul li { margin-left: -2rem; }

.news-main ol li,
.faq-list dd ol li {
	margin: 0 0 6rem 24rem;
	list-style: decimal;
	font-size: 14rem;
  line-height: 2;
  letter-spacing: 0.04em;
}

.news-main ul li:last-of-type,
.news-main ol li:last-of-type,
.faq-list dd ul li:last-of-type,
.faq-list dd ol li:last-of-type { margin-bottom: 0; }

.news-main blockquote,
.faq-list dd blockquote { background: var(--color-bg-green); margin: 40rem 0; padding: 28rem 36rem; text-align: justify; }
.faq-list dd blockquote { margin: 25rem 0; }
.news-main blockquote p,
.faq-list dd blockquote p { line-height: 1.9; }

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

/* .news-table
------------------------------------*/
.news-table { margin-top: 60rem; }
.news-table h3 { margin: 60rem 0 20rem; }
.news-table h3:first-child { margin-top: 0; }

.news-table table {
	width: 100%;
	margin: 0 0 40rem;
	font-size: 14rem;
	line-height: 1.7;
	letter-spacing: 0.04em;
}

.news-table tr {
	display: block;
	border-bottom: 1px solid var(--color-border);
	padding: 6rem 0 18rem;
}

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

.news-table th,
.news-table td {
	display: block;
}

.news-table th {
	position: relative;
	margin: 0 0 10rem;
	color: var(--color-green);
	font-weight: 400;
	text-align: left;
	vertical-align: top;
}

.news-table td {
	margin: 0 0 0 16rem;
}

.news-table table.right td { text-align: right; }

.news-table-attention {
	display: block;
	margin-top: -26rem;
	font-size: 12rem;
	line-height: 1.7;
	letter-spacing: 0.06em;
}

/* .news-link
------------------------------------*/
.news-link { margin-top: 40rem; }
.news-link li { display: block; margin: 0 0 12rem; }
.news-link li:last-of-type { margin-bottom: 0; }

/* .news-other
------------------------------------*/
.news-other { margin: 140rem auto 0; }

.news-other > h2 {
	margin-bottom: 25rem;
	color: var(--color-green);
	font-size: 15rem;
	letter-spacing: 0.12em;
}

.news-other .btn-link { display: block; margin: 25rem 0 0; }

/* .news-list-txt
------------------------------------*/
.news-list-txt article { border-top: 1px solid var(--color-border); }

.news-list-txt article a {
	display: block;
	position: relative;
	padding: 16rem 0 18rem 2rem;
}

.news-list-txt figure { display: none; }

.news-list-txt time {
	display: block;
	margin-bottom: 8rem;
	font-size: 10rem;
	letter-spacing: 0.1em;
}

.news-list-txt h3 {
	color: var(--color-green);
	font-size: 14rem;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

.news-list-txt .category { display: block; margin-top: 8rem; }

/* .share
------------------------------------*/
.share {
	width: 93%;
	margin: 25rem auto 0;
}

.share h2 {
	margin-bottom: 9rem;
	color: var(--color-green);
	font-size: 13rem;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.share ul {
	display: flex;
	flex-wrap: wrap;
	gap: 5rem;
}

.share li a,
.share li button {
	display: inline-block;
	background-color: #FFFFFF;
	border: 1px solid var(--color-border-gray);
	border-radius: 3rem;
	padding: 8rem 11rem 5rem 11rem;
	color: var(--color-gray-dark);
	font-size: 11rem;
	letter-spacing: 0.04em;
}

.share li img {
	display: inline-block;
	margin-right: 9rem;
	height: 20rem;
	vertical-align: middle;
	transform: translateY(-1rem);
}


/* .wp-pagenavi
---------------------------------------------------------------------------*/
.wp-pagenavi {
	overflow: hidden;
	margin: 60rem 0 0;
	font-size: 15rem;
	text-align: center;
}

.wp-pagenavi a,
.wp-pagenavi .current {
	display: inline-block;
	margin: 0;
	padding: 10rem;
	color: var(--color-green);
}

.wp-pagenavi .current {
	text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}


/* page top
---------------------------------------------------------------------------*/
body.top { position: relative; overflow: hidden; width: 100vw; }
body.top header { position: absolute; top: 0; left: 0; padding-top: 0; z-index: 100; }
body.top .header-title { position: fixed; top: 14rem; left: 16rem; z-index: 10; }
body.top .header-title > em,
body.top .header-title strong { opacity: 0; transition: .15s ease-out; }
body.top .header-title.visible > em,
body.top .header-title.visible strong { opacity: 1; }
body.top .header-title > em { margin-bottom: -9rem; letter-spacing: 0.04em; }

#topContents { overflow: hidden; }
#topContents .btn-link.size-l a { padding-top: 14rem; padding-bottom: 15rem; letter-spacing: 0.1em; }

/* .top-intro
------------------------------------*/
.top-intro {
	overflow: hidden;
	position: fixed;
	top: 0;
	left: 0;
	background: url(img/top/bg-intro_sp.jpg) no-repeat center center / 100% 100%;
	width: 100vw;
	height: 100dvh;
	z-index: 11000;
	opacity: 0;
}

.top-intro h2 {
	position: absolute;
	bottom: 49%;
	left: 12%;
	transform: translate(0,-50%) scaleX(1.03) !important;
	color: var(--color-white);
	font-size: 18rem;
	letter-spacing: 0.15em;
	white-space: nowrap;
	z-index: 10;
}

.top-intro h2 span { display: block; overflow: hidden; line-height: 1; }
.top-intro h2 span:not(:last-child) { margin-bottom: 15rem; }
.top-intro h2 span i { display: inline-block; transform: translateY(100rem); }

.top-intro .pic { position: absolute; opacity: 0; }

.top-intro .pic1 { bottom: -4%; right: -5.5%; z-index: 7; transform-origin: right bottom; }
.top-intro .pic2 { bottom: 39%; right: 0; z-index: 3; transform-origin: right bottom; }
.top-intro .pic3 { bottom: calc(74% + 13.5vh); right: calc(17% + 7vh); z-index: 0; }
.top-intro .pic4 { bottom: 65%; left: 0; z-index: 2; transform-origin: left bottom; }
.top-intro .pic5 { bottom: 0; left: 0; z-index: 6; transform-origin: left bottom; }
.top-intro .pic6 { bottom: 22.5%; left: -2%; z-index: 5; transform-origin: left bottom; }
.top-intro .tree { bottom: 74%; right: 17%; z-index: 1; opacity: 1; }
.top-intro .grass { bottom: 34%; right: 0; z-index: 4; opacity: 1; }

.top-intro .pic1 img { max-width: 47vw; max-height: 34dvh; transform: rotate(-10deg); }
.top-intro .pic2 img { max-width: 30.5vw; max-height: 20dvh; }
.top-intro .pic3 img { max-width: 14vw; max-height: 10dvh; transform: rotate(4deg); }
.top-intro .pic4 img { max-width: 29.5vw; max-height: 20dvh; }
.top-intro .pic5 img { max-width: 50vw; max-height: 33dvh; }
.top-intro .pic6 img { max-width: 33vw; max-height: 19dvh; transform: rotate(-4deg); }
.top-intro .tree img { max-width: 30vw; max-height: 19dvh; }
.top-intro .grass img { max-width: 33.5vw; max-height: 12dvh; }

@media (max-height: 580px) {
	
}

/* .top-main
------------------------------------*/
.top-main {
	position: relative;
	overflow: hidden;
	width: 100vw;
	height: calc(100dvh + 70rem);
	margin: 0;
	padding: 0 0 70rem;
	opacity: 0;
}

.top-main .txt {
	color: var(--color-green);
	z-index: 9;
	white-space: nowrap;
}

.top-main .txt h2 {
	position: absolute;
	top: 18rem;
	right: 12rem;
	font-size: 13rem;
	line-height: 1.7;
	letter-spacing: 0.08em;
	text-align: right;
}

.top-main .txt h3 {
	position: absolute;
	bottom: calc(18rem + 70rem);
	left: 20rem;
	font-size: 13rem;
	line-height: 1.75;
	letter-spacing: 0.06em;
}

.top-main .txt nav {
	position: absolute;
	bottom: calc(50rem + 70rem);
	left: 20rem;
	z-index: 2;
}

.top-main .txt nav .slick-track {
	display: flex;
	flex-wrap: wrap;
	width: 260rem !important;
	transform: none !important;
}

.top-main .txt li { float: none; font-size: 13rem; letter-spacing: 0.1em; }
.top-main .txt li:nth-child(odd) { width: 113rem !important; }
.top-main .txt li:nth-child(even) { width: 130rem !important; }
.top-main .txt li button { position: relative; padding: 6rem 0 5rem 22rem; }
.top-main .txt li button span { letter-spacing: 0.04em; }
.top-main .txt li span { transform: translateY(1rem); }

.top-main .txt li i {
	display: block;
	position: absolute;
	top: -1rem;
	left: 0;
	background: url(img/share/ico-check-not.svg) no-repeat left top / 100% auto;
	width: 19rem;
	height: 20rem;
	transform: rotateY(180deg) translateX(4.2rem);
	transition: .2s ease-out;
}

.top-main .txt li.slick-current i {
	background-image: url(img/share/ico-check-green.svg);
	transform: rotateY(0deg) translateX(0rem);
}

.top-main-news { display: none !important; }

/* .top-case
------------------------------------*/
.top-case { width: 100%; height: 100%; opacity: 0; }

.top-case-slide,
.top-case-slide .slick-list,
.top-case-slide .slick-track { width: 100%; height: 100%; overflow: inherit; }

.top-case-slide .slick-arrow {
	position: absolute;
	top: 0;
	width: 15vw;
	height: 100%;
	text-indent: -9999px;
	z-index: 2;
}

.top-case-slide .slick-prev { left: 0; }
.top-case-slide .slick-next { right: 0; }

.top-case article { position: relative; height: 100%; }

.top-case article .inner {
	position: absolute;
	bottom: 54%;
	left: 50%;
	transform: translate(-50%,50%) !important;
	width: 62vw;
	max-width: 39vh;
	font-family: var(--font-serif-jp);
}

@media (max-height: 630px) {
	.top-case article .inner {
		max-width: 37vh;
	}
};

.top-case article a { display: block; position: relative; pointer-events: none; }
.top-case article.slick-current a { pointer-events: all; }

.top-case article .img {
	position: relative;
	background: url(img/case/pic-case-frame.jpg) no-repeat center center / cover;
	width: 100%;
	height: 0;
	padding-bottom: 122%;
	filter: drop-shadow(7rem 7rem 1rem rgba(0,0,0,0.13));
	transform-origin: center center;
	transition: .4s var(--easeOutCubic);
}

.top-case article.prev .img { transform: scale(0.5) translate(100rem,-500rem) rotate(-14deg); }
.top-case article.next .img { transform: scale(0.5) translate(-100rem,500rem) rotate(-14deg); }

.top-case article figure {
	position: absolute;
	top: 8rem;
	left: 8rem;
	background: url(img/case/pic-case-frame-bg.jpg) no-repeat center center / cover;
	width: calc(100% - 16rem);
	height: calc(100% - 16rem);
	z-index: 1;
}

.top-case article.scale-left a {
	animation: anime_top_case_figure_left .35s var(--easeOutQuart) .15s forwards;
}

@keyframes anime_top_case_figure_left {
	0% { transform: translate(0rem,0rem) rotate(0deg); }
	25% { transform: translate(-30rem,-20rem) rotate(3deg); }
	100% { transform: translateX(0rem,0rem) rotate(0deg); }
}

.top-case article.scale-right a {
	animation: anime_top_case_figure_right .35s var(--easeOutQuart) .15s forwards;
}

@keyframes anime_top_case_figure_right {
	0% { transform: translate(0rem,0rem) rotate(0deg); }
	25% { transform: translate(30rem,20rem) rotate(-4deg); }
	100% { transform: translateX(0rem,0rem) rotate(0deg); }
}

.top-case article.case1 figure > span { transform-origin: center bottom; }
.top-case article.case2 figure > span { transform-origin: center bottom; }
.top-case article.case3 figure > span { transform-origin: center bottom; }
.top-case article.case4 figure > span { transform-origin: left top; }
.top-case article.case5 figure > span { transform-origin: left bottom; }
.top-case article.case6 figure > span { transform-origin: left bottom; }

.top-case article figure > span {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.top-case article.case1.scale figure > span,
.top-case article.case5.scale figure > span,
.top-case article.case6.scale figure > span { animation: anime_top_case_scale1 .65s var(--easeOutCubic) forwards; }

@keyframes anime_top_case_scale1 {
	0% { transform: scale(1); }
	15% { transform: scale(0.9); }
	35% { transform: scale(1.15); }
	100% { transform: scale(1); }
}

.top-case article.case3.scale figure > span { animation: anime_top_case_scale2 .65s var(--easeOutCubic) forwards; }

@keyframes anime_top_case_scale2 {
	0% { transform: scale(1); }
	15% { transform: scale(0.9); }
	35% { transform: scale(1.05); }
	100% { transform: scale(1); }
}

.top-case article.case4.scale figure > span { animation: anime_top_case_scale3 .65s var(--easeOutCubic) forwards; }

@keyframes anime_top_case_scale3 {
	0% { transform: scale(1); }
	15% { transform: scale(0.9); }
	35% { transform: scale(1.1); }
	100% { transform: scale(1); }
}

.top-case article.case2.scale figure > span { animation: anime_top_case_scale_y .65s var(--easeOutCubic) forwards; }

@keyframes anime_top_case_scale_y {
	0% { transform: scaleY(1); }
	15% { transform: scaleY(0.9); }
	35% { transform: scaleY(1.1); }
	100% { transform: scaleY(1); }
}

.top-case article.after figure .pic1 { animation: anime_top_case_pic1_after 7s linear forwards; }
.top-case article.after figure .pic2 { animation: anime_top_case_pic2_after 7s linear forwards; }

@keyframes anime_top_case_pic1_after {
	0% { opacity: 1; }
	5% { opacity: 1; }
	5.1% { opacity: 0; }
	12% { opacity: 0; }
	12.1% { opacity: 1; }
	100% { opacity: 1; }
}

@keyframes anime_top_case_pic2_after {
	0% { opacity: 0; }
	5% { opacity: 0; }
	5.1% { opacity: 1; }
	12% { opacity: 1; }
	12.1% { opacity: 0; }
	100% { opacity: 0; }
}

.top-case article figure img { display: block; position: absolute; }
.top-case article figure picture { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; }

.top-case article.case1 .pic1 img { width: 55.5%; bottom: 0; left: 26%; transform-origin: center bottom; }
.top-case article.case1 .pic2 img { width: 94%; bottom: 0; left: 3%; transform-origin: center bottom; }

.top-case article.case2 .pic1 img { width: 100%; bottom: 0; left: 0; transform-origin: center bottom; }
.top-case article.case2 .pic2 img { width: 100%; bottom: 0; left: 0; transform-origin: center bottom; }

.top-case article.case3 .pic1 img { width: 77%; bottom: -5.3%; left: 5%; transform-origin: center bottom; }
.top-case article.case3 .pic2 img { width: 97%; bottom: -7%; left: -7%; transform-origin: center bottom; }

.top-case article.case4 .pic1 img { width: 110%; top: 0; left: 0; transform-origin: left top; }
.top-case article.case4 .pic2 img { width: 110%; top: 0; left: 0; transform-origin: left top; }

.top-case article.case5 .pic1 img { width: 100%; bottom: 0; left: 0; transform-origin: left bottom; }
.top-case article.case5 .pic2 img { width: 111%; bottom: 0; left: 0; transform-origin: left bottom; }

.top-case article.case6 .pic1 img { width: 94%; bottom: 0; left: 0; transform-origin: left bottom; }
.top-case article.case6 .pic2 img { width: 110%; bottom: 0; left: 0; transform-origin: left bottom; }

.top-case article figure .pic2 { opacity: 0; }
.top-case article.active figure .pic1 { opacity: 0; }
.top-case article.active figure .pic2 { opacity: 1; }

.top-case article.case1.active figure .pic1,
.top-case article.case2.active figure .pic1 { animation: anime_top_case_pic1_fast 7s linear infinite; }
.top-case article.case1.active figure .pic2,
.top-case article.case2.active figure .pic2 { animation: anime_top_case_pic2_fast 7s linear infinite; }

.top-case article.case3.active figure .pic1,
.top-case article.case4.active figure .pic1,
.top-case article.case5.active figure .pic1,
.top-case article.case6.active figure .pic1 { animation: anime_top_case_pic1_slow 7s linear infinite; }
.top-case article.case3.active figure .pic2,
.top-case article.case4.active figure .pic2,
.top-case article.case5.active figure .pic2,
.top-case article.case6.active figure .pic2 { animation: anime_top_case_pic2_slow 7s linear infinite; }

@keyframes anime_top_case_pic1_fast {
	0% { opacity: 0; }
	
	25% { opacity: 0; }
	25.1% { opacity: 1; }
	30% { opacity: 1; }
	30.1% { opacity: 0; }
	
	32% { opacity: 0; }
	32.1% { opacity: 1; }
	37% { opacity: 1; }
	37.1% { opacity: 0; }
	
	60% { opacity: 0; }
	60.1% { opacity: 1; }
	64% { opacity: 1; }
	64.1% { opacity: 0; }

	86% { opacity: 0; }
	86.1% { opacity: 1; }
	91% { opacity: 1; }
	91.1% { opacity: 0; }
	
	93% { opacity: 0; }
	93.1% { opacity: 1; }
	99.9% { opacity: 1; }
	100% { opacity: 0; }
}

@keyframes anime_top_case_pic2_fast {
	0% { opacity: 1; }
	
	25% { opacity: 1; }
	25.1% { opacity: 0; }
	30% { opacity: 0; }
	30.1% { opacity: 1; }
	
	32% { opacity: 1; }
	32.1% { opacity: 0; }
	37% { opacity: 0; }
	37.1% { opacity: 1; }
	
	60% { opacity: 1; }
	60.1% { opacity: 0; }
	64% { opacity: 0; }
	64.1% { opacity: 1; }

	86% { opacity: 1; }
	86.1% { opacity: 0; }
	91% { opacity: 0; }
	91.1% { opacity: 1; }
	
	93% { opacity: 1; }
	93.1% { opacity: 0; }
	99.9% { opacity: 0; }
	100% { opacity: 1; }
}

@keyframes anime_top_case_pic1_slow {
	0% { opacity: 0; }
	
	25% { opacity: 0; }
	25.1% { opacity: 1; }
	28% { opacity: 1; }
	28.1% { opacity: 0; }
	
	65% { opacity: 0; }
	65.1% { opacity: 1; }
	70% { opacity: 1; }
	70.1% { opacity: 0; }
	100% { opacity: 0; }
}

@keyframes anime_top_case_pic2_slow {
	0% { opacity: 1; }
	
	25% { opacity: 1; }
	25.1% { opacity: 0; }
	28% { opacity: 0; }
	28.1% { opacity: 1; }
	
	65% { opacity: 1; }
	65.1% { opacity: 0; }
	70% { opacity: 0; }
	70.1% { opacity: 1; }
	100% { opacity: 1; }
}

.top-case article .title {
	position: absolute;
	right: 21rem;
	z-index: 2;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
	transform: translateY(20rem);
	opacity: 0;
}

.top-case article.active .title { transform: translateY(0rem); opacity: 1; }

.top-case article.case1 .title { bottom: 21rem; }
.top-case article.case2 .title { bottom: 21rem; }
.top-case article.case3 .title { top: 21rem; }
.top-case article.case4 .title { bottom: 21rem; left: 21rem; right: inherit; }
.top-case article.case5 .title { bottom: 21rem; }
.top-case article.case6 .title { bottom: 21rem; }

.top-case article.case4 .title em { position: absolute; top: 0; right: -30rem; }

.top-case article .title,
.top-case article .en {
	transition: .4s var(--easeOutCubic);
	transition-delay: 0s;
}

.top-case article .title h2,
.top-case article .title em {
	color: var(--color-green);
	line-height: 1;
}

.top-case article .title h2 {
	position: relative;
	margin: -3rem 0 0;
	padding: 0 2rem 9rem;
	font-size: 19rem;
	letter-spacing: -0.42em;
	z-index: 1;
	text-shadow: 0 0 0 var(--color-green);
}

_::-webkit-full-page-media, _:future, :root .top-case article .title h2 {
	margin-top: 0;
	padding-top: 3rem;
	letter-spacing: 0;
}

.top-case article .title h2:after {
	display: block;
	content: '';
	position: absolute;
	top: 3rem;
	left: 0;
	background-color: #FFFFFF;
	width: 100%;
	height: calc(100% - 4rem);
	z-index: -1;
}

_::-webkit-full-page-media, _:future, :root .top-case article .title h2:after {
	top: 0;
}

_::-webkit-full-page-media, _:future, :root .top-case article .title h2 i {
	display: inline-block;
	transform: rotate(93deg);
}

.top-case article .title em {
	display: inline-block;
	background-color: #FFFFFF;
	margin: 0 9rem 0 0;
	padding: 4rem 0rem 3rem 2rem;
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 400;
	font-size: 9rem;
	letter-spacing: 0.12em;
}

.top-case article .en {
	position: absolute;
	left: 17rem;
	z-index: 1;
	transform: translateX(15rem);
	opacity: 0;
}

.top-case article .en img { position: static; width: 83rem; }
.top-case article.active .en { transform: translateX(0rem); opacity: 1; }

.top-case article.case1 .en { bottom: 20rem; }
.top-case article.case2 .en { bottom: 20rem; }
.top-case article.case3 .en { bottom: 20rem; }
.top-case article.case4 .en { top: 24rem; }
.top-case article.case5 .en { bottom: 20rem; }
.top-case article.case6 .en { bottom: 20rem; }

.top-case article li {
	position: absolute;
	color: var(--color-green);
	font-size: 21rem;
	line-height: 1.55;
	letter-spacing: -0.42em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
	text-shadow: 0 0 0 var(--color-green);
	opacity: 0;
	transform: translateY(5rem);
}

_::-webkit-full-page-media, _:future, :root .top-case article li {
	letter-spacing: 0;
}

.top-case article.active li {
	opacity: 1;
	transform: translateY(0rem);
	transition: .2s var(--easeOutCubic);
	will-change: transform;
}

_::-webkit-full-page-media, _:future, :root .top-case article.active li i {
	display: inline-block;
	transform: translate(0.6em,-0.5em);
}

.top-case article.active li:nth-of-type(1) { transition-delay: 0.15s; }
.top-case article.active li:nth-of-type(2) { transition-delay: 0.2s; }

.top-case article li > span { display: block; }
.top-case article.active li:nth-of-type(1) span { animation: anime_top_case_li1 2.4s linear 0.15s infinite; }
.top-case article.active li:nth-of-type(2) span { animation: anime_top_case_li2 2.4s linear 0s infinite; }

@keyframes anime_top_case_li1 {
	0%   { transform: translateX(0rem); }
	20%  { transform: translateX(0rem); }
	22%  { transform: translateX(1rem); }
	24%  { transform: translateX(-1rem); }
	26%  { transform: translateX(1rem); }
	28%  { transform: translateX(0rem); }
	30%  { transform: translateX(0rem); }
	32%  { transform: translateX(-1rem); }
	34%  { transform: translateX(1rem); }
	36%  { transform: translateX(-1rem); }
	38%  { transform: translateX(0rem); }
	100% { transform: translateX(0rem); }
}
@keyframes anime_top_case_li2 {
	0%   { transform: translateX(0rem); }
	20%  { transform: translateX(0rem); }
	22%  { transform: translateX(-1rem); }
	24%  { transform: translateX(1rem); }
	26%  { transform: translateX(-1rem); }
	28%  { transform: translateX(0rem); }
	30%  { transform: translateX(0rem); }
	32%  { transform: translateX(1rem); }
	34%  { transform: translateX(-1rem); }
	36%  { transform: translateX(1rem); }
	38%  { transform: translateX(0rem); }
	100% { transform: translateX(0rem); }
}

.top-case article.case1 li:nth-of-type(1),
.top-case article.case2 li:nth-of-type(2),
.top-case article.case3 li:nth-of-type(1),
.top-case article.case4 li:nth-of-type(2),
.top-case article.case5 li:nth-of-type(2),
.top-case article.case6 li:nth-of-type(2) { top: -48rem; right: -52rem; }
.top-case article.case1 li:nth-of-type(2),
.top-case article.case2 li:nth-of-type(1),
.top-case article.case3 li:nth-of-type(2),
.top-case article.case4 li:nth-of-type(1),
.top-case article.case5 li:nth-of-type(1),
.top-case article.case6 li:nth-of-type(1) { bottom: -33rem; left: -52rem; }
.top-case article li:nth-of-type(3) { display: none !important; }

@media (max-height: 630px) {
	.top-case article.case1 li:nth-of-type(1),
	.top-case article.case2 li:nth-of-type(2),
	.top-case article.case3 li:nth-of-type(1),
	.top-case article.case4 li:nth-of-type(2),
	.top-case article.case5 li:nth-of-type(2),
	.top-case article.case6 li:nth-of-type(2) { top: -10rem;; }
	.top-case article.case1 li:nth-of-type(2),
	.top-case article.case2 li:nth-of-type(1),
	.top-case article.case3 li:nth-of-type(2),
	.top-case article.case4 li:nth-of-type(1),
	.top-case article.case5 li:nth-of-type(1),
	.top-case article.case6 li:nth-of-type(1) { bottom: -10rem;; }
}

/* .top-lead
------------------------------------*/
.top-lead { position: relative; padding: 0 8%; opacity: 0; }

.nav-pic-case {
	position: relative;
	margin: 0 -12% 45rem -15%;
}

.nav-pic-case .island {
	position: relative;
	z-index: 0;
	transform-origin: center bottom;
}

.nav-pic-case .momonga {
	position: absolute;
	top: -26rem;
	left: 42rem;
	width: 50rem;
	z-index: 10;
	opacity: 0;
}

.nav-pic-case .momonga a span {
	display: block;
}

.nav-pic-case .momonga img {
	transform: rotate(10deg);
}

.nav-pic-case .momonga .btn-wrap {
	position: absolute;
	top: 55rem;
	left: -10rem;
	margin-top: -5rem;
}

.nav-pic-case .momonga .btn-wrap,
.nav-pic-case .case .fukidashi {
	visibility: hidden;
	pointer-events: none;
	opacity: 0;
	transition: .15s var(--easeOutCubic);
	will-change: transform;
}

.nav-pic-case.active .momonga.active .btn-wrap,
.nav-pic-case.active .case.active .fukidashi {
	margin-top: 0;
	visibility: visible;
	pointer-events: all;
	opacity: 1;
}

.nav-pic-case .case {
	position: absolute;
	transform-origin: center bottom;
	opacity: 0;
}

.nav-pic-case .momonga a,
.nav-pic-case .case a {
	display: block;
	position: relative;
	opacity: 1 !important;
	pointer-events: none;
}

.nav-pic-case .momonga.active a,
.nav-pic-case .case.active a {
	pointer-events: all;
}

.nav-pic-case .btn {
	position: relative;
	background-color: #31783A;
	border: 1px solid var(--color-white);
	border-radius: 50rem;
	padding: 3rem 18rem 3rem 10rem;
	color: var(--color-white);
	font-size: 10rem;
	letter-spacing: 0.02em;
	white-space: nowrap;
	z-index: 1;
}

.nav-pic-case .btn:after {
	display: block;
	content: '';
	position: absolute;
	top: 4rem;
	right: 7rem;
	background: url(img/share/ico-arrow-white.svg) no-repeat left top / 100% auto;
	width: 4rem;
	height: 8rem;
	transform: rotate(-90deg);
}

.nav-pic-case .case .btn {
	position: absolute;
	/*opacity: 0;*/
}

.nav-pic-case .case .fukidashi {
	position: absolute;
	top: -145rem;
	left: -20rem;
	width: 104rem;
	margin-top: 10rem;
	z-index: 2;
}

.nav-pic-case .case .fukidashi > div {
	position: relative;
	background: url(img/share/bg-pattern-noise.png), #FFF7E9;
	background-repeat: repeat, no-repeat;
	background-position: left top;
	background-size: 120rem 120rem, cover;
	background-blend-mode: color-burn, normal;
	border-radius: 4rem;
	box-shadow: 0 3rem 3rem rgba(0, 0, 0, 0.25);
	padding: 11rem;
}

.nav-pic-case .case .fukidashi:after {
	display: block;
	content: '';
	position: absolute;
	bottom: -8rem;
  background: url(img/share/mnav-fukidashi-beige.png) no-repeat left top / 100% auto;
	width: 9rem;
	height: 14rem;
	transform: rotate(180deg);
}

.nav-pic-case .case3 .fukidashi { left: -30rem; }
.nav-pic-case .case4 .fukidashi { top: -140rem; }
.nav-pic-case .case5 .fukidashi { top: -135rem; left: 15rem; }
.nav-pic-case .case6 .fukidashi { top: -140rem; }

.nav-pic-case .case1 .fukidashi:after { left: 30rem; }
.nav-pic-case .case2 .fukidashi:after { left: 45rem; }
.nav-pic-case .case3 .fukidashi:after { left: 38rem; }
.nav-pic-case .case4 .fukidashi:after { left: 56rem; }
.nav-pic-case .case5 .fukidashi:after { left: 26rem; }
.nav-pic-case .case6 .fukidashi:after { left: 48rem; }

.nav-pic-case .case .fukidashi figure {
	background: url(img/case/pic-case-frame.jpg) no-repeat left top / cover;
	width: 83rem;
	min-width: 83rem;
	padding: 3rem;
}

.nav-pic-case .case .fukidashi .txt {
	white-space: nowrap;
}

.nav-pic-case .case .fukidashi .txt em,
.nav-pic-case .case .fukidashi .txt p {
	display: none;
}

.nav-pic-case .case .fukidashi .txt strong {
	display: block;
	margin-top: 9rem;
	text-align: center;
	color: var(--color-green);
	font-size: 11rem;
	letter-spacing: 0;
}

.nav-pic-case .case1 { top: 38vw; left: 74.2vw; z-index: 3; }
.nav-pic-case .case1 a > img { width: 26.5vw; }
.nav-pic-case .case1 .btn { top: 32.5vw; left: 3.5vw; }

.nav-pic-case .case2 { top: 83vw; left: 46vw; z-index: 6; }
.nav-pic-case .case2 a > img { width: 15vw; }
.nav-pic-case .case2 .btn { top: 7.2vw; left: -6.5vw; }

.nav-pic-case .case3 { top: 61vw; left: 49vw; z-index: 4; }
.nav-pic-case .case3 a > img { width: 8vw; }
.nav-pic-case .case3 .btn { top: 7.5vw; left: -13vw; }

.nav-pic-case .case4 { top: 54.5vw; left: 23vw; z-index: 1; }
.nav-pic-case .case4 a > img { width: 15vw; }
.nav-pic-case .case4 .btn { top: -4.5vw; left: -15.5vw; }

.nav-pic-case .case5 { top: 66.8vw; left: 3vw; z-index: 2; }
.nav-pic-case .case5 a > img { width: 33.5vw; }
.nav-pic-case .case5 .btn { top: 14.5vw; left: 5.5vw; }

.nav-pic-case .case6 { top: 81vw; left: 72.5vw; z-index: 5; }
.nav-pic-case .case6 a > img { width: 11.5vw; }
.nav-pic-case .case6 .btn { top: 14vw; left: -1.5vw; }

.top-lead h2 {
	margin: 0 0 80rem 1%;
	color: var(--color-green);
	font-size: 20rem;
	line-height: 2.15;
	letter-spacing: 0.21em;
	text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.3em;
}

.top-lead h3 {
	margin: 0 0 20rem;
	color: var(--color-green);
	font-size: 19rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.top-lead h3 em { display: block; margin-bottom: 10rem; font-size: 12rem; letter-spacing: 0.16em; }
.top-lead .btn-link { margin-top: 12rem; }

/* .top-about
------------------------------------*/
.top-about { margin: 80rem auto 70rem; padding: 0 7.5%; }

.top-about .img {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20rem 0;
	width: 100%;
	margin-bottom: 35rem;
}

.top-about .txt { padding: 0 4rem; }

.top-about .txt h2,
.top-about .txt h3 {
	margin-bottom: 18rem;
	color: var(--color-green);
	font-size: 18rem;
	line-height: 1.85;
	letter-spacing: 0.1em;
}

.top-about .txt h3 { margin-top: 35rem; }
.top-about .txt .btn-link { margin: 16rem 0 0; }

/* .top-link
------------------------------------*/
.top-link {
	width: 90%;
	margin: -40rem auto 70rem;
}

.top-link ul {
	margin-top: 7rem;
}

.top-link li a {
	display: inline-block;
	padding: 0 0 0 16rem;
	color: var(--color-green);
	font-size: 12rem;
	letter-spacing: 0.08em;
	text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.1em;
}

.top-link li a:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 2rem;
	background: url(img/share/ico-arrow-green2.svg) no-repeat left top / 100% auto;
	width: 5rem;
	height: 14rem;
	transform: scale(1.5, 0.6);
}

/* .top-img-staff
------------------------------------*/
.top-img-staff { width: 100%; margin: 0 auto 38rem; }

/* .top-news
------------------------------------*/
.top-news { padding: 0 7.5%; }

.top-news h2 {
	margin-bottom: 24rem;
	color: var(--color-green);
	font-size: 16rem;
	letter-spacing: 0.1em;
}

.top-news .news-list-txt {
	border-bottom: 1px solid var(--color-border);
	margin-bottom: 30rem;
}

/* .top-appointment
------------------------------------*/
.top-appointment {
	background-color: var(--color-border-green-light);
	margin: 70rem -2rem 35rem;
	padding: 28rem 24rem 32rem;
}

.top-appointment p { padding: 0 3rem; line-height: 1.85; letter-spacing: 0.02em; }
.top-appointment .btn-link { margin-top: 6rem; }
.top-appointment .btn-link a { font-size: 14rem; letter-spacing: 0.08em !important; }


/* page about
---------------------------------------------------------------------------*/
body.about header,
body.appointment header { position: absolute; top: 0; left: 0; z-index: 10; }
#aboutContents { overflow: hidden; }

/* .about-main
------------------------------------*/
.about-main { overflow: hidden; width: 100%; margin-bottom: 50rem; }
.slide-about-main { display: flex; }
.slide-about-main figure {
	width: 570rem !important;
	min-width: 570rem !important;
	padding: 0 1rem;
}

/* .about-common 
------------------------------------*/
.about-common { position: relative; }

.about-lead figure img,
.about-feature figure img,
.about-system figure img { border-radius: 6rem; }

.about-common h2 { margin-bottom: 10rem; font-size: 12rem; letter-spacing: 0.12em; }
.about-introduction h2,
.about-message h2 { font-size: 14rem; }

.about-common h3,
.about-common h4 {
	margin-bottom: 20rem;
	color: var(--color-green);
	font-size: 18rem;
	line-height: 1.75;
	letter-spacing: 0.14em;
}

.about-common p { margin-bottom: 13rem; }
.about-common .btn-link { max-width: calc(100% + 8rem); margin: 18rem auto 0; transform-origin: center center; }

/* .about-lead
------------------------------------*/
.about-lead { margin: 0 auto 115rem; padding: 0 8%; }
.about-lead figure { margin-top: 60rem; }
.about-lead h2 { margin-bottom: 10rem; font-size: 14rem; }
.about-lead h3 { margin-bottom: 21rem; font-size: 19rem; line-height: 1.85; letter-spacing: 0.16em; }
.about-lead p br { display: block !important; }

/* .about-doctor
------------------------------------*/
.about-doctor { position: relative; margin: 0 auto 85rem; }

.about-doctor .img { position: relative; }
.about-doctor .img figure { margin: 0 -1rem 65rem -8rem; }
.about-doctor .img figure img { width: 100%; }
.about-doctor .img .pic-momonga { position: absolute; top: -27rem; left: 32rem; }
.about-doctor .img .pic-momonga img { display: block; width: 48rem; transform: rotate(10deg); }

.about-doctor .txt { padding: 0 9%; text-align: center; }
.about-doctor .txt p { letter-spacing: 0.02em; }

/* .about-feature
------------------------------------*/
.about-feature { margin: 0 auto 45rem; padding: 0 7%; }
.about-feature figure { position: relative; margin-bottom: 77rem; }

.about-feature figure .img1 {
	display: block;
	width: 47vw;
	margin-left: -5vw;
}

.about-feature figure .img2 {
	display: block;
	position: absolute;
	top: 31.7vw;
	right: -4vw;
	width: 36.5vw;
}

.about-feature .txt h2 { margin-bottom: 20rem; }
.about-feature .txt h3 { margin-bottom: 16rem; }
.about-feature .txt p { letter-spacing: 0.02em; white-space: nowrap; }
.about-feature .txt p br { display: block; }
.about-feature .txt .btn-link.size-l a { letter-spacing: 0.1em; }

.about-feature .img3 { width: 62.7vw; margin-top: 120rem; margin-bottom: 0; }

/* .about-system
------------------------------------*/
.about-system { margin: 0 auto 80rem; padding: 0 9%; }

.about-system figure {
	position: relative;
	margin-top: 110rem;
	padding-top: 53vw;
}

.about-system figure .img1 {
	position: absolute;
	top: 0;
	right: -5vw;
	width: 63.7vw;
}

.about-system figure .img2 {
	width: 59.5vw;
	margin-left: -4vw;
}

.about-system .txt { margin: 0; }
.about-system .txt h2 { margin-bottom: 20rem; }
.about-system .btn-wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 14rem;
	margin: 30rem -4rem 0;
}
.about-system .btn-wrap .btn-link { width: 100%; margin: 0; }

/* ,about-movie
------------------------------------*/
.about-movie {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: auto;
  aspect-ratio: 16 / 9;
	margin: 0 auto 70rem;
}

.about-movie video { position: absolute; width: 100%; height: 100%; z-index: 0; }

.about-movie .cover {
	position: absolute;
	top: 0;
	left: 0;
	background-color: rgba(24,55,31,0.38);
	width: 100%;
	height: 100%;
	z-index: 1;
}

.btn-movie-play {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) !important;
	padding-top: 10rem;
	text-align: center;
	white-space: nowrap;
	z-index: 2;
}

.btn-movie-play img { display: block; width: 58rem; margin: 0 auto 6rem; }

.btn-movie-play span {
	display: block;
	color: var(--color-bg-white-yellow);
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 400;
	font-size: 17rem;
	letter-spacing: 0.17em;
}

.btn-movie-play em {
	display: block;
	margin-top: 14rem;
	color: var(--color-bg-white-yellow);
	font-size: 10rem;
	letter-spacing: 0.1em;
}

/* .modal-movie
------------------------------------*/
.modal-movie {
	position: fixed;
	top: 0;
	left: 0;
	background: rgba(236,228,214,0.9);
	width: 100%;
	height: 100vh;
	pointer-events: none;
	visibility: hidden;
	opacity: 0;
	z-index: 10010;
	transition: .3s var(--easeOutQuart);
}

.modal-movie.active { pointer-events: all; visibility: visible; opacity: 1; }

.modal-movie-close {
	position: absolute;
	top: 0;
	right: 0;
	padding: 30rem 25rem;
	text-align: center;
	white-space: nowrap;
	z-index: 1;
}

.modal-movie-close img { display: block; width: 40rem; margin: 0 auto 8rem; }

.modal-movie-close span {
	display: block;
	margin-left: 3rem;
	color: var(--color-green);
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 400;
	font-size: 16rem;
	letter-spacing: 0.13em;
}

.modal-movie .video-wrap {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) !important;
	width: 100%;
	height: auto;
  aspect-ratio: 16 / 9;
	z-index: 0;
}

.modal-movie .video { position: relative; overflow: hidden; width: 100%; height: 100%; }

.modal-movie .video video {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: calc(100% + 2px);
  height: calc(100% + 2px);
}

/* .about-introduction
------------------------------------*/
.about-introduction { margin: 0 auto 80rem; padding: 0 9%; }
.about-introduction .txt p { margin-bottom: 12rem; letter-spacing: 0; }
.about-introduction .box { background-color: #FFFFFF; margin: 45rem -10rem 0; padding: 32rem 38rem; }
.about-introduction .box h4 { margin-bottom: 14rem; font-size: 17rem; line-height: 1.85; }
.about-introduction .box p { font-size: 13rem; }

/* .about-message
------------------------------------*/
.about-message {
	position: relative;
	margin: 0 auto 70rem;
	padding: 0 9%;
}

.about-message h2 { margin-bottom: 30rem; }

.about-message .img { margin: 0 -5rem 32rem; }
.about-message .img img { border-radius: 6rem; }

.about-message .txt p { margin-bottom: 13rem; font-size: 13rem; line-height: 1.8; }
.about-message .txt .name { margin-top: 15rem; font-size: 12rem; letter-spacing: 0.06em; }
.about-message .txt .name strong { padding-left: 8rem; font-size: 18rem; letter-spacing: 0.08em; }

.about-message .doctor-career { margin-top: 60rem; }

.doctor-career h3 { margin-bottom: 16rem; margin-left: -1rem; font-size: 13rem; }

.doctor-career dl { display: flex; }
.doctor-career dl:not(:last-child) { margin-bottom: 10rem; }

.doctor-career dt {
	width: 45rem;
	min-width: 45rem;
	padding-top: 4rem;
	color: var(--color-green);
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 500;
	font-size: 12rem;
	letter-spacing: 0.06em;
}

.doctor-career dd { width: 100%; }

.doctor-career dd p {
	margin-bottom: 4rem;
	font-size: 13rem;
	line-height: 1.8;
	letter-spacing: 0.01em;
	text-align: left;
}

.doctor-career dd p br { display: block; }

/* .about-clinic
------------------------------------*/
.about-clinic { margin: 0 auto; }
.about-clinic figure { margin: 0 3% 40rem; }
.about-clinic figure img { border-radius: 2rem; }
.about-clinic .inner { padding: 0 9%; }

.about-clinic .info-clinic h2 { margin-bottom: 6rem; }
.about-clinic .info-clinic h2 .logo { margin-right: -27rem; }
.about-clinic .info-clinic h2 strong { display: inline-block; transform: translateY(-4rem); }

.about-clinic .info-clinic h2 strong span {
	background-color: var(--color-white);
	border-color: var(--color-green-logo);
	padding: 4rem 13rem 5rem 5rem;
	color: var(--color-green-logo);
}

.about-clinic .info-clinic .tel { font-size: 26rem; }
.about-clinic .info-clinic .link a { color: var(--color-green); }

.about-clinic .info-clinic .sns { gap: 0 5rem; left: 0; }
.about-clinic .info-clinic .sns li:last-of-type { margin-left: -1rem; }
.about-clinic .info-clinic .sns li a { width: 30rem !important; height: 30rem !important; }

.about-clinic .schedule { display: none; }

.about-clinic .partner { margin-top: 35rem; }

.about-clinic .partner h2 {
	margin-bottom: 10rem;
	color: var(--color-green);
	font-size: 14rem;
	letter-spacing: 0.1em;
}

.about-clinic .partner li {
	margin-bottom: 1rem;
	font-size: 13rem;
	line-height: 1.8;
	letter-spacing: 0.06em;
}

.about-clinic .partner li:last-child { margin-bottom: 0; }


/* page access
---------------------------------------------------------------------------*/

/* .access-head
------------------------------------*/
.access-head { margin-bottom: 35rem; }
.access-head .title-page { margin-bottom: 60rem; }
.access-head .txt { padding: 0 10rem; }

.access-head .txt h2 {
	margin-bottom: 18rem;
	padding-top: 2rem;
	color: var(--color-green);
	font-size: 18rem;
	line-height: 1.8;
	letter-spacing: 0.06em;
}

.access-head .txt p { text-align: justify; }
.access-head .txt p br { display: none; }

/* .access-map
------------------------------------*/
.access-map { overflow-x: scroll; margin: 0 auto 40rem; }
.access-map img { width: 756rem; border-radius: 13rem; margin: 0 7%; }

/* .access-info
------------------------------------*/
.access-info {
	position: relative;
	width: 91%;
	margin: 0 auto 90rem;
}

.access-info .info1 { margin-bottom: 65rem; padding: 0 10rem; }

.access-info .logo { display: flex; align-items: flex-end; margin: 0 0 22rem -2rem; }
.access-info .logo > img { width: 165rem; margin-right: 10rem; }

.access-info .logo .sns { gap: 0 4rem; }
.access-info .logo .sns li a,
.about-clinic .info-clinic .sns li a {
	display: block;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	width: 30rem;
	height: 30rem;
}

.access-info .logo .sns li.instagram a,
.about-clinic .info-clinic .sns li.instagram a { background-image: url(img/share/sns-btn-instagram.png); }
.access-info .logo .sns li.line a,
.about-clinic .info-clinic .sns li.line a { background-image: url(img/share/sns-btn-line.png); }
.access-info .logo .sns li.youtube a,
.about-clinic .info-clinic .sns li.youtube a { background-image: url(img/share/sns-btn-youtube.png); }
.access-info .logo .sns img,
.about-clinic .info-clinic .sns img { display: none; }

.access-info .info1 address {
	margin-bottom: 14rem;
	font-size: 16rem;
	line-height: 1.65;
	letter-spacing: 0.06em;
}

.access-info .info1 address span {
	display: block;
	margin-bottom: 1rem;
	font-size: 13rem;
	letter-spacing: 0.04em;
}

.access-info .info1 address span:last-of-type { font-size: 12rem; padding-top: 5rem; }

.access-info .info1 .tel {
	display: inline-block;
	margin-right: 8rem;
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 300;
	letter-spacing: 0.14em;
}

.access-info .info1 .tel span { padding-right: 4rem; font-size: 15rem; }
.access-info .info1 .tel strong { font-size: 23rem; font-variation-settings: "wght" 300; }

.access-info .info1 .btn-link { display: inline-block; transform: translateY(-5rem); }
.access-info .info1 .btn-link.root a { padding: 7rem 14rem 8rem 30rem; font-size: 12rem; }
.access-info .info1 .btn-link.root a:before { top: calc(50% - 7rem); left: 12rem; }

.access-info .schedule { margin: 25rem -5rem 0; }
.access-info .schedule .attention-list { margin-left: 5rem; }
.access-info .schedule .attention-list,
.access-info .schedule .attention-list li { display: block; }
.access-info .schedule .attention-list li { margin-bottom: 5rem; color: var(--color-text-gray); }

.access-info .title-sec { margin-bottom: 8rem; }

.schedule-doctor { margin-bottom: 32rem; }
.schedule-doctor table { width: 100%; margin: 12rem 0 14rem; white-space: nowrap; }

.schedule-doctor th { font-weight: 400; }

.schedule-doctor th,
.schedule-doctor td { padding: 14rem 9rem; text-align: center; vertical-align: middle; }

.schedule-doctor thead th:last-of-type,
.schedule-doctor tbody td:last-of-type { display: none; }

.schedule-doctor thead th:first-of-type { border-radius: 6rem 0 0 0; }
.schedule-doctor thead th:nth-last-child(2) { border-radius: 0 6rem 0 0; }
.schedule-doctor tbody tr:last-of-type td:nth-last-child(2) { border-radius: 0 0 0 6rem; }
.schedule-doctor tbody tr:last-of-type th:first-of-type { border-radius: 0 0 0 6rem; }

.schedule-doctor thead th {
	background-color: var(--color-bg-beige-dark);
	padding-top: 12rem;
	padding-bottom: 13rem;
	color: rgba(255,255,255,0.9);
	font-size: 12rem;
	white-space: nowrap;
}

.schedule-doctor thead th:not(:nth-last-child(2)) { border-right: 1px solid rgba(255,255,255,0.5); }
.schedule-doctor tbody th,
.schedule-doctor tbody td { font-size: 11rem; line-height: 1.65; }
.schedule-doctor tbody th { background-color: var(--color-bg-beige-light); padding-right: 11rem; padding-left: 11rem; line-height: 1.2; }
.schedule-doctor tbody tr:not(:last-child) th { border-bottom: 1px solid var(--color-border-beige); }
.schedule-doctor tbody td { background-color: var(--color-bg-white-yellow); }
.schedule-doctor tbody tr:not(:last-child) td { border-bottom: 1px solid var(--color-border-gray); }
.schedule-doctor tbody td:not(:nth-last-child(2)) { border-right: 1px solid var(--color-border-gray); }

.schedule-doctor tbody td span {
	display: inline-block;
	background-color: var(--color-bg-beige-dark);
	border-radius: 20rem;
	margin: 0 -5rem;
	padding: 17rem 6rem 15rem;
	color: #FFFFFF;
	font-size: 10rem;
	line-height: 1.4;
}

.schedule-doctor .attention-list,
.schedule-doctor > p { margin: 0 10rem; }

.schedule-doctor .attention-list { margin-top: 10rem; margin-bottom: 10rem; }
.schedule-doctor .attention-list li { margin-bottom: 2rem; }

.schedule-doctor .attention-list li,
.schedule-doctor .attention-list li a,
.schedule-doctor > p { color: var(--color-text-gray); }

.schedule-doctor > p { font-size: 13rem; line-height: 1.8; letter-spacing: 0.04em; }
.schedule-doctor > p em { display: block; margin-left: 21rem; }
.schedule-doctor > p br { display: block; }

.access-info .info2 .reserve,
.access-info .info2 .visit { padding: 0 10rem; }
.access-info .info2 .reserve { margin-bottom: 45rem; }

.access-info .info2 .reserve p,
.access-info .info2 .visit p { line-height: 1.85; }
.access-info .info2 .reserve p span { font-size: 13rem; }

.access-info .info2 .reserve .tel {
	background: var(--color-border-green-light);
	width: 100%;
	margin-top: 25rem;
	padding: 17rem 20rem 20rem 21rem;
}

.access-info .info2 .reserve .tel h3 {
	margin-bottom: 4rem;
	color: var(--color-green);
	font-size: 13rem;
	letter-spacing: 0.06em;
}

.access-info .info2 .reserve .tel strong {
	display: block;
	margin-bottom: 11rem;
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 300;
	font-size: 24rem;
	letter-spacing: 0.1em;
}

.access-info .info2 .reserve .tel strong span { padding-right: 2rem; font-size: 15rem; }

.access-info .info2 .reserve .tel em {
	display: block;
	margin-left: -1rem;
	font-size: 13rem;
	letter-spacing: 0.04em;
}

.access-info .info2 .reserve .btn-wrap,
.access-info .info2 .visit .btn-wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 10rem;
	margin-top: 15rem;
}

.access-info .info2 .visit .title-sec { margin-bottom: 6rem; }

/* .access-car
------------------------------------*/
.access-car { padding: 0; }

.access-car > figure {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18rem 0;
	margin: 0 10rem 75rem;
}

.access-car .txt {
	position: relative;
	border-top: 1px solid var(--color-border-gray);
	width: calc(100% - 20rem);
	margin: 0 auto;
	padding: 70rem 10rem 0;
}

.access-car .txt h3:not(:first-of-type) { padding-top: 45rem; }
.access-car .txt p { line-height: 1.85; }
.access-car .txt .dl-wrap { margin-left: -1rem; padding-top: 2rem; }
.access-car .txt .parking { margin: 15rem -10rem 0; }

/* .access-public
------------------------------------*/
.access-public figure {
	display: grid;
	grid-template-columns: 1fr;
	gap: 25rem 0;
	margin: 0 0 35rem;
}

.access-public p { line-height: 1.85; }
.access-public ul { margin-top: 20rem; }
.access-public li { margin-bottom: 12rem; }

/* .access-img
------------------------------------*/
.access-img { width: 91%; margin: 80rem auto 0; }
.access-img img { border-radius: 6rem; }


/* page doctor
---------------------------------------------------------------------------*/
#doctorContents .page-head,
.doctor-director { width: 80%; }
#doctorContents .page-head { margin: 0 auto 40rem; padding: 0 5rem; }
#doctorContents .page-head .title-page h1 { font-size: 19rem; }

/* .doctor-main
------------------------------------*/
.doctor-main { overflow: hidden; width: 100%; margin-bottom: 65rem; }
.slide-doctor-main { display: flex; }

.slide-doctor-main figure {
	width: 375rem !important;
	min-width: 375rem !important;
	padding: 0 1.5rem;
}

/* .doctor-director
------------------------------------*/
.doctor-director {
	margin: 0 auto 105rem;
}

.doctor-director .img {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24rem 0;
	margin-bottom: 40rem;
	padding: 0 5rem;
}

.doctor-director .img figure { position: relative; }

.doctor-director .img figure .pic {
	display: block;
	position: absolute;
	top: -38rem;
	right: 22rem;
	width: 50rem;
}

.doctor-director .img figcaption {
	position: absolute;
	bottom: 19rem;
	left: 19rem;
	background-color: #FFFFFF;
	padding: 8rem 15rem 10rem 16rem;
}

.doctor-director .img figcaption em {
	display: inline-block;
	margin-right: 11rem;
	color: var(--color-green);
	font-size: 12rem;
	letter-spacing: 0.1em;
	transform: translateY(-1.5rem) scaleX(1.03);
}

.doctor-director .img figcaption strong {
	display: inline-block;
	font-size: 18rem;
	line-height: 1.8;
	letter-spacing: 0.18em;
}

.doctor-director .img figcaption strong b { padding-left: 6rem; font-weight: 400; }

.doctor-director .img figcaption span {
	display: block;
	margin-top: 5rem;
	color: var(--color-text-gray);
	font-size: 9rem;
	letter-spacing: 0.08em;
	transform: translateY(-3rem);
}

.doctor-director .txt h2 {
	margin-bottom: 26rem;
	color: var(--color-green);
	font-size: 18rem;
	line-height: 1.8;
	letter-spacing: 0.14em;
}

.doctor-director .txt .doctor-career { margin-top: 45rem; margin-right: -5rem; }

/* .doctor-list
------------------------------------*/
.doctor-list { padding: 0 7.5%; }
.doctor-list .lead { margin-bottom: 60rem; padding: 0 8rem; }

.doctor-list .lead h2 {
	margin-bottom: 18rem;
	color: var(--color-green);
	font-size: 18rem;
	line-height: 1.8;
	letter-spacing: 0.14em;
}

.doctor-list .lead p { letter-spacing: 0.03em; }

.doctor-list .list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 58rem 23rem;
}

.doctor-list .list article { position: relative; }
.doctor-list .list article figure { width: 86%; margin: 0 auto 22rem; }

.doctor-list .list article h3 {
	position: absolute;
	top: -10rem;
	right: 22rem;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.doctor-list .list article h3 strong {
	display: block;
	font-size: 14rem;
	letter-spacing: 0.15em;
}

.doctor-list .list article h3 strong i { display: inline-block; padding-bottom: 3rem; }

.doctor-list .list article h3 em {
	display: block;
	margin: 1rem -2rem 0 0;
	color: var(--color-green);
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 500;
	font-size: 9rem;
	letter-spacing: 0.1em;
}

.doctor-list .list article p {
	margin-bottom: 10rem;
	font-size: 13rem;
	line-height: 1.65;
	letter-spacing: 0;
}

.doctor-list .list article > ul li {
	display: block;
	margin-bottom: 4rem;
	color: var(--color-text-gray);
	font-size: 12rem;
	line-height: 1.55;
	letter-spacing: 0.02em;
}

.doctor-list .list article dl { margin-top: 20rem; font-size: 11rem; }
.doctor-list .list article dt { margin-bottom: 6rem; line-height: 1.5; letter-spacing: 0.08em; }
.doctor-list .list article dt strong { display: inline-block; margin: 0 2rem 4rem 0; }

.doctor-list .list article dt em {
	display: inline-block;
	margin-bottom: 4rem;
	font-size: 10rem;
	letter-spacing: 0.03em;
}

.doctor-list .list article dt i:last-of-type { display: none; }
.doctor-list .list article dd ul { display: flex; gap: 0 6rem; }

.doctor-list .list article dd li {
	position: relative;
	width: 16rem;
	font-size: 12rem;
	letter-spacing: 0;
	text-align: center;
}

.doctor-list .list article dd li:first-of-type { margin-left: -2.5rem; }
.doctor-list .list article dd li:first-of-type.active { margin-left: 2rem; }

.doctor-list .list article dd li.active:before {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	background: url(img/share/ico-circle.png) no-repeat center center / 100% auto;
	width: 19rem;
	height: 19rem;
	margin: 0.4rem 0 0;
}


/* page surgery
---------------------------------------------------------------------------*/

/* .surgery-main
------------------------------------*/
.surgery-main {
	position: relative;
	margin: 0 auto 75rem;
}

.surgery-main .title {
	margin: 0 auto 35rem;
	padding: 0 calc(5.5% + 10rem);
}

.surgery-main .title h1 {
	margin: 0 0 9rem -2rem;
	color: var(--color-green);
	font-size: 17rem;
	letter-spacing: 0.1em;
}

.surgery-main .title em {
	display: block;
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 300;
	font-size: 10rem;
	letter-spacing: 0.18em;
}

.surgery-main .img {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem 0;
	width: 89%;
	margin: 0 auto 40rem;
}

.surgery-main .img1,
.surgery-main .img2 { display: block; }

.surgery-main .txt,
.nav-page { padding: 0 10%; }

.surgery-main .txt h2 {
	margin-bottom: 10rem;
	color: var(--color-green);
	font-size: 14rem;
	letter-spacing: 0.1em;
}

.surgery-main .txt h3 {
	margin-bottom: 20rem;
	color: var(--color-green);
	font-size: 19rem;
	line-height: 1.85;
	letter-spacing: 0.12em;
}

.surgery-main .txt p { letter-spacing: 0.02em; white-space: nowrap; }

/* .surgery-point
------------------------------------*/
.surgery-point {
	position: relative;
	border-top: 1px solid var(--color-border-green);
	margin-bottom: 90rem;
	padding: 100rem 7% 0;
}

.surgery-point h2.title-line-en {
	position: absolute;
	top: 3rem;
	left: 12rem;
	text-decoration: none;
}

.surgery-point .txt h3,
.surgery-point .txt h4 {
	margin-bottom: 18rem;
	color: var(--color-green);
	font-size: 18rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.surgery-point .txt .btn-link { width: calc(100% + 6rem); margin: 20rem -3rem 0; }

/* .surgery-point1
------------------------------------*/
.surgery-point1 .inner { margin: 0 auto 55rem; }
.surgery-point1 .inner figure,
.surgery-point3 .inner figure { margin-bottom: 35rem; }
.surgery-point1 .inner .txt,
.surgery-point3 .inner .txt { padding: 0 6rem; }
.surgery-point1 .inner .txt p { letter-spacing: 0.03em; }
.surgery-point1 .inner .txt p:first-of-type { letter-spacing: 0.01em; }

/* .surgery-point2
------------------------------------*/
.surgery-point2 { margin-bottom: 60rem; }

.surgery-point1 figure,
.surgery-point2 figure {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20rem 0;
	margin-bottom: 35rem;
}

.surgery-point2 .txt { padding: 0 6rem; }
.surgery-point2 .txt p { letter-spacing: 0.01em; }

/* .surgery-point3
------------------------------------*/
.surgery-point3 { border-top: none; margin: 0 auto 70rem; padding-top: 0; }

/* .surgery-result
------------------------------------*/
.surgery-result { margin: 0 auto 80rem; }

.surgery-result > figure {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column-reverse;
	margin-bottom: 30rem;
}

.surgery-result .txt { padding: 0 9%; }

.surgery-result .txt h2 {
	margin-bottom: 30rem;
	color: var(--color-green);
	font-size: 20rem;
	letter-spacing: 0.14em;
	text-align: center;
}

.surgery-result .txt h2 strong {
	display: inline-block;
	padding: 0 4rem 0 4rem;
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 200;
	font-size: 33rem;
	letter-spacing: 0.04em;
	transform: translateY(2rem);
}

.surgery-result .txt .p { margin: 0 auto 40rem; }
.surgery-result .txt .p p { margin-bottom: 22rem; line-height: 1.9; }

.surgery-result .dl {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 25rem 20rem;
	border-radius: 13rem;
	margin: 0 -6rem;
	padding: 30rem 28rem 26rem;
	color: #FFFFFF;
}

.surgery-result .dl dt {
	margin-bottom: 5rem;
	font-size: 13rem;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

.surgery-result .dl dd em strong {
	padding: 0 2rem 0 0;
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 300;
	font-size: 27rem;
	letter-spacing: 0.04em;
}

.surgery-result .dl dd i {
	display: block;
	margin-top: 10rem;
	font-size: 10rem;
	line-height: 1.5;
	letter-spacing: 0.04em;
}

/* .surgery-contact
------------------------------------*/
.surgery-contact {
	margin: 0 auto 80rem;
	padding: 0 7.5%;
}

.surgery-contact .inner h3 {
	margin-bottom: 16rem;
	color: var(--color-green);
	font-size: 16rem;
	line-height: 1.95;
	letter-spacing: 0.08em;
}

.surgery-contact .inner .btn-link { max-width: calc(100% + 4rem); margin: 15rem -2rem 0; }

.surgery-contact .inner1 { margin-bottom: 85rem; }
.surgery-contact .inner1 figure { margin-bottom: 35rem; }
.surgery-contact .inner1 .txt { padding: 0 5rem; }

.surgery-contact .inner2 { position: relative; padding: 0 5rem; }
.surgery-contact .inner2 figure { width: calc(100% - 48rem); margin-bottom: 32rem; }

.surgery-contact .inner2 h2 {
	position: absolute;
	top: 0;
	right: 5rem;
	color: var(--color-green);
	font-size: 14rem;
	letter-spacing: 0.16em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.surgery-contact .inner2 h2:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: -4rem;
	background-color: var(--color-border-green-dark);
	width: 1px;
	height: calc(100% - 4rem);
}

.surgery-contact .inner2 .tel-wrap { margin-top: 22rem; }

.surgery-contact .inner2 .tel-wrap h3 {
	margin-bottom: 4rem;
	font-size: 14rem;
	letter-spacing: 0.06em;
}


/* page case
---------------------------------------------------------------------------*/
#wrap:has(.case-wrap) header { display: none; }

.case-detail #case-option .case-option { margin-top: 0rem; }
.case-detail #case-option,
.case-detail #case-research { margin-top: -15rem; padding-top: 15rem; }
.case-detail #case-distinguish { margin-top: -50rem; padding-top: 50rem; }

/* .case-wrap
------------------------------------*/
.case-wrap { position: relative; }

/* .case-head
------------------------------------*/
.case-head .tree-branch { display: none !important; }

/* .case-head .voice
------------------------------------*/
.case-head .voice {
	position: fixed;
	bottom: 0;
	right: 0;
	width: 124rem;
	height: 110rem;
	z-index: 20;
}

.btn-audio { position: relative; width: 100%; height: 100%; transition: .25s ease-out 0.1s; }
.btn-audio.hidden { transform: translateY(25rem); pointer-events: none; opacity: 0; transition: .15s ease-out; }

.btn-audio .hole,
.btn-audio .hole-frame,
.btn-audio .momonga-hand { display: none !important; }

.btn-audio .momonga { position: absolute; bottom: 0; left: 36rem; z-index: 1; transform-origin: center bottom; }
.btn-audio .momonga img { display: block; position: relative; z-index: 0; }
.btn-audio .momonga .img1 img { width: 62rem; }
.btn-audio .momonga .img2 { width: 58rem; position: absolute; bottom: 0; left: 0; z-index: 1; opacity: 0; }

.btn-audio .txt {
	position: absolute;
	top: 0rem;
	left: 12rem;
	width: 130rem;
	z-index: 5;
	transition: .3s var(--easeOutQuart);
}

.btn-audio.is-playing .txt {
	top: -16rem;
	transition: .3s var(--easeOutQuart) .2s;
	opacity: 0;
	pointer-events: none;
}

.btn-audio .txt:after {
	display: block;
	content: '';
	position: absolute;
	bottom: -16rem;
	left: 82rem;
	border-radius: 100rem;
	width: 12rem;
	height: 28rem;
	transform: rotate(30deg);
	z-index: 0;
}

.btn-audio .txt > div {
	position: relative;
	border-radius: 100rem;
	padding: 0 15rem 0 36rem;
	z-index: 1;
}

.btn-audio .txt i {
	display: block;
	position: absolute;
	top: 8rem;
	left: 10rem;
	width: 18rem;
	height: 18rem;
}

.btn-audio .txt i img { display: block; width: 18rem; }

.btn-audio .txt > div > div {
	overflow: hidden;
	position: relative;
	width: 100%;
	padding: 10rem 0 11rem;
	color: var(--color-text-beige);
	font-size: 13rem;
	letter-spacing: 0.1em;
	text-align: left;
	white-space: nowrap;
}

.btn-audio .doctor {
	position: absolute;
	bottom: -12rem;
	left: 5rem;
	width: 107rem;
	height: 120rem;
	z-index: 4;
	opacity: 0;
	transform-origin: center bottom;
	filter: brightness(0.95);
}

.btn-audio .doctor > div { position: relative; z-index: 0; transform-origin: center bottom; }
.btn-audio .doctor > div:not(.img1) { position: absolute; bottom: -24rem; left: 0; }
.btn-audio .doctor > div img { display: block; width: 107rem; transform-origin: center bottom; }
.btn-audio .doctor > div:not(.img1) img { opacity: 0; }

.btn-audio .music {
	position: absolute;
	top: 12rem;
	right: -8rem;
	width: 100rem;
	height: 100rem;
	transform: scale(0.65) !important;
}

.btn-audio .music > div { position: absolute; transform-origin: center center; }
.btn-audio .music > div img { display: block; opacity: 0; }

.btn-audio .music .img1-1 { top: -76rem; right: 46rem; }
.btn-audio .music .img1-2 { top: -56rem; right: 35rem; }
.btn-audio .music .img1-1 img { width: 24rem; }
.btn-audio .music .img1-2 img { width: 18rem; }
.btn-audio .music .img2 { top: -60rem; right: 30rem; }
.btn-audio .music .img2 img { width: 27rem; }
.btn-audio .music .img3-1 { top: -75rem; right: 40rem; }
.btn-audio .music .img3-2 { top: -45rem; right: 30rem; }
.btn-audio .music .img3-1 img { width: 25rem; transform: rotate(27deg); }
.btn-audio .music .img3-2 img { width: 20rem; transform: rotate(8deg); }

.btn-audio .btn-pause { position: absolute; bottom: 15rem; right: 17rem; z-index: 5; opacity: 0; }
.btn-audio .btn-pause img { width: 33rem; }

.btn-audio .smoke {
	position: absolute;
	bottom: -10rem;
	left: 15rem;
	width: 119rem;
	height: 129rem;
	transform: scale(0.9) !important;
	transform-origin: left bottom;
	z-index: 6;
}

.btn-audio .smoke img { display: block; opacity: 0; }
.btn-audio .smoke .img1 img { width: 119rem; }
.btn-audio .smoke .img2 { position: absolute; bottom: 4rem; left: -8rem; }
.btn-audio .smoke .img2 img { width: 69rem; }
.btn-audio .smoke .img3 { position: absolute; bottom: 14rem; left: 10rem; }
.btn-audio .smoke .img3 img { width: 93rem; }
.btn-audio .smoke .img4 { position: absolute; bottom: -5rem; left: 35rem; }
.btn-audio .smoke .img4 img { width: 68rem; }

.btn-audio .attention {
	position: absolute;
	bottom: -20rem;
	left: 0;
	color: var(--color-text-beige);
	font-size: 13rem;
	letter-spacing: 0.08em;
	white-space: nowrap;
	opacity: 0;
}

/* .case-detail
------------------------------------*/
.case-detail { overflow: hidden; width: 100%; }
.case-detail .gnav { display: none; }
.case-detail-inner { width: 100%; margin: 0 auto; }
.case-common-wrap { margin-top: -60rem; padding-top: 60rem; }

/* .case-main
------------------------------------*/
.case-main { margin: 0 auto 50rem; }

.case-main .title {
	position: relative;
	overflow: hidden;
	background: url(img/share/pic-tree_sp.jpg) no-repeat left top / 101% 100%;
	width: 100%;
	height: 100dvh;
	margin: 0 0 75rem;
	white-space: nowrap;
}

.case-main .title .logo { position: absolute; top: 18rem; left: 20rem; z-index: 10; }
.case-main .title .logo img { width: 135rem; }

.case-main .title figure,
.case-main .title .txt h1,
.case-main .title .txt .num { left: 8.5%; }

.case-main .title figure {
	position: absolute;
	bottom: 140rem;
	background: url(img/case/pic-case-frame_sp.jpg) no-repeat left top / 100% 100%;
	width: 148rem;
	height: 151rem;
	padding: 5rem 6rem;
	z-index: 1;
}

.case-main .title:not(:has(h1 ruby)) figure { bottom: 120rem; }

.case-main .title figcaption {
	position: absolute;
	top: 2rem;
	right: -35rem;
	color: #959595;
	font-size: 9rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.case-main .title figcaption b {
	display: inline-block;
	margin-top: -2rem;
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 400;
	font-weight: normal;
	transform: translateX(1rem);
}

.case-main .title figcaption b i {
	display: inline-block;
	margin-top: -1rem;
	margin-bottom: 2rem;
	letter-spacing: 0;
	transform: rotate(-90deg) translateY(1rem);
}

.case-main .title figcaption b i.ml {
	transform: rotate(-90deg) translateY(-0.5rem);
}
_::-webkit-full-page-media, _:future, :root .case-main .title figcaption b i {
	transform: rotate(-90deg) translateY(-1rem);
}
_::-webkit-full-page-media, _:future, :root .case-main .title figcaption b i.ml {
	transform: rotate(-90deg) translateY(-1rem);
}

.case-main .title .txt { color: var(--color-text-beige); }
.case-main .title .txt .en { display: none; }

.case-main .title .txt .num {
	display: inline-block;
	position: absolute;
	bottom: 102rem;
	margin-left: 2rem;
	padding: 0 6rem;
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 600;
	font-size: 12rem;
	letter-spacing: 0.12em;
	z-index: 2;
}

.case-main .title .txt:not(:has(h1 ruby)) .num { bottom: 82rem; }

.case-main .title .txt .num:before,
.case-main .title .txt .num:after { display: block; position: absolute; top: -1rem; }
.case-main .title .txt .num:before { content: '('; left: 0; }
.case-main .title .txt .num:after { content: ')'; right: 0; }

.case-main .title .txt h2 {
	display: block;
	position: absolute;
	top: 58%;
	right: 8.5%;
	font-size: 15.5rem;
	line-height: 1.85;
	letter-spacing: 0.14em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
	z-index: 2;
}

.case-main .title .txt h1 {
	display: block;
	position: absolute;
	bottom: 26rem;
	font-size: 28rem;
	letter-spacing: 0.04em;
	z-index: 2;
}

.case-main .title .txt h1 ruby > rt {
	margin: 0 0 8rem 2rem;
	font-size: 12rem;
	letter-spacing: 0.1em;
	text-align: left;
}

.case-main .title .txt h1 ruby > rt.center { text-align: center; }

.case-main .tree-branch {
	position: absolute;
	top: 18%;
	left: -18rem;
	transform: scaleX(-1);
	z-index: 0;
}
	
.case-main .tree-branch .branch { position: relative; z-index: 0; }
.case-main .tree-branch .branch img { width: 180rem; }
.case-main .tree-branch .woodpecker { position: absolute; top: 0; left: 77rem; z-index: 1; }
.case-main .tree-branch .woodpecker img { width: 60rem; }

.tree-momonga {
	position: absolute;
	top: 23.5%;
	right: 5.5%;
	width: 174rem;
	height: 170rem;
	z-index: 0;
	transform: scale(0.8);
}

.tree-momonga .hole { position: absolute; bottom: 20rem; left: 13rem; width: 174rem; z-index: 0; }
.tree-momonga .hole-frame { position: absolute; bottom: 14rem; left: 8rem; width: 179rem; z-index: 2; }
.tree-momonga .momonga { position: absolute; bottom: 20rem; left: 36rem; z-index: 1; transform-origin: center bottom; }
.tree-momonga .momonga img { display: block; position: relative; width: 89rem; z-index: 0; }
.tree-momonga .momonga .img2 { position: absolute; top: 0; left: 0; z-index: 1; opacity: 0; }
.tree-momonga .momonga-hand { position: absolute; bottom: 30rem; left: 51rem; z-index: 3; }
.tree-momonga .momonga-hand img { width: 21rem; }

.case-main .inner p .ruby-wrap { display: inline-block; padding-top: 1rem; }
.case-main .inner p ruby > rt { margin-bottom: 3rem; }

/* .case-main .inner
------------------------------------*/
.case-main .inner,
.case-problem { padding: 0 9%; }

/* .case-problem
------------------------------------*/
.case-problem { position: relative; margin: 0 auto 65rem; }
#case-atheromaContents .case-problem { margin-bottom: 135rem; }
#case-lipomaContents .case-problem { margin-bottom: 100rem; }
#case-molesContents .case-problem { margin-bottom: 125rem; }

.case-problem h2 {
	margin-bottom: 40rem;
	color: var(--color-green);
	font-size: 15rem;
	letter-spacing: 0.1em;
	text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

#case-pustulosisContents .case-problem h2 { margin-bottom: 20rem; }
.case-problem h2 span { display: block; opacity: 0; }

.case-problem .inner { position: relative; width: 300rem; margin: 0 auto; }
.case-problem ul { position: relative; padding: 60rem 0 0; }
.case-problem ul li { opacity: 0; }

#case-atheromaContents .case-problem li:nth-of-type(1) { position: absolute; top: 200rem; left: 104rem; }
#case-atheromaContents .case-problem li:nth-of-type(1) img { width: 210rem; }
#case-atheromaContents .case-problem li:nth-of-type(2) { margin: -15rem 0 15rem -20rem; }
#case-atheromaContents .case-problem li:nth-of-type(2) img { width: 206rem; }
#case-atheromaContents .case-problem li:nth-of-type(3) { position: absolute; top: -13rem; left: 122rem; }
#case-atheromaContents .case-problem li:nth-of-type(3) img { width: 171rem; }
#case-atheromaContents .case-problem li:nth-of-type(4) { position: absolute; top: 124rem; left: 168rem; }
#case-atheromaContents .case-problem li:nth-of-type(4) img { width: 122rem; }
#case-atheromaContents .case-problem li:nth-of-type(5) { margin: 0 0 0 -10rem; }
#case-atheromaContents .case-problem li:nth-of-type(5) img { width: 141rem; }

#case-lipomaContents .case-problem li:nth-of-type(1) { position: absolute; top: -14rem; left: 117rem; }
#case-lipomaContents .case-problem li:nth-of-type(1) img { width: 200rem; }
#case-lipomaContents .case-problem li:nth-of-type(2) { margin: -10rem 0 40rem -2rem; }
#case-lipomaContents .case-problem li:nth-of-type(2) img { width: 139rem; }
#case-lipomaContents .case-problem li:nth-of-type(3) { position: absolute; top: 94rem; left: 150rem; }
#case-lipomaContents .case-problem li:nth-of-type(3) img { width: 156rem; }
#case-lipomaContents .case-problem li:nth-of-type(4) { margin: 0 0 0 -8rem; }
#case-lipomaContents .case-problem li:nth-of-type(4) img { width: 202rem; }
#case-lipomaContents .case-problem li:nth-of-type(5) { position: absolute; top: 216rem; left: 164rem; }
#case-lipomaContents .case-problem li:nth-of-type(5) img { width: 148rem; }

#case-ptosisContents .case-problem li:nth-of-type(1) { position: absolute; top: -13rem; left: 95rem; }
#case-ptosisContents .case-problem li:nth-of-type(1) img { width: 215rem; }
#case-ptosisContents .case-problem li:nth-of-type(2) { margin: -15rem 0 22rem -10rem; }
#case-ptosisContents .case-problem li:nth-of-type(2) img { width: 177rem; }
#case-ptosisContents .case-problem li:nth-of-type(3) { margin: 0 0 24rem 9rem; }
#case-ptosisContents .case-problem li:nth-of-type(3) img { width: 230rem; }
#case-ptosisContents .case-problem li:nth-of-type(4) { position: absolute; top: 78rem; left: 178rem; }
#case-ptosisContents .case-problem li:nth-of-type(4) img { width: 126rem; }
#case-ptosisContents .case-problem li:nth-of-type(5) { margin: 0 0 0 -10rem; }
#case-ptosisContents .case-problem li:nth-of-type(5) img { width: 140rem; }
#case-ptosisContents .case-problem li:nth-of-type(6) { position: absolute; top: 202rem; left: 142rem; }
#case-ptosisContents .case-problem li:nth-of-type(6) img { width: 176rem; }

#case-ingrown-nailContents .case-problem li:nth-of-type(1) { position: absolute; top: -15rem; left: 135rem; }
#case-ingrown-nailContents .case-problem li:nth-of-type(1) img { width: 170rem; }
#case-ingrown-nailContents .case-problem li:nth-of-type(2) { margin: -10rem 0 52rem -8rem; }
#case-ingrown-nailContents .case-problem li:nth-of-type(2) img { width: 222rem; }
#case-ingrown-nailContents .case-problem li:nth-of-type(3) { position: absolute; top: 130rem; left: 146rem; }
#case-ingrown-nailContents .case-problem li:nth-of-type(3) img { width: 175rem; }
#case-ingrown-nailContents .case-problem li:nth-of-type(4) { margin: 0 0 4rem -14rem; }
#case-ingrown-nailContents .case-problem li:nth-of-type(4) img { width: 172rem; }
#case-ingrown-nailContents .case-problem li:nth-of-type(5) { margin: 0 0 0 120rem; }
#case-ingrown-nailContents .case-problem li:nth-of-type(5) img { width: 187rem; }

#case-seborrheic-keratosisContents .case-problem li:nth-of-type(1) { position: absolute; top: -12rem; left: 98rem; }
#case-seborrheic-keratosisContents .case-problem li:nth-of-type(1) img { width: 202rem; }
#case-seborrheic-keratosisContents .case-problem li:nth-of-type(2) { margin: -26rem 0 70rem -16rem; }
#case-seborrheic-keratosisContents .case-problem li:nth-of-type(2) img { width: 229rem; }
#case-seborrheic-keratosisContents .case-problem li:nth-of-type(3) { position: absolute; top: 118rem; left: 102px; }
#case-seborrheic-keratosisContents .case-problem li:nth-of-type(3) img { width: 202rem; }
#case-seborrheic-keratosisContents .case-problem li:nth-of-type(4) { margin: 0 0 0 -16rem; }
#case-seborrheic-keratosisContents .case-problem li:nth-of-type(4) img { width: 164rem; }
#case-seborrheic-keratosisContents .case-problem li:nth-of-type(5) { margin: -20rem 0 0 132rem; }
#case-seborrheic-keratosisContents .case-problem li:nth-of-type(5) img { width: 168rem; }

#case-molesContents .case-problem li:nth-of-type(1) { position: absolute; top: -11rem; left: 111rem; }
#case-molesContents .case-problem li:nth-of-type(1) img { width: 192rem; }
#case-molesContents .case-problem li:nth-of-type(2) { position: absolute; top: 194rem; left: 102rem; }
#case-molesContents .case-problem li:nth-of-type(2) img { width: 200rem; }
#case-molesContents .case-problem li:nth-of-type(3) { position: absolute; top: 115rem; left: 165rem; }
#case-molesContents .case-problem li:nth-of-type(3) img { width: 142rem; }
#case-molesContents .case-problem li:nth-of-type(4) { margin: 74rem 0 0 -8rem; }
#case-molesContents .case-problem li:nth-of-type(4) img { width: 144rem; }
#case-molesContents .case-problem li:nth-of-type(5) { position: absolute; top: 35rem; left: -15rem; }
#case-molesContents .case-problem li:nth-of-type(5) img { width: 242rem; }

.case-problem .pic-momonga { display: none !important; }
/*.case-problem .pic-momonga { position: absolute; top: 123rem; left: 618rem; }
.case-problem .pic-momonga span { display: block; }
.case-problem .pic-momonga img { display: block; transform: rotate(10deg); width: 68rem; }*/

/* .case-common
------------------------------------*/
.case-common {
	position: relative;
	border-top: 1px solid var(--color-border-gray);
	margin: 0 auto 75rem;
	padding: 75rem 7.5% 0;
}

.title-sec-en {
	position: absolute;
	top: 13rem;
	left: 0;
	color: var(--color-green);
	font-size: 13rem;
	letter-spacing: 0.08em;
}

.case-common .title-en { display: none; }

.case-common .title {
	position: absolute;
	top: 10rem;
	left: 10rem;
	padding: 0 17rem 0 15rem;
	white-space: nowrap;
}

.case-common .title:before,
.case-common .title:after { display: block; position: absolute; top: 4rem; }
.case-common .title:before { content: '（'; left: 0; }
.case-common .title:after { content: '）'; right: 0; }

.case-common h2,
.case-common .title:before,
.case-common .title:after {
	color: var(--color-green);
	font-size: 14rem;
	letter-spacing: 0.14em;
}

.case-common .title h2 { letter-spacing: 0.1em; }
.case-common .title h2 br { display: none; }

.case-common .inner > h3,
.case-common .inner .box h4,
.case-common .inner .box-green h4 {
	margin-bottom: 16rem;
	color: var(--color-green);
	font-size: 18rem;
	line-height: 1.75;
	letter-spacing: 0.06em;
}

.case-common .inner > h3 .dash,
.case-common .inner .box h4 .dash,
.case-common .inner .box-green h4 .dash { background-color: var(--color-green); transform: translateY(-3rem); }

.case-common .inner > h3:not(:first-child) { margin-top: 35rem; }

.case-common .inner > h4,
.case-common .inner .box h5 {
	display: block;
	margin-bottom: 16rem;
	color: var(--color-green);
	font-size: 14rem;
	letter-spacing: 0.1em;
}

.case-common .inner .box-green h4 { margin-bottom: 15rem; }
.case-common .inner > h4:not(:first-child) { margin-top: 35rem; }
.case-common .inner .img:not(:last-child) { margin-bottom: 25rem; }

.case-common .inner .img-even { display: grid; grid-template-columns: 1fr 1fr; gap: 0 6rem; }

.case-common .inner > figure { margin: 40rem 0 30rem; }
.case-common .inner > figure:first-child { margin-top: 0; }
.case-common .inner > figure:last-child { margin-bottom: 0; }
.case-common .inner > figure:has(+h3) { margin-bottom: 50rem; }
.case-common .inner > figure:has(+h4) { margin-bottom: 40rem; }
.case-common .inner > h4 + figure { margin-top: 0; }
.case-common .inner > p + figure { margin-top: 28rem; }

.case-common .inner figure { position: relative; }
.case-common .inner figure.rad img { border-radius: 6rem; }

.case-common .inner .box-green figure { margin-bottom: 25rem; }
.case-common .inner .box-green figure:not(:first-child) { margin-top: 27rem; }

.case-common .inner figure figcaption {
	position: absolute;
	bottom: 7rem;
	left: 7rem;
	background-color: #FFFFFF;
	color: var(--color-text);
	font-size: 13rem;
	padding: 5rem 8rem 4rem 8rem;
	letter-spacing: 0.02em;
	z-index: 2;
}

.case-common .inner figure figcaption em { padding-right: 8rem; font-size: 12rem; }

.case-common .inner p { letter-spacing: 0.02em; text-align: justify; }

.case-common .inner .dot-list:not(:first-child) { margin-top: 25rem; }
.case-common .inner .dot-list:not(:last-child) { margin-bottom: 25rem; }

.case-common .inner .dot-list-border { position: relative; margin-left: 4rem; padding-left: 17rem; }
.case-common .inner .dot-list-border li { line-height: 1.6; }
.case-common .inner .dot-list-border li span { font-size: 12rem; }

.case-common .inner .dot-list-border:before {
	display: block;
	content: '';
	position: absolute;
	top: 2rem;
	left: 0;
	background-color: var(--color-green);
	width: 2rem;
	height: calc(100% - 2rem);
}

.case-common .inner .box { background: var(--color-bg-beige); margin-top: 50rem; padding: 35rem 9.5%; }
.case-common .inner .box.mt-s { margin-top: 25rem; padding-top: 30rem; padding-bottom: 25rem; }
.case-common .inner .box:has(.dl-price) { margin-top: 35rem; }
.case-common .inner .box:not(:last-child) { margin-bottom: 25rem; }

.case-common .inner .box h4 { margin-bottom: 17rem; font-size: 17rem; }
.case-common .inner .box h4:not(:first-child),
.case-common .inner .box h5:not(:first-child) { margin-top: 30rem; }
.case-common .inner .box h5 { border-bottom: none; margin-bottom: 18rem; letter-spacing: 0.08em; }

.case-common .inner .box p { font-size: 13rem; line-height: 1.9; }
.case-common .inner .box .num-list li { color: var(--color-green); font-size: 15rem; letter-spacing: 0.06em; }

.case-common .inner .box-green { margin-top: 40rem; margin-right: -7rem; margin-left: -7rem; padding: 35rem 35rem 25rem; }
.case-common .inner .box-green p { font-size: 13rem; letter-spacing: 0.02em; }

.case-common .inner .box-green .doctor-career {
	border-top: 1px solid var(--color-border-gray);
	margin-top: 28rem;
	padding-top: 18rem;
	padding-bottom: 10rem;
}

.case-common .inner .box-green .doctor-career h3 {
	margin-bottom: 7rem;
	margin-left: 0;
	font-size: 14rem;
	letter-spacing: 0.1em;
	text-decoration: none;
}

.case-common .inner .box-green .doctor-career dl:not(:last-child) { margin-bottom: 3rem; }

.case-common .inner .box-green .doctor-career dt {
	width: 61rem;
	min-width: 61rem;
	padding-top: 5rem;
	color: var(--color-text);
	font-family: var(--font-gothic-jp);
	font-size: 14rem;
	letter-spacing: 0.02em;
}

.case-common .inner .box-green .doctor-career dd p { letter-spacing: 0; }

.case-common .inner .img-list {
	display: grid;
	gap: 15rem 0;
	margin: 0 0 30rem 2rem;
}

.case-common .inner .img-list:last-child { margin-bottom: 0; }
.case-common .inner .img-list.mb-l { gap: 30rem 0; }
.case-common .inner .img-list li { display: flex; align-items: center; }

.case-common .inner .img-list figure { position: relative; align-self: flex-start; width: 96rem; min-width: 96rem; }
.case-common .inner .img-list.mb-l figure { width: 75rem; min-width: 75rem; }
.case-common .inner .img-list figure img { width: 100%; }
.case-common .inner .img-list figure img.color { display: block; position: absolute; top: 0; left: 0; opacity: 1; }

.case-common .inner .img-list .txt { width: 100%; padding: 0 0 0 22rem; }

.case-common .inner .img-list h5 {
	display: block;
	margin-bottom: 6rem;
	color: var(--color-green);
	font-size: 16rem;
	letter-spacing: 0.06em;
}

.case-common .inner .img-list h5 span { padding-left: 4rem; font-size: 12rem; }

.case-common .inner .img-list p {
	font-size: 13rem;
	line-height: 1.7;
	letter-spacing: 0.02em;
}

.case-common .inner .dl-line:not(:first-child) { margin-top: 30rem; }
.case-common .inner .dl-line:not(:last-child) { margin-bottom: 30rem; }
.case-common .inner .dot-list-border-white { margin: 20rem 0 22rem; }

/* .check-list
------------------------------------*/
.check-list { display: grid; grid-template-columns: 1fr; gap: 12rem 0; }
.case-common .inner .check-list:not(:last-child) { margin-bottom: 25rem; }

.check-list li {
	background: url(img/share/ico-check.svg) no-repeat left 5rem top / 19rem auto;
	border-bottom: 1px solid var(--color-border-green);
	padding: 3rem 0 4rem 30rem;
	font-size: 13rem;
	line-height: 1.6;
	letter-spacing: 0.02em;
}

_::-webkit-full-page-media, _:future, :root .check-list li {
	background-position: left 5rem top 1rem;
}

/* .dl-num-list
------------------------------------*/
.dl-num-list:not(:first-child) { margin-top: 30rem; }
.dl-num-list:not(:last-child) { margin-bottom: 27rem; }
.dl-num-list dl:not(:last-child) { margin-bottom: 25rem; }
.dl-num-list.mb-s dl:not(:last-child) { margin-bottom: 20rem; }

.dl-num-list dt,
.dl-num-list dd { padding-left: 28rem; }

.dl-num-list dt {
	position: relative;
	margin-bottom: 10rem;
	color: var(--color-green);
	font-size: 16rem;
	line-height: 1.8;
	letter-spacing: 0.06em;
	white-space: nowrap;
}

.dl-num-list.mb-s dt { margin-bottom: 6rem; }

.dl-num-list dt i {
	display: block;
	position: absolute;
	top: -3rem;
	left: 4rem;
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 400;
	font-size: 18rem;
}

.dl-num-list dt span span { font-size: 13rem; letter-spacing: 0.06em; }

.dl-num-list dt em {
	display: inline-block;
	background-color: #FFFFFF;
	border: 1px solid var(--color-green);
	border-radius: 20rem;
	margin-left: 8rem;
	padding: 3rem 6rem 4rem 6rem;
	color: var(--color-green);
	font-size: 10rem;
	line-height: 1;
	letter-spacing: 0;
	white-space: nowrap;
	transform: translateY(-2rem);
}

.dl-num-list dd h4 {
	margin-bottom: 6rem;
	color: var(--color-green);
	font-size: 15rem;
	line-height: 1.7;
	letter-spacing: 0.06em;
}

.dl-num-list dd h4:not(:first-child) { margin-top: 22rem; }

.dl-num-list dd p:last-of-type { margin-bottom: 0 !important; }
.dl-num-list dd .attention-list:not(:first-child) { max-width: 97%; margin-top: 10rem; }
.dl-num-list dd figure { margin: 18rem 0 22rem; }
.dl-num-list dd .btn-link { margin-top: 25rem; margin-bottom: 5rem; }

.case-common .inner .dl-num-list:not(.mb-s) dl:not(:last-child) { margin-bottom: 40rem; }
.case-common .inner .dl-num-list dd .box { margin-top: 22rem; padding: 26rem 7% 22rem 9.5%; }
.case-common .inner .dl-num-list dd .box h5 { margin-bottom: 10rem; margin-left: -2rem; }
.case-common .inner .dl-num-list dd .box .dot-list-color li { letter-spacing: 0.02em; }

/* .dl-num-list.size-l
------------------------------------*/
.dl-num-list.size-l dl:not(:last-child) { margin-bottom: 27rem; }
.dl-num-list.size-l dt { margin-bottom: 7rem; font-size: 15rem; }

.dl-num-list.size-l dt i {
	top: 3.5rem;
	left: 0;
	background: var(--color-green);
	border-radius: 50%;
	width: 22rem;
	height: 22rem;
	padding: 4rem 0 0 1.5rem;
	color: #FFFFFF;
	font-variation-settings: "wght" 500;
	font-size: 12rem;
	line-height: 1;
	text-align: center;
}

_::-webkit-full-page-media, _:future, :root .dl-num-list.size-l dt i {
	width: 20rem;
	height: 20rem;
}

.dl-num-list.size-l dd p {
	line-height: 1.85;
}

.dl-num-list.size-l dd .attention-list li { color: var(--color-text-gray); }
.dl-num-list.size-l dd .attention-list li:not(:last-child) { margin-bottom: 5rem; }
.dl-num-list.size-l dd .attention-list li br { display: none; }

/* .dl-dot-list
------------------------------------*/
.dl-dot-list:not(:first-child) { margin-top: 30rem; }
.dl-dot-list:not(:last-child) { margin-bottom: 27rem; }
.dl-dot-list dl:not(:last-child) { margin-bottom: 25rem; }
.dl-dot-list.mb-s dl:not(:last-child) { margin-bottom: 14rem; }

.dl-dot-list dt,
.dl-dot-list dd { padding-left: 28rem; }
.dl-dot-list.pl-s dt,
.dl-dot-list.pl-s dd { padding-left: 24rem; }

.dl-dot-list dt {
	position: relative;
	margin-bottom: 8rem;
	color: var(--color-green);
	font-size: 16rem;
	line-height: 1.8;
	letter-spacing: 0.06em;
}

.dl-dot-list.mb-s dt { margin-bottom: 2rem; }

.dl-dot-list dt:before {
	display: block;
	content: '';
	position: absolute;
	top: 11rem;
	left: 8rem;
	background-color: #DED7CC;
	border-radius: 50%;
	width: 8rem;
	height: 8rem;
}

.dl-dot-list.pl-s dt:before { top: 10rem; left: 4rem; }
.dl-dot-list dd { width: 100%; }
.dl-dot-list dd,
.dl-dot-list dd p { letter-spacing: 0.02em; }

.dl-dot-list dd p:last-of-type { margin-bottom: 0 !important; }

.dl-dot-list dd p.attention,
.dl-dot-list dd p.attention a { color: var(--color-text-gray); }

.dl-dot-list dd p.attention {
	font-size: 13rem !important;
	line-height: 1.8 !important;
	letter-spacing: 0.02em !important;
}

/* .dl-dot-list.size-l
------------------------------------*/
.dl-dot-list.size-l dt:before {
	background-color: var(--color-border-green-txt);
	left: 10rem;
	width: 7rem;
	height: 7rem;
}

/* .dl-line
------------------------------------*/
.dl-line:not(:first-child) { margin-top: 25rem; }

.dl-line dl {
	display: flex;
	border-top: 1px solid var(--color-border-gray);
	padding: 8rem 0 20rem 4rem;
}

.dl-line dl:last-of-type { padding-bottom: 0; }

.dl-line dt,
.dl-line dd p {
	font-size: 14rem !important;
	line-height: 1.85 !important;
	letter-spacing: 0.02em !important;
}

.dl-line dt {
	width: 94rem;
	min-width: 94rem;
	padding-right: 20rem;
	color: var(--color-green);
	line-height: 1.6 !important;
}

.dl-line dd p { letter-spacing: 0 !important; }
.dl-line dd { width: 100%; }

/* .dl-price
------------------------------------*/
.title-sec + .dl-price { margin-top: 20rem; }

.dl-price dl {
	display: flex;
	justify-content: space-between;
	padding: 10rem 3rem 0;
	font-size: 14rem;
	line-height: 1.6;
	letter-spacing: 0.02em;
}

.dl-price > dl:has(dd dt) { flex-wrap: wrap; }
.dl-price dd dl { padding-top: 10rem; padding-right: 0; padding-left: 0; }
.dl-price dd:has(dl) { padding: 16rem 0 10rem 33rem; }

.dl-price dl,
.dl-price dl:has(dl) > dt { border-bottom: 1px solid var(--color-border-beige); }
.dl-price dl:has(dl) { border-bottom: none; }
.dl-price dl:first-of-type { padding-top: 0; }

.dl-price dt {
	align-self: flex-start;
	padding-right: 15rem;
	letter-spacing: 0;
	white-space: nowrap;
}

.dl-price dt:has(+dd dt) { display: block; width: 100%; }
.dl-price dt span { padding-left: 2rem; font-size: 12rem; }
.dl-price dd { inline-size: 100%; text-align: right; white-space: nowrap; }

.dl-price + .attention-list { margin-top: 22rem; }

.dl-price + .attention-list li {
	margin-bottom: 2rem;
	color: var(--color-text-gray);
	font-size: 12rem;
	letter-spacing: 0.02em;
}

/* .case-distinguish
------------------------------------*/
.case-distinguish {
	background: var(--color-bg-beige);
	width: 93%;
	margin: 0 auto 75rem;
	padding: 40rem 30rem 40rem;
}

.case-distinguish h2 {
	margin-bottom: 14rem;
  color: var(--color-green);
	font-size: 18rem;
	line-height: 1.7;
	letter-spacing: 0.08em;
}

.case-distinguish h2:not(:first-child) { margin-top: 70rem; }

.case-distinguish h2 em {
	display: block;
	margin-bottom: 6rem;
	color: var(--color-text);
	font-size: 12rem;
	letter-spacing: 0.06em;
}

.case-distinguish .sec-inner:not(:first-child) { padding-top: 50rem; }
.case-distinguish .sec-inner:has(h3:first-child) { padding-top: 0; }

.case-distinguish .sec-inner > h3 {
	position: relative;
	margin: 20rem 0 10rem;
	padding: 22rem 0 0;
	font-size: 13rem;
	line-height: 1.8;
	letter-spacing: 0.06em;
}

.case-distinguish .sec-inner > p + h3 { margin-top: 38rem; }

.case-distinguish .sec-inner > h3:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background-color: var(--color-border-brown);
	width: 38rem;
	height: 1px;
}

.case-distinguish p { letter-spacing: 0.02em; }
.case-distinguish .sec-inner > p { letter-spacing: 0; }
.case-distinguish .sec-inner > .dl-list + p { margin-top: 35rem; }

.case-distinguish .dl-img { margin: 30rem auto 25rem; }

.case-distinguish .dl-img .img {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 6rem;
	margin: 0 -5rem 28rem;
}

.case-distinguish .dl-img .img figure { position: relative; }

.case-detail-inner figure { position: relative; }

.case-detail-inner figure img.color {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 1;
}

.case-detail-inner figure figcaption {
	position: absolute;
	bottom: 8rem;
	left: 8rem;
	color: #FFFFFF;
	font-size: 12rem;
	letter-spacing: 0.02em;
	z-index: 1;
}

.case-distinguish .dl-img .dl { transform: translateY(-3rem); }
.case-distinguish .dl-img dl { position: relative; padding: 0 0 0 22rem; }
.case-distinguish .dl-img dl:not(:last-child) { margin-bottom: 22rem; }

.case-distinguish .dl-img dl:before {
	display: block;
	content: '';
	position: absolute;
	top: 2rem;
	left: 0;
	background-color: #FFFFFF;
	width: 3rem;
	height: calc(100% -  5rem);
}

.case-distinguish .dl-img dt { margin-bottom: 7rem; }

.case-distinguish .dl-img dt h3 {
	margin-bottom: 0;
	color: var(--color-green);
	font-size: 15rem;
	line-height: 1.7;
	letter-spacing: 0.06em;
}

.case-distinguish .dl-img dt h3 span { padding-left: 2rem; font-size: 12rem; }
.case-distinguish .dl-img dd p { font-size: 13rem; line-height: 1.85; }

.dl-ac-list:not(:last-child) { margin-bottom: 35rem; }
.dl-ac-list dl { border-bottom: 1px solid var(--color-border-beige); }

.dl-ac-list dt button {
	position: relative;
	width: 100%;
	padding: 14rem 34rem 14rem 27rem;
	color: var(--color-green);
	font-size: 15rem;
	line-height: 1.7;
	letter-spacing: 0.02em;
	text-align: left;
}

.dl-ac-list dt .num { display: block; position: absolute; top: 14rem; left: 2rem; }

.dl-ac-list dt .plus {
	position: absolute;
	top: 24rem;
	right: 6rem;
	width: 9rem;
	height: 9rem;
	transition: .6s var(--easeOutQuint);
	transform: rotate(0deg);
}

/*.dl-ac-list dt button .plus { top: 22rem; }*/
.dl-ac-list dt.active .plus { transform: rotate(225deg); }

.dl-ac-list dt .plus:before,
.dl-ac-list dt .plus:after { display: block; content: ''; position: absolute; background-color: var(--color-green); }
.dl-ac-list dt .plus:before { top: 0; left: 4rem; width: 1px; height: 100%; }
.dl-ac-list dt .plus:after { top: 4rem; left: 0; width: 100%; height: 1px; }

.dl-ac-list dd { display: none; padding: 0 1rem 17rem 27rem; }
.dl-ac-list dd p { font-size: 13rem; line-height: 1.8; }

.case-common .inner > .dl-ac-list { border-top: 1px solid var(--color-border-beige); }
.case-common .inner > .dl-ac-list:not(:first-child) { margin-top: 40rem; }
.case-common .inner > .dl-ac-list dt button { padding-top: 15rem; padding-bottom: 15rem; font-size: 16rem; }
.case-common .inner > .dl-ac-list dt:not(:has(.num)) button { padding-left: 5rem; }
.case-common .inner > .dl-ac-list dd { padding-left: 6rem; }

/* .case-research
------------------------------------*/
.case-research {
	position: relative;
	width: 93%;
	margin: 0 auto 75rem;
	padding: 125rem 32rem 60rem;
}

.case-research h2 { position: absolute; top: 32rem; left: 30rem; }
.case-research h2 img { width: 156rem; }

.case-research h3 {
	position: absolute;
	bottom: 10rem;
	right: 8rem;
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 400;
	font-size: 13rem;
	letter-spacing: 0.07em;
}

.case-research h4 {
	margin-bottom: 20rem;
	font-size: 18rem;
	line-height: 1.8;
	letter-spacing: 0.06em;
}

.case-research p { letter-spacing: 0.02em; }

/* .case-img
------------------------------------*/
.case-img { margin: 0 auto 75rem; }

/* .case-faq
------------------------------------*/
.case-faq { width: 87%; margin: 0 auto 75rem; }
.case-faq .faq-list dt button { padding-right: 6rem; }

/* .case-contact
------------------------------------*/
.case-contact {
	position: relative;
	background-color: rgba(255,255,255,0.75);
	width: 93%;
	margin: 0 auto;
	padding: 35rem 25rem 30rem;
}

.case-contact:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: -3rem;
	background: url(img/share/bg-line-green_sp.svg) no-repeat left top / 100% auto;
	width: calc(100% + 6rem);
	height: 10rem;
}

.case-contact h2 {
	margin-bottom: 25rem;
	color: var(--color-green);
	font-size: 17rem;
	line-height: 1.7;
	letter-spacing: 0.06em;
}

.case-contact .inner { margin: 0 auto 25rem; }
.case-contact .inner figure { margin-bottom: 30rem; }
.case-contact .inner figure img { border-radius: 6rem; }

.case-contact .inner .txt { width: 100%; transform: translateY(-2rem); }
.case-contact .inner .txt p { margin-bottom: 12rem; line-height: 1.85; letter-spacing: 0.02em; }

.tel-wrap { position: relative; }
.tel-wrap h3 { margin-bottom: 7rem; color: var(--color-green); font-size: 14rem; letter-spacing: 0.06em; }
.tel-wrap .tel { font-family: var(--font-gothic-en); font-variation-settings: "wght" 400; letter-spacing: 0.1em; }
.tel-wrap .tel em { padding-right: 4rem; font-size: 15rem; }
.tel-wrap .tel strong { font-variation-settings: "wght" 300; font-size: 24rem; }
.tel-wrap .tel span { display: block; margin-top: 10rem; font-size: 13rem; letter-spacing: 0.08em; }
.tel-wrap .attention-list { margin-top: 14rem; }
.tel-wrap .attention-list li { margin-bottom: 0; padding-left: 13rem; color: var(--color-text-gray); font-size: 12rem; letter-spacing: 0; }
.tel-wrap .attention-list li:not(:last-child) { margin-right: 8rem; }

.case-contact .btn-link { margin: 30rem -5rem 0; }
.case-contact .btn-link a { padding-top: 19rem; padding-bottom: 19rem; font-size: 16rem; }

/* .case-list
------------------------------------*/
.case-list-wrap {
	position: relative;
	background: var(--color-bg-beige);
	border-radius: 6rem;
	width: 94%;
	margin: 80rem auto 0;
	padding: 40rem 5.5% 20rem;
}

.case-list-wrap h2 {
	margin: 0 0 24rem;
	color: var(--color-green);
	font-size: 14rem;
	letter-spacing: 0.06em;
}

.case-list-wrap h2 i:first-of-type { padding-right: 0.5em; }
.case-list-wrap h2 i:last-of-type { padding-left: 0.5em; }

.case-list { display: flex; flex-wrap: wrap; justify-content: space-between; }
.case-list .list { width: 48%; margin-bottom: 20rem; }

.case-list .list a {
	display: block;
	position: relative;
	border-radius: 10rem;
	background: #FFFEFC;
	box-shadow: 0 2rem 2rem rgba(0, 0, 0, 0.25);
	padding: 50rem 15rem 15rem;
	color: var(--color-green);
}

.case-list .list .title-en { position: absolute; top: 18rem; left: 20rem; }
.case-list .list .title-en em { display: none; }
.case-list .list .title-en em img { width: 147rem; }

.case-list .list .title-en strong {
	display: block;
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 400;
	font-size: 12rem;
	letter-spacing: 0.1em;
	text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.1em;
}

.case-list .list figure {
	overflow: hidden;
	position: relative;
	border-radius: 5.5rem;
	width: 100%;
	height: auto;
	margin-bottom: 14rem;
	aspect-ratio: 1 / 1;
}

.case-list .list figure img { display: none; }
.case-list .list figure .active { display: block; object-fit: cover; width: 100%; height: 100%; }

.case-list .list .txt {
	width: 100%;
	padding: 0 0 2rem;
	font-family: var(--font-serif-jp);
	white-space: nowrap;
}

.case-list .list .txt h3 {
	display: block;
	font-weight: 600;
	font-size: 15rem;
	letter-spacing: 0.08em;
	text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
	opacity: 0.8;
	text-align: center;
}

.case-list .list .txt h3.let { font-size: 14rem; }
.case-list .list .txt h3 .let { letter-spacing: -0.15em; }

.case-list .list .txt h3 ruby > rt {
	display: none;
	/*margin-bottom: 3rem;
	font-size: 9rem;
	text-align: left;
	letter-spacing: -0.05em;*/
}

.case-list .list .txt h3 ruby > rt.center { text-align: center; }

_::-webkit-full-page-media, _:future, :root .case-list .list .txt h3 ruby > rt {
	margin-bottom: 0;
	transform: translateY(6rem);
}

.case-list .list .txt p { display: none; }

.case-list .list .arrow {
	position: absolute;
	top: 12rem;
	right: 13rem;
	background: url(img/share/btn-arrow.svg) no-repeat left top / 100% auto;
	width: 24rem;
	height: 24rem;
}

/* .btn-fix-appointment
------------------------------------*/
.btn-fix-appointment {
	position: fixed;
	bottom: 20rem;
	right: 18rem;
	/*filter: drop-shadow(4rem 8rem 2rem rgba(0, 0, 0, 0.15));*/
	z-index: 20;
	opacity: 1;
	transition: .4s var(--easeOutQuart) .1s;
}

#appointmentContents .btn-fix-appointment { display: none !important; }

.btn-fix-appointment.hidden,
#topContents .btn-fix-appointment,
#aboutContents .btn-fix-appointment { margin-bottom: -10rem; pointer-events: none; opacity: 0; transition: .2s var(--easeOutQuart); }

#topContents .btn-fix-appointment.active:not(.hidden),
#aboutContents .btn-fix-appointment.active:not(.hidden) { margin-bottom: 0; pointer-events: all; opacity: 1; transition: .25s ease-out; }

.btn-fix-appointment a { display: block; }
.btn-fix-appointment img { width: 85rem; }


/* page befor-eafter
---------------------------------------------------------------------------*/
#before-afterContents .page-head {
	margin-bottom: 50rem;
}

.before-after-wrap {
	padding: 0 5%;
}

/* .before-after-inner
------------------------------------*/
.before-after-inner {
	
}

.before-after-inner .attention-list {
	margin-bottom: 16rem;
	margin-left: 2.5%;
}

.before-after-inner .attention-list li {
	margin-bottom: 2rem;
	padding-left: 12rem;
	color: var(--color-text-gray);
	font-size: 11rem;
}

.before-after-inner .attention-list li:nth-of-type(1) { margin-right: -3rem; }

.before-after-inner .post { margin-top: -100rem; padding-top: 100rem; }
.before-after-inner .post:not(:last-of-type) { margin-bottom: 55rem; }

.before-after-inner .post-inner {
	position: relative;
	border-top: 1px solid var(--color-border-gray);
	padding: 58rem 0 0;
}

.before-after-inner .post h2 {
	position: absolute;
	top: 8rem;
	left: -1rem;
	color: var(--color-green);
	font-size: 15rem;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.before-after-inner .post h2 strong i { display: inline-block; }
.before-after-inner .post h2 strong i:first-of-type { padding-right: 0.3em; }
.before-after-inner .post h2 strong i:last-of-type { padding-left: 0.3em; }

.before-after-inner .post h2 em { display: none; }

/* .before-after-list
------------------------------------*/
.before-after-list article .inner { display: flex; align-items: center; }
.before-after-list article:not(:last-child) {
	border-bottom: 1px solid var(--color-border-gray);
	margin-bottom: 23rem;
	padding-bottom: 25rem;
}

.before-after-list article .img {
	display: flex;
	align-self: flex-start;
	justify-content: space-between;
	width: 105rem;
	min-width: 105rem;
	margin-bottom: 0 !important;
}

.before-after-list article figure {
	overflow: hidden;
	position: relative;
	width: 52rem;
	height: 73rem;
}

.before-after-list article figure img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.before-after-list article .txt { width: 100%; margin-left: 18rem; }

.before-after-list article h3 {
	position: relative;
	width: fit-content;
	margin-bottom: 6rem;
	padding-right: 23rem;
	color: var(--color-green);
	font-size: 15rem;
	line-height: 1.6;
	letter-spacing: 0.04em;
	text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.15em;
}

.before-after-list article h3:after {
	display: block;
	content: '';
	position: absolute;
	top: 4rem;
	right: 0;
	background: url(img/share/btn-arrow-s.svg) no-repeat left top / 100% auto;
	width: 16rem;
	height: 16rem;
}

.before-after-list article h4 {
	display: block;
	color: var(--color-text-gray);
	font-size: 11rem;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

.before-after-list article dl {
	display: flex !important;
	font-size: 13rem;
	line-height: 1.6;
	letter-spacing: 0.02em;
}

.before-after-list article dl:not(:last-child) { margin-bottom: 4rem; }
.before-after-list article dt { padding-right: 8rem; color: var(--color-green); white-space: nowrap; }

.before-after-list .inner-s {
	margin-top: 16rem;
	color: var(--color-text-gray);
	font-size: 10rem;
	line-height: 1.8;
	letter-spacing: 0.02em;
	text-align: justify;
}

.before-after-list .inner-s li { display: inline; }
.before-after-list .inner-s li span:last-of-type i,
.before-after-list .inner-s li:last-of-type i { display: none; }

.before-after-list + .btn-link.size-l { max-width: calc(100% + 10rem); margin: 35rem -5rem 0; }

/* .modal-before-after
------------------------------------*/
.modal-before-after {
	display: none;
	overflow-y: scroll;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100dvh;
	opacity: 0;
	z-index: 10010;
	transition: .3s var(--easeOutQuart);
}

.modal-before-after-close { position: absolute; top: 0; right: 0; padding: 27rem 30rem; z-index: 3; }
.modal-before-after-close img { width: 46rem; opacity: 0.8; }

.modal-before-after .btn { display: flex; justify-content: space-between; }

.modal-before-after .btn-arrow {
	padding: 28rem 25rem;
	color: var(--color-green);
	font-size: 13rem;
	letter-spacing: 0.08em;
	white-space: nowrap;
	z-index: 2;
}

.modal-before-after .btn-arrow img { display: inline-block; width: 8rem; }
.modal-before-after .btn-arrow.prev { left: 0; text-align: left; }
.modal-before-after .btn-arrow.next { right: 0; text-align: right; }
.modal-before-after .btn-arrow.prev img { margin-right: 10rem; transform: scaleX(-1); }
.modal-before-after .btn-arrow.next img { margin-left: 10rem; }

.modal-before-after .btn-arrow span {
	display: inline-block;
	transform: scaleX(1.03) translateY(-3rem);
}

.modal-before-after-inner { z-index: 0; }
.modal-before-after-inner article { display: none; }
.modal-before-after-inner article > div { padding: 85rem 7% 30rem; }

.modal-before-after-inner article .img {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 4rem;
	margin-bottom: 45rem;
}

.modal-before-after-inner article .img figure { position: relative; }

.modal-before-after-inner article .img figcaption {
	position: absolute;
	bottom: 10rem;
	right: 10rem;
	background-color: #FFFFFF;
	padding: 3rem 4rem 3rem 6rem;
	color: var(--color-green);
	font-size: 12rem;
	letter-spacing: 0.06em;
}

.modal-before-after-inner article .txt { padding: 0 5rem; }

.modal-before-after-inner article h3 {
	max-width: fit-content;
	margin-left: -1rem;
	margin-bottom: 4rem;
	color: var(--color-green);
	font-size: 19rem;
	line-height: 1.7;
	letter-spacing: 0.04em;
}

.modal-before-after-inner article h4 {
	display: block;
	color: var(--color-text-gray);
	font-size: 13rem;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

.modal-before-after-inner article .dl {
	display: block;
	position: relative;
	border-top: 1px solid #FFFFFF;
	margin: 26rem 0 0 -6rem;
}

.modal-before-after-inner article dl {
	display: flex;
	border-bottom: 1px solid #FFFFFF;
	padding: 10rem 6rem 10rem;
	font-size: 14rem;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

.modal-before-after-inner article dt {
	width: 105rem;
	min-width: 105rem;
	padding-right: 11rem;
	color: var(--color-green);
	font-size: 14rem;
	letter-spacing: 0.02em;
}

.modal-before-after-inner article dd span:last-of-type i { display: none; }
.modal-before-after-inner article .attention-list { margin-top: 15rem; }

.modal-before-after-inner article .attention-list li {
	margin-bottom: 2rem;
	color: var(--color-text-gray);
	font-size: 12rem;
}

.modal-before-after-inner article .btn-wrap { margin-top: 25rem; }
.modal-before-after-inner article .btn-wrap .btn-link-txt { display: inline-block; margin: 0 16rem 16rem 0; }
.modal-before-after-inner article .btn-wrap .btn-link-txt:last-of-type { margin-right: 0; }


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

/* .faq-wrap
------------------------------------*/
.faq-wrap { margin-bottom: 0; }

.faq-inner { width: 100%; }
.faq-inner .post { margin-top: -125rem; padding-top: 125rem; }
.faq-inner .post:not(:last-of-type) { margin-bottom: 80rem; }

.faq-inner .post h2 {
	display: block !important;
	margin: 0 0 18rem 3rem;
	color: var(--color-green);
	font-size: 15rem;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.faq-inner .post dd h2 {
	margin-bottom: 15rem;
	margin-left: 0;
	font-size: 14rem;
}

.faq-inner .post .btn-link { width: 100%; margin-top: 35rem; }

/* faq single
------------------------------------*/
.main .faq-list,
.main .faq-list dl { background: none; }

.main .faq-list dt {
	background: url(img/share/line-dot-gray.svg) repeat-x left bottom / 5rem auto;
	margin-bottom: 25rem;
}

.main .faq-list dt .ico,
.main .faq-list dt .arrow { display: none; }
.main .faq-list dt button { padding: 0 0 17rem; font-size: 17rem; pointer-events: none; }
.main .faq-list dd { display: block; padding: 0; }
.main .faq-list dd,
.main .faq-list dd p { font-size: 14rem; }


/* page appointment
---------------------------------------------------------------------------*/
#appointmentContents .page-head { margin-bottom: 40rem; }
#appointment-lead,
#appointment-flow,
#appointment-reservation,
#surgery-reservation,
#surgery-flow,
#appointment-faq { margin-top: -85rem; padding-top: 85rem; }
#appointment-flow2,
#appointment-reservation2,
#appointment-reservation3 { margin-top: -100rem; padding-top: 100rem; }

/* .appointment-main
------------------------------------*/
.appointment-main { margin-bottom: 30rem; }

.appointment-main figure {
  position: relative;
  overflow: hidden;
  width: 100%;
	height: 498rem;
}

.appointment-main figure img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	object-position: 50% 100%;
	width: 100%;
	height: 100%;
}

.appointment-main figure:nth-of-type(2) { display: none; }

/* .appointment-wrap
------------------------------------*/
.before-after-wrap nav dt { display: none; }
.appointment-wrap nav dd li:not(:last-child),
.before-after-wrap nav dd li:not(:last-child) { margin-bottom: 4rem; }

.appointment-wrap nav dd li a,
.before-after-wrap nav dd li a {
	display: inline-block;
	color: var(--color-green);
	font-size: 14rem;
	letter-spacing: 0.06em;
	text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

/* .appointment-doctorqube
------------------------------------*/
.appointment-doctorqube {
	background-color: #FFFFFF;
	border: 4rem solid var(--color-border-green);
	border-radius: 9rem;
	width: 100%;
	margin-top: 40rem;
	padding: 27rem 30rem 35rem !important;
}

.appointment-doctorqube.pm { display: none; margin-top: 20rem; }
.appointment-doctorqube.pm.active { display: block; }

.appointment-doctorqube .title {
	border-bottom: 1px solid var(--color-border-green);
	margin-bottom: 22rem;
	padding: 0 2rem 30rem;
}

.appointment-doctorqube .title h2 {
	margin-bottom: 6rem;
	color: var(--color-green);
	font-size: 17rem;
	line-height: 1.65;
	letter-spacing: 0.06em;
	white-space: nowrap;
}

.appointment-doctorqube .title time {
	display: block;
	margin-left: -1rem;
	font-size: 11rem;
	letter-spacing: 0.04em;
}

.appointment-doctorqube .title time i:first-of-type { padding-right: 2rem; }
.appointment-doctorqube .title time i:last-of-type { padding-left: 2rem; }

.appointment-doctorqube .waiting-info { padding: 0 2rem; }
.appointment-doctorqube .waiting-info > div { font-size: 13rem; letter-spacing: 0.04em; }

.appointment-doctorqube .waiting-info strong {
	padding: 0 1rem 0 5rem;
	color: var(--color-green);
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 300;
	font-size: 24rem;
	letter-spacing: 0.1em;
}

.appointment-doctorqube .waiting-info i { padding-right: 3rem; color: var(--color-green); }
.appointment-doctorqube .waiting-info .wait { margin-bottom: 12rem; color: var(--color-green); font-size: 13rem; }

.appointment-doctorqube .waiting-info .wait em {
	display: inline-block;
	padding-right: 9rem;
	font-size: 15rem;
	letter-spacing: 0.06em;
	text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
	transform: translateY(-3rem);
}

.appointment-doctorqube .waiting-info .now { margin-bottom: 10rem; }
.appointment-doctorqube .waiting-info .next strong { padding-left: 7rem; }
.appointment-doctorqube .waiting-info .next-finish span { padding-right: 2rem; }
.appointment-doctorqube .waiting-info .soon { display: none; line-height: 1.8; }

/* .surgery-day
------------------------------------*/
.surgery-day { padding: 32rem 32rem 32rem !important; }
.surgery-day .title { margin-bottom: 7rem; }

.surgery-day .title h3 {
	font-size: 14rem;
	line-height: 1.8;
	letter-spacing: 0.02em;
}

.surgery-day .title time {
	padding-left: 6rem;
	font-size: 11rem;
	letter-spacing: 0.06em;
}

.surgery-day .date {
	color: var(--color-green);
	font-size: 16rem;
	line-height: 1.8;
	letter-spacing: 0.02em;
}

.appointment-common .surgery-day  h6.title-sec:not(:first-child) { margin-top: 24rem !important; margin-bottom: 8rem; }

/* .appointment-inner
------------------------------------*/
.appointment-inner { width: 100%; }
.appointment-common { position: relative; }

.appointment-common h2 {
	margin-bottom: 25rem;
	color: var(--color-green);
	font-size: 18rem;
	letter-spacing: 0.1em;
}

.appointment-common .inner {
	position: relative;
	border-top: 1px solid var(--color-border-gray);
	margin: 0 -2.5% 75rem;
	padding: 60rem 2.5% 0 calc(20rem + 2.5%);
}

.appointment-common .inner:not(:has(h3.title-sec)) { padding-top: 38rem; }
.appointment-common.appointment-faq .inner { padding-top: 10rem !important; padding-left: 5rem; padding-right: 0; }
.appointment-common.appointment-faq .inner .faq-list { background: none; }
.appointment-common .inner h3.title-sec { position: absolute; top: 8rem; left: calc(2.5% - 5rem); }

.appointment-common .inner h4 {
	margin-bottom: 14rem;
	color: var(--color-green);
	font-size: 17rem;
	line-height: 1.8;
	letter-spacing: 0.08em;
}

.appointment-common .inner h4:not(:nth-child(1)):not(:nth-child(2)) { margin-top: 32rem; }
.appointment-common .inner .box-green + h4 { margin-top: 50rem !important; }

.appointment-common .inner h5:not(.title-sec) {
	margin-bottom: 10rem;
	color: var(--color-green);
	font-size: 16rem;
	line-height: 1.8;
	letter-spacing: 0.08em;
}

.appointment-common .inner h6:not(.title-sec) {
	display: inline-block !important;
	margin-bottom: 6rem;
	color: var(--color-green);
	font-size: 14rem;
	letter-spacing: 0.06em;
}

.appointment-common p { margin-bottom: 12rem; line-height: 1.9; letter-spacing: 0.01em; }

.appointment-common .inner > p + .tel { margin-top: 15rem; }

.appointment-common .dl-num-list { margin-left: -20rem; }
.appointment-common .dl-dot-list { margin-left: -20rem; }
.appointment-common .dl-num-list:nth-child(2),
.appointment-common .dl-dot-list:nth-child(2) { margin-top: 0; }

.appointment-common .btn-link { margin: 16rem 0 8rem -2rem; }

.appointment-common .box { display: inline-block; padding: 24rem 24rem 22rem 22rem; }
.appointment-common .box:not(:first-child) { margin-top: 24rem; }
.appointment-common ul + .box { margin-top: 25rem !important; }
.appointment-common dd > .box:last-child { margin-bottom: 8rem; }

.appointment-common .box h5 { margin-bottom: 10rem; }
.appointment-common .box p { text-align: justify; }
.appointment-common .box .dot-list li { font-size: 13rem; }
.appointment-common .box .dot-list li:not(:last-child) { margin-bottom: 3rem; }

.appointment-common .box-beige { padding: 35rem 30rem 25rem; }
.appointment-common .box-beige:not(:first-child) { margin: 50rem 0 0 -35rem; }
.appointment-common .box-beige h4 { margin-bottom: 20rem; text-align: center; }

.appointment-common .box-beige .box {
	background: rgba(255,255,255,0.4);
	border-radius: 3rem;
	margin: 28rem -5rem 0;
	padding: 28rem 25rem 23rem;
}

.appointment-common .box-beige p,
.appointment-common .dl-num-list.size-l dd .box-beige p { margin-bottom: 10rem; font-size: 14rem !important; }
.appointment-common .dl-num-list.size-l dd .box-beige .box p { font-size: 13rem !important; }

.box-green {
	background-color: var(--color-border-green-light);
	margin-left: -20rem;
	padding: 40rem 30rem 35rem;
}

.box-green:not(:first-child) { margin-top: 30rem; }
.tel + .box-green:not(:first-child) { margin-top: 40rem; }

.appointment-common .box-green h6.title-sec { margin-bottom: 12rem; }
.appointment-common .box-green h6.title-sec:not(:first-child) { margin-top: 30rem; }
.appointment-common .box-green p + h6.title-sec:not(:first-child) { margin-top: 25rem; }

.appointment-common .box-green .dot-list li {
	margin-bottom: 6rem;
	margin-right: 10rem;
	font-size: 13rem;
	text-align: justify;
}

.appointment-common .box-green .btn-link { margin-top: 5rem; }
.appointment-common .box-green .attention-list + .btn-link { margin-top: 18rem; }

.appointment-common .box-green .box,
.appointment-common .time-zone dl { background: none; padding: 0; }

.appointment-common .tel em,
.appointment-common .tel strong { font-family: var(--font-gothic-en); }

.appointment-common .tel em {
	padding-right: 4rem;
	font-variation-settings: "wght" 400;
	font-size: 15rem;
	letter-spacing: 0.1em;
}

.appointment-common .tel strong {
	font-variation-settings: "wght" 300;
	font-size: 26rem;
	letter-spacing: 0.08em;
}

.appointment-common .tel span {
	display: block;
	margin-top: 13rem;
	font-size: 12rem;
	letter-spacing: 0.06em;
}

.appointment-common .attention-list { margin-top: 20rem; }

.appointment-common .box-green .box-inner {
	border-top: 2px solid #FFFFFF;
	margin-top: 40rem;
	padding-top: 38rem;
}

.appointment-common .time-zone {
	display: grid;
	grid-template-columns: 1fr;
	gap: 30rem;
	margin: 30rem 0 35rem;
}

.appointment-common .time-zone dl { background: none; padding: 0; }

.appointment-common .time-zone dt {
	margin-bottom: 22rem;
	color: var(--color-green);
	font-size: 14rem;
	letter-spacing: 0.06em;
	text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.3em;
}

.appointment-common .time-zone dd { position: relative; }
.appointment-common .time-zone ul.even,
.appointment-common .time-zone .ul-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18rem; }

.appointment-common .time-zone li {
	display: block;
	position: relative;
	padding-left: 26rem;
	font-size: 13rem;
	letter-spacing: 0;
}

.appointment-common .time-zone li:not(:last-child) { margin-bottom: 16rem; }

.appointment-common .time-zone li i {
	display: block;
	position: absolute;
	top: -4rem;
	left: 0;
	background-color: #80A685;
	border-radius: 50%;
	width: 20rem;
	height: 20rem;
	padding: 4rem 0 0;
	color: var(--color-white);
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 500;
	font-size: 11rem;
	text-align: center;
}

_::-webkit-full-page-media, _:future, :root .appointment-common .time-zone li i {
	top: -3rem;
	width: 19rem;
	height: 19rem;
	padding-top: 3rem;
}

.appointment-common .time-zone li span {
	display: inline-block;
	padding: 0 1rem 0 1rem;
	font-size: 13rem;
	transform: translateY(-1rem);
}

.appointment-common .time-zone li span.line { padding: 0 2rem 0 3rem; }

.appointment-common .time-zone dd p {
	position: absolute;
	bottom: -4rem;
	right: 9rem;
	font-size: 10rem;
}

.appointment-common .order-time { margin: 0 0 20rem; }
.appointment-common .order-time dl { display: flex; margin-bottom: 7rem; }

.appointment-common .order-time dt {
	margin-right: 12rem;
	font-size: 14rem;
	letter-spacing: 0.04em;
	transform: scaleX(1.03) translateY(8rem);
}

.appointment-common .order-time dd {
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 300;
	font-size: 23rem;
	letter-spacing: 0.05em;
}

.appointment-common .order-time dd i { display: inline-block; padding-left: 0.05em; transform: translateY(-2rem); }
.appointment-common .order-time dd i.line { transform: translateY(-1rem); }
.appointment-common .order-time dd span.let { letter-spacing: 0.1em; }

.appointment-common .order-time + .attention-list li,
.appointment-common .box-green .box .attention-list li {
	max-width: none;
	margin-bottom: 4rem;
	margin-right: 10rem;
	padding-left: 16rem;
	color: var(--color-text-gray);
	font-size: 13rem;
	letter-spacing: 0;
	text-align: justify;
}

.appointment-common .order-time + .attention-list li:last-of-type,
.appointment-common .box-green .box .attention-list li:last-of-type {
	margin-bottom: 0 !important;
}

.appointment-common .btn-link.size-l { width: auto; }

.appointment-common .btn-link.size-l a {
	display: inline-block;
	padding-top: 13rem;
	padding-bottom: 14rem;
	font-size: 14rem;
	letter-spacing: 0.08em;
}

/* .appointment-method-list
------------------------------------*/
.appointment-method-list {
	position: relative;
	padding: 0 0 0 20rem;
	margin: 12rem 0 0 -11rem;
}

.appointment-method-list:before {
	display: block;
	content: '';
	position: absolute;
	top: 4rem;
	left: 2rem;
	background-color: var(--color-border-green-txt);
	width: 1.5rem;
	height: calc(100% - 4rem);
}

.appointment-common .inner .appointment-method-list h5 {
	margin-bottom: 5rem;
	color: var(--color-green);
	font-size: 15rem;
	letter-spacing: 0.06em;
}

.appointment-common .inner .appointment-method-list h5:not(:first-child) { margin-top: 14rem; }

.appointment-method-list ul.even { display: flex; flex-wrap: wrap; gap: 0 20rem; }
.appointment-method-list li { margin-bottom: 2rem; font-size: 13rem; letter-spacing: 0.02em; }

/* .appointment-method
------------------------------------*/
.appointment-method {
	position: relative;
	overflow: hidden;
	width: 100vw;
	margin: 30rem -7vw 55rem calc(-7vw - 20rem);
	padding: 5rem 0 5rem 20rem;
}

.appointment-method:before {
	display: block;
	content: '';
	position: absolute;
	top: -5rem;
	right: 4rem;
	background: url(img/share/line-wave-v.png?260928_2) no-repeat left top / cover;
	width: 10rem;
	height: calc(100% + 10rem);
	z-index: 2;
}

.appointment-method:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: -5rem;
	background: var(--color-bg);
	width: 10rem;
	height: 100%;
}

.appointment-method table { width: calc(100%); }

.appointment-method tbody tr:last-of-type th,
.appointment-method tr:last-of-type td {
	border-bottom: none !important;
}

.appointment-method th {
	background-color: var(--color-border-green-light);
	border-right: 1px solid var(--color-white);
	border-bottom: 1px solid var(--color-white);
}

.appointment-method thead th {
	padding: 8rem 0 9rem;
	color: var(--color-green);
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 300;
	font-size: 13rem;
	letter-spacing: 0.1em;
	text-align: center;
}

.appointment-method thead th:first-of-type { border-radius: 6rem 0 0 0; }
.appointment-method tbody tr:last-of-type th { border-radius: 0 0 0 6rem; }

.appointment-method tbody th {
	min-width: 33rem;
	padding: 16rem 10rem;
	font-weight: 400;
	vertical-align: middle;
}

.appointment-method tbody th strong {
	display: block;
	color: var(--color-green);
	font-size: 14rem;
	letter-spacing: 0.1em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.appointment-method tbody th .dot-list { display: none; }

.appointment-method tbody td {
	background-color: rgba(255,255,255,0.4);
	border-bottom: 1px solid var(--color-border-gray);
	padding: 14rem 20rem;
	vertical-align: middle;
}

.appointment-method tbody tr:not(:last-child) td { border-right: 1px solid var(--color-border-gray); }
.appointment-method tbody td.line-dot { position: relative; border-bottom: none; }

.appointment-method tbody td.line-dot:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background: url(img/share/line-dot-gray.svg) repeat-x left bottom / 5rem auto;
	width: 100%;
	height: 2rem;
}

.appointment-method tbody td span {
	display: inline-block;
	color: var(--color-green);
	font-size: 13rem;
	letter-spacing: 0.08em;
}

.appointment-method tbody td ul { display: flex; gap: 0 5rem; }

.appointment-method tbody td ul.single {
	display: inline-block;
	margin: -25rem 0 -25rem 10rem;
	transform: translateY(8rem);
}

.appointment-method tbody td li,
.appointment-method tbody td li img { width: 30rem; }

.appointment-method tbody td ul.single li {
	transform: translate(-110rem,72rem);
	animation: anime_appointment_method_li1 3.5s var(--easeInOutQuad) infinite;
}

@keyframes anime_appointment_method_li1 {
	0% { transform: translate(-110rem,72rem); opacity: 1; }
	20% { transform: translate(0,0); opacity: 1; }
	70% { transform: translate(0,0); opacity: 1; }
	80% { transform: translate(0,0); opacity: 0; }
	100% { transform: translate(0,0); opacity: 0; }
}

.appointment-method tbody td ul.anime-list {
	transform: translateX(35rem);
	animation: anime_appointment_method_li2 3.5s var(--easeOutSine) infinite;
}

@keyframes anime_appointment_method_li2 {
	0% { transform: translateX(35rem) }
	10% { transform: translateX(35rem) }
	26% { transform: translateX(0rem) }
	100% { transform: translateX(0rem) }
}

.appointment-method tbody td ul.anime-list li {
	animation: anime_appointment_method_li3 3.5s linear infinite;
}

@keyframes anime_appointment_method_li3 {
	0% { transform: translateY(0rem) }
	10% { transform: translateY(0rem) }
	13% { transform: translateY(-2rem) }
	16% { transform: translateY(0rem) }
	19% { transform: translateY(-2rem) }
	22% { transform: translateY(0rem) }
	100% { transform: translateX(0rem) }
}

/* .appointment-lead
------------------------------------*/
.appointment-lead { margin-bottom: 80rem; padding: 0 10rem; }

/* .appointment-reservation
------------------------------------*/
#appointment-reservation2 > .inner > h4,
#appointment-reservation2 > .inner > p,
#appointment-reservation3 > .inner > h4,
#appointment-reservation3 > .inner > p,
.surgery-reservation > .inner > p,
.surgery-reservation > .inner > p + .tel-wrap {
	margin-left: -11rem;
}


/* page error
---------------------------------------------------------------------------*/
#errorContents { padding: 0 0 1rem; }
#errorContents .page-head { margin-bottom: 45rem; }
.error-wrap p br { display: none; }