@charset "utf-8";
h1,h2,h3,h4,h5{
font-family:"Noto Sans JP", sans-serif;	
}
main#sub {
    display: block;
    position: relative;
    box-sizing: border-box;
	background: url(../img/index/feature_bg01.png) no-repeat top left / 100% 394px;
}
main h1 {
  position: relative;
  z-index: 1;
  color: #E6A429;
  font-size: 8rem;
  font-weight: 600;
  text-align: center;
  margin-top: 15rem;
}
main h1:before {
  position: absolute;
  z-index: -1;
  top: -7rem;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  text-align: center;
  content: attr(data-en) "";
  font-size:4vw;
  font-weight: 600;
  line-height: 0.86;
  letter-spacing: 0.03em;
  font-family: "cabin", serif;
  word-break: break-all;
  color: #444444;
}



main#sub section:not([class]) {
    display: block;
    margin: 6rem auto 8rem;
    box-sizing: border-box;
    width: 1100px;
}
main#sub section:not([class]) h2:not(.no-style) {
    font-weight: 600;
    font-size: 2.8rem;
    line-height: 1.6;
    letter-spacing: 0.05em;
    background: #F6F4ED;
    color: #71592C;
    margin: 8rem 0 4rem;
    padding: 0.4em 1em;
	border-radius: 10px;
}
main#sub section:not([class]) h3:not(.no-style) {
    font-weight: 600;
    font-size: 2.6rem;
    color: #71592C;
    margin: 6rem 0 2.6rem;
    letter-spacing: 0.05em;
    padding-left: 0.5em;
    border-bottom: 1px #71592C solid;
}
main#sub section:not([class]) h4:not(.no-style) {
    font-weight: 600;
    font-size: 1.8rem;
    background: #E6A429;
    color: #fff;
	border-radius: 10px;
    padding: 0.5em 1em;
    margin: 4rem 0 2rem;
    letter-spacing: 0.05em;
}

main#sub section:not([class]) h5:not(.no-style)::before{
content: "●";
color: #E6A429;	
padding-right: 5px;	
}

main#sub section:not([class]) h5:not(.no-style) {
    font-size: 1.7rem;
    color:#E6A429;
    position: relative;
    margin: 3rem 0 1em;
    letter-spacing: 0.05em;
    align-items: center;
}


main#sub section:not([class]) h3:not(.no-style)+img {
    display: block;
    width: 100%;
    margin: 0 auto 15px;
}
main#sub section:not([class]) p {
    text-align: justify;
    margin-bottom: 1em;
    line-height: 2;
    font-feature-settings: "palt";
    font-size: 1.6rem;
/*	font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/

}

main#sub section img + p {margin-top: 30px;}

.mv {
    height: 50rem;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    position: relative;
}
.mv.sample {
    background-image: url("../img/sub/mv/001.webp");
}
.mv.sample001 {
    background-image: url("../img/sub/mv/002.webp");
}
.mv.sample002 {
    background-image: url("../img/sub/mv/003.webp");
}
.mv.sample003 {
    background-image: url("../img/sub/mv/004.webp");
}
.mv.sample004 {
    background-image: url("../img/sub/mv/005.webp");
}
.mv.sample005 {
    background-image: url("../img/sub/mv/006.webp");
}

.pankuzu {
    margin-top: 20px;
    padding: 30px 0 40px;
	position: relative;
	top: 7.5rem;
}
.pankuzu ul {
/*    width: 1000px;*/
    margin: 0 auto;
	padding-left: 20px;
}
.pankuzu li {
    font-size: 1.7rem;
    display: inline-block;
}
.pankuzu li:not(:last-of-type):after {
    content: '-';
    margin-left: 0.5em;
}
main#sub section:not([class]) .hosoku {
    background: #f2f2f287;
    margin: 80px auto;
    padding: 40px;
}
main#sub section:not([class]) .hosoku >*:first-child {
    margin-top: 0 !important;
}
main#sub section:not([class]) .hosoku >*:last-child {
    margin-bottom: 0 !important;
}
main#sub section:not([class]) p strong {
    font-weight: bold;
    padding-bottom: 2px;
	color: var(--orange);
}
main#sub section:not([class]) ol:not([class]) {
    margin: 4rem 0;
    counter-reset: number;
}
main#sub section:not([class]) ol:not([class]) li {
    font-size: 1.6rem;
    padding-left: 6.4rem;
    position: relative;
    min-height: 5rem;
    display: grid;
    align-items: center;
   line-height: 3rem;
}
main#sub section:not([class]) ol:not([class]) li:before {
    counter-increment: number;
    content: counter(number);
    width: 5rem;
    height: 5rem;
    box-sizing: border-box;
    background: #E6A429;
    font-weight: 500;
    font-size: 3rem;
    color: #fff;
    letter-spacing: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    left: 0;
    top: 0;
	font-family: "Roboto Serif", serif;
	border-radius: 50%;
}
main#sub section:not([class]) ol:not([class]) li strong.ol_title {
    color: #391807;
    font-size: 1.1em;
    margin-bottom: 10px;
}
main#sub section:not([class]) ul:not([class]) {
    margin: 4rem 0;
}
main#sub section:not([class]) ul:not([class]) li {
    font-size: 1.6rem;
    padding-left: 2.3rem;
    position: relative;
    line-height: 2.5;
	padding-bottom: 10px;
	margin-bottom: 10px;
}
main#sub section:not([class]) ul:not([class]) li:before {
    content: '';
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 1.5rem;
    background: #E6A429;
    position: absolute;
    left: 0.2rem;
    top: 1rem;
}
main#sub section:not([class]) ul li{
border-bottom: 3px dotted #71592C;
}

