@charset "utf-8";
/*
Theme Name: kawasaki-ichouka3
Theme URI: https://kawasaki-ichouka.com
Version: 3.0
*/

@font-face {
	font-family: 'HalisGR-SLight';
	src: url('webfonts/39699D_11_0.eot');
	src: url('webfonts/39699D_11_0.eot?#iefix') format('embedded-opentype'),
	url('webfonts/39699D_11_0.woff2') format('woff2'),
	url('webfonts/39699D_11_0.woff') format('woff'),
	url('webfonts/39699D_11_0.ttf') format('truetype');
}

@font-face {
	font-family: 'HalisGR-SBook';
	src: url('webfonts/39699D_1C_0.eot');
	src: url('webfonts/39699D_1C_0.eot?#iefix') format('embedded-opentype'),
	url('webfonts/39699D_1C_0.woff2') format('woff2'),
	url('webfonts/39699D_1C_0.woff') format('woff'),
	url('webfonts/39699D_1C_0.ttf') format('truetype');
}

@font-face {
	font-family: 'HalisGR-Book';
	src: url('webfonts/39699D_6_0.eot');
	src: url('webfonts/39699D_6_0.eot?#iefix') format('embedded-opentype'),
	url('webfonts/39699D_6_0.woff2') format('woff2'),
	url('webfonts/39699D_6_0.woff') format('woff'),
	url('webfonts/39699D_6_0.ttf') format('truetype');
}


/* common
---------------------------------------------------------------------------*/
:root {
	--color-navy: #1C4370;
	--color-navy-light: #4C637E;
	--color-line-navy: #D5DCE5;
	--color-line-navy-light: #E6EAEF;
	--color-bg-blue-light: #F1F8F9;
	--color-bg-navy-light: #F2F4FB;
	--font-sans-slight: 'HalisGR-SLight', sans-serif;
	--font-sans-sbook: 'HalisGR-SBook', sans-serif;
	--font-sans-book: 'HalisGR-Book', sans-serif;
	--font-serif: 'ACaslonPro-Regular', sans-serif;
	--font-min-m: 'FOT-筑紫明朝 Pr6 M', '游明朝体', '游明朝', YuMincho, 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
	--font-min-d: 'FOT-筑紫明朝 Pr6 D', '游明朝体', '游明朝', YuMincho, 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
}

body {
	background-color: #FFFFFF;
	color: var(--color-navy);
	font-size: 14px;
	font-family: var(--font-min-m);
	line-height: 1;
	font-feature-settings: 'palt' 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
}

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

::-moz-selection { background: var(--color-bg-blue-light); color: var(--color-navy); }
::selection { background: var(--color-bg-blue-light); color: var(--color-navy); }

p { font-size: 14px; line-height: 1.8; letter-spacing: 0.1em; margin-bottom: 10px; }
p:last-of-type { margin-bottom: 0 !important; }
address,i { font-style: normal; }
img { max-width: none; }

.clearfix:after { content: ''; display: block; clear:both; }

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

/* #loading
------------------------------------*/
#loading {
	display: block;
	opacity: 1;
	position: fixed;
	top: 50%;
	left: 50%;
	border: 1px solid var(--color-navy);
	border-top-color: transparent;
	border-radius: 50%;
	width: 20px;
	height: 20px;
	margin: -10px 0 0 -10px;
	z-index: 99999;
	animation: spin .7s infinite linear;
}

@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

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

.txt-line {
	display: inline-block;
	position: relative;
	padding-bottom: 5px;
}

p .txt-line {
	padding-bottom: 0;
	line-height: 1.5;
}

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

/* .btn
------------------------------------*/
.btn-link a {
	display: inline-block;
	position: relative;
	background: #FFFFFF;
	border: 1px solid var(--color-line-navy);
	border-radius: 30px;
	padding: 14px 12px 17px 14px;
	font-size: 16px;
	letter-spacing: 0.16em;
	text-align: center;
}

.btn-link.left a {
	padding-right: 48px;
	padding-left: 22px;
	font-size: 14px;
}

.btn-link a:hover,
.btn-color a {
	background-color: var(--color-navy);
	border-color: var(--color-navy);
	color: #FFFFFF;
	opacity: 1;
}

.btn-color a:hover {
	opacity: 0.7;
}

.btn-link a:after {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	right: 18px;
	transform: translateY(-50%);
	background: url(img/share/ico-arrow-navy.svg) no-repeat;
	width: 20px;
	height: 15px;
}

.btn-link a:hover:after,
.btn-color a:after {
	background-image: url(img/share/ico-arrow-white.svg);
}

#informationContents .btn-back {
	margin: 40px 0 0 140px;
}

#informationContents .btn-back a {
	display: inline-block;
	padding: 10px 10px 10px 0;
	font-size: 15px;
	letter-spacing: 0.15em;
	white-space: nowrap;
}

#informationContents .btn-back i {
	display: inline-block;
	box-sizing: border-box;
	background: url(img/share/ico-arrow-navy.svg) no-repeat center center;
	background-size: 18px auto;
	border-radius: 50%;
	border: 1px solid var(--color-line-navy);
	width: 34px;
	height: 34px;
	margin: -20px 16px 0 -9px;
	transform: translateY(11px) scaleX(-1);
}

/* .btn-nav
------------------------------------*/
.btn-nav,
.nav-sp {
	display: none !important;
}

/* .bg-navy
------------------------------------*/
.bg-navy { background-color: var(--color-bg-navy-light); }

/* .btn-reserve
------------------------------------*/
.btn-reserve {
	width: 127px;
	min-width: 127px;
	margin: -1px 0 0 20px;
}

header .btn-reserve-sp {
	display: none;
}

.btn-reserve a {
	display: block;
	position: relative;
	border: 1px solid var(--color-navy-light);
	border-radius: 30px;
	padding: 7px 12px 7px 12px;
}

.btn-reserve a img.white {
	position: absolute;
	top: 7px;
	left: 12px;
	opacity: 0;
	transition: .15s ease-out;
}

.btn-reserve a:hover {
	border-color: var(--color-navy);
	background: var(--color-navy);
	opacity: 1;
}

.btn-reserve a:hover img.white {
	opacity: 1;
}


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


/* header
---------------------------------------------------------------------------*/
header {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	box-sizing: border-box;
	width: 100%;
	min-height: 130px;
	margin: 0 auto;
	padding: 55px 40px 0 65px;
	white-space: nowrap;
	opacity: 0;
}

header .logo {
	width: 100%;
}

header .logo img {
	width: 317px;
	height: auto;
}

header .tel {
	margin-top: 2px;
	font-family: var(--font-sans-slight);
	font-size: 29px;
	letter-spacing: 0.02em;
}

header .tel span {
	padding-right: 4px;
	font-family: var(--font-sans-book);
	font-size: 15px;
	letter-spacing: 0.08em;
}

/* .gnav
------------------------------------*/
header .gnav {
	margin: 0 45px 0 0;
}

header .gnav > ul {
	display: -webkit-box;
	display: flex;
}

header .gnav > ul > li > a,
header .gnav > ul > li > b {
	display: block;
	padding: 12px 11px;
}

header .gnav > ul > li > b {
	cursor: default;
}

header .gnav > ul > li > a span,
header .gnav > ul > li > b span,
header .gnav > ul > li > a span i,
header .gnav > ul > li > b span i {
	display: block;
	position: relative;
}

header .gnav > ul > li > a span i,
header .gnav > ul > li > b span i {
	opacity: 0;
}

header .gnav > ul > li > a span i:after,
header .gnav > ul > li > b span i:after {
	display: block;
	content: '';
	position: absolute;
	bottom: -44px;
	right: 0;
	background-color: var(--color-navy);
	width: 0;
	height: 2px;
	transition: .2s cubic-bezier(0.165, 0.84, 0.44, 1); /* easeOutQuart */
}

header .gnav.active > ul > li > a span i:after,
header .gnav.active > ul > li > b span i:after {
	left: 0;
	width: 100%;
	transition: .3s cubic-bezier(0.165, 0.84, 0.44, 1); /* easeOutQuart */
}

body.information #gnav-information > a i,
body.about #gnav-about > a i,
body.gastroscopy #gnav-service > b i,
body.colonoscopy #gnav-service > b i,
body.internal #gnav-service > b i,
body.examination #gnav-service > b i,
body.access #gnav-access > a i {
	opacity: 1;
}

/* .mnav
------------------------------------*/
.btn-mnav { position: relative; z-index: 1; }
/* .btn-mnav:hover { z-index: 1; } */

.mnav-wrap {
	position: absolute;
	top: 20px;
	left: 50%;
	transform: translateX(-50%) !important;
	width: 266px;
	padding-top: 55px;
	transition: .3s cubic-bezier(0.165, 0.84, 0.44, 1);
	visibility: hidden;
	pointer-events: none;
	opacity: 0;
	z-index: 0;
}

