@charset "utf-8";
/*
Theme Name: hagumu-akari-shingu
Theme URI: https://hagumu-akari-shingu.com
Version: 1.0
*/

/* common
---------------------------------------------------------------------------*/
:root {
	--color-green: #006F74;
	--color-blue: #2C4198;
	--color-blue-light: #F8FCFF;
	--color-yellow: #FFD951;
	--color-brown: #BE8B4C;
	--color-font: #565656;
	--color-font-light: #777777;
	--color-bg: #FFFFFF;
	--color-bg-green-light: #F3FAFA;
	--color-bg-green-dark: #E2EFEF;
	--color-border: #000000;
	--font-gothic: 'FOT-筑紫A丸ゴシック Std D', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	--font-gothic-m: 'FOT-筑紫A丸ゴシック Std M', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	--font-gothic-b: 'FOT-筑紫A丸ゴシック Std B', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	--font-sans: 'Varela Round', sans-serif;
	--font-sans-num: 'Work Sans', sans-serif;
}

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

body.noscroll { overflow-y: scroll; position: fixed; width: 100%; }

::-moz-selection { background: #F0F5F9; }
::selection { background: #F0F5F9; }

p { font-size: 14px; line-height: 1.9; letter-spacing: 0.08em; margin-bottom: 14px; }
p:last-child { margin-bottom: 0 !important; }
address, i { font-style: normal; }
img { max-width: none; }

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

/* txt
------------------------------------*/
.font-b { font-family: var(--font-gothic-b); }

/* link
------------------------------------*/
a { color: var(--color-font); 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; }
a.tel-link { pointer-events: none; }
a.txt-link { color: var(--color-green); text-decoration: underline; }

.line {
	display: inline-block;
	position: relative;
	padding-bottom: 1px;
	line-height: 1;
}

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

.line.blue:after { background-color: var(--color-green); }
.line.yellow:after { background-color: var(--color-yellow); }
.line.brown:after { background-color: var(--color-brown); }

/* .btn
------------------------------------*/
.btn-link a {
	display: inline-block;
	background: var(--color-green);
	padding: 11px 25px 15px 28px;
	border-radius: 30px;
	color: #FFFFFF !important;
	font-size: 16px;
	line-height: 1;
	letter-spacing: 0.1em;
	text-align: center;
	white-space: nowrap;
	text-decoration: none !important;
}

.btn-link a i {
	display: inline-block;
	margin: -10px 12px 0 -4px;
	transform: translateY(5px);
}

.btn-link a i.ico-calendar { margin-right: 8px; transform: translateY(4px); }
.btn-link a i.ico-calendar img { width: 21px; }
.btn-link a .long { display: none; }

.btn-link.size-l a {
	display: block;
	border-radius: 40px;
	padding-top: 18px;
	padding-bottom: 21px;
	font-size: 18px;
}

.btn-arrow a {
	display: inline-block;
	background: url(img/share/ico-arrow-btn-circle.svg) no-repeat left top 6px;
	padding: 10px 10px 10px 38px;
	color: var(--color-green);
	font-size: 14px;
	line-height: 1;
	letter-spacing: 0.07em;
}

.btn-arrow.blue a {
	background-image: url(img/share/ico-arrow-btn-circle-blue.svg);
	color: var(--color-blue);
	font-size: 17px;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

.btn-set > div { display: inline-block; }


/* #wrap
---------------------------------------------------------------------------*/
#wrap {
	position: relative;
	min-width: 1240px;
	min-height: 100vh;
}


/* .loading-first
----------------------------------------------------------------------------*/
.loading-first {
	position: fixed;
	top: 0;
	left: 0;
	background-color: var(--color-bg-green-light);
	width: 100%;
	height: 100%;
	z-index: 11000;
}

.loading-first .logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	margin: -40px 0 0;
	width: 200px;
	height: 200px;
}

.loading-first .logo > div,
.loading-first .logo .bird div {
	position: absolute;
}

.loading-first .bird { top: 62px; right: 0; width: 175px; height: 125px; }
.loading-first .beak { top: 1px; right: 0; z-index: 1; transform-origin: left center; opacity: 0; }
.loading-first .eye { top: 11px; right: 32px; z-index: 3; opacity: 0; }
.loading-first .hand { top: 0; right: 10px; z-index: 2; transform-origin: right top; }
.loading-first .hand img { opacity: 0; }

.loading-first .sun-wrap {
	overflow: hidden;
	top: 2px;
	right: 8px;
	width: 197px;
	height: 197px;
	margin-top: 35px;
	z-index: 0;
}

.loading-first .sun { position: absolute; bottom: -190px; left: 0; transform-origin: center bottom; }
.loading-first .sun span { display: block; position: relative; }
.loading-first .sun span.active { animation: loading-first-sun 2s ease-out forwards; z-index: 0; }

@keyframes loading-first-sun {
	0% { transform: rotate(-180deg); }
	100% { transform: rotate(0deg); }
}

.loading-first .sun .mask {
	position: absolute;
	background-color: var(--color-bg-green-light);
	width: 10px;
	height: 50px;
	z-index: 1;
	opacity: 0;
}

.loading-first .sun .mask1 { top: 97px; left: 26px; transform: rotate(70deg); }
.loading-first .sun .mask2 { top: 47px; right: 27px; transform: rotate(68deg); }


/* header
---------------------------------------------------------------------------*/
header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	margin: 0 auto;
	text-align: center;
	z-index: 10;
	opacity: 0;
}

.header-inner {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	padding: 60px 0 0;
	opacity: 0;
}

header .logo { margin-bottom: 20px; }
header .logo img { width: 316px; transform: translateX(-15px); }

header .copy1,
header .copy2 {
	position: absolute;
	transition: .15s ease-out;
	opacity: 0;
}

body.top header .copy1,
body.top header .copy2 { opacity: 1; }
header .copy1 { top: 152px; left: 34px; }
header .copy2 { top: 152px; right: 26px; }

/* .gnav
------------------------------------*/
header .gnav > ul > li {
	display: inline-block;
	position: relative;
	white-space: nowrap;
}

header .gnav > ul > li:after {
	display: block;
	content: '';
	position: absolute;
	top: 31px;
	right: -12px;
	background: var(--color-brown);
	width: 20px;
	height: 1.5px;
	transform: rotate(-45deg);
	opacity: 0.8;
}

header .gnav > ul > li:last-of-type:after {
	display: none;
}

header .gnav > ul > li > a {
	display: block;
	padding: 15px 21px;
}

/* .dnav
------------------------------------*/
.btn-dnav > a {
	pointer-events: none;
}

.dnav {
	position: absolute;
	top: 60px;
	left: 0;
	padding: 0 0 20px 18px;
	text-align: left;
	transition: .15s cubic-bezier(0.165, 0.84, 0.44, 1);
	pointer-events: none;
}

.btn-dnav:hover .dnav {
	top: 60px;
	transition: .3s cubic-bezier(0.165, 0.84, 0.44, 1);
	pointer-events: auto;
}

.dnav li {
	display: inline-block;
	background: var(--color-green);
	color: #FFFFFF;
	border-radius: 0 5px;
	margin-bottom: 1px;
	transform-origin: center top;
	transform: rotateX(90deg);
	opacity: 0;
}

.btn-dnav:hover .dnav li {
	transform: rotateX(0deg);
	opacity: 1;
}

.dnav li:nth-of-type(5) { transition: .15s cubic-bezier(0.165, 0.84, 0.44, 1); }
.dnav li:nth-of-type(4) { transition: .15s cubic-bezier(0.165, 0.84, 0.44, 1) .03s; }
.dnav li:nth-of-type(3) { transition: .15s cubic-bezier(0.165, 0.84, 0.44, 1) .06s; }
.dnav li:nth-of-type(2) { transition: .15s cubic-bezier(0.165, 0.84, 0.44, 1) .09s; }
.dnav li:nth-of-type(1) { transition: .15s cubic-bezier(0.165, 0.84, 0.44, 1) .12s; }

.btn-dnav:hover .dnav li:nth-of-type(1) { transition: .4s cubic-bezier(0.165, 0.84, 0.44, 1); }
.btn-dnav:hover .dnav li:nth-of-type(2) { transition: .4s cubic-bezier(0.165, 0.84, 0.44, 1) .03s; }
.btn-dnav:hover .dnav li:nth-of-type(3) { transition: .4s cubic-bezier(0.165, 0.84, 0.44, 1) .06s; }
.btn-dnav:hover .dnav li:nth-of-type(4) { transition: .4s cubic-bezier(0.165, 0.84, 0.44, 1) .09s; }
.btn-dnav:hover .dnav li:nth-of-type(5) { transition: .4s cubic-bezier(0.165, 0.84, 0.44, 1) .12s; }

.dnav li a {
	display: inline-block;
	padding: 7px 9px 10px 10px;
	color: #FFFFFF;
	font-size: 15px;
	letter-spacing: 0.1em;
}

/* .snav
------------------------------------*/
header .snav {
	position: absolute;
	top: 26px;
	right: 34px;
	font-size: 0;
}

header .snav li {
	display: inline-block;
}

header .snav li a {
	display: block;
	padding: 10px 14px;
}

header .snav li i {
	display: inline-block;
	margin-right: 6px;
	transform: translateY(4px);
}

/* .sns-wrap
------------------------------------*/
.sns-wrap {
	position: absolute;
	top: 43px;
	left: 0;
}

.sns-wrap .pic {
	position: absolute;
	top: 2px;
	left: -54px;
	transform-origin: center bottom;
	z-index: 4;
}

.sns-wrap .pic img {
	display: block;
	width: 84px;
	transform: scaleX(-1);
}

.sns-wrap .txt {
	position: absolute;
	top: 3px;
	left: 50px;
	width: 120px;
	height: 40px;
}

.sns-wrap .txt-sns,
.sns-wrap .txt-loading {
	overflow: hidden;
	position: absolute;
	top: -30px;
	left: 0;
	width: 100%;
	height: 60px;
	transform-origin: center bottom;
}

.sns-wrap .txt-sns {
	z-index: 1;
	opacity: 0;
}

.sns-wrap .txt-loading {
	z-index: 2;
}

.sns-wrap .txt-sns img,
.sns-wrap .txt-loading img {
	display: block;
	position: absolute;
	top: 30px;
	left: 0;
}

.sns-wrap .loading-line {
	overflow: hidden;
	position: absolute;
	top: 26px;
	left: -7px;
	width: 103px;
	height: 7px;
	z-index: 3;
}

.sns-wrap .loading-line span {
	display: block;
	position: absolute;
	top: 0;
	left: -103px;
	background: url(img/share/loading-line.svg) repeat-x left top;
	width: calc(98px * 3);
	height: 7px;
}

.sns-wrap.active .loading-line span {
	animation: loading_line 2s linear infinite;
}

@keyframes loading_line {
	0% { left: -98px; }
	100% { left: 0; }
}

.sns-wrap .sns { position: absolute; top: -9px; left: 156px; opacity: 0; }
.sns { display: -webkit-box; display: flex; }
.sns li { position: relative; }
.sns li a { display: block; position: relative; padding: 5px; z-index: 1; }
.sns li .pic { display: none; }


/* footer
---------------------------------------------------------------------------*/
footer {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	margin: 200px auto 0;
	padding: 0 40px;
	white-space: nowrap;
	opacity: 0;
}

body.service footer,
body.visit footer,
body.pediatric footer,
body.disease footer,
body.development footer {
	margin-top: 0;
}

footer,
footer a,
.address-tel,
.address-tel a {
	color: var(--color-green);
}

.footer-inner {
	background: url(img/share/line-dot-green.svg) repeat-x left top;
	padding: 150px 0 65px 27.5%;
}

footer .copy {
	position: absolute;
	top: 143px;
	left: 66px;
	margin-left: -3px;
	font-family: var(--font-gothic-m);
	font-size: 32px;
	line-height: 1.6;
	letter-spacing: 0.12em;
}

footer .copyright {
	font-family: var(--font-gothic-b);
	font-size: 10px;
	letter-spacing: 0.04em;
}

footer .sns { position: absolute; top: 260px; left: 58px; }
footer .sns img { width: 33px; }

footer nav {
	display: -webkit-box;
	display: flex;
	margin-bottom: 60px;
	font-size: 17px;
	letter-spacing: 0.07em;
}

footer nav a { color: var(--color-green); }
footer nav ul { margin-right: 40px; }
footer nav li { margin-bottom: 10px; }
footer nav li a { display: block; padding: 5px 10px 5px 0; }
footer nav dl { margin-top: 6px; }
footer nav dt { margin-bottom: 17px; }
footer nav dt span.line { padding-bottom: 4px; }
footer nav dd { margin-bottom: 4px; }
footer nav dd a { display: inline-block; padding: 7px 5px 6px 0; }
footer nav dd a i { display: inline-block; margin-right: 7px; }

/* .footer-info
------------------------------------*/
.footer-info {
	position: absolute;
	bottom: 67px;
	right: 7%;
}

.footer-info h2 {
	margin: 0 0 20px 1px;
}

.footer-info h2 span {
	padding-bottom: 4px;
	font-family: var(--font-gothic-b);
	color: var(--color-brown);
	font-size: 14px;
	letter-spacing: 0.18em;
}

.footer-info h2 span.line:after {
	width: calc(100% - 2px);
}

.footer-info .logo { margin-bottom: 20px; }
.footer-info .logo img { width: 294px; }

.address-tel address {
	font-size: 18px;
	letter-spacing: 0.08em;
}

.address-tel address span {
	display: block;
	margin-bottom: 9px;
	font-size: 12px;
	letter-spacing: 0.1em;
}

.address-tel address + p {
	margin-top: 11px;
	margin-bottom: 10px;
	font-size: 13px;
	line-height: 1.65;
	letter-spacing: 0.07em;
}

.address-tel .tel {
	display: inline-block;
	margin-left: 2px;
	font-size: 15px;
	letter-spacing: 0.07em;
}

.address-tel .tel a {
	padding-left: 4px;
	font-size: 24px;
	pointer-events: none;
}

.address-tel .tel .mail { letter-spacing: 0.04em; }
.address-tel .tel .size-s { font-size: 20px; }

