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

html {
	height: -webkit-fill-available;
}

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;
	min-height: 100vh;
	min-height: -webkit-fill-available;
	-webkit-tap-highlight-color: transparent;
}

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.06em; margin-bottom: 14px; }
p:last-child { margin-bottom: 0 !important; }
address, i { font-style: normal; }
img { max-width: none; }
figure img { width: 100%; height: auto; }

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

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

/* link
------------------------------------*/
a { color: var(--color-font); text-decoration: none; -webkit-transform: translateZ(0); }
a.tel-link { color: var(--color-green); }
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: block;
	background: var(--color-green);
	padding: 14px 25px 16px 28px;
	border-radius: 30px;
	color: #FFFFFF !important;
	font-size: 14px;
	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 9px 0 -6px;
	transform: translateY(5px) scale(0.82);
}

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

.btn-arrow a {
	display: inline-block;
	background: url(img/share/ico-arrow-btn-circle.svg) no-repeat left top 6px;
	background-size: 20px auto;
	padding: 8px 10px 8px 27px;
	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);
	background-position: left top 8px;
	padding-left: 30px;
	color: var(--color-blue);
	font-size: 15px;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

.btn-set { display: -webkit-box; display: flex; justify-content: space-between; }
.btn-set > div { width: 49%; }

/* .btn-nav
------------------------------------*/
.btn-nav {
	position: fixed;
	top: 0;
	right: 0;
	box-sizing: border-box;
	padding: 12px 16px 30px 30px;
	z-index: 10000;
}

/* .btn-nav .pic
------------------------------------*/
.btn-nav .pic {
	position: absolute;
	top: 29px;
	right: -35px;
	transform-origin: right bottom;
	z-index: 10;
}

.btn-nav .pic img {
	display: block;
	width: 56px;
	-webkit-transform: translateZ(0) !important;
}

/* .btn-nav-wrap
------------------------------------*/
.btn-nav-inner {
	position: relative;
	z-index: 0;
	-webkit-transform: translate3d(0, 0, 0) !important;
}

.btn-nav-inner > div {
	position: relative;
}

.btn-nav-wrap {
	position: relative;
	background-color: #3FB0A1;
	border-radius: 50%;
	width: 45px;
	height: 45px;
	transform-origin: center center;
	z-index: 0;
}

.btn-nav-wrap > div {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) !important;
	width: 26px;
	height: 14px;
}

.btn-nav-line {
	position: absolute;
	border-radius: 2px;
	width: 26px;
	transform-origin: left top;
}

.btn-nav-line i {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background: #FFFFFF;
	width: 100%;
	height: 100%;
}

/* .nav-open
------------------------------------*/
.nav-open {
	opacity: 0;
}

.nav-open .line1 { top: 0; }
.nav-open .line2 { top: 6px; }
.btn-nav.active .nav-open .btn-nav-line.line2 { top: 1px; }
.nav-open .line3 { top: 6px; }
.nav-open .line4 { top: 12px; }
.btn-nav.active .nav-open .btn-nav-line.line4 { top: 7px; }
.nav-open .line5 { top: 12px; }

.nav-open .line1,
.nav-open .line3,
.nav-open .line5 {
	left: 0;
	height: 2px;
}

.nav-open .line2,
.nav-open .line4 {
	right: 0;
	height: 0.5px;
	transform-origin: right top;
	transform: rotate(11deg);
}

.btn-nav.active .nav-open .line2,
.btn-nav.active .nav-open .line4 {
	right: inherit;
	left: 0;
	transform-origin: left top;
}

.btn-nav.active .nav-open .line2 i,
.btn-nav.active .nav-open .line4 i {
	right: 0;
	left: initial;
}

/* .nav-close
------------------------------------*/
.nav-close {
	margin-left: 0.5px;
}

.nav-close .btn-nav-line {
	width: 29px;
	height: 2px;
}
.nav-close .btn-nav-line i {
	width: 0;
}

.nav-close .line1 {
	top: 0;
	left: 0;
	transform: rotate(26deg);
}

.nav-close .line2 {
	top: 0;
	right: 1px;
	transform: rotate(-26deg);
	transform-origin: right top;
}

.nav-close .line2 i {
	right: 0;
	left: inherit;
}

/* .nav-loading
------------------------------------*/
.btn-nav-wrap .nav-loading {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transform: none !important;
	opacity: 0;
}

.nav-loading img {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) scale(0.75);
}

/* .nav-sp
------------------------------------*/
.nav-sp,
.nav-bg {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	height: 100dvh;
}

.nav-sp {
	overflow-y: scroll;
	background: #F8FBFD;
	z-index: 9999;
	display: none;
	opacity: 0;
}

.nav-bg {
	display: block;
	top: -18px;
	background: url(img/share/bg-nav.svg) repeat-y;
	background-size: 100% auto;
	padding-top: 18px;
	z-index: 0;
}

.nav-sp .inner {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	height: 100vh;
	height: 100dvh;
	min-height: 940px;
	padding: 60px 0 110px;
	white-space: nowrap;
	z-index: 1;
}

.nav-sp .logo {
	margin-bottom: 28px;
	text-align: center;
}

/* .nav-sp .gnav
------------------------------------*/
.nav-sp .gnav {
	width: 250px;
	margin: 0 auto;
}

.nav-sp .gnav > ul > li > a {
	display: block;
	position: relative;
	background: url(img/share/line-dot-green.svg) repeat-x left bottom;
	padding: 21px 10px 12px 38px;
	color: var(--color-green);
	font-size: 17px;
	letter-spacing: 0.1em;
}

.nav-sp .gnav > ul > li > a:before {
	display: block;
	content: '';
	position: absolute;
	top: 21px;
	left: 8px;
	background: url(img/share/ico-arrow-btn-brown.svg) no-repeat;
	width: 19px;
	height: 19px;
}

_::-webkit-full-page-media, _:future, :root .nav-sp .gnav > ul > li > a:before {
	top: 22px;
}

.nav-sp .gnav > ul > li ul {
	margin: 22px 0 -2px 39px;
}

.nav-sp .gnav > ul > li li {
	margin-bottom: 6px;
	font-size: 14px;
	letter-spacing: 0.1em;
}

.nav-sp .gnav > ul > li li a {
	display: inline-block;
	padding-bottom: 10px;
	color: var(--color-green);
}

.nav-sp .gnav > ul > li li a span.line {
	padding-bottom: 3px;
}

.nav-sp .gnav > ul > li li a span.line:after {
	background-color: var(--color-green);
}

/* .nav-news
------------------------------------*/
.nav-news {
	position: absolute;
	bottom: 30px;
	left: 40px;
	width: calc(100% - 80px);
}

.nav-news a {
	display: block;
}

.nav-news time {
	display: block;
	margin-bottom: 14px;
	color: var(--color-brown);
	font-size: 11px;
	letter-spacing: 0.1em;
	transform-origin: left bottom;
	transform: scale(0.9);
}

.nav-news h2 {
	display: inline-block;
	box-sizing: border-box;
	position: relative;
	max-width: 100%;
	height: 18px;
	padding: 1px 26px 0 0;
	color: var(--color-green);
	font-size: 15px;
	letter-spacing: 0.06em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.nav-news h2:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	background: url(img/share/ico-arrow-btn-s.svg) no-repeat;
	background-size: 100% auto;
	width: 18px;
	height: 18px;
}


/* #wrap
---------------------------------------------------------------------------*/
#wrap {
	position: relative;
	/*overflow: hidden;*/
}


/* .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%) scale(0.6) !important;
	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) !important; }
.loading-first .sun .mask2 { top: 47px; right: 27px; transform: rotate(68deg) !important; }


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

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

header .logo img,
.nav-sp .logo img {
	width: 159px;
	transform: translateX(2px);
}

header h2 {
	margin-top: 14px;
}

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

/* .sns-wrap
------------------------------------*/
.sns-wrap,
.nav-sp .sns { position: absolute; top: 10px; left: 14px; }
.sns { display: -webkit-box; display: flex; }
.sns li { position: relative; }
.sns li a { display: block; position: relative; padding: 5px 3px 5px 2px; z-index: 1; }
.sns img { width: 24px; height: auto; }

/* .branch
------------------------------------*/
.branch1 { position: absolute; top: 100px; left: 15px; }
.branch2 { position: absolute; top: 210px; left: 10px; }
.branch3 { position: absolute; top: 90px; right: 0; }
.branch4 { position: absolute; top: 218px; right: 28px; }
body.clinic .branch2,
body.clinic .branch4 { opacity: 0; }


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

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

footer .copy {
	margin-bottom: 30px;
	font-family: var(--font-gothic-m);
	font-size: 22px;
	line-height: 1.6;
	letter-spacing: 0.12em;
}

footer .copyright {
	display: block;
	position: absolute;
	top: -26px;
	left: 8%;
	font-size: 9px;
	letter-spacing: 0.04em;
}

footer .sns {
	display: block;
	position: absolute;
	bottom: 35px;
	right: 20px;
}

footer .sns a {
	padding-top: 4px;
}

footer .sns img {
	width: 27px;
}

footer nav {
	display: none;
}

/* .footer-info
------------------------------------*/
.footer-info h2 {
	margin: 0 0 16px 1px;
}

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

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

.footer-info .logo {
	margin-bottom: 22px;
}

.footer-info .logo img {
	width: 210px;
}

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

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

.address-tel address + p {
	margin: 5px 0 15px;
	font-size: 12px;
}