main#sub section:not([class]) ol.flow {
    counter-reset: flow;
    margin: 5rem 0;
}
main#sub section:not([class]) ol.flow li.has-img {
    padding-right: 40rem;
    margin-bottom: 10rem;
}
main#sub section:not([class]) 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;
    background: inherit;
}
main#sub section:not([class]) ol.flow li strong:first-of-type:before {
    counter-increment: flow;
    content: counter(flow);
    width: 3rem;
    height: 3rem;
    box-sizing: border-box;
    background: #E6A429;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 400;
    font-size: 1.8rem;
    letter-spacing: 0;
    position: absolute;
    left: 0;
    top: 4px;
	border-radius: 100px;
	font-family: "Roboto Serif";
}
main#sub section:not([class]) ol.flow li img {
    width: 35rem;
    position: absolute;
    top: 0;
    right: 0;
		border-radius: 10px;
}
main#sub section:not([class]) ol.flow li+li {
    margin-top: 5rem;
}
main#sub section:not([class]) ol.flow li {
    position: relative;
    line-height: 2;
    text-align: justify;
}
main#sub section:not([class]) ol.flow li strong {
    background: linear-gradient(to bottom, transparent, transparent 50%, #68c4e930 50%);
}





main#sub section:not([class]) ul.ul_flow {
    margin: 5rem 0;
}

main#sub section:not([class]) ul.ul_flow li{
border: none;	
}

main#sub section:not([class]) ul.ul_flow li.has-img {
    padding-right: 40rem;
    margin-bottom: 10rem;
}
main#sub section:not([class]) ul.ul_flow li strong:first-of-type {
    position: relative;
    padding-left: 2.6rem;
    display: block;
    margin-bottom: 1.2rem;
    font-weight: 700;
    font-size: 1.8rem;
    background: inherit;
}
main#sub section:not([class]) ul.ul_flow li strong:first-of-type:before {
    content: "";
    width: 2rem;
    height:2rem;
    box-sizing: border-box;
    background: #E6A429;

    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 400;
    font-size: 1.8rem;
    letter-spacing: 0;
    position: absolute;
    left: 0;
    top: 6px;
	border-radius: 100px;
	font-family: "Roboto Serif";
}
main#sub section:not([class]) ul.ul_flow li img {
    width: 35rem;
    position: absolute;
    top: 0;
    right: 0;
	border-radius: 10px;
}
main#sub section:not([class]) ul.ul_flow li+li {
    margin-top: 5rem;
}
main#sub section:not([class]) ul.ul_flow li {
    position: relative;
    line-height: 2;
    text-align: justify;
}
main#sub section:not([class]) ul.ul_flow li strong {
    background: linear-gradient(to bottom, transparent, transparent 50%, #68c4e930 50%);
}


main section:not([class]) table:not(.no-style) {width: 100%;margin: 4rem 0;border-collapse: separate;border-spacing: 0;}
main section:not([class]) table:not(.no-style) tr:first-of-type th, main section:not([class]) 
table:not(.no-style) tr:first-of-type td {border-top: 1px solid #F2ECDF;}
main section:not([class]) table:not(.no-style) th {background: #F6F4ED;padding: 1em;vertical-align: middle;font-size: 1.6rem;font-weight: 600;line-height: 1.7; color: #71592C; width: 30%;}
main section:not([class]) table:not(.no-style) td {font-size: 1.6rem;padding: 1em;vertical-align: middle;line-height: 1.7;}




/* 通常の枠線（全体に適用） */
main section:not([class]) table:not(.no-style) th,
main section:not([class]) table:not(.no-style) td {
  border-bottom: 1px dashed #F2ECDF;
}

/* 最後の行のみに solid を適用 */
main section:not([class]) table:not(.no-style) tr:last-child th,
main section:not([class]) table:not(.no-style) tr:last-child td {
  border-bottom: 1px solid #F2ECDF;
}

main#sub section:not([class]) .dr_box{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

main#sub section:not([class]) .dr_box > .dr_content{
flex-basis: 55%;	
}

main#sub section:not([class]) .dr_box > .dr_img{
flex-basis: 40%;	
}


main#sub section:not([class]) .history-row {
    display: flex;
    justify-content: center;
    margin: 3.6rem 0;
    flex-wrap: wrap;
	background: #F6F4ED;
	padding: 10px 20px ;
}
main#sub section:not([class]) .history-row .inner {
flex-basis: 50%;
	margin-bottom: 20px;
}
main#sub section:not([class]) .history-row .inner h4 {
   font-weight: 600;
    font-size: 1.5rem;
    background: #71592C;
    color: #fff;
    padding: 0.5em 1em;
    margin: 4rem 0 2rem;
    letter-spacing: 0.05em;
	border-radius: 5px;
	width: 100px;
	text-align: center;
}
main#sub section:not([class]) .history-row .inner table {
    width: 100%;
}
main#sub section:not([class]) .history-row .inner table th {
    font-weight: 400;
    width: 1px;
    padding-right: 1.5em;
    white-space: nowrap;
}
main#sub section:not([class]) .history-row .inner table td {
    font-size: 14px;
}
main#sub section:not([class]) .history-row .inner ul li {
    padding-left: 1em;
    position: relative;
	font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	padding-bottom: 15px;
}
main#sub section:not([class]) .history-row .inner ul li:before {
    content: '・';
    position: absolute;
    left: 0;
}