.address-tel .tel span {
	padding-left: 4px;
	font-size: 14px;
	letter-spacing: 0.07em;
}

.address-tel .tel span.slash {
	padding: 0 3px 0 2px;
}

.address-tel .route {
	display: inline-block;
	margin-left: 8px;
	transform: translateY(-3px);
}

.address-tel .route a {
	color: var(--color-brown);
	font-family: var(--font-gothic-b);
	font-size: 16px;
	letter-spacing: 0.06em;
}

.address-tel .route a i {
	display: inline-block;
	margin-right: 7px;
	transform: translateY(7px);
}

.address-tel .route a span {
	padding-bottom: 2px;
}

.address-tel p.attention {
	margin-top: 8px;
	font-size: 12px;
	letter-spacing: 0.03em;
}

.footer-info .btn-set { margin: 28px -2px 0; }
.footer-info .btn-link:not(:last-of-type) { margin-right: 5px; }

.footer-info .btn-link a {
	padding: 12px 26px 16px 24px;
	font-size: 15px;
	letter-spacing: 0.12em;
}

.footer-info .btn-link:nth-of-type(2) a { padding-right: 17px; }
.footer-info .btn-link:nth-of-type(2) a span span { font-size: 13px; letter-spacing: 0.05em; }

footer .link-clinic {
	position: absolute;
	bottom: 60px;
	left: 60px;
}

footer .link-clinic span {
	display: block;
	margin: 0 0 10px 2px;
	font-family: var(--font-gothic-b);
	font-size: 12px;
	letter-spacing: 0.08em;
}

footer .link-clinic a {
	display: inline-block;
	border-bottom: 2px solid var(--color-green);
	padding: 0 0 4px;
	font-family: var(--font-gothic-b);
	font-size: 17px;
	letter-spacing: 0.1em;
}

@media (min-width: 1440px) {
	.footer-inner { padding-left: 400px; }
}

@media (max-width: 1380px) {
	footer .copy { font-size: 30px; }
	footer .link-clinic { left: 56px; }
	.footer-inner { padding-left: 28%; }
	footer nav ul { margin-right: 30px; }
	.footer-info { right: 3%; }
}


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

.bg-contents {
	position: relative;
	overflow: hidden;
	background-color: var(--color-bg-green-light);
	width: 100%;
	height: 165px;
	margin-bottom: -145px;
	padding: 310px 0 0;
	z-index: 0;
	opacity: 0;
}

.bg-contents div {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 225px;
	transform-origin: center bottom;
}

.bg-contents div:before,
.img-main2 .cover .before {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 1925px;
	height: 225px;
}

.bg-contents div:before,
.img-main2 .cover .before i {
	display: block;
	background: url(img/share/bg-contents.svg) no-repeat center bottom;
	width: 1925px;
	height: 225px;
	transform-origin: center bottom;
}

.img-main2 .cover .before {
	height: 23vh;
	min-height: 225px;
}

.img-main2 .cover .before i {
	background-size: auto 100%;
	width: 100%;
	height: 100%;
}

.img-main2 .cover .before i {
	position: absolute;
	bottom: 0;
	left: 0;
}

.bg-contents div:after,
.img-main2 .cover .after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #FFFFFF;
	width: 100%;
	height: 23px;
}

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

/* .img-main
------------------------------------*/
.img-main {
	width: 1140px;
	margin: -15px auto 120px;
}

.img-main img {
	border-radius: 7px;
}

/* .title-page
------------------------------------*/
.title-page {
	margin-bottom: 95px;
	text-align: center;
}

.title-page em {
	display: inline-block;
	position: relative;
	margin-bottom: 26px;
	padding-bottom: 13px;
	color: var(--color-brown);
	font-family: var(--font-sans);
	font-size: 16px;
	letter-spacing: 0.14em;
}

.title-page em:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	background-color: var(--color-brown);
	width: 24px;
	height: 1px;
	opacity: 0.5;
}

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

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

.title-page p {
	margin-top: 42px;
	color: var(--color-font-light);
	font-size: 16px;
	line-height: 2.25;
	letter-spacing: 0.1em;
}

/* .title-circle
------------------------------------*/
.title-circle {
	position: relative;
	margin-bottom: 28px;
	padding: 0 0 0 32px;
	color: var(--color-green);
	font-size: 20px;
	letter-spacing: 0.12em;
}

.title-circle:before {
	display: block;
	content: '';
	position: absolute;
	top: 2px;
	left: 0;
	box-sizing: border-box;
	border: 3px solid var(--color-yellow);
	border-radius: 50%;
	width: 18px;
	height: 18px;
}

.title-circle em {
	padding-left: 10px;
	color: var(--color-font);
	font-size: 14px;
	letter-spacing: 0.08em;
}

/* .page-nav
------------------------------------*/
.page-nav {
	max-width: 1000px;
	margin: -65px auto 125px;
	text-align: center;
}

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

.page-nav li:after {
	display: block;
	content: '／';
	position: absolute;
	top: 8px;
	right: -20px;
	font-size: 20px;
	color: #E7CAA6;
	-webkit-text-stroke: 1px #E7CAA6;
}

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

.page-nav li a {
	display: inline-block;
	padding: 10px;
	color: var(--color-green);
	font-size: 16px;
	letter-spacing: 0.1em;
}

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

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

.dot-list li:before {
	display: block;
	content: '・';
	position: absolute;
	top: 0;
	left: 0;
}

/* .attention-list
------------------------------------*/
.attention-list li {
	position: relative;
	margin: 0 0 4px;
	padding-left: 16px;
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

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

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

/* .border-box
------------------------------------*/
.border-box {
	box-sizing: border-box;
	border: 4px solid var(--color-bg-green-dark);
	border-radius: 8px;
	padding: 24px 32px 24px;
}

/* .border-top-yellow
------------------------------------*/
.border-top-yellow {
	position: relative;
	box-sizing: border-box;
	background-color: #FFFFFF;
	border-radius: 9px;
}

.border-top-yellow:before {
	display: block;
	content: '';
	position: absolute;
	top: 6px;
	left: 9px;
	background: var(--color-yellow);
	border-radius: 4px;
	width: calc(100% - 18px);
	height: 4px;
}

/* .schedule-info
------------------------------------*/
.schedule-info {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	box-sizing: border-box;
	background: var(--color-bg-green-light);
	border-radius: 7px;
	width: 1010px;
	margin: 150px auto 0;
	padding: 56px 64px 48px;
}

.schedule-info .schedule-wrap {
	width: 475px;
	margin: 0;
}

.schedule-info .inner {
	margin: 35px 0 0 50px;
	white-space: nowrap;
}

.schedule-info .inner .address-tel address {
	font-size: 19px;
}

.schedule-info .inner .address-tel address + p {
	margin-bottom: 10px;
	font-size: 14px;
	line-height: 1.75;
}

.schedule-info .inner .btn-set {
	margin: 26px -5px 0 -4px;
}

.schedule-info .inner .btn-link {
	margin-right: 5px;
}

.schedule-info .inner .btn-link a {
	padding-right: 20px;
	padding-left: 24px;
	letter-spacing: 0.06em;
}

.schedule-info .inner .btn-link:nth-of-type(2) a {
	padding-right: 18px;
}

.schedule-info .inner .btn-link:nth-of-type(2) a span span {
	font-size: 13px;
}

/* .service-list
------------------------------------*/
.service-list-wrap {
	box-sizing: border-box;
	background: var(--color-bg-green-light);
	width: 100%;
	padding: 62px 0 84px;
}

#visitContents .service-list-wrap,
#pediatricContents .service-list-wrap,
#diseaseContents .service-list-wrap,
#developmentContents .service-list-wrap {
	margin-top: 150px;
}

.service-list-wrap > h2 {
	display: none;
}

.service-list {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 0 68px;
	justify-content: space-between;
	width: 1080px;
	margin: 0 auto;
}

.service-list > .inner {
	position: relative;
}

.service-list > .inner:after {
	display: block;
	content: '';
	position: absolute;
	top: -10px;
	right: -35px;
	background: url(img/share/line-dot-green-light-v.svg) repeat-y left top;
	width: 1px;
	height: calc(100% + 40px);
}

.service-list > .inner:last-of-type:after {
	display: none;
}

.service-list figure {
	margin-bottom: 30px;
	text-align: center;
}

.service-list figure img {
	border-radius: 7px;
}

.service-list h2 {
	margin-bottom: 16px;
	font-size: 20px;
	letter-spacing: 0.08em;
	text-align: center;
}

.service-list h2,
.service-list h2 a {
	color: var(--color-green);
}

.service-list h2 span {
	display: inline-block;
	padding-left: 9px;
	color: var(--color-brown);
	font-family: var(--font-gothic-b);
	font-size: 13px;
	letter-spacing: 0.04em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.3em;
	transform: translateY(-4px);
}

.service-list h3 {
	margin-bottom: 24px;
	color: var(--color-green);
	font-size: 14px;
	letter-spacing: 0.08em;
	text-align: center;
}

.service-list p {
	line-height: 1.8;
	letter-spacing: 0.04em;
	text-align: justify;
}

.service-list p.size-s {
	position: absolute;
	bottom: -34px;
	left: 0;
	color: var(--color-green);
	font-size: 12px;
	letter-spacing: 0.02em;
}

.service-list .btn-link {
	width: calc(100% + 12px);
	margin: 40px -6px 0;
}

.service-list .btn-link a {
	display: block;
}

.service-list .btn-link.font-s a {
	padding-top: 12px;
	padding-bottom: 16px;
	font-size: 14px;
}

.service-list-wrap > .btn-link {
	display: none;
}

/* .faq-relation
------------------------------------*/
.faq-relation {
	width: 1010px;
	margin: 150px auto;
}

.faq-relation .faq-list {
	width: 100%;
	margin-top: 35px;
}

.faq-relation .faq-list .post {
	margin: 0;
	padding: 0;
}

.faq-relation .faq-list .post dt {
	font-size: 18px;
}

.faq-relation .faq-list .post dt em {
	font-size: 20px;
}

/* .img-scroll
------------------------------------*/
.img-scroll {
	margin-top: 150px;
}

.img-scroll .inner {
	margin-right: 3px;
}


/* news
---------------------------------------------------------------------------*/
.news-list {
	width: 800px;
	margin: 0 auto;
}

.title-page+.news-list {
	margin-top: -10px;
}

.news-list article {
	background: url(img/share/line-dot-green.svg) repeat-x left bottom;
	margin-bottom: 18px;
}

.news-list article:last-of-type {
	margin-bottom: 0;
}

.news-list article a {
	position: relative;
	display: -webkit-box;
	display: flex;
	padding: 14px 70px 14px 12px;
	line-height: 1.6;
}

.news-list article a:before {
	display: block;
	content: '';
	position: absolute;
	top: 32px;
	right: 39px;
	background: url(img/share/line-dot-green.svg) repeat-x left center;
	width: 28px;
	height: 2px;
	transform: rotate(90deg);
}

.news-list article a:after {
	display: block;
	content: '';
	position: absolute;
	top: 27px;
	right: 20px;
	background: url(img/share/ico-arrow.svg) no-repeat center center;
	width: 14px;
	height: 9px;
}

.news-list time {
	width: 140px;
	min-width: 140px;
	color: var(--color-brown);
	font-family: var(--font-sans-num);
	font-size: 16px;
	letter-spacing: 0.12em;
	transform: translateY(8px);
}

.news-list h2 {
	color: var(--color-green);
	font-size: 20px;
	letter-spacing: 0.08em;
}


/* news single
---------------------------------------------------------------------------*/
.news-area {
	box-sizing: border-box;
	background: url(img/share/line-dot-green.svg) repeat-x left top;
	width: 840px;
	margin: 0 auto;
	padding: 25px 20px 0;
}

/* .news-title
------------------------------------*/
.news-title {
	position: relative;
	box-sizing: border-box;
	margin-bottom: 60px;
	padding-right: 140px;
}

.news-title time {
	display: block;
	position: absolute;
	top: 10px;
	right: 0;
	color: var(--color-brown);
	font-family: var(--font-sans-num);
	font-size: 16px;
	letter-spacing: 0.1em;
}

.news-title h1 {
	color: var(--color-green);
	font-size: 22px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

/* .news-main
------------------------------------*/
.news-main {
	padding: 0 10px;
}

.news-main,
.news-main p {
	font-size: 16px;
	line-height: 2.2;
	letter-spacing: 0.04em;
	text-align: justify;
}

.news-main p {
	margin-bottom: 15px;
	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% + 20px);
	height: auto;
	margin: 0 -10px;
	padding: 30px 0;
}

.news-main>img:first-child,
.news-main>p:first-child img:first-child {
	padding-top: 0;
}

.news-main img + img {
	margin-top: -30px;
}

.news-main .wp-caption {
	max-width: 100%;
	margin-bottom: 25px;
}

.news-main .wp-caption-text {
	margin-top: -5px;
}

.news-main ul,
.news-main ol,
.news-main blockquote {
	margin: 22px 0 22px;
}

.news-main ul li,
.faq-list .post dd ul li {
	list-style: disc;
	margin: 0 0 4px 21px;
}

.news-main ol li,
.faq-list .post dd ol li {
	list-style: decimal;
	margin: 0 0 4px 21px;
}

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

.news-main blockquote,
.faq-list blockquote {
	background: var(--color-bg-green-light);
	margin-top: 42px;
	padding: 25px 35px 26px;
}

.news-main blockquote p,
.faq-list blockquote p {
	line-height: 2;
}

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

.post-table h3 {
	position: relative;
	margin: 75px 0 20px;
	padding-left: 38px;
	color: var(--color-green);
	font-size: 18px;
	line-height: 1.6;
	letter-spacing: 0.14em;
}

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

.post-table h3:before {
	display: block;
	content: '';
	position: absolute;
	top: 7px;
	left: 9px;
	box-sizing: border-box;
	border: 3px solid var(--color-yellow);
	border-radius: 50%;
	width: 18px;
	height: 18px;
}