/*#wrap.tablet .mnav-wrap {
	display: none;
	visibility: inherit;
	transition: inherit;
}*/

#wrap.mnav-on:not(.tablet) .btn-mnav:hover .mnav-wrap,
#wrap.mnav-on .btn-mnav.active .mnav-wrap {
	top: 30px;
	visibility: visible;
	pointer-events: auto;
	opacity: 1;
}

body.top .mnav-wrap {
	position: absolute;
	top: 15px;
	padding-top: 35px;
}

body.top #wrap.mnav-on:not(.tablet) .btn-mnav:hover .mnav-wrap,
body.top #wrap.mnav-on .btn-mnav.active .mnav-wrap { top: 25px; }
#wrap.tablet .btn-mnav > a { pointer-events: none; }

.mnav {
	background-color: #FFFFFF;
	box-shadow: 3px 3px 8px 0 rgba(94,96,102,0.3);
	border-radius: 6px;
	padding: 6px 12px;	
}

.mnav li { border-bottom: 1px solid var(--color-line-navy); }
.mnav li:last-of-type { border-bottom: none; }

.mnav a {
	display: block;
	background: url(img/share/ico-arrow-navy.svg) no-repeat right 8px center;
	padding: 16px 10px 16px;
	font-size: 16px;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

/* media query
-----------------------------------*/
@media (max-width: 1400px) {
	header {
		padding-right: 35px;
		padding-left: 60px;
	}
	header .gnav {
		margin-right: 35px;
	}
	header .gnav > ul > li a,
	header .gnav > ul > li > span {
		padding-right: 9px;
		padding-left: 9px;
	}
}

@media (max-width: 1340px) {
	header {
		padding-left: 40px;
	}
	header .logo img {
		width: 310px;
	}
	header .gnav {
		margin-right: 20px;
	}
	header .gnav > ul > li a,
	header .gnav > ul > li > span {
		padding-right: 7px;
		padding-left: 7px;
	}
	header .tel {
		margin-top: 4px;
		font-size: 26px;
	}
	.btn-reserve {
		margin-left: 18px;
	}
}


/* footer
---------------------------------------------------------------------------*/
footer {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: end;
	align-items: flex-end;
	position: relative;
	box-sizing: border-box;
	width: 100%;
	margin: 180px auto 0;
	padding: 0 0 50px 55px;
	white-space: nowrap;
}

footer .inner { margin: 0 65px 0 0; }
footer .inner .logo { margin: 0 0 24px -1px; }

footer .inner .logo strong {
	display: block;
	margin-bottom: 24px;
	font-size: 13px;
	letter-spacing: 0.14em;
	line-height: 1.7;
}

footer .inner .logo img {
	width: 244px;
	height: auto;
}

footer .inner .en {
	margin-bottom: 12px;
	font-family: var(--font-sans-sbook);
	font-size: 18px;
	line-height: 1.75;
	letter-spacing: 0.14em;
}

footer .address {
	margin: 0 60px 0 0;
}

footer .address .btn-link {
	margin: 0 0 16px -4px;
}

footer .address .btn-link a {
	padding: 6px 41px 8px 16px;
	font-size: 15px;
	letter-spacing: 0.1em;
}

footer .address .btn-link a:after {
	background-size: 100% auto;
	right: 14px;
	width: 16px;
	height: 12px;
	margin-top: -1px;
}

footer .address p {
	line-height: 2;
}

footer .address p span {
	display: inline-block;
	position: relative;
	line-height: 1;
	padding-bottom: 5px;
}

footer .address p span:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background: var(--color-navy);
	width: 100%;
	height: 1px;
	opacity: 0.5;
}

footer address {
	margin: 22px 0 12px;
	font-size: 15px;
	letter-spacing: 0.06em;
}

footer address span {
	display: none;
}

footer .tel,
footer .fax {
	display: inline-block;
	font-family: var(--font-sans-book);
}

footer .tel {
	margin: 0 8px 0 1px;
	font-size: 27px;
	letter-spacing: 0.04em;
}

footer .tel a {
	pointer-events: none;
}

footer .tel span {
	font-size: 17px;
	letter-spacing: 0.06em;
}

footer .fax {
	font-size: 14px;
	letter-spacing: 0.1em;
}

footer .close {
	margin: 8px 0 4px;
	font-size: 14px;
	letter-spacing: 0.06em;
}

footer .gnav {
	transform: translateY(6px);
}

footer .gnav a {
	display: inline-block;
	position: relative;
	padding: 5px 10px 10px 13px;
	font-size: 15px;
	letter-spacing: 0.1em;
}

footer .gnav a:before {
	display: block;
	content: '';
	position: absolute;
	top: 13px;
	left: 0;
	background-color: var(--color-navy);
	width: 5px;
	height: 1px;
	opacity: 0.4;
}

footer #gnav-top {
	display: none;
}

.pagetop {
	position: absolute;
	bottom: 52px;
	right: 50px;
}

.pagetop a {
	display: block;
	margin: -20px;
	padding: 20px;
}

/* .gnav-footer
------------------------------------*/
.gnav-footer {
	display: -webkit-box;
	display: flex;
	transform: translateY(4px);
}

.gnav-footer ul { margin-right: 12px; }
.gnav-footer ul:last-of-type { margin-right: 0; }

.gnav-footer li { position: relative; }

.gnav-footer li:before {
	display: block;
	content: '';
	position: absolute;
	top: 17px;
	left: 0;
	background: var(--color-navy);
	width: 5px;
	height: 1px;
	opacity: 0.4;
}