.address-tel .tel {
	display: inline-block;
	margin-left: 1px;
	font-size: 12px;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

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

.address-tel .tel span {
	padding-left: 2px;
	font-size: 12px;
}

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

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

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

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

.address-tel .route a i img {
	width: 23px;
	height: 23px;
}

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

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

.footer-info .btn-set {
	width: 260px;
	margin: 18px -4px 0;
}

.footer-info .btn-link {
	width: 100%;
}

.footer-info .btn-link a {
	padding: 11px 18px 13px 20px;
	font-size: 13px;
}

.footer-info .btn-link a i {
	margin-right: 4px;
}

footer .link-clinic {
	margin-top: 30px;
}

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

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


/* 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: 270px;
	margin-bottom: 10px;
	z-index: 0;
	opacity: 0;
}

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

.bg-contents div:before,
.img-main2 .cover .before {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 60px;
}

.bg-contents div:before,
.img-main2 .cover .before i {
	display: block;
	background: url(img/share/bg-contents_sp.png) no-repeat center top / 100% 100%;
	width: 100%;
	height: 100%;
	transform-origin: center bottom;
}

.bg-contents div:before {
	height: 45px;
}

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

.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: 100%;
	margin: 0 auto 45px;
}

/* .title-page
------------------------------------*/
.title-page {
	margin-bottom: 45px;
	padding: 0 10%;
	text-align: center;
}

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

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

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

.title-page p {
	margin-top: 30px;
	color: var(--color-font-light);
	line-height: 1.95;
	letter-spacing: 0.02em;
	text-align: justify;
	font-size: 15px;
}

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

/* .title-circle
------------------------------------*/
.title-circle {
	position: relative;
	margin-bottom: 18px;
	padding: 0 0 0 25px;
	color: var(--color-green);
	font-size: 16px;
	letter-spacing: 0.1em;
}

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

.title-circle em {
	display: block;
	margin-top: 12px;
	color: var(--color-font);
	font-size: 12px;
	letter-spacing: 0.06em;
}

/* .page-nav
------------------------------------*/
.page-nav {
	width: 320px;
	margin: -12px auto 55px;
	text-align: center;
}

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

.page-nav li:after {
	display: block;
	content: '／';
	position: absolute;
	top: 9px;
	right: -13px;
	font-size: 15px;
	color: #E7CAA6;
	-webkit-text-stroke: 1px #E7CAA6;
	transform: rotate(-15deg);
}

.page-nav li:nth-of-type(3):after,
.page-nav li:last-of-type:after {
	display: none;
}

.page-nav li a {
	display: inline-block;
	padding: 9px 6px;
	color: var(--color-green);
	font-size: 14px;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

/* .dot-list
------------------------------------*/
.dot-list li {
	position: relative;
	margin: 0 0 5px 3px;
	padding-left: 11px;
	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: 12px;
	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: 20px 18px 14px;
}

/* .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: -2px;
	left: 12px;
	background: var(--color-yellow);
	border-radius: 4px;
	width: calc(100% - 24px);
	height: 4px;
}

/* .schedule-info
------------------------------------*/
.schedule-info {
	box-sizing: border-box;
	background: var(--color-bg-green-light);
	border-radius: 7px;
	margin: 80px auto 0;
	padding: 45px 7% 45px;
}

.schedule-info .schedule-wrap {
	margin: 0;
}

.schedule-info .inner {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	white-space: nowrap;
}

.schedule-info .inner .btn-set {
	order: 1;
}

.schedule-info .inner .btn-link {
	/*width: 49%;*/
	width: 100%;
}

.schedule-info .address-tel {
	order: 2;
	width: 100%;
	margin-top: 40px;
}

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

.schedule-info .address-tel address span {
	font-size: 12px;
}

.schedule-info .address-tel address + p {
	margin: 12px auto;
	font-size: 13px;
}

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

.schedule-info .address-tel .tel a {
	padding-left: 3px;
	font-size: 24px;
	letter-spacing: 0.05em;
}

.schedule-info .address-tel .route {
	transform: translateY(-3px);
}

.schedule-info .address-tel .route a {
	font-size: 16px;
}

.schedule-info .address-tel .route a i {
	transform: translateY(5px);
}

.schedule-info .address-tel .route a i img {
	width: 24px;
	height: 24px;
}

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

#visitContents .service-list-wrap,
#pediatricContents .service-list-wrap,
#diseaseContents .service-list-wrap,
#developmentContents .service-list-wrap {
	background: var(--color-bg) url(img/share/line-dot-green.svg) repeat-x left bottom;
	margin-top: 20px;
	padding-bottom: 45px;
}

.service-list-wrap > h2 {
	margin-bottom: 38px;
	color: var(--color-green);
	font-size: 18px;
	letter-spacing: 0.1em;
	text-align: center;
}

.service-list-wrap > h2 span {
	padding-bottom: 5px;
}

.service-list-wrap > h2 span:after {
	left: -1px;
	width: calc(100% - 2px);
	height: 2px;
	background: var(--color-green);
}

.service-list {
	padding: 0 10px;
}

.service-list > .inner {
	margin-bottom: 40px;
}

.service-list figure {
	margin-bottom: 22px;
}

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

.service-list h2 {
	box-sizing: border-box;
	margin-bottom: 10px;
	font-size: 19px;
	line-height: 1.45;
	letter-spacing: 0.1em;
	text-align: center;
	white-space: nowrap;
}

.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.2em;
	transform: translateY(-4px);
}

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

.service-list p {
	margin-bottom: 0;
	padding: 0 5px;
	font-size: 13px;
	line-height: 1.8;
	letter-spacing: 0.04em;
	text-align: justify;
}

.service-list p.size-s {
	margin: 6px 0 0 1px;
	color: var(--color-green);
	font-size: 12px;
	letter-spacing: 0.04em;
}

.service-list .btn-link {
	display: none;
	margin-top: 23px;
}

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

#serviceContents .service-list + .btn-link {
	display: none;
}

.service-list-wrap > .btn-link {
	margin: 40px 6px 0;
}

body.visit .service-list > .inner,
body.pediatric .service-list > .inner,
body.disease .service-list > .inner,
body.development .service-list > .inner {
	margin-top: 20px;
}

body.visit .service-list p,
body.pediatric .service-list p,
body.disease .service-list p,
body.development .service-list p {
	display: none;
}

body.visit .service-list-wrap > .btn-link,
body.pediatric .service-list-wrap > .btn-link,
body.disease .service-list-wrap > .btn-link,
body.development .service-list-wrap > .btn-link {
	margin-top: 20px;
}

/* .faq-relation
------------------------------------*/
.faq-relation {
	margin: 70px auto 65px;
}

.faq-relation h2.title-circle {
	margin-left: 7.5%;
}

/* .slider
------------------------------------*/
.slider .inner img {
	width: 100%;
	height: auto;
}

/* .slider-img
------------------------------------*/
.slider-img {
	position: relative;
	z-index: 0;
}

.slider-img .slick-track {
	width: 100% !important;
}

.slider-img .inner {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
}

.slider-img .inner:first-of-type {
	position: static !important;
}

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

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

.img-scroll .inner img {
	width: auto;
	height: 140px;
}


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

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

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

.news-list article a {
	display: block;
	padding: 12px 12px 10px;
}

.news-list time {
	display: block;
	margin-bottom: 8px;
	color: var(--color-brown);
	font-family: var(--font-sans-num);
	font-size: 11px;
	letter-spacing: 0.1em;
}

.news-list h2 {
	color: var(--color-green);
	font-size: 14px;
	line-height: 1.5;
	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: 86%;
	margin: 60px auto 0;
	padding: 18px 4px 0;
}

/* .news-title
------------------------------------*/
.news-title {
	position: relative;
	box-sizing: border-box;
	margin-bottom: 38px;
}

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

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

/* .news-main
------------------------------------*/
.news-main,
.news-main p {
	font-size: 14px;
	line-height: 1.9;
	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% + 8px);
	height: auto;
	margin: 0 -4px;
	padding: 20px 0;
}

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

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

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

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

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

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

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

.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: 35px;
	padding: 20px 24px;
}

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

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

.post-table h3 {
	position: relative;
	margin: 75px 0 15px;
	padding-left: 23px;
	color: var(--color-green);
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0.1em;
}

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

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

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

.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: 10px;
	padding-bottom: 11px;
}

.post-table table th {
	position: relative;
	box-sizing: border-box;
	width: 10%;
	padding-right: 15px;
	padding-left: 3px;
	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: -28px 0 0 3px;
	font-size: 12px !important;
	line-height: 1.8 !important;
	letter-spacing: 0.06em !important;
	text-align: justify;
}

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

/* .post-link
------------------------------------*/
.post-link {
	margin: 28px 0 0 !important;
}

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

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

/* .news-other
------------------------------------*/
.news-other {
	border-top: 1px solid var(--color-bg-green-light);
	margin-top: 55px;
	padding: 50px 7% 0;
}

.news-other .news-list {
	padding: 0;
}

.news-other .btn-link {
	margin-top: 30px;
}


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

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

.wp-pagenavi .current {
	display: inline-block;
	position: relative;
	margin: 0 2px;
	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: 24px;
	height: 24px;
	margin-top: -1px;
	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: 21px 21px;
	width: 21px;
	height: 21px;
	text-indent: -9999px;
}

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

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


/* page top
---------------------------------------------------------------------------*/
body.top #mainContents > .bg-contents + div {
	position: relative;
	z-index: 10;
}

body.top header .logo,
body.top header h2,
body.top .header-inner .branch1,
body.top .header-inner .branch2,
body.top .header-inner .branch3,
body.top .header-inner .branch4 {
	opacity: 0;
}