.post-table table {
	box-sizing: border-box;
	width: 100%;
	margin-bottom: 40px;
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.post-table table:last-child {
	margin-bottom: 0;
}

.post-table table tr {
	background: url(img/share/line-dot-green.svg) repeat-x left bottom;
}

.post-table table th,
.post-table table td {
	padding-top: 16px;
	padding-bottom: 10px;
}

.post-table table th {
	position: relative;
	box-sizing: border-box;
	width: 10%;
	padding-right: 25px;
	padding-left: 10px;
	color: var(--color-green);
	text-align: left;
	vertical-align: top;
	white-space: nowrap;
}

.post-table table td {
	box-sizing: border-box;
	width: 90%;
	padding-right: 5px;
}

.post-table-attention {
	margin: -24px 0 0 10px;
	font-size: 14px !important;
	line-height: 1.8 !important;
	letter-spacing: 0.08em !important;
}

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

/* .post-link
------------------------------------*/
.post-link {
	margin: 40px 0 0;
}

.post-link li {
	display: inline-block;
	margin: 0 6px 12px 0 !important;
	list-style: none !important;
}

.post-link li:last-of-type {
	margin-bottom: 0 !important;
}

/* .news-other
------------------------------------*/
.news-other {
	width: 840px;
	margin: 160px auto 0;
}

.news-other .btn-link {
	width: 826px;
	margin: 65px auto 0;
}


/* .wp-pagenavi
---------------------------------------------------------------------------*/
.wp-pagenavi {
	overflow: hidden;
	margin-top: 120px;
	padding: 20px 0;
	font-size: 20px;
	text-align: center;
}

.wp-pagenavi a,
.wp-pagenavi .current {
	box-sizing: border-box;
	min-width: 33px;
	min-height: 33px;
	margin: 0 12px;
	padding: 5px;
	color: var(--color-green);
}

.wp-pagenavi .current {
	display: inline-block;
	position: relative;
	color: #FFFFFF;
	z-index: 0;
}

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

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

.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
	display: inline-block;
	background: url(img/share/btn-arrow.svg) no-repeat;
	background-size: 40px 40px;
	width: 40px;
	height: 40px;
	text-indent: -9999px;
}

.wp-pagenavi a.previouspostslink {
	margin-right: 30px;
	transform: translateY(-4px);
}

.wp-pagenavi a.nextpostslink {
	margin-left: 26px;
	transform: translateY(-4px) scaleX(-1);
}


/* page top
---------------------------------------------------------------------------*/

/* .top-main
------------------------------------*/
.top-main {
	overflow: hidden;
	position: relative;
	width: 100%;
	margin: -230px 0 55px;
	padding-bottom: 58px;
}

.slider-top {
	overflow: hidden;
	border-radius: 45px;
}

.slider-top.main {
	position: relative;
	width: 66vw;
	margin: 0 auto;
}

.slider-top.sub {
	position: absolute;
	bottom: 0;
	width: 22vw;
}

.slider-top.sub.left { left: -13vw; }
.slider-top.sub.right { right: -13vw; }

.slider-top .inner {
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.slider-top .inner.current {
	z-index: 100 !important;
}

.slider-top .inner img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	width: 100%;
	height: 100%;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}

.slider-top .inner.right,
.slider-top .inner.right img {
	left: auto;
	right: 0;
}

.slider-top-nav {
	position: absolute;
	top: 0;
	width: 50%;
	height: 100%;
	cursor: pointer;
	z-index: 101;
}

.slider-top-nav.prev { left: 0; }
.slider-top-nav.next { right: 0; }

@media (max-width: 1240px) {
	.slider-top.main { width: 820px !important; }
	.slider-top.sub { width: 272px !important; }
}

/* .top-lead
------------------------------------*/
.top-lead {
	overflow: hidden;
	width: 100%;
	margin: 0 auto 160px;
}

.top-lead-inner {
	position: relative;
	box-sizing: border-box;
	width: 930px;
	margin: 0 auto;
	padding: 0 0 0 153px;
}

.top-lead-reserve {
	position: absolute;
	bottom: 276px;
	right: 160px;
	width: 222px;
	height: 222px;
	z-index: 11002;
	pointer-events: none;
	opacity: 0;
}

#wrap > .top-lead-reserve {
	position: fixed;
	bottom: 20px;
	right: 20px;
	pointer-events: all;
}

#wrap > .top-lead-reserve strong,
#wrap > .top-lead-reserve a > span {
	opacity: 0;
}

.top-lead-reserve a {
	display: block;
	width: 100%;
	height: 100%;
}

.top-lead-reserve a:hover {
	opacity: 1;
}

.top-lead-reserve .reserve-bg {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #FFFCDD;
	border-radius: 50%;
	width: 100%;
	height: 100%;
	transform-origin: center center;
	z-index: 0;
	opacity: 0;
}

.top-lead-reserve strong,
.top-lead-reserve a > span {
	z-index: 1;
}

.top-lead-reserve strong {
	display: block;
	position: absolute;
	top: 36px;
	right: 36px;
	font-family: var(--font-gothic-b);
	color: var(--color-green);
	font-size: 17px;
	line-height: 1.4;
	letter-spacing: 0.08em;
}

.top-lead-reserve strong span {
	display: block;
	transform: rotate(-9deg);
	letter-spacing: 0.14em;
	font-size: 15px;
}

.top-lead-reserve a > span {
	display: block;
	position: absolute;
}

.top-lead-reserve .reserve-arrow { top: 97px; right: 44px; }
.top-lead-reserve .reserve-mail { top: 68px; left: 43px; }
.top-lead-reserve .reserve-bird { bottom: 40px; right: 61px; }

.top-lead h2,
.top-lead h3 {
	color: var(--color-green);
	white-space: nowrap;
}

.top-lead h2 {
	margin: 0 0 110px -151px;
	opacity: 0;
}

.top-lead h2 strong {
	display: inline-block;
	position: relative;
	margin-bottom: 28px;
	font-family: var(--font-sans-num);
	font-size: 38px;
	letter-spacing: 0.15em;
}

.top-lead h2 em {
	display: inline-block;
	position: relative;
	font-size: 23px;
	letter-spacing: 0.24em;
}

.top-lead h2 .mask {
	position: absolute;
	top: -2px;
	right: 0;
	background-color: #FFFFFF;
	width: 100%;
	height: calc(100% + 4px);
	z-index: 2;
}

.top-lead h3 {
	margin-bottom: 34px;
	font-size: 30px;
	line-height: 1.75;
	letter-spacing: 0.18em;
	opacity: 0;
}

.top-lead p {
	margin-bottom: 10px;
	font-size: 16px;
	letter-spacing: 0.1em;
	line-height: 2;
	opacity: 0;
}

.top-lead .img1 img,
.top-lead .img2 img {
	width: 100%;
	height: auto;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}

.top-lead .img1 {
	position: absolute;
	bottom: -4px;
	left: -210px;
	width: 270px;
	opacity: 0;
}

.top-lead .img2 {
	position: absolute;
	top: 60px;
  right: -155px;
	width: 235px;
	opacity: 0;
}

@media (max-width: 1360px) {
	.top-lead .img1 { left: -190px; }
	.top-lead .img2 { right: -130px; }
}

/* .top-concept
------------------------------------*/
.top-concept {
	width: 100%;
	margin-bottom: 130px;
}

.top-concept-img {
	position: relative;
	width: 100%;
	height: 39vw;
	min-height: 564px;
	margin-bottom: 4px;
}

.top-concept-img figure {
	position: relative;
	width: 100%;
	height: 100%;
	z-index: 0;
}

.top-concept-img figure img {
	object-fit: cover;
	object-position: 50% 0;
	width: 100%;
	height: 100%;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}

.top-concept-img .txt,
.top-concept-img .txt a {
	color: var(--color-green);
}

.top-concept-img .txt {
	position: absolute;
	top: 11%;
	left: 4%;
	white-space: nowrap;
	z-index: 1;
}

.top-concept-img .txt h2 {
	margin: 0 0 25px -4px;
	font-family: var(--font-gothic-b);
	font-size: 37px;
	letter-spacing: 0.24em;
}

.top-concept-img .txt p {
	font-size: 18px;
	line-height: 2;
	letter-spacing: 0.14em;
}

.top-concept-img .txt a {
	display: inline-block;
	background: url(img/share/ico-arrow-btn-circle.svg) no-repeat top 6px left;
	margin: 5px 0 0;
	padding: 10px 10px 10px 38px;
	font-family: var(--font-gothic-b);
	font-size: 16px;
	letter-spacing: 0.2em;
}

/* .top-slide
------------------------------------*/
.top-slide {
	overflow: hidden;
	width: 100%;
	height: 297px;
}

.top-slide .inner {
	width: auto;
	height: 297px !important;
	margin-right: 4px !important;
}

.top-slide .inner img {
	width: auto !important;
	height: 100% !important;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}

/* .top-service
------------------------------------*/
.top-service {
	margin: 0 auto 140px;
	text-align: center;
}

.top-service > h2 {
	display: block;
	margin-bottom: 80px;
	color: var(--color-green);
	font-size: 32px;
	letter-spacing: 0.18em;
}

.top-service .service-list-wrap {
	background: none;
	padding: 0;
}

/* .top-access
------------------------------------*/
.top-access {
	width: 1150px;
	margin: 0 auto;
}

.top-access .access-map {
	width: 100%;
}

.top-access .access-map #gMap {
	border-radius: 20px;
	height: 690px;
}

.top-access .access-info {
	width: 1020px;
	padding-left: 0;
}

/* .top-news
------------------------------------*/
.top-news { width: 1020px; margin: 160px auto 0; }
.top-news .news-list { width: 100%; }
.top-news .btn-link { margin: 55px -18px 0; }

.top-news .btn-link a {
	display: block;
	padding-top: 18px;
	padding-bottom: 21px;
	font-size: 18px;
}


/* page clinic
---------------------------------------------------------------------------*/
body.clinic .loading-first,
body.clinic header .copy1,
body.clinic header .copy2 { display: none !important; }

body.clinic footer { margin-top: 15px; }
body.clinic .footer-inner { background: none; }

/* .img-main2
------------------------------------*/
.img-main2 {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 100vh;
	margin-top: -230px;
	z-index: 0;
}

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

.img-main2 .inner {
	display: -webkit-box !important;
	display: flex !important;
	width: 100% !important;
	height: 100% !important;
}

.img-main2 .inner:not(:first-of-type) {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
}

.img-main2 .inner picture {
	width: 100%;
	height: 100%;
}

.img-main2 .inner img {
	display: block;
	object-fit: cover;
	width: 100% !important;
	height: 100% !important;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}

.img-main2 .inner.img2 img {
	object-position: 100% 0%;
}

.img-main2 .cover {
	position: absolute;
	bottom: -235px;
	left: 0;
	width: 100%;
	height: 235px;
	z-index: 10;
}

.img-main2 .cover .before { bottom: 30px; }
.img-main2 .cover .after { height: 44px; }

/* .clinic-concept
------------------------------------*/
.clinic-concept {
	position: relative;
	margin: -125px auto 165px;
	margin-top: calc(-8.5vh + -40px);
	text-align: center;
	z-index: 1;
}

.clinic-concept h2 {
	margin-bottom: 101px;
	color: var(--color-brown);
	font-size: 14px;
	letter-spacing: 0.09em;
}

.clinic-concept h2 span {
	padding-bottom: 4px;
	padding-left: 2px;
}

.clinic-concept h2 span:after {
	background-color: var(--color-brown);
}

.clinic-concept h1 {
	box-sizing: border-box;
	position: absolute;
	top: 62px;
	left: 0;
	width: 100%;
	color: var(--color-green);
	font-family: var(--font-gothic-b);
	font-size: 16px;
	letter-spacing: 0.18em;
}

.clinic-concept h1 + span {
	display: none;
	font-family: var(--font-gothic-m);
}

.clinic-concept h1.active {
	padding-left: 20px;
	font-family: var(--font-gothic-m);
	font-size: 42px;
}

.clinic-concept h3,
.clinic-concept p,
.clinic-concept .btn-link,
.clinic-concept .img1,
.clinic-concept .img2,
.clinic-concept .img3 {
	opacity: 0;
}

.clinic-concept h3 {
	box-sizing: border-box;
	margin-bottom: 36px;
	padding-left: 5px;
	color: var(--color-green);
	font-size: 34px;
	line-height: 1.55;
	letter-spacing: 0.14em;
}

.clinic-concept p {
	margin-bottom: 10px;
	font-size: 17px;
	line-height: 2;
}

.clinic-concept .btn-link {
	width: 320px;
	margin: 54px auto 0;
}

.clinic-concept .btn-link a {
	display: block;
	padding-top: 13px;
	padding-bottom: 17px;
	letter-spacing: 0.12em;
}

.clinic-concept .img1,
.clinic-concept .img2,
.clinic-concept .img3 {
	display: block;
	position: absolute;
	z-index: -1;
}

.clinic-concept .img1 { top: 265px; left: calc(50% - 560px); }
.clinic-concept .img2 { top: 115px; left: calc(50% + 335px); }
.clinic-concept .img3 { top: 530px; left: calc(50% + 335px); }

/* #clinicContents .service-list-wrap
------------------------------------*/
#clinicContents .service-list-wrap {
	background: none;
}

/* .clinic-nicori
------------------------------------*/
.clinic-nicori {
	position: relative;
	display: -webkit-box;
	display: flex;
	-webkit-box-align: end;
	align-items: flex-end;
	width: 1100px;
	margin: 70px auto 145px;
}

.clinic-nicori .img {
	position: relative;
	width: 500px;
	min-width: 500px;
}

.clinic-nicori .pic1 { display: block; position: absolute; top: -48px; left: 394px; }
.clinic-nicori .pic2 { display: block; position: absolute; top: 391px; left: -16px; }
.clinic-nicori .pic3 { display: block; position: absolute; top: 380px; left: 360px; }
.clinic-nicori .pic4 { display: block; position: absolute; bottom: -128px; right: -2px; }

.clinic-nicori .txt {
	padding: 0 0 0 58px;
}

.clinic-nicori .txt .logo {
	display: block;
	position: absolute;
	top: -40px;
	right: 8px;
}

.clinic-nicori .txt h2 {
	margin-bottom: 20px;
	color: var(--color-green);
	font-size: 28px;
	line-height: 1.7;
	letter-spacing: 0.1em;
}

.clinic-nicori .txt p {
	font-size: 16px;
	line-height: 1.95;
	white-space: nowrap;
}

