/*
【Source Han Sans JP Bold】
font-family: source-han-sans-japanese, sans-serif;
font-weight: 700;
font-style: normal;

【Source Han Sans JP Light】
font-family: source-han-sans-japanese, sans-serif;
font-weight: 300;
font-style: normal;

【URW DIN Light】
font-family: urw-din, sans-serif;
font-weight: 300;
font-style: normal;
*/
body{
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;}

.body-wrap{ overflow: hidden; position: relative;/*padding-top: 70px;*/ }

.mv{ height: 50rem; background-repeat: no-repeat; background-size: cover; background-position: center; margin-bottom: .6rem; }
.mv.sample{ background-image: url(../images/dummy/mv01.jpg); }
.mv.mv01{ background-image: url("../images/sub/mv/mv01.jpg"); }
.mv.mv02{ background-image: url("../images/sub/mv/mv02.jpg"); }
.mv.mv03{ background-image: url("../images/sub/mv/mv03.jpg"); }
.mv.mv04{ background-image: url("../images/sub/mv/mv04.jpg"); }
.mv.mv05{ background-image: url("../images/sub/mv/mv05.jpg"); }
.mv.mv06{ background-image: url("../images/sub/mv/mv06.jpg"); }
.mv.mv07{ background-image: url("../images/sub/mv/mv07.jpg"); }
.mv.mv08{ background-image: url("../images/sub/mv/mv08.jpg"); }
.mv.mv09{ background-image: url("../images/sub/mv/mv09.jpg"); }
.mv.mv10{ background-image: url("../images/sub/mv/mv10.jpg"); }

.pankuzu{ width: 1000px; margin: 0 auto; }
.pankuzu li{ font-size: 1.2rem; display: inline-block; }
.pankuzu li:not(:last-of-type):after{ content: '-'; margin-left: .5em; }

