@charset "utf-8";
/*
Theme Name: 6mi-dental
Theme URI: https://6mi-dental.com/
Version: 1.0
*/

/* common
---------------------------------------------------------------------------*/
:root {
	--color-font-light: #829BB1;
	--color-font: #053864;
	--color-bg-light: #F6FCFE;
	--color-bg: #FFFFFF;
	--color-border-light: #D9E1E8;
	--color-border: #ABC1D1;
	--color-btn-light: #9BAFC1;
	--color-btn: #80AFD8;
	--font-gothic: 'FP-こぶりなゴシック StdN W3', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	--font-gothic-b: 'FP-こぶりなゴシック StdN W6', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	--font-min: '游明朝体', '游明朝', YuMincho, 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'Noto Serif JP', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
	--font-serif: 'AGaramondPro-Regular', serif;font-family: "fot-tsukuardgothic-std", sans-serif;
	--font-sans: 'Work Sans', sans-serif;
}

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

body {
	background-color: var(--color-bg);
	color:#4D4D4D;
	font-size: 14px;
	font-family: "fot-tsukuardgothic-std", sans-serif;
	line-height: 1;
	font-feature-settings: 'palt' 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
	min-height: 100vh;
	min-height: -webkit-fill-available;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}

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

::-moz-selection { background: #CCCCCC; color:#4D4D4D; }
::selection { background: #CCCCCC; color:#4D4D4D; }

p { font-size: 14px; line-height: 1.9; letter-spacing: 0.08em; margin-bottom: 10px; }
p.mt { margin-top: 10px; }
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; }
.narrow { display: inline-block !important; }
.wide { display: none !important; }
.inline, .inline-narrow { display: inline !important; }

/* #loading
------------------------------------*/
#loading {
	display: block;
	opacity: 1;
	position: fixed;
	top: 50%;
	left: 50%;
	border: 1px solid#4D4D4D;
	border-top-color: transparent;
	border-radius: 50%;
	width: 16px;
	height: 16px;
	margin: -8px 0 0 -8px;
	z-index: 99999;
	animation: spin .4s infinite linear;
}

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

/* txt
------------------------------------*/
.font-gothic { font-family: "fot-tsukuardgothic-std", sans-serif; }
.font-gothic-b { font-family: "fot-tsukuardgothic-std", sans-serif; }

.font-min,
.title-line,
.img-txt h3,
.img-txt h4 { font-family: "fot-tsukuardgothic-std", sans-serif; }

.font-serif { font-family: var(--font-serif); }
.font-sans { font-family: var(--font-sans); }

.img-txt .txt p br,
.top-concept p br,
.top-doctor .txt p br,
.medical-lead .txt p br,
.medical-detail-lead p br {
	display: none;
}

/* link
------------------------------------*/
a { color:#4D4D4D; text-decoration: none; -webkit-transform: translateZ(0); -webkit-tap-highlight-color: rgba(0,0,0,0); }

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

.line:after,
.title-line span:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background-color:#4D4D4D;
	width: 100%;
	height: 1px;
}

/* .btn
------------------------------------*/
.btn-line a {
	display: inline-block;
	background: url("img/share/ico-arrow.svg") no-repeat right 13px center / 7px auto;
	border: 1px solid var(--color-border-light);
	padding: 12px 32px 12px 14px;
	font-size: 13px;
	letter-spacing: 0.06em;
	text-align: left;
}

.btn-reserve a {
	display: inline-block;
	border: 1px solid  #f8a5c2;
	border-radius: 26px;
	padding: 9px 15px 8px 16px;
	font-size: 13px;
	letter-spacing: 0.06em;
	text-align: left;
}

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

.btn-wrap > div {
	width: 48%;
}

.btn-wrap > div a {
	display: block;
	white-space: nowrap;
}

/* .btn-nav
------------------------------------*/
.btn-nav {
	position: fixed;
	top: 0;
	right: 0;
	box-sizing: border-box;
	height: 92px;
	padding: 37px 30px;
	z-index: 10000;
	pointer-events: none;
	opacity: 0;
}

/*
.btn-nav-top {
	transition: .15s ease-out;
}
*/

.btn-nav.absolute {
	position: absolute !important;
}

.btn-nav.on {
	pointer-events: auto;
}

.btn-nav div, .btn-nav span {
	display: inline-block;
	box-sizing: border-box;
	transition: all .2s;
}

.btn-nav div {
	position: relative;
	width: 42px;
	height: 18px;
}

.btn-nav span {
	position: absolute;
	left: 0;
	background-color:#f8a5c2;
	border-radius: 2px;
	width: 100%;
	height: 2px;
}

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

/* .btn-nav.active
------------------------------------*/
.btn-nav.active span { background-color: #FFFFFF !important; }
.btn-nav.active span:nth-of-type(1) { transform: translateY(8px) rotate(-25deg); }
.btn-nav.active span:nth-of-type(2) { animation: active-menu-bar02 .4s forwards; opacity: 0; }
.btn-nav.active span:nth-of-type(3) { transform: translateY(-8px) rotate(25deg); }
@-webkit-keyframes active-menu-bar02 {100%{ height: 0; }}
@keyframes active-menu-bar02 {100%{ height: 0; }}

/* .nav-fix
------------------------------------*/
.nav-fix {
	position: fixed;
	top: 0;
	right: -100vw;
	background: linear-gradient(184.58deg, #EED4D4 0%, #D7C1C1 93.25%);
	box-sizing: border-box;
	width: 100vw;
	height: 100%;
	color: #FFFFFF;
	white-space: nowrap;
	z-index: 9999;
}

.nav-fix .inner {
	box-sizing: border-box;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 0 0 35px 35px;
	opacity: 0;
}

.nav-fix .sns {
	margin: 0 0 32px -7px;
}

.gnav > ul > li:not(:last-child) {
	margin-bottom: 8px;
}

.gnav > ul > li > a {
	display: inline-block;
	padding: 0 20px 10px 0;
	color: #FFFFFF;
}

.gnav > ul > li > a strong {
	display: block;
	margin-bottom: 3px;
	font-size: 16px;
	letter-spacing: 0.06em;
	font-weight: 800;
}

.gnav > ul > li > a em {
	margin-left: 1px;
	font-size: 11px;
	opacity: 0.6;
	letter-spacing: 0.04em;
}

.gnav li ul {
	position: relative;
	margin: 12px 0 34px;
	padding-left: 20px;
}

.gnav li ul:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 4px;
	background: rgba(255,255,255,0.4);
	width: 1px;
	height: calc(100% + 4px);
}

.gnav li li {
	margin-bottom: 15px;
	font-size: 13px;
	letter-spacing: 0.08em;
}

.gnav li li a {
	border-bottom: 1px solid rgba(255,255,255,0.4);
	color: #FFFFFF;
}

.sns {
	display: -webkit-box;
	display: flex;
	margin: 0 0 20px -7px;
}

.sns a {
	display: inline-block;
	padding: 5px;
}

.sns a .white,
.nav-fix .sns a img,
.sns .ico-access { display: none; }

.nav-fix .sns a .white,
.nav-fix .sns .ico-access { display: block; }


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


/* header
---------------------------------------------------------------------------*/
header {
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 24px;
	opacity: 0;
}

header {
	padding: 27px 0 0 21px;
}

header .logo {
	width: 202px;
}

header .logo img {
	width: 100%;
	height: auto;
}


/* footer
---------------------------------------------------------------------------*/
footer {
	display: none;
}

/* .schedule
------------------------------------*/
.schedule {
	white-space: nowrap;
}

.schedule table {
	width: 100%;
}

.schedule tr {
	border-bottom: 1px solid #fbcadb;
}

.schedule th,
.schedule td {
	padding: 12px 9px;
}

.schedule th {
	font-size: 13px;
	text-align: center;
	vertical-align: middle;
}

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

.schedule td {
	font-size: 14px;
	text-align: center;
	vertical-align: middle;
}

.schedule td:first-of-type {
	padding-left: 13px;
	text-align: right;
	letter-spacing: 0.04em;
}

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

.schedule > p {
	position: absolute;
	bottom: 0;
	left: 0;
}


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

.contents {
	opacity: 0;
}

#newsContents,
#questionContents {
	padding-top: 40px;
}

