@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 / 130rem 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.4px + 0.0454vw);
}

@media (min-width: 1320px) {
	html {
		font-size: calc(0.7px + 0.0227vw);
	}
}

body {
	overflow-y: scroll;
	background: var(--color-bg);
	color: var(--color-text);
	font-size: 16rem;
	font-family: var(--font-gothic-jp);
	line-height: 1;
	font-feature-settings: 'palt' 1;
	-webkit-text-size-adjust: none !important;
}

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

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

p { font-size: 16rem; line-height: 2; letter-spacing: 0.08em; margin-bottom: 1em; }
p .p_wide { display: block; margin-bottom: 1em; }
p:last-child { margin-bottom: 0 !important; }
h1,h2,h3,h4,h5,h6 { line-height: 1.6; }
figure img { width: 100%; }
.tel-link { pointer-events: none; }

.block { display: inline-block !important; }
.wide { display: inline-block !important; }
.narrow { display: none !important; }
.nav-sp, .btn-nav { display: none !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,
.dot-list-color li span,
.dot-list-border-white li span,
.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 dt,
.drop-page-nav li a > 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,
.top-main .txt li button 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-main .title figcaption,
.case-list .lead dt,
.case-common .inner .box .num-list li span,
.case-common .inner figure figcaption,
.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,
.surgery-day .title time {
  display: inline-block;
	transform-origin: left center;
	transform: scaleX(1.03);
	max-width: 97%;
}

section p {
	display: block;
}

.btn-link:not(.size-l),
.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 dt,
.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,
.mnav,
.case-research,
.surgery-result .dl 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 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-inner article {
	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; transition: .15s ease-out; -webkit-transform: translateZ(0); }
.hover { cursor: pointer; transition: .15s ease-out; }
a:hover,.hover:hover { text-decoration: none; opacity: 0.6; }

p a,
.dot-list li a,
.attention-list li a { 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 20rem 14rem 24rem;
	color: #FFFFFF;
	font-size: 14rem;
	letter-spacing: 0.1em;
	text-align: center;
}

.btn-link.size-m a { padding-top: 16rem; padding-bottom: 16rem; }
.btn-link.size-l a { display: block; letter-spacing: 0.15em; padding: 18rem 32rem 18rem 36rem; }

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

.btn-link.root a:before {
	display: block;
	content: '';
	position: absolute;
	top: calc(50% - 7rem);
	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 12rem 30rem;
	color: #FFFFFF;
	font-size: 14rem;
	line-height: 1.4;
	letter-spacing: 0.14em;
}

.btn-line-white a:hover {
	background-color: rgba(255,255,255,1);
	color: var(--color-green);
	opacity: 1;
}

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

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

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


/* #wrap
---------------------------------------------------------------------------*/
#wrap { min-width: var(--width-min); }


/* header
---------------------------------------------------------------------------*/
header {
	width: 100%;
	margin: 0 0 70rem;
	padding: 24rem 24rem 0 36rem;
	color: var(--color-green);
	opacity: 0;
}

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

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

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

.header-title strong { display: inline-block; transform: translateY(-7rem); }
.header-title strong span {
	display: inline-block;
	background-color: var(--color-white);
	border: 2rem solid var(--color-green-logo);
	border-radius: 5rem;
	padding: 5rem 9rem 5rem 9rem;
	font-size: 14rem;
	letter-spacing: 0.1em;
}

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

.header-title .tel {
	margin-left: 2rem;
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 300;
	font-size: 24rem;
	letter-spacing: 0.09em;
}

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

/* .gnav
------------------------------------*/
.gnav > ul { display: flex; }
.gnav > ul > li { position: relative; }

.gnav > ul > li:after {
	display: block;
	content: '';
	position: absolute;
	top: 37rem;
	left: 13rem;
	background: url(img/share/line-dot-green.png) repeat-x left bottom;
	width: calc(100% - 24rem);
	height: 1px;
	opacity: 0;
}

.case-detail .gnav > ul > li:after { left: 11rem; }

.gnav > ul > li#gnav-news:after { width: calc(100% - 24rem); }
.gnav > ul > li#gnav-about:after { width: calc(100% - 23rem); }
.gnav > ul > li#gnav-surgery:after { width: calc(100% - 22rem); }
.gnav > ul > li#gnav-case:after { width: calc(100% - 25rem); }
.gnav > ul > li#gnav-before-after:after { width: calc(100% - 24rem); }
.gnav > ul > li#gnav-faq:after { width: calc(100% - 23rem); }
.gnav > ul > li#gnav-appointment:after { width: calc(100% - 24rem); }

.case-detail .gnav > ul > li#gnav-news:after { width: calc(100% - 20rem); }
.case-detail .gnav > ul > li#gnav-about:after { width: calc(100% - 20rem); }
.case-detail .gnav > ul > li#gnav-surgery:after { width: calc(100% - 18rem); }
.case-detail .gnav > ul > li#gnav-case:after { width: calc(100% - 20rem); }
.case-detail .gnav > ul > li#gnav-before-after:after { width: calc(100% - 20rem); }
.case-detail .gnav > ul > li#gnav-faq:after { width: calc(100% - 19rem); }
.case-detail .gnav > ul > li#gnav-appointment:after { width: calc(100% - 20rem); }

.gnav:has(#gnav-case:hover) > ul > li:after,
footer .gnav > ul > li:after { background-image: url(img/share/line-dot-white.png); }

.gnav > ul > li:hover:after,
body.news .gnav > ul > li#gnav-news:after,
body.about .gnav > ul > li#gnav-about:after,
body.access .gnav > ul > li#gnav-about:after,
body.doctor .gnav > ul > li#gnav-about:after,
body.surgery .gnav > ul > li#gnav-surgery:after,
body.case-atheroma .gnav > ul > li#gnav-case:after,
body.case-lipoma .gnav > ul > li#gnav-case:after,
body.case-ptosis .gnav > ul > li#gnav-case:after,
body.case-ingrown-nail .gnav > ul > li#gnav-case:after,
body.case-seborrheic-keratosis .gnav > ul > li#gnav-case:after,
body.case-moles .gnav > ul > li#gnav-case:after,
body.before-after .gnav > ul > li#gnav-before-after:after,
body.faq .gnav > ul > li#gnav-faq:after,
body.appointment .gnav > ul > li#gnav-appointment:after {
	opacity: 1;
}

.gnav > ul > li > a,
.gnav > ul > li > button {
	display: block;
	position: relative;
	padding: 16rem 12rem 30rem;
	color: var(--color-green);
	font-size: 16rem;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.gnav > ul > li > button { cursor: default; }

/* .mnav
------------------------------------*/
.btn-mnav { position: relative; }

.mnav-wrap {
	position: absolute;
	top: 50rem;
	left: -45rem;
	width: 595rem;
	transition: .25s var(--easeOutCubic);
	visibility: hidden;
	pointer-events: none;
	opacity: 0;
	z-index: 0;
}

.btn-mnav:hover .mnav-wrap { top: 60rem; visibility: visible; pointer-events: auto; opacity: 1; }

body.top header.btm .mnav-wrap {
	top: inherit !important;
	bottom: 50rem;
	padding-bottom: 10rem;
}

body.top header.btm .btn-mnav:hover .mnav-wrap { bottom: 60rem; }

.mnav { position: relative; border-radius: 5rem; padding: 32rem 30rem 26rem; }
footer .mnav { box-shadow: 0 4rem 8rem -2rem rgba(0, 0, 0, 0.4); }

.mnav:before {
	display: block;
	content: '';
	position: absolute;
	top: -9rem;
	left: 105rem;
	background: url(img/share/mnav-fukidashi.png) no-repeat left top / 100% auto;
	width: 10rem;
	height: 10rem;
}

body.top header.btm .mnav:before { top: inherit; bottom: -9rem; transform: scaleY(-1); }

.mnav ul { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0 30rem; }
.mnav li a { display: block; }
.mnav li figure { margin-bottom: 12rem; }
.mnav li figure img { border-radius: 5rem; }
.mnav li strong { display: block; color: var(--color-white); font-size: 15rem; letter-spacing: 0.06em; }
.mnav li:nth-of-type(4) strong,
.mnav li:nth-of-type(5) strong { letter-spacing: 0; }
footer .mnav li strong { color: var(--color-green); }

/* #gnav-case .mnav-wrap
------------------------------------*/
.gnav { position: relative; z-index: 12; }
.gnav:has(#gnav-case:hover) > ul > li > a,
.gnav:has(#gnav-case:hover) > ul > li > button { color: var(--color-white); transition: none !important; }

.bg-gnav {
	position: absolute;
	top: -100vh;
	left: 0;
	background: rgba(110,108,105,0.6);
	width: 100%;
	height: calc(200vh + 500rem);
	z-index: 11;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	transition: .15s ease-out;
}

.gnav:has(#gnav-case:hover) + .bg-gnav { visibility: visible; opacity: 1; }

footer .bg-gnav { display: none; }

.gnav:not(:has(#gnav-before-after)) #gnav-about .mnav-wrap { left: -100rem; }
.header-inner .gnav:not(:has(#gnav-before-after)) #gnav-about .mnav-wrap { left: -75rem; }
footer .gnav #gnav-about .mnav-wrap { left: -95rem; }
footer .gnav:not(:has(#gnav-before-after)) #gnav-about .mnav-wrap { left: -190rem; }

#gnav-case .mnav-wrap { left: inherit; right: -280rem; width: 1000rem; }
footer #gnav-case .mnav-wrap { right: -175rem; }
.gnav:not(:has(#gnav-before-after)) #gnav-case .mnav-wrap { right: -180rem; }
.header-inner .gnav:not(:has(#gnav-before-after)) #gnav-case .mnav-wrap { right: -190rem; }
footer .gnav:not(:has(#gnav-before-after)) #gnav-case .mnav-wrap { right: -80rem; }

footer .mnav,
#gnav-case .mnav,
.nav-pic-case .case .fukidashi > div {
	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;
}

#gnav-case .mnav { padding: 45rem 45rem 45rem; }

footer .mnav:before,
#gnav-case .mnav:before { background-image: url(img/share/mnav-fukidashi-beige.png) !important; }

.gnav:not(:has(#gnav-before-after)) #gnav-about .mnav:before { left: 157rem; }
.header-inner .gnav:not(:has(#gnav-before-after)) #gnav-about .mnav:before { left: 134rem; }
footer #gnav-about .mnav:before { left: 155rem; }
footer .gnav:not(:has(#gnav-before-after)) #gnav-about .mnav:before { left: 249rem; }

#gnav-case .mnav:before { left: inherit; right: 322rem; }
footer #gnav-case .mnav:before { right: 216rem; }
.gnav:not(:has(#gnav-before-after)) #gnav-case .mnav:before { right: 219rem; }
.header-inner .gnav:not(:has(#gnav-before-after)) #gnav-case .mnav:before { right: 232rem; }
footer .gnav:not(:has(#gnav-before-after)) #gnav-case .mnav:before { right: 122rem; }

#gnav-case .mnav ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
	gap: 0 35rem;
}

#gnav-case .mnav li a:hover { opacity: 1; }

#gnav-case .mnav li figure {
	position: relative;
	margin-bottom: 14rem;
	background: url(img/case/pic-case-frame.jpg) no-repeat left top / cover;
	padding: 4rem 5rem;
}

#gnav-case .mnav li figure img { border-radius: 0; }

#gnav-case .mnav li figure img.active {
	position: absolute;
	top: 4rem;
	left: 5rem;
	width: calc(100% - 10rem);
	opacity: 0;
}

#gnav-case .mnav li a:hover figure img.active { opacity: 1; }

#gnav-case .mnav li em,
#gnav-case .mnav li strong { display: block; transition: .15s ease-out; }
#gnav-case .mnav li a:hover em,
#gnav-case .mnav li a:hover strong { opacity: 0.6; }

#gnav-case .mnav li em {
	margin: 0 0 6rem 1rem;
	color: var(--color-text);
	font-size: 12rem;
	line-height: 1.8;
	letter-spacing: 0.06em;
}

#gnav-case .mnav li strong { margin-left: 1rem; color: var(--color-green); }

#gnav-case .mnav li strong i {
	display: inline-block;
	background: url(img/share/btn-arrow-s.svg) no-repeat left top / 100% auto;
	width: 20rem;
	height: 20rem;
	margin-right: -10rem;
	margin-left: 10rem;
	transform: translateY(4rem);
}


/* footer
---------------------------------------------------------------------------*/
footer {
	position: relative;
	margin: 100rem 0 0;
	padding: 180rem 5% 70rem;
}

footer:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	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: 90rem;
	pointer-events: 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 -20rem 80rem;
	padding: 0 20rem;
}

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

.plist li {
	position: relative;
	margin: 0 26rem 6rem 0;
	font-size: 14rem;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

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

.footer-nav .gnav #gnav-faq { display: none; }

footer .gnav > ul > li > a,
footer .gnav > ul > li > button { margin-bottom: -10rem; }

.footer-schedule {
	position: absolute;
	bottom: 70rem;
	right: 5.5%;
	max-width: 470rem;
}

.footer-info h3 {
	margin-bottom: 35rem;
	font-size: 25rem;
	line-height: 2;
	letter-spacing: 0.14em;
}

.footer-info-inner { display: flex; align-items: flex-end; gap: 0 38rem; }
.footer-info figure { width: 269rem; }

.info-clinic { position: relative; padding-bottom: 45rem; }

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

.footer-info .info-clinic h2 { margin-bottom: 6rem; }

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

footer .info-clinic h2 > em { margin-bottom: -12rem; }

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

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

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

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

.info-clinic h2 strong span em { padding-left: 3rem; font-size: 10rem; }

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

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

.info-clinic .link {
	margin: 20rem 0 5rem;
	font-size: 14rem;
	letter-spacing: 0.01em;
	text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.1em;
}

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

.info-clinic .sns { position: absolute; bottom: -4rem; left: -8rem; }

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

footer .snav { position: absolute; bottom: 433rem; right: 5%; }
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: 8rem 18rem 8rem 40rem;
	color: var(--color-green);
	font-size: 17rem;
	letter-spacing: 0.06em;
}

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;
	position: absolute;
	bottom: 284rem;
	right: 5.5%;
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 400;
	font-size: 12rem;
	letter-spacing: 0.08em;
}

/* .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: 19rem 12rem 19rem;
	color: var(--color-text-beige);
	font-weight: 400;
	font-size: 15rem;
	letter-spacing: 0em;
	text-align: center;
	vertical-align: middle;
}

.schedule th:first-of-type {
	padding-right: 20rem;
	padding-left: 25rem;
	font-size: 14rem;
	letter-spacing: 0.2em;
}

.schedule td {
	padding: 17rem 12rem 16rem;
	font-size: 17rem;
	text-align: center;
	vertical-align: middle;
}

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

.schedule th:last-of-type,
.schedule td:last-of-type { padding-right: 25rem; padding-left: 10rem; }
.schedule tr:last-of-type td { padding-bottom: 23rem; }

.schedule td > div { position: relative; }

.schedule td .triangle { display: block; width: 16rem; margin: -2px auto 0; }

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

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

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

.schedule .attention-list li { margin: 0; letter-spacing: 0.04em; }

/* .tabel-common
------------------------------------*/
.tabel-common {
	width: 100%;
	font-size: 13rem;
	line-height: 1.8;
	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: 12rem 20rem 26rem 14rem; vertical-align: top; }

.tabel-common thead th,
.tabel-common td { padding-right: 16rem; padding-left: 16rem; }

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

.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: 11rem; padding-bottom: 10rem; text-align: center; }
.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 { min-height: 850rem; opacity: 0; }

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

/* .page-head
------------------------------------*/
.page-head,
.faq-wrap,
.appointment-wrap,
.before-after-wrap,
.error-wrap {
	max-width: calc(1100rem + 12%);
	margin: 0 auto 100rem;
	padding: 0 6%;
}

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

.title-page h1,
.title-page h2 {
	display: block;
	margin-bottom: 13rem;
	font-size: 27rem;
	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: 3rem;
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 400;
	font-size: 15rem;
	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.1em;
	text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.6em;
}

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

/* .dot-list
------------------------------------*/
.dot-list li,
.news-main ul li {
	display: block;
	position: relative;
	margin: 0 0 6rem 3rem;
	padding-left: 15rem;
	font-size: 15rem;
	line-height: 2;
	letter-spacing: 0.08em;
}

.dot-list li:last-of-type,
.news-main ul li:last-of-type { margin-bottom: 0 !important; }
.dot-list li:before,
.news-main 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 24rem;
}

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

.dot-list-color li,
.dot-list-border-white li {
	display: block;
	position: relative;
	margin: 0 0 5rem;
	padding-left: 12rem;
	font-size: 14rem;
	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: 16rem;
	font-size: 14rem;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.attention-list li:last-of-type { margin-bottom: 0; }
.attention-list li:before { display: block; content: '※'; position: absolute; top: 0; left: 0; }
.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: 22rem 50rem 22rem 65rem;
	color: var(--color-green);
  font-size: 16rem;
  line-height: 1.7;
  letter-spacing: 0.06em;
  text-align: left;
}

.faq-list dt button .ico {
  position: absolute;
  top: 21rem;
  left: 14rem;
	background: url(img/share/btn-plus.svg) no-repeat left top / 100% auto;
	width: 28rem;
	height: 28rem;
	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 center top 33rem / 6rem auto;
	width: 50rem;
	height: 100%;
	z-index: 2;
}

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

.faq-list dd { display: none; padding: 0 17rem 50rem 65rem; }
.case-faq .faq-list dd { padding-bottom: 35rem; }

.faq-list dd,
.faq-list dd p {
	font-size: 14rem;
	letter-spacing: 0.04em;
	text-align: justify;
}

.faq-list dd p:not(:last-child) { margin-bottom: 10px; }
.faq-list dd p a { color: var(--color-green); }

/* .sec-common
------------------------------------*/
.sec-common {
	position: relative;
	border-top: 1px solid var(--color-border-gray);
	width: 1000rem;
	margin: 0 auto 120rem;
	padding: 115rem 0 0 45rem;
}

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

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

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

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

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

.sec-common .dl-wrap { display: flex; gap: 0 40rem; }
.sec-common .dl-wrap .dl-dot-list { margin: 0; }
.sec-common .dl-dot-list dl:not(:last-child) { margin-bottom: 15rem; }
.sec-common .dl-dot-list dt,
.sec-common .dl-dot-list dd { max-width: none; padding-left: 22rem; }
.sec-common .dl-dot-list dt { margin-bottom: 5rem; font-size: 15rem; }
.sec-common .dl-dot-list dt:before { background-color: var(--color-green); width: 5rem; height: 5rem; }
.sec-common .dl-dot-list dd { font-size: 14rem; }

/* .nav-page
------------------------------------*/
.nav-page {
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid var(--color-border-green);
	width: 1044rem;
	margin: 0 auto 75rem;
	padding: 0 18rem;
}

.nav-page h2 {
	margin-top: -8rem;
	color: var(--color-green);
	font-size: 18rem;
	line-height: 1.85;
	letter-spacing: 0.08em;
}

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

.nav-page li:not(:last-child):after {
	display: block;
	content: '';
	position: absolute;
	top: 2rem;
	right: 0;
	background-color: var(--color-border-green);
	width: 1px;
	height: 50rem;
}

.nav-page li a { display: block; padding: 0 35rem 38rem; }

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

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

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

.nav-page li strong i {
	display: block;
	position: absolute;
	top: 5rem;
	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 { display: none !important; }

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

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


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

/* .news-head
------------------------------------*/
.news-head { display: flex; align-items: flex-end; justify-content: space-between; }
.news-category { display: flex; margin: 0 -10rem -10rem 180rem; }
.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: 10rem 12rem;
	color: var(--color-green);
	font-size: 17rem;
	line-height: 1.7;
	letter-spacing: 0.1em;
}

.news-category li.current a:after,
.news-category .select.current:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 8rem;
	left: 12rem;
	background: url(img/share/line-dot-green.png) repeat-x left bottom / 4rem auto;
	width: calc(100% - 24rem);
	height: 1rem;
}

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

/* .news-list
------------------------------------*/
.news-list {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 85rem 90rem;
	max-width: calc(1100rem + 12%);
	margin: 0 auto 100rem;
	padding: 0 calc(6% + 30rem);
}

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

.news-list figure {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  margin-bottom: 22rem;
}

.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 time {
	display: block;
	margin-bottom: 12rem;
	font-size: 12rem;
	letter-spacing: 0.1em;
}

.news-list h3 {
	margin-bottom: 17rem;
	color: var(--color-green);
	font-size: 15rem;
	line-height: 1.75;
	letter-spacing: 0.06em;
}

.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: 4rem 6rem 3rem 8rem;
	color: var(--color-green);
	font-size: 14rem;
	letter-spacing: 0.06em;
}

.news-list-txt .category span { transform-origin: right center; }


/* news single
---------------------------------------------------------------------------*/
#newsContents.single .news-head { margin-bottom: 15rem; }

.news-area {
	width: 850rem;
	margin: 0 auto;
	padding: 0 0 0 200rem;
}

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

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

.news-title h1 {
	display: block;
	padding-top: 18rem;
	font-size: 18rem;
	line-height: 1.6;
	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: 15rem;
	line-height: 2;
	letter-spacing: 0.08em;
}

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

.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% + 0rem); height: auto; margin: 40rem 0 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: 15rem;
  line-height: 2;
  letter-spacing: 0.08em;
}

.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; }
.news-main blockquote p,
.faq-list dd blockquote p { font-size: 14rem; line-height: 1.9; }

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

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

.news-table table {
	width: calc(100% + 10rem);
	margin: 0 -5rem 40rem;
	font-size: 15rem;
	line-height: 1.7;
	letter-spacing: 0.08em;
}

.news-table tr:first-of-type { border-top: 1px solid var(--color-border); }
.news-table tr { border-bottom: 1px solid var(--color-border); }
.news-table th, .news-table td { padding-top: 7rem; padding-bottom: 10rem; }

.news-table th {
	position: relative;
	min-width: 115rem;
	padding-right: 20rem;
	padding-left: 5rem;
	color: var(--color-green);
	font-weight: 400;
	text-align: left;
	vertical-align: top;
}

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

.news-table-attention {
	display: block;
	margin-top: -26rem;
	font-size: 13rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

/* .news-link
------------------------------------*/
.news-table + .news-link { margin-left: -5rem; }
.news-link { margin-top: 50rem; }
.news-link li { display: inline-block; margin: 0 10rem 12rem 0; }

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

.news-other > h2 {
	margin-bottom: 36rem;
	color: var(--color-green);
	font-size: 19rem;
	line-height: 1.8;
	letter-spacing: 0.16em;
}

.news-other .btn-link { display: block; margin: 40rem 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: 22rem 0 16rem 2rem;
}

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

.news-list-txt .txt {
	display: flex;
	justify-content: space-between;
	gap: 0 20rem;
}

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

.news-list-txt h3 {
	padding-right: 80rem;
	color: var(--color-green);
	font-size: 16rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.news-list-txt .category { margin-top: 6rem; white-space: nowrap; }

/* .share
------------------------------------*/
.share { display: flex; margin: 25rem 0 0 4rem; }

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

.share li { display: inline-block; margin-right: 2rem; }

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

.share li a:hover,
.share li button:hover { opacity: 0.6; }

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


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

.wp-pagenavi a,
.wp-pagenavi .current {
	display: inline-block;
	margin: 0 6rem;
	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 header {
	position: absolute;
	top: calc(100% - 140rem);
	left: 0;
	width: 100%;
	height: 140rem;
	z-index: 10;
}

body.top header .header-title > em { margin-top: 6rem; }
body.top header .header-title .tel { display: none; }
body.top header .gnav { padding-top: 54rem; }

#topContents { overflow: hidden; }


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

.top-intro h2 {
	position: absolute;
	top: 57%;
	right: 34.5%;
	transform: translate(-50%,-50%) scaleX(1.03) !important;
	color: var(--color-white);
	font-size: max(2.1vw, 28rem);
	letter-spacing: 0.17em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	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-left: max(2vw, 30rem); }
.top-intro h2 span i { display: inline-block; transform: translateX(-100rem); }

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

.top-intro .pic1 { bottom: 0; right: 3.2%; z-index: 4; transform-origin: right bottom; }
.top-intro .pic2 { bottom: 0; left: 33.7%; z-index: 3; transform-origin: right bottom; }
.top-intro .pic3 { bottom: min(76.5vh, calc(55.9vh + 172rem)); left: calc(25.3% - 17rem); z-index: 0; transform-origin: left bottom; }
.top-intro .pic4 { top: 0; right: 2.6%; 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: min(36vh, 301rem); left: 0; z-index: 5; transform-origin: left bottom; }
.top-intro .tree { bottom: 55.9vh; left: 25.3%; z-index: 1; opacity: 1; }

.top-intro .pic1 img { max-width: 24vw; max-height: 56.7vh; }
.top-intro .pic2 img { max-width: 17.2vw; max-height: 29.7vh; }
.top-intro .pic3 img { max-width: 7.7vw; max-height: 17.7vh; }
.top-intro .pic4 img { max-width: 18.4vw; max-height: 33.7vh; }
.top-intro .pic5 img { max-width: 28.4vw; max-height: 52.2vh; }
.top-intro .pic6 img { max-width: 18vw; max-height: 34.3vh; }
.top-intro .tree img { max-width: 15.2vw; max-height: 32.5vh; }

/* .top-main
------------------------------------*/
.top-main {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 100dvh;
	margin: 0 auto 100rem;
	opacity: 0;
}

.top-main .txt {
	position: absolute;
	top: 22rem;
	left: 30rem;
	color: var(--color-green);
	z-index: 9;
	white-space: nowrap;
}

.top-main .txt h2 {
	margin-bottom: 13rem;
	font-size: 17rem;
	letter-spacing: 0.15em;
}

.top-main .txt h3 {
	font-size: 16rem;
	line-height: 1.75;
	letter-spacing: 0.14em;
}

.top-main .txt nav { margin-bottom: 14rem; }

.top-main .txt nav .slick-track {
	width: auto !important;
	transform: none !important;
}

.top-main .txt li { float: none; font-size: 14rem; letter-spacing: 0.14em; }
.top-main .txt li button { position: relative; padding: 5rem 0 5rem 22rem; }
.top-main .txt li button span { letter-spacing: 0.1em; }

.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 {
	position: absolute;
	top: 20rem;
	right: 20rem;
	background-color: #FFFFFF;
	max-width: calc(100% / 3);
	z-index: 9;
}

.top-main-news a { display: flex; padding: 20rem; }

.top-main-news time {
	width: 80rem;
	min-width: 80rem;
	padding-top: 2rem;
	font-size: 10rem;
	letter-spacing: 0.1em;
	opacity: 0.8;
}

.top-main-news strong {
	width: 100%;
	font-size: 13rem;
	letter-spacing: 0.06em;
	text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.1em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

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

.top-case-slide .slick-arrow {
	position: absolute;
	top: 0;
	width: 20vw;
	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: max(50%, 140rem);
	left: 50%;
	transform: translate(-50%,50%) !important;
	width: 32vw;
	max-width: 50vh;
	font-family: var(--font-serif-jp);
}

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

.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,200rem) rotate(-14deg); }
.top-case article.next .img { transform: scale(0.5) translate(-100rem,-200rem) rotate(14deg); }

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

.top-case article.scale-left a {
	animation: anime_top_case_figure_left .44s var(--easeOutCubic) .1s forwards;
}

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

.top-case article.scale-right a {
	animation: anime_top_case_figure_right .44s var(--easeOutCubic) .1s forwards;
}

@keyframes anime_top_case_figure_right {
	0% { transform: translate(0rem,0rem) rotate(0deg); }
	25% { transform: translate(60rem,20rem) rotate(3deg); }
	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 { animation: anime_top_case_scale1 .5s 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); }*/
	0% { transform: scale(1); } 3% { transform: scale(1.16); } 100% { transform: scale(1); }
}

.top-case article.case2.scale figure > span { animation: anime_top_case_scale2 .5s var(--easeOutCubic) forwards; }
@keyframes anime_top_case_scale2 {
	/*0% { transform: scaleY(1); } 15% { transform: scaleY(0.9); } 35% { transform: scaleY(1.1); } 100% { transform: scaleY(1); }*/
	0% { transform: scaleY(1); } 3% { transform: scaleY(1.12); } 100% { transform: scaleY(1); }
}

.top-case article.case3.scale figure > span { animation: anime_top_case_scale3 .5s var(--easeOutCubic) forwards; }
@keyframes anime_top_case_scale3 {
	/*0% { transform: scale(1); } 15% { transform: scale(0.9); } 35% { transform: scale(1.09); } 100% { transform: scale(1); }*/
	0% { transform: scale(1); } 3% { transform: scale(1.09); } 100% { transform: scale(1); }
}

.top-case article.case4.scale figure > span { animation: anime_top_case_scale4 .5s var(--easeOutCubic) forwards; }
@keyframes anime_top_case_scale4 {
	/*0% { transform: scale(1); } 15% { transform: scale(0.9); } 35% { transform: scale(1.13); } 100% { transform: scale(1); }*/
	0% { transform: scale(1); } 3% { transform: scale(1.16); } 100% { transform: scale(1); }
}

.top-case article.case5.scale figure > span { animation: anime_top_case_scale5 .5s var(--easeOutCubic) forwards; }
@keyframes anime_top_case_scale5 {
	/*0% { transform: scale(1); } 15% { transform: scale(0.9); } 35% { transform: scale(1.13); } 100% { transform: scale(1); }*/
	0% { transform: scale(1); } 3% { transform: scale(1.12); } 100% { transform: scale(1); }
}

.top-case article.case6.scale figure > span { animation: anime_top_case_scale6 .5s var(--easeOutCubic) forwards; }
@keyframes anime_top_case_scale6 {
	/*0% { transform: scale(1); } 15% { transform: scale(0.9); } 35% { transform: scale(1.15); } 100% { transform: scale(1); }*/
	0% { transform: scale(1); } 3% { transform: scale(1.18); } 100% { transform: scale(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: 82%; 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.active figure .pic1 { animation: anime_top_case_pic1_opacity 0s linear .15s infinite; }
.top-case article.active figure .pic2 { animation: anime_top_case_pic2_opacity 0s linear .15s infinite; }
@keyframes anime_top_case_pic1_opacity { 0% { opacity: 1; } 100% { opacity: 0; }}
@keyframes anime_top_case_pic2_opacity { 0% { opacity: 0; } 100% { opacity: 1; }}

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

.top-case article.case1.active figure .pic1,
.top-case article.case3.active figure .pic1,
.top-case article.case4.active figure .pic1,
.top-case article.case6.active figure .pic1 { animation: anime_top_case_pic1_slow 6.8s linear .15s infinite; }
.top-case article.case1.active figure .pic2,
.top-case article.case3.active figure .pic2,
.top-case article.case4.active figure .pic2,
.top-case article.case6.active figure .pic2 { animation: anime_top_case_pic2_slow 6.8s linear .15s 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: 42rem;
	z-index: 2;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
	transform: translateY(25rem);
	opacity: 0;
}

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

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

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

.top-case article .title,
.top-case article .en {
	transition: .3s 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: -6rem 0 0;
	padding: 0 3rem 12rem;
	font-size: 32rem;
	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: 5rem;
	letter-spacing: 0;
}

_:lang(x)::-moz-placeholder, .top-case article .title h2 {
	margin-top: 0;
	padding-top: 5rem;
	letter-spacing: 0;
}

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

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

_:lang(x)::-moz-placeholder, :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(90deg);
}

.top-case article .title em {
	display: inline-block;
	background-color: #FFFFFF;
	margin: 0 17rem 0 0;
	padding: 5rem 1rem 5rem 4rem;
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 400;
	font-size: 14rem;
	letter-spacing: 0.12em;
	will-change: transform;
}

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

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

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

.top-case article li {
	position: absolute;
	color: var(--color-green);
	font-size: 29rem;
	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(10rem);
}

_::-webkit-full-page-media, _:future, :root .top-case article li {
	letter-spacing: 0;
}
_:lang(x)::-moz-placeholder, .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(2) { transition-delay: 0.15s; }
.top-case article.active li:nth-of-type(1) { transition-delay: 0.2s; }
.top-case article.active li:nth-of-type(3) { transition-delay: 0.25s; }

.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; }
.top-case article.active li:nth-of-type(3) span { animation: anime_top_case_li3 2.4s linear 0.3s 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); }
}
@keyframes anime_top_case_li3 {
	0%   { transform: translateY(0rem); }
	20%  { transform: translateY(0rem); }
	22%  { transform: translateY(-1rem); }
	24%  { transform: translateY(1rem); }
	26%  { transform: translateY(-1rem); }
	28%  { transform: translateY(0rem); }
	30%  { transform: translateY(0rem); }
	32%  { transform: translateY(1rem); }
	34%  { transform: translateY(-1rem); }
	36%  { transform: translateY(1rem); }
	38%  { transform: translateY(0rem); }
	100% { transform: translateY(0rem); }
}

.top-case article li:nth-of-type(1) { bottom: 35rem; right: -165rem; }
.top-case article li:nth-of-type(2) { top: 55rem; right: -110rem; }
.top-case article li:nth-of-type(3) { bottom: 45rem; left: -165rem; }

.top-case article.case1 li:nth-of-type(3) { bottom: 85rem; }

.top-case article.case2 li:nth-of-type(1) { bottom: 15rem; }
.top-case article.case2 li:nth-of-type(2) { top: 35rem; }
.top-case article.case2 li:nth-of-type(3) { bottom: 85rem; }

.top-case article.case3 li:nth-of-type(1) { bottom: 5rem; }
.top-case article.case3 li:nth-of-type(2) { top: 35rem; }
.top-case article.case3 li:nth-of-type(3) { bottom: 35rem; }

.top-case article.case4 li:nth-of-type(1) { bottom: -20rem; }
.top-case article.case4 li:nth-of-type(2) { top: 5rem; }

.top-case article.case5 li:nth-of-type(1) { bottom: 5rem; }
.top-case article.case5 li:nth-of-type(2) { top: 15rem; }
.top-case article.case5 li:nth-of-type(3) { bottom: 55rem; }

.top-case article.case6 li:nth-of-type(1) { bottom: -5rem; }
.top-case article.case6 li:nth-of-type(2) { top: 0rem; }
.top-case article.case6 li:nth-of-type(3) { bottom: 110rem; }

/* .top-lead
------------------------------------*/
.top-lead {
	position: relative;
	width: 1100rem;
	margin: 0 auto 120rem;
	padding: 0 0 0 39rem;
}

.nav-pic-case {
	position: absolute;
	bottom: 30rem;
	right: -40rem;
	width: 633rem;
}

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

.nav-pic-case .momonga {
	position: absolute;
	top: -50rem;
	left: 78rem;
	width: 59rem;
	z-index: 7;
	opacity: 0;
}

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

.nav-pic-case .momonga img {
	transform: rotate(12deg);
	transition: .15s ease-out;
}

.nav-pic-case .momonga:hover img { opacity: 0.8; }

.nav-pic-case .momonga .btn-wrap {
	position: absolute;
	top: 50rem;
	left: -15rem;
	margin-top: -5rem;
	padding-top: 20rem;
}

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

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

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

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

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

.nav-pic-case .case .fukidashi > div > * { transition: .15s ease-out; }
.nav-pic-case .case .fukidashi:hover > div > * { opacity: 0.7; }

.nav-pic-case .case .fukidashi > div {
	position: relative;
	display: flex;
	align-items: flex-end;
	border-radius: 2rem;
	box-shadow: 0 4rem 3rem rgba(0, 0, 0, 0.25);
	padding: 15rem;
}

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

.nav-pic-case .case1 .fukidashi { width: 205rem; }
.nav-pic-case .case2 .fukidashi { width: 215rem; top: -150rem; }
.nav-pic-case .case3 .fukidashi { width: 205rem; }
.nav-pic-case .case4 .fukidashi { width: 230rem; }
.nav-pic-case .case5 .fukidashi { width: 225rem; top: -130rem; }
.nav-pic-case .case6 .fukidashi { width: 220rem; top: -140rem; }

.nav-pic-case .case1 .fukidashi:after { left: 30rem; }
.nav-pic-case .case2 .fukidashi:after { left: 52rem; }
.nav-pic-case .case3 .fukidashi:after { left: 25rem; }
.nav-pic-case .case4 .fukidashi:after { left: 71rem; }
.nav-pic-case .case5 .fukidashi:after { left: 84rem; }
.nav-pic-case .case6 .fukidashi:after { left: 59rem; }

.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 {
	margin: 0 0 4rem 11rem;
	white-space: nowrap;
}

.nav-pic-case .case .fukidashi .txt em {
	position: absolute;
	top: 13rem;
	right: 13rem;
	color: var(--color-green);
	font-size: 9rem;
	letter-spacing: 0.04em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

.nav-pic-case .case .fukidashi .txt p {
	margin-bottom: 6rem;
	font-size: 10rem;
	line-height: 1.8;
	letter-spacing: 0;
	opacity: 0.7;
}

.nav-pic-case .case .fukidashi .txt strong {
	display: inline-block;
	position: relative;
	padding: 0 22rem 0 0;
	color: var(--color-green);
	font-size: 13rem;
	letter-spacing: 0;
}

.nav-pic-case .case .fukidashi .txt strong:after {
	display: block;
	content: '';
	position: absolute;
	top: -1rem;
	right: 0;
	background: url(img/share/btn-arrow-s.svg) no-repeat left top / 100% auto;
	width: 16rem;
	height: 16rem;
}

.nav-pic-case .case1 { top: 224rem; left: 440rem; z-index: 3; }
.nav-pic-case .case1 a > img { width: 159rem; }
.nav-pic-case .case1 .btn { top: 202rem; left: 29rem; }

.nav-pic-case .case2 { top: 493rem; left: 271rem; z-index: 5; }
.nav-pic-case .case2 a > img { width: 90rem; }
.nav-pic-case .case2 .btn { top: 54rem; left: -24rem; }

.nav-pic-case .case3 { top: 362rem; left: 290rem; z-index: 4; }
.nav-pic-case .case3 a > img { width: 47rem; }
.nav-pic-case .case3 .btn { top: 39rem; left: -61rem; }

.nav-pic-case .case4 { top: 323rem; left: 135rem; z-index: 1; }
.nav-pic-case .case4 a > img { width: 91rem; }
.nav-pic-case .case4 .btn { top: -10rem; left: -65rem; }

.nav-pic-case .case5 { top: 396rem; left: 18rem; z-index: 2; }
.nav-pic-case .case5 a > img { width: 200rem; }
.nav-pic-case .case5 .btn { top: 100rem; left: 4rem; }

.nav-pic-case .case6 { top: 486rem; left: 430rem; z-index: 6; }
.nav-pic-case .case6 a > img { width: 71rem; }
.nav-pic-case .case6 .btn { top: 73rem; left: -18rem; }

.top-lead h2 {
	margin: 0 0 58rem -39rem;
	color: var(--color-green);
	font-size: 32rem;
	line-height: 2.1;
	letter-spacing: 0.16em;
	text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.3em;
}

.top-lead h3 {
	margin: 0 0 18rem;
	color: var(--color-green);
	font-size: 22rem;
	line-height: 1.8;
	letter-spacing: 0.16em;
}

.top-lead h3 em { display: block; margin-bottom: 10rem; font-size: 12rem; letter-spacing: 0.16em; }
.top-lead p { margin-bottom: 12rem; font-size: 15rem; line-height: 2.05; letter-spacing: 0.1em; }
.top-lead .btn-link { margin-top: 16rem; }

/* .top-about
------------------------------------*/
.top-about {
	display: flex;
	justify-content: space-between;
	width: 1020rem;
	margin: 0 auto 150rem;
}

.top-about .img {
	display: grid;
	grid-template-columns: 1fr;
	gap: 34rem 0;
	width: 501rem;
	min-width: 501rem;
}

.top-about .txt { width: 100%; margin: 0 0 0 70rem; }

.top-about .txt h2 {
	margin-bottom: 22rem;
	color: var(--color-green);
	font-size: 22rem;
	line-height: 1.9;
	letter-spacing: 0.16em;
}

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

.top-about .txt h3 { margin-top: 40rem; }

.top-about .txt p {
	margin-bottom: 10rem;
	font-size: 15rem;
	line-height: 2.1;
	letter-spacing: 0.1em;
}

.top-about .txt .btn-link { margin: 18rem 0 0; }

/* .top-link
------------------------------------*/
.top-link {
	width: 990rem;
	margin: -25rem auto 120rem;
}

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

.top-link li a {
	display: inline-block;
	padding: 0 0 0 16rem;
	color: var(--color-green);
	font-size: 14rem;
	letter-spacing: 0.12em;
	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: 0;
	background: url(img/share/ico-arrow-green2.svg) no-repeat left top / 100% auto;
	width: 6rem;
	height: 16rem;
	transform: scale(1.5, 0.6);
}

/* .top-img-staff
------------------------------------*/
.top-img-staff { width: 1022rem; margin: 0 auto 75rem; }
.top-img-staff img { border-radius: 6rem; }

/* .top-news
------------------------------------*/
.top-news {
	position: relative;
	width: 948rem;
	margin: 0 auto;
}

.top-news .btn-link-txt { position: absolute; top: 5rem; right: 0; }

.top-news .btn-link-txt a {
	padding-right: 30rem;
	text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.1em;
}

.top-news h2 {
	margin-bottom: 35rem;
	color: var(--color-green);
	font-size: 19rem;
	letter-spacing: 0.17em;
}

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

/* .top-appointment
------------------------------------*/
.top-appointment {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background-color: var(--color-border-green-light);
	margin: 0 auto;
	padding: 30rem 43rem 28rem;
}

.top-appointment p {
	margin-bottom: 0;
	font-size: 15rem;
	line-height: 1.85;
	letter-spacing: 0.08em;
}

.top-appointment .btn-link a {
	padding: 16rem 26rem 16rem 30rem;
	font-size: 16rem;
	letter-spacing: 0.12em;
}


/* page about
---------------------------------------------------------------------------*/
body.about header {
	position: relative;
	top: 730rem;
	left: 0;
	margin-bottom: 100rem;
}

#aboutContents {
	overflow: hidden;
	padding-top: 730rem;
}

/* .about-main
------------------------------------*/
.about-main {
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

.slide-about-main { display: flex; }

.slide-about-main figure {
	width: 913rem !important;
	min-width: 913rem !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 .txt { width: 100%; }

.about-common h2 {
	margin-bottom: 16rem;
	font-size: 13rem;
	letter-spacing: 0.12em;
}

.about-introduction h2,
.about-message h2 { font-size: 16rem; }

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

.about-common p {
	margin-bottom: 17rem;
	font-size: 15rem;
	line-height: 2.25;
}

.about-common .btn-link { margin: 18rem 0 0 -4rem; }
.about-common .btn-wrap .btn-link:not(:last-child) { margin-right: 14rem; }

/* .about-lead
------------------------------------*/
.about-lead {
	display: flex;
	flex-direction: row-reverse;
	width: 1110rem;
	margin: 0 auto;
}

.about-lead figure { width: 587rem; min-width: 587rem; }
.about-lead .txt { margin: 25rem 0 0 106rem; }
.about-lead h2 { margin-bottom: 20rem; font-size: 14rem; }
.about-lead h3 { margin-bottom: 27rem; font-size: 27rem; line-height: 1.85; }
.about-lead p { line-height: 2.1; }

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

.about-doctor .img { position: absolute; bottom: -195rem; right: -175rem; }
.about-doctor .img figure img { width: 610rem; }
.about-doctor .img .pic-momonga { position: absolute; top: -37rem; left: 20rem; }
.about-doctor .img .pic-momonga img { display: block; width: 75rem; transform: rotate(10deg); }

/* .about-feature
------------------------------------*/
.about-feature {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	width: 1050rem;
	margin: 0 auto 110rem;
}

.about-feature figure {
	position: relative;
	width: 319rem;
	min-width: 319rem;
}

.about-feature figure .img1 {
	display: block;
	position: absolute;
	top: -395rem;
	right: 0;
	width: 189rem;
}

.about-feature figure .img2 {
	display: block;
	position: absolute;
	top: -255rem;
	left: -170rem;
	width: 147rem;
}

.about-feature .txt { margin: 0 0 60rem 138rem; }

/* .about-system
------------------------------------*/
.about-system {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	width: 1050rem;
	margin: 0 auto 140rem;
}

.about-system figure {
	position: relative;
	width: 354rem;
	min-width: 354rem;
	margin-right: 70rem;
}

.about-system figure .img1 {
	position: absolute;
	top: -238rem;
	right: -70rem;
	width: 256rem;
}

.about-system .txt { margin: 0 0 0 0; }

/* ,about-movie
------------------------------------*/
.about-movie {
	position: relative;
	width: 1042rem;
	height: 586rem;
	margin: 0 auto 140rem;
}

.about-movie video { position: relative; 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: 50rem;
	text-align: center;
	white-space: nowrap;
	z-index: 2;
}

.btn-movie-play:hover { opacity: 0.8; }

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

.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: 21rem;
	letter-spacing: 0.2em;
}

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

/* .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: 44rem 52rem;
	text-align: center;
	white-space: nowrap;
	z-index: 1;
}

.modal-movie-close img {
	display: block;
	width: 53rem;
	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: 19rem;
	letter-spacing: 0.19em;
}

.modal-movie .video-wrap {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) !important;
	width: 1042rem;
	height: 586rem;
	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 {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	width: 980rem;
	margin: 0 auto 180rem;
}

.about-introduction .box {
	background-color: #FFFFFF;
	width: 453rem;
	min-width: 453rem;
	margin-bottom: 8rem;
	padding: 38rem 45rem;
}

.about-introduction .box h4 { margin-bottom: 14rem; font-size: 18rem; }
.about-introduction .box p { line-height: 2; text-align: justify; }

/* .about-message
------------------------------------*/
.about-message {
	position: relative;
	display: flex;
	justify-content: space-between;
	width: 1040rem;
	margin: 0 auto 140rem;
	padding: 63rem 0 0 30rem;
}

.about-message h2 { position: absolute; top: 0; left: 30rem; }

.about-message .img,
.about-message .doctor-career { width: 452rem; min-width: 452rem; }
.about-message .img figure img { border-radius: 6rem; }

.about-message .txt { margin: 0 0 0 100rem; transform: translateY(-5rem); }

.about-message .txt p {
	font-size: 15rem;
	line-height: 2.2;
	letter-spacing: 0;
	text-align: justify;
}

.about-message .txt .name { margin-top: 20rem; font-size: 15rem; letter-spacing: 0.08em; }
.about-message .txt .name strong { padding-left: 10rem; font-size: 25rem; }

.doctor-career { position: relative; padding: 0 0 0 65rem; }
.doctor-career h3 { position: absolute; top: 1rem; left: 0; font-size: 14rem; }

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

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

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

.doctor-career dd p {
	margin-bottom: 6rem;
	font-size: 14rem;
	line-height: 1.7;
	letter-spacing: 0.04em;
}

.about-message .doctor-career { position: absolute; bottom: -5rem; left: 30rem; }
.about-message .doctor-career dd p { line-height: 1.6; }

/* .about-clinic
------------------------------------*/
.about-clinic { width: 1110rem; margin: 0 auto; }
.about-clinic figure { margin: 0 auto 65rem; }
.about-clinic figure img { border-radius: 6rem; }

.about-clinic .inner {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	padding: 0 6rem 10rem;
}

.about-clinic .info-clinic { padding-bottom: 50rem; }
.about-clinic .info-clinic h2 > em { margin-bottom: -10rem; font-size: 9.5rem; letter-spacing: 0.04em; }
.about-clinic .info-clinic h2 .logo { margin-right: -23rem; }
.about-clinic .info-clinic h2 .logo img { width: 167rem; }
.about-clinic .info-clinic h2 strong { transform: translateY(-4rem); }

.about-clinic .info-clinic h2 strong span {
	background-color: var(--color-white);
	border-color: var(--color-green-logo);
	padding: 5rem 14rem 5rem 6rem;
	color: var(--color-green-logo);
	font-size: 11rem;
	letter-spacing: 0.06em;
}

.about-clinic .info-clinic h2 strong span em { font-size: 8rem; }
.about-clinic .info-clinic .link a { color: var(--color-green); }

.about-clinic .info-clinic .sns { bottom: 0rem; left: 0rem; gap: 0 5rem; }
.about-clinic .info-clinic .sns li a { width: 35rem !important; height: 35rem !important; }

.about-clinic .partner { margin: 0 20rem -1rem -10rem; }

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

.about-clinic .partner li {
	margin-bottom: 2rem;
	font-size: 14rem;
	line-height: 1.8;
	letter-spacing: 0.06em;
	white-space: nowrap;
}

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


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

/* .access-head
------------------------------------*/
.access-head {
	display: flex;
	width: 1050rem;
	max-width: 1050rem;
	margin-bottom: 50rem;
	padding: 0;
}

.access-head h1 { margin-right: 85rem; }

.access-head .txt h2 {
	margin-bottom: 20rem;
	padding-top: 2rem;
	color: var(--color-green);
	font-size: 24rem;
	letter-spacing: 0.06em;
	text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.3em;
}

.access-head .txt p { max-width: 100%; font-size: 15rem; }

/* .access-map
------------------------------------*/
.access-map { width: 1050rem; margin: 0 auto 120rem; }
.access-map img { border-radius: 13rem; }

/* .access-info
------------------------------------*/
.access-info {
	position: relative;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	width: 1000rem;
	margin: 0 auto 120rem;
}

.access-info .info1,
.access-info .info2 .reserve { width: 475rem; }

.access-info .info1 { padding-bottom: 285rem; padding-left: 5rem; }

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

.access-info .logo .sns { gap: 0 8rem; }
.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: 44rem;
	height: 44rem;
}

.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: 18rem;
	line-height: 1.7;
	letter-spacing: 0.06em;
}

.access-info .info1 address span { display: block; font-size: 14rem; letter-spacing: 0.03em; }
.access-info .info1 address span:last-of-type { padding-top: 5rem; }

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

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

.access-info .info1 .btn-link { display: inline-block; transform: translateY(-4rem); }
.access-info .info1 .btn-link.root a { padding: 7rem 20rem 8rem 36rem; }
.access-info .info1 .btn-link.root a:before { left: 13rem; }

.access-info .schedule { margin-top: 36rem; margin-left: -7rem; }
.access-info .schedule .attention-list { margin-left: 7rem; }
.access-info .schedule .attention-list,
.access-info .schedule .attention-list li { display: block; }
.access-info .schedule .attention-list li { margin-bottom: 2rem; color: var(--color-text-gray); }

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

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

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

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

.schedule-doctor thead th {
	background-color: var(--color-bg-beige-dark);
	padding-top: 14rem;
	padding-bottom: 14rem;
	color: rgba(255,255,255,0.9);
	font-weight: 400;
	font-size: 15rem;
}

.schedule-doctor thead th:not(:last-child) { border-right: 1px solid rgba(255,255,255,0.5); }

.schedule-doctor tbody th,
.schedule-doctor tbody td { font-size: 13rem; line-height: 1.65; }
.schedule-doctor tbody th { background-color: var(--color-bg-beige-light); }
.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(:last-child) { border-right: 1px solid var(--color-border-gray); }
.schedule-doctor tbody tr:last-of-type td { padding-top: 18rem; padding-bottom: 20rem; }

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

.schedule-doctor .attention-list { margin: 10rem 0 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); font-size: 14rem; letter-spacing: 0.04em; }

.schedule-doctor > p { line-height: 1.9; }
.schedule-doctor > p em { display: block; margin-left: 23rem; }

.access-info .info2 .reserve { position: absolute; bottom: 0; left: 0; }
.access-info .info2 .reserve p { font-size: 15rem; line-height: 1.7; letter-spacing: 0.04em; }
.access-info .info2 .reserve p span { font-size: 13rem; }

.access-info .info2 .reserve .tel {
	background: var(--color-border-green-light);
	width: 100%;
	margin-top: 30rem;
	padding: 16rem 20rem 18rem 23rem;
}

.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 {
	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 { padding-left: 10rem; font-size: 13rem; letter-spacing: 0.04em; }

.access-info .info2 .reserve .btn-wrap { margin-top: 20rem; }
.access-info .info2 .reserve .btn-link:not(:last-child),
.access-info .info2 .visit .btn-link:not(:last-child) { margin-right: 18rem; }
.access-info .info2 .reserve .btn-link a,
.access-info .info2 .visit .btn-link a { min-width: 200rem; }
.access-info .info2 .visit .title-sec { margin-bottom: 6rem; }
.access-info .info2 .visit > p { font-size: 14rem; }
.access-info .info2 .visit .btn-wrap { margin: 20rem 0 0 -2rem; }

/* .access-car
------------------------------------*/
.access-car {
	position: relative;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-direction: row-reverse;
}

.access-car > figure {
	display: grid;
	grid-template-columns: 1fr;
	gap: 25rem 0;
	width: 345rem;
	min-width: 345rem;
}

.access-car .txt { width: 490rem; }
.access-car .txt h3:not(:first-of-type) { padding-top: 50rem; }
.access-car .txt .dl-wrap { padding-top: 2rem; }
.access-car .txt p { font-size: 14rem; letter-spacing: 0.06em; }
.access-car .txt .parking { margin-top: 20rem; }

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

.access-public p { font-size: 14rem; }
.access-public ul { margin-top: 16rem; }
.access-public li { display: inline-block; margin-right: 20rem; }

/* .access-img
------------------------------------*/
.access-img { width: 1050rem; margin: 140rem auto 0; }
.access-img img { border-radius: 6rem; }


/* page doctor
---------------------------------------------------------------------------*/
#doctorContents .page-head {
	width: 1000rem;
	max-width: none;
	margin-bottom: 20rem;
	padding: 0;
	text-align: right;
}

#doctorContents .title-page h1 { margin-bottom: 13rem; margin-left: 6rem; font-size: 24rem; }
#doctorContents .title-page em { font-size: 13rem; }

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

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

/* .doctor-director
------------------------------------*/
.doctor-director {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	width: 1000rem;
	margin: 0 auto 160rem;
}

.doctor-director .img {
	display: grid;
	grid-template-columns: 1fr;
	gap: 44rem 0;
	width: 480rem;
	min-width: 480rem;
}

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

.doctor-director .img figure .pic {
	display: block;
	position: absolute;
	top: -33rem;
	left: 52rem;
	width: 43rem;
}

.doctor-director .img figcaption {
	position: absolute;
	bottom: 26rem;
	left: 26rem;
	background-color: #FFFFFF;
	padding: 10rem 19rem 12rem 17rem;
}

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

.doctor-director .img figcaption strong {
	display: inline-block;
	margin-right: 8rem;
	font-size: 22rem;
	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: 10rem;
	letter-spacing: 0.08em;
	transform: translateY(-3rem);
}

.doctor-director .txt { width: 100%; margin-left: 70rem; }

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

.doctor-director .txt > p {
	margin-bottom: 18rem;
	font-size: 15rem;
	line-height: 2.1;
	letter-spacing: 0.04em;
	text-align: justify;
}

.doctor-director .txt .doctor-career { margin-top: 45rem; margin-bottom: 10rem; }

/* .doctor-list
------------------------------------*/
.doctor-list { width: 1080rem; margin: 0 auto; }
.doctor-list .lead { margin-bottom: 90rem; text-align: center; }

.doctor-list .lead h2 {
	margin-bottom: 20rem;
	color: var(--color-green);
	font-size: 23rem;
	letter-spacing: 0.19em;
}

.doctor-list .lead p {
	font-size: 15rem;
	line-height: 2.1;
	letter-spacing: 0.1em;
}

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

.doctor-list .list article { position: relative; }
.doctor-list .list article figure { width: 205rem; margin: 0 auto 20rem; }

.doctor-list .list article h3 {
	position: absolute;
	top: -10rem;
	right: 34rem;
	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: 19rem;
	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: 2rem -2rem 0 0;
	color: var(--color-green);
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 500;
	font-size: 12rem;
	letter-spacing: 0.1em;
}

.doctor-list .list article p {
	margin-bottom: 12rem;
	font-size: 14rem;
	line-height: 1.8;
	letter-spacing: 0.02em;
	text-align: justify;
}

.doctor-list .list article > ul li {
	display: block;
	margin-bottom: 5rem;
	color: var(--color-text-gray);
	font-size: 14rem;
	line-height: 1.65;
	letter-spacing: 0.04em;
}

.doctor-list .list article dl { margin-top: 30rem; font-size: 14rem; }
.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: 11rem;
	letter-spacing: 0.05em;
}

.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: 20rem;
	letter-spacing: 0;
	text-align: center;
}

.doctor-list .list article dd li:first-of-type { margin-left: -3rem; }
.doctor-list .list article dd li:first-of-type.active { margin-left: 2rem; }
.doctor-list .list article dd li:nth-of-type(5),
.doctor-list .list article dd li:nth-of-type(6) { padding-left: 1rem; }

.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: 24rem;
	height: 24rem;
	margin: 1rem 0 0;
}


/* page surgery
---------------------------------------------------------------------------*/
#surgery-point1,
#surgery-point2 { margin-top: -75rem; padding-top: 75rem; }

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

.surgery-main .title {
	position: absolute;
	top: -48rem;
	right: 5.5%;
	white-space: nowrap;
}

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

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

.surgery-main .img1 { display: block; width: 58.2%; }
.surgery-main .img2 { display: block; position: absolute; top: 13.8%; right: 2.2%; width: 29.2%; }

.surgery-main .txt {
	position: relative;
	margin: 70rem auto 0;
	padding: 54rem 0 0 47%;
}

.surgery-main .txt h2 {
	position: absolute;
	top: 0;
	left: 4.5%;
	margin-left: 2.5rem;
	color: var(--color-green);
	font-size: 18rem;
	letter-spacing: 0.2em;
}

.surgery-main .txt h3 {
	position: absolute;
	top: 44rem;
	left: 4.5%;
	color: var(--color-green);
	font-size: 29rem;
	line-height: 1.85;
	letter-spacing: 0.18em;
}

.surgery-main .txt p { font-size: 16rem; line-height: 2.1; letter-spacing: 0.12em; }

/* .surgery-point
------------------------------------*/
.surgery-point .title-line-en { margin-bottom: 35rem; }
.surgery-point .txt h3,
.surgery-point .txt h4 { color: var(--color-green); line-height: 1.8; letter-spacing: 0.14em; }
.surgery-point .txt h3 { margin-bottom: 22rem; font-size: 21rem; }
.surgery-point .txt h4 { margin-bottom: 18rem; font-size: 18rem; }
.surgery-point .txt p { font-size: 15rem; }
.surgery-point .txt .btn-link { margin: 20rem 0 0 -2rem; }

/* .surgery-point1
------------------------------------*/
.surgery-point1 { width: 1010rem; margin: 0 auto 160rem; }

.surgery-point1 .inner {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	width: 990rem;
	margin: 0 auto;
}

.surgery-point1 .inner figure,
.surgery-point2 figure { display: grid; grid-template-columns: 1fr; gap: 30rem 0; width: 467rem; min-width: 467rem; }
.surgery-point1 .inner .txt { width: 475rem; }

/* .surgery-point2
------------------------------------*/
.surgery-point2 {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	width: 1010rem;
	margin: 0 auto 90rem;
}

.surgery-point2 .txt { width: 475rem; }

/* .surgery-point3
------------------------------------*/
.surgery-point3 { width: 975rem; margin: 0 auto 170rem; }
.surgery-point3 .inner {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	margin-bottom: 70rem;
	padding-right: 15rem;
}
.surgery-point3 .inner figure { width: 440rem; min-width: 440rem; }
.surgery-point3 .inner .txt { width: 462rem; }
.surgery-point3 .inner .txt h3 {
	margin-bottom: 18rem;
	font-size: 18rem;
}
.surgery-point3 .inner .txt p {
	font-size: 14rem;
}

/* .surgery-result
------------------------------------*/
.surgery-result { width: 1112rem; margin: 0 auto 160rem; }

.surgery-result > figure {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 6rem;
	margin-bottom: 38rem;
}

.surgery-result .txt { text-align: center; }

.surgery-result .txt h2 {
	margin-bottom: 35rem;
	color: var(--color-green);
	font-size: 29rem;
	letter-spacing: 0.16em;
}

.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: 45rem;
	letter-spacing: 0.06em;
	transform: translateY(2rem);
}

.surgery-result .txt .p {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 48rem;
	width: 810rem;
	margin: 0 auto 42rem;
}

.surgery-result .txt .p p {
	font-size: 15rem;
	line-height: 2.2;
	letter-spacing: 0.06em;
	text-align: justify;
}

.surgery-result .dl {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 0 22rem;
	width: 840rem;
	margin: 0 auto;
	color: #FFFFFF;
}

.surgery-result .dl dl { border-radius: 13rem; padding: 30rem 10rem 36rem; }

.surgery-result .dl dt {
	margin-bottom: -2rem;
	font-size: 14rem;
	letter-spacing: 0.14em;
}

.surgery-result .dl dd em {
	display: block;
	font-size: 13rem;
	line-height: 1.8;
	letter-spacing: 0.02em;
}

.surgery-result .dl dd em b { font-weight: 400; }

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

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

/* .surgery-contact
------------------------------------*/
.surgery-contact {
	width: 980rem;
	margin: 0 auto 100rem;
}

.surgery-contact .inner { display: flex; align-items: flex-end; justify-content: space-between; }

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

.surgery-contact .inner p { font-size: 15rem; letter-spacing: 0; text-align: justify; }
.surgery-contact .inner .btn-link { margin: 20rem 0 0 -2rem; }

.surgery-contact .inner1 { margin-bottom: 80rem; }
.surgery-contact .inner1 figure { width: 500rem; min-width: 500rem; }
.surgery-contact .inner1 .txt { margin-left: 62rem; }

.surgery-contact .inner2 { position: relative; flex-direction: row-reverse; padding-top: 20rem; }
.surgery-contact .inner2 figure { width: 408rem; min-width: 408rem; }
.surgery-contact .inner2 .txt { padding: 0 56rem 0 70rem; }

.surgery-contact .inner2 h2 {
	position: absolute;
	top: 0;
	left: 0;
	color: var(--color-green);
	font-size: 16rem;
	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: -5rem;
	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: 7rem;
	color: var(--color-green);
	font-size: 14rem;
	letter-spacing: 0.08em;
}

.surgery-contact .inner2 .tel-wrap .tel {
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 400;
	letter-spacing: 0.1em;
}

.surgery-contact .inner2 .tel-wrap .tel em { padding-right: 4rem; font-size: 15rem; }

.surgery-contact .inner2 .tel-wrap .tel strong {
	padding-right: 8rem;
	font-variation-settings: "wght" 300;
	font-size: 24rem;
}

.surgery-contact .inner2 .tel-wrap .tel span { font-size: 15rem; letter-spacing: 0.08em; }

.surgery-contact .inner2 .tel-wrap .attention-list { margin-top: 13rem; }
.surgery-contact .inner2 .tel-wrap .attention-list li { margin-bottom: 0; color: var(--color-text-gray); font-size: 13rem; }


/* page case
---------------------------------------------------------------------------*/
#wrap:has(.case-wrap) header { display: none; }
#wrap:has(.case-wrap) footer { margin-top: 0; padding-top: 80rem; }
#wrap:has(.case-wrap) footer:before { display: none; }

.case-detail #case-option .case-option { margin-top: 40rem; }
.case-detail #case-option,
.case-detail #case-research { margin-top: -40rem; padding-top: 40rem; }
.case-detail #case-distinguish { margin-top: -100rem; padding-top: 100rem; }

/* .case-wrap
------------------------------------*/
.case-wrap { display: flex; align-items: flex-start; position: relative; }

/* .case-head
------------------------------------*/
.case-head {
	position: sticky;
	top: 0;
	left: 0;
	background: url(img/share/pic-tree.jpg?v2) no-repeat left bottom / 350rem auto;
	width: 450rem;
	min-width: 450rem;
	height: 100vh;
	z-index: 9;
}

.case-head .tree-branch { position: absolute; top: 0; right: -5rem; }
.case-head .tree-branch .branch { position: relative; z-index: 0; }
.case-head .tree-branch .branch img { width: 186rem; }
.case-head .tree-branch .woodpecker { position: absolute; top: -28rem; left: 67rem; z-index: 1; }
.case-head .tree-branch .woodpecker img { width: 91rem; }

.case-head nav {
	position: absolute;
	top: 50%;
	left: 34rem;
	transform: translateY(-50%);
	margin-top: -100rem;
}

.case-head nav li a {
	display: inline-block;
	position: relative;
	padding: 3rem 10rem 6rem 20rem;
	color: rgba(255,255,255,0.6);
	font-size: 16rem;
	letter-spacing: 0.08em;
}

.case-head nav li.current a,
.case-head nav li a:hover { color: rgba(255,255,255,1); opacity: 1; }

.case-head nav li a:before {
	display: block;
	content: '';
	position: absolute;
	top: 12rem;
	left: 0;
	background: url(img/share/ico-arrow-white.svg) no-repeat center center / 100% auto;
	width: 7rem;
	height: 7rem;
	opacity: 0.5;
	transition: .15s ease-out;
}

.case-head nav li.current a:before,
.case-head nav li a:hover:before { opacity: 1; transform: rotate(-90deg) !important; }
.case-head nav li.up a:before { transform: rotate(-180deg); }
.case-head nav li.down a:before { transform: rotate(0deg); }

.case-head nav li a span {
	display: inline-block;
	position: relative;
	text-decoration: none;
}

.case-head nav li a span:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 2px;
	left: 0;
	background-color: rgba(255,255,255,1);
	width: 0;
	height: 1px;
	transition: .15s var(--easeOutQuart);
}

.case-head nav li.current a span:after,
.case-head nav li a:hover span:after { width: 100%; }

/* .case-head .voice
------------------------------------*/
.case-head .voice {
	position: absolute;
	bottom: 45rem;
	left: 100rem;
	width: 190rem;
	height: 190rem;
}

.btn-audio { position: relative; width: 100%; height: 100%; }

.btn-audio .hole { position: absolute; bottom: 20rem; left: 13rem; width: 174rem; z-index: 0; }
.btn-audio .hole-frame { position: absolute; bottom: 14rem; left: 8rem; width: 179rem; z-index: 2; }

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

.btn-audio .momonga-hand { position: absolute; bottom: 30rem; left: 51rem; z-index: 3; }
.btn-audio .momonga-hand img { width: 21rem; }

.btn-audio .txt {
	position: absolute;
	top: -36rem;
	left: -10rem;
	width: 260rem;
	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: -22rem;
	left: 142rem;
	border-radius: 100rem;
	width: 14rem;
	height: 34rem;
	transform: rotate(30deg);
	z-index: 0;
}

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

.btn-audio .txt i {
	display: block;
	position: absolute;
	top: 9rem;
	left: 14rem;
	width: 22rem;
	height: 22rem;
}

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

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

.btn-audio .doctor {
	position: absolute;
	bottom: -10rem;
	left: 10rem;
	mask: url(img/share/pic-tree-hole-frame-mask.svg) no-repeat;
	mask-size: 100% auto;
	mask-position: left top;
	width: 180rem;
	height: 242rem;
	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: 0; left: 0; }
.btn-audio .doctor > div img { display: block; width: 180rem; transform-origin: center bottom; }
.btn-audio .doctor > div:not(.img1) img { opacity: 0; }

.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: 8rem; left: 2rem; z-index: 5; opacity: 0; }
.btn-audio .btn-pause img { width: 55rem; }

.btn-audio .smoke {
	position: absolute;
	bottom: 40rem;
	left: 30rem;
	width: 119rem;
	height: 129rem;
	transform: scale(1.1);
	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;
	transition: .2s linear;
	opacity: 0;
}

.btn-audio:not(.is-playing):hover .attention { opacity: 1; }

/* .case-detail
------------------------------------*/
.case-detail {
	overflow: hidden;
	width: 100%;
	padding: 60rem 4% 220rem 5%;
}

.case-detail .gnav { position: absolute; top: 10rem; right: 15rem; }
.case-detail .gnav > ul > li > a,
.case-detail .gnav > ul > li > button { padding-right: 10rem; padding-left: 10rem; letter-spacing: 0.08em; }

.case-detail-inner { width: 100%; max-width: 1000rem; margin: 0 auto; }
.case-common-wrap { margin-top: -60rem; padding-top: 60rem; }

/* .case-main
------------------------------------*/
.case-main {
	width: 740rem;
	margin: 0 auto 120rem;
	padding: 100rem 0 0;
}

.case-main .title {
	display: flex;
	align-items: flex-end;
	margin: 0 auto 68rem;
	white-space: nowrap;
	height: auto !important;
}

.case-main .title figure {
	position: relative;
	background: url(img/case/pic-case-frame.jpg) no-repeat left top / cover;
	width: 328rem;
	min-width: 328rem;
	margin-right: 9.5%;
	padding: 9rem 11rem;
}

.case-main .title figcaption {
	position: absolute;
	bottom: 22rem;
	left: 22rem;
	background-color: #FFFFFF;
	padding: 5rem 6rem 6rem 7rem;
	color: var(--color-text-gray);
	font-size: 12rem;
	letter-spacing: 0.08em;
}

.case-main .title figcaption strong b {
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 400;
	font-weight: normal;
	font-size: 12rem;
}

.case-main .title figcaption strong b i {
	padding-right: 1rem;
	font-size: 13rem;
}

.case-main .title figcaption em {
	display: block;
	margin-top: 5rem;
	font-size: 9rem;
}

.case-main .title figcaption span { font-size: 10rem; }

.case-main .title .txt { color: var(--color-green); }
.case-main .title .txt .en { margin-bottom: 30rem; }

.case-main .title .txt .num {
	display: inline-block;
	background-color: #FFFFFF;
	border: 1px solid var(--color-green);
	border-radius: 100rem;
	margin: 0 0 11rem -1rem;
	padding: 2rem 9rem 4rem 11rem;
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 600;
	font-size: 12rem;
	letter-spacing: 0.12em;
}

.case-main .title .txt h2 {
	display: block;
	margin-bottom: 38rem;
	font-size: 21rem;
	line-height: 1.55;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.case-main .title .txt h1 {
	display: block;
	font-size: 36rem;
	letter-spacing: 0.04em;
}

.case-main .title .txt h1:not(:has(ruby)) {
	margin-top: -28rem;
	font-size: 38rem;
}

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

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

.case-main .inner { margin-left: 23rem; }
.case-main .inner p { font-size: 15rem; line-height: 2.15; letter-spacing: 0.08em; }

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

/* .case-problem
------------------------------------*/
.case-problem { position: relative; margin: 0 auto 120rem; }
#case-ingrown-nailContents .case-problem { margin-bottom: 160rem; }
#case-seborrheic-keratosisContents .case-problem { margin-bottom: 160rem; }
#case-molesContents .case-problem { margin-bottom: 160rem; }

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

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

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

#case-atheromaContents .case-problem li:nth-of-type(1) { margin: 0 0 35rem 49rem; }
#case-atheromaContents .case-problem li:nth-of-type(1) img { width: 281rem; }
#case-atheromaContents .case-problem li:nth-of-type(2) { position: absolute; top: 120rem; left: 322rem; }
#case-atheromaContents .case-problem li:nth-of-type(2) img { width: 276rem; }
#case-atheromaContents .case-problem li:nth-of-type(3) { margin: 0 0 28rem -5rem; }
#case-atheromaContents .case-problem li:nth-of-type(3) img { width: 224rem; }
#case-atheromaContents .case-problem li:nth-of-type(4) { position: absolute; top: 239rem; left: 411rem; }
#case-atheromaContents .case-problem li:nth-of-type(4) img { width: 162rem; }
#case-atheromaContents .case-problem li:nth-of-type(5) { margin: 0 0 0 80rem; }
#case-atheromaContents .case-problem li:nth-of-type(5) img { width: 286rem; }

#case-lipomaContents .case-problem li:nth-of-type(1) { position: absolute; top: -5rem; left: 290rem; }
#case-lipomaContents .case-problem li:nth-of-type(1) img { width: 263rem; }
#case-lipomaContents .case-problem li:nth-of-type(2) { margin: 0 0 32rem -2rem; }
#case-lipomaContents .case-problem li:nth-of-type(2) img { width: 250rem; }
#case-lipomaContents .case-problem li:nth-of-type(3) { position: absolute; top: 118rem; left: 410rem; }
#case-lipomaContents .case-problem li:nth-of-type(3) img { width: 208rem; }
#case-lipomaContents .case-problem li:nth-of-type(4) { margin: 0 0 0 42rem; }
#case-lipomaContents .case-problem li:nth-of-type(4) img { width: 271rem; }
#case-lipomaContents .case-problem li:nth-of-type(5) { margin: 0 0 0 286rem; }
#case-lipomaContents .case-problem li:nth-of-type(5) img { width: 194rem; }

#case-ptosisContents .case-problem li:nth-of-type(1) { position: absolute; top: 12rem; left: 330rem; }
#case-ptosisContents .case-problem li:nth-of-type(1) img { width: 285rem; }
#case-ptosisContents .case-problem li:nth-of-type(2) { margin: 0 0 42rem 12rem; }
#case-ptosisContents .case-problem li:nth-of-type(2) img { width: 233rem; }
#case-ptosisContents .case-problem li:nth-of-type(3) { position: absolute; top: 115rem; left: 283rem; }
#case-ptosisContents .case-problem li:nth-of-type(3) img { width: 310rem; }
#case-ptosisContents .case-problem li:nth-of-type(4) { margin: 0 0 39rem 76rem; }
#case-ptosisContents .case-problem li:nth-of-type(4) img { width: 170rem; }
#case-ptosisContents .case-problem li:nth-of-type(5) { position: absolute; top: 230rem; left: 425rem; }
#case-ptosisContents .case-problem li:nth-of-type(5) img { width: 185rem; }
#case-ptosisContents .case-problem li:nth-of-type(6) { margin: 0 0 0 90rem; }
#case-ptosisContents .case-problem li:nth-of-type(6) img { width: 234rem; }

#case-ingrown-nailContents .case-problem li:nth-of-type(1) { position: absolute; top: 0; left: 365rem; }
#case-ingrown-nailContents .case-problem li:nth-of-type(1) img { width: 223rem; }
#case-ingrown-nailContents .case-problem li:nth-of-type(2) { margin: 0 0 50rem -8rem; }
#case-ingrown-nailContents .case-problem li:nth-of-type(2) img { width: 292rem; }
#case-ingrown-nailContents .case-problem li:nth-of-type(3) { position: absolute; top: 124rem; left: 300rem; }
#case-ingrown-nailContents .case-problem li:nth-of-type(3) img { width: 230rem; }
#case-ingrown-nailContents .case-problem li:nth-of-type(4) { margin: 0 0 0 23rem; }
#case-ingrown-nailContents .case-problem li:nth-of-type(4) img { width: 259rem; }
#case-ingrown-nailContents .case-problem li:nth-of-type(5) { position: absolute; top: 228rem; left: 430rem; }
#case-ingrown-nailContents .case-problem li:nth-of-type(5) img { width: 248rem; }

#case-seborrheic-keratosisContents .case-problem li:nth-of-type(1) { position: absolute; top: 16rem; left: 331rem; }
#case-seborrheic-keratosisContents .case-problem li:nth-of-type(1) img { width: 272rem; }
#case-seborrheic-keratosisContents .case-problem li:nth-of-type(2) { margin: 0 0 38rem 4rem; }
#case-seborrheic-keratosisContents .case-problem li:nth-of-type(2) img { width: 306rem; }
#case-seborrheic-keratosisContents .case-problem li:nth-of-type(3) { position: absolute; top: 104rem; left: 384rem; }
#case-seborrheic-keratosisContents .case-problem li:nth-of-type(3) img { width: 271rem; }
#case-seborrheic-keratosisContents .case-problem li:nth-of-type(4) { margin: 0 0 0 21rem; }
#case-seborrheic-keratosisContents .case-problem li:nth-of-type(4) img { width: 218rem; }
#case-seborrheic-keratosisContents .case-problem li:nth-of-type(5) { position: absolute; top: 198rem; left: 279rem; }
#case-seborrheic-keratosisContents .case-problem li:nth-of-type(5) img { width: 226rem; }

#case-molesContents .case-problem li:nth-of-type(1) { position: absolute; top: 20rem; left: 345rem; }
#case-molesContents .case-problem li:nth-of-type(1) img { width: 258rem; }
#case-molesContents .case-problem li:nth-of-type(2) { margin: 0 0 34rem 8rem; }
#case-molesContents .case-problem li:nth-of-type(2) img { width: 268rem; }
#case-molesContents .case-problem li:nth-of-type(3) { position: absolute; top: 106rem; left: 286rem; }
#case-molesContents .case-problem li:nth-of-type(3) img { width: 191rem; }
#case-molesContents .case-problem li:nth-of-type(4) { margin: 0 0 0 -14rem; }
#case-molesContents .case-problem li:nth-of-type(4) img { width: 265rem; }
#case-molesContents .case-problem li:nth-of-type(5) { position: absolute; top: 210rem; left: 280rem; }
#case-molesContents .case-problem li:nth-of-type(5) img { width: 323rem; }

.case-problem .pic-momonga { position: absolute; top: 123rem; left: 618rem; opacity: 0; }
.case-problem .pic-momonga span { display: block; }
.case-problem .pic-momonga img { display: block; transform: rotate(10deg); width: 68rem; }
#case-lipomaContents .case-problem .pic-momonga { top: 160rem; }
#case-seborrheic-keratosisContents .case-problem .pic-momonga { top: 160rem; }

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

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

.case-common .title-en i { display: inline-block; transform: translateY(-1rem); }
.case-common .title-en i:first-of-type { margin-right: 0.5rem; }

.case-common .title {
	width: 175rem;
	min-width: 175rem;
	padding-right: 45rem;
}

.case-common h2 {
	color: var(--color-green);
	font-size: 19rem;
	line-height: 1.75;
	letter-spacing: 0.06em;
}

.case-common .inner > h3,
.case-common .inner .box h4,
.case-common .inner .box-green h4 {
	margin-bottom: 20rem;
	color: var(--color-green);
	font-size: 20rem;
	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 .box-green h4 { margin-bottom: 15rem; }
.case-common .inner > h3:not(:first-child) { margin-top: 40rem; }
.case-common .inner > figure + h3 { margin-top: 55rem !important; }

.case-common .inner > h4,
.case-common .inner .box h5 {
	display: block;
	border-bottom: 1px solid var(--color-border-gray);
	margin-bottom: 32rem;
	padding-bottom: 2rem;
	color: var(--color-green);
	font-size: 14rem;
	letter-spacing: 0.1em;
}

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

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

.case-common .inner > figure { margin: 35rem 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(+h4) { margin-bottom: 40rem; }
.case-common .inner > h4 + figure { margin-top: 0; }
.case-common .inner > h4:has(+p) { margin-bottom: 20rem; }

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

#case-atheromaContents .case-surgery .inner figure { max-width: 507rem; }
#case-lipomaContents .case-feature .inner figure { max-width: 507rem; }
#case-ingrown-nailContents .case-surgery .inner figure { max-width: 507rem; }

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

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

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

.case-common .inner p {
	margin-bottom: 17rem;
	font-size: 15rem;
	line-height: 2.1;
	letter-spacing: 0.03em;
	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: 20rem; }
.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: 3rem;
	height: calc(100% - 2rem);
}

.case-common .inner .box {
	background: var(--color-bg-beige);
	margin-top: 50rem;
	padding: 45rem 9.5%;
}

.case-common .inner .box.mt-s { margin-top: 25rem; padding-top: 40rem; padding-bottom: 40rem; }
.case-common .inner .box:not(:last-child) { margin-bottom: 25rem; }

.case-common .inner .box h4 { margin-bottom: 20rem; letter-spacing: 0.1em; }
.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; }
.case-common .inner .box p { margin-bottom: 14rem; font-size: 14rem; line-height: 2; }
.case-common .inner .box .num-list li { color: var(--color-green); font-size: 16rem; letter-spacing: 0.06em; }

.case-common .inner .box-green:not(:first-child) { margin-top: 50rem; }

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

.case-common .inner .box-green .doctor-career h3 { top: 28rem; text-decoration: none; }
.case-common .inner .box-green .doctor-career dl:not(:last-child) { margin-bottom: 0; }

.case-common .inner .box-green .doctor-career dt {
	width: 67rem;
	min-width: 67rem;
	padding-top: 7rem;
	color: var(--color-text);
	font-family: var(--font-gothic-jp);
	font-size: 14rem;
}

.case-common .inner .box-green .doctor-career dd p { font-size: 14rem !important; }

.case-common .inner .img-list {
	display: grid;
	gap: 19rem 0;
	margin: 0 0 40rem 6rem;
}

.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 figure img { width: 100%; }
.case-common .inner .img-list figure img:not(.color) { mix-blend-mode: luminosity; }

.case-common .inner .img-list figure img.color {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	transition: .15s ease-out;
}

.case-common .inner .img-list li:hover figure img.color { opacity: 1; }
.case-common .inner .img-list .txt { width: 100%; padding: 0 0 0 27rem; }

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

.case-common .inner .img-list h5 span { padding-left: 3rem; font-size: 13rem; }
.case-common .inner .img-list p { margin-bottom: 10rem; font-size: 14rem; line-height: 1.8; letter-spacing: 0.06em; }

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

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

.check-list.even {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20rem 15rem;
}

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

.check-list.even li {
	background: url(img/share/ico-check.svg) no-repeat left 5rem top / 18rem auto;
	border-bottom: 1px solid var(--color-border-brown);
	padding-bottom: 9rem;
	font-size: 13rem;
}

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

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

.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 em {
	display: inline-block;
	background-color: #FFFFFF;
	border: 1px solid var(--color-green);
	border-radius: 20rem;
	margin-left: 11rem;
	padding: 3rem 7rem 4rem 7rem;
	color: var(--color-green);
	font-size: 12rem;
	line-height: 1;
	letter-spacing: 0;
	white-space: nowrap;
	transform: translateY(-1.5rem);
}

.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 {
	margin-bottom: 12rem !important;
	font-size: 14rem !important;
	line-height: 2 !important;
}

.dl-num-list dd p:last-of-type { margin-bottom: 0 !important; }
.dl-num-list dd .attention-list:not(:first-child) { margin-top: 9rem; }
.dl-num-list dd figure { margin: 18rem 0 22rem; }
.dl-num-list dd .btn-link { margin-top: 20rem; }

.case-common .inner .dl-num-list:not(.mb-s) dl:not(:last-child) { margin-bottom: 50rem; }
.case-common .inner .dl-num-list dd .box { margin-top: 25rem; padding: 32rem 8% 25rem; }
.case-common .inner .dl-num-list dd .box h5 { margin-bottom: 10rem; margin-left: -4rem; }

/* .dl-num-list.size-l
------------------------------------*/
.dl-num-list.size-l dl:not(:last-child) { margin-bottom: 30rem; }
.dl-num-list.size-l dt { margin-bottom: 8rem; font-size: 18rem; }

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

.dl-num-list.size-l dd p {
	margin-bottom: 12rem !important;
	font-size: 15rem !important;
	line-height: 2 !important;
}

.dl-num-list.size-l dd p:last-of-type { margin-bottom: 0 !important; }
.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: 6rem; }

/* .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: 10rem;
	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%; letter-spacing: 0.04em; }

.dl-dot-list dd p {
	margin-bottom: 10rem !important;
	font-size: 15rem !important;
	line-height: 1.95 !important;
}

.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: 14rem !important;
	line-height: 1.9 !important;
	letter-spacing: 0.04em !important;
	text-align: justify;
}

/* .dl-dot-list.size-l
------------------------------------*/
.dl-dot-list.size-l dt { font-size: 17rem; }
.dl-dot-list.size-l dt:before { top: 11rem; background-color: var(--color-border-green-txt); }
.dl-dot-list.size-l dd p { letter-spacing: 0.04em; text-align: justify; }

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

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

.dl-line dt {
	width: 120rem;
	min-width: 120rem;
	padding-right: 20rem;
	color: var(--color-green);
}

.dl-line dd { width: 100%; }

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

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

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

.dl-price dd dl { padding-right: 0; padding-left: 0; }

.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-bottom: 2rem;
	padding-right: 40rem;
	white-space: nowrap;
}

.dl-price dd { inline-size: 100%; text-align: right; }

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

.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);
	margin: 0 auto 100rem;
	padding: 65rem 6.5% 75rem;
}

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

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

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

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

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

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

.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.05em; text-align: justify; }
.case-distinguish .sec-inner > p { font-size: 16rem; }
.case-distinguish .sec-inner > .dl-list + p { margin-top: 35rem; }

.case-distinguish .dl-img {
	display: flex;
	justify-content: space-between;
	margin: 30rem auto 40rem;
}

.case-distinguish .dl-img .img {
	display: flex;
	flex-flow: column;
	gap: 20rem 0;
	width: 215rem;
	min-width: 215rem;
	margin-right: 7%;
}

.case-distinguish .dl-img .img img { border-radius: 6rem; }

.case-detail-inner figure { position: relative; }
.case-detail-inner figure:has(img.color) img:not(.color) { mix-blend-mode: luminosity; }

.case-detail-inner figure img.color {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	transition: .15s ease-out;
}

.case-detail-inner figure:hover img.color { opacity: 1; }

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

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

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

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

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

.case-distinguish .dl-img dd p { font-size: 13rem; line-height: 1.85; letter-spacing: 0.03em; }
.case-distinguish .dl-img .dl > p { font-size: 14rem; }
.case-distinguish .dl-img .txt { padding-top: 10rem; }
.case-distinguish .dl-img .txt p { font-size: 15rem; }

.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: 21rem 60rem 22rem 42rem;
	color: var(--color-green);
	font-size: 17rem;
	line-height: 1.7;
	letter-spacing: 0.08em;
	text-align: left;
}

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

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

.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: 6rem; width: 1px; height: 100%; }
.dl-ac-list dt .plus:after { top: 6rem; left: 0; width: 100%; height: 1px; }

.dl-ac-list dd { display: none; padding: 0 18rem 34rem 42rem; }
.dl-ac-list dd p { font-size: 15rem; }

.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: 16rem; padding-bottom: 16rem; font-size: 16rem; }
.case-common .inner > .dl-ac-list dt:not(:has(.num)) button { padding-left: 5rem; }
.case-common .inner > .dl-ac-list dt .plus { top: 24rem; }
.case-common .inner > .dl-ac-list dd { padding-right: 60rem; }