.gnav-footer a {
	display: inline-block;
	padding: 8px 10px 8px 14px;
	font-size: 15px;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

/* media query
-----------------------------------*/
@media (max-width: 1340px) {
	footer { padding-left: 50px; }
	footer .inner { margin-right: 55px; }
	footer .address { margin-right: 50px; }
	.pagetop { display: none; }
}


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

.contents {
	opacity: 0;
}


/* .img-main
---------------------------------------------------------------------------*/
.img-main {
	position: relative;
	width: calc(100% - 70px);
	height: calc(100vh - 165px);
	min-height: 700px;
	max-height: 900px;
	margin: 0 auto 180px;
}

.img-main .inner {
	border-radius: 4px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#informationContents .img-main .inner { background-image: url(img/information/img-main.jpg); background-position: center bottom; }
#aboutContents .img-main .inner { background-image: url(img/about/img-main.jpg); }
#gastroscopyContents .img-main .inner { background-image: url(img/gastroscopy/img-main.jpg?220104); }
#colonoscopyContents .img-main .inner { background-image: url(img/colonoscopy/img-main.jpg); }
#internalContents .img-main .inner { background-image: url(img/internal/img-main.jpg); }
#examinationContents .img-main .inner { background-image: url(img/examination/img-main.jpg); }
#accessContents .img-main .inner { background-image: url(img/access/img-main.jpg); }

.img-main h1 {
	position: absolute;
	bottom: 0;
	left: 0;
	box-sizing: border-box;
	background-color: #FFFFFF;
	border-radius: 0 9px 0 0;
	padding: 30px 50px 10px 25px;
	z-index: 2;
}

.img-main h1:before,
.img-main h1:after {
	display: block;
	content: '';
	position: absolute;
	background: url(img/share/bg-title.svg);
	width: 19px;
	height: 19px;
}

.img-main h1:before { top: -19px; left: 0; }
.img-main h1:after { bottom: 0; right: -19px; }

.img-main h1 a {
	display: block;
}

.img-main h1 em {
	display: block;
	margin: 0 0 9px 1px;
	font-family: var(--font-sans-sbook);
	font-size: 13px;
	letter-spacing: 0.12em;
}

.img-main h1 strong {
	font-size: 20px;
	letter-spacing: 0.1em;
}

.img-main h1 strong span {
	padding-left: 6px;
}

/* .title-sub
------------------------------------*/
.title-sub {
	position: relative;
	white-space: nowrap;
	padding: 52px 0 0;
}

.title-sub.jp {
	padding-top: 32px;
}

.title-sub:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background-color: var(--color-navy);
	width: 40px;
	height: 1px;
	opacity: 0.3;
}

.title-sub.jp:before {
	width: 32px;
}

.title-sub strong {
	display: block;
	margin-bottom: 22px;
	font-size: 20px;
	letter-spacing: 0.12em;
}

.title-sub.jp strong {
	margin-bottom: 0;
	font-size: 16px;
}

.title-sub em {
	display: block;
	font-family: var(--font-sans-book);
	font-size: 11px;
	letter-spacing: 0.2em;
}

/* .img-center
------------------------------------*/
.img-center {
	text-align: center;
	display: block;
	margin-bottom: 100px;
}

.img-center3 {
	overflow: hidden;
	box-sizing: border-box;
	max-width: 1800px;
	margin: 0 auto;
	padding: 0 40px;
}

.img-center3 figure {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
}

.img-center3 img {
	align-self: flex-start;
	width: 100%;
	height: auto;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}

.img-center3 .img1 { width: 21.4%; }
.img-center3 .img2 { width: 52.3%; }
.img-center3 .img3 { width: 21.4%; }

/* .dot-list
------------------------------------*/
.dot-list li {
	position: relative;
	margin: 0 0 6px 3px;
	padding-left: 15px;
	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;
}

.dot-list.even {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.dot-list.even li {
	box-sizing: border-box;
	width: 50%;
	margin-left: 0;
	padding-left: 13px;
}

/* .tips
------------------------------------*/
.tips-wrap {
	display: inline-block;
	position: relative;
	z-index: 10;
}

.btn-tips {
	display: inline-block;
	transition: .15s ease-out;
	cursor: pointer;
}

.btn-tips:hover { opacity: 0.7; }

.btn-tips b {
	padding-bottom: 0;
	line-height: 1.4;
}

.btn-tips i {
	display: inline-block;
	background: url(img/share/ico-q.svg) no-repeat;
	width: 18px;
	height: 18px;
	margin: 0 4px 0 3px;
	transform: translateY(3px);
}

.tips {
	box-sizing: border-box;
	position: absolute;
	bottom: -10px;
	right: 0;
	margin-right: 25px;
	padding-bottom: 35px;
	white-space: normal;
	visibility: hidden;
	pointer-events: none;
	opacity: 0;
	transition: .3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.tips span {
	display: block;
	position: relative;
	box-sizing: border-box;
	background-color: #8897CA;
	border-radius: 6px;
	padding: 8px 14px 12px 14px;
	color: #FFFFFF;
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.04em;
	text-align: justify;
	white-space: normal;
}

.tips-wrap:hover .tips {
	bottom: 0;
	visibility: visible;
	pointer-events: auto;
	opacity: 1;
}

.tips span:after {
	display: block;
	content: '';
	position: absolute;
	bottom: -12px;
	left: 21px;
	background: url(img/share/tips.svg) no-repeat;
	width: 8px;
	height: 12px;
}

#gastroscopyContents .sec-examination1 .txt .tips {
	right: -170px;
	width: 170px;
}

#colonoscopyContents .sec-examination1 .box-color li .tips {
	right: -210px;
	width: 210px;
}

/* .map
------------------------------------*/
.map {
	position: relative;
	overflow: hidden;
	width: 1100px;
	height: 620px;
	margin: 0 auto 60px;
}

.map iframe {
	position: absolute;
	top: -150px;
	left: 0;
	width: 100%;
	height: calc(100% + 300px);
	z-index: 1;
}

.map .btn-link {
	position: absolute;
	bottom: 25px;
	right: 25px;
	z-index: 2;
}

.map .btn-link {
	background-color: var(--color-navy);
	border-radius: 30px;
}

.map .btn-link a {
	display: block;
	padding-top: 15px;
	padding-right: 60px;
	padding-left: 40px;
}

/* #sec-service
------------------------------------*/
#sec-service {
	box-sizing: border-box;
	background-color: var(--color-bg-blue-light);
	border-radius: 14px;
	width: 1240px;
	margin: 150px auto 0;
	padding: 48px 44px 60px;
}

#sec-service > h2 {
	margin-bottom: 40px;
	font-size: 22px;
	line-height: 1.9;
	letter-spacing: 0.12em;
	text-align: center;
}

.service-list {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	box-sizing: border-box;
	background: #FFFFFF;
	border: 1px solid #D5DCE5;
	border-radius: 11px;
	padding: 37px 0 37px;
}

.service-list .inner {
	position: relative;
	box-sizing: border-box;
	background: url(img/share/line-dot-v.svg) repeat-y right top;
	width: calc(100% / 3);
	padding: 7px 37px;
	z-index: 1;
}

.service-list .inner:last-of-type { background: none; }

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

.service-list .inner h2 {
	text-align: center;
}

.service-list .inner h2 strong {
	display: block;
	margin-bottom: 16px;
	font-size: 18px;
	letter-spacing: 0.12em;
}

.service-list .inner h2 em {
	display: block;
	font-family: var(--font-sans-sbook);
	font-size: 12px;
	letter-spacing: 0.2em;
	opacity: 0.6;
}

.service-list .inner .btn-link {
	margin-top: 28px;
	width: 100%;
}

.service-list .inner .btn-link a {
	display: block;
	font-size: 15px;
	letter-spacing: 0.1em;
}

/* #sec-service .btn-txt
------------------------------------*/
#sec-service .btn-txt {
	box-sizing: border-box;
	background-color: #FFFFFF;
	border: 1px solid #D5DCE5;
	border-radius: 5px;
	width: 100%;
	margin-top: 30px;
}

#sec-service .btn-txt a {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	white-space: nowrap;
	padding: 30px 43px 29px 46px;
}

#sec-service .btn-txt h2 {
	text-align: center;
}

#sec-service .btn-txt h2 strong {
	display: inline-block;
	margin-right: 18px;
	font-size: 20px;
	letter-spacing: 0.09em;
	transform: translateY(2px);
}

#sec-service .btn-txt h2 em {
	display: inline-block;
	font-family: var(--font-sans-sbook);
	font-size: 12px;
	letter-spacing: 0.18em;
}

#sec-service .btn-txt p {
	font-size: 15px;
	letter-spacing: 0.11em;
}

#sec-service .btn-txt .arrow {
	box-sizing: border-box;
	background: url(img/share/ico-arrow-navy.svg) no-repeat center center;
	border-radius: 50%;
	border: 1px solid var(--color-line-navy);
	width: 46px;
	height: 46px;
	margin: -8px 0 -7px;
}

/* .pic
------------------------------------*/
.pic {
	display: block;
	position: absolute;
	z-index: -999;
}

/* .box-color
------------------------------------*/
.box-color {
	box-sizing: border-box;
	background-color: var(--color-bg-navy-light);
	border-radius: 6px;
}

/* .figcaption
------------------------------------*/
figure {
	position: relative;
}

figure figcaption {
	display: inline-block;
	position: absolute;
	bottom: 8px;
	left: 8px;
	background-color: #FFFFFF;
	padding: 4px 7px 6px 7px;
	font-size: 14px;
	letter-spacing: 0.12em;
}


/* information
---------------------------------------------------------------------------*/
.information-wrap {
	position: relative;
	width: 860px;
	margin: 140px auto 0;
}

#informationContents.single .information-wrap {
	margin-top: 120px;
}

.information-wrap > h2 {
	margin: 0 0 40px 15px;
	font-size: 16px;
	letter-spacing: 0.15em;
}

.information-wrap .btn-select {
	position: absolute;
	top: -8px;
	right: 0;
	transition: .15s ease-out;
}

.information-wrap .btn-select:hover {
	opacity: 0.5;
}

.information-wrap .btn-select select {
	cursor: pointer !important;
	width: 100% !important;
	height: 100% !important;
	z-index: 2;
}

.information-wrap .btn-select .customSelect {
	display: block;
	box-sizing: border-box;
	width: 100%;
	font-size: 15px;
	text-align: center;
	letter-spacing: 0.1em;
}

.information-wrap .btn-select .customSelect .customSelectInner {
	box-sizing: border-box;
  border: 1px solid var(--color-line-navy);
  border-radius: 4px;
	width: 100% !important;
	padding: 8px 10px 10px 13px;
}

/* .news-list
------------------------------------*/
.news-list {
	border-top: 1px solid var(--color-line-navy-light);
}

.news-list article {
	border-bottom: 1px solid var(--color-line-navy-light);
	margin-left: -5px;
}

#informationContents.single .news-list { border-top: none; }
#informationContents.single .news-list article { border-bottom: none; }

/* .post-title
------------------------------------*/
.post-title {
	position: relative;
	transition: .15s ease-out;
}

.post-title time {
	display: block;
	position: absolute;
	top: 30px;
	left: 20px;
	font-family: var(--font-sans-sbook);
	font-size: 14px;
	letter-spacing: 0.14em;
	z-index: 2;
}

.post-title h2 {
	position: relative;
	font-size: 16px;
	line-height: 1.7;
	letter-spacing: 0.08em;
}

.post-title h2 > span,
.post-title h2 > a {
	display: block;
	padding: 21px 80px 21px 140px;
}

.post-title h2 a i {
	text-decoration: underline;
}