main#sub section:not([class]) ol:not([class]) li+li {
    margin-top: 3rem;
}

.dr-pic .inner{padding-left: 5rem;}

.side-img {
    display: flex;
    justify-content: space-between;
    margin: 20px 0;
}
.side-img .img {
    width: 40%;
}
.side-img .content {
    width: 55%;
	padding: 0;
	margin: 0;
}

.flex-clinic {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 30px 0px;
}
.flex-clinic-double {
    flex-basis: calc(100%/2 - 10px);
    text-align: center;
    position: relative;
}
.flex-clinic-double img {
    width: 100%;
    margin-bottom: 10px;
}


.flex-clinic-three {
    flex-basis: calc(100%/3 - 10px);
    text-align: center;
    position: relative;
}
.flex-clinic-three img {
    width: 100%;
    margin-bottom: 10px;
    border-radius: 25px;
}

.half{
flex-basis: 45%;	
text-align: center;	
}




.comInfo.left {
    padding-bottom: 284px;
    border-top-left-radius: 140px;
    border-top-right-radius: 0;
    margin-top: 284px;
}


#sub .group {
    margin-top: -130px;
    padding: 50px 0 96px;
    border-top-right-radius: 140px;
    background-color: #FDFBF7;
    position: relative;
    z-index: 6;
}
#sub .group .content {
    max-width: 1100px;
    display: flex;
}
#sub .group .headLine01 {
    width: 259px;
    font-size: 8.4rem;
}
#sub .group .headLine01 span {
    margin-top: 4px;
    font-size: 2rem;
}
#sub .group .groupBox {
    margin-top: 45px;
    display: flex;
    justify-content: space-between;
    padding: 20px 40px 36px 50px;
    width: calc(100% - 259px);
    background: linear-gradient( #FDFBF7 0%, #F5F4F1 20%, #E5E5E5 100%);
    border-bottom-left-radius: 60px;
    border-top-right-radius: 60px;
    box-sizing: border-box;
}
#sub .group .groupBox .img {
    max-width: 200px;
}
#sub .group .groupBox .textInner {
    width: calc(100% - 242px);
}
#sub .group .groupBox .textInner .title {
    max-width: 424px;
    margin-bottom: 13px;
    padding: 6px 0 10px;
    font-size: 2rem;
    font-family: "游明朝", "Yu Mincho", YuMincho, "游明朝体", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HG明朝B", "MS Mincho", serif;
    letter-spacing: 0.18em;
    border-bottom: 1px solid #B99A5C;
}
#sub .group .groupBox .textInner .add {
    margin-bottom: 9px;
    font-size: 1.5rem;
    line-height: 1.6;
}
#sub .group .groupBox .textInner .tel {
    margin-bottom: 14px;
    font-size: 3.425rem;
    font-family: 'Hina Mincho', serif;
    letter-spacing: 0.05em;
}
#sub .group .groupBox .textInner .small {
    margin-left: 5px;
    letter-spacing: 0.12em;
    display: flex;
    justify-content: space-between;
}
#sub .group .groupBox .small a {
    margin-top: -5px;
    padding: 2px 50px 0 0;
    display: inline-block;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    background: url(../img/common/webp/icon08.webp) no-repeat top right / 41px;
    font-family: "游明朝", "Yu Mincho", YuMincho, "游明朝体", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HG明朝B", "MS Mincho", serif;
}






#sub .treatment.whiteBox {
	padding: 86px 0 275px;
	background: linear-gradient(0,#F1F1F1 0%,#fff 47%,#FFF 100%);
}
#sub .treatment .headLine01 .line::after {
	left: 50%;
	transform: translateX(-50%);
}
#sub .treatment .treatBox {
	margin: -134px 0 100px;
	padding: 153px 133px 147px;
	background: url(../img/index/webp/treat_box_bg.webp) no-repeat top left / cover;
	border-radius: 0 140px;
}
.no-webp #sub .treatment .treatBox {
	background-image: url(../img/index/treat_box_bg.jpg);
}
#sub .treatment .topTxt {
	margin-bottom: 60px;
	font-size: 3rem;
	font-family: "游明朝", "Yu Mincho", YuMincho, "游明朝体", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HG明朝B", "MS Mincho", serif;
	letter-spacing: 0.1em;
	text-align: center;
}
#sub .treatment .linkUl li {
	margin-bottom: 30px;
}
#sub .treatment .linkUl li:last-of-type {
	margin-bottom: 0;
}
#sub .treatment .linkUl li a {
	display: flex;
	border-radius: 0 40px 0 40px;
	box-shadow: 6px 7px 12px 0 rgba(0, 0, 0, 0.2);
	overflow: hidden;
}