.top-logo {
	display: block !important;
	position: relative;
	width: 164px;
	margin: -44px auto 40px;
	text-align: center;
	z-index: 1;
}

.top-logo .logo img {
	width: 100%;
}

.top-logo h2 {
	margin-top: 15px;
}

/* .top-main
------------------------------------*/
.top-main {
	overflow: hidden;
	position: relative;
	width: 100%;
	margin: -205px 0 0;
	padding-bottom: 25px;
	z-index: 0;
}

.slider-top {
	overflow: hidden;
}

.slider-top.main {
	position: relative;
	width: 80vw;
	margin: 0 auto;
	border-radius: 32px;
	-webkit-transform: perspective(0);
	-webkit-transform-style: preserve-3d;
	-webkit-transform: translateZ(0);
}

.slider-top.sub {
	position: absolute;
	bottom: 0;
	width: 25vw;
	border-radius: 9px;
}

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

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

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

/* .top-lead
------------------------------------*/
.top-lead {
	position: relative;
	margin-bottom: 75px;
	padding: 0 11%;
}

.top-lead-inner {
	position: relative;
}

.top-lead-reserve {
	position: absolute;
	top: -50px;
	right: -22px;
	width: 68px;
	height: 100px;
	z-index: 11002;
	opacity: 0;
}

#wrap > .top-lead-reserve {
	position: fixed;
	top: inherit;
	bottom: 26px;
	right: 22px;
	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 strong,
.top-lead-reserve a > span {
	z-index: 1;
}

.top-lead-reserve strong {
	display: block;
	position: absolute;
	top: -3px;
	right: 2px;
	font-family: var(--font-gothic-b);
	color: var(--color-green);
	font-size: 11px;
	line-height: 1.5;
	letter-spacing: 0.18em;
	text-decoration: underline;
	white-space: nowrap;
}

.top-lead-reserve strong span {
	display: block;
	transform: rotate(-5deg);
	line-height: 1.7;
}

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

.top-lead-reserve .reserve-arrow { top: 46px; right: 6px; }
.top-lead-reserve .reserve-arrow img { width: 16px; height: auto; }
.top-lead-reserve .reserve-arrow:after {
	display: block;
	content: '';
	position: absolute;
	top: -4px;
	left: -6px;
	background-color: #FFF7AD;
	border-radius: 50%;
	width: 28px;
	height: 28px;
	transform-origin: center center;
	z-index: -1;
}

.top-lead-reserve .reserve-mail { top: 46px; left: 0; }
.top-lead-reserve .reserve-mail img { width: 29px; height: auto; }
.top-lead-reserve .reserve-bird { bottom: 0; left: 0; }
.top-lead-reserve .reserve-bird img { width: 55px; height: auto; }

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

.top-lead h2 {
	margin-bottom: 28px;
}

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

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

.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: 26px;
	font-size: 21px;
	line-height: 1.8;
	letter-spacing: 0.16em;
}

.top-lead p {
	margin-bottom: 11px;
	line-height: 2;
	letter-spacing: 0.06em;
	white-space: nowrap;
	opacity: 0;
}

.top-lead .img1,
.top-lead .img2 {
	position: relative;
	overflow: hidden;
	border-radius: 4px;
	width: 46.5%;
	padding-bottom: 65%;
	opacity: 0;
}

.top-lead .img1 {
	margin-top: 40px;
}

.top-lead .img2 {
	position: absolute;
	bottom: 0;
	right: 0;
}

.top-lead .img1 img,
.top-lead .img2 img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

/* .top-concept
------------------------------------*/
.top-concept-img {
	position: relative;
	width: 100%;
	height: 65vw;
	margin-bottom: 2px;
}

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

.top-concept-img figure img {
	object-fit: cover;
	object-position: 85% 0;
	width: 100%;
	height: 100%;
}

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

.top-concept-img .txt {
	position: absolute;
	top: 12%;
	right: 5%;
	width: 135px;
	z-index: 1;
}

.top-concept-img .txt h2 {
	margin: 0 0 12px -1px;
	font-family: var(--font-gothic-b);
	font-size: 17px;
	letter-spacing: 0.14em;
	white-space: nowrap;
}

.top-concept-img .txt p {
	margin-bottom: 3px;
	font-size: 12px;
	line-height: 1.65;
	letter-spacing: 0;
	text-align: justify;
}

.top-concept-img .txt p br {
	display: none;
}