#informationContents.single time {
	position: static;
	margin-left: 140px;
	margin-bottom: -10px;
}

#informationContents.single .post-title h2 {
	font-size: 18px;
}

/* .btn-ac
------------------------------------*/
.btn-ac {
	position: relative;
	cursor: pointer;
}

#informationContents.single .btn-ac { cursor: default; }
.btn-ac:not(.active):hover { opacity: 0.5; }

i.plus {
	display: block;
	position: absolute;
	top: 25px;
	right: 30px;
	width: 21px;
	height: 21px;
	transition: .25s ease-out;
}

i.plus:before,
i.plus:after {
	display: block;
	content: '';
	position: absolute;
	background-color: var(--color-navy);
}

i.plus:before { top: 10px; left: 0; width: 100%; height: 1px; }
i.plus:after { top: 0; left: 10px; width: 1px; height: 100%; }

.btn-ac.active i.plus { transform: rotate(225deg); }
.btn-ac.active i.plus:before { left: -10%; width: 120%; transform: rotate(-20deg); }
.btn-ac.active i.plus:after { top: -10%; height: 120%; transform: rotate(20deg); }

#informationContents.single .btn-ac i.plus { display: none; }

/* .post-table
------------------------------------*/
.post-table {
	box-sizing: border-box;
	width: 100%;
	margin-bottom: 50px;
	font-size: 14px;
	line-height: 1.7;
	letter-spacing: 0.08em;
}

.post-table table { border-bottom: 1px solid rgba(0,0,0,0.15); }
.post-table tr { border-top: 1px solid rgba(0,0,0,0.15); }

.post-table th {
	position: relative;
	box-sizing: border-box;
	width: 20%;
	padding: 13px 15px 12px 0;
	font-weight: normal;
	text-align: left;
	vertical-align: top;
	letter-spacing: 0.06em;
}

.post-table td {
	box-sizing: border-box;
	width: 80%;
	padding: 13px 5px 12px 0;
}

/* .post-link
------------------------------------*/
.post-link {
	overflow: hidden;
	margin-bottom: -12px;
}

.post-link > div {
	float: left;
	margin: 0 12px 12px 0;
	line-height: 1;
}

/* .post-detail
------------------------------------*/
.post-detail,
.post-detail a {
	color: var(--color-navy-light);
}

.post-detail {
	display: none;
	position: relative;
	padding-bottom: 40px;
}

#informationContents.single .post-detail {
	display: block !important;
}

.post-detail .inner {
	box-sizing: border-box;
	border-radius: 0 0 8px 8px;
	width: 100%;
	padding: 0 30px 0 140px;
}

.post-detail .inner,
.post-detail .inner p {
	font-size: 14px;
	line-height: 1.9;
	letter-spacing: 0.1em;
	text-align: justify;
}

.post-detail .inner p {
	margin-bottom: 15px;
}

.post-detail .inner-main strong { font-weight: bold; }
.post-detail .inner-main em { font-style: italic; }
.post-detail .inner-main del { text-decoration: line-through; }

.post-detail .inner-main img {
	display: block;
	width: 100%;
	height: auto;
	padding: 10px 0 10px;
}

.post-detail .inner-main img:last-of-type { padding-bottom: 0; }

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

.post-detail .inner-main .wp-caption-text {
	margin-top: -5px;
}

.post-detail .inner-main ul,
.post-detail .inner-main ol {
	margin: 30px 0;
}

.post-detail .inner-main ul li {
	list-style: disc;
	margin: 0 0 6px 20px;
}

.post-detail .inner-main ol li {
	list-style: decimal;
	margin: 0 0 6px 25px;
}

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

.post-detail .inner-main blockquote {
	background: #F5F5F5;
	margin-top: 30px;
	padding: 22px 28px 20px;
}

.post-detail .post-table {
	margin: 50px 0 30px;
}

.post-detail .post-table h3 {
	margin: 40px 0 15px;
	font-size: 14px;
	letter-spacing: 0.06em;
}

.post-detail .post-table h3:first-of-type { margin-top: 0; }

.post-detail .post-table table {
	width: 100%;
	font-size: 14px;
}

.post-detail .post-link {
	margin: 30px 0 0 -4px;
}

/* .wp-pagenavi
------------------------------------*/
.wp-pagenavi {
	font-family: var(--font-sans-book);
	overflow: hidden;
	margin-top: 60px;
	text-align: center;
	font-size: 16px;
}

.wp-pagenavi a,
.wp-pagenavi .extend {
	margin: 0 2px;
	padding: 10px;
}

.wp-pagenavi .current {
	display: inline-block;
	border-bottom: 1px solid #666666;
	margin: 0 12px;
	padding: 10px 1px 1px 0;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
	display: inline-block;
	background: url(img/share/ico-arrow-navy.svg) no-repeat center center;
	text-indent: -9999px;
}

.wp-pagenavi .previouspostslink { margin-right: 18px; transform: translateY(-1px) scaleX(-1); }
.wp-pagenavi .nextpostslink { margin-left: 15px; transform: translateY(-1px); }


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

/* .img-main-top
------------------------------------*/
body.top header {
	height: 19vh;
}

.img-main-top {
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
	width: 100vw;
	height: calc(100vh - 19vh);
	min-height: calc(700px - 130px);
/* 	max-height: 900px; */
	margin: 0 0 200px;
}

.img-main-top .inner {
	border-radius: 0 80px 0 0;
	background: url(img/top/img-main.jpg) no-repeat center center;
	background-size: cover;
	position: absolute;
	top: 0;
	left: 0;
	width: calc(100% - 75px);
	height: 100%;
}

.img-main-top .inner .mask {
	position: absolute;
	top: 0;
	right: 0;
	background-color: #FFFFFF;
	width: 100%;
	height: 100%;
	z-index: 2;
}

.img-main-top h1 {
	position: absolute;
	top: 86px;
	right: 36px;
	font-size: 14px;
	letter-spacing: 0.14em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
	opacity: 0;
}

.img-main-top h1 strong {
	color: #FFFFFF;
	pointer-events: none;
}

.img-main-top h2 {
	position: absolute;
	top: 11.5%;
	right: 8.5%;
	opacity: 0;
}

/* .news-top
------------------------------------*/
.news-top {
	overflow: hidden;
	position: absolute;
	bottom: -56px;
	right: 0;
	background-color: #FFFFFF;
	border-radius: 8px 0 0 0;
	z-index: 3;
}

.news-top a {
	display: inline-block;
	padding: 18px 30px 18px 24px;
	font-size: 15px;
	letter-spacing: 0.1em;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.news-top a time {
	padding-right: 16px;
	font-family: var(--font-sans-sbook);
	font-size: 13px;
	letter-spacing: 0.1em;
}

.news-top .slider-news,
.news-top .slick-list,
.news-top .slick-track,
.news-top article {
	float: none;
	width: auto !important;
}

/* .sec-lead-top
------------------------------------*/
.sec-lead-top {
	position: relative;
	display: -webkit-box;
	display: flex;
	flex-direction: row-reverse;
	width: 890px;
	margin: 0 auto 140px;
}

.sec-lead-top .pic1,
.sec-lead-top .pic2 {
	display: block;
	position: absolute;
	z-index: -1;
}

.sec-lead-top .pic1 { top: 290px; left: -75px; }
.sec-lead-top .pic2 { top: 325px; right: -45px; }

.sec-lead-top h2 {
	width: 100px;
	margin: -35px 0 0 80px;
}

.sec-lead-top h2 strong { display: none; }

.sec-lead-top .inner,
.sec-lead-top .link {
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.sec-lead-top p {
	margin: 0 0 0 24px;
	font-size: 17px;
	line-height: 2.1;
	letter-spacing: 0.16em;
}

.sec-lead-top .link {
	position: absolute;
	top: -10px;
	left: -10px;
	z-index: 1;
}

.sec-lead-top .link a {
	display: inline-block;
	padding: 10px 10px 34px;
	font-size: 14px;
	letter-spacing: 0.12em;
}

.sec-lead-top .link a i {
	display: block;
	position: absolute;
	bottom: 0;
	left: 7px;
	background: url(img/share/ico-arrow-navy.svg) no-repeat center center;
	transform: rotate(90deg);
	width: 20px;
	height: 20px;
}

/* .sec-news-top
------------------------------------*/
.sec-news-top {
	width: 1000px;
	margin: 0 auto 160px;
}

/* .img-set4
------------------------------------*/
.img-set4 {
	width: 1110px;
	margin: 0 auto 120px;
}

.img-set4 > figure {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.img-set4 img {
	margin-bottom: 20px;
}

/* .sec-service-title
------------------------------------*/
.sec-service-title {
	margin-bottom: 0;
	text-align: center;
}

.sec-service-title strong {
	display: block;
	margin-bottom: 14px;
	font-size: 24px;
	letter-spacing: 0.18em;
}

.sec-service-title em {
	font-family: var(--font-sans-sbook);
	font-size: 14px;
	letter-spacing: 0.14em;
}

.sec-service-title + #sec-service { margin-top: 55px; }

/* .img-center3
------------------------------------*/
#topContents .img-center3 {
	margin: 160px auto;
	padding: 0;
}

#topContents .img-center3 img { width: 33.2% !important; }

/* #sec-clinic
------------------------------------*/
#topContents #sec-clinic {
	margin-bottom: 75px;
}

#sec-clinic .pic {
	display: none;
	position: absolute;
	bottom: 0;
	right: -60px;
}