#sub .treatment li .text {
	padding: 20px 43px;
	width: 62.1%;
	color: #FFF;
	position: relative;
	box-sizing: border-box;
	background: linear-gradient(90deg, #6B8AB8 0,#9FC2C6 100%);
}
#sub .treatment li .text::before {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	opacity: 0;
	content: '';
	background: linear-gradient(45deg, #3F409D 0,#25308E 100%);
	transition: 0.3s;
}
#sub .treatment .linkUl li .text h3,
#sub .treatment .linkUl li .text p {
	position: relative;
	z-index: 2;	
}
#sub .treatment li .text::after {
	width: 43px;
	height: 24px;
	position: absolute;
	right: 43px;
	top: 50%;
	transform: translateY(-50%);
	background: url(../img/common/webp/icon07.webp) no-repeat center right / 100%;
	content: '';
}
.no-webp #sub .treatment li .text::after {
	background-image: url(../img/common/icon07.png);
}
#sub .treatment .linkUl li .text h3 {
	margin-bottom: 5px;
	font-size: 3.4rem;
	font-weight: 500;
	font-family: "游明朝", "Yu Mincho", YuMincho, "游明朝体", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HG明朝B", "MS Mincho", serif;
	letter-spacing: 0.18em;
}
#sub .treatment .linkUl li:first-of-type .text h3 {
	letter-spacing: 0.1em;
}
#sub .treatment .treat02 .text {
	background: linear-gradient(90deg, #D48290 0,#E1A3AE 100%);
}
#sub .treatment .treat03 .text {
	background: linear-gradient(90deg, #8980B7 0,#B6B8C7 100%);
}
#sub .treatment .treat04 .text {
	background: linear-gradient(90deg, #D29A7F 0,#DEB5A1 100%);
}
/*
#sub .treatment .linkUl li .pho {
	width: 37.9%;
}
*/
#sub .treatment .linkUl li .pho img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#sub .treatment .circleUl {
	margin: 30px -16px 0;
	display: flex;
	flex-wrap: wrap;
}
#sub .treatment .circleUl li {
	margin: 32px 16px 0;
	width: 174px;
	aspect-ratio: 1/1;
	border-radius: 50%;
	overflow: hidden;
}
#sub .treatment .circleUl li a {
	padding: 53px 10px 39px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	color: #B99A5C;
	background: #FFF;
	height: 100%;
	box-sizing: border-box;
}

#sub .treatment .circleUl li img {
	width: 76px;
	margin-bottom: 12px;
	transition: .3s;
}
#sub .treatment .circleUl li span {
	width: 100%;
	font-size: 1.6rem;
	letter-spacing: 0.15em;
	text-align: center;
	font-family: "游明朝", "Yu Mincho", YuMincho, "游明朝体", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HG明朝B", "MS Mincho", serif;
}





#sub .problem .proBox {
	margin: 70px auto 70px;
	max-width: 1366px;
	display: flex;
	justify-content: space-between;
}
#sub .problem .phoBox {
	margin-left: 10px;
	width: 46%;
	max-width: 629px;
	border-radius: 0 90px 0 90px;
	overflow: hidden;
}
#sub .problem .phoBox img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#sub .problem .txtBox {
	margin: -37px 0 0 123px;
	width: calc(50% - 80px);
}
#sub .problem .txtBox p {
	font-size: 1.7rem;
}
#sub .problem .proList {
	display: flex;
	flex-wrap: wrap;
	background: #FFF;
}
#sub .problem .proList li {
	padding: 12px;
	width: calc(100%/3);
	box-sizing: border-box;
	position: relative;
}
#sub .problem .proList li::before {
	content: '';
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.15);
	top: 0;
	left: 0;
	position: absolute;
	z-index: 2;
}
#sub .problem .proList li a {
	min-height: 176px;
	padding-bottom: 15px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-size: 2rem;
	font-family: "游明朝", "Yu Mincho", YuMincho, "游明朝体", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HG明朝B", "MS Mincho", serif;
	letter-spacing: 0.05em;
	border: 1px solid #B99A5C;
	border-radius: 0 30px 0 30px;
	position: relative;
	z-index: 3;
	box-sizing: border-box;
}
#sub .problem .proList li a::before {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	border-radius: 0 30px 0 30px;
	background: url(../img/common/webp/btn_over_img01.webp) no-repeat top left / cover;
	content: '';
	transition: .3s;
	opacity: 0;
	z-index: -1;
}
#sub .problem .proList li a .num {
	transition: .3s;
}

#sub .problem .proList li .num {
	margin-bottom: 10px;
	width: 100%;
	color: #B99A5C;
	font-size: 4.2rem;
	font-family: 'Hina Mincho', serif;
	line-height: 1;
	text-align: center;
}
#sub .problem .proList li {
	position: relative;
}
#sub .problem .proList li .img {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	opacity: 0.45;
}
#sub .problem .proList li .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#sub .whiteBox {
	padding: 116px 0 222px;
	background: #FFF;
}
#sub .problem .imgBox {
	margin: 0 auto;
	max-width: 1366px;
	width: 100%;
	display: flex;
	align-items: center;
}
#sub .problem .imgBox .pho {
	max-width: 750px;
	width: 100%;
	border-radius: 0 120px 0 120px;
	overflow: hidden;
}
#sub .problem .imgBox .textBox {
	width: calc(50% + 50px);
	min-width: 520px;
	margin: 14px 0 0 -65px;
}
#sub .problem .imgBox .textBox h3 {
	margin-bottom: 26px;
	font-size: 4.029rem;
	font-family: "游明朝", "Yu Mincho", YuMincho, "游明朝体", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HG明朝B", "MS Mincho", serif;
	letter-spacing: 0.13em;
	font-weight: 500;
	line-height: 1.86;
}
#sub .problem .imgBox .textBox p {
	font-size: 2rem;
	font-family: "游明朝", "Yu Mincho", YuMincho, "游明朝体", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HG明朝B", "MS Mincho", serif;
	letter-spacing: 0.13em;
	line-height: 2.15;
}



.breadcrumbs {
    margin: 0 auto;
    width: 1000px;
}