/* .case-research
------------------------------------*/
.case-research {
	position: relative;
	margin: 0 auto 100rem;
	padding: 135rem 60rem 50rem;
}

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

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

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

.case-research p {
	margin-bottom: 16rem;
	font-size: 14rem;
	line-height: 2.1;
	letter-spacing: 0.04em;
	text-align: justify;
}

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

/* .case-faq
------------------------------------*/
.case-faq { width: 92%; margin: 0 auto 100rem; }

/* .case-contact
------------------------------------*/
.case-contact {
	position: relative;
	background-color: rgba(255,255,255,0.75);
	margin: 0 auto;
	padding: 40rem 8% 38rem 6%;
}

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

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

.case-contact .inner { display: flex; gap: 0 33rem; margin: 0 auto 30rem; }
.case-contact .inner figure { width: 35%; min-width: 35%; padding-top: 2rem; }
.case-contact .inner figure img { border-radius: 6rem; }

.case-contact .inner .txt { width: 100%; transform: translateY(-2rem); }
.case-contact .inner .txt p { margin-bottom: 10rem; font-size: 15rem; line-height: 1.9; letter-spacing: 0.06em; text-align: justify; }

.case-contact .tel-wrap { position: relative; padding: 0 180rem 0 0; }
.tel-wrap h3 { margin-bottom: 5rem; color: var(--color-green); font-size: 14rem; letter-spacing: 0.08em; }
.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 { padding-right: 8rem; font-variation-settings: "wght" 300; font-size: 24rem; }
.tel-wrap .tel span { display: inline-block; font-size: 14rem; letter-spacing: 0.08em; transform: translateY(-1rem); }
.tel-wrap .attention-list { margin-top: 12rem; }
.tel-wrap .attention-list li { margin-bottom: 0; color: var(--color-text-gray); font-size: 12rem; letter-spacing: 0.06em; }
.tel-wrap .attention-list li:not(:last-child) { margin-right: 8rem; }