#topContents #sec-clinic .pic {
	display: block;
}

/* .sec-reserve-online
------------------------------------*/
.sec-reserve-online {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	width: 1040px;
	margin: 0 auto;
}

.sec-reserve-online .box-color {
	width: 500px;
	padding: 34px 34px 30px;
}

.sec-reserve-online .box-color h2 {
	margin-bottom: 15px;
	font-size: 16px;
	letter-spacing: 0.1em;
}

.sec-reserve-online .box-color p {
	font-size: 15px;
	text-align: justify;
	letter-spacing: 0.06em;
}

.sec-reserve-online .box-color ul { margin: 16px 0 0 2px; }
.sec-reserve-online .box-color li { font-size: 12px; }

.sec-reserve-online .map {
	width: 500px;
	height: 258px;
	margin: 0;
}

.sec-reserve-online .map iframe {
	position: absolute;
	top: -200px;
	left: -150px;
	width: calc(100% + 150px);
	height: calc(100% + 400px);
	z-index: 1;
}

.sec-reserve-online .map .btn-link { right: 15px; bottom: 15px; }
.sec-reserve-online .map .btn-link a { padding: 11px 44px 13px 22px; }
.sec-reserve-online .map .btn-link a:after { right: 14px; }


/* page about
---------------------------------------------------------------------------*/
#aboutContents {
	overflow: hidden;
}

/* #sec-lead-about
------------------------------------*/
#sec-lead-about {
	position: relative;
	box-sizing: border-box;
	width: 850px;
	margin: 0 auto 160px;
	padding: 110px 0 0 210px;
}

#sec-lead-about h2 {
	position: absolute;
	top: -4px;
	left: -8px;
}

#sec-lead-about h2 strong {
	display: none;
}

#sec-lead-about h3 {
	display: inline-block;
	position: absolute;
	top: 0;
	right: -60px;
	border-bottom: 1px solid var(--color-line-navy);
	padding-bottom: 3px;
	font-family: var(--font-sans-sbook);
	font-size: 13px;
	letter-spacing: 0.16em;
	white-space: nowrap;
}

#sec-lead-about p {
	margin-bottom: 12px;
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.18em;
}

#sec-lead-about .pic1 { bottom: 0; left: -102px; }
#sec-lead-about .pic2 { top: 200px; right: -83px; }

/* #sec-policy
------------------------------------*/
#sec-policy {
	width: 1030px;
	margin: 0 auto 100px;
}

#sec-policy figure {
	margin-bottom: 85px;
}

#sec-policy .inner {
	position: relative;
	padding: 50px 0 0 290px;
}

#sec-policy h2 {
	position: absolute;
	top: 5px;
	left: 22px;
}

#sec-policy dt,
#sec-policy dd {
	padding-left: 88px;
}

#sec-policy dt {
	position: relative;
	margin-bottom: 22px;
	font-size: 20px;
	line-height: 1.8;
	letter-spacing: 0.14em;
}

#sec-policy dt i {
	display: block;
	position: absolute;
	top: 5px;
	left: 0;
	font-family: var(--font-sans-sbook);
	font-size: 15px;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

#sec-policy dt i:after {
	display: block;
	content: '';
	position: absolute;
	top: 13px;
	left: 36px;
	background-color: var(--color-navy-light);
	width: 33px;
	height: 1px;
	opacity: 0.2;
}

#sec-policy dd {
	margin-top: -8px;
	font-size: 14px;
	line-height: 1.85;
	letter-spacing: 0.12em;
}

#sec-policy .pic3 { top: -5px; right: 0; }
#sec-policy .pic4 { bottom: -10px; left: 15px; }

/* #img-set-about
------------------------------------*/
#img-set-about {
	position: relative;
	width: 1100px;
	height: 782px;
	margin: 0 auto 150px;
}

#img-set-about img,
#img-set-about picture {
	display: block;
	position: absolute;
}

#img-set-about picture img {
	position: static;
}

#img-set-about .img1 { top: 0; left: -3px; width: 310px; }
#img-set-about .img2 { top: 35px; right: -50px; width: 373px; }
#img-set-about .img3 { bottom: 0; left: -115px; width: 341px; }
#img-set-about .img4 { bottom: 0; left: 371px; width: 424px; }
#img-set-about .img5 { bottom: 107px; right: -160px; width: 352px; }
#img-set-about .pic5 { top: 200px; left: calc(50% - 100px); }

/* #sec-message
------------------------------------*/
#sec-message {
	position: relative;
	display: -webkit-box;
	display: flex;
	-webkit-box-align: end;
	align-items: flex-end;
	width: 986px;
	margin: -90px auto 145px;
	padding-top: 90px;
	white-space: nowrap;
}

#sec-message figure {
	width: 311px;
}

#sec-message .txt {
	padding: 0 0 0 77px;
}

#sec-message .txt h2 {
	margin-bottom: 40px;
}

#sec-message .txt h2 b {
	display: block;
	margin-bottom: 18px;
	font-size: 12px;
	letter-spacing: 0.12em;
}

#sec-message .txt h2 strong {
	display: block;
	margin: 0 0 15px -1px;
	font-size: 23px;
	letter-spacing: 0.18em;
}

#sec-message .txt h2 em {
	display: block;
	margin-left: 1px;
	font-family: var(--font-sans-sbook);
	color: var(--color-navy-light);
	font-size: 11px;
	letter-spacing: 0.25em;
	text-transform: lowercase;
}

#sec-message .txt h3 {
	position: absolute;
	top: calc(90px - 56px);
	right: -24px;
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.16em;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

#sec-message .txt ul {
	margin-bottom: 20px;
}

#sec-message .txt li,
#sec-message .txt p {
	font-size: 15px;
	line-height: 1.95;
	letter-spacing: 0.1em;
}

#sec-message .txt p { margin-bottom: 8px; }
#sec-message .txt p span { display: block; margin-top: 10px; }
#sec-message .txt .pic6 { top: 66px; left: 606px; }

/* .img-staff
------------------------------------*/
.img-staff {
	width: 1130px;
	margin: 0 auto 140px;
}

/* #sec-clinic
------------------------------------*/
#sec-clinic {
	position: relative;
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	box-sizing: border-box;
	width: 1035px;
	margin: 0 auto;
	padding: 0 20px 0 30px;
}

#sec-clinic > figure {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	width: 1035px;
	margin: 0 -25px 60px;
}

#sec-clinic .info {
	width: 455px;
}

#sec-clinic .info .logo {
	margin-bottom: 22px;
}

#sec-clinic .info .logo strong {
	display: block;
	margin-bottom: 21px !important;
	font-size: 13px;
	letter-spacing: 0.13em;
}

#sec-clinic .info .logo img { width: 289px; height: auto; }

#sec-clinic .info address,
#sec-clinic .info .tel,
#sec-clinic .info .fax {
	font-size: 14px;
	letter-spacing: 0.1em;
}

#sec-clinic .info address {
	margin-bottom: 12px;
}

#sec-clinic .info .tel,
#sec-clinic .info .fax {
	display: inline-block;
}

#sec-clinic .info .tel a {
	pointer-events: none;
}

/* .schedule
------------------------------------*/
.schedule {
	margin: 32px 0 24px -5px;
}

.schedule table,
.schedule tr {
	width: 100%;
	white-space: nowrap;
}

.schedule table {
	border-top: 1px solid var(--color-line-navy-light);
}

.schedule tr {
	border-bottom: 1px solid var(--color-line-navy-light);
}

.schedule th {
	padding: 10px 14px;
	font-size: 15px;
	text-align: center;
	vertical-align: middle;
}

.schedule th:first-of-type {
	letter-spacing: 0.1em;
}

.schedule th span,
.schedule td span {
	display: block;
	padding-top: 6px;
	font-size: 10px;
	letter-spacing: 0.08em;
}

.schedule td span {
	color: var(--color-navy-light);
}

.schedule td {
	position: relative;
	padding: 12px 10px;
	font-size: 21px;
	text-align: center;
	vertical-align: middle;
}