.entry h2 a{color: #fff;}


.chapter {
    background: #F1F1F1;
    column-count: 2;
    counter-reset: li;
    margin: 3.6rem auto 0;
    padding: 4rem 2rem;
    width: 800px;
}
.chapter li {
    list-style: none;
    margin: 0 0 20px;
    padding-left: 30px;
    position: relative;
}
main ol.chapter li:before {
    background-image: none;
    color: #000;
    font-size: 16px;
    height: 20px;
    transform: translateY(0);
    width: 20px;
}
.chapter li:before {
    content: counter(li) ".";
    counter-increment: li;
    left: 0;
    position: absolute;
    top: 0;
}




.fle-btn{display: flex;justify-content: space-between;}

#sub .doctor {padding: 18rem 0 40rem;position: relative;background: url(../img/index/bg22.webp) no-repeat center bottom;
background-size: 100% auto;}
#sub .doctor:after {width: 42rem;  height: 40.2rem;background: url(../img/index/bg21.webp) no-repeat;background-size: 100% auto;position: absolute;  bottom: 2rem;left: 0;content: ""; }
#sub .doctor .imgBox {margin-bottom: 4rem;}
#sub .doctor .imgBox .photoBox {order: 2;margin: 0.8rem 0 0 9.5rem;width: 45.5%;}
#sub .doctor .imgBox .photoBox img {width: 100%;}
#sub .doctor .imgBox .textBox {flex: 1;}
#sub .doctor .imgBox p {line-height: 2.11;text-align: justify;}
#sub .doctor .imgBox .ttl {margin-bottom: 1.5rem;font-size: 2.4rem;color: #C9B794;font-weight: 700;line-height: 1.7;letter-spacing: 0.144rem;}
#sub .doctor .imgBox .name {margin-bottom: 3rem;font-size: 4.6rem;padding-bottom: 1.5rem;font-weight: 600;display: flex;line-height: 1.2;align-items: flex-end;justify-content: space-between;letter-spacing: 0.368rem;border-bottom: 1px solid #C9B794;}
#sub .doctor .imgBox .name .txtSpan {font-size: 1.8rem;color: #C9B794;}
#sub .doctorList {margin-bottom: 9.8rem;display: flex;flex-wrap: wrap;justify-content: space-between;}
#sub .doctorList:last-child {margin-bottom: 0;}
#sub .doctorList > li {width: 45.5%;}
#sub .doctorList li h3 {text-align: center;font-size: 1.6rem;font-weight: 700;margin-bottom: 2rem;padding: 0.8rem 1rem;letter-spacing: 0.096rem;background-color: #C9B794;}
#sub .doctorList dl {display: flex;flex-wrap: wrap;justify-content: space-between;line-height: 1.875;font-size: 1.6rem;}
#sub .doctorList dt {width: 7.7rem;font-weight: 700;letter-spacing: 0.096rem;padding-right: 0.2rem;}
#sub .doctorList dd {width: calc(100% - 7.7rem);}
#sub .doctorList .textList {padding-top: 0.4rem;margin-left: 1rem;}
#sub .doctorList .textList li {margin-bottom: 0.6rem;padding-left: 1.5rem;font-size: 1.6rem;font-weight: 500;letter-spacing: 0.096rem;position: relative;}
#sub .doctorList .textList li:after {width: 4px;  height: 4px;border-radius: 100%;background-color: #444444;position: absolute;  top: 1rem;left: 0;  content: ""; }
#sub .doctorList .liStyle {width: 100%;}
#sub .doctorList02 dt {width: 13.5rem;}
#sub .doctorList02 dd {width: calc(100% - 13.5rem);}
#sub .doctor .comLink {margin-top: 12rem;}

#sub section:not([class]) dl:not([class]) {
    width: 100%;
    margin: 50px auto;
    padding: 40px 50px;
    background: #FAF4E8;
    border-radius: 10px
}

#sub section:not([class]) dl:not([class])>*:first-child {
    margin-top: 0
}

main section:not([class]) dl:not([class])>*:last-child {
    margin-bottom: 0 !important
}

#sub section:not([class]) dl:not([class]) dt {
    font-size: 2rem;
    font-weight: bold;
    color: var(--black);
    margin-bottom: 10px;
    font-family: var(--sub-font)
}

#sub section:not([class]) dl:not([class]) dt:nth-child(n+2) {
    margin-top: 30px
}

#sub section:not([class]) dl:not([class]) dd>*:last-child {
    margin-bottom: 0 !important
}

#sub section:not([class]) dl:not([class]) hr {
    display: block;
    margin: 30px 0;
    border-top: 1px solid #FF778E;
}
#sub section:not([class]) dd {
    text-align: justify;
    margin-bottom: 1em;
    line-height: 2;
    font-size: 1.6rem;
}
#sub section:not([class]) dl:not([class]) .side-img .img {
    width: 300px;
}

#sub ul.mokuji {
    display: flex;
    flex-wrap: wrap;
    max-width: 800px;
    margin: 50px auto 0;
    justify-content: space-between
}

#sub ul.mokuji li {
    width: 32%;
    margin: 10px 0 0 10px;
    border: solid 1px var(--base-color);
    background: #fff;
    align-items: center;
    position: relative;
    transition: .8s;
    padding: 10px 15px
}

#sub ul.mokuji li:hover {
    background: #FF778E;
}