.case-contact .btn-link { position: absolute; bottom: 2rem; right: 0; }
.case-contact .btn-link a { width: 180rem; padding-top: 18rem; padding-bottom: 18rem; font-size: 16rem; }

/* .case-list
------------------------------------*/
.case-list-wrap {
	position: relative;
	background: var(--color-bg-beige);
	margin: 120rem auto 0;
	padding: 82rem 5% 42rem;
}

.case-list-wrap h2 {
	position: absolute;
	top: 18rem;
	right: 36rem;
	color: var(--color-green);
	font-size: 20rem;
	letter-spacing: 0.1em;
}

.case-list { display: grid; grid-template-columns: 1fr 1fr; gap: 30rem 25rem; }

.case-list .list {
	background: #FFFEFC;
	box-shadow: 0 4rem 3rem rgba(0, 0, 0, 0.25);
	border-radius: 12rem;
}

.case-list .list a {
	display: flex;
	align-items: flex-end;
	position: relative;
	padding: 74rem 23rem 15rem 15rem;
	color: var(--color-green);
}

.case-list .list a:hover { opacity: 1; }

.case-list .list .title-en { position: absolute; top: 20rem; left: 20rem; }
.case-list .list .title-en em { display: block; margin-bottom: 10rem; line-height: 0; }
.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: 43%;
	min-width: 43%;
	height: auto;
	aspect-ratio: 1 / 1.17;
	margin-right: 7%;
}