.top-concept-img .txt a {
	display: inline-block;
	background: url(img/share/ico-arrow-btn-circle.svg) no-repeat top 9px left;
	background-size: 18px auto;
	margin: 0;
	padding: 10px 10px 10px 25px;
	font-family: var(--font-gothic-b);
	font-size: 13px;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

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

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

.top-slide .inner img {
	width: auto !important;
	height: 100% !important;
}

/* .top-service 
------------------------------------*/
.top-service {
	background: var(--color-bg-green-light);
	padding-top: 60px;
	padding-bottom: 60px;
	text-align: center;
}

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

.top-service > h3 {
	display: inline-block;
	margin-bottom: 35px;
	padding-bottom: 4px;
	color: var(--color-brown);
	font-size: 14px;
	letter-spacing: 0.1em;
	transform: translateY(-7px);
}

.top-service > h3:after {
	background-color: var(--color-brown);
	width: calc(100% - 5px);
	height: 1px;
	left: 1px;
}

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

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

/* .top-news
------------------------------------*/
.top-news { margin: 75px auto 0; padding: 0 7.5%; }
.top-news .news-list { margin: 0 -12px; padding: 0; }
.top-news .btn-link { margin: 35px -6px 0; }


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

/* .img-main2
------------------------------------*/
.img-main2 {
	position: relative;
	overflow: hidden;
	margin-top: -60px;
	z-index: 0;
}

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

.img-main2 .inner img {
	display: block;
	width: 100%;
	height: auto;
}

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

.img-main2 .cover .before { z-index: 1; }
.img-main2 .cover .after { height: 6px; }

/* .clinic-concept
------------------------------------*/
.clinic-concept {
	position: relative;
	margin: -95px auto 60px;
	text-align: center;
	z-index: 2;
}

.clinic-concept .logo {
	margin: 0 0 35px;
	transform-origin: center bottom;
	opacity: 0;
}

.clinic-concept .logo img {
	display: block;
	width: 69px;
	height: auto;
	transform: rotate(-9deg);
}

.clinic-concept h2 {
	margin-bottom: 33px;
	color: var(--color-brown);
	font-family: var(--font-sans-num);
	font-size: 13px;
	letter-spacing: 0.12em;
}

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

.clinic-concept h2 span:after {
	background-color: var(--color-brown);
	width: calc(100% - 2px);
	opacity: 0.5;
}

.clinic-concept h1 {
	margin-bottom: 18px;
	color: var(--color-green);
	font-family: var(--font-gothic-b);
	font-size: 14px;
	letter-spacing: 0.16em;
}

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

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

.clinic-concept h3 {
	margin-bottom: 30px;
	color: var(--color-green);
	font-size: 25px;
	line-height: 1.65;
	letter-spacing: 0.1em;
}

.clinic-concept p {
	margin-bottom: 8px;
	padding-left: 11.5%;
	font-size: 14px;
	line-height: 2;
	text-align: left;
}

.clinic-concept .btn-link {
	display: none;
}

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

.clinic-concept .img3 {
	margin-top: 60px;
	padding: 0 7.5%;
}

.clinic-concept .img3 img {
	width: 100%;
	height: auto;
}

/* .clinic-nicori
------------------------------------*/
.clinic-nicori {
	position: relative;
	margin: 70px auto 80px;
	padding: 0 7.5%;
}

.clinic-nicori .img {
	position: relative;
	margin-bottom: 40px;
}

.clinic-nicori .img figure img {
	width: 100%;
	height: auto;
}

.clinic-nicori .pic1 { display: block; position: absolute; top: -45px; right: -15px; width: 90px; }
.clinic-nicori .pic2 { display: none; }
.clinic-nicori .pic3 { display: block; position: absolute; top: calc(63vw - 25px); left: -10px; width: 70px; }
.clinic-nicori .pic4 { display: block; position: absolute; bottom: -30px; right: -10px; width: 96px; }

.clinic-nicori .txt {
	position: relative;
	padding: 0 5px;
}

.clinic-nicori .txt .logo {
	display: block;
	position: absolute;
	top: -10px;
	right: 0;
	width: 68px;
	height: auto;
}

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

.clinic-nicori .txt p {
	margin-bottom: 0;
	text-align: justify;
}

.clinic-nicori .txt p br { display: none; }

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

/* .clinic-reserve
------------------------------------*/
.clinic-reserve {	
	margin: 70px auto -10px;
}

.clinic-reserve .btn-link a {
	padding-top: 13px;
	padding-bottom: 16px;
	font-size: 16px;
}

.clinic-reserve .btn-link a i {
	margin-right: 6px;
	transform: translateY(4px) scale(0.82);
}

.clinic-reserve .btn-link a span { display: none; }
.clinic-reserve .btn-link a span.long { display: inline; }

.clinic-reserve figure {
	margin-bottom: 32px;
}

.clinic-reserve .inner {
	margin-bottom: 70px;
	padding: 0 7.5%;
	text-align: center;
}

.clinic-reserve .inner:last-of-type {
	margin-bottom: 0;
}

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

.clinic-reserve h2 em {
	display: block;
	margin-bottom: 16px;
	font-size: 14px;
	letter-spacing: 0.08em;
}

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

.clinic-reserve h2 strong span:after {
	display: none;
}

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

.clinic-reserve p {
	letter-spacing: 0.04em;
	text-align: justify;
}

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

.clinic-reserve p br { display: none; }

.clinic-reserve .btn-link {
	width: calc(100% + 12px);;
	margin: 30px -6px 0;
}

.clinic-reserve .btn-link a {
	display: block;
}

/* .clinic-medical-institution
------------------------------------*/
.clinic-medical-institution {
	margin: 80px auto 0;
	padding: 0 calc(7.5% + 5px);
}

.clinic-medical-institution > p {
	line-height: 1.8;
}

.clinic-medical-institution .box {
	border: 1px solid #D5D4D4;
	border-radius: 3px;
	margin-top: 25px;
	padding: 26px 24px;
}

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

.clinic-medical-institution .box li {
	letter-spacing: 0.06em;
}

/* .clinic-corporation
------------------------------------*/
.clinic-corporation {
	margin: 80px auto 60px;
	padding: 0 calc(7.5% + 5px);
}

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

.clinic-corporation .sec-inner > dl {
	margin-bottom: 40px;
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

.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: 16px;
	padding: 0 0 8px;
}

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

.clinic-corporation .sec-inner > dl dt {
	width: 105px;
	min-width: 105px;
	padding: 0 0 0;
	color: var(--color-green);
	letter-spacing: 0.02em;
}

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

.clinic-corporation .management {
	background-color: var(--color-bg-green-light);
	padding: 30px 30px 35px;
}

.clinic-corporation .management h3 {
	margin-bottom: 27px;
	color: var(--color-green);
	font-size: 14px;
	letter-spacing: 0.1em;
}

.clinic-corporation .management dl {
	font-size: 14px;
}

.clinic-corporation .management dt {
	margin-bottom: 15px;
	font-size: 15px;
	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 {
	letter-spacing: 0.04em;
}

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

.clinic-corporation .management dd span {
	display: block;
	margin-bottom: 7px;
	font-size: 12px;
	letter-spacing: 0.06em;
}


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

/* .sec-doctor
------------------------------------*/
.sec-doctor {
	margin: 50px auto 80px;
	padding: 0 10%;
}

.sec-doctor .img {
	padding: 0 30px;
}

.sec-doctor .img figure {
	position: relative;
	margin-bottom: 35px;
}

.sec-doctor .img figure .pic {
	position: absolute;
	bottom: 74.6%;
	right: 51%;
	width: 24px;
	transform-origin: right bottom;
	opacity: 0;
}

.sec-doctor .img figcaption {
	background: #FFFFFF;
	border: 1.5px solid var(--color-green);
	position: absolute;
	top: 30px;
	left: -46px;
	border-radius: 0 10px 0 18px;
	padding: 22px 12px 20px 15px;
	color: var(--color-green);
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
	box-shadow: 2.5px 4.5px 0 var(--color-green);
	transform-origin: right bottom;
	opacity: 0;
}

.sec-doctor .img figcaption strong {
	display: block;
	margin: 0 0 0 10px;
	font-size: 10px;
	letter-spacing: 0.6em;
}

.sec-doctor .img figcaption h2 {
	margin-left: 12px;
	font-size: 16px;
	letter-spacing: 0.36em;
}

.sec-doctor .img figcaption em {
	display: block;
	font-size: 10px;
	letter-spacing: 0.08em;
	transform-origin: left top;
	transform: scale(0.9);
}

.sec-doctor .txt {
	text-align: justify;
}

.sec-doctor .message {
	margin-bottom: 35px;
}

.sec-doctor .message h2 {
	color: var(--color-green);
	margin-bottom: 20px;
	font-size: 19px;
	line-height: 1.75;
	letter-spacing: 0.1em;
	text-align: center;
	white-space: nowrap;
	transform: translateX(5px);
}

.sec-doctor .message,
.sec-doctor .message p {
	line-height: 1.95;
	letter-spacing: 0.02em;
}

.sec-doctor .message p {
	margin-bottom: 8px;
}

.sec-doctor .message p:nth-of-type(1),
.sec-doctor .message p:nth-of-type(2) {
	display: inline;
}

.sec-doctor .message p:nth-of-type(3) {
	margin-top: 8px;
}

.sec-doctor .message p br { display: none; }

.sec-doctor .txt figure {
	margin: 0 -12px;
}

.sec-doctor .career {
	margin-top: 38px;
	padding-left: 2px;
	white-space: nowrap;
}

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

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

.sec-doctor .career dl {
	padding-left: 3px;
}

.sec-doctor .career dl > div {
	display: -webkit-box;
	display: flex;
	margin-bottom: 7px;
	line-height: 1.7;
}

.sec-doctor .career dt {
	padding-right: 14px;
	color: var(--color-green);
	font-family: var(--font-gothic-b);
	font-size: 12px;
	letter-spacing: 0.06em;
	transform: translateY(2px);
}

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

.sec-doctor .career li {
	margin-bottom: 7px;
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.02em;
}

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

/* .sec-/* .dl-line-left/* .dl-line-left
------------------------------------*/
.sec-staff {
	padding: 0 10.5%;
}

.sec-staff .inner {
	margin-bottom: 75px;
}

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

.sec-staff figure {
	position: relative;
	display: -webkit-box;
	display: flex;
	-webkit-box-align: end;
	align-items: flex-end;
	width: 100%;
	margin-bottom: 20px;
}

.sec-staff figure span {
	overflow: hidden;
	width: 130px;
	min-width: 130px;
	height: 130px;
}

.sec-staff figure span img {
	object-fit: cover;
	object-position: 0 60%;
	height: 100%;
}

.sec-staff .staff1 figure {
	position: relative;
}

.sec-staff .staff1 figure span img {
	object-position: 0 35%;
}

.development-staff.sec-staff figure span img {
	object-position: 0 5%;
}

.sec-staff figcaption {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	padding: 0 0 2px 22px;
	color: var(--color-green);
}

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

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

.sec-staff .staff1 figcaption {
	padding-bottom: 45px;
}

.sec-staff .staff1 figcaption em {
	margin-bottom: 23px;
}

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

.sec-staff figure p {
	position: absolute;
	bottom: 0;
	left: 152px;
	margin-top: 0px;
	font-size: 12px;
	line-height: 1.6;
}

.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 {
	text-align: justify;
}

.sec-staff .txt > h3 {
	margin-bottom: 10px;
	padding-top: 6px;
	color: var(--color-green);
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0.065em;
	white-space: nowrap;
}

.sec-staff .txt p {
	margin-bottom: 8px;
	font-size: 14px;
	letter-spacing: 0.02em;
	line-height: 1.8em;
}

.sec-staff .txt p br { display: none; }

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

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

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

.sec-staff .career > div {
	margin-bottom: 30px;
	line-height: 1.6;
	text-align: left;
}

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

.sec-staff .career h3 {
	margin: 0 0 15px -1px;
	color: var(--color-green);
	font-family: var(--font-gothic-b);
	font-size: 14px;
	letter-spacing: 0.18em;
}

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

.sec-staff .career dt {
	width: 40px;
	min-width: 40px;
	color: var(--color-green);
	font-size: 11px;
	letter-spacing: 0.04em;
	transform: translateY(1px);
}

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

.sec-staff .career li {
	margin-bottom: 6px;
	font-size: 13px;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.sec-staff .staff1 .txt p:nth-of-type(1),
.sec-staff .staff1 .txt p:nth-of-type(2) {
	display: inline;
}

.sec-staff .staff1 .txt p:nth-of-type(3) {
	margin-top: 8px;
}

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

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

/* .sec-staff-sub
------------------------------------*/
.sec-staff-sub {
	margin: 100px auto 0;
	padding: 0 10.5%;
}

.sec-staff-sub h2 {
	margin-bottom: 50px;
}

.sec-staff-sub .inner {
	margin-bottom: 40px;
}

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

.sec-staff-sub .inner h3 {
	margin-bottom: 26px;
	color: var(--color-green);
	white-space: nowrap;
}

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

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

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

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

.sec-staff-sub .inner dt {
	width: 65px;
	min-width: 65px;
	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.04em;
}


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

/* .service-about
------------------------------------*/
.service-about {
	margin: -25px auto 80px;
}

.img-main + .service-about {
	margin: 0 auto 65px;
}

.service-about > figure {
	position: relative;
	width: 88%;
	margin: 0 auto 30px;
}

.service-about > figure:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: calc(50% - 0.5px);
	background-color: #FFFFFF;
	width: 1px;
	height: 100%;
	z-index: 1;
}

.service-about .title {
	margin: 0 auto 42px;
	padding: 0 9%;
}

.service-about .title h2 {
	margin-bottom: 20px;
	color: var(--color-green);
	font-size: 21px;
	line-height: 1.7;
	letter-spacing: 0.12em;
	text-align: center;
	transform: translateX(4px);
}

.service-about .title p,
.service-about .intercom p {
	letter-spacing: 0.04em;
	text-align: justify;
	font-size: 15px;
}

.service-about .title p br,
.service-about .intercom p br { display: none; }

.service-about .intercom {
	position: relative;
	box-sizing: border-box;
	background: var(--color-bg-green-light);
	border-radius: 7px;
	width: 88%;
	margin: 0 auto;
	padding: 30px 30px 30px;
}

.service-about .intercom figure {
	margin-bottom: 22px;
}

.service-about .intercom .pic {
	display: none;
}

.service-about .intercom h3 {
	margin-bottom: 17px;
	color: var(--color-green);
	font-size: 16px;
	line-height: 1.8;
	letter-spacing: 0.06em;
	white-space: nowrap;
}

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

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

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

.service-about .txt-set {
	margin: 35px 0 0;
	padding: 0 calc(4% + 14px);
}

.service-about .txt-set h3 {
	margin-bottom: 15px;
	color: var(--color-green);
	font-size: 17px;
	line-height: 1.8;
	letter-spacing: 0.04em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.25em;
	white-space: nowrap;
}

.service-about .txt-set p {
	margin-bottom: 8px;
	letter-spacing: 0.04em;
	text-align: justify;
}

.service-about .txt-set p br { display: none; }

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

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

.service-flow .title-circle {
	margin: 0 0 25px 15px;
}

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

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

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

.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-bottom: 12px;
	font-size: 15px;
}

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

.service-flow .vaccine {
	background-color: #F1F8FD;
	margin-top: 35px;
	padding: 24px 24px 24px;
}

.service-flow .vaccine h3 {
	margin-bottom: 8px;
	color: var(--color-green);
	letter-spacing: 0.1em;
}

.service-flow .vaccine p {
	letter-spacing: 0.04em !important;
}

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

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

/* .service-online
------------------------------------*/
/*.service-online {
	margin: -60px auto 80px;
	padding-top: 60px;
}

.service-online .title {
	margin: 0 auto 45px;
	padding: 0 9%;
}

.service-online .title h2 {
	margin-bottom: 20px;
	color: var(--color-green);
	font-size: 18px;
	line-height: 1.65;
	letter-spacing: 0.08em;
	text-align: center;
	transform: translateX(5px);
}

.service-online .title h2 em {
	display: block;
	margin: 8px 0 0 -3px;
	font-size: 12px;
	letter-spacing: 0.12em;
}

.service-online .title p {
	letter-spacing: 0.04em;
	text-align: justify;
}

.service-online .title p br { display: none; }

.service-online .title p span {
	font-size: 12px;
}

.service-online figure img {
	width: 100%;
	height: auto;
}*/

/* .service-document
------------------------------------*/
.service-document .title-circle {
	margin: 0 0 25px 15px;
}

.service-document {
	padding-bottom: 80px !important;
}

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

.service-document > p {
	margin-bottom: 28px;
	padding: 0 12px;
}

.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: 14px;
	line-height: 1.8;
}

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

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

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