#sub ul.mokuji li a.linkwrap {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10
}
#sub .treatment {
	width: 100%;
        padding: 0 2rem;
        margin: 3rem 0;
}
#sub .treatment h2 {
	margin-bottom: 6.4rem;
	text-align: center;
	font-size: 7rem;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.42rem;
}
#sub .treatment h2 .en {
	display: block;
	font-size: 3rem;
	color: #C9B794;
	font-weight: 600;
	margin-bottom: 1rem;
	letter-spacing: 1.5rem;
}
#sub .treatmentList {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 7.6rem;
}
#sub .treatmentList li {
	margin-bottom: 3rem;
	width: calc(100% / 5);
}
#sub .treatmentList a {
	min-height: 22rem;
	display: block;
	padding: 4.0rem 1rem 1rem;
	text-align: center;
	background-color: #FAF4E8;
}
#sub .treatmentList .img {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 7rem;
	margin: 0 auto -1rem;
}
#sub .treatmentList .txtSpan {
	display: flex;
    flex-direction: column;
	justify-content: flex-end;
	text-align: center;
	font-size: 2rem;
	letter-spacing: 0;
	line-height: 1.3;
	min-height: 8rem;
	padding-bottom: 2rem;
	background: url(../img/common/icon05.webp) no-repeat center bottom;
	background-size: 1rem auto;
}




main section:not([class]) h2 + img, main section:not([class]) h3 + img {
    display: block;
    width: 80%;
    margin: 4rem auto;
}

.flex_box{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-bottom: 20px;	
}

.flex_box > .fl_c{
flex-basis: 55%;	
}

.flex_box > .fl_i{
flex-basis: 40%;	
}

.flex_box > .fl_i >img{
border-radius: 10px;	
}

h2 + img{
border-radius: 10px;		
}

main#sub section:not([class]) .dr_content span{

font-size: 1.5rem;	
}


main#sub section:not([class]) .dr_content h3{
border-bottom: none;

font-size: 3.5rem;	
padding-left: 0px;	
}
main#sub section:not([class]) ul.no-style li{
border-bottom: none;
}

main#sub section:not([class]) table.no-style tr{
line-height: 2.4vw;
}


.writer{
background: #F6F4ED;		
padding: 1px 30px 5px;
margin-bottom: 50px;	
}

main#sub section:not([class]) .writer h3{
margin-top: 20px;	
}

.flex_box .wr_txt{
flex-basis: 80%;	
}

.flex_box .wr_img{
flex-basis: 15%;	
}

.flex_box .wr_img img{
border-radius: 50%;	
}


.coment{
	padding:3em 2em 2em; /* ボックス内側余白 */
	position:relative; /* 配置(ここを基準に)*/
	border: 1px solid #F2ECDF; /* ボックスの線 (太さ・種類・色)*/
	border-radius: 10px;
}

.coment .coment-ttl{
		background-color:#71592C; /* タイトル背景色 */
	font-size: 1em;/* タイトル文字の大きさ */
	color: #fff ; /* タイトル文字色 */
	padding: 7px 12px;/*タイトルの余白*/
	line-height: 1;/*タイトルの行の高さ*/
	position:absolute;/* 配置(ここを動かす) */
	top: 0; /*上からの距離*/
	left: 0; /*左からの距離*/
	    border-radius: 7px 0 7px 0;
}

.treatment .linkList {

	margin-bottom: 6.2rem;
    margin-top: 5rem;
}

.treatment .linkList li {

	width: 48.35%;

	overflow: hidden;

	border-radius: 1rem;

}

.treatment .linkList a {

	display: block;

	position: relative;

}

.treatment .linkList .comLink01 {

	position: absolute;

	right: 3rem;

	top: 50%;

	transform: translateY(-50%);

}

.treatment .linkUl .ttl {

	margin-bottom: 2rem;

	color: var(--van-blue);

	font-weight: 600;

	letter-spacing: 0.16rem;

	overflow: hidden;

}

.treatment .linkUl .ttl span {

	padding-right: 0.4rem;

	width: fit-content;

	position: relative;

	display: block;

}

.treatment .linkUl .ttl span::before {

	position: absolute;

	left: 100%;

	bottom: 1.2rem;

	height: 1px;

	width: 1000rem;

	background-color: var(--van-blue);

	content: "";

}

#sub.treatment .linkUl .pho {

	overflow: hidden;

	border-radius: 1rem;

}

.treatment .linkUl .pho a {

	position: relative;

	display: block;

}

.treatment .linkUl .pho a:hover {

	opacity: 0.65;

}

.treatment .linkUl .pho span {

	position: absolute;

	left: 0;

	width: 100%;

	bottom: 1.3rem;

	text-align: center;

	color: var(--white);

	font-size: 2rem;

	font-weight: 600;

	letter-spacing: 0.2rem;

}

@media all and (min-width: 897px) {

.treatment .linkUl li {

		width: 27rem;

	}

.treatment .linkUl li:first-child {

		width: 58rem;

	}

.treatment .linkUl .phoBox .pho {

		width: 27rem;

	}

}

#sub section.treatment h2{
    font-weight: 600;
    font-size: 2.8rem;
    line-height: 1.6;
    letter-spacing: 0.05em;
    background: #DCF2FF;
    color: var(--orange);
    margin: 8rem 0 4rem;
    padding: 0.4em 1em;
	border-radius: 10px;
	    text-align: left;
}

#sub .menu .menuList {

	margin: auto;

	position: relative;
width: 1100px;
	z-index: 1;

}

#sub .menu .menuList li {


	width: 25rem;

}

#main .menu .menuList li:nth-child(4n) {

	margin-right: 0;

}

#sub .menu .menuList li a {

	padding: 3rem 1rem 1.5rem;

	display: block;

	width: 100%;

	height: 100%;

	text-align: center;

	min-height: 22rem;

	font-size: 2rem;

	font-weight: 600;

	letter-spacing: 0.2rem;

	border-radius: 1rem;

	background-color: var(--white);

}