/* .img-fix
------------------------------------*/
.img-fix {
	position: relative;
	width: 100%;
	height: 100vh;
	z-index: 0;
	opacity: 0;
}

.img-fix .slick-slider,
.slider-top.slick-slider {
	height: 100%;
}

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

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

.img-fix .inner:first-of-type {
	opacity: 1;
}

.img-fix .inner img {
	position: relative;
	object-fit: cover;
	width: 100%;
	height: 100%;
	z-index: 0;
}

.img-fix .inner.btm img {
	object-position: 0 100%;
}

.img-fix .copyright {
	display: block;
	position: absolute;
	bottom: 14px;
	left: 16px;
	font-size: 10px;
	transform-origin: left bottom;
	transform: scale(0.9);
	letter-spacing: 0;
	z-index: 100;
}

/* .slider
------------------------------------*/
.slider figure:not(:first-of-type) {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
}

/* .img-btm
------------------------------------*/
.img-btm {
	display: none;
	overflow: hidden;
	width: 100%;
	height: 263px;
	opacity: 0;
}

body:not(.top) .img-btm {
	height: 0;
}

.img-btm2 {
	margin-top: 3px;
}

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

.img-btm .inner img {
	width: auto;
	height: 130px;
}

/* .title-page
------------------------------------*/
.title-page {
	display: none !important;
	margin-bottom: 25px;
	text-align: center;
	white-space: nowrap;
}

#newsContents .title-page,
#questionContents .title-page {
	display: block !important;
}

.title-page a {
	display: inline-block;
}

.title-page h1,
.title-page h2 {
	font-size: 20px;
	letter-spacing: 0.16em;
	padding-left: 0.16em;
}

.title-page em {
	display: block;
	font-size: 12px;
	letter-spacing: 0.06em;
}

/* .title-sec
------------------------------------*/
.title-sec {
	position: relative;
	margin-bottom: 24px;
	padding: 0 0 0 26px;
	font-size: 14px;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

.title-sec:before {
	display: block;
	content: '';
	position: absolute;
	top: 7px;
	left: 0;
	background: var(--color-font-light);
	width: 14px;
	height: 1px;
	opacity: 0.8;
}

/* .title-line
------------------------------------*/
.title-line span {
	display: inline-block;
	padding-bottom: 4px;
	font-size: 13px;
	letter-spacing: 0.04em;
}

.title-line.let span {
	letter-spacing: 0.12em;
}

.title-line span:after {
	background: var(--color-font-light);
	opacity: 0.5;
}

/* .nav-page
------------------------------------*/
.nav-page {
	margin: 15px 5px 65px;
}

.nav-page ul {
	position: relative;
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	-webkit-box-align: center;
	align-items: center;
	justify-content: space-between;
}

.nav-page li {
	position: relative;
	width: 31.8%;
}

.nav-page li:nth-of-type(2) {
	width: 36.4%;
}

.nav-page li:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	background: var(--color-border);
	width: 1px;
	height: 100%;
}

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

.nav-page li a {
	display: block;
	padding: 5px;
	font-size: 13px;
	letter-spacing: 0.09em;
	text-align: center;
	white-space: nowrap;
}

/* .img-txt
------------------------------------*/
.img-txt {
	margin-bottom: 55px;
	padding: 0 7.5%;
}

.img-txt figure {
	margin-bottom: 29px;
}

.img-txt .txt {
	padding: 0 6px;
}

.img-txt .txt h2 {
	margin-bottom: 14px;
}