.service-document .accordion-list-detail h4 {
	font-size: 14px;
}

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

.service-document .accordion-list-detail ul li {
	margin: 0 0 1px 27px;
	padding-bottom: 5px;
	font-size: 13px;
	line-height: 1.5;
	letter-spacing: 0.02em;
	list-style-type: disc;
	list-style: inside;
	text-indent: -1.4em;
  padding-left: 1.4em;
}

/* .service-blackboard
------------------------------------*/
.service-blackboard {
	box-sizing: border-box;
	background-color: var(--color-bg-green-light);
	border-radius: 7px;
	width: 88%;
	margin: 0 auto 80px;
	padding: 30px 30px 30px;
}

.service-blackboard .img {
	margin-bottom: 28px;
}

.service-blackboard figure:not(:last-of-type) {
	margin-bottom: 2px;
}

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

.service-blackboard .txt h3 {
	margin-bottom: 9px;
	color: var(--color-green);
	font-size: 12px;
	line-height: 1.7;
	letter-spacing: 0.06em;
}

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

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

.service-blackboard .txt p br {
	display: none;
}


/* 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;
	margin: 60px 6% 80px;
	padding: 0 0 5%;
}

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

.visit-about h2 em img {
	width: 212px;
	height: auto;
}

.visit-about h2 strong {
	display: block;
	margin-top: 15px;
	font-size: 13px;
	letter-spacing: 0.12em;
}

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

/* .visit-lead
------------------------------------*/
.visit-lead {
	margin: 30px 11% 35px;
}

.visit-lead h3 {
	margin-bottom: 14px;
	color: var(--color-green);
	font-size: 16px;
	line-height: 1.65;
	letter-spacing: 0.06em;
	text-align: justify;
}

.visit-lead h3 br,
.visit-lead p br { display: none; }

.visit-lead p {
	font-size: 14px;
	line-height: 1.75;
	letter-spacing: 0.06em;
	text-align: justify;
}

/* .visit-list
------------------------------------*/
.visit-list {
	margin: 0 auto 120px;
	padding: 0 11%;
}

.visit-list .inner {
	border-top: 2px solid var(--color-green);
	margin-bottom: 40px;
	padding-top: 9px;
}

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

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

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

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

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

.visit-list p {
	padding: 0 5px;
	font-size: 13px;
	line-height: 1.8;
	letter-spacing: 0.02em;
	text-align: justify;
}

/* .visit-target
------------------------------------*/
.visit-target {
	position: relative;
	box-sizing: border-box;
	background-color: #FFFFFF;
	margin: 0 8% 10px;
	padding-bottom: 25px;
	text-align: center;
}

.visit-target:before {
	display: block;
	content: '';
	position: absolute;
	top: -90px;
	background-color: #FFFFFF;
	width: 100%;
	height: 90px;
	clip-path: polygon(50% 0, 0% 100%, 100% 100%);
}

.visit-target h3 {
	display: inline-block;
	margin-bottom: 19px;
	padding: 0 0 15px;
	transform: translateY(-5px);
}

.visit-target h3:before {
	display: none;
}

.visit-target h3:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	background: var(--color-yellow);
	width: 154px;
	height: 2px;
}

.visit-target > p {
	padding: 0 25px;
	font-size: 13px;
	line-height: 1.75;
	letter-spacing: 0.06em;
	text-align: justify;
}

.visit-target p br { display: none; }

.visit-target .target {
	box-sizing: border-box;
	margin-top: 40px;
	padding: 2px 20px 40px;
	color: var(--color-green);
	text-align: left;
}

.visit-target .target h4 {
	margin-bottom: 20px;
	font-size: 14px;
	letter-spacing: 0.08em;
	text-align: center;
}

.visit-target .target h4 .line {
	display: block;
	padding-bottom: 12px;
}

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

.visit-target .target li {
	margin-bottom: 6px;
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0.02em;
}

.visit-target .area {
	text-align: center;
}

.visit-target .area figure {
	margin: 0 -12px 25px;
}

.visit-target .area h4 {
	margin-bottom: 12px;
	color: var(--color-green);
	font-family: var(--font-gothic-b);
	font-size: 14px;
	letter-spacing: 0.08em;
}

.visit-target .area h4 strong {
	display: block;
	margin-bottom: 11px;
	font-size: 12px;
}

.visit-target .area p {
	font-size: 12px;
	line-height: 1.8;
	letter-spacing: 0.06em;
}

/* .visit-enhancement
------------------------------------*/
.visit-enhancement {
	margin-top: 60px;
	text-align: justify;
}

.visit-enhancement > h3.title-circle {
	margin-left: calc(9% + 1px);
	line-height: 1.6;
}

.visit-enhancement > h3.title-circle:before {
	top: 4px;
}

.visit-enhancement > p {
	padding: 0 9%;
	line-height: 1.7;
	letter-spacing: 0.02em;
}

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

.visit-enhancement .box {
	box-sizing: border-box;
	background-color: var(--color-bg-green-dark);
	border-radius: 4px;
	width: 88%;
	margin: 35px auto 0;
	padding: 30px 24px 20px;
}

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

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

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

.visit-enhancement .box p {
	font-size: 13px;
	line-height: 1.7;
	letter-spacing: 0.02em;
}

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

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

.visit-enhancement .box li {
	margin-bottom: 7px;
	font-size: 13px;
	line-height: 1.7;
	letter-spacing: 0;
}

/* .visit-slide
------------------------------------*/
.visit-slide {
	width: 100%;
	margin: 0 auto 50px;
}

/* .visit-flow
------------------------------------*/
.visit-flow {
	margin: -50px auto 65px;
	padding: 50px 7% 0 6%;
}

.visit-flow dl {
	margin: 48px 0 0;
	padding-left: 35px;
}

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

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

.visit-flow dt {
	position: relative;
	margin-bottom: 15px;
	color: var(--color-green);
}

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

.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: -6px; transform: rotate(-25deg); }
.visit-flow dt .start:after { right: -4px; transform: rotate(25deg); }

.visit-flow dt i {
	top: -5px !important;
	left: -40px !important;
}

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

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

.visit-flow dd p {
	font-size: 13px;
	line-height: 1.75;
	letter-spacing: 0.04em;
	text-align: justify;
}

.visit-flow dd > p br { display: none; }

.visit-flow dd .box {
	display: inline-block;
	background: var(--color-bg-green-light);
	margin-top: 8px;
	padding: 20px 16px 18px 22px;
	white-space: nowrap;
}

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

.visit-flow dd .box p {
	font-size: 14px;
	line-height: 1.7;
	letter-spacing: 0.02em;
	text-align: left;
}

.visit-flow dd .box p span {
	padding-left: 4px;
	/*font-size: 12px;*/
}

/* .visit-service
------------------------------------*/
.visit-service {
	background: var(--color-bg-green-light);
	padding: 55px 10% 10%;
	margin: 0 auto 80px;
}

.visit-service .title {
	margin-bottom: 34px;
}

.visit-service .title h2 {
	margin-bottom: 15px;
}

.visit-service .title p {
	margin-bottom: 11px;
	font-size: 13px;
	line-height: 1.8;
}

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

.visit-service-list > div {
	margin: 0 -8px 20px;
}

.visit-service-list > div:last-of-type {
	margin-bottom: 0;
}

.visit-service-list .border-top-yellow {
	display: -webkit-box;
	display: flex;
	padding: 21px 22px 21px;
}

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

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

.visit-service-list figure {
	position: relative;
	width: 60px;
	min-width: 60px;
	height: 45px;
	margin-right: 15px;
}