.clinic-nicori .txt .btn-arrow {
	margin: 24px 0 0 -1px;
}

.clinic-nicori .txt .btn-arrow a {
	background-position: left top 4px;
}

/* .clinic-reserve
------------------------------------*/
.clinic-reserve {
	width: 920px;
	margin: 100px auto -20px;
}

.clinic-reserve .inner {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	transform: translateX(15px);
}

.clinic-reserve figure {
	width: 435px;
	min-width: 435px;
}

.clinic-reserve .txt {
	padding: 0 0 0 52px;
}

.clinic-reserve h2 {
	margin-bottom: 20px;
	color: var(--color-green);
}

.clinic-reserve h2 em {
	display: block;
	margin: 0 0 15px 3px;
	font-size: 16px;
	letter-spacing: 0.1em;
}

.clinic-reserve h2 strong {
	display: block;
	font-size: 28px;
	letter-spacing: 0.06em;
}

.clinic-reserve h2 strong span {
	padding-bottom: 7px;
}

.clinic-reserve h2 strong span:after {
	background: var(--color-green);
	height: 2px;
}

.clinic-reserve p {
	font-size: 16px;
	letter-spacing: 0.08em;
	line-height: 2;
}

.clinic-reserve p.size-s {
	margin-top: -10px;
	font-size: 13px;
	letter-spacing: 0.04em;
}

.clinic-reserve .btn-link {
	margin: 30px 0 0 -3px;
}

.clinic-reserve .btn-link a {
	padding: 13px 29px 16px 32px;
}

/* .clinic-medical-institution
------------------------------------*/
.clinic-medical-institution {
	width: 900px;
	margin: 140px auto 0;
	transform: translateX(5px);
}

.clinic-medical-institution > p {
	font-size: 16px;
}

.clinic-medical-institution .box {
	display: flex;
	border: 1px solid #D5D4D4;
	border-radius: 3px;
	margin-top: 15px;
	padding: 30px 40px;
}

.clinic-medical-institution .box ul:not(:last-of-type) {
	margin-right: 55px;
}

.clinic-medical-institution .box li {
	padding-left: 15px;
	font-size: 16px;
}

/* .clinic-corporation
------------------------------------*/
.clinic-corporation {
	width: 1010px;
	margin: 140px auto 0;
}

.clinic-corporation > h2 {
	margin-bottom: 52px;
}

.clinic-corporation .sec-inner {
	display: flex;
	justify-content: space-between;
}

.clinic-corporation .sec-inner > dl {
	line-height: 1.6;
	letter-spacing: 0.06em;
}

.clinic-corporation .sec-inner > dl > div {
	display: -webkit-box;
	display: flex;
	background: url(img/share/line-dot-green.svg) repeat-x left bottom;
	margin-bottom: 15px;
	padding: 0 15px 7px 0;
}

.clinic-corporation .sec-inner > dl > div:last-of-type {
	margin-bottom: 0;
}

.clinic-corporation .sec-inner > dl dt {
	width: 135px;
	min-width: 135px;
	padding: 0 0 0 4px;
	color: var(--color-green);
}

.clinic-corporation .sec-inner > dl dd {
	font-size: 16px;
}

.clinic-corporation .sec-inner > dl dd span {
	font-size: 13px;
}

.clinic-corporation .management {
	align-self: flex-start;
	display: flex;
	background-color: var(--color-bg-green-light);
	padding: 42px 36px 42px;
}

.clinic-corporation .management h3 {
	width: 62px;
	min-width: 62px;
	color: var(--color-green);
	font-size: 17px;
	letter-spacing: 0.1em;
}

.clinic-corporation .management dt {
	margin-bottom: 15px;
	font-size: 17px;
	letter-spacing: 0.1em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

.clinic-corporation .management dt,
.clinic-corporation .management dt a {
	color: var(--color-green);
}

.clinic-corporation .management dd {
	font-size: 15px;
	letter-spacing: 0.06em;
}

.clinic-corporation .management dd:not(:last-child) {
	margin-bottom: 28px;
}

.clinic-corporation .management dd span {
	font-size: 12px;
}


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

/* .sec-doctor
------------------------------------*/
.sec-doctor {
	position: relative;
	display: -webkit-box;
	display: flex;
	width: 1090px;
	min-height: 975px;
	margin: -15px auto 165px;
	transform: translateX(10px);
}

.sec-doctor .img {
	width: 480px;
	min-width: 480px;
}

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

.sec-doctor .img figure .pic {
	position: absolute;
	top: 107px;
	left: 185px;
	transform-origin: right bottom;
	opacity: 0;
}

.sec-doctor .img figcaption,
.sec-staff figcaption.figcap-rad {
	display: block;
	background: #FFFFFF;
	border: 2px solid var(--color-green);
	position: absolute;
	top: 40px;
	left: -37px;
	border-radius: 0 15px 0 25px;
	padding: 31px 17px 28px 20px;
	color: var(--color-green);
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
	box-shadow: 5px 9px 0 var(--color-green);
	transform-origin: right bottom;
	opacity: 0;
	z-index: 1;
}

.sec-doctor .img figcaption strong,
.sec-staff figcaption.figcap-rad strong {
	display: block;
	margin: 1px 0 0 17px;
	font-size: 14px;
	letter-spacing: 0.6em;
}

.sec-doctor .img figcaption h2,
.sec-staff figcaption.figcap-rad h2 {
	margin-left: 23px;
	font-size: 24px;
	letter-spacing: 0.3em;
}

.sec-doctor .img figcaption em,
.sec-staff figcaption.figcap-rad em {
	display: block;
	margin-top: 2px;
	font-size: 13px;
	letter-spacing: 0.08em;
}

.sec-doctor .txt figure {
	position: absolute;
	bottom: 8px;
	left: 0;
}

.sec-doctor .txt {
	width: 480px;
	padding: 15px 0 0 74px;
}

.sec-doctor .message h2 {
	color: var(--color-green);
	margin-bottom: 25px;
	font-size: 27px;
	line-height: 1.65;
	letter-spacing: 0.13em;
}

.sec-doctor .message p {
	margin-bottom: 11px;
	font-size: 16px;
	line-height: 2.05;
	letter-spacing: 0.05em;
	text-align: justify;
}

.sec-doctor .career {
	margin-top: 62px;
}

.sec-doctor .career > div:first-of-type {
	margin-bottom: 45px;
}

.sec-doctor .career h3 {
	margin: 0 0 30px -5px;
	color: var(--color-green);
	font-family: var(--font-gothic-b);
	font-size: 16px;
	letter-spacing: 0.18em;
}

.sec-doctor .career dl,
.sec-doctor .career li {
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.sec-doctor .career dl > div {
	display: flex;
	margin-bottom: 10px;
}

.sec-doctor .career dt {
	margin-right: 14px;
}

.sec-doctor .career ul {
	margin-top: -6px;
}

.sec-doctor .career li {
	margin-bottom: 8px;
}

/* .sec-staff
------------------------------------*/
.sec-staff {
	width: 1000px;
	margin: 0 auto;
}

.sec-staff .inner {
	display: -webkit-box;
	display: flex;
	margin-bottom: 100px;
}

.sec-staff .inner.staff1 .txt {
	padding-top: 0;
	transform: translateY(-4px);
}

.sec-staff .inner:last-of-type {
	margin-bottom: 0;
}

.sec-staff figure {
	position: relative;
	width: 315px;
	min-width: 315px;
}

.sec-staff figcaption.figcap-rad {
	position: absolute;
	top: 38px;
	left: -72px;
	opacity: 1;
}

.sec-staff figcaption.figcap-rad strong {
	font-size: 13px;
	letter-spacing: 0.1em;
}

.sec-staff figcaption.figcap-rad strong.let {
	letter-spacing: 0.05em;
}

.sec-staff figcaption.figcap-txt {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	position: absolute;
	top: 48px;
	left: -60px;
	color: var(--color-green);
}

.sec-staff figcaption.figcap-txt h2 {
	order: 1;
	width: 100%;
	margin-bottom: 13px;
	font-size: 22px;
	letter-spacing: 0.12em;
}

.sec-staff figcaption.figcap-txt em {
	order: 2;
	display: block;
	width: 100%;
	margin: 0 0 26px 1px;
	font-size: 11px;
	letter-spacing: 0.06em;
}

.sec-staff figcaption.figcap-txt strong {
	order: 3;
	display: block;
	width: 100%;
	font-size: 12px;
	letter-spacing: 0.08em;
}

.sec-staff figure p {
	margin-top: 10px;
	font-size: 15px;
	letter-spacing: 0.1em;
}

.sec-staff figure p,
.sec-staff figure p a {
	color: var(--color-green);
}

.sec-staff figure p a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

.sec-staff .txt {
	padding: 44px 0 0 74px;
}

.sec-staff .txt > h3 {
	margin-bottom: 24px;
	color: var(--color-green);
	font-size: 22px;
	letter-spacing: 0.14em;
}

.sec-staff .txt p {
	margin-bottom: 17px;
	font-size: 16px;
	line-height: 2;
	text-align: justify;
}

.sec-staff .txt .btn-arrow {
	margin-top: 50px;
}

.sec-staff .txt .btn-arrow + .btn-arrow {
	margin-top: 3px;
}

.sec-staff .staff1 .txt .btn-arrow {
	margin-top: 20px;
}

.sec-staff .txt .btn-arrow > a {
	font-size: 16px;
}

.sec-staff .career {
	margin-top: 45px;
}

.sec-staff .career > div {
	display: -webkit-box;
	display: flex;
	margin-bottom: 30px;
	line-height: 1.6;
}

.sec-staff .career > div:last-of-type {
	margin-bottom: 0;
}

.sec-staff .career h3 {
	width: 130px;
	min-width: 130px;
	color: var(--color-green);
	font-family: var(--font-gothic-b);
	font-size: 15px;
	letter-spacing: 0.15em;
}

.sec-staff .career ul + ul {
	margin-left: 40px;
	white-space: nowrap;
}

.sec-staff .career dl > div {
	display: -webkit-box;
	display: flex;
	margin-bottom: 1px;
}

.sec-staff .career dt {
	width: 52px;
	min-width: 52px;
	margin-bottom: 7px;
	color: var(--color-green);
	font-size: 15px;
	letter-spacing: 0.04em;
	transform: translateY(-0.5px);
}

.sec-staff .career dd {
	font-size: 14px;
	letter-spacing: 0.04em;
}

.sec-staff .career li {
	margin-bottom: 5px;
	font-size: 15px;
	letter-spacing: 0.04em;
}

/* staff3
------------------------------------*/
.staff3 .txt > h3 {
	display: none;
}

#developmentContents .staff3 .txt > h3 {
	display: block;
}

/* .sec-staff-sub
------------------------------------*/
.sec-staff-sub {
	width: 1060px;
	margin: 140px auto 0;
}

.sec-staff-sub h2 {
	margin-bottom: 62px;
	padding-top: 1px;
	padding-left: 28px;
	font-size: 18px;
}

.sec-staff-sub .inner {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 45px;
}

.sec-staff-sub .inner:last-of-type {
	margin-bottom: 0;
}

.sec-staff-sub .inner h3 {
	width: 260px;
	min-width: 260px;
	color: var(--color-green);
	white-space: nowrap;
}

.sec-staff-sub .inner h3 strong {
	padding-right: 12px;
	font-size: 22px;
	letter-spacing: 0.1em;
}

.sec-staff-sub .inner h3 em {
	font-size: 13px;
	letter-spacing: 0.08em;
}

.sec-staff-sub .inner dl > div {
	display: -webkit-box;
	display: flex;
	margin-bottom: 12px;
	font-size: 15px;
	line-height: 1.6;
}

.sec-staff-sub .inner dl > div:last-of-type {
	margin-bottom: 0;
}

.sec-staff-sub .inner dt {
	width: 92px;
	min-width: 92px;
	color: var(--color-green);
	font-family: var(--font-gothic-b);
	letter-spacing: 0.08em;
}

.sec-staff-sub .inner dd ul li {
	margin-bottom: 4px;
	letter-spacing: 0.08em;
}


/* page service
---------------------------------------------------------------------------*/

/* .service-about
------------------------------------*/
.service-about {
	width: 1060px;
	margin: 0 auto 150px;
}

.service-about > figure {
	margin-bottom: 65px;
}

.service-about .title {
	display: -webkit-box;
	display: flex;
	width: 890px;
	margin: 0 auto 65px;
}

.service-about .title h2 {
	margin: -4px 72px 0 0;
	color: var(--color-green);
	font-size: 26px;
	line-height: 1.7;
	letter-spacing: 0.12em;
}

.service-about .title p {
	font-size: 16px;
	line-height: 2.1;
}

.service-about .intercom {
	position: relative;
	box-sizing: border-box;
	display: -webkit-box;
	display: flex;
	align-items: center;
	background: var(--color-bg-green-light);
	border-radius: 7px;
	width: 100%;
	margin: 0 auto;
	padding: 30px 40px 30px;
}

.service-about .intercom figure {
	width: 288px;
	min-width: 288px;
}

.service-about .intercom .pic {
	position: absolute;
	top: 37px;
	right: 44px;
}

.service-about .intercom > div {
	margin: 0 0 0 45px;
}

.service-about .intercom h3 {
	margin-bottom: 15px;
	color: var(--color-green);
	font-size: 19px;
	line-height: 1.85;
	letter-spacing: 0.1em;
}

.service-about .intercom h3 span {
	padding-bottom: 4px;
}

.service-about .intercom h3 span:after {
	background: var(--color-green);
}

.service-about .intercom p {
	font-size: 16px;
	line-height: 1.85;
}

.service-about .txt-set {
	margin: 50px 0 0 25px;
	display: flex;
}

.service-about .txt-set h3 {
	margin-right: 55px;
	color: var(--color-green);
	font-size: 19px;
	line-height: 1.9;
	letter-spacing: 0.07em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.25em;
	white-space: nowrap;
	transform: translateY(-1px);
}

.service-about .txt-set > div {
	width: 100%;
}

.service-about .txt-set p {
	margin-bottom: 8px;
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.06em;
}

.service-about .txt-set .btn-link {
	margin: 30px 0 0 -2px;
}

/* .service-flow
------------------------------------*/
.service-flow {
	margin-bottom: 60px !important;
}

.service-flow > h2 {
	margin: 0 0 35px 5px;
}

.service-flow .accordion-list-detail {
	position: relative;
}

.service-flow .accordion-list-detail:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 42px;
	border-top: 1px solid var(--color-green);
	width: calc(100% - 82px);
	height: 1px;
	opacity: 0.4;
}