#sub .menu .menuList li a:hover {

	opacity: 0.65;

}

#sub .menu .menuList li .pho {

	margin-bottom: 2.5rem;

	display: block;

}

#sub .menu .menuList li .pho img {

	height: 11rem;

}

.history-row {
  display: flex;
  justify-content: space-between;
  border: none;
}

.history-row .inner {
  width: 50%;
  padding: 0 20px;
  box-sizing: border-box;
}

/* 中央に境界線を追加する */
.history-row .inner:first-child {
  border-right: 1px solid #F2ECDF; /* 中央の縦線 */
	
}

main#sub section:not([class]) .dr_content > h3{
margin-top: 0px;	
}

#sub .treatBox {
	padding: 15.8rem 0 16rem;
	background: url(../img/index/bg10.webp) no-repeat right bottom -2rem / 41rem;
}
#sub .treatBox .infoBox {
	margin-bottom: 10rem;
	padding: 6rem 4.9rem 4.9rem;
	border-radius: 1.6rem;
	background: url(../img/index/bg07.webp) no-repeat center top / cover;
}
#sub .treatBox .heading {
	margin-bottom: 3.5rem;
	padding-bottom: 0.9rem;
	max-width: 74rem;
	font-size: 5rem;
	color: var(--green);
	letter-spacing: -0.04em;
	position: relative;
	border-bottom: 0.2rem solid currentColor;
}
#sub .treatBox .heading::after {
	content: "";
	width: 5.4rem;
	height: 2.2rem;
	position: absolute;
	left: 17rem;
	top:100%;
	background: url(../img/index/line_icon.webp) no-repeat left top / 100%;
}
#sub .treatBox .heading small {
	display: block;
	font-size: 2.6rem;
	letter-spacing: 0.06em;
	color: #444;
	line-height: 1.35;
}
#sub .treatBox .list01 {
	margin-bottom: 4rem;
	max-width: 76rem;
	gap: 2rem 3rem;
}
#sub .treatBox .list01 li {
	width: fit-content;
	padding: 0.8rem 0.5rem 0.8rem 4.9rem;
	font-feature-settings: "palt";
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0.1em;
	background: url(../img/common/icon05.webp) no-repeat left top / 4.3rem;
}
#sub .treatBox .list01 .light {
	background: linear-gradient(to bottom,transparent 60%,var(--yellow) 40%);
}
#sub .treatBox .list02 {
	gap: 3rem 3.3rem;
}
#sub .treatBox .list02 .img {
	margin: 0 auto;
	min-height: 8.9rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
#sub .treatBox .list02 li {
	width: calc((100% - 9.95rem) / 4);
}
#sub .treatBox .list02 a {
	display: block;
	padding: 3.8rem 1rem 3.4rem;
	text-align: center;
	border-radius: 1.6rem;
	line-height: 1.625;
	font-feature-settings: "palt";
	letter-spacing: 0.1em;
	background: url(../img/index/bg09.webp) repeat left top / 15rem;
}
#sub .treatBox .list02 .img img {
	width: 10.7rem;
}
#sub .treatBox .list02 .ttl {
	margin: 0.3rem 0 1.6rem;
	font-size: 2.4rem;
	color: var(--green);
	line-height: 1.2;
	letter-spacing: 0;
	font-family: "Zen Maru Gothic", serif;
}


/* comBtn01 */
.comBtn01 a {
	width: fit-content;
	height: 5.8rem;
	padding: 0 4rem;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 1.8rem;
	border-radius: 0.8rem;
	background: #71592C;
	font-weight: 700;
	box-sizing: border-box;
	letter-spacing: 0;
	font-family: "Zen Maru Gothic", serif;
	color: #fff;
}

.comBtn01 span::after{
content: ">";
padding-left: 20px;	
}

@media (hover: hover) {
    .comBtn01 a:hover {
		opacity: 0.65;
	}
}
@media all and (max-width: 896px) {
	.comBtn01 a {
		margin: 0 auto;
	}
}


.accordion-section {
            border: 1px solid #ddd;
            margin-bottom: 10px;
            border-radius: 5px;
            overflow: hidden;
	width: 1100px;
	margin: auto;
	margin-bottom: 20px;
        }

        .accordion-header {
            background-color: #f8f9fa;
            padding: 20px;
            cursor: pointer;
            position: relative;
            border: none;
            width: 100%;
            text-align: left;
            font-size: 18px;
            font-weight: bold;
            transition: background-color 0.3s ease;
        }

        .accordion-header:hover {
            background-color: #e9ecef;
        }

        .accordion-header::after {
            content: '+';
            position: absolute;
            right: 20px;
            top: 50%;
            transform: translateY(-50%);
            font-size: 24px;
            font-weight: bold;
            transition: transform 0.3s ease;
        }

        .accordion-header.active::after {
            content: '−';
            transform: translateY(-50%) rotate(0deg);
        }

        .accordion-content {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease-out;
            background-color: white;
        }

        .accordion-content.active {
            max-height: 2000px; /* 十分な高さを設定 */
            transition: max-height 0.5s ease-in;
        }

        .accordion-inner {
            padding: 20px;
        }

        .accordion-inner h2 {
            color: #333;
            font-size: 24px;
            margin-bottom: 15px;
            line-height: 1.4;
        }

        .accordion-inner h3 {
            color: #71592C;
            font-size: 18px;
            margin-top: 25px;
            margin-bottom: 10px;
            border-left: 4px solid #e6a42a;
            padding-left: 10px;
        }

        .accordion-inner p {
            line-height: 1.6;
            margin-bottom: 15px;
            color: #71592C;
        }

        .accordion-inner ul {
            margin: 15px 0;

        }

        .accordion-inner li {
            margin-bottom: 8px;
            line-height: 1.5;
            color: #71592C;
        }