.visit-service-list > div:nth-of-type(3) figure img {
	transform: translate(-50%,-50%) scale(0.65);
	margin-top: 5px;
}

.visit-service-list > div:nth-of-type(4) figure img {
	transform: translate(-50%,-50%) scale(0.65);
}

.visit-service-list > div:nth-of-type(5) figure {
	height: 40px;
}

.visit-service-list > div:nth-of-type(5) figure img {
	transform: translate(-50%,-50%) scale(0.65);
}

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

.visit-service-list li {
	margin-bottom: 1px;
	margin-left: 0;
	padding-left: 12px;
	color: var(--color-green);
	font-size: 13px;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.visit-service-list li span {
	padding-left: 1px;
	font-size: 11px;
}

/* .visit-price
------------------------------------*/
.visit-price {
	margin: 0 auto 80px;
	padding: 0 8%;
}

.visit-price .title {
	margin-bottom: 45px;
}

.visit-price .title p {
	font-size: 13px;
	line-height: 1.8;
	letter-spacing: 0.06em;
	text-align: justify;
}

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

.visit-price .inner {
	margin-bottom: 45px;
}

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

.visit-price .inner h3 {
	margin-bottom: 14px;
	color: var(--color-green);
	font-family: var(--font-gothic-b);
	font-size: 14px;
	letter-spacing: 0.1em;
}

.visit-price .inner h4 {
	margin-bottom: 20px;
	font-family: var(--font-gothic-b);
	color: var(--color-green);
	font-size: 14px;
	letter-spacing: 0.08em;
}

.visit-price .inner h4 em {
	display: block !important;
	margin-top: 10px;
	font-size: 12px;
}

.visit-price .inner p {
	font-size: 13px;
	line-height: 1.8;
	letter-spacing: 0.06em;
	text-align: justify;
}

.visit-price .inner p br { display: none; }

.visit-price .inner dl {
	background: var(--color-bg-green-light);
	border-radius: 9px;
	margin-bottom: 60px;
	padding: 22px 30px 24px;
}

.visit-price .inner dl > div {
	margin-bottom: 22px;
}

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

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

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

.visit-price .inner dt {
	margin-bottom: 5px;
	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);
}

.visit-price .inner dt span {
	padding-bottom: 4px;
	font-family: var(--font-gothic-b);
	font-size: 14px;
	letter-spacing: 0.1em;
}

.visit-price .inner dd span {
	padding-bottom: 2px;
	font-size: 14px;
}

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

/* .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: 9px 10px 10px;
	font-size: 14px;
	line-height: 1.75;
	letter-spacing: 0.06em;
	text-align: center;
}

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

.table-color th:first-of-type,
.table-color td.left {
	display: none;
}

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

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

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

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

/* .visit-document
------------------------------------*/
.visit-document {
	margin-bottom: -80px !important;
}

.detail-first {
	margin-left: 22px;
}

.visit-document .accordion-list-detail span {
	margin: 0 4.5px 0 -18px;
}

.visit-document .accordion-list-detail {
	padding-bottom: 16px;
}

.visit-document .accordion-list-detail h4 {
	margin: 22px 0 8px;
	font-size: 14px;
	line-height: 1.8;
}

.visit-document .accordion-list-detail ul li {
	margin-left: 12px;
	font-size: 14px;
}


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

/* .pediatric-sec1
------------------------------------*/
.pediatric-sec1 {
	position: relative;
	margin: 60px auto 80px;
	padding: 90px 10% 0;
}

.pediatric-sec1 figure {
	margin-bottom: 30px;
}

.pediatric-sec1 h2 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	color: var(--color-green);
	font-family: var(--font-gothic-b);
	font-size: 17px;
	line-height: 1.85;
	letter-spacing: 0.12em;
	text-align: center;
}

.pediatric-sec1 h2 em {
	font-size: 13px;
}

.pediatric-sec1 p,
.pediatric-sec2 p,
.pediatric-sec3 p {
	letter-spacing: 0.04em;
	text-align: justify;
}

.pediatric-sec1 p br,
.pediatric-sec2 p br,
.pediatric-sec3 p br { display: none; }

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

.box-border-left h3 {
	margin: 0 0 10px -0.5px;
	color: var(--color-green);
	font-family: var(--font-gothic-b);
	font-size: 14px;
	letter-spacing: 0.08em;
}

.box-border-left p {
	font-size: 13px;
	line-height: 1.7;
	letter-spacing: 0.06em;
}

/* .pediatric-sec2
------------------------------------*/
.pediatric-sec2 {
	position: relative;
	margin: 0 auto 80px;
	padding: 118px 10% 0;
}

.pediatric-sec2 figure {
	margin-bottom: 25px;
}

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

.pediatric-sec2 .txt {
	text-align: justify;
}

.pediatric-sec2 h2 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	color: var(--color-green);
	font-family: var(--font-gothic-b);
	font-size: 18px;
	line-height: 1.6;
	letter-spacing: 0.12em;
	text-align: center;
	white-space: nowrap;
}

.pediatric-sec2 h2 span {
	display: block;
	margin-top: 4px;
	font-size: 14px;
	letter-spacing: 0.08em;
}

.pediatric-sec2 .txt > p {
	display: inline;
}

/* .box-attention
------------------------------------*/
.box-attention {
	border: 2px solid var(--color-bg-green-dark);
	border-radius: 5px;
	margin: 40px -10px 0;
	padding: 32px 30px 30px;
}

.box-attention h3 {
	position: relative;
	margin-bottom: 19px;
	font-size: 17px;
	line-height: 1.9;
	letter-spacing: 0.1em;
}

.box-attention h3 i { display: block; position: absolute; top: 0; right: 0; }
.box-attention h3 i img { width: 34px; }
.box-attention h3 span { padding-bottom: 3px; color: var(--color-green); }
.box-attention h3 span:after { background: var(--color-green); }
.box-attention p { letter-spacing: 0.02em; text-align: justify; }

/* .pediatric-sec3
------------------------------------*/
.pediatric-sec3 { margin-bottom: 80px; padding: 0 10%; }
.pediatric-sec3 .inner { margin: 0 -10px 60px; }
.pediatric-sec3 .inner:last-of-type { margin-bottom: 0; }
.pediatric-sec3 figure { margin-bottom: 33px; }
.pediatric-sec3 .txt { padding: 0 5px; }
.pediatric-sec3 h2 { margin-bottom: 22px; padding-left: 0; font-size: 18px; }
.pediatric-sec3 h2.title-circle:before { display: none; }
.pediatric-sec3 p { letter-spacing: 0.06em; }

.pediatric-sec3 .btn-set { margin: 24px -6px 0; }
.pediatric-sec3 .btn-set .btn-link:first-of-type:last-of-type { display: block; width: 100%; }
.pediatric-sec3 .btn-set .btn-link a { padding-right: 20px; padding-left: 20px; letter-spacing: 0.04em; }
.pediatric-sec3 .btn-set .btn-link:first-of-type a { letter-spacing: 0; }
.pediatric-sec3 .btn-set .btn-link:first-of-type:last-of-type a { letter-spacing: 0.08em; }
.pediatric-sec3 .btn-set .btn-link a i { margin-right: 2px; }
.pediatric-sec3 .btn-set .btn-link a i.mr { margin-right: 10px; }
.pediatric-sec3 .btn-set .btn-link a span,
.pediatric-sec3 .btn-set .btn-link a span em { display: none; }

/* .pediatric-sec4
------------------------------------*/
.pediatric-sec4 { margin-bottom: 90px; }
.pediatric-sec4 > figure { margin-bottom: 45px; }
.pediatric-sec4 .sec-inner { padding: 0 10%; }

.pediatric-sec4 .sec-inner h2 {
	margin-bottom: 35px;
	color: var(--color-green);
	font-size: 18px;
	letter-spacing: 0.11em;
	text-align: center;
}

.pediatric-sec4 .sec-inner h2 span {
	display: block;
	padding-top: 13px;
	font-size: 13px;
}

.pediatric-sec4 .sec-inner > p {
	line-height: 1.85;
	text-align: justify;
	letter-spacing: 0.05em;
}

.pediatric-sec4 .sec-inner > p br { display: none; }

.pediatric-sec4 .border-box {
	margin: 30px -5px 44px;
	padding: 23px 24px 18px 20px;
	color: var(--color-green);
}

.pediatric-sec4 .border-box li {
	margin-bottom: 8px;
	letter-spacing: 0.04em;
	text-align: justify;
}

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

.pediatric-sec4 dt {
	box-sizing: border-box;
	margin-bottom: 17px;
	color: var(--color-green);
}

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

.pediatric-sec4 dd p {
	margin-bottom: 11px;
	line-height: 1.8;
	letter-spacing: 0.05em;
	text-align: justify;
}

.pediatric-sec4 dd p br { display: none; }


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

/* .disease-sec1
------------------------------------*/
.disease-sec1 { margin: 60px auto 80px; }
.disease-sec1 figure img { display: block; }
.disease-sec1 .img1 { width: 75%; margin: 0 0 10% 19.5%; }
.disease-sec1 .img2 { width: 39%; margin: 0 0 11.5% 4%; }
.disease-sec1 .txt { position: relative; padding: 0 9%; }
.disease-sec1 .txt i { display: block; position: absolute; top: -92px; right: 10%; }
.disease-sec1 .txt i img { width: 82px; }

.disease-sec1 .txt h2 {
	margin-bottom: 18px;
	color: var(--color-green);
	font-size: 22px;
	line-height: 1.7;
	letter-spacing: 0.1em;
}