.service-flow .accordion-list-detail > div {
	padding-top: 40px;
	padding-right: 47px;
}

.service-flow .flow4 .accordion-list-detail > div {
	padding-top: 30px;
}

.service-flow .development-reserve {
	border-radius: 0;
	width: 100%;
	margin: 0;
	padding: 0;
}

.service-flow .development-reserve .schedule-wrap h2 {
	display: none;
}

.service-flow .development-reserve .txt h2 {
	margin-top: 2px;
	margin-bottom: 16px;
	font-size: 18px;
}

.service-flow .development-reserve .txt .btn-set,
.development-reserve .txt > .btn-link {
	margin-top: 22px;
}

.service-flow .vaccine {
	display: -webkit-box;
	display: flex;
	background-color: var(--color-bg-green-dark);
	margin-top: 40px;
	padding: 35px 50px 30px;
}

.service-flow .vaccine h3 {
	width: 200px;
	min-width: 200px;
	color: var(--color-green);
	font-size: 18px;
	letter-spacing: 0.12em;
}

.service-flow .vaccine p {
	line-height: 2;
	text-align: justify;
}

.service-flow .flow4 .development-reserve .schedule-wrap {
	margin: 0;
}

.service-flow .flow4 .accordion-list-detail p,
#visitContents .development-reserve p {
	font-size: 16px !important;
	line-height: 1.9;
}

.service-flow .development-reserve {
	padding-right: 20px;
}

.service-flow .development-reserve .schedule-wrap .table + p {
	display: none;
}

.development-reserve .address-tel address,
.development-reserve .address-tel > p,
.development-reserve .address-tel .route {
	display: none;
}

/* .service-online
------------------------------------*/
/*.service-online {
	width: 940px;
	margin: -120px auto 140px;
	padding-top: 60px;
}

.service-online .title {
	position: relative;
	padding-left: 310px;
}

.service-online .title h2 {
	position: absolute;
	top: -2px;
	left: 0;
	color: var(--color-green);
	font-size: 26px;
	line-height: 1.65;
	letter-spacing: 0.12em;
	white-space: nowrap;
}

.service-online .title h2 em {
	display: block;
	margin: 10px 0 0 2px;
	font-size: 14px;
	letter-spacing: 0.1em;
}

.service-online .title p {
	font-size: 16px;
	line-height: 2.05;
	text-align: justify;
}

.service-online .title p .size-s {
	font-size: 13px;
}*/

/* .service-document
------------------------------------*/
.service-document {
	padding-bottom: 150px;
}

.service-document p {
	font-size: 16px;
}

.service-document > p {
	margin-bottom: 46px;
}

.service-document .accordion-list .inner {
	background: transparent;
	border-radius: 0;
	margin-bottom: 0;
	border-bottom: solid 1px #D5D4D4;
}

.service-document .accordion-list .inner:first-child {
	border-top: solid 1px #D5D4D4;
}

.service-document .accordion-list-btn {
	color: var(--color-font);;
}

.service-document .accordion-list-btn i:before, .service-document .accordion-list-btn i:after {
	background-color: #7C7C7C;
}

.service-document .accordion-list-detail p {
	font-size: 16px;
	line-height: 2;
}

.service-document .accordion-list-privacy {
	margin-top: 62px;
}

.service-document .accordion-list-detail .list-detail-title {
	margin: 35px 0 10px 3px;
}

.service-document .accordion-list-detail .list-detail-title span {
	margin-right: 6px;
}

.service-document .accordion-list-detail h4 {
	font-size: 16px;
	margin: 30px 0 10px;
}

.service-document .accordion-list-detail ul {
	margin-bottom: 30px;
}

.service-document .accordion-list-detail ul:last-child {
	margin-bottom: 0;
}

.service-document .accordion-list-detail p:not(.list-detail-title) + ul {
	margin-top: 28px;
}

.service-document .accordion-list-detail ul li {
	margin-left: 5px;
	margin-bottom: 3px;
	font-size: 16px;
	line-height: 1.8;
	letter-spacing: 0.08em;
	list-style-type: disc;
	list-style: inside;
}

.service-document .accordion-list-detail .list-detail-title + ul li {
	margin-left: 31px;
}

.service-document .accordion-list-detail ul + p:not(.list-detail-title) {
	margin-top: 35px;
}

/* .service-blackboard
------------------------------------*/
.service-blackboard {
	display: flex;
	justify-content: space-between;
	background-color: var(--color-bg-green-light);
	box-sizing: border-box;
	border-radius: 7px;
	width: 1060px;
	margin: 0 auto 140px;
	padding: 50px 50px 40px;
}

.service-blackboard .img {
	display: flex;
	justify-content: space-between;
	width: 528px;
	min-width: 528px;
}

.service-blackboard .img figcaption {
	margin-top: 8px;
	font-size: 10px;
	letter-spacing: 0.06em;
}

.service-blackboard .txt {
	width: 100%;
	padding: 0 0 0 45px;
	transform: translateY(-2px);
	text-align: justify;
}

