.body-wrap{ overflow: hidden; position: relative; }

.mv{ height: 33rem; background-repeat: no-repeat; background-size: cover; background-position: center; margin-bottom: .6rem; }
.mv.sample{ background-image: url(../images/dummy/mv01.jpg); }

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

main{ display: block; width: 800px; margin: 6rem auto 28rem;box-sizing: border-box; }
main h1{ font-weight: 700; font-size: 3.75rem; line-height: 1.6; text-align: center; margin-bottom: 8rem; position: relative;letter-spacing: 0.15em; padding-bottom: 10px; }
main h1:before{ content: ''; width: 50px; height: 1px; background: #03004c; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); }

main section img{ border-radius: 10px; object-fit: cover;}
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.lead{ margin-bottom: 6rem; }

main section h2:not(.no-style){ font-weight: 700; font-size: 2.6rem; line-height: 1.6;letter-spacing: 0.1em; background: #B9C6C7; color: #293659; border-radius: 5px; text-align: center; margin: 8rem 0 4rem; padding: .4em 1em; }
main section h3:not(.no-style){ font-weight: 700; font-size: 2.2rem; color: #1E5970; border-bottom: solid 1px; margin: 6rem 0 2.6rem; letter-spacing: 0.1em; padding-bottom: 5px; }
main section h4:not(.no-style){ font-weight: 700; font-size: 1.8rem; background: #1E5970; color: #fff; padding: .3em 1em; margin: 4rem 0 2rem; border-radius: 5px; letter-spacing: 0.1em; }
main section h5:not(.no-style){ font-weight: 700; font-size: 1.6rem; padding-left: 1em; color: #1E5970; 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: 700; font-size: 1.5rem; color: #1E5970; 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{ font-size: 14px; margin-bottom: 1em; line-height: 2; letter-spacing: 0.15em; }
main section p strong{ font-weight: bold; }

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: #F9F9F9; font-family: century-gothic, sans-serif; font-weight: 700; font-size: 2.8rem; color: #1E5970; letter-spacing: 0; display: flex; justify-content: center; align-items: center; position: absolute; left: 0; top: 0; border-radius: 10px; }
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: #1E5970; 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: 700; 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: #1E5970; color: #fff; border-radius: 1.5rem; display: flex; justify-content: center; align-items: center; font-family: century-gothic, sans-serif; font-weight: 700; 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; aspect-ratio: 3 / 2; }

main section table:not(.no-style){border-spacing: 0;border-collapse: separate;}
main section table:not(.no-style){ width: 100%; margin: 4rem 0; }
main section table:not(.no-style) th{ color: #1E5970; padding: 1em; vertical-align: middle;  font-weight: 700; background: #F9F9F9; line-height: 1.7; letter-spacing: 0.1em; border: solid 1px #1E5970; }
main section table:not(.no-style) td{ padding: 1em; vertical-align: middle; border: solid 1px #1E5970; line-height: 1.7; letter-spacing: 0.1em; }

main section table:not(.no-style) th{border-right: none;}
main section table:not(.no-style) tr:not(:first-child) > *{border-top: none;}
main section table:not(.no-style) tr:first-child > *:first-child{border-top-left-radius: 10px;}
main section table:not(.no-style) tr:first-child > *:last-child{border-top-right-radius: 10px;}
main section table:not(.no-style) tr:last-child > *:first-child{border-bottom-left-radius: 10px;}
main section table:not(.no-style) tr:last-child > *:last-child{border-bottom-right-radius: 10px;}

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


/*** doctor ***/

.dr-pic{ width: 100%; height: 30rem; display: flex; align-items: center; position: relative; padding-left: 5rem; margin: 10rem 0 3.5rem; border-radius: 10px; }
.dr-pic.coming{ background: url("../images/doctor/dr-bg.jpg") #F6F3EE no-repeat center/cover; z-index: 0; }
.dr-pic img{ width: 36rem; position: absolute; right: 0; bottom: 0; }
.dr-pic h3{ font-size: 5rem; font-weight: 300; color: #fff!important; }
.dr-pic h3 + small{ display: block; font-family: century-gothic, sans-serif; font-size: 2rem; font-weight: 700; color: #fff!important; line-height: 1; margin-top: 10px; }
.dr-pic + p{ text-align: justify; }
.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: 700; background: #1E5970; color: #fff;border-radius: 5px; padding: .3em; }
.history-row .inner table{ width: 100%; }
.history-row .inner table th{ font-weight: 300; 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; }


/*** mkj ***/

.contents-list{ margin-bottom: 100px; }
.contents-list dt{ font-size: 20px; color: #1E5970; font-weight: 700; text-align: center; border-top: solid 1px; border-bottom: solid 1px; padding: .1em; margin-bottom: 30px; }
.contents-list dd{ display: flex; counter-reset: mkj; }
.contents-list dd ul{ width: 50%; }
.contents-list.non-half dd ul{ width: 100%; }
.contents-list dd ul li{ font-size: 16px; line-height: 1.6; font-weight: 700; padding-left: 60px; padding-right: 1em; position: relative; min-height: 40px; display: flex; align-items: center; }
.contents-list dd ul li:before{ counter-increment: mkj; content: counter(mkj, decimal-leading-zero); width: 40px; height: 40px; border-radius: 20px; display: flex; justify-content: center; align-items: center; font-size: 16px; color: #fff; background: #1E5970; line-height: 1; letter-spacing: 0; position: absolute; top: 0; left: 0; }
.contents-list dd ul li + li{ margin-top: 13px; }


/*** archive ***/

article.post-article{ display: flex; justify-content: space-between; position: relative; transition: .3s; }
article.post-article + .post-article{ margin-top: 5rem; }
article.post-article.search{ display: block; }
article.post-article a{ transition: .3s; }
article.post-article a:hover{ opacity: .4; }
article.post-article a.linkwrap{ width: 100%; height: 100%; display: block; position: absolute; top: 0; left: 0; z-index: 10; }
article.post-article .thumb{ width: 300px; height: 150px; background-repeat: no-repeat; background-size: cover; background-position: center; border-radius: 10px; }
article.post-article .txt{ width: calc(100% - 350px); }
article.post-article.search .txt{ width: 100%; }
article.post-article .txt .meta{ display: flex; flex-wrap: wrap; align-items: center; margin-bottom: 1rem; }
article.post-article .txt .time{ display: inline-block; font-size: 1.2rem; }
article.post-article .txt .cat{ display: flex; width: 9rem; height: 2.4rem; border-radius: 1.2rem; border: solid 1px #1E5970; font-weight: 700; color: #1E5970; justify-content: center; align-items: center; margin-left: 1rem; }
article.post-article .txt .tag-cloud{ width: 100%; display: flex; flex-wrap: wrap; margin-top: .6rem; }
article.post-article .txt .tag-cloud > span{ display: block; margin-right: 1em; margin-top: .7rem; position: relative; z-index: 11; }
article.post-article .txt .tag-cloud > span a{ background: #16254B; color: #fff; display: block; padding: .2em .6em; font-size: 1.2rem; }
article.post-article .txt h2{ width: 100%; font-size: 2.2rem; font-weight: 700; color: #1E5970; margin-bottom: .4em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
article.post-article .txt p{ width: 100%; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }

.cat-list,.tag-list{ width: 1000px; margin: 1rem auto; display: flex; flex-wrap: wrap; }
.cat-list li,.tag-list li{margin-top: 0.5em; margin-right: 1em; font-size: 1.2rem; }
.cat-list li a{ background: #8FD3F5; color: #fff; display: block; padding: .2em .6em; }
.tag-list li a{ background: #16254B; color: #fff; display: block; padding: .2em .6em; }


.pagination{ margin-top: 8rem; }
.pagination .page-numbers{ display: flex; }
.pagination .page-numbers li + li{ margin-left: .8rem; }
.pagination .page-numbers li a,
.pagination .page-numbers li span{ display: flex; width: 2rem; height: 2rem; font-size: 1.2rem; color: #1E5970; justify-content: center; align-items: center; border: solid 1px; box-sizing: border-box; border-radius: .2rem; }
.pagination .page-numbers li span.current{ background: #1E5970; color: #fff; border-color: #1E5970; }

/* 関連ショートコード用 */
.kanren { position: relative; }
.kanren .kanren-list { display:block; margin:0; padding:0; list-style:none; border:none; }
.kanren .kanren-list li { border:none; margin:0 auto 20px; padding:0; box-shadow:2px 2px 5px rgba(0,0,0,0.2); }
.kanren .kanren-list li {display:block;transition-duration:.5s;}
.kanren .kanren-list li:hover {background:#e5f0f3;}
.kanren .kanren-list li dl { display:table; padding:20px; margin:0; }
.kanren .kanren-list li dl dt,
.kanren .kanren-list li dl dd { display:table-cell; margin:0; padding:0; vertical-align:top; }
.kanren .kanren-list li dl dt { width:40%; }
.kanren .kanren-list li dl dd { width: 60%; padding-left: 20px; }
.kanren .kanren-list li dl dd p.kanren-cont-title { margin:0 auto 10px; padding:0; border:none; background:none; font-weight: 700; font-size: 1.8rem; position: relative; }
.kanren .kanren-list li dl dd p.kanren-cont-title::before{ content: '▼関連記事▼'; display: block; font-size: 1.5rem; }

.btn{ padding: 17px 30px; color: #16254B; box-sizing: border-box; line-height: 2; letter-spacing: 0.01em; text-align: center; border-radius: 32px; background: url(../images/common/webp/icon07.webp) no-repeat right 22px center / 12px auto; background-color: #FFF2A9; font-weight: 500; display: block; width: 48%;}
.btn1{width:100%;background:url(wp-content/themes/senga/images/common/webp/icon07.webp) no-repeat right 22px center / 12px auto;background-color:#8fd3f5;position:relative;}
.btn1:after{content: '';border: 0;border-top: solid 2px #fff;border-right: solid 2px #fff;display: inline-block;width: 10px;height: 10px;position: absolute;top: 50%;right: 20px;transform: translateY(-50%) rotate(45deg);}
.btn2{ background-color: #8FD3F5; }
.btn_flex{ display: flex; justify-content: space-between;  margin-top: 20px; flex-wrap: wrap; }
.mokuji h4{    font-size: 3rem;
    font-family: 游明朝, YuMincho, yu-mincho-pr6n, sans-serif;
    font-weight: 600;
    color: rgb(25, 165, 151);
    line-height: 1.6;
    text-align: center;
    position: relative;
    padding-bottom: 0.8em;
    margin: 9rem 0px 4.5rem;}
.mokuji h4:after{ content: ''; width: 5rem; height: 1px; background: #19a597; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); }
.chapter {width: 100%;column-count: 2;background: #f3f3f3;border-radius: 1rem;padding: 4rem 2rem 4rem;margin-top: 3.6rem;counter-reset: li;}
        .chapter li{	position: relative;
	padding-left: 30px;
	margin: 0 0 10px;
	/*デフォルトのスタイルを非表示にする*/
	list-style: none;}
    .chapter li:before{position: absolute;
	top: 0;
	left: 0;
	/*要素の連番（カウンタ）の値を進める*/
	counter-increment: li;
	/*自動連番を付ける関数*/
        content: counter(li)'.';}
.chapter li a strong{background: none!important;}
.back-toc{text-align: right;margin-top: 20px;}
.back-toc::after{content: "▲"}
main ol.chapter li{
    font-size: 16px;
    height: 20px;
    min-height: 20px!important;
}
main ol.chapter li:before{
    font-size: 16px;
    width: 20px;
    height: 20px;
    color: #000;
    background-image: none;
    transform: translateY(0%);
}
/*gray-box*/
.gray-box {background: #f3f3f3;border-radius: 3rem;padding: 4rem 5rem 6rem;margin-top: 3.6rem;}
.gray-box .side-img {margin: 0 0 40px;}

/*side-img*/
.side-img {display: flex;justify-content: space-between;margin: 40px 0;flex-wrap: wrap;}
.side-img .content {width: 48%;padding: 0px;margin: 0;}
.side-img .content h3{margin-top: 0;}
.side-img .content h4{margin-top: 0;}
.side-img .img {width: 48%;}

/*extraction*/
.extraction {
    margin: 10rem calc(50% - 50vw);
    width: 100vw;
	background-image: url(../images/index/extraction_bg01.jpg);
    background-size: cover;
    background-repeat: no-repeat;
}
.extraction::after {
	display: none;
}
.extraction .photo {
	width: 298px;
	position: absolute;
	right: 0;
	top: 110px;
}
.extraction .sub-text {
	margin-bottom: 45px;
}

/*------------------------------------------------------------
	comTextBox
------------------------------------------------------------*/
.comTextBox.extraction {
	padding: 40px 0 87px;
	position: relative;
	background-color: #00738A;
}
.comTextBox.extraction::after {
	width: 100%;
	height: 296px;
	position: absolute;
	left: 0;
	bottom: 0;
	background: url(../images/common/webp/bg01.webp) repeat left top / 7px auto;
	content: '';
}
.comTextBox.extraction .title {
	margin-bottom: 18px;
	color : #00738A;
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-align: center;
}
.comTextBox.extraction .title span {
	padding: 5px 17px 4px;
	display: inline-block;
	vertical-align: top;
	border-radius: 3px;
	background-color: #fff;
}
.comTextBox.extraction .title span strong{
    font-size:24px;
}
.comTextBox.extraction .sub-text {
    margin-top: 0;
	margin-bottom: 37px;
	color: #fff;
    background:none;
	font-size: 3.5rem;
    font-weight: 900;
	line-height: 1.11;
	letter-spacing: 0.075em;
	text-align: center;
}
.comTextBox.extraction .sub-text span {
	margin-bottom: 10px;
	display: block;
	font-size: 2.5rem;
	line-height:1.5;
}
.comTextBox.extraction .textBox {
	padding: 47px 60px 45px;
	border-radius: 5px;
	box-shadow: 0 0 15px rgba(0,0,0,0.2);
	background-color: #fff;
	position: relative;
	z-index: 2;
}
.comTextBox.extraction .textBox h3 {
    margin-top: 0rem;
	margin-bottom: 23px;
	color : #00738A;
	font-size: 2rem;
	line-height: 1.9;
}
.comTextBox.extraction .textBox .txtBox {
	display: flex;
	justify-content: space-between;
}
.comTextBox.extraction .textBox .txtBox .lBox {
	width: 50%;
}
.comTextBox.extraction .textBox .txtBox .lBox p {
	line-height: 2;
	letter-spacing: -0.02em;
	text-align: justify;
	text-justify: inter-ideograph;
}
.comTextBox.extraction .textBox .txtBox .linkList {
	margin: 7px 7px 0 0;
	width: 44.85%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.comTextBox.extraction .textBox .txtBox .linkList li {
	width: calc((100% - 17px) / 2);
}
.comTextBox.extraction .textBox .txtBox .linkList li a {
	display: block;
}
.comTextBox .textBox .txtBox .linkList .pho {
	margin: 0 auto;
	max-width: 120px;
}
.comTextBox.extraction .textBox .txtBox .linkList p {
	text-align: center;
	line-height: 1.45;
	letter-spacing: 0.075em;
}
.comTextBox.extraction .textBox .txtBox .linkList p span {
	display: inline-block;
	font-size: 1.8rem;
	font-weight: 700;
	text-align: left;
	vertical-align: top;
}
.comTextBox.extraction .textBox .txtBox .linkList p small {
	padding-right: 20px;
	display: inline-block;
	font-size: 1.1rem;
	font-weight: 400;
	letter-spacing: 0;
	background: url(../images/common/webp/icon03.webp) no-repeat right center / 12px auto;
	vertical-align: top;
}
.comTextBox.extraction .textBox .txtBox .linkList li:nth-of-type(2n) p small {
	padding-right: 32px;
}

/*zisseki*/
.zisseki{
	border-bottom: 2px solid;
	display:initial !important;
}

.zisseki_sml{
	display:initial !important;
	font-size: 14px !important;
}

.txt_zisseki{
	color: #fff;
	text-align: center;
	margin-bottom: 20px;
}

.tag-clinic{ width: 100%; display: flex; flex-wrap: wrap; margin-top: .6rem; }
.tag-clinic > span{ display: block; margin-right: 1em; margin-top: .7rem; position: relative; z-index: 11; }
.tag-clinic > span a{ background: #16254B; color: #fff; display: block; padding: .2em .6em; font-size: 1.5rem; }
.circle li{ position: relative; margin-bottom: 10px; padding-left:30px; font-size:1.6rem;}
.circle li:before{content: '●'; color: #1E5970; left: 0; position: absolute;}
.pankuzu br{display:none;}