.img-txt .txt h3 {
	margin-bottom: 17px;
	font-size: 19px;
	line-height: 1.7;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.img-txt .txt h4 {
	margin: 18px 0 4px;
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.img-txt .txt h4:first-of-type {
	margin-top: 28px;
}

.img-txt .txt p {
	margin-bottom: 10px;
	line-height: 1.8;
	letter-spacing: 0.04em;
	text-align: justify;
}

.img-txt .txt p.attention {
	margin-top: 19px;
	font-size: 13px !important;
	line-height: 1.75 !important;
	letter-spacing: 0.06em !important;
	opacity: 0.8;
}

.img-txt .txt p .attention {
	font-size: 12px;
}

.img-txt .txt h4 + p {
	font-size: 13px;
}

.img-txt .txt .btn-line {
	margin-top: 24px;
}

/* .dot-list
------------------------------------*/
.dot-list li,
.news-main ul 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,
.news-main ul li:last-of-type {
	margin-bottom: 0;
}

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

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

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

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

/* .modal-txt-btn
------------------------------------*/
.modal-txt-wrap {
	display: inline-block;
	position: relative;
}

.modal-bg {
	display: none;
	position: absolute;
	top: -100vh;
	left: -100vw;
	background: var(--color-bg-light);
	width: 300vw;
	height: 300vh;
	opacity: 0;
}

.modal-txt-btn {
	display: inline-block;
/* 	background: var(--color-bg); */
	margin-right: 3px;
	cursor: default;
}

.modal-txt-btn:after {
	width: calc(100% - 21px);
	opacity: 0.5;
}

/*
.modal-txt-btn:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background: var(--color-bg-light);
	width: 100%;
	height: 100%;
	z-index: 10;
	pointer-events: none;
	transition: .2s linear .1s;
	opacity: 0;
}

.modal-txt-wrap.active .modal-txt-btn:before {
	transition: .2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	opacity: 0.9;
}
*/

.modal-txt-btn > span > img {
	display: inline-block;
	margin-left: 3px;
	transform: translateY(1px);
}

.modal-txt {
	display: block;
	position: absolute;
	bottom: -10px;
	left: -50px;
	width: 280px;
	padding: 0 0 32px;
	visibility: hidden;
	opacity: 0;
}

.modal-txt > span {
	display: block;
	box-sizing: border-box;
	position: relative;
	background-color: #FFFFFF;
	border: 1px solid var(--color-border-light);
	border-radius: 7px;
	box-shadow: 0 3px 4px 0 rgba(0,0,0,0.06);
	padding: 24px 24px 22px;
	font-size: 12px;
	line-height: 1.7;
	letter-spacing: 0.02em;
	text-align: justify;
}

.modal-txt > span img {
	display: block;
	width: 90%;
	margin: 0 auto 15px;
}

/*
.modal-txt-wrap:hover .modal-txt {
	visibility: visible;
	opacity: 1;
	bottom: 0;
	transition: .3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
*/


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

/* .news-nav
------------------------------------*/
.news-nav,
.news-list {
	box-sizing: border-box;
	margin: 0 auto;
}

.news-nav {
	margin-bottom: 42px;
	text-align: center;
}

.btn-select {
	display: inline-block;
	position: relative;
	overflow: hidden;
	margin: -4px -16px;
}

.btn-select select {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	cursor: pointer !important;
	width: 100% !important;
	height: 100% !important;
	z-index: 2;
}

.btn-select .customSelect {
	display: block;
	box-sizing: border-box;
	width: 100%;
	font-size: 16px;
	letter-spacing: 0.08em;
	text-align: left;
}

.btn-select .customSelect .customSelectInner {
	box-sizing: border-box;
	border: 1px solid var(--color-border-light);
	width: 100% !important;
	padding: 13px 46px 15px 20px;
	transform-origin: center center;
	transform: scale(0.75);
}

.btn-select .customSelect .customSelectInner:before,
.btn-select .customSelect .customSelectInner:after {
	display: block;
	content: '';
	position: absolute;
	top: 22px;
	background:#4D4D4D;
	border-radius: 1px;
	width: 10px;
	height: 1px;
}

.btn-select .customSelect .customSelectInner:before {
	right: 24px;
	transform: rotate(55deg);
}

.btn-select .customSelect .customSelectInner:after {
	right: 19px;
	transform: rotate(-55deg);
}

/* .news-list
------------------------------------*/
.news-list {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 0 6% 0 8%;
}

.news-list article {
	width: 45.5%;
	margin-bottom: 30px;
}

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

.news-list figure {
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 0;
	margin-bottom: 11px;
	padding-bottom: 71.3%;
}

.news-list figure.noimg:before,
.news-list-s figure.noimg:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	box-sizing: border-box;
	border: 1px solid var(--color-border-light);
	width: 100%;
	height: 100%;
	z-index: 1;
}

.news-list figure img,
.news-list-s figure img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	height: 100%;
}