.case-list .list figure img { display: block; }
.case-list .list figure .active { display: block; position: absolute; top: 0; left: 0; opacity: 0; }
.case-list .list a:hover .active { opacity: 1; }

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

.case-list .title-en,
.case-list .list .arrow,
.case-list .list .txt { transition: .15s ease-out; }

.case-list .list a:hover .title-en,
.case-list .list a:hover .arrow,
.case-list .list a:hover .txt { opacity: 0.7; }

.case-list .list .txt h3 {
	display: block;
	margin-bottom: 16rem;
	font-weight: 600;
	font-size: 19rem;
	letter-spacing: 0.1em;
	text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
	opacity: 0.8;
}

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

.case-list .list .txt h3 ruby > rt {
	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: block;
	background: url(img/share/line-dot-green.png) repeat-x left bottom / 4rem auto;
	margin-bottom: 6rem;
	font-weight: 600;
	font-size: 13rem;
	line-height: 1.6;
	letter-spacing: 0;
	opacity: 0.8;
}

.case-list .list:nth-of-type(1) .txt p { letter-spacing: 0.08em; }
.case-list .list:nth-of-type(2) .txt p { letter-spacing: -0.02em; }
.case-list .list:nth-of-type(3) .txt p { letter-spacing: 0.06em; }