.accordion-inner li::before{
content:"・";	
}

        .accordion-inner table {
            width: 100%;
            border-collapse: collapse;
            margin: 15px 0;
        }

        .accordion-inner th,
        .accordion-inner td {
            border: 1px solid #ddd;
            padding: 10px;
            text-align: left;
        }

        .accordion-inner th {
            background-color: #f8f9fa;
            font-weight: bold;
        }




#sub .sec04 {

	padding: 15rem 0 1px;

	margin: 0 3rem;

	background: url(../img/index/sec04_bg.webp) no-repeat left top / cover;

	border-radius: 2.4rem;

}

#sub .sec04 .content {

	max-width: 110rem;

}

#sub .sec04 .headLine01 {

	margin-bottom: 6rem;

	color: var(--white);

}

#sub .sec04 .headLine01 .en::after {

	background-color: var(--white);

}

#sub .sec04 .treatList {

	margin: -3rem 0 7.9rem;

}

#sub .sec04 .treatList li {

	margin: 3rem 3.5% 0 0 ;

	width: 31%;

	background-color: var(--white);

	border-radius: 1.6rem;

	overflow: hidden;

}

#sub .sec04 .treatList li:nth-child(3n) {

	margin-right: 0;

}

#sub .sec04 .treatList .textBox {

	padding: 2.8rem 3rem 4rem;

}

#sub .sec04 .treatList .textBox .ttl {

	margin-bottom: 1.8rem;

	text-align: center;

	font-size: 2.4rem;

	font-weight: 700;

	letter-spacing: 0.192rem;

	line-height: 1.25;

	font-feature-settings: "palt";

}

#sub .sec04 .treatList .textBox .txt {

	margin-bottom: 2.9rem;

	line-height: 1.8;

	letter-spacing: 0.032rem;

	overflow-wrap: break-word;

	word-break: break-all;

	word-wrap: break-word;

	hyphens: auto;

}

#sub .sec04 .treatList .comBtn {

	margin: 0 auto;

	width: 22rem;

}

#sub .sec04 .linkList {

	margin: -6.8rem 0 8.5rem;

}

#sub .sec04 .linkList li {

	margin: 6.8rem 5.24% 0 0;

	width: 12.3%;

	text-align: center;

}

#sub .sec04 .linkList li:nth-child(6n) {

	margin-right: 0;

}

#sub .sec04 .linkList a {

	margin: 0 auto;

	width: fit-content;

	display: inline-block;

	background: url(../img/common/icon09.webp) no-repeat center bottom / 1.2rem;

}

#sub .sec04 .linkList .pic {

	margin-bottom: 0.6rem;

}

#sub .sec04 .linkList img {

	height: 6rem;

}

#sub .sec04 .linkList p {

	margin: 0 -0.5rem 1.8rem;

	text-align: center;

	color: var(--white);

	font-size: 1.8rem;

	font-weight: 700;

	letter-spacing: 0.18rem;

}

#sub .sec04 .linkList a:hover {

	opacity: 0.65;

}

#sub .sec04 .firstBox {

	position: relative;

	z-index: 3;

	margin-bottom: -21.1rem;

	padding: 5rem;

	background: url(../img/index/first_bg.webp) no-repeat left top / cover,linear-gradient(0deg, var(--white20) 0%, var(--white20) 100%);

	border-radius: 2.4rem;

	overflow: hidden;

	box-shadow: 0 2rem 2rem 0 var(--black40);

}

#sub .sec04 .firstBox .sub {

	padding: 5.1rem 1rem 6rem;

	border-radius: 1.6rem;

	background-color: var(--white86);

	filter: drop-shadow(0 1rem 2rem var(--black10));

}

#sub .sec04 .firstBox .sub .ttl {

	padding-left: 4rem;

	margin: 0 auto 2.4rem;

	width: fit-content;

	text-align: center;

	font-size: 3.2rem;

	font-weight: 700;

	letter-spacing: 0.256rem;

	font-feature-settings: "palt";

	background: url(../img/index/first_img01.webp) no-repeat left top 0.7rem / 2.7rem;

}

#sub .sec04 .firstBox .sub .txt {

	margin-bottom: 3.8rem;

	text-align: center;

	font-size: 2rem;

	font-weight: 500;

	letter-spacing: 0.2rem;

	font-feature-settings: "palt";

}

#sub .sec04 .firstBox .sub .col {

	color: var(--brown2);

	font-weight: 700;

	font-size: 2.4rem;

	letter-spacing: 0.24rem;

	font-feature-settings: "palt";

}

#sub .sec04 .firstBox .sub .sml {

	font-size: 2rem;

	letter-spacing: 0.2rem;

}

#sub .sec04 .firstBox .sub .num {

	font-size: 2.6rem;

	letter-spacing: 0.26rem;

}

#sub .sec04 .firstBox .btnList li {

	margin: 0 3rem;

	width: fit-content;

}

#sub .sec04 .firstBox .comBtn {

	width: 22rem;

}

main#sub section:not([class]) .side-img .content > h5{
margin-top: 0px;	
}