.news-list .category {
	display: block;
	position: absolute;
	top: 0;
	left: -15px;
	font-size: 10px;
	letter-spacing: 0.08em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.news-list h2 {
	margin-bottom: 8px;
	font-size: 12px;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

.news-list time {
	display: block;
	font-size: 12px;
	letter-spacing: 0.03em;
}

/* .news-list-s
------------------------------------*/
.news-list-s {
	border-bottom: 1px solid var(--color-border-light);
}

.news-list-s article {
	border-top: 1px solid var(--color-border-light);
}

.news-list-s article a {
	display: -webkit-box;
	display: flex;
	padding: 16px 8px 16px 8px;
}

.news-list-s figure {
	overflow: hidden;
	position: relative;
	width: 100px;
	min-width: 100px;
	height: 71px;
	border-radius: 2px;
}

.news-list-s a > span {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	width: calc(100% - 115px);
	padding: 0 0 0 20px;
}

.news-list-s time {
	order: 1;
	width: 100%;
	margin: 6px 0 0 1px;
	font-size: 10px;
	letter-spacing: 0.03em;
}

.news-list-s h2 {
	order: 2;
	width: 100%;
	margin: -1px 0 5px;
	font-size: 14px;
	letter-spacing: 0.06em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.news-list-s .category {
	order: 3;
	width: 100%;
	font-size: 11px;
	letter-spacing: 0.06em;
}


/* news single
---------------------------------------------------------------------------*/
.news-area {
	padding: 10px 8% 0;
}

/* .news-title
------------------------------------*/
.news-title {
	margin-bottom: 25px;
}

.news-title time {
	display: inline-block;
	font-size: 12px;
	letter-spacing: 0.06em;
}

.news-title .post-categories {
	display: inline-block;
	margin-left: 7px;
	font-size: 11px;
	letter-spacing: 0.1em;
}

.news-title .post-categories li {
	display: inline-block;
}

.news-title h1 {
	padding-top: 10px;
	font-size: 18px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

/* .news-main
------------------------------------*/
.news-main,
.news-main p,
.news-main ul li,
.news-main ol li {
	font-size: 13px;
	line-height: 1.9;
	letter-spacing: 0.06em;
	text-align: justify;
}

.news-main ul li,
.news-main ol li {
	margin-bottom: 5px;
	line-height: 1.7;
}

.news-main p {
	margin-bottom: 15px;
	word-break: break-all;
}

.news-main p:last-child { margin-bottom: 0; }
.news-main a { text-decoration: underline; word-break: break-all; }
.news-main strong { display: inline-block; padding-bottom: 4px; font-family: "fot-tsukuardgothic-std", sans-serif; font-weight: bold; }
.news-main em { font-style: italic; }
.news-main del { text-decoration: line-through; }

.news-main img {
	display: block;
	width: calc(100% + 20px);
	height: auto;
	margin: 0 -10px;
	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: 25px; }
.news-main .wp-caption-text { margin-top: -5px; }

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

.news-main ul li {
	list-style: none;
}

.news-main ol li {
	list-style: decimal;
	margin: 0 0 4px 24px !important;
}

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

.news-main blockquote {
	background: #F5F5F5;
	padding: 28px 35px;
}

/* .sec-table
------------------------------------*/
.sec-table {
	margin-top: 55px;
}

.sec-table h3 {
	margin: 40px 0 15px;
	font-family: "fot-tsukuardgothic-std", sans-serif;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

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

.news-table {
	box-sizing: border-box;
	border-top: 1px solid var(--color-border-light);
	width: 100%;
	margin-bottom: 35px;
}

.news-table tr {
	border-bottom: 1px solid var(--color-border-light);
}

.news-table th,
.news-table td {
	padding-top: 14px;
	padding-bottom: 13px;
}

.news-table th,
.news-table td,
.news-table td p {
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

.news-table th {
	position: relative;
	box-sizing: border-box;
	width: 35%;
	padding-right: 10px;
	padding-left: 5px;
	font-weight: normal;
	text-align: left;
	vertical-align: top;
}

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

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

/* .news-link
------------------------------------*/
.news-link {
	overflow: hidden;
	margin-top: 35px;
}

.news-link li {
	float: left;
	margin: 0 10px 10px 0;
}

.news-link li:last-of-type {
	margin-right: 0;
}

/* .news-other
------------------------------------*/
.news-other {
	margin: 100px auto 0;
}

.news-other > h2 {
	margin-bottom: 40px;
	font-size: 18px;
	letter-spacing: 0.1em;
	text-align: center;
}


/* .wp-pagenavi
---------------------------------------------------------------------------*/
.wp-pagenavi {
	overflow: hidden;
	margin-top: 45px;
	padding-bottom: 60px;
	font-size: 17px;
	text-align: center;
}

.wp-pagenavi .extend {
	display: none;
}

.wp-pagenavi a {
	display: inline-block;
	margin: 0 4px;
	padding: 5px;
}

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

.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
	background: url("img/share/ico-arrow.svg") no-repeat center center;
	width: 8px;
	height: 10px;
	text-indent: -9999px;
	transform: translateY(2px);
}

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

.wp-pagenavi a.nextpostslink {
	margin-left: 13px;
}


/* page top
---------------------------------------------------------------------------*/
body.top .img-fix {
	overflow: hidden;
	height: 0;
	z-index: -999;
}

body.top .img-btm {
	display: block;
	opacity: 1;
}

/* .top-main
------------------------------------*/
.top-main {
	margin-bottom: 80px;
}

.top-main nav,
.top-main .sns {
	display: none;
}

.top-main .logo {
	position: fixed;
	bottom: 16px;
	left: 18px;
	width: 187px;
	z-index: 100;
	opacity: 0;
}

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

.btn-nav-btm {
	position: fixed;
	top: inherit;
	bottom: -7px;
	right: -5px;
	z-index: 100;
	opacity: 0;
}

.top-main .img {
	position: relative;
	overflow: hidden;
	height: calc(100vh - 425px);
	margin-bottom: 30px;
}

.top-main .img .mask {
	position: absolute;
	top: 0;
	right: 0;
	background: var(--color-bg);
	width: calc(100% + 20px);
	height: 100%;
	z-index: 10;
}

.top-main .img img {
	object-fit: cover;
	object-position: 0 55%;
	width: 100%;
	height: 100%;
}

/* .top-main .txt
------------------------------------*/
.top-main .txt {
	position: relative;
	width: 290px;
	margin: 0 auto -69px;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
	text-orientation: upright;
	z-index: 1;
}

.top-main .txt h2,
.top-main .txt p,
.top-main .txt .btn {
	opacity: 0;
}

.top-main .txt h2 {
	margin: 0 0 0 24px;
}

.top-main .txt h2 span {
	display: inline-block;
	transform: translateY(-2px);
}

.top-main .txt p {
	margin-left: 11px;
	font-size: 12px;
	line-height: 1.9;
	letter-spacing: 0.1em;
}

.top-main .txt p span {
	display: inline-block;
	margin-bottom: -5px;
}

.top-main .txt .btn {
	display: inline-block;
	margin-right: 12px;
}

.top-main .txt .btn a {
	display: inline-block;
	margin: -10px -10px 0 0;
	padding: 10px;
	font-size: 13px;
	letter-spacing: 0.1em;
}

.top-main .txt .btn i {
	display: inline-block;
	margin-bottom: 7px;
	transform: translateX(-1px);
}

.top-main .txt .btn i img {
	width: 14px;
	height: auto;
}

/* .top-main .slider-top
------------------------------------*/
.top-main .slider-top-wrap {
	padding: 0 9%;
	z-index: 0;
	opacity: 0;
}

.top-main .slider-top {
	width: 100%;
	height: 100%;
}

.top-main .slider-top .inner {
	top: 0 !important;
	left: 0 !important;
}

.top-main .slider-top .inner:not(:first-child) {
	position: absolute !important;
}

.top-main .slider-top .inner img {
	width: 100%;
	height: auto;
}

.top-main .slider-top .slick-dots {
	display: none !important;
/*
	position: absolute;
	bottom: -25px;
	right: -5px;
*/
}

/*
.top-main .slider-top .slick-dots li {
	position: relative;
	display: inline-block;
	width: 16px;
	height: 16px;
}

.top-main .slider-top .slick-dots button {
	position: relative;
	width: 100%;
	height: 100%;
	text-indent: -9999px;
	transition: .15s ease-out;
}

.top-main .slider-top .slick-dots button:after {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	background: #053864;
	border-radius: 50%;
	width: 4px;
	height: 4px;
}

.top-main .slider-top .slick-dots button:hover:after,
.top-main .slider-top .slick-dots .slick-active button:after {
	background: #ECBEBE;
}
*/

/* .top-main .top-tel
------------------------------------*/
.top-main .top-tel {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	margin: 80px 0 85px;
	padding: 0 6%;
}

.top-main .top-tel h2,
.top-main .top-tel .tel {
	display: none;
}

.top-main .top-tel .btn-reserve {
	width: calc(100% - 55px);
}

.top-main .top-tel .btn-reserve a {
	display: block;
	box-sizing: border-box;
	height: 42px;
	padding-top: 13px;
	font-family: "fot-tsukuardgothic-std", sans-serif;
	font-size: 13px;
	text-align: center;
}

.top-main .top-tel .btn-tel {
	width: 42px;
	min-width: 42px;
}

/* .top-news
------------------------------------*/
.top-news {
	margin: 0 auto 80px;
	padding: 0 6%;
}

.top-news > h2 {
	margin: 0 0 19px 11px;
	font-size: 15px;
	letter-spacing: 0.1em;
}

.news-list-top {
	border-top: 1px solid #fbcadb;
}

.news-list-top article {
	border-bottom: 1px solid #fbcadb;
}

.news-list-top article a {
	display: block;
	padding: 16px 10px 20px 10px;
	white-space: nowrap;
}

.news-list-top time {
	display: inline-block;
	margin: 0 6px 0 1px;
	font-size: 12px;
	letter-spacing: 0.06em;
}

.news-list-top .category {
	display: inline-block;
	font-size: 10px;
	letter-spacing: 0.08em;
}

.news-list-top h3 {
	width: 100%;
	margin-top: 8px;
	font-size: 14px;
	letter-spacing: 0.08em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* .top-concept
------------------------------------*/
.top-concept {
	overflow: hidden;
	margin-bottom: 90px;
	padding: 0 0 0 calc(6% + 10px);
}

.top-concept h2 {
	margin: 0 0 28px;
	font-size: 19px;
	line-height: 1.7;
	letter-spacing: 0.1em;
}

.top-concept figure {
	display: -webkit-box;
	display: flex;
	width: calc(100% + 1px);
	margin-bottom: 30px;
}

.top-concept figure picture {
	width: 50%;
	margin-right: 1px;
}

.top-concept .txt {
	padding: 0 9% 0 0;
}

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

.top-concept .btn-wrap {
	margin: 28px -5px 0;
}

.top-concept .btn-wrap a {
	font-size: 14px;
}

/* .top-doctor
------------------------------------*/
.top-doctor {
	position: relative;
	margin-bottom: 90px;
	z-index: 1;
}

.top-doctor:after {
	display: block;
	content: '';
	position: absolute;
	top: 25.5vw;
	right: calc(6% + 15px);
	background: radial-gradient(138.77% 634.88% at 6.83% 89.83%, #EED4D4 0%, #E1CDCD 83.97%);
	width: 100vw;
	height: calc(81.5vw + 55px);
	z-index: -1;
}

.top-doctor h2 {
	position: absolute;
	top: calc(60vw - 18px);
	left: 9%;
	z-index: 2;
	transform-origin: left bottom;
	transform: rotate(90deg) scale(0.8);
}

.top-doctor h3 {
	position: absolute;
	top: 0;
	right: 8.4%;
	z-index: 2;
}

.top-doctor h3 img {
	width: 51px;
	height: auto;
}

.top-doctor h4 {
	position: absolute;
	top: 60vw;
	left: 13%;
	font-size: 13px;
	line-height: 1.75;
	letter-spacing: 0.08em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
	z-index: 2;
}

.top-doctor .img1 {
	margin: 0 0 12%;
	width: 68%;
}

.top-doctor .img2 {
	display: none;
}

.top-doctor .img3 {
	margin: 0 0 85px 34%;
	width: 66%;
	z-index: 0;
}

.top-doctor .txt {
	padding: 0 9%;
}

.top-doctor .txt p {
	letter-spacing: 0.04em;
	text-align: justify;
}

.top-doctor .txt .btn-line {
	margin-top: 28px;
}

.top-doctor .txt .btn-line a {
	display: block;
	padding: 14px 0 14px 2px;
	font-size: 14px;
	letter-spacing: 0.12em;
	text-align: center;
}

/* .top-medical
------------------------------------*/
#topContents .nav-medical {
	margin-top: 0;
	padding-top: 0;
}

/*
.top-medical {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 55px;
	padding: 0 6%;
}

.top-medical .inner {
	box-sizing: border-box;
	border: 1px solid var(--color-border-light);
	width: 49%;
	margin-bottom: 2.2%;
	padding: 20px 12px 12px;
	text-align: center;
}

.top-medical .inner h2 {
	margin-bottom: 18px;
	white-space: nowrap;
}

.top-medical .inner h2 span {
	font-size: 15px;
	letter-spacing: 0.06em;
}

.top-medical .inner h2 span:after {
	background:#4D4D4D;
}

.top-medical .inner p {
	padding: 0 5px;
	font-size: 12px;
	line-height: 1.7;
	letter-spacing: 0.02em;
	text-align: justify;
}

.top-medical .inner .btn-line {
	margin-top: 18px;
}

.top-medical .inner .btn-line a {
	display: block;
	padding-top: 11px;
	padding-bottom: 11px;
}
*/


/* page about
---------------------------------------------------------------------------*/

/* .about-lead
------------------------------------*/
.about-lead {
	margin: 0 auto 100px;
	text-align: center;
}

.about-lead figure,
.doctor-lead figure {
	margin-bottom: 45px;
}

.about-lead .txt,
.doctor-lead .txt {
	padding: 0 9%;
}

.about-lead h2,
.doctor-lead h2 {
	margin-bottom: 36px;
	font-size: 21px;
	line-height: 1.75;
	letter-spacing: 0.14em;
	text-align: center;
}

.about-lead p,
.doctor-lead p {
	margin-bottom: 16px;
	line-height: 2;
	letter-spacing: 0.02em;
	text-align: justify;
}

.about-lead p br,
.doctor-lead p br {
	display: none;
}

/* .about-policy
------------------------------------*/
.about-policy {
	margin: 0 auto 80px;
}

.about-policy h2 {
	margin-bottom: 40px;
	text-align: center;
}

.about-policy h2 em {
	display: block;
	margin-bottom: 12px;
	font-size: 26px;
	letter-spacing: 0.08em;
}

.about-policy h2 strong {
	display: inline-block;
	border-bottom: 1px solid#4D4D4D;
	padding-bottom: 2px;
	font-size: 16px;
	letter-spacing: 0.1em;
}

.about-policy .inner {
	margin-bottom: 65px;
}

.about-policy .inner:last-child {
	margin-bottom: 0;
}

.about-policy .inner figure {
	position: relative;
	width: 100%;
	margin-bottom: 45px;
}

.about-policy .inner figcaption {
	position: absolute;
	top: calc(72vw + 48px);
	left: 20px;
	font-size: 12px;
	letter-spacing: 0.02em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.about-policy .inner .txt {
	padding: 0 9% 0 65px;
}

.about-policy .inner h3 {
	margin-bottom: 16px;
	font-size: 19px;
	line-height: 1.6;
	letter-spacing: 0.12em;
}

.about-policy .inner p {
	font-size: 13px;
	line-height: 1.9;
	letter-spacing: 0.04em;
	text-align: justify;
}

.about-policy .inner p br {
	display: none;
}

/* .about-access
------------------------------------*/
.about-access {
	margin-bottom: 60px;
	padding: 0 6%;
}

.about-access.narrow {
	margin-top: 80px;
	margin-bottom: 80px;
}

.about-access .map {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 88vw;
	margin-bottom: 32px;
}

.about-access iframe {
	position: absolute;
	top: -130px;
	left: 0;
	width: 100%;
	height: calc(100% + 130px);
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
}

.about-access .txt {
	position: relative;
	padding: 0 6px;
}

.about-access .txt .logo {
	display: none;
}

.about-access .txt .sns {
	position: absolute;
	top: -4px;
	right: 9px;
	margin: 0;
}

.about-access .txt .sns img {
	width: 30px;
	height: auto;
}

.about-access .txt .btn-reserve {
	margin: 0 0 18px -2px;
}

.about-access .txt address,
.about-access .txt p {
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0.02em;
}

.about-access .txt address {
	margin-bottom: 6px;
}

.about-access .txt .tel {
	margin-bottom: 10px;
	font-size: 15px;
	letter-spacing: 0.06em;
}

.about-access .txt .tel strong {
	padding-left: 3px;
	font-size: 25px;
}

.about-access .schedule {
	margin-top: 28px;
}

.about-access .schedule tr:first-of-type {
	border-top: 1px solid #fbcadb;
}

.about-access .schedule th {
	padding-top: 7px;
	padding-bottom: 7px;
	font-size: 13px;
	font-weight: normal;
}

.about-access .schedule th,
.about-access .schedule td {
	padding-right: 8px;
	padding-left: 8px;
}

.about-access .schedule td:first-of-type {
	padding-right: 12px;
	padding-left: 2px;
}

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

.about-access .txt .attention-list {
	margin-top: 16px;
}

.about-access .txt .attention-list li {
	margin-bottom: 3px;
	font-size: 11px;
	letter-spacing: 0.04em;
}

/* .about-wheelchair
------------------------------------*/
.about-wheelchair {
	margin: -10px 0 50px;
	padding: 0 calc(6% + 6px);
}

.about-wheelchair figure {
	margin-bottom: 28px;
}

.about-wheelchair .txt {
	padding: 0 6px;
}

.about-wheelchair h2 {
	margin-bottom: 18px;
	font-size: 16px;
	letter-spacing: 0.08em;
}

.about-wheelchair p {
	font-size: 13px;
	letter-spacing: 0.06em;
	text-align: justify;
}

/* .about-img-clinic
------------------------------------*/
.about-img-clinic {
	padding: 0 calc(6% + 6px);
	margin: 0 auto 90px;
}


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

/* .doctor-lead
------------------------------------*/
.doctor-lead {
	margin: 0 auto 65px;
}

.doctor-lead h2 {
	margin-bottom: 26px;
}

/* .doctor-profile
------------------------------------*/
.doctor-profile {
	margin-bottom: 60px;
	padding: 0 5%;
}

.doctor-profile .txt {
	position: relative;
	padding: 130px 10px 0 18px;
}

.doctor-profile .name {
	position: absolute;
	top: 30px;
	right: 16px;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.doctor-profile .name strong {
	display: block;
	font-size: 12px;
	letter-spacing: 0.12em;
}

.doctor-profile .name h2 {
	display: block;
	margin: 0 16px 0 18px;
	font-size: 19px;
	letter-spacing: 0.18em;
}

.doctor-profile .name em {
	display: block;
	margin-top: 1px;
	font-size: 12px;
	letter-spacing: 0.04em;
}

.doctor-profile p {
	letter-spacing: 0.04em;
}

.doctor-profile .carrer {
	display: -webkit-box;
	display: flex;
	margin-top: 45px;
	white-space: nowrap;
}

.doctor-profile .carrer > div {
	padding-right: 30px;
}

.doctor-profile.doctor1 .carrer > div {
	padding-right: 25px;
}

.doctor-profile .carrer dl:not(:last-child) {
	margin-bottom: 23px;
}

.doctor-profile .carrer dt {
	margin-bottom: 9px;
	font-size: 13px;
}

.doctor-profile .carrer dd {
	opacity: 0.8;
}

.doctor-profile .carrer dd li {
	margin-bottom: 2px;
	font-size: 12px;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

.doctor-profile.doctor1 .carrer dd li {
	letter-spacing: 0.02em;
}

.doctor-profile .carrer > dl dd li {
	margin-bottom: 3px;
}

.doctor-profile .carrer dd li:last-of-type {
	margin-bottom: 0;
}

/* .doctor-staff
------------------------------------*/
.doctor-staff {
	margin: 80px auto -38px;
}


/* page medical
---------------------------------------------------------------------------*/

/* .medical-lead
------------------------------------*/
.medical-lead {
	margin: 0 auto 75px;
}

.medical-lead .txt {
	position: relative;
	padding: 23px 7% 0 128px;
	text-align: justify;
}

.medical-lead .txt h2 {
	position: absolute;
	top: 0;
	left: 29px;
	font-size: 20px;
	line-height: 1.7;
	letter-spacing: 0.12em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.medical-lead .txt p {
	margin-bottom: 12px;
	line-height: 1.85;
	letter-spacing: 0.02em;
	text-align: justify;
}

/* .medical-service
------------------------------------*/
.medical-service {
	margin: 0 auto 100px;
}

.medical-service .txt {
	margin: 42px 0 46px;
	text-align: center;
}

.medical-service .txt h2 {
	margin-bottom: 16px;
}

.medical-service .txt h2 span {
	display: inline-block;
	position: relative;
	font-size: 13px;
	letter-spacing: 0.11em;
}

.medical-service .txt h2 span:before,
.medical-service .txt h2 span:after {
	display: block;
	content: '';
	position: absolute;
	top: 6px;
	background: var(--color-font-light);
	width: 16px;
	height: 1px;
	opacity: 0.3;
}

.medical-service .txt h2 span:before { left: -28px; }
.medical-service .txt h2 span:after { right: -26px; }

.medical-service .txt h3 {
	margin-bottom: 25px;
	font-size: 19px;
	line-height: 1.7;
	letter-spacing: 0.12em;
}

.medical-service .txt p {
	margin-bottom: 12px;
	line-height: 1.85;
	letter-spacing: 0.07em;
}

/* .medical-service .box
------------------------------------*/
.medical-service .box {
	box-sizing: border-box;
	background: var(--color-bg-light);
	border-radius: 8px;
	width: 86%;
	margin: 0 auto;
	padding: 34px 9% 28px;
}

.medical-service .box dt {
	margin-bottom: 12px;
	font-size: 15px;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

.medical-service .box dt:last-child {
	margin-bottom: 10px;
}

.medical-service .box dt em {
	font-size: 12px;
}

.medical-service .box dt .not-line {
	margin: -10px 0 10px;
}

.medical-service .box dt .not-line:after {
	display: none;
}

.medical-service .box dd {
	margin-bottom: 20px;
}

.medical-service .box dd li {
	margin-bottom: 4px;
	margin-left: 4px;
	padding-left: 12px;
	font-size: 13px;
	letter-spacing: 0.03em;
}

/* .medical-machine
------------------------------------*/
.medical-machine {
	margin: -60px auto 0;
	padding-top: 60px;
}

.medical-machine .title-sec {
	margin-left: 5%;
}

.medical-machine #sec-airflow {
	margin-top: -35px;
	padding-top: 35px;
}

/* .machine-main
------------------------------------*/
.machine-main {
	margin-bottom: 60px;
}

.machine-main figure {
	margin-bottom: 35px;
}

.machine-main .txt {
	padding: 0 calc(7.5% + 6px);
}

.machine-main .txt h2 {
	margin-bottom: 14px;
}

.machine-main .txt h3 {
	margin-bottom: 15px;
	font-size: 19px;
	line-height: 1.7;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.machine-main .txt p {
	letter-spacing: 0.02em;
	text-align: justify;
}

/* .machine-sub
------------------------------------*/
.machine-sub {
	
}

/* .machine-list
------------------------------------*/
.machine-list {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 70px auto 0;
	padding: 0 5%;
}

.machine-list .inner {
	width: 47.5%;
	margin-top: 35px;
}

.machine-list .inner:nth-of-type(1),
.machine-list .inner:nth-of-type(2) {
	margin-top: 0;
}

.machine-list figure {
	margin-bottom: 14px;
}

.machine-list h2 {
	margin-bottom: 13px;
}

.machine-list h2 span {
	font-size: 14px;
	letter-spacing: 0.08em;
}

.machine-list p {
	font-size: 12px;
	line-height: 1.7;
	letter-spacing: 0.02em;
	text-align: justify;
}

/* .nav-medical
------------------------------------*/
.nav-medical {
	margin: 25px auto 60px;
	padding: 95px 5% 0;
}

.nav-medical ul {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.nav-medical li {
	width: 47%;
}

.nav-medical li:nth-of-type(1),
.nav-medical li:nth-of-type(2) {
	margin-bottom: 33px;
}

.nav-medical li a {
	display: block;
}

.nav-medical li figure {
	overflow: hidden;
	border-radius: 4px;
	margin-bottom: 15px;
}

.nav-medical li h2 {
	font-size: 14px;
	letter-spacing: 0.1em;
	text-align: center;
}

/* .medical-question
------------------------------------*/
.medical-question {
	margin: 75px auto 0;
	padding: 0 6%;
}

.medical-question .question-list {
	padding: 0;
}

.medical-question .question-list dl > div {
	border-color: var(--color-border-light);
}

/* .medical-news
------------------------------------*/
.medical-news {
	margin: 75px auto 0;
	padding: 0 6%;
}

/* .medical-detail-lead
------------------------------------*/
.medical-detail-lead {
	margin: 0 auto;
}

.medical-detail-lead figure {
	margin-bottom: 45px;
}

.medical-detail-lead .txt {
	padding: 0 calc(7.5% + 6px);
}

.medical-detail-lead > .txt h2 {
	margin-bottom: 19px;
	font-size: 19px;
	line-height: 1.7;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.medical-detail-lead .txt p {
	letter-spacing: 0.06em;
	text-align: justify;
}


/* page cariology
---------------------------------------------------------------------------*/

/* .cariology-lead
------------------------------------*/
.cariology-lead {
	margin-bottom: 80px;
}

.cariology-lead > .txt {
	margin-bottom: 55px;
}

.cariology-lead .inner figure {
	margin-bottom: 30px;
	padding: 0 6%;
}

.cariology-lead .inner .txt h3 {
	margin-bottom: 12px;
	font-size: 18px;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.cariology-lead .inner .txt .btn-line {
	margin-top: 22px;
}

/* .cariology-service
------------------------------------*/
.cariology-service .img-txt figure {
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 85vw;
}

.cariology-service .img-txt figure img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.cariology-service .img-txt:nth-of-type(2) figure img { object-position: 0 50%; }

.cariology-service .img-txt .txt h3 {
	font-size: 18px;
}

.cariology-service .box,
.preventive-service .box {
	background: var(--color-bg-light);
	margin: 55px 0 0;
	padding: 36px 9% 34px;
}

.cariology-service .box {
	padding-top: 34px;
	padding-bottom: 32px;
}

.cariology-service .box h2 {
	margin-bottom: 12px;
}

.cariology-service .box h2 span {
	font-size: 14px;
}

.cariology-service .box h3 {
	margin-bottom: 15px;
	font-size: 18px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.cariology-service .box p,
.preventive-service .box p {
	font-size: 13px;
	letter-spacing: 0.04em;
	text-align: justify;
}


/* page preventive
---------------------------------------------------------------------------*/

/* .preventive-lead
------------------------------------*/
.preventive-lead {
	margin-bottom: 80px;
}

.preventive-lead > figure {
	margin-bottom: 50px;
}

.preventive-lead > .txt {
	margin-bottom: 80px;
	padding: 0 calc(7.5% + 10px);
}

.preventive-lead > .txt h2 {
	font-size: 18px;
}

.preventive-lead > .txt p {
	letter-spacing: 0.03em;
}

.preventive-lead .img {
	position: relative;
	margin: 34px 0 0;
}

.preventive-lead > .txt .img1 {
	width: 41%;
	margin: 0;
}

.preventive-lead > .txt .img2 {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 57.8%;
	margin: 0;
}

/* .preventive-service
------------------------------------*/
.preventive-service .img-txt .txt h3 {
	font-size: 18px;
}

.preventive-service .box figure {
	margin-bottom: 28px;
}

.preventive-service .box .txt h2 {
	margin-bottom: 20px;
}

.preventive-service .box .txt h2 span {
	font-size: 14px;
}

.preventive-service .box .txt h3 {
	margin: -6px 0 16px;
	font-size: 17px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}


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

/* .pediatric-lead
------------------------------------*/
.pediatric-lead {
	margin-bottom: 70px;
}

.pediatric-lead > .txt {
	margin-bottom: 60px;
}

.pediatric-lead > .txt h3 {
	margin: 46px 0 26px;
	font-size: 15px;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

.pediatric-lead .list {
	display: -webkit-box;
	display: flex;
	white-space: nowrap;
}

.pediatric-lead .list dl {
	border-left: 1px solid var(--color-font-light);
	margin-left: 4px;
	padding: 1px 0 0 10px;
}

.pediatric-lead .list dl:first-of-type {
	margin-right: 16px;
}

.pediatric-lead .list dt {
	margin-bottom: 10px;
	font-size: 13px;
	letter-spacing: 0.06em;
}

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

.pediatric-lead .list dd {
	display: -webkit-box;
	display: flex;
	margin-top: 11px;
}

.pediatric-lead .list ul:first-of-type {
	margin-right: 6px;
}

.pediatric-lead .list li {
	margin-bottom: 2px;
	padding-left: 8px;
	font-size: 12px;
	letter-spacing: 0.04em;
}

/* .pediatric-lead .rubberdam
------------------------------------*/
.pediatric-lead .rubberdam figure {
	margin-bottom: 30px;
	padding: 0 7.5%;
}

.pediatric-lead .rubberdam .txt h3 {
	margin-bottom: 17px;
	font-size: 18px;
	line-height: 1.7;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

/* .pediatric-parents
------------------------------------*/
.pediatric-parents {
	position: relative;
	overflow: hidden;
	width: 360px;
	margin: 0 auto;
	padding: 50px 0 100px;
	text-align: center;
	z-index: 1;
}

.pediatric-parents h2 {
	margin-bottom: 25px;
	padding-left: 12px;
	font-size: 18px;
	line-height: 1.8;
	letter-spacing: 0.08em;
}

.pediatric-parents p {
	margin-bottom: 18px;
	letter-spacing: 0.07em;
}

.pediatric-parents figure {
	position: absolute;
	z-index: -1;
}

.pediatric-parents figure img {
	display: none;
}

.pediatric-parents .img1 { top: 164px; left: 14px; }
.pediatric-parents .img2 { top: 100px; right: 10px; }
.pediatric-parents .img3 { top: 408px; left: 34px; }
.pediatric-parents .img4 { top: 318px; right: 30px; }

.pediatric-parents .img1:after,
.pediatric-parents .img2:after,
.pediatric-parents .img3:after,
.pediatric-parents .img4:after {
	display: block;
	content: '';
	border-radius: 3px;
	opacity: 0.6;
	z-index: 0;
}

.pediatric-parents .img2:after,
.pediatric-parents .img3:after {
	background-color: #FFE6E6;
}

.pediatric-parents .img1:after,
.pediatric-parents .img4:after {
	background-color: #D4F4FF;
}

.pediatric-parents .img1:after { width: 40px; height: 40px; }
.pediatric-parents .img2:after { width: 50px; height: 50px; }
.pediatric-parents .img3:after { width: 60px; height: 60px; }
.pediatric-parents .img4:after { width: 45px; height: 45px; }

/* .pediatric-communication
------------------------------------*/
.pediatric-communication {
	overflow: hidden;
	width: 360px;
	margin: 0 auto;
	text-align: center;
}

.pediatric-communication h2 {
	margin-bottom: 76px;
	font-size: 15px;
	line-height: 1.7;
	letter-spacing: 0.06em;
	white-space: nowrap;
}

.pediatric-communication h2 span {
	display: inline-block;
	position: relative;
	padding: 1px 22px 0 28px;
}

.pediatric-communication h2 span:before,
.pediatric-communication h2 span:after {
	display: block;
	content: '';
	position: absolute;
	top: 2px;
	background: url("img/share/line-dot-arc.svg") no-repeat left top / 12px auto;
	width: 18px;
	height: 70px;
}

.pediatric-communication h2 span:before { left: 0; }
.pediatric-communication h2 span:after { right: 0; transform: scaleX(-1); }

.pediatric-communication > div {
	position: relative;
}

.pediatric-communication ul {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.pediatric-communication li {
	position: relative;
	width: 50%;
	margin-bottom: 90px;
	z-index: 1;
}

.pediatric-communication li:nth-of-type(2) { transform: translateY(55px); }
.pediatric-communication li:nth-of-type(4) { transform: translateY(45px); }
.pediatric-communication li:nth-of-type(6) { transform: translateY(40px); }

.pediatric-communication li i {
	display: block;
	position: absolute;
	left: 50%;
	top: -42px;
	transform-origin: center bottom;
	transform: translateX(-50%) scale(0.8);
}

.pediatric-communication li:nth-of-type(2) i { top: -48px; }
.pediatric-communication li:nth-of-type(3) i { top: -46px; }
.pediatric-communication li:nth-of-type(5) i { top: -40px; }
.pediatric-communication li:nth-of-type(6) i { top: -40px; }

.pediatric-communication li p {
	margin: 0 -40px;
	font-size: 13px;
	line-height: 1.75;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.pediatric-communication li .bg {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: -1;
}

.pediatric-communication li:nth-of-type(1) .bg { margin: -2px 0 0; }
.pediatric-communication li:nth-of-type(2) .bg { margin: -14px 0 0; }
.pediatric-communication li:nth-of-type(3) .bg { margin: -2px 0 0; }
.pediatric-communication li:nth-of-type(4) .bg { margin: -5px 0 0 -2px; }
.pediatric-communication li:nth-of-type(5) .bg { margin: 0; }
.pediatric-communication li:nth-of-type(6) .bg { margin: 0; }

.pediatric-communication .arrow {
	position: absolute;
	z-index: 0;
}

.pediatric-communication .arrow1 { top: -40px; left: 130px; }
.pediatric-communication .arrow2 { display: none; }
.pediatric-communication .arrow3 { top: 78px; left: 25px; }

.pediatric-communication .arrow4 { top: 95px; right: 160px; }
.pediatric-communication .arrow4 { overflow: hidden; width: 55px; height: 50px; }

.pediatric-communication .arrow5 { top: 123px; left: 205px; }
.pediatric-communication .arrow6 { display: none; }
.pediatric-communication .arrow7 { top: 250px; left: 315px; }
.pediatric-communication .arrow8 { top: 390px; left: 112px; }

.pediatric-communication .arrow9 { top: 265px; right: 145px; }
.pediatric-communication .arrow9 { overflow: hidden; width: 50px; height: 50px; }

.pediatric-communication .arrow10 { top: 225px; left: 20px; }
.pediatric-communication .arrow11 { top: 115px; left: 325px; transform: scaleX(-1); }

.pediatric-communication .arrow4 img,
.pediatric-communication .arrow9 img {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
}


/* page antenatal
---------------------------------------------------------------------------*/

/* .antenatal-lead
------------------------------------*/
.antenatal-lead {
	margin-bottom: 65px;
}

.antenatal-lead > .txt {
	margin-bottom: 60px;
}

.antenatal-lead > .txt p {
	margin-bottom: 14px;
	letter-spacing: 0.05em;
}

.antenatal-lead .img-txt figure {
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 85vw;
	margin-bottom: 32px;
}

.antenatal-lead .img-txt figure img {
	object-fit: cover;
	object-position: 0 14%;
	width: 100%;
	height: 100%;
}

.antenatal-lead .img-txt .txt {
	padding: 0 6px;
}

.antenatal-lead .img-txt .txt h3 {
	margin-bottom: 23px;
	font-size: 18px;
}

/* .antenatal-system
------------------------------------*/
.antenatal-system .img-txt {
	margin-top: 80px;
}

.antenatal-system .img-txt figure {
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 85vw;
	margin-bottom: 32px;
}

.antenatal-system .img-txt figure img {
	object-fit: cover;
	object-position: 0 68%;
	width: 100%;
	height: 100%;
}

.antenatal-system .img-txt .txt h3 {
	margin-bottom: 21px;
}


/* page question
---------------------------------------------------------------------------*/
#questionContents .page-nav {
	margin-bottom: 42px;
	padding-left: 8px;
	text-align: center;
}

/* .question-list
------------------------------------*/
.question-list {
	box-sizing: border-box;
	padding: 0 6%;
}

.question-list .post {
	position: relative;
	margin: -70px 0 50px;
	padding: 70px 0 0 40px;
}

.question-list .post:last-ochild {
	margin-bottom: 0;
}

.question-list h2 {
	position: absolute;
	top: 69px;
	left: 0;
	font-size: 13px;
	letter-spacing: 0.2em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.question-list dl {
	border-top: 1px solid var(--color-border-light);
}

.question-list dl > div {
	border-bottom: 1px solid var(--color-border-light);
}

.question-list dt {
	position: relative;
	padding: 20px 28px 20px 4px;
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

.btn-ac .plus {
	position: absolute;
	top: 25px;
	right: 4px;
	width: 13px;
	height: 13px;
	transition: .15s ease-out;
}

.btn-ac .plus:before,
.btn-ac .plus:after {
	display: block;
	content: '';
	position: absolute;
	background-color:#4D4D4D;
}

.btn-ac .plus:before { top: 0; left: 6px; width: 1px; height: 100%; }
.btn-ac .plus:after { top: 6px; left: 0; width: 100%; height: 1px; }
.btn-ac.active .plus { transform: rotate(135deg); }


.question-list dd {
	display: none;
	opacity: 0.8;
}

.question-list dd > div {
	padding: 0 2px 30px 4px;
	transform: translateY(-3px);
}

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

.question-list dd p a {
	text-decoration: underline;
}

.question-list dd br {
	display: none;
}


/* page error
---------------------------------------------------------------------------*/
.sec-error {
	padding: 60px 10% 120px;
	text-align: center;
}

.sec-error h1 {
	margin-bottom: 30px;
	font-size: 18px;
	letter-spacing: 0.06em;
}

.sec-error p {
	letter-spacing: 0.06em;
	text-align: justify;
}