.case-list .list .txt p .let { letter-spacing: -0.03em; }
.case-list .list .txt p .let2 { letter-spacing: -0.06em; }

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

/* .case-list-wrap-wide 
------------------------------------*/
.case-list-wrap-wide { width: 1045rem; margin: 160rem auto 0; }
.case-list-wrap-wide .case-list-wrap { padding: 85rem 38rem 42rem; }

.case-list-wrap-wide .case-list { grid-template-columns: 1fr 1fr 1fr; gap: 25rem 25rem; }
.case-list-wrap-wide .case-list .list:nth-of-type(2),
.case-list-wrap-wide .case-list .list:nth-of-type(3) { align-self: flex-end; }

.case-list-wrap-wide .case-list .lead { padding-right: 6%; padding-bottom: 5rem; }
.case-list-wrap-wide .case-list .lead h3 { margin-bottom: 11rem; }
.case-list-wrap-wide .case-list .lead h4 { margin-top: 24rem; }

/* .btn-fix-appointment
------------------------------------*/
.btn-fix-appointment {
	position: fixed;
	bottom: 45rem;
	right: 45rem;
	background: url(img/share/btn-fix-appointment.png) no-repeat left top / 100% auto;
	width: 143rem;
	height: 143rem;
	filter: drop-shadow(15rem 27rem 4rem rgba(0, 0, 0, 0.15));
	z-index: 20;
	visibility: visible;
	opacity: 1;
	transition: .1s ease-out;
}

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