.disease-sec1 .txt p { margin-bottom: 12px; letter-spacing: 0.06em; text-align: justify; }
.disease-sec1 .txt p br { display: none; }

/* .disease-sec2
------------------------------------*/
.disease-sec2 .inner { margin-bottom: 54px; }
.disease-sec2 .inner figure { margin-bottom: 58px; }
.disease-sec2 .inner .txt { padding: 0 9%; }
.disease-sec2 .inner .txt h2 { margin-bottom: 20px; }
.disease-sec2 .inner .txt p { text-align: justify; }

.disease-sec2 .border-box {
	margin: 0 6%;
	padding: 36px 22px 26px;
	color: var(--color-green);
}

.disease-sec2 .border-box h3 {
	margin: 0 -8px 20px;
	font-size: 15px;
	letter-spacing: 0.08em;
	white-space: nowrap;
	text-align: center;
}

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

.disease-sec2 .border-box li {
	margin-bottom: 5px !important;
	padding-left: 14px;
	font-size: 14px;
	letter-spacing: 0.05em;
	white-space: nowrap;
}

.disease-sec2 .border-box li em {
	padding-left: 2px;
	font-size: 11px;
	letter-spacing: 0.06em;
}

/* .accordion-list-wrap
------------------------------------*/
.accordion-list-wrap {
	margin-top: 60px;
	padding: 0 4%;
}

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

.accordion-list-wrap > .btn-link.size-l a {
	padding-right: 0;
	padding-left: 2px;
	letter-spacing: 0.02em;
}

.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: 17px 0 17px 25px;
	color: var(--color-green);
	font-size: 15px;
	line-height: 1.6;
	letter-spacing: 0.04em;
	white-space: nowrap;
	cursor: pointer;
}

.service-document .accordion-list-btn {
	padding-left: 20px;
}

#diseaseContents .accordion-list-wrap .accordion-list-btn {
	font-size: 14px;
	letter-spacing: 0.04em;
}

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

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

.accordion-list-btn i {
	display: block;
	position: absolute;
	top: calc(50% - 6px);
	right: 18px;
	width: 13px;
	height: 13px;
	transform-origin: center center;
	transition: .5s 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);
}

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

.accordion-list-detail { display: none; }
.accordion-list-detail > div { padding: 20px 25px 30px; }
.accordion-list-detail > div.inner-s { padding: 0 17px 30px 35px; }

.accordion-list-detail h3 {
	margin-bottom: 14px;
	color: var(--color-green);
	font-size: 14px;
	line-height: 1.75;
	letter-spacing: 0.06em;
}

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

.accordion-list-detail p br { display: none; }

.accordion-list-detail .dl-line-left + p { margin-top: 25px; }

.accordion-list-detail > div > .btn-link { margin-top: 22px; }

.accordion-list-detail .btn-link a {
	padding-top: 12px;
	padding-bottom: 14px;
	font-size: 13px;
}

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

.dl-line-left > div {
	position: relative;
	background-color: #FFFFFF;
	margin-bottom: 10px;
	padding: 18px 22px 20px 26px;
}

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

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

.dl-line-left > div,
.dl-line-left > div p {
	font-size: 13px;
	line-height: 1.8;
	letter-spacing: 0.06em;
}

.dl-line-left dt {
	margin-bottom: 7px;
	color: var(--color-green);
	font-size: 14px;
	letter-spacing: 0.07em;
	line-height: 1.8;
	white-space: nowrap;
}

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

/* .case3 .accordion-list-detail
------------------------------------*/
.case3 .accordion-list-detail .txt,
.case4 .accordion-list-detail .txt { margin-bottom: 36px; }

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

.case3 .accordion-list-detail .box {
	margin: 0 -2px 25px;
	padding: 24px 25px 25px;
}

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

.case3 .accordion-list-detail .box h4 strong {
	font-size: 13px;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

.case3 .accordion-list-detail .box h4 strong i { font-size: 10px; }

.case3 .accordion-list-detail .box p {
	font-size: 12px;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

.case3 .accordion-list-detail .box p.attention { margin: -10px 0 0; }

.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: 23px;
}

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

.case3 .accordion-list-detail .box h5 {
	border-bottom: 1px solid var(--color-green);
	padding: 8px 0 9px;
	color: var(--color-green);
	font-family: var(--font-gothic-b);
	font-size: 12px;
	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: 12px;
	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: 5px 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 { padding: 16px 14px 16px; }

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

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

/* #pediatricContents .accordion-list-btn
------------------------------------*/
#pediatricContents .accordion-list-btn {
	cursor: default;
	pointer-events: none;
	padding-left: 25px;
  padding-top: 25px;
	font-size: 16px;
}

#pediatricContents .accordion-list-btn i { display: none; }
#pediatricContents .accordion-list-detail { display: block !important; }
#pediatricContents .accordion-list .inner { margin-bottom: 30px; }


/* page development
---------------------------------------------------------------------------*/
#developmentContents .title-page p {
	margin-bottom: 10px;
	letter-spacing: 0.01em;
}

/* .title-page .box
------------------------------------*/
.title-page .box {
	box-sizing: border-box;
	background-color: var(--color-bg-green-light);
	margin: 45px -5px 70px;
	padding: 24px 28px 24px;
	text-align: left;
}

.title-page .box h2 {
	position: relative;
	margin: 0 0 15px;
	padding-left: 34px;
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

.title-page .box h2 i {
	position: absolute;
	top: 1px;
	left: -2px;
}

.title-page .box h2 i img { width: 26px; }

.title-page .box p {
	margin: 0 0 15px;
	color: var(--color-font);
	font-size: 14px;
	line-height: 1.8;
}

/* .development-about
------------------------------------*/
.development-about { position: relative; margin: 65px 0 60px; padding: 88px 10% 0; }

.development-about figure { display: flex; justify-content: space-between; margin-bottom: 26px; }
.development-about figure img { align-self: flex-start; }
.development-about figure img:nth-of-type(1) { width: 34.6%; }
.development-about figure img:nth-of-type(2) { width: 65%; }

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

.development-about h3 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	font-size: 13px;
	letter-spacing: 0.12em;
	text-align: center;
}

.development-about h2 {
	position: absolute;
	top: 30px;
	left: 0;
	width: 100%;
	font-size: 20px;
	letter-spacing: 0.12em;
	text-align: center;
}

.development-about p { margin-bottom: 8px; line-height: 1.85; letter-spacing: 0.02em; text-align: justify; }
.development-about p br { display: none; }

.development-about .border-box { margin: 30px -6px 0; }
.development-about .border-box ul:first-of-type { margin-bottom: 6px; }
.development-about .border-box li { margin-bottom: 6px; font-size: 13px; letter-spacing: 0.05em; white-space: nowrap; }
.development-about .border-box ul:nth-of-type(1) li:nth-of-type(1) { margin-right: 4px; }
.development-about .border-box ul:nth-of-type(1) li:nth-of-type(1),
.development-about .border-box ul:nth-of-type(1) li:nth-of-type(2) { display: inline-block; }

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

/* .development-point
------------------------------------*/
.development-point { position: relative; margin-bottom: 100px; }
.development-point img { display: block; }
.development-point .img1 { display: block; margin-bottom: 46px; }
.development-point .img1 img { width: 100%; height: auto; }
.development-point .img2 { display: none; }

.development-point .txt { position: relative; padding: 0 7%; }
.development-point p { font-size: 13px; line-height: 1.95; text-align: justify; }
.development-point p br { display: none; }

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

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

.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: 10px;
	padding-left: 38px;
	color: var(--color-green);
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.development-point dt i,
.visit-flow dt i {
	display: block;
	position: absolute;
	top: 0;
	left: -2px;
	box-sizing: border-box;
	border: 1px solid var(--color-green);
	border-radius: 50%;
	width: 27px;
	height: 27px;
	padding: 5px 0 0 1.5px;
	font-family: var(--font-sans-num);
	font-size: 14px;
	line-height: 1;
	letter-spacing: 0;
	text-align: center;
}

.development-point dl > div dt i,
.visit-flow dl > div dt i { padding-left: 0; }

.development-point dd { padding-left: 38px; }
.development-point dd p { font-size: 14px; line-height: 1.8; letter-spacing: 0.04em; }

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

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

.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: 9px;
	left: 15px;
	background-color: var(--color-green);
	width: 8px;
	height: 1px;
}

.development-point dd h4 + div p { margin-bottom: 8px; letter-spacing: 0.02em; }
.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);
	padding: 20px 24px 18px;
	margin: 10px 0 5px;
}

.development-point dd .box p { font-size: 13px; }

/* .development-staff
------------------------------------*/
.development-staff { margin-bottom: 80px; }

/* .development-reserve
------------------------------------*/
.development-reserve {
	box-sizing: border-box;
	background: var(--color-bg-green-light);
	margin: 0 auto;
	padding: 40px 7.5%;
}

.development-reserve .schedule-wrap {
	margin-top: 6px;
	margin-bottom: 34px;
}

.development-reserve .schedule-wrap h2 {
	margin-bottom: 16px;
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0.07em;
}

#visitContents .development-reserve .schedule-wrap h2 {
	margin-top: -5px;
	margin-bottom: 12px;
	font-size: 16px;
	letter-spacing: 0.08em;
}

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: 8px;
	font-size: 12px;
	letter-spacing: 0.1em;
	text-align: left;
	margin-left: -1px;
}

.development-reserve .txt h2 {
	margin: 0 0 16px;
	color: var(--color-green);
	font-size: 16px;
	letter-spacing: 0.08em;
}

.development-reserve .txt > p {
	line-height: 1.8;
	letter-spacing: 0.04em;
	text-align: justify;
}