.schedule th:last-of-type,
.schedule td:last-of-type {
	padding-right: 20px;
}

.schedule td:first-of-type {
	font-family: var(--font-sans-book);
	font-size: 14px;
	letter-spacing: 0.06em;
	transform: translateY(1px);
}

.schedule tr.line1 td {
	padding-top: 8px;
	padding-bottom: 12px;
}

.schedule tr.line1 td:first-of-type { transform: translateY(2px); }
_::-webkit-full-page-media, _:future, :root .schedule tr.line1 td:first-of-type { transform: translateY(4px); }

.schedule td i {
	display: inline-block;
	border-radius: 50%;
	border: 1px solid var(--color-navy);
	width: 8px;
	height: 8px;
}

.schedule td i {
	transform: translateY(-4px);
}

.schedule td i.close {
	border-radius: 0;
	background-color: var(--color-navy);
	border: none;
	width: 8px;
	height: 1px;
	vertical-align: middle;
	transform: translateY(-1px);
}

.schedule td b {
	display: inline-block;
	position: absolute;
	top: 8px;
	left: -5px;
	background: #F1F4FB;
	border-radius: 4px;
	padding: 4px 7px 8px 8px;
	font-size: 13px;
	letter-spacing: 0.04em;
}

/* .important-info
------------------------------------*/
.important-info {
	margin-top: -15px;
	display: -webkit-box;
	display: flex;
	white-space: nowrap;
}

#accessContents p + .important-info {
	margin-top: 6px;
}

.important-info h2 {
	position: relative;
	padding: 10px 8px 10px 10px;
	font-size: 13px;
	letter-spacing: 0.08em;
}

.important-info h2:before,
.important-info h2:after {
	display: block;
	content: '';
	position: absolute;
	top: 10px;
	background: var(--color-navy);
	width: 1px;
	height: 100%;
	transform-origin: center top;
	transform: scale(0.5);
}

.important-info h2:before { left: 0; }
.important-info h2:after { right: 0; }

.important-info a {
	max-width: 100%;
	padding: 10px 0 10px 12px;
	font-size: 13px;
	letter-spacing: 0.1em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* .attention-list
------------------------------------*/
.attention-list li {
	position: relative;
	margin: 0 0 3px;
	padding-left: 20px;
	font-size: 14px;
	line-height: 1.7;
	letter-spacing: 0.12em;
}

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

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

/* #sec-clinic .alliance
------------------------------------*/
#sec-clinic .alliance {
	position: relative;
	width: 465px;
}

#sec-clinic .alliance h2 {
	margin: 0 0 16px;
	font-size: 15px;
	letter-spacing: 0.1em;
}

#sec-clinic .alliance h2:not(:first-child) {
	margin-top: 32px;
}

#sec-clinic .alliance h2 + p {
	margin-bottom: 26px !important;
	font-size: 14px;
	line-height: 2;
	letter-spacing: 0.12em;
}

#sec-clinic .alliance .inner {
	position: relative;
	display: -webkit-box;
	display: flex;
	-webkit-box-align: start;
	align-items: flex-start;
	margin-left: 4px;
}

#sec-clinic .alliance .inner ul {
	position: relative;
	margin-right: 20px;
	padding-left: 16px;
	vertical-align: middle;
	white-space: nowrap;
}

#sec-clinic .alliance .inner ul:last-of-type { margin-right: 0; }

#sec-clinic .alliance .inner ul:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background-color: var(--color-line-navy);
	width: 1px;
	height: 100%;
}

#sec-clinic .alliance .inner li {
	margin-bottom: 12px;
	font-size: 14px;
	letter-spacing: 0.1em;
}

#sec-clinic .alliance .inner li:last-of-type { margin-bottom: 0; }

#sec-clinic .alliance p.sup {
	font-size: 12px;
	display: inline;
}

#sec-clinic .alliance > ul {
	margin-top: 18px;
}

#sec-clinic .alliance > ul li {
	margin-bottom: 1px;
	font-size: 13px;
	letter-spacing: 0.1em;
}


/* page gastroscopy / colonoscopy
---------------------------------------------------------------------------*/
#gastroscopyContents .img-main,
#colonoscopyContents .img-main {
	margin-bottom: 140px;
}

#gastroscopyContents .img-center3,
#colonoscopyContents .img-center3 {
	margin-bottom: 140px;
}

/* .sec-examination1
------------------------------------*/
.sec-examination1 {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	box-sizing: border-box;
	width: 986px;
	margin: 0 auto 120px;
	padding: 0 30px 0 0;
}

.sec-examination1 .txt {
	white-space: nowrap;
}

#gastroscopyContents .sec-examination1 .txt {
	margin-left: 20px;
}

.sec-examination1 .txt h2,
.sec-examination2 .txt h2 {
	margin-bottom: 25px;
	font-family: var(--font-min-d);
	font-size: 20px;
	line-height: 1.8;
	letter-spacing: 0.18em;
}

.sec-examination1 .txt p {
	margin-bottom: 16px;
	font-size: 15px;
	line-height: 2;
	letter-spacing: 0.12em;
}

.sec-examination1 .box-wrap {
	width: 290px;
	min-width: 290px;
}

#gastroscopyContents .sec-examination1 .box-wrap {
	margin-top: 5px;
}

.sec-examination1 .box-wrap h3 {
	margin-bottom: 30px;
	text-align: center;
}

.sec-examination1 .box-wrap h3 em {
	margin-bottom: 16px;
	font-size: 13px;
	letter-spacing: 0.12em;
}

.sec-examination1 .box-wrap h3 strong {
	font-family: var(--font-min-d);
	font-size: 17px;
	letter-spacing: 0.14em;
}

.sec-examination1 .box-color {
	margin: 0 -2px;
	padding: 22px 26px 18px;
}

#colonoscopyContents .sec-examination1 .box-color {
	padding-bottom: 16px;
}

#gastroscopyContents .sec-examination1 .box-color { padding: 28px 30px 30px; }
#gastroscopyContents .sec-examination1 .box-color li { font-size: 15px; }

.sec-examination1 .box-color .even li:nth-child(odd) { width: 60%; }
.sec-examination1 .box-color .even li:nth-child(even) { width: 40%; }

.sec-examination1 .box-wrap h4 {
	margin: 28px 0 12px;
	font-family: var(--font-min-d);
	font-size: 15px;
	letter-spacing: 0.13em;
}

.sec-examination1 .box-wrap h4:first-of-type { margin-top: 34px; }
.sec-examination1 .box-wrap p { padding-left: 2px; }

/* .sec-examination2
------------------------------------*/
.sec-examination2 {
	display: -webkit-box;
	display: flex;
	width: 1125px;
	margin: 0 auto 140px;
}

.sec-examination2 .img {
	width: 620px;
	min-width: 620px;
}

.sec-examination2 .img { align-self: flex-start; }

.sec-examination2 .img figure {
	margin-bottom: 30px;
}

.sec-examination2 .img h3 {
	margin-bottom: 19px;
	font-size: 14px;
	letter-spacing: 0.08em;
}

.sec-examination2 .img h4 {
	margin-bottom: 16px;
}

.sec-examination2 .img h4 strong {
	font-family: var(--font-sans-sbook);
	font-size: 21px;
	letter-spacing: 0.04em;
}

.sec-examination2 .img h4 span {
	padding-left: 8px;
	font-size: 15px;
	letter-spacing: 0.06em;
}

.sec-examination2 .txt {
	margin-top: -5px;
	padding: 0 0 0 56px;
}

.sec-examination2 .txt h2 {
	margin-bottom: 14px;
	letter-spacing: 0.12em;
}

.sec-examination2 p,
.sec-examination2 p span.p {
	display: block;
	margin-bottom: 8px;
	font-size: 15px;
	letter-spacing: 0.08em;
}

#gastroscopyContents .sec-examination2 p span.p {
	margin-bottom: 0;
}

.sec-examination2 p.attention {
	margin-top: 10px;
	font-size: 13px;
	letter-spacing: 0.11em;
}

.sec-examination2 .box-color {
	width: 395px;
	margin: 30px 0 0;
	padding: 34px 30px 26px;
}

.sec-examination2 .box-color figure {
	align-self: flex-start;
	width: 80px;
	min-width: 80px;
}

.sec-examination2 .box-color figure img { border-radius: 3px; }
.sec-examination2 .box-color figure.side img { border-radius: 3px 0 0 3px; }

.sec-examination2 .box-color h3 {
	margin-bottom: 15px;
	font-family: var(--font-min-d);
	font-size: 18px;
	letter-spacing: 0.1em;
}

.sec-examination2 .box-color p {
	letter-spacing: 0.04em;
	text-align: justify;
}