.btn-fix-appointment.hidden,
#topContents .btn-fix-appointment,
#aboutContents .btn-fix-appointment { margin-bottom: -10rem; visibility: hidden; opacity: 0; }

#topContents .btn-fix-appointment.active:not(.hidden),
#aboutContents .btn-fix-appointment.active:not(.hidden) {
	margin-bottom: 0;
	visibility: visible;
	opacity: 1;
	transition: .2s ease-out;
}

.btn-fix-appointment a { display: block; width: 100%; height: 100%; position: relative; }
.btn-fix-appointment a:hover { opacity: 1; }

.btn-fix-appointment img {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 60rem;
	margin: 1rem 0 0 -1rem;
	transition: .15s ease-out;
}

.btn-fix-appointment a:hover img { opacity: 0.7; }


/* page befor-eafter
---------------------------------------------------------------------------*/

/* .before-after-inner
------------------------------------*/
.before-after-inner {
	position: relative;
	width: 100%;
	padding-right: 60rem;
}

.before-after-inner .attention-list {
	position: absolute;
	top: -70rem;
	right: 67rem;
	text-align: right;
}

.before-after-inner .attention-list li {
	margin-bottom: 5rem;
	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 {
	display: flex;
	position: relative;
	border-top: 1px solid var(--color-border-green-txt);
	padding: 54rem 0 0;
}

.before-after-inner .post h2 {
	width: 170rem;
	min-width: 170rem;
	color: var(--color-green);
	font-size: 18rem;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.before-after-inner .post h2 strong { display: block; padding-right: 45rem; transform: translateY(-7rem); }
.before-after-inner .post h2 em { top: -44rem; font-size: 11rem; }

/* .before-after-list
------------------------------------*/
.before-after-list article { cursor: pointer; padding: 0 4rem; }
.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: 30rem; padding-bottom: 25rem; }

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

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

.before-after-list article figure img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	width: 100%;
	height: 100%;
	transition: .15s ease-out;
	mix-blend-mode: luminosity;
	filter: grayscale(100%);
	will-change: transform;
}