.development-reserve .txt .btn-set {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	margin: 22px -4px 0;
}

.development-reserve .txt .btn-link a { padding-top: 12px; padding-bottom: 14px; }
.development-reserve .txt .btn-link a.narrow { display: block !important; }

.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: block;
	margin: 10px 0 0;
	font-size: 15px;
	letter-spacing: 0.06em;
}

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

.development-reserve .mail {
	margin: 20px 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: block;
	margin-bottom: 13px;
	font-size: 15px;
}

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

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


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

/* .faq-list
------------------------------------*/
.faq-list {
	padding: 0 7.5%;
}

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

.faq-list .post > h2 {
	margin: 0 0 12px;
	color: var(--color-green);
	font-size: 16px;
	letter-spacing: 0.1em;
}

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

.faq-list .post dt div {
	position: relative;
	padding: 13px 6px 11px 26px;
}

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

.faq-list .post dt i {
	display: block;
	position: absolute;
	top: 20px;
	right: 8px;
	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 dd { display: none; }
.faq-list .post dd > div { padding: 8px 6px 34px 26px; }

.faq-list .post dd div,
.faq-list .post dd div p {
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: 0.03em;
	text-align: justify;
}

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

.faq-list .post-table { margin: 30px 0 0; }
.faq-list .post-table h3 { margin-bottom: 10px; margin-left: 3px; padding-left: 22px; font-size: 14px; }
.faq-list .post-table h3:before { top: 4.5px; }
.faq-list .post-table table th,
.faq-list .post-table table td { padding-top: 9px; }
.faq-list .post-table td { color: var(--color-font); }
.faq-list .post-link { margin-top: 22px !important; }
.faq-list h2 + .post-link { margin-top: 18px !important; }
.faq-list .post-table + .post-link { margin-left: -4px; }
.faq-list .btn-link a { padding-top: 12px; padding-bottom: 14px; font-size: 13px; }


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

/* .access-map
------------------------------------*/
.access-map { margin: 0 auto 45px; }
.access-map #gMap { width: 100vw; height: 100vw; }

#accessContents .access-map { width: 87%; margin-bottom: 40px; }
#accessContents .access-map #gMap { width: 100%; }

/* .access-info
------------------------------------*/
.access-info { position: relative; box-sizing: border-box; color: var(--color-green); }
.access-info .schedule { position: relative; margin-bottom: 50px; padding: 0 6.5%; }

.access-title { margin-bottom: 35px; }
.access-title p { margin-bottom: 18px; font-size: 12px; letter-spacing: 0.04em; }
.access-title p span { padding-bottom: 4px; }
.access-title p span span { font-size: 10px; }
.access-title .logo { margin-left: -2px; }
.access-title .logo img { width: 222px; height: auto; }

.access-title .sns { display: block; position: absolute; top: -1px; right: 6%; }
.access-title .sns img { width: 24px; }
.access-title .sns li a { padding-top: 1px; }

/* .schedule-wrap
------------------------------------*/
.schedule-wrap { margin-bottom: 18px; color: var(--color-green); }
.schedule-wrap > p:first-of-type { margin: 0 0 4px 2px; font-size: 10px; letter-spacing: 0.1em; }
.schedule-wrap .table + p { margin-top: 13px; font-size: 13px; line-height: 1.8; letter-spacing: 0.04em; }
.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 { padding-bottom: 3px; }
.schedule-wrap .table + p .line:after { height: 1.5px; }

.schedule-wrap .table { border: 1px solid var(--color-green); border-radius: 6px; margin-bottom: 4px; }
.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: 9px 4px 10px;
}

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

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

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

.schedule-wrap td:first-of-type {
	width: 90px;
	padding-right: 5px;
	padding-left: 5px;
	letter-spacing: 0.02em;
	text-align: right;
}

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

.schedule-wrap td i {
	display: block;
	position: relative;
	margin: 0 -10px;
	font-size: 10px;
	transform: scaleX(0.85);
}

.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: 20px;
	width: 34px;
	height: 22px;
	z-index: -1;
	opacity: 0.6;
}

.schedule-wrap td { position: relative; }

.schedule-wrap td i.long {
	display: block;
	position: absolute;
	top: 7px;
	left: 15px;
	width: 540%;
	font-size: 11px;
	transform: scaleX(1);
	z-index: 1;
}

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

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

.schedule-wrap td .vt {
	display: inline-block;
	margin-bottom: -5px;
	font-size: 11px;
	letter-spacing: 0.18em;
	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;
	letter-spacing: 0;
}

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

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

.access-info .schedule .schedule-wrap h2,
.schedule-info .schedule-wrap h2 {
	margin: 0 0 12px 2px;
	font-size: 14px;
	letter-spacing: 0.08em;
}

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

/* .access-reserve
------------------------------------*/
.access-reserve { white-space: nowrap; text-align: center; }
.access-reserve h2 { display: none; }

.access-reserve .btn-set,
.schedule-info .inner .btn-set {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	width: calc(100% + 8px);
	margin: 20px -4px 0;
}

.access-reserve .btn-set .btn-link { width: 100%; }

.access-reserve .btn-set .btn-link a,
.schedule-info .btn-set .btn-link a {
	padding-top: 12px;
	padding-bottom: 14px;
	padding-right: 34px;
	font-size: 15px;
}

.access-reserve .btn-set .btn-link i,
.schedule-info .btn-set .btn-link i { margin-right: 14px; }

.access-reserve .btn-set .btn-link a i,
.schedule-info .btn-set .btn-link a i { transform: translateY(5px) scale(1); }

/* .parking
------------------------------------*/
.access-info .parking {
	padding: 0 7.5%;
	white-space: nowrap;
}

.access-info .parking figure {
	margin-bottom: 30px;
}

.access-info .parking figure img {
  width: calc(100% + 10px);
	margin-left: -5px;
}

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

.access-info .parking .address-tel p {
	margin-bottom: 18px;
	line-height: 1.8;
	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.04em;
	text-decoration: none;
}

.access-info .parking .address-tel address {
	margin-bottom: 8px;
	font-size: 15px;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

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

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

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

.access-info .parking .address-tel .tel a {
	font-size: 19px;
}

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

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

.access-info .parking .address-tel .route {
	position: absolute;
	top: 112px;
	left: 259px;
}

/* .access-img
------------------------------------*/
.access-img { margin-bottom: 45px; }
.access-img-btm { width: 91%; margin: 50px auto 0; }


/* .fix-reserve
---------------------------------------------------------------------------*/
.fix-reserve {
	position: fixed;
	bottom: 15px;
	right: 15px;
	white-space: nowrap;
	z-index: 100;
}

.fix-reserve .btn {
	position: relative;
	margin-top: 6px;
	opacity: 0;
}

.fix-reserve .btn.off {
	pointer-events: none;
}

.fix-reserve .btn > a,
.fix-reserve .btn > span {
	display: block;
	position: relative;
}

.fix-reserve .btn-tel > a {
	box-sizing: border-box;
	background-color: var(--color-green);
	border-radius: 50%;
	width: 45px;
	height: 45px;
	padding: 12px 0 0 13px;
}

.fix-reserve .btn > div {
	display: none;
	position: absolute;
	bottom: 0;
	right: 50px;
	opacity: 0;
}

.fix-reserve .btn ul {
	background-color: var(--color-bg-green-light);
	border-radius: 7px;
	padding: 22px 20px 15px;
}

.fix-reserve .btn li:not(:last-of-type) {
	margin-bottom: 7px;
}

.fix-reserve .btn li a {
	display: inline-block;
	background: url(img/share/ico-arrow-btn-green.svg) no-repeat left top 1px;
	padding: 1px 0 12px 23px;
	color: var(--color-green);
	font-size: 13px;
	letter-spacing: 0.06em;
	text-decoration: underline;
	text-underline-offset: 0.1em;
}


/* .bnr-clinic
---------------------------------------------------------------------------*/
.bnr-clinic {
	position: relative;
	box-sizing: border-box;
	background-color: var(--color-blue-light);
	border-radius: 6px;
	width: 90%;
	margin: 80px auto 0;
	padding: 27px 27px 30px;
}

.bnr-clinic figure {
	padding-right: 29px;
}

.bnr-clinic figure img {
	width: 100%;
	border-radius: 4px;
}

.bnr-clinic .txt {
	padding: 30px 4px 0;
}

.bnr-clinic .txt h4 {
	margin: 0 0 22px 2px;
	color: var(--color-blue);
	font-size: 12px;
	letter-spacing: 0.1em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.25em;
}

.bnr-clinic .txt h2 {
	position: relative;
	margin-bottom: 18px;
}

.bnr-clinic .txt h2 img {
	width: 210px;
}

.bnr-clinic .txt h2 strong {
	display: inline-block;
	position: absolute;
	top: 24px;
	left: 170px;
	background-color: var(--color-blue);
	border-radius: 30px;
	padding: 4px 9px 6px 10px;
	color: #FFFFFF;
	font-size: 11px;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

.bnr-clinic .txt h3 {
	position: absolute;
	top: -14px;
	right: 16px;
	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: 10px;
	padding-right: 2px;
	font-size: 16px;
	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: 13px;
	line-height: 1.8;
	letter-spacing: 0.05em;
	text-align: justify;
}

.bnr-clinic .txt p br {
	display: none;
}

.bnr-clinic .txt .btn-arrow {
	margin-top: -2px;
}


/* error
---------------------------------------------------------------------------*/
#errorContents .error-txt { padding: 0 10%; }
#errorContents .error-txt p { text-align: justify; }
#errorContents .error-txt p br { display: none; }