.sec-examination2 .box-color p.size-s {
	font-size: 14px;
	letter-spacing: 0.03em;
}

.sec-examination2 .box-color .img-s {
	position: relative;
	display: flex;
	justify-content: space-between;
	margin-top: 24px;
}

.sec-examination2 .box-color .img-s figure {
	width: 160px;
}

.sec-examination2 .box-color .img-s figure:not(.zoom) figcaption {
	position: static;
	background-color: inherit;
	margin-top: 14px;
	padding: 0;
	font-family: var(--font-sans-sbook);
	font-size: 17px;
	letter-spacing: 0.05em;
}

.sec-examination2 .box-color .img-s figure:not(.zoom) figcaption span {
	display: block;
	margin-bottom: 9px;
	font-size: 11px;
	letter-spacing: 0.04em;
}

.sec-examination2 .box-color .img-s figure:not(.side) figcaption {
	font-size: 16px;
}

.sec-examination2 .box-color .img-s figure:not(.side) figcaption span {
	font-size: 10px;
}

.sec-examination2 .box-color .img-s figure.side {
	display: flex;
	width: 100%;
}

.sec-examination2 .box-color .img-s figure.side figcaption {
	background-color: #E2E6F5;
	border-radius: 0 3px 3px 0;
	width: 100%;
	margin: 0;
	padding: 32px 0 0 25px;
}

.sec-examination2 .box-color .img-s .zoom {
	position: absolute;
	top: -10px;
	right: -26px;
	width: auto;
	text-align: center;
}

.sec-examination2 .box-color .img-s .zoom figcaption {
	display: block;
	background-color: inherit;
	position: static;
	margin-top: -6px;
	padding: 0;
	font-size: 13px;
	letter-spacing: 0.03em;
	text-align: center;
}

.sec-examination2 .box-color .img-s .zoom figcaption span {
	display: inline-block;
	background-color: #FFFFFF;
	margin-bottom: 3px;
	padding: 0px 3px 2px 4px;
}

/* .sec-examination3
------------------------------------*/
.sec-examination3 {
	width: 1040px;
	margin: 0 auto 140px;
}

.sec-examination3 dl > div {
	display: -webkit-box;
	display: flex;
	margin-bottom: 60px;
}

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

.sec-examination3 dt {
	margin-top: -24px;
	width: 240px;
	min-width: 240px;
	line-height: 1.75;
}

.sec-examination3 dt.title-sub.jp { padding-top: 24px; }
.sec-examination3 dt.title-sub.jp:before { width: 22px; }
.sec-examination3 dt.title-sub.jp strong { letter-spacing: 0.1em; }
.sec-examination3 dd p { font-size: 15px; }

/* .sec-method
------------------------------------*/
.sec-method {
	position: relative;
	width: 964px;
	margin: 190px auto 140px;
}

.sec-method:before {
	display: block;
	content: '';
	position: absolute;
	top: -140px;
	left: 50%;
	background: var(--color-line-navy);
	width: 1px;
	height: 90px;
}

.sec-method h2 {
	margin-bottom: 60px;
	text-align: center;
}

.sec-method h2 strong {
	display: block;
	margin-bottom: 18px;
	font-size: 21px;
	letter-spacing: 0.2em;
}

.sec-method h2 em {
	color: var(--color-navy-light);
	font-family: var(--font-sans-sbook);
	font-size: 13px;
	letter-spacing: 0.17em;
}

.method {
	display: -webkit-box;
	display: flex;
	box-sizing: border-box;
	border: 1px solid var(--color-line-navy);
	border-radius: 5px;
}

.method > div {
	box-sizing: border-box;
	width: 50%;
	padding: 50px 50px 45px;
}

.method > div:nth-child(odd) { background: url(img/share/line-dot-v.svg) repeat-y right top; }

.method h3 {
	position: relative;
	margin-bottom: 21px;
	padding-left: 41px;
	font-family: var(--font-min-d);
	font-size: 18px;
	letter-spacing: 0.14em;
	white-space: nowrap;
}

.method h3 i {
	display: block;
	position: absolute;
	top: 3px;
	left: 0;
	font-family: var(--font-sans-slight);
	font-size: 16px;
}

.method h3 i:after {
	display: block;
	content: '';
	position: absolute;
	top: 8px;
	right: -20px;
	background: var(--color-line-navy);
	width: 13px;
	height: 1px;
}

.method p {
	color: var(--color-navy-light);
	line-height: 1.9;
	text-align: justify;
}

/* .sec-price
------------------------------------*/
.sec-price {
	width: 986px;
	margin: 0 auto 120px;
}

.sec-price h2 {
	margin-bottom: 30px;
}

.sec-price > p {
	font-size: 15px;
	letter-spacing: 0.15em;
}

.sec-price > p.attention {
	margin-top: -8px;
	font-size: 13px;
}

.sec-price .price-list {
	margin-top: 45px;
}

/* .sec-flow
------------------------------------*/
.sec-flow {
	margin-bottom: 120px;
	padding: 85px 0 75px;
}

.sec-flow-inner {
	position: relative;
	box-sizing: border-box;
	width: 1000px;
	margin: 0 auto;
	padding: 0 0 0 70px;
}

.sec-flow-inner h2 {
	position: absolute;
	top: 4px;
	left: 0;
	font-family: var(--font-min-d);
	font-size: 20px;
	letter-spacing: 0.14em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.sec-flow-inner .attention-list li {
	margin-bottom: 12px;
}

.flow-list {
	margin-bottom: 26px;
}

.flow-list .inner {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	background-color: #FFFFFF;
	border-radius: 5px;
	margin-bottom: 20px;
	padding: 15px 0 15px 35px;
}

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

.flow-list h3 {
	position: relative;
	box-sizing: border-box;
	width: 175px;
	min-width: 175px;
	margin-top: 12px;
	padding-left: 20px;
	font-size: 16px;
	line-height: 1.7;
	letter-spacing: 0.14em;
}

.flow-list h3 i {
	display: block;
	position: absolute;
	top: 5px;
	left: 0;
	font-family: var(--font-serif);
	font-size: 15px;
}

.flow-list .txt {
	box-sizing: border-box;
	width: 100%;
	padding: 12px 25px 12px 0;
}

.flow-list .txt p {
	margin-bottom: 6px;
	line-height: 1.9;
	letter-spacing: 0.11em;
}

.flow-list .txt .attention-list {
	margin-top: 2px;
}

.flow-list .attention-list li {
	margin-top: 4px;
	margin-bottom: 3px;
	font-size: 13px !important;
}

.flow-list .attention-list li.let {
	letter-spacing: 0.08em;
	white-space: nowrap;
}

.flow-list .ico {
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: justify;
	justify-content: center;
	-webkit-box-align: center;
	align-items: center;
	border-left: 1px solid var(--color-line-navy-light);
	width: 120px;
	min-width: 120px;
	text-align: center;
}

.flow-list .ico a,
.flow-list .ico span {
	position: relative;
	width: 110px;
	height: 100%;
	transition: .15s ease-out;
	cursor: pointer;
}

.flow-list .ico:hover a,
.flow-list .ico:hover span {
	opacity: 0.5;
}

.flow-list .ico img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

/* .sec-reserve
------------------------------------*/
.sec-reserve {
	width: 1030px;
	margin: 0 auto;
}

.sec-reserve > figure {
	margin-bottom: 90px;
}

.sec-reserve .inner {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
}

.sec-reserve .txt {
	margin-left: 15px;
}

#gastroscopyContents .sec-reserve .txt {
	width: 505px;
	margin-left: 25px;
}

.sec-reserve h2 {
	margin-bottom: 28px;
}

.sec-reserve h3 {
	margin-bottom: 28px;
	font-size: 22px;
	line-height: 1.8;
	letter-spacing: 0.15em;
}

.sec-reserve .tel {
	margin: 0 0 28px 2px;
}

#gastroscopyContents .sec-reserve .tel {
	margin-bottom: 22px;
}

.sec-reserve .tel span {
	padding-bottom: 1px;
	font-size: 14px;
	letter-spacing: 0.1em;
}

.sec-reserve .tel strong {
	padding-left: 10px;
	font-family: var(--font-sans-slight);
	font-size: 27px;
	letter-spacing: 0.08em;
}

.sec-reserve .tel strong a {
	pointer-events: none;
}

.sec-reserve .txt > .dot-list li {
	margin-bottom: 5px;
	font-size: 15px;
}

.sec-reserve .box-color {
	margin: 30px -3px 0;
	padding: 26px 28px 24px;
}

.sec-reserve .box-color h4 {
	margin-bottom: 14px;
	font-family: var(--font-min-d);
	font-size: 15px;
	letter-spacing: 0.12em;
}

.sec-reserve .attention-list {
	margin-top: 12px;
}