main{ display: block; width: 800px; margin: 6rem auto 14rem;box-sizing: border-box; }
main h1{ font-weight: 300; font-size: 5rem; line-height: 1.6; text-align: center; margin-bottom: 8rem; position: relative;letter-spacing: 0.15em; }
main h1:before{ content: ''; width: 50px; height: 1px; background: #03004c; position: absolute; bottom: 70px; left: 50%; transform: translateX(-50%); }
main h1:after{ display: block; content: attr(data-en)""; font-family: urw-din,sans-serif; font-size: 4rem; color: #49b3ee; margin-top: 15px; }

main section > img{ display: block; width: 100%; margin: 4rem 0; }
main section + section{ margin-top: 8rem; }
main section > *:first-cihld{ margin-top: 0 !important; }
main section > *:last-child{ margin-bottom: 0 !important; }

main section h2:not(.no-style){  font-weight: 300; font-size: 2.6rem; line-height: 1.6;letter-spacing: 0.1em; background: #03004c; color: #fff; border-radius: 100px; text-align: center; margin: 8rem 0 4rem; padding: .4em 1em; }
main section h3:not(.no-style){  font-weight: 300; font-size: 2.2rem; color: #35a1e2; border-bottom: solid 1px; margin: 6rem 0 2.6rem; letter-spacing: 0.1em; padding-bottom: 5px; }
main section h4:not(.no-style){  font-weight: 300; font-size: 1.8rem; background: #35a1e2; color: #fff; padding: .3em 1em; margin: 4rem 0 2rem; border-radius: 50px; letter-spacing: 0.1em; }
main section h5:not(.no-style){ font-weight: 300; font-size: 1.6rem; padding-left: 1em; color: #35a1e2; position: relative; margin: 3rem 0 1em; letter-spacing: 0.1em; }
main section h5:not(.no-style):before{ content: '●'; position: absolute; left: 0; }
main section h6:not(.no-style){ font-weight: 300; font-size: 1.5rem; color: #35a1e2; margin: 1.3em 0 .8em; letter-spacing: 0.1em; }
main section h2:not(.no-style) + *,
main section h3:not(.no-style) + *,
main section h4:not(.no-style) + *,
main section h5:not(.no-style) + *,
main section h6:not(.no-style) + *{ margin-top: 0 !important; }
main section p{ margin-bottom: 1em; line-height: 2; letter-spacing: 0.15em; }
main section p strong{ font-weight: bold; color: #35a1e2; }

main section ol:not([class]){ margin: 4rem 0; counter-reset: number; }
main section ol:not([class]) li{ font-size: 1.6rem; padding-left: 6.4rem; position: relative; min-height: 5rem; display: flex; align-items: center; letter-spacing: 0.15em; line-height: 1.75; }
main section ol:not([class]) li:before{ counter-increment: number; content: counter(number); width: 5rem; height: 5rem; box-sizing: border-box; background: #03004c; font-family: urw-din, sans-serif; font-weight: 300; font-size: 2.8rem; color: #fff; letter-spacing: 0; display: flex; justify-content: center; align-items: center; position: absolute; left: 0; top: 0; }
main section ol:not([class]) li + li{ margin-top: 3rem; }

main section ul:not([class]){ margin: 4rem 0; }
main section ul:not([class]) li{ font-size: 1.6rem; padding-left: 2.3rem; position: relative; letter-spacing: 0.15em; line-height: 1.75;  }
main section ul:not([class]) li:before{ content: ''; width: 1.5rem; height: 1.5rem; border-radius: 1.5rem; background: #35a1e2; position: absolute; left: .2rem; top: .5rem; }
main section ul:not([class]) li + li{ margin-top: 2rem; }

main section ol.flow{ counter-reset: flow; margin: 5rem 0; }
main section ol.flow li{ position: relative; line-height: 2; text-align: justify; }
main section ol.flow li + li{ margin-top: 4rem;  }
main section ol.flow li.has-img{ padding-right: 40rem; }
main section ol.flow li strong:first-of-type{ position: relative; padding-left: 4rem; display: block; margin-bottom: 1.2rem;  font-weight: 300; font-size: 1.8rem; letter-spacing: 0.15em; }
main section ol.flow li strong:first-of-type:before{ counter-increment: flow; content: counter(flow); width: 3rem; height: 3rem; box-sizing: border-box; background: #03004c; color: #fff; border-radius: 1.5rem; display: flex; justify-content: center; align-items: center; font-family: urw-din, sans-serif; font-weight: 300; font-size: 1.8rem; letter-spacing: 0; position: absolute; left: 0; }
main section ol.flow li img{ width: 35rem; position: absolute; top: 0; right: 0; }

main section table:not(.no-style){ width: 100%; margin: 4rem 0; }
main section table:not(.no-style) th{ color: #fff; padding: 1em; vertical-align: middle;  font-weight: 300; background: #03004c; line-height: 1.7; letter-spacing: 0.1em; }
main section table:not(.no-style) tr:not(:last-child) th{ border-bottom: solid 1px #fff; }
main section table:not(.no-style) tr:last-child th{ border-bottom: solid 1px #03004c; }
main section table:not(.no-style) td{ padding: 1em; vertical-align: middle; border: solid 1px #03004c; line-height: 1.7; letter-spacing: 0.1em; }


/*** doctor ***/

.dr-pic{ width: 100%; height: 30rem; display: flex; align-items: center; /*background-color: #F6F3EE;*/ position: relative; padding-left: 5rem; margin: 10rem 0 3.5rem; }
.dr-pic.coming{ background: url("../images/doctor/dr-bg.jpg") #F6F3EE no-repeat center/cover; z-index: 0; }
.dr-pic.coming:after{
	content: ""; width: 100%; height: 100%;
	position: absolute; left: 0; top: 0; z-index: -1;
	background: linear-gradient(to right,#e9f6fd 30%,rgba(233,246,253,0) 100%);}
.dr-pic img{ width: 36rem; position: absolute; right: 0; bottom: 0; }
.dr-pic h3{ font-size: 5rem; font-weight: 300; }
.dr-pic h3 + small{ display: block; font-family: urw-din, sans-serif; font-size: 2rem; font-weight: 300; color: #49b3ee; line-height: 1; }
.history-row{ display: flex; justify-content: space-between; margin: 3.6rem 0 }
.history-row .inner{ width: 37rem; }
.history-row .inner h4{ font-size: 1.5rem; text-align: center; margin-bottom: 2.5rem;  font-weight: 300; background: #35a1e2; color: #fff;border-radius: 50px; padding: .3em; }
.history-row .inner table{ width: 100%; }
.history-row .inner table th{ font-weight: 400; width: 1px; padding-right: 1.5em; white-space: nowrap; }
.history-row .inner table tr + tr > *{ padding-top: .5em; }
.history-row .inner ul li{ padding-left: 1em; position: relative; }
.history-row .inner ul li:before{ content: '・'; position: absolute; left: 0; }
.history-row .inner ul li + li{ margin-top: .5em; }


/*** treatment ***/

.treat-list{ width: 1088px; margin-left: -144px; position: relative; z-index: 0; padding: 5rem 0; }
.treat-list:before{ content: ''; width: calc(100% + 14rem); height: 100%; background: #F6F3EE; position: absolute; top: 0; left: 50%; transform: translateX(-50%); z-index: -1; }

main section ol.flow li strong{
	font-weight: bold !important;
    color: #35a1e2;
}

main section ol.flow li strong:first-of-type{
	font-weight: 300 !important;
	color: #03004c !important;
}

.flex2 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 40px;
}

.flex2 .txt {
    width: 380px;
}

.flex2 .txt h3 {
    margin-top: 0;
}
.flex2 .img {
    width: 350px;
}

main section table.shinbi_table th:first-child{
	width: 27%;
}


.flex2 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 40px;
}

.flex2 .txt {
    width: 380px;
}
.flex2 .txt h3 {
    margin-top: 0;
}
.flex2 .img {
    width: 350px;
}
.flex2 .img img {
    width: 100%;
}

body{ background-color: transparent; }


/*** treatment ***/

section.treatment .linkUl { margin: 0 0 0 -25px; display: flex; flex-wrap: wrap; width: 850px; position: relative; z-index: 0; padding: 0 0 20px; }
section.treatment .linkUl:before{ content: ''; width: calc(100vw - 40px); height: 100%; position: absolute; top: 0; left: 50%; transform: translateX(-50%); z-index: -1; }
section.treatment .linkUl li { margin: 25px 25px 0 0; width: 150px; height: 150px; position: relative; }
section.treatment .linkUl li a { height: 100%; display: flex; justify-content: center; flex-wrap: wrap; align-content: center; color: #03004C; font-size: 1.4rem; position: relative; z-index: 5; background-color: #efefef; border-radius: 100%; border: 10px solid #efefef; box-sizing: border-box; }
section.treatment .linkUl li span { width: 100%; text-align: center; }
section.treatment .linkUl li img { margin-bottom: 12px; width: 53px; }
section.treatment .listUl li img { width: 100%; }
@media all and (min-width: 897px) {
  section.treatment .linkUl a:hover { transition: .3s; background-color: #C7E9FA; }
  section.treatment .linkUl li a:hover { opacity: 1; }
  section.treatment .linkUl li:nth-child(5n) { margin-right: 0; }
  section.treatment .listUl { margin: -50px -50px 120px 0; display: flex; justify-content: space-between; flex-wrap: wrap; }
  section.treatment .listUl li { margin: 50px 50px 0 0; width: calc(100%/2 - 25px); }
  section.treatment .listUl li:nth-child(2n) { margin-right: 0; }
}
section.treatment .listUl { margin: 0 0 0 -25px; width: 850px; position: relative; z-index: 0; padding: 0 0 20px; }
section.treatment .listUl:before{ content: ''; width: calc(100vw - 40px); height: 100%; position: absolute; top: 0; left: 50%; transform: translateX(-50%); z-index: -1; }




.flex_yoyaku{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 640px;
	margin: auto;
}

.flex_yoyaku .comBtn{ width: 48%;}

a.btn {
	padding: 15px 10px 17px;
	max-width: 300px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #03004C;
	font-size: 1.8rem;
	letter-spacing: 0.1em;
	background-color: #fff;
	border-radius: 50px;
	box-sizing: border-box;
	border: 1px solid #03004C;
	position: relative;
	transition: all .3s;
	margin: 30px auto 0;
}
a.btn::after {
	width: 32px;
	height: 6px;
	top: 50%;
	transform: translateY(-50%);
	right: 13px;
	content: '';
	position: absolute;
	transition: all .3s;
	background: url("../images/common/webp/arrow01.webp") no-repeat right center / 32px;
}

/*** trouble ***/
main section.trouble{ margin-top: 18rem; position: relative; }
main section.trouble h2{ font-size: 1.8rem; }
main section.trouble h3{ margin: 0 0 2.6rem; }
main section.trouble .check{ font-weight: 700; margin-bottom: 0; padding-left: 2em; position: relative; }
main section.trouble .check::before{
	content: '';
	display: block;
	position: absolute;
	top: .7em;
	left: .8em;
	width: 10px;
	height: 5px;
	border-left: 2px solid #35a1e2;
	border-bottom: 2px solid #35a1e2;
	transform: rotate(-45deg);
}
main section.trouble .flexB{ margin-bottom: 2.6rem; }

main section a.relation-link{ display: table; border: #03004c solid 1px; font-size: 14px; font-weight: 500; letter-spacing: .05em; padding: .4em 1.4em .4em 184px; position: relative; margin: 20px 0; border-radius: 50px; }
main section a.relation-link:before{ content: '合わせて読みたい'; width: 170px; height: 100%; background: #03004c; color: #fff; position: absolute; left: 0; top: 0; display: flex; align-items: center; line-height: 1; padding-left: 1.4em; box-sizing: border-box; border-radius: 50px; }
main section a.relation-link:after{ content: ''; width: 5px; height: 5px; border-right: solid 1px #fff; border-bottom: solid 1px #fff; position: absolute; top: 50%; left: 152px; transform: translateY(-50%) rotate(-45deg); }

main section .textpoint { position: relative; border: 2px solid #03004c; border-radius: 5px; margin: 4rem 0 0; padding: 20px 30px 5px; }
main section .textpoint::before { content: "ワンポイント解説！"; position: absolute; background-color: #fff; color: #03004c; font-weight: bold; left: 20px; top: -23px; padding: 10px;}
main section .textpoint h4{ margin: 1rem 0; font-size: 14px; font-weight: 700; display: inline-block; }

.author{
	font-size: 1.2rem;
	width: 800px;
	margin: 0 auto;
	text-align: right;
}


main section h2.entry-title a{
	color: #fff;
}
.eng_h1{ letter-spacing: 0;}
main h1.eng_h1:before{ display: none;}
main .eng_text h2:not(.no-style),main .eng_text h3:not(.no-style),.eng_text p,.eng_text ul li{ letter-spacing: 0;}