.before-after-list article:hover figure img { mix-blend-mode: normal; filter: grayscale(0%); }

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

.before-after-list article h3 {
	position: relative;
	width: fit-content;
	margin-bottom: 6rem;
	padding-right: 30rem;
	color: var(--color-green);
	font-size: 16rem;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

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

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

.before-after-list article .dl { position: relative; margin: 20rem 0 0 2rem; padding: 0 0 0 12rem; }

.before-after-list article .dl:before {
	display: block;
	content: '';
	position: absolute;
	top: 4rem;
	left: 0;
	background-color: var(--color-green);
	width: 2px;
	height: calc(100% - 6rem);
}

.before-after-list article dl {
	display: flex;
	font-size: 14rem;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

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

.before-after-list .inner-s {
	margin-top: 16rem;
	color: var(--color-text-gray);
	font-size: 11rem;
	line-height: 1.9;
	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 { width: calc(100% + 10rem); margin: 35rem -5rem 0; }

/* .modal-before-after
------------------------------------*/
.modal-before-after {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	background: rgba(110, 108, 105, 0.9);
	width: 100%;
	height: 100vh;
	opacity: 0;
	z-index: 10010;
	transition: .3s var(--easeOutQuart);
}

.modal-before-after-close {
	position: absolute;
	top: 0;
	right: 0;
	padding: 40rem 45rem;
	z-index: 3;
}

.modal-before-after-close img { width: 57rem; }

.modal-before-after .btn { opacity: 1 !important; }
.modal-before-after .btn-arrow {
	position: absolute;
	top: calc(50% - 50rem);
	width: 100rem;
	height: 100rem;
	z-index: 2;
}

.modal-before-after .btn-arrow.prev { left: calc(50% - 510rem); transform: scaleX(-1); }
.modal-before-after .btn-arrow.next { right: calc(50% - 510rem); }
.modal-before-after .btn-arrow span { display: none; }

.modal-before-after-inner {
	overflow: hidden;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) !important;
	width: 820rem;
	z-index: 0;
}

.modal-before-after-inner article { display: none; }

.modal-before-after-inner article > div {
	overflow-y: scroll;
	display: flex;
	justify-content: space-between;
	height: 100%;
	max-height: 90vh;
	padding: 45rem 55rem 20rem;
}

.modal-before-after-inner article > div::-webkit-scrollbar { width: 2px; }
.modal-before-after-inner article > div::-webkit-scrollbar-track { background: #EFE6D8; }
.modal-before-after-inner article > div::-webkit-scrollbar-thumb { background: var(--color-border-green-txt); }

.modal-before-after-inner article .img { width: 180rem; min-width: 180rem; }
.modal-before-after-inner article .img figure { position: relative; }
.modal-before-after-inner article .img figure:not(:last-child) { margin-bottom: 12rem; }

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

.modal-before-after-inner article .txt { width: 100%; margin: 12rem 0 0 52rem; }

.modal-before-after-inner article h3 {
	max-width: fit-content;
	margin-left: -1rem;
	margin-bottom: 6rem;
	color: var(--color-green);
	font-size: 21rem;
	line-height: 1.7;
	letter-spacing: 0.06em;
}

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

.modal-before-after-inner article .dl {
	position: relative;
	display: block;
	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: 120rem;
	min-width: 120rem;
	padding-right: 11rem;
	color: var(--color-green);
}

.modal-before-after-inner article dd { text-align: justify; }
.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:last-child  { padding-bottom: 40rem; }

.modal-before-after-inner article .attention-list li {
	margin-bottom: 2rem;
	padding-left: 16rem;
	color: var(--color-text-gray);
	font-size: 12rem;
	letter-spacing: 0.06em;
}

.modal-before-after-inner article .btn-wrap { margin-top: 25rem; }
.modal-before-after-inner article .btn-wrap:last-child { padding-bottom: 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 { display: flex; margin-bottom: 0; }

.faq-wrap nav,
.appointment-wrap nav,
.before-after-wrap nav {
	position: sticky;
	align-self: flex-start;
	top: 100rem;
	left: 0;
	width: 320rem;
	min-width: 320rem;
	padding: 2rem 0 0;
}

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

.faq-wrap nav li.parent { padding: 6rem 0; }

.faq-wrap nav li.parent h2 {
	margin-bottom: 11rem;
	color: var(--color-green);
	font-size: 13rem;
	letter-spacing: 0.06em;
}

.faq-wrap nav li.parent ul { padding: 0 0 0 27rem; }

.faq-wrap nav .btn-link-txt { margin: 35rem 0 0; }

.faq-inner { width: 100%; max-width: 680rem; }
.faq-inner .post { margin-top: -100rem; padding-top: 100rem; }
.faq-inner .post:not(:last-of-type) { margin-bottom: 100rem; }

.faq-inner .post h2 {
	display: block !important;
	margin: 0 0 20rem 10rem;
	color: var(--color-green);
	font-size: 18rem;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.faq-inner .post dd h2 {
	margin-bottom: 15rem;
	margin-left: 0;
	font-size: 16rem;
}

.faq-inner .post .btn-link { width: 100%; margin-top: 45rem; }

/* 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,
.main .faq-list dd { padding-right: 20rem; padding-left: 10rem; }
.main .faq-list dt button { padding-top: 0; padding-bottom: 18rem; font-size: 18rem; pointer-events: none; }
.main .faq-list dd { display: block; }
.main .faq-list dd,
.main .faq-list dd p { font-size: 15rem; }


/* page appointment
---------------------------------------------------------------------------*/
body.appointment header {
	position: relative;
	top: calc(55vw - 2rem);
	left: 0;
	margin-bottom: 100rem;
}

#appointmentContents { padding-top: 55vw; }
#appointment-lead,
#appointment-flow,
#appointment-reservation,
#appointment-reservation2,
#surgery-reservation,
#surgery-flow,
#appointment-faq { margin-top: -92rem; padding-top: 92rem; }

/* .appointment-main
------------------------------------*/
.appointment-main { display: flex; position: absolute; top: 0; left: 0; width: 100%; }

/* .appointment-wrap
------------------------------------*/
.appointment-wrap,
.before-after-wrap { display: flex; }

.appointment-wrap nav dl:not(:first-of-type) { margin-top: 30rem; }
.appointment-wrap nav dl:not(:last-child) { margin-bottom: 20rem; }
.appointment-wrap nav ul + dl { margin-top: 23rem; }

.appointment-wrap nav dt,
.before-after-wrap nav dt {
	margin-bottom: 22rem;
	color: var(--color-green);
	font-size: 14rem;
	letter-spacing: 0.08em;
}

.appointment-wrap nav ul + dl dt { margin-bottom: 16rem; }

.appointment-wrap nav dd,
.before-after-wrap nav dd { padding: 0 0 0 27rem; }
.appointment-wrap nav dd li a .wide,
.before-after-wrap nav dd li a .wide { display: inline !important; }

/* .appointment-doctorqube
------------------------------------*/
.appointment-doctorqube {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background-color: #FFFFFF;
	border: 4rem solid var(--color-border-green);
	border-radius: 9rem;
	width: fit-content;
	min-width: 600rem;
	margin-top: 40rem;
	padding: 30rem 80rem 36rem 40rem !important;
}

.appointment-doctorqube.pm { display: none; margin-top: 20rem; }
.appointment-doctorqube.pm.active { display: flex; }

.appointment-doctorqube .title {
	align-self: flex-start;
	margin-right: 30rem;
	padding: -5rem 0;
	white-space: nowrap;
}

.appointment-doctorqube .title h2 {
	margin-bottom: 12rem;
	color: var(--color-green);
	font-size: 18rem;
	line-height: 1.65;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

.appointment-doctorqube .title time {
	display: block;
	margin-left: -1rem;
	font-size: 12rem;
	letter-spacing: 0.02em;
}

.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 { position: relative; width: 100%; padding: 0 0 0 40rem; }

.appointment-doctorqube .waiting-info:before {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	background-color: var(--color-green);
	width: 2px;
	height: calc(100% + 4rem);
	min-height: 88rem;
	margin-top: 4rem;
	opacity: 0.5;
}

.appointment-doctorqube .waiting-info > div { font-size: 15rem; letter-spacing: 0.08em; }

.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: 27rem;
	letter-spacing: 0.1em;
}

.appointment-doctorqube .waiting-info i { padding-right: 2rem; color: var(--color-green); }
.appointment-doctorqube .waiting-info .wait { margin-bottom: 24rem; color: var(--color-green); font-size: 14rem; }

.appointment-doctorqube .waiting-info .wait em {
	display: inline-block;
	padding-right: 8rem;
	font-size: 16rem;
	letter-spacing: 0.04em;
	text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
	transform: translateY(-3rem);
}

.appointment-doctorqube .waiting-info .now { margin-top: -10rem; margin-bottom: 18rem; }
.appointment-doctorqube .waiting-info .next { margin-top: -10rem; }
.appointment-doctorqube .waiting-info .next strong { padding-left: 9rem; }
.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: 40rem 40rem 36rem !important; }
.surgery-day .title { margin-bottom: 10rem; }

.surgery-day .title h3 {
	font-size: 14rem;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

.surgery-day .title time {
	padding-left: 4rem;
	font-size: 11rem;
	letter-spacing: 0.06em;
}

.surgery-day .date {
	color: var(--color-green);
	font-size: 17rem;
	line-height: 1.85;
	letter-spacing: 0.08em;
}

.appointment-common .surgery-day  h6.title-sec:not(:first-child) { margin-top: 26rem !important; }


/* .appointment-inner
------------------------------------*/
.appointment-inner { width: 100%; max-width: 730rem; }
.appointment-common { position: relative; }

.appointment-common h2 {
	margin-bottom: 25rem;
	color: var(--color-green);
	font-size: 23rem;
	letter-spacing: 0.1em;
}

.appointment-common .inner {
	position: relative;
	border-top: 1px solid var(--color-border-green-txt);
	border-top: 1px solid #AAB3A4;
	margin-bottom: 120rem;
	padding: 95rem 0 0 85rem;
}

.appointment-common .inner:not(:has(h3.title-sec)) { padding-top: 70rem; }
.appointment-common.appointment-faq .inner { padding-top: 50rem !important; padding-left: 33rem; }
.appointment-common.appointment-faq .inner .faq-list { background: none; }

.appointment-common .inner h3.title-sec { position: absolute; top: 7rem; left: 0; }

.appointment-common .inner h4 {
	margin-bottom: 16rem;
	color: var(--color-green);
	font-size: 20rem;
	letter-spacing: 0.06em;
}

.appointment-common .inner h4:not(:nth-child(1)):not(:nth-child(2)) { margin-top: 70rem; }

.appointment-common .inner h5:not(.title-sec) {
	margin-bottom: 10rem;
	color: var(--color-green);
	font-size: 19rem;
	letter-spacing: 0.04em;
}

.appointment-common .inner h6:not(.title-sec) {
	display: inline-block !important;
	margin-bottom: 6rem;
	color: var(--color-green);
	font-size: 13rem;
	letter-spacing: 0.04em;
}

.appointment-common p { font-size: 15rem; line-height: 2.1; letter-spacing: 0.06em; }

.appointment-common .inner > p + .tel { margin-top: -5rem; }
.appointment-common .inner > .tel em { font-size: 15rem; }
.appointment-common .inner > .tel strong { font-size: 24rem; }
.appointment-common .inner > .tel span { font-size: 14rem; }

.appointment-common .dl-num-list,
.appointment-common .dl-dot-list { margin-left: -28rem; }
.appointment-common .dl-dot-list { margin-right: 70rem; }
.appointment-common .dl-num-list:nth-child(2),
.appointment-common .dl-dot-list:nth-child(2) { margin-top: 0; }

.appointment-common .btn-link { margin: 20rem 0 15rem -2rem; }

.appointment-common .box { display: inline-block; padding: 32rem 62rem 32rem 42rem; }
.appointment-common .box:not(:first-child) { margin-top: 24rem; }
.appointment-common ul + .box { margin-top: 30rem !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:not(:last-child) { margin-bottom: 1rem; }

.appointment-common .box-beige { padding: 48rem 50rem 45rem; }
.appointment-common .box-beige:not(:first-child) { margin-top: 60rem; }

.appointment-common .box-beige .box {
	background: rgba(255,255,255,0.4);
	border-radius: 3rem;
	margin-top: 40rem;
	padding: 30rem 36rem 30rem;
}

.appointment-common .box-beige p,
.appointment-common .dl-num-list.size-l dd .box-beige p { font-size: 14rem !important; text-align: justify; }

.box-green { background-color: var(--color-border-green-light); padding: 48rem 50rem 45rem; }
.box-green:not(:first-child) { margin-top: 30rem; }

.appointment-common .tel + .box-green { margin-top: 35rem; }

.appointment-common .box-green h6.title-sec { margin-bottom: 10rem; }
.appointment-common .box-green h6.title-sec:not(:first-child) { margin-top: 40rem; }
.appointment-common .box-green p + h6.title-sec:not(:first-child) { margin-top: 33rem; }
.appointment-common .box-green p { font-size: 14rem; line-height: 1.9; }

.appointment-common .box-green .dot-list li {
	margin-bottom: 2rem;
	margin-right: 20rem;
	font-size: 13rem;
	letter-spacing: 0.06em;
}

.appointment-common .box-green .btn-link { margin-top: 10rem; }

.appointment-common .box-green .box,
.appointment-common .time-zone dl {
	display: inline-block;
	background-color: rgba(255,255,255,0.5);
	border-radius: 3rem;
	padding: 22rem 40rem 22rem 28rem;
}

.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 {
	display: inline-block;
	padding-right: 8rem;
	font-variation-settings: "wght" 300;
	font-size: 25rem;
	letter-spacing: 0.08em;
	transform: translateY(1rem);
}

.appointment-common .tel span { font-size: 13rem; letter-spacing: 0.06em; }
.appointment-common .tel-wrap .tel span { font-size: 14rem; letter-spacing: 0.08em; }
.appointment-common .tel-wrap .attention-list li { font-size: 13rem; }

.appointment-common .inner > .tel span {
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 400;
	letter-spacing: 0.1em;
}

.appointment-common .box-green .box .attention-list { margin-top: 14rem; }

.appointment-common .box-green .box .attention-list li {
	display: block;
	margin-bottom: 2rem;
	padding-left: 16rem;
	color: var(--color-text-gray);
	font-size: 13rem;
	letter-spacing: 0.06em;
}

.appointment-common .box-green .box-inner {
	border-top: 2px solid #FFFFFF;
	margin-top: 50rem;
	padding-top: 44rem;
}

.appointment-common .time-zone { display: flex; gap: 0 14rem; margin: 25rem 0 0; }
.appointment-common .time-zone dl { padding: 26rem 24rem 20rem; }

.appointment-common .time-zone dt {
	margin-bottom: 30rem;
	color: var(--color-green);
	font-size: 14rem;
	letter-spacing: 0.06em;
	text-align: center;
	text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.3em;
}

.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: 30rem;
	font-size: 14rem;
	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: 22rem;
	height: 22rem;
	padding: 4rem 0 0 1rem;
	color: var(--color-white);
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 500;
	font-size: 12rem;
	text-align: center;
}

.appointment-common .time-zone li span {
	display: inline-block;
	padding: 0 1rem 0 2rem;
	font-size: 13rem;
	transform: translateY(-2rem);
}

.appointment-common .time-zone li span.line { padding: 0 2rem 0 3rem; }
.appointment-common .time-zone dd p { max-width: none; margin-top: 13rem; font-size: 13rem; }

.appointment-common .order-time { display: flex; gap: 0 20rem; margin: 0 0 12rem; }
.appointment-common .order-time dl { display: flex; align-items: flex-end; }

.appointment-common .order-time dt {
	margin-right: 12rem;
	font-size: 15rem;
	letter-spacing: 0.04em;
	transform: scaleX(1.03) translateY(-2rem);
}

.appointment-common .order-time dd {
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 300;
	font-size: 27rem;
	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 {
	max-width: none;
	margin-right: 14rem;
	padding-left: 16rem;
	color: var(--color-text-gray);
	font-size: 13rem;
	letter-spacing: 0.04em;
}

.appointment-common .order-time + .attention-list li:last-of-type { margin-right: 0; }

/* .appointment-method
------------------------------------*/
.appointment-method {
	position: relative;
	overflow: hidden;
	margin-top: 30rem;
	padding: 5rem 0;
}

.appointment-method:before {
	display: block;
	content: '';
	position: absolute;
	top: -5rem;
	right: -1px;
	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 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: 7rem 0 8rem;
	color: var(--color-green);
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 300;
	font-size: 14rem;
	letter-spacing: 0.12em;
	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 {
	width: 220rem;
	min-width: 220rem;
	padding: 25rem 20rem 28rem 25rem;
	font-weight: 400;
	vertical-align: middle;
}

.appointment-method tbody th strong {
	display: block;
	margin-bottom: 14rem;
	color: var(--color-green);
	font-size: 17rem;
	letter-spacing: 0.06em;
}

.appointment-method tbody th .dot-list li {
	margin-bottom: 4rem;
	padding-left: 12rem;
	font-size: 13rem;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

.appointment-method tbody td {
	background-color: rgba(255,255,255,0.4);
	border-bottom: 1px solid var(--color-border-gray);
	width: 300rem;
	padding: 20rem 25rem;
	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;
	padding-bottom: 5rem;
	color: var(--color-green);
	font-size: 13rem;
	letter-spacing: 0.08em;
}

.appointment-method tbody td ul { display: flex; gap: 0 8rem; padding-bottom: 10rem; }

.appointment-method tbody td ul.single {
	display: inline-block;
	margin: -25rem 0 -25rem 10rem;
	transform: translateY(12rem);
}

.appointment-method tbody td li,
.appointment-method tbody td li img { width: 34rem; }

.appointment-method tbody td ul.single li {
	transform: translate(-110rem,105.5rem);
	animation: anime_appointment_method_li1 3.5s var(--easeInOutQuad) infinite;
}

@keyframes anime_appointment_method_li1 {
	0% { transform: translate(-110rem,105.5rem); 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(42rem);
	animation: anime_appointment_method_li2 3.5s var(--easeOutSine) infinite;
}

@keyframes anime_appointment_method_li2 {
	0% { transform: translateX(42rem) }
	10% { transform: translateX(42rem) }
	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: 110rem; }
.appointment-lead p { font-size: 16rem; }


/* page error
---------------------------------------------------------------------------*/
#errorContents { padding: 100rem 0 1rem; }
#errorContents .page-head { margin-bottom: 60rem; }


/* print
---------------------------------------------------------------------------*/
@media print {

}


/* media query
---------------------------------------------------------------------------*/
@media (max-width: 1260px) {
	.contents { min-height: 945rem; }
	footer .footer-info { margin-left: -10rem; }
	.footer-schedule,
	.copyright { right: 4.5%; }
	footer .schedule th,
	footer .schedule td { padding-right: 8rem; padding-left: 8rem; }
	footer .schedule th:first-of-type,
	footer .schedule td:first-of-type { padding-right: 10rem; padding-left: 15rem; }
	footer .schedule th:last-of-type,
	footer .schedule td:last-of-type { padding-right: 15rem; padding-left: 10rem; }
	footer .schedule .attention-list { margin-left: 0; }
	footer .schedule .attention-list li { font-size: 12rem; letter-spacing: 0; }
}

@media (max-width: 1239px) {
	header {
		padding-right: 15rem;
		padding-left: 30rem;
	}
	.gnav > ul > li > a,
	.gnav > ul > li > button { padding-right: 10rem; padding-left: 10rem; letter-spacing: 0.04em; }
	.case-detail .gnav > ul > li > a,
	.case-detail .gnav > ul > li > button { padding-right: 9rem; padding-left: 9rem; letter-spacing: 0.04em; }
	.mnav-wrap { left: -50rem; }
	.header-inner .gnav:not(:has(#gnav-before-after)) #gnav-about .mnav-wrap { left: -115rem; }
	.header-inner .gnav:not(:has(#gnav-before-after)) #gnav-about .mnav:before { left: 170rem; }
	.case-detail #gnav-about .mnav-wrap { left: -190rem !important; }
	.case-detail #gnav-about .mnav:before { left: 245rem !important; }
	footer .gnav:not(:has(#gnav-before-after)) #gnav-about .mnav-wrap { left: -200rem; }
	footer .gnav:not(:has(#gnav-before-after)) #gnav-about .mnav:before { left: 254rem; }
	#gnav-case .mnav-wrap { right: -260rem; }
	#gnav-case .mnav:before { right: 298rem; }
	.header-inner .gnav:not(:has(#gnav-before-after)) #gnav-case .mnav-wrap { right: -175rem; }
	.header-inner .gnav:not(:has(#gnav-before-after)) #gnav-case .mnav:before { right: 213rem; }
	.case-detail #gnav-case .mnav-wrap { right: -193rem; }
	.case-detail #gnav-case .mnav:before { right: 230rem; }
	.case-detail .gnav:not(:has(#gnav-before-after)) #gnav-case .mnav-wrap { right: -108rem; }
	.case-detail .gnav:not(:has(#gnav-before-after)) #gnav-case .mnav:before { right: 145rem; }
	.case-detail #gnav-appointment { display: none; }

	.case-head { background-size: 305rem 100%; width: 430rem; min-width: 430rem; }
	.case-head .tree-branch { right: 10rem; }
	.case-head .tree-branch .branch img { width: 166rem; }
	.case-head .tree-branch .woodpecker { top: -22rem; }
	.case-head .tree-branch .woodpecker img { width: 73rem; }
	.case-head .voice { left: 80rem; }
	.case-detail { padding-right: 2.5%; padding-left: 1.5%; }
}

@media (max-height: 900px) {
	.case-head nav { margin-top: -120rem; }
	.case-head nav li a { padding-top: 2rem; padding-bottom: 4rem; font-size: 15rem; }
	.case-head nav li a:before { top: 11rem; }
	.case-head .voice { bottom: 35rem; }
}

@media (max-height: 750px) {
	.case-head nav { top: 40rem; transform: translateY(0); margin-top: 0rem; }
	.case-head nav li a { font-size: 14rem; }
	.case-head .voice { bottom: 30rem; }
	.btn-audio .attention { bottom: -15rem; font-size: 12rem; }
}