.sec-reserve .inner .img {
	position: relative;
	width: 414px;
	margin-right: 12px;
}

#gastroscopyContents .sec-reserve .inner .img {
	margin-top: 5px;
}

.sec-reserve .inner .img figure {
	margin-bottom: 14px;
}

.sec-reserve .inner .img p {
	font-size: 12px;
	letter-spacing: 0.08em;
	text-align: justify;
}


/* page internal
---------------------------------------------------------------------------*/
#internalContents .img-main {
	margin-bottom: 130px;
}

/* .sec-internal
------------------------------------*/
.sec-internal {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	width: 930px;
	margin: 0 auto 90px;
}

.sec-internal .txt {
	white-space: nowrap;
}

.sec-internal .txt h2 {
	margin-bottom: 22px;
	font-size: 20px;
	line-height: 1.9;
	letter-spacing: 0.2em;
}

.sec-internal .txt p {
	font-size: 15px;
	line-height: 2.1;
	letter-spacing: 0.12em;
}

.sec-internal .box-wrap {
	margin-top: -35px;
	text-align: center;
}

.sec-internal .box-wrap h3 {
	display: inline-block;
	margin-bottom: 22px;
	font-size: 17px;
	letter-spacing: 0.12em;
}

.sec-internal .box-color {
	padding: 30px 30px 30px;
	text-align: left;
}

.sec-internal .box-color h4 {
	margin: 24px 0 12px;
	font-size: 15px;
	letter-spacing: 0.1em;
}

.sec-internal .box-color li { font-size: 15px; }
.sec-internal .box-color li span { font-size: 13px; }


/* page examination
---------------------------------------------------------------------------*/
#examinationContents .img-main {
	margin-bottom: 130px;
}

/* .sec-examination
------------------------------------*/
.sec-examination {
	width: 960px;
	margin: 0 auto;
}

.sec-examination h2 {
	margin-bottom: 20px;
	font-size: 22px;
	line-height: 1.8;
	letter-spacing: 0.15em;
}

.sec-examination h2 + p {
	letter-spacing: 0.13em;
}

/* .price-list
------------------------------------*/
.price-list {
	border-top: 1px solid var(--color-line-navy);
	margin: 40px -8px 0;
}

.price-list .inner {
	border-bottom: 1px solid var(--color-line-navy);
	padding: 32px 8px 30px;
}

.price-list .inner > div {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	position: relative;
}

.price-list .inner > div + div.sub {
	margin-top: 20px;
}

.price-list .inner > div + div.sub.mt0 {
	margin-top: 0;
	margin-bottom: 0;
	padding-top: 6px;
	padding-bottom: 7px;
}

.price-list .inner > div + div.sub.mt0.sub-top { padding-top: 3px; margin-top: 35px; }
.price-list .inner > div + div.sub.mt0.sub-btm { padding-bottom: 0; margin-bottom: 8px; }

.price-list .txt h3 {
	margin-bottom: 15px;
	font-size: 17px;
	letter-spacing: 0.15em;
}

.price-list .txt h3:last-child { margin-bottom: 0; }

.price-list .txt h3 span {
	padding-left: 10px;
	font-size: 12px;
	letter-spacing: 0.1em;
}

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

.price-list .txt.font-s h3 {
	margin-bottom: 20px;
}

.price-list .txt.font-s p {
	padding-left: 2px;
	font-size: 13px;
	line-height: 1.9;
}

.price-list .txt p.attention {
	margin-top: -7px;
	font-size: 13px;
}

.price-list .price {
	text-align: right;
	white-space: nowrap;
}

.price-list .price.absolute {
	position: absolute;
	top: 0;
	right: 0;
}

.price-list .price p {
	font-size: 13px;
}

.price-list .price p strong {
	padding: 0 2px 0 2px;
	font-family: var(--font-serif);
	font-size: 21px;
	line-height: 1;
	letter-spacing: 0.04em;
}

.price-list .price p i {
	margin-right: 3px;
	font-size: 11px;
}

.price-list .price p i:last-child { margin-right: 0; }

.price-list .price p.attention {
	margin-top: -6px;
	font-size: 13px;
}

.price-list .inner .sub {
	border-left: 1px solid #E5E5E5;
	margin: 15px 0 5px 5px;
	padding: 3px 0 0 18px;
}

.price-list .inner .sub h4 {
	margin-bottom: 10px;
	font-family: var(--font-min-d);
	font-size: 16px;
	letter-spacing: 0.15em;
}

.price-list .inner .sub h4:last-of-type { margin-bottom: 0; }

.price-list .inner .sub h4 span {
	padding-left: 12px;
	font-size: 12px;
	letter-spacing: 0.1em;
}

.price-list .inner .sub p {
	font-size: 13px;
	letter-spacing: 0.12em;
}


/* page access
---------------------------------------------------------------------------*/
#accessContents .img-main {
	margin-bottom: 90px;
}

/* .sec-access
------------------------------------*/
.sec-access {
	width: 1060px;
	margin: 0 auto 80px;
}

.sec-access h2 {
	margin-bottom: 90px;
	font-size: 21px;
	line-height: 1.8;
	letter-spacing: 0.2em;
	text-align: center;
}

.route {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
}

.route > div {
	width: 508px;
}

.route figure {
	position: relative;
	margin-bottom: 16px;
}

.route figure span {
	display: block;
	position: absolute;
}

.route1 .zoom1-1 { top: 72px; left: 184px; z-index: 1; }
.route1 .zoom1-2 { top: 38px; left: 40px; z-index: 2; }
.route1 .zoom1-3 { top: 37px; left: -61px; z-index: 3; }

.route1 .zoom2-1 { bottom: 79px; right: 161px; z-index: 1; }
.route1 .zoom2-2 { bottom: 15px; right: 21px; z-index: 2; }
.route1 .zoom2-3 { bottom: 14px; right: -37px; z-index: 3; }

.route2 .zoom3-1 { top: 164px; right: 226px; z-index: 1; }
.route2 .zoom3-2 { top: -20px; right: -20px; z-index: 2; }
.route2 .zoom3-3 { top: -37px; right: -79px; z-index: 3; }

.route p { letter-spacing: 0.08em; text-align: justify; }
.route p strong { padding-right: 0.5em; font-family: var(--font-min-d); }

/* .parking
------------------------------------*/
#accessContents #sec-clinic { padding-right: 0; }
#accessContents #sec-clinic .schedule { margin-bottom: 10px; }

#sec-clinic .schedule + p { display: none; }
#accessContents #sec-clinic .schedule + p { display: block; font-size: 13px; }

.parking {
	width: 494px;
}

.parking .title-sub {
	margin-bottom: 32px;
}

.parking figure {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	margin-bottom: 16px;
}

.parking figure img { align-self: flex-start; }


/* .modal
---------------------------------------------------------------------------*/
.modal-wrap {
	position: fixed;
	top: 0;
	left: 0;
	background: var(--color-bg-navy-light);
	width: 100%;
	height: 100%;
	z-index: 9999;
	display: none;
	opacity: 0;
}

.modal-close {
	position: absolute;
	top: 45px;
	right: 45px;
	text-align: center;
	transition: .15s ease-out;
	cursor: pointer;
	z-index: 2;
}

.modal-close:hover {
	opacity: 0.5;
}

.modal-close strong {
	display: block;
	margin-top: 10px;
	padding-left: 0.16em;
	font-size: 14px;
	letter-spacing: 0.16em;
	text-align: center;
}

.modal {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 1046px;
	z-index: 1;
	opacity: 0;
}

.modal figure {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
}

.modal figure img {
	align-self: flex-start;
}


/* error
---------------------------------------------------------------------------*/
.sec-error {
	width: 900px;
	margin: 200px auto 250px;
}

.sec-error h1 {
	margin-bottom: 33px;
	font-size: 23px;
	letter-spacing: 0.08em;
}

.sec-error p {
	font-size: 15px;
	line-height: 1.9;
	letter-spacing: 0.12em;
}


/* print
---------------------------------------------------------------------------*/
@media print {
	img {
		max-width: 100% !important;
	}
	header .logo {
		margin-right: 45px;
	}
	header .logo img {
		width: 317px !important;
		min-width: 317px !important;
		height: 28px !important;
	}
	footer {
		opacity: 1 !important;
	}
	.img-main-top {
		width: 100%;
	}
	header .gnav {
		width: 466px;
		max-width: 466px;
	}
	header .gnav ul {
		display: block !important;
		width: 585px;
	}
	header .gnav > ul > li {
		display: inline-block;
	}
	header .gnav > ul > li a img {
		width: auto !important;
		height: 16px !important;
	}
	header .tel {
		width: 216px;
		max-width: 216px;
	}
}