.service-blackboard .txt h3 {
	margin-bottom: 10px;
	color: var(--color-green);
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.service-blackboard .txt h2 {
	margin: 0 0 18px -1px;
	color: var(--color-green);
	font-size: 24px;
	letter-spacing: 0.12em;
}

.service-blackboard .txt p {
	font-size: 16px;
	line-height: 1.95;
	letter-spacing: 0.04em;
}


/* page visit
---------------------------------------------------------------------------*/

/* .visit-about
------------------------------------*/
.visit-about {
	box-sizing: border-box;
	background: var(--color-bg-green-light);
	border: 2px solid var(--color-green);
	border-radius: 4px;
	width: 1100px;
	margin: 0 auto 150px;
	padding: 0 20px 70px;
}

.visit-about h2 {
	border-bottom: 2px solid var(--color-green);
	padding: 25px 0;
	color: var(--color-green);
	text-align: center;
}

.visit-about h2 strong {
	padding-left: 10px;
	font-size: 17px;
	letter-spacing: 0.12em;
}

/* .visit-lead
------------------------------------*/
.visit-lead {
	margin: 68px 0 60px;
	text-align: center;
}

.visit-lead h3 {
	margin-bottom: 22px;
	color: var(--color-green);
	font-size: 26px;
	line-height: 1.8;
	letter-spacing: 0.15em;
}

.visit-lead p {
	font-size: 16px;
	line-height: 2.1;
	letter-spacing: 0.14em;
}

.visit-lead .btn-link {
	margin-top: 28px;
}

.visit-lead .btn-link a {
	display: inline-block;
	box-sizing: border-box;
	width: 318px;
	padding-top: 13px;
	padding-bottom: 16px;
	padding-left: 30px;
}

/* .visit-list
------------------------------------*/
.visit-list {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	width: 960px;
	margin: 0 auto 65px;
}

.visit-list .inner {
	border-top: 2px solid var(--color-green);
	width: 280px;
	padding-top: 11px;
}

.visit-list figure {
	margin-bottom: 21px;
}

.visit-list figure img {
	border-radius: 6px 0 6px 6px;
}

.visit-list h4 {
	position: relative;
	margin-bottom: 16px;
	padding-left: 30px;
	color: var(--color-green);
	font-size: 19px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.visit-list h4 i {
	display: block;
	position: absolute;
	top: 1px;
	left: 2px;
	color: var(--color-green);
	font-family: var(--font-sans-num);
	font-size: 18px;
	opacity: 0.5;
}

.visit-list p {
	font-size: 15px;
	line-height: 1.8;
	letter-spacing: 0.04em;
	text-align: justify;
}

/* .visit-target
------------------------------------*/
.visit-target,
.visit-enhancement {
	position: relative;
	box-sizing: border-box;
	border-top: 2px solid var(--color-green);
	width: 970px;
	margin: 0 auto;
	padding: 55px 5px 0 40px;
}

.visit-target {
	padding-left: 215px;
}

.visit-target h3 {
	position: absolute;
	top: 62px;
	left: 5px;
}

.visit-target p {
	font-size: 16px;
	line-height: 1.95;
	letter-spacing: 0.06em;
}

.visit-target .target {
	position: relative;
	box-sizing: border-box;
	background-color: #FFFFFF;
	width: 376px;
	margin-top: 80px;
	padding: 2px 25px 20px;
	color: var(--color-green);
}

.visit-target .target:before,
.visit-target .target:after {
	display: block;
	content: '';
	position: absolute;
	top: -54px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 188px 54px 0;
	border-color: transparent #FFFFFF transparent transparent;
}

.visit-target .target:before { left: 0; transform: rotate(180deg) scaleX(-1); }
.visit-target .target:after { right: 0; transform: rotate(180deg); }

.visit-target .target h4 {
	margin-bottom: 23px;
	font-size: 18px;
	letter-spacing: 0.1em;
	text-align: center;
}

.visit-target .target h4 .line {
	padding-bottom: 9px;
}

.visit-target .target h4 .line:after {
	background: var(--color-green);
	height: 2px;
}

.visit-target .target li {
	margin-bottom: 6px;
	letter-spacing: 0.06em;
}

.visit-target .area {
	position: absolute;
	top: 65px;
	right: 0;
	text-align: center;
	white-space: nowrap;
}

.visit-target .area figure {
	margin-bottom: 22px;
}

.visit-target .area h4 {
	margin-bottom: 9px;
	color: var(--color-green);
	font-size: 17px;
	letter-spacing: 0.04em;
}

.visit-target .area p {
	font-size: 11px;
	letter-spacing: 0.04em;
}

/* .visit-enhancement
------------------------------------*/
.visit-enhancement {
	margin-top: 80px;
	padding-top: 85px;
}

.visit-enhancement > h3.title-circle {
	margin-left: -32px;
}

.visit-enhancement > p {
	font-size: 16px;
	line-height: 2.1;
}

.visit-enhancement > p a {
	text-decoration: underline;
}

.visit-enhancement .box {
	background-color: var(--color-bg-green-dark);
	border-radius: 4px;
	margin: 40px 0 0 -5px;
	padding: 45px 50px 40px;
}

.visit-enhancement .box h4 {
	margin: 0 0 25px;
}

.visit-enhancement .box h4 span {
	padding-bottom: 7px;
	color: var(--color-green);
	font-family: var(--font-gothic-b);
	font-size: 18px;
	letter-spacing: 0.08em;
}

.visit-enhancement .box h4 .line:after {
	background-color: var(--color-green);
	height: 2px;
}

.visit-enhancement .box p {
	font-size: 16px;
}

.visit-enhancement .box ul {
	margin-bottom: 30px;
}

.visit-enhancement .box ul:last-child {
	margin-bottom: 0;
}

.visit-enhancement .box li {
	margin-bottom: 9px;
	font-size: 16px;
	line-height: 1.7;
	letter-spacing: 0.06em;
}

/* .visit-slide
------------------------------------*/
.visit-slide {
	width: 1140px;
	margin: 0 auto 120px;
}

/* .visit-flow
------------------------------------*/
.visit-flow {
	width: 1010px;
	margin: -60px auto 140px;
	padding-top: 60px;
}

.visit-flow dl {
	margin: 62px 0 0 60px;
}

.visit-flow dl > div {
	position: relative;
	display: -webkit-box;
	display: flex;
	padding-bottom: 38px;
}

.visit-flow dl > div:before {
	top: 47px !important;
	left: -38px !important;
	height: calc(100% - 56px) !important;
}

.visit-flow dt {
	position: relative;
	width: 230px;
	min-width: 230px;
	padding-top: 7px;
	color: var(--color-green);
}

.visit-flow dt .start {
	display: inline-block;
	position: absolute;
	top: -21px;
	left: -51px;
	color: var(--color-brown);
	font-family: var(--font-sans);
	font-size: 10px;
	letter-spacing: 0.06em;
}

.visit-flow dt .start:before,
.visit-flow dt .start:after {
	display: block;
	content: '';
	position: absolute;
	top: 1px;
	background: var(--color-brown);
	width: 1px;
	height: 7px;
}

.visit-flow dt .start:before { left: -8px; transform: rotate(-30deg); }
.visit-flow dt .start:after { right: -6px; transform: rotate(30deg); }

.visit-flow dt i {
	top: -4px !important;
	left: -60px !important;
	padding-left: 1px !important;
}

.visit-flow dt strong {
	display: block;
	margin-bottom: 12px;
	font-size: 19px;
	letter-spacing: 0.08em;
}

.visit-flow dt em {
	display: block;
	margin-left: 2px;
	color: var(--color-brown);
	font-family: var(--font-sans);
	font-size: 12px;
	letter-spacing: 0.08em;
	transform-origin: left bottom;
	transform: scale(0.9);
}

.visit-flow dd p {
	font-size: 16px;
}

.visit-flow dd .box {
	display: inline-block;
	background: var(--color-bg-green-light);
	margin-top: 8px;
	padding: 24px 54px 22px 30px;
}

.visit-flow dd .box h4 {
	margin-bottom: 11px;
	color: var(--color-green);
	font-size: 16px;
	letter-spacing: 0.1em;
}

.visit-flow dd .box p {
	font-size: 16px;
	line-height: 1.8;
	letter-spacing: 0.03em;
}

.visit-flow dd .box p span {
	padding-left: 3px;
	/*font-size: 13px;
	letter-spacing: 0.04em;*/
}

.visit-flow dd .box p span.slash {
	padding-left: 6px;
	padding-right: 6px;
}

/* .visit-service
------------------------------------*/
.visit-service {
	position: relative;
	width: 1010px;
	margin: 0 auto 140px;
}

.visit-service .title h2 {
	display: inline-block;
	margin: 0 20px 30px 0;
}

.visit-service .title p {
	display: inline-block;
	font-size: 14px;
}

.visit-service .title .link {
	position: absolute;
	top: -1px;
	right: 0;
}

.visit-service .title .link a {
	display: inline-block;
	box-sizing: border-box;
	background: url(img/share/ico-arrow-btn-circle.svg) no-repeat right 1px center;
	min-height: 27px;
	padding: 6px 35px 7px 0;
	color: var(--color-green);
	font-size: 14px;
	letter-spacing: 0.1em;
}

.visit-service-list {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	background: var(--color-bg-green-light);
	border-radius: 7px;
	margin: 0 -20px;
	padding: 80px;
}

.visit-service-list > div {
	width: 282px;
	margin-bottom: 23px;
}

.visit-service-list .border-top-yellow {
	padding: 50px 35px 35px;
}

.visit-service-list > div:last-child .border-top-yellow {
	margin-bottom: 20px;
	padding-top: 38px;
	padding-bottom: 32px;
}

.visit-service-list > div:last-child .border-top-yellow:last-child {
	margin-bottom: 0;
}

.visit-service-list figure {
	position: relative;
	width: 75px;
	height: 75px;
	margin: 0 auto 30px;
}

.visit-service-list > div:nth-of-type(2) figure {
	transform: translateX(5px);
}

.visit-service-list > div:nth-of-type(4) figure {
	transform: translateX(-5px);
}

.visit-service-list figure img {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

.visit-service-list li {
	margin-bottom: 2px;
	margin-left: 0;
	padding-left: 15px;
	color: var(--color-green);
	font-size: 16px;
	letter-spacing: 0.06em;
	white-space: nowrap;
}

.visit-service-list > div:last-child .border-top-yellow:first-of-type li {
	letter-spacing: 0.04em;
}

/* .visit-price
------------------------------------*/
.visit-price {
	width: 1010px;
	margin: 0 auto 140px;
}

.visit-price .title {
	display: -webkit-box;
	display: flex;
	margin-bottom: 60px;
}

.visit-price .title h2 {
	margin-top: 6px;
	margin-right: 60px;
}

.visit-price .title p {
	font-size: 16px;
}

.visit-price .inner {
	display: -webkit-box;
	display: flex;
	margin-bottom: 45px;
	padding-right: 40px;
}

.visit-price .inner:last-of-type {
	margin-bottom: 0;
}

.visit-price .inner h3 {
	width: 310px;
	min-width: 310px;
	padding-top: 6px;
	color: var(--color-green);
	font-size: 18px;
	letter-spacing: 0.1em;
}

.visit-price .inner > div {
	width: 100%;
}

.visit-price .inner h4 {
	margin-bottom: 16px;
	color: var(--color-green);
	font-size: 16px;
	letter-spacing: 0.1em;
}

.visit-price .inner p {
	font-size: 17px;
	letter-spacing: 0.06em;
}

.visit-price .inner dl {
	background: var(--color-bg-green-light);
	border-radius: 6px;
	margin-bottom: 35px;
	padding: 28px 28px 28px;
}

.visit-price .inner dl > div {
	position: relative;
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	margin-bottom: 20px;
	z-index: 0;
}

.visit-price .inner dl > div:first-of-type {
	border-bottom: 4px solid #FFFFFF;
	margin-bottom: 22px;
	padding-bottom: 24px;
}

.visit-price .inner dl > div:last-of-type {
	margin-bottom: 0;
}

.visit-price .inner dl > div:after {
	display: block;
	content: '';
	position: absolute;
	top: 15px;
	left: 0;
	background: linear-gradient(to left, var(--color-green) 40%, var(--color-bg-green-light) 40%, var(--color-bg-green-light) 100%) left bottom;
	background-repeat: repeat-x;
	background-size: 4px 1px;
	width: 100%;
	height: 1px;
	z-index: 0;
	opacity: 0.5;
}

.visit-price .inner dt,
.visit-price .inner dd {
	position: relative;
	font-size: 13px;
	line-height: 1.9;
	letter-spacing: 0.1em;
	z-index: 1;
}

.visit-price .inner dt {
	padding-left: 10px;
	color: var(--color-green);
}

.visit-price .inner dt span,
.visit-price .inner dd span {
	display: inline-block;
	position: relative;
	background: var(--color-bg-green-light);
	margin: 0 -10px;
	padding: 0 10px;
}

.visit-price .inner dt span {
	font-size: 17px;
}

.visit-price .inner dd {
	padding-right: 10px;
	font-size: 12px;
	text-align: right;
}

.visit-price .inner dd span {
	font-size: 16px;
}

.visit-price .inner dd span.size-s {
	padding-top: 4px;
	font-size: 13px;
}

/* .table-color
------------------------------------*/
.table-color {
	box-sizing: border-box;
	border: 2px solid var(--color-green);
	width: 100%;
}

.table-color tr {
	background: url(img/share/line-dot-green-s.svg) repeat-x left bottom;
}

.table-color tr:last-of-type {
	background: none;
}

.table-color th,
.table-color td {
	padding: 14px 22px;
	font-size: 17px;
	line-height: 1.75;
	letter-spacing: 0.08em;
	text-align: center;
}

.table-color th {
	background: var(--color-green);
	border-right: 1px solid rgba(255,255,255,0.4);
	padding-top: 12px;
	color: #FFFFFF;
}

.table-color th:nth-of-type(2) {
	width: 130px;
}

.table-color th:last-of-type {
	border-right: none;
}

.table-color td {
	background: url(img/share/line-dot-green-light-v.svg) repeat-y left top 2px;
	vertical-align: middle;
}

.table-color td.left {
	background: none;
	text-align: left;
	background-color: #FFFFFF;
}

.table-color td:last-of-type {
	padding-right: 80px;
	text-align: right;
}

.table-color + .attention-list {
	margin-top: 9px;
}

/* .visit-document
------------------------------------*/
.visit-document .accordion-list-detail span {
	margin: 0 6px 0 -20px;
}


/* page pediatric
---------------------------------------------------------------------------*/

/* .pediatric-sec1
------------------------------------*/
.pediatric-sec1 {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: end;
	align-items: flex-end;
	justify-content: space-between;
	width: 960px;
	margin: 0 auto 120px;
}

.pediatric-sec1 figure {
	width: 400px;
	min-width: 400px;
}

.pediatric-sec1 .txt {
	margin: 0 0 2px 60px;
}

.pediatric-sec1 h2 {
	margin-bottom: 20px;
	color: var(--color-green);
	font-size: 22px;
	line-height: 1.8;
	letter-spacing: 0.12em;
}

.pediatric-sec1 p {
	font-size: 16px;
	line-height: 2;
	text-align: justify;
}

/* .box-border-left
------------------------------------*/
.box-border-left {
	border-left: 4px solid var(--color-yellow);
	margin: 50px 0 0 2px;
	padding: 2px 0 0 20px;
}

.box-border-left h3 {
	margin: 0 0 10px -0.5px;
	color: var(--color-green);
	font-size: 16px;
	letter-spacing: 0.1em;
}

.box-border-left p {
	font-size: 14px;
	line-height: 1.9;
}

/* .pediatric-sec2
------------------------------------*/
.pediatric-sec2 {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: end;
	align-items: flex-end;
	justify-content: space-between;
	width: 960px;
	margin: 0 auto 120px;
}

.pediatric-sec2 figure {
	order: 2;
	width: 390px;
	min-width: 390px;
}

.pediatric-sec2 figure img:first-of-type {
	display: block;
	margin-bottom: 9px;
}

.pediatric-sec2 .txt {
	order: 1;
	margin: 10px 60px 0 0;
}

.pediatric-sec2 h2 {
	margin-bottom: 14px;
	color: var(--color-green);
	font-size: 22px;
	line-height: 1.75;
	letter-spacing: 0.12em;
	white-space: nowrap;
}

.pediatric-sec2 h2 span {
	padding-left: 8px;
	font-size: 13px;
	letter-spacing: 0.04em;
}

.pediatric-sec2 p {
	margin-bottom: 8px;
	font-size: 16px;
	line-height: 2.02;
}

/* .box-attention
------------------------------------*/
.box-attention {
	border: 2px solid var(--color-bg-green-dark);
	border-radius: 2px;
	margin-top: 40px;
	padding: 36px 32px 26px;
}

.box-attention h3 {
	position: relative;
	margin-bottom: 21px;
	padding-left: 42px;
	font-size: 19px;
	letter-spacing: 0.1em;
}

.box-attention h3 i {
	display: block;
	position: absolute;
	top: -10px;
	left: 0;
}

.box-attention h3 span {
	padding-bottom: 3px;
	color: var(--color-green);
}

.box-attention h3 span:after {
	background: var(--color-green);
}

.box-attention p {
	font-size: 15px;
	line-height: 1.85;
	letter-spacing: 0.04em;
	text-align: justify;
}

/* .pediatric-sec3
------------------------------------*/
.pediatric-sec3 {
	width: 990px;
	margin: 0 auto 160px;
}

.pediatric-sec3 .inner {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	margin-bottom: 75px;
}

.pediatric-sec3 .inner:last-of-type { margin-bottom: 0; }
.pediatric-sec3 figure { width: 350px; min-width: 350px; }
.pediatric-sec3 .txt { margin: 0 0 0 55px; white-space: nowrap; }
.pediatric-sec3 h2 { margin-bottom: 24px; }
.pediatric-sec3 p { font-size: 15px; }
.pediatric-sec3 .btn-set { margin-top: 26px; }
.pediatric-sec3 .btn-set .btn-link { margin-right: 10px; }
.pediatric-sec3 .btn-set .btn-link a i.mr { margin-right: 14px; }
.pediatric-sec3 .btn-set .btn-link a span,
.pediatric-sec3 .btn-set .btn-link a span em { display: none; }

/* .pediatric-sec4
------------------------------------*/
.pediatric-sec4 { width: 1140px; margin: 0 auto; }
.pediatric-sec4 > figure { margin-bottom: 110px; }
.pediatric-sec4 .sec-inner { width: 1000px; margin: 0 auto; }

.pediatric-sec4 .sec-inner h2 {
	margin-bottom: 24px;
	color: var(--color-green);
	font-size: 22px;
	letter-spacing: 0.11em;
}

.pediatric-sec4 .sec-inner h2 span { padding-left: 5px; font-size: 17px; }
.pediatric-sec4 .sec-inner > p { font-size: 16px; line-height: 2; }

.pediatric-sec4 .border-box {
	display: inline-block;
	margin: 25px 0 65px;
	padding: 34px 36px 34px;
	color: var(--color-green);
}

.pediatric-sec4 .border-box li {
	padding-left: 16px;
	font-size: 16px;
	letter-spacing: 0.08em;
}

.pediatric-sec4 dl { padding-left: 5px; }

.pediatric-sec4 dl > div {
	display: -webkit-box;
	display: flex;
	margin-bottom: 40px;
}

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

.pediatric-sec4 dt {
	box-sizing: border-box;
	width: 210px;
	min-width: 210px;
	padding-right: 20px;
	color: var(--color-green);
	transform: translateY(6px);
}

.pediatric-sec4 dt h3 {
	font-size: 17px;
	letter-spacing: 0.11em;
}

.pediatric-sec4 dd p {
	margin-bottom: 12px;
	font-size: 16px;
	line-height: 1.8;
}


/* page disease
---------------------------------------------------------------------------*/

/* .disease-sec1
------------------------------------*/
.disease-sec1 {
	position: relative;
	width: 960px;
	margin: 0 auto 130px;
}

.disease-sec1 figure img { display: block; position: absolute; }
.disease-sec1 .img1 { top: 33px; right: 0; }
.disease-sec1 .img2 { top: 425px; right: 0; }

.disease-sec1 .txt {
	margin-left: 10px;
	padding-top: 60px;
}

.disease-sec1 .txt i {
	display: block;
	margin-bottom: 30px;
}

.disease-sec1 .txt h2 {
	margin-bottom: 24px;
	color: var(--color-green);
	font-size: 28px;
	line-height: 1.65;
	letter-spacing: 0.12em;
}

.disease-sec1 .txt p {
	font-size: 16px;
	line-height: 2.1;
}

/* .disease-sec2
------------------------------------*/
.disease-sec2 {
	width: 960px;
	margin: 0 auto;
}

.disease-sec2 .inner {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: end;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 70px;
}

.disease-sec2 .inner figure {
	align-self: flex-start;
	width: 402px;
	min-width: 402px;
}

.disease-sec2 .inner .txt {
	margin: 0 0 0 55px;
}

.disease-sec2 .inner .txt h2 {
	margin-bottom: 26px;
}

.disease-sec2 .inner .txt p {
	font-size: 16px;
	line-height: 1.95;
	letter-spacing: 0.05em;
	text-align: justify;
}

.disease-sec2 .border-box {
	padding: 48px 0 36px 44px;
	color: var(--color-green);
}

.disease-sec2 .border-box h3 {
	margin: 0 0 22px -2px;
	font-size: 18px;
	letter-spacing: 0.12em;
}

.disease-sec2 .border-box h3:not(:first-of-type) {
	margin-top: 34px;
}

.disease-sec2 .border-box ul {
	display: inline-block;
	margin-right: 26px;
	vertical-align: top;
}

.disease-sec2 .border-box h3 + ul {
	min-width: 318px;
}

.disease-sec2 .border-box ul:last-of-type {
	margin-right: 0;
}

.disease-sec2 .border-box li {
	margin-bottom: 6px;
	padding-left: 15px;
	font-size: 15px;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

.disease-sec2 .border-box li em {
	font-size: 13px;
	letter-spacing: 0.06em;
}

/* .accordion-list-wrap
------------------------------------*/
.accordion-list-wrap {
	width: 1060px;
	margin: 110px auto 0;
}

.accordion-list-wrap > .btn-link.size-l {
	margin-top: 80px;
}

.accordion-list-wrap > .btn-link.size-l a {
	padding-top: 22px;
	padding-bottom: 25px;
	font-size: 19px;
}

.accordion-list-wrap > h2.title-circle,
.accordion-list-wrap > h2.title-circle + p {
	margin-left: 25px;
}

.accordion-list .inner {
	background: var(--color-bg-green-light);
	border-radius: 7px;
	margin-bottom: 10px;
}

.accordion-list-btn {
	position: relative;
	display: -webkit-box;
	display: flex;
	padding: 34px 0 34px 47px;
	color: var(--color-green);
	font-size: 20px;
	letter-spacing: 0.12em;
	white-space: nowrap;
	cursor: pointer;
}

.accordion-list-btn strong {
	position: relative;
	margin-left: 20px;
	padding-left: 24px;
}

.accordion-list-btn strong.size-s {
	padding-top: 2px;
	font-size: 16px;
	letter-spacing: 0.09em;
}

.accordion-list-btn strong:before {
	display: block;
	content: '';
	position: absolute;
	top: -6px;
	left: 0;
	background: url(img/share/line-dot-green-v.svg) repeat-y left top 1px / 100% auto;
	width: 2px;
	height: 38px;
}

.accordion-list-btn i {
	display: block;
	position: absolute;
	top: 35px;
	right: 54px;
	width: 19px;
	height: 19px;
	transform-origin: center center;
	transition: .7s cubic-bezier(0.215, 0.61, 0.355, 1); /* easeOutCubic */
	transform: rotate(0deg);
}

.accordion-list-btn.active i { transform: rotate(405deg); }

.accordion-list-btn i:before,
.accordion-list-btn i:after {
	display: block;
	content: '';
	position: absolute;
	background-color: var(--color-green);
	border-radius: 3px;
}

.accordion-list-btn i:before { top: 0; left: 8px; width: 3px; height: 100%; }
.accordion-list-btn i:after { top: 8px; left: 0; width: 100%; height: 3px; }

.accordion-list-detail { display: none; }
.accordion-list-detail > div { padding: 10px 100px 44px 47px; }
.accordion-list-detail > div.inner-s { padding: 0 146px 44px 70px; }
.accordion-list-detail.detail-first > div.inner-s { padding-left: 95px; }
.accordion-list-detail > div > .btn-link { margin-top: 30px; }

.accordion-list-detail h3 {
	margin-bottom: 17px;
	color: var(--color-green);
	font-size: 18px;
	line-height: 1.7;
	letter-spacing: 0.1em;
}

.accordion-list-detail p { font-size: 15px; text-align: justify; }
.accordion-list-detail .dl-line-left + p { margin-top: 40px; }

.development-reserve .telfax {
	margin-top: 26px;
	color: var(--color-green);
}

.development-reserve .address-tel {
	display: inline-block;
	margin-right: 8px;
}

.development-reserve .telfax .fax {
	display: inline-block;
	font-size: 15px;
	letter-spacing: 0.06em;
	transform: translateY(-1px);
}

.development-reserve .telfax .fax span {
	font-size: 16px;
}

.development-reserve .mail {
	margin: 12px 0 0 1px;
	letter-spacing: 0.02em;
}

.development-reserve .mail span,
.development-reserve .mail span a {
	color: var(--color-green);
}

.development-reserve .mail span {
	display: inline-block;
	margin-right: 10px;
	font-size: 15px;
}

.development-reserve .mail a {
	margin-left: 8px;
	font-size: 16px;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

#visitContents .development-reserve .mail p {
	display: inline-block;
	font-size: 13px !important;
}

/* .dl-line-left
------------------------------------*/
.dl-line-left { margin-top: 48px; }

.dl-line-left > div {
	position: relative;
	display: -webkit-box;
	display: flex;
	background-color: #FFFFFF;
	margin-bottom: 10px;
	padding: 20px 38px 20px;
}

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

.dl-line-left > div:before {
	display: block;
	content: '';
	position: absolute;
	top: 5px;
	left: 5px;
	background: var(--color-yellow);
	border-radius: 4px;
	width: 4px;
	height: calc(100% - 10px);
}

.dl-line-left > div,
.dl-line-left > div p {
	font-size: 14px;
	line-height: 1.9;
}

.dl-line-left dt {
	width: 270px;
	min-width: 270px;
	color: var(--color-green);
	font-size: 15px;
	letter-spacing: 0.08em;
	line-height: 1.8;
}

/* .case3 .accordion-list-detail
------------------------------------*/
.case3 .accordion-list-detail > div,
.case4 .accordion-list-detail > div { display: -webkit-box; display: flex; justify-content: space-between; }

.case3 .accordion-list-detail .txt,
.case4 .accordion-list-detail .txt { margin-right: 53px; }

.case3 .accordion-list-detail p,
.case4 .accordion-list-detail p { letter-spacing: 0.06em; }

.case3 .accordion-list-detail .box {
	width: 406px;
	min-width: 406px;
	padding: 40px 34px 30px;
}

.case3 .accordion-list-detail .box h4 {
	margin-bottom: 5px;
	color: var(--color-green);
	font-size: 12px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.case3 .accordion-list-detail .box h4 strong { font-size: 16px; letter-spacing: 0.1em; }
.case3 .accordion-list-detail .box h4 strong i { font-size: 10px; }

.case3 .accordion-list-detail .box p { font-size: 12px; letter-spacing: 0.04em; }
.case3 .accordion-list-detail .box p.attention { margin: -14px 0 0; font-size: 11px; }

.case3 .accordion-list-detail .box .table {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	white-space: nowrap;
	border-top: 1px solid var(--color-green);
	border-right: 1px solid var(--color-green);
	border-left: 1px solid var(--color-green);
	margin-top: 16px;
}

.case3 .accordion-list-detail .box .table > div { width: 50%; }

.case3 .accordion-list-detail .box h5 {
	border-bottom: 1px solid var(--color-green);
	padding: 12px 0 13px;
	color: var(--color-green);
	font-family: var(--font-gothic-b);
	font-size: 13px;
	letter-spacing: 0.1em;
	text-align: center;
}

.case3 .accordion-list-detail .box dl { width: 100%; }

.case3 .accordion-list-detail .box dl > div {
	display: -webkit-box;
	display: flex;
	border-bottom: 1px solid var(--color-green);
	font-size: 13px;
	line-height: 1.8;
	letter-spacing: 0.04em;
	text-align: center;
}

.case3 .accordion-list-detail .box dt,
.case3 .accordion-list-detail .box dd {
	box-sizing: border-box;
	width: 50%;
	min-width: 50%;
	padding: 7px 5px;
}

.case3 .accordion-list-detail .box dt {
	background: var(--color-bg-green-light);
	border-right: 1px solid var(--color-green);
	color: var(--color-green);
}

/* .case4 .accordion-list-detail
------------------------------------*/
.case4 .accordion-list-detail .box {
	width: 232px;
	min-width: 232px;
	margin-top: 40px;
	padding: 28px 14px 24px;
}

.case4 .accordion-list-detail .box h4 {
	margin-bottom: 14px;
	color: var(--color-green);
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0.1em;
	text-align: center;
}

.case4 .accordion-list-detail .box ul { background: url(img/share/line-dot-green.svg) repeat-x left top; padding: 18px 10px 0; }
.case4 .accordion-list-detail .box li { margin-bottom: 4px; font-size: 15px; white-space: nowrap; }

/* #pediatricContents .accordion-list-btn
------------------------------------*/
#pediatricContents .accordion-list-btn { cursor: default; pointer-events: none; }
#pediatricContents .accordion-list-btn i { display: none; }
#pediatricContents .accordion-list-detail { display: block !important; }
#pediatricContents .accordion-list .inner { margin-bottom: 45px; }


/* page development
---------------------------------------------------------------------------*/

/* .title-page .box
------------------------------------*/
.title-page .box {
	box-sizing: border-box;
	background-color: var(--color-bg-green-light);
	width: 950px;
	margin: 65px auto 140px;
	padding: 50px 65px 50px;
	text-align: left;
}

.title-page .box h2 {
	margin: 0 0 28px;
	font-size: 20px;
	letter-spacing: 0.09em;
}

.title-page .box h2 i {
	display: inline-block;
	margin: 0 12px 0 0;
	transform: translateY(7px);
}

.title-page .box p {
	margin: 0 0 15px;
	color: var(--color-font);
	line-height: 2;
	letter-spacing: 0.1em;
	text-align: justify;
}

/* .development-about
------------------------------------*/
.development-about { display: -webkit-box; display: flex; width: 940px; margin: 0 auto 140px; }

.development-about figure { width: 343px; min-width: 343px; }
.development-about figure img:not(:last-of-type) { display: block; margin-bottom: 19px; }

.development-about .txt { width: 520px; margin: 15px 0 0 75px; }

.development-about h2,
.development-about h3,
.development-about .border-box li { color: var(--color-green); }

.development-about h3 {
	margin-bottom: 18px;
	font-size: 14px;
	letter-spacing: 0.14em;
}

.development-about h2 {
	margin-bottom: 32px;
	font-size: 26px;
	letter-spacing: 0.12em;
}

.development-about p {
	margin-bottom: 12px;
	font-size: 16px;
	line-height: 1.85;
	letter-spacing: 0.06em;
	text-align: justify;
}

.development-about .border-box { display: -webkit-box; display: flex; margin: 30px -4px 0; }
.development-about .border-box ul:first-of-type { margin-right: 20px; }
.development-about .border-box li { font-size: 15px; letter-spacing: 0.04em; white-space: nowrap; }

.development-about .attention { position: relative; margin: 30px 0 0 -4px; padding: 0 0 0 42px; }
.development-about .attention i { display: block; position: absolute; top: -4px; left: 0; }
.development-about .attention p { font-size: 13px; text-align: justify; }

/* .development-point
------------------------------------*/
.development-point {
	position: relative;
	width: 1040px;
	margin: 0 auto 150px;
	z-index: 0;
}

.development-point .img1,
.development-point .img2 { display: block; position: absolute; z-index: -1; }
.development-point .img1 { top: -10px; right: -32px; }
.development-point .img2 { top: 380px; right: -15px; }

.development-point .txt .title-circle:before { top: 3px; }

.development-point p { font-size: 16px; line-height: 1.95; }
.development-point > p { line-height: 2.1; }

.development-point dl { margin-top: 65px; }
.development-point dl > div { position: relative; padding: 0 0 55px 65px; }

.development-point dl > div:before,
.visit-flow dl > div:before {
	display: block;
	content: '';
	position: absolute;
	top: 41px;
	left: 19px;
	background: url(img/share/line-dot-green-v.svg) repeat-y left top;
	width: 2px;
	height: calc(100% - 60px);
}

.development-point dl > div:last-of-type,
.visit-flow dl > div:last-of-type { padding-bottom: 0; }

.development-point dl > div:last-of-type:before,
.visit-flow dl > div:last-of-type:before { display: none; }

.development-point dt {
	position: relative;
	margin-bottom: 16px;
	color: var(--color-green);
	font-size: 18px;
	letter-spacing: 0.1em;
}

.development-point dt i,
.visit-flow dt i {
	display: block;
	position: absolute;
	top: -12px;
	left: -68px;
	box-sizing: border-box;
	border: 1px solid var(--color-green);
	border-radius: 50%;
	width: 44px;
	height: 44px;
	padding: 11px 0 0 3px;
	font-family: var(--font-sans-num);
	font-size: 19px;
	text-align: center;
}

.development-point dd h4,
.development-point dd h4 + div { padding-left: 45px; }

.development-point dd h4 {
	position: relative;
	margin: 30px 0 13px;
	color: var(--color-green);
	font-family: var(--font-gothic-b);
	font-size: 16px;
	letter-spacing: 0.08em;
}

.development-point dd h4:first-child { margin-top: 35px; }
.development-point dd h4 i { display: block; position: absolute; top: 0; left: 2px; }

.development-point dd h4 i:after {
	display: block;
	content: '';
	position: absolute;
	top: 8px;
	left: 17px;
	background-color: var(--color-green);
	width: 16px;
	height: 1px;
}

.development-point dd h4 + div p {
	margin-bottom: 5px;
	font-size: 15px;
	line-height: 1.9;
	letter-spacing: 0.06em;
}

.development-point dd h4 + div p span {
	font-size: 11px;
	letter-spacing: 0.08em;
}

.development-point dd .box {
	display: inline-block;
	background: var(--color-bg-green-light);
	margin-top: 10px;
	padding: 18px 26px 18px 26px;
}

.development-point dd .box p {
	margin-bottom: 5px;
	font-size: 14px;
	line-height: 1.8;
}

/* .development-staff
------------------------------------*/
.development-staff {
	width: 910px;
	margin: 0 auto 150px;
	white-space: nowrap;
}

/* .development-reserve
------------------------------------*/
.development-reserve {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	box-sizing: border-box;
	background: var(--color-bg-green-light);
	border-radius: 7px;
	width: 1060px;
	margin: 0 auto 150px;
	padding: 55px 60px 40px 50px;
}

#visitContents .development-reserve { padding-top: 50px; padding-bottom: 45px; }

.development-reserve .schedule-wrap { width: 470px; }
.development-reserve .schedule-wrap h2 { margin-bottom: 24px; font-size: 20px; letter-spacing: 0.1em; }

body.disease .development-reserve .schedule-wrap h2.disease,
body.development .development-reserve .schedule-wrap h2.development { display: block; }

body.development .development-reserve .schedule-wrap h2.disease,
body.disease .development-reserve .schedule-wrap h2.development { display: none; }

.development-reserve .schedule-wrap .table th { box-sizing: border-box; width: 45px; }

.development-reserve .schedule-wrap .table + p {
	margin-top: 9px;
	color: var(--color-font);
	font-size: 15px;
	letter-spacing: 0.1em;
}

.development-reserve .txt { width: 430px; }
.development-reserve.size-l .txt { width: auto; }

.development-reserve .txt h2 {
	margin-bottom: 18px;
	color: var(--color-green);
	font-size: 20px;
	letter-spacing: 0.12em;
}

.development-reserve .txt p {
	font-size: 15px;
	line-height: 1.8;
	text-align: justify;
}

.development-reserve .txt .btn-set { margin: 26px 0 0 -4px; }
.development-reserve .txt .btn-link { margin-right: 8px; }


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

/* .faq-list
------------------------------------*/
.faq-list {
	width: 850px;
	margin: 0 auto;
}

.faq-list .post {
	position: relative;
	margin: -40px 0 90px;
	padding: 40px 0 0 67px;
}

.faq-list .post > h2 {
	position: absolute;
	top: calc(17px + 40px);
	left: 0;
	color: var(--color-green);
	font-size: 19px;
	letter-spacing: 0.22em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.faq-list .post dl > div { margin-bottom: 14px; }
.faq-list .post dl > div:last-of-type { margin-bottom: 0; }

.faq-list .post dt {
	position: relative;
	background: url(img/share/line-dot-green.svg) repeat-x left bottom;
	color: var(--color-green);
	font-size: 18px;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

.faq-list .post dt div {
	position: relative;
	padding: 12px 55px 12px 60px;
}

.faq-list .post dt em {
	display: block;
	position: absolute;
	top: 10px;
	left: 18px;
	font-family: var(--font-sans-num);
	font-size: 20px;
}

.faq-list .post dt i {
	display: block;
	position: absolute;
	top: 23px;
	right: 12px;
	width: 17px;
	height: 10px;
	font-size: 0;
	transform-origin: center center;
	transform: rotateX(90deg);
	opacity: 0;
	transition: .2s cubic-bezier(0.215, 0.61, 0.355, 1); /* easeOutCubic */
}

.faq-list .post dt.active i { transform: rotateX(0deg); opacity: 1; }

.faq-list .post dd { display: none; }
.faq-list .post dd > div { padding: 20px 40px 46px 60px; }

.faq-list .post dd div,
.faq-list .post dd div p {
	color: var(--color-font-light);
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.06em;
	text-align: justify;
}

.faq-list .post dd a { color: var(--color-green); text-decoration: underline; }
.faq-list .post dd h2 { margin: 30px 0 12px; color: var(--color-green); font-size: 16px; }
.faq-list .post dd img { max-width: 100%; }
.faq-list .post dd ul,
.faq-list .post dd ol { margin: 12px 0 14px; }
.faq-list .post dd blockquote { margin: 26px 0 22px; }

.faq-list .post-table { margin: 44px 0 0 -10px; }
.faq-list .post-table h3 { margin-bottom: 10px; letter-spacing: 0.12em; }
.faq-list .post-table table { margin-top: -20px; }
.faq-list .post-table h3 + table { margin-top: 0; }
.faq-list .post-table table th,
.faq-list .post-table table td { padding-top: 14px; padding-bottom: 16px; line-height: 1.8; }
.faq-list .post-table td { color: var(--color-font); letter-spacing: 0.1em; }
.faq-list .post-link { margin: 30px 0 0 !important; }
.faq-list h2 + .post-link { margin-top: 20px !important; }
.faq-list .post-table + .post-link { margin-left: -4px; }


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

/* .access-map
------------------------------------*/
.access-map { width: 1000px; margin: 0 auto 75px; }
.access-map #gMap { border-radius: 20px; width: 100%; height: 615px; }

/* .access-info
------------------------------------*/
.access-info {
	position: relative;
	display: -webkit-box;
	display: flex;
	-webkit-box-align: end;
	align-items: flex-end;
	justify-content: space-between;
	box-sizing: border-box;
	width: 1000px;
	margin: 0 auto;
	padding: 0 0 0 20px;
	color: var(--color-green);
}

.access-info .schedule { position: relative; width: 476px; }

.access-title { margin: 0 0 45px 4px; }
.access-title p { margin-bottom: 26px; }
.access-title p span { padding-bottom: 4px; }
.access-title .logo { margin-left: -2px; }
.access-title .logo img { width: 319px; height: auto; }

.access-title .sns { display: block; position: absolute; top: 0; right: 1px; }
.access-title .sns img { width: 31px; }
.access-title .sns li a { padding-top: 2px; }

/* .schedule-wrap
------------------------------------*/
.schedule-wrap { margin-bottom: 27px; color: var(--color-green); }
.schedule-wrap > p:first-of-type { margin-bottom: 2px; font-size: 12px; letter-spacing: 0.1em; }
.schedule-wrap .table + p { font-size: 13px; line-height: 1.85; letter-spacing: 0.06em; }
.schedule-wrap .table + p i.mlr { display: inline-block; margin: 0 1px 0 2px; }
.schedule-wrap .table + p i.yellow { color: var(--color-yellow); }
.schedule-wrap .table + p .line:after { display: none; }

.schedule-wrap .table { border: 1px solid var(--color-green); border-radius: 6px; margin-bottom: 14px; }
.schedule-wrap table { width: 100%; white-space: nowrap; }
.schedule-wrap tr:first-of-type th:first-of-type { border-radius: 6px 0 0 0; }
.schedule-wrap tr:first-of-type th:last-of-type { border-radius: 0 6px 0 0; }
.schedule-wrap tr:last-of-type td:first-of-type { border-radius: 0 0 0 6px; }
.schedule-wrap tr:last-of-type td:last-of-type,
.schedule-wrap td.last { border-radius: 0 0 6px 0; }

.schedule-wrap th,
.schedule-wrap td { background-color: #FFFFFF; border-left: 1px solid var(--color-green); padding: 12px 5px 13px; }

.schedule-wrap th:first-of-type,
.schedule-wrap td:first-of-type { border-left: none; }

.schedule-wrap th { font-size: 16px; text-align: center; vertical-align: middle; }
.schedule-wrap th:first-of-type { padding-right: 0; font-size: 15px; letter-spacing: 0.06em; }

.schedule-wrap td {
	box-sizing: border-box;
	border-top: 1px solid var(--color-green);
	width: 45px;
	font-size: 16px;
	text-align: center;
	vertical-align: middle;
}

.schedule-wrap td:first-of-type {
	width: 140px;
	padding-right: 17px;
	letter-spacing: 0.03em;
	text-align: right;
}

.schedule-wrap td:last-of-type { width: 40px; }
.schedule-wrap td.font-b { -webkit-text-stroke: 1px var(--color-green); }
.schedule-wrap td.yellow { color: var(--color-yellow); }

.schedule-wrap td i {
	display: block;
	position: relative;
	font-size: 10px;
	z-index: 0;
}

.schedule-wrap td i:after {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	background-color: var(--color-yellow);
	border-radius: 16px;
	width: 38px;
	height: 34px;
	z-index: -1;
	opacity: 0.6;
}

.schedule-wrap td { position: relative; }

.schedule-wrap td i.long {
	display: block;
	position: absolute;
	top: 9px;
	left: 8px;
	width: 220px;
	font-size: 11px;
	z-index: 1;
}

.schedule-wrap td i.long:after {
	background-color: #FFE898;
	width: 100%;
	height: 18px;
	opacity: 1;
}

.schedule-wrap td span.size-s {
	display: block;
	margin-top: 8px;
	font-size: 10px;
	transform: translate(1px,8px);
}

.schedule-wrap td .vt {
	display: inline-block;
	margin-bottom: -5px;
	font-size: 12px;
	letter-spacing: 0.28em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.schedule-wrap td .vt.size-l {
	margin-bottom: 0;
	font-size: 13px;
	letter-spacing: 0;
}

.schedule-wrap td .td-txt {
	display: block;
	margin: -5px 0;
	font-size: 11px;
	line-height: 1.2;
}

.schedule-wrap td .td-txt em {
	display: block;
	font-size: 10px;
}

.access-info .schedule .schedule-wrap {
	margin-bottom: 40px;
}

.access-info .schedule .schedule-wrap h2,
.schedule-info .schedule-wrap h2 {
	margin: 0 0 15px 5px;
	font-size: 17px;
	letter-spacing: 0.1em;
}

.schedule-info .schedule-wrap h2 {
	margin-bottom: 18px;
	font-size: 19px;
}

.access-info .schedule .schedule-wrap .table + p {
	margin-left: 5px;
}

/* .access-reserve
------------------------------------*/
.access-reserve {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	white-space: nowrap;
}

.access-reserve h2 {
	position: relative;
	color: var(--color-brown);
	font-size: 19px;
	letter-spacing: 0.06em;
	transform: translateY(10px);
}

.access-reserve h2 i { display: block; position: absolute; top: -11px; left: -18px; }
.access-reserve h2 span { padding-bottom: 4px; }
.access-reserve h2 .line:after { height: 1px; }

.access-reserve .btn-set .btn-link a { padding-right: 24px; padding-left: 28px; letter-spacing: 0.06em; }
.access-reserve .btn-set .btn-link i { margin-right: 8px; }

/* .parking
------------------------------------*/
.access-info .parking {
	padding: 0 0 2px 44px;
	white-space: nowrap;
}

.access-info .parking figure {
	margin: 0 0 26px -28px;
}

.access-info .parking .address-tel {
	position: relative;
}

.access-info .parking .address-tel p {
	margin-bottom: 17px;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

.access-info .parking .address-tel p.size-s {
	margin: 0 0 11px;
	font-size: 13px;
	letter-spacing: 0.06em;
	text-decoration: none;
}

.access-info .parking .address-tel address {
	margin-bottom: 5px;
	line-height: 1.5;
	letter-spacing: 0.06em;
}

.access-info .parking .address-tel address span {
	margin-bottom: 1px;
	font-size: 11px;
	letter-spacing: 0.06em;
}

.access-info .parking .address-tel address span:last-of-type {
	display: inline-block;
	margin: 0 0 0 3px;
	font-size: 13px;
}

.access-info .parking .address-tel .tel {
	display: inline-block;
	margin-right: 8px;
}

.access-info .parking .address-tel .fax {
	display: inline-block;
	letter-spacing: 0.06em;
}

.access-info .parking .address-tel .fax span {
	padding-left: 2px;
	font-size: 16px;
}

.access-info .parking .address-tel .route {
	position: absolute;
	top: 111px;
	left: 302px;
	transform: translateY(0);
}

.access-info .parking .address-tel .route i img {
	width: 22px;
	margin-right: -2px;
	transform: translateY(-1px);
}

/* .access-img
------------------------------------*/
.access-img { width: 1140px; margin: 0 auto 120px; }
.access-img-btm { width: 1000px; margin: 120px auto 0; }

.access-img img,
.access-img-btm img { border-radius: 7px; } 


/* .fix-reserve
---------------------------------------------------------------------------*/
.fix-reserve {
	display: flex;
	position: fixed;
	bottom: 30px;
	right: 45px;
	white-space: nowrap;
	z-index: 100;
}

.fix-reserve .btn {
	position: relative;
	margin-right: 12px;
	opacity: 0;
}

.fix-reserve .btn.off {
	pointer-events: none;
}

.fix-reserve .btn1 { order: 2; }
.fix-reserve .btn2 { order: 3; margin-right: 0; }
.fix-reserve .btn-tel { order: 1; margin-right: 14px; }

.fix-reserve .btn-tel img {
	width: 19px;
}

.fix-reserve .btn > a,
.fix-reserve .btn > span {
	display: block;
	position: relative;
	background-color: #62BBAF;
	border-radius: 30px;
	padding: 5px 40px 5px 41px;
	color: #FFFFFF;
	font-size: 16px;
	letter-spacing: 0.08em;
	cursor: pointer;
}

.fix-reserve .btn-tel > a {
	box-sizing: border-box;
	background-color: var(--color-green);
	border-radius: 50%;
	width: 42px;
	height: 42px;
	padding: 11px 0 0 12px;
}

.fix-reserve .btn > a:hover {
	background-color: #91CFC7;
	opacity: 1;
}

.fix-reserve .btn-tel > a:hover {
	background-color: #4D9A9E;
}

.fix-reserve .btn > div {
	position: absolute;
	bottom: 42px;
	left: -14px;
	transition: .15s ease-out;
	visibility: hidden;
	pointer-events: none;
	opacity: 0;
}

.fix-reserve .btn:hover > div {
	padding-bottom: 18px;
	visibility: visible;
	pointer-events: auto;
	opacity: 1;
}

.fix-reserve .btn ul {
	background-color: var(--color-bg-green-light);
	border-radius: 7px;
	padding: 20px 25px 10px;
}

.fix-reserve .btn li:not(:last-of-type) {
	margin-bottom: 6px;
}

.fix-reserve .btn li a {
	display: inline-block;
	background: url(img/share/ico-arrow-btn-green.svg) no-repeat left top 1px;
	padding: 0 0 12px 23px;
	color: var(--color-green);
	font-size: 14px;
	letter-spacing: 0.06em;
	text-decoration: underline;
	text-underline-offset: 0.1em;
}


/* .bnr-clinic
---------------------------------------------------------------------------*/
.bnr-clinic {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	position: relative;
	box-sizing: border-box;
	background-color: var(--color-blue-light);
	border-radius: 8px;
	width: 1055px;
	margin: 140px auto 0;
	padding: 60px;
}

.bnr-clinic figure {
	width: 370px;
	min-width: 370px;
}

.bnr-clinic figure img {
	border-radius: 6px;
}

.bnr-clinic .txt {
	width: 100%;
	padding: 0 0 0 52px;
}

.bnr-clinic .txt h4 {
	margin: 0 0 28px 2px;
	color: var(--color-blue);
	font-size: 16px;
	letter-spacing: 0.16em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.3em;
}

.bnr-clinic .txt h2 {
	position: relative;
	margin-bottom: 21px;
}

.bnr-clinic .txt h2 img {
	width: 288px;
}

.bnr-clinic .txt h2 strong {
	display: inline-block;
	position: absolute;
	top: 34px;
	left: 232px;
	background-color: var(--color-blue);
	border-radius: 30px;
	padding: 5px 12px 7px 13px;
	color: #FFFFFF;
	font-size: 14px;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.bnr-clinic .txt h3 {
	position: absolute;
	top: -12px;
	right: 36px;
	color: var(--color-blue);
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.bnr-clinic .txt h3 strong {
	display: inline-block;
	border-right: 1px solid var(--color-blue);
	margin-left: 13px;
	padding-right: 3px;
	font-size: 19px;
	letter-spacing: 0.16em;
}

.bnr-clinic .txt h3 em {
	display: inline-block;
	border-right: 1px solid var(--color-blue);
	margin-top: 1px;
	padding-right: 3px;
	font-family: var(--font-gothic-b);
	font-size: 14px;
	letter-spacing: 0.26em;
}

.bnr-clinic .txt p {
	margin-left: 2px;
	font-size: 16px;
	letter-spacing: 0.1em;
}

.bnr-clinic .txt .btn-arrow {
	margin-top: 15px;
}


/* error
---------------------------------------------------------------------------*/
#errorContents .error-txt { text-align: center; }
#errorContents .error-txt p { font-size: 15px; }