@charset "utf-8";

:root {
	--base-color: #756A5F;
	--main: #5CBFD1;
	--white: #fff;
	--black: #484848;
	--sub01: #F8F6F0;
	--sub02: #5CBFD1;
	--sub03: #7CAD00;
	--sub04: #F4F4F4;
	--sub05: #FFD4D4;
}

h1,
h2,
h3,
h4,
h5 {
	font-family: "M PLUS Rounded 1c", sans-serif;

}

main#sub {
	display: block;
	position: relative;
	box-sizing: border-box;
	background: url(../img/index/feature_bg01.png) no-repeat left bottom / 100% 394px;
}

main h1 {
	position: relative;
	z-index: 1;
	color: inherit;
	font-size: 4rem;
	font-weight: 600;
	text-align: center;
	margin-top: 20rem;
	padding-left: 10vw;
	text-align: left;
}

main h1:before {
	position: absolute;
	z-index: -1;
	top: -13rem;
	left: 0;
	padding-left: 10vw;
	transform: none;
	width: auto;
	text-align: left;
	content: attr(data-en) "";
	font-size: 7vw;
	font-weight: 600;
	line-height: 0.86;
	letter-spacing: 0.03em;
	font-family: "cabin", serif;
	word-break: break-all;
	color: var(--sub03);
}



main#sub section:not([class]) {
	display: block;
	margin: 6rem auto 8rem;
	box-sizing: border-box;
	width: 1100px;
}

/* タブレット：下層ページの幅を枠内に収める */
@media all and (max-width: 1024px) {
	main#sub section:not([class]) {
		width: 100%;
		max-width: 100%;
		padding: 0 2rem;
		box-sizing: border-box;
		margin-left: auto;
		margin-right: auto;
	}

	#sub .menu .menuList {
		width: 100%;
		max-width: 100%;
		padding-left: 2rem;
		padding-right: 2rem;
		box-sizing: border-box;
	}

	.accordion-section {
		width: 100%;
		max-width: 100%;
		margin-left: 2rem;
		margin-right: 2rem;
		box-sizing: border-box;
	}

	.breadcrumbs {
		width: 100%;
		max-width: 100%;
		padding-left: 2rem;
		padding-right: 2rem;
		box-sizing: border-box;
	}

	.chapter {
		width: 100%;
		max-width: 100%;
		padding-left: 2rem;
		padding-right: 2rem;
		box-sizing: border-box;
	}

	.pankuzu ul {
		padding-left: 2rem;
		padding-right: 2rem;
		box-sizing: border-box;
	}

	main#sub section:not([class]) table {
		max-width: 100%;
	}

	main#sub section:not([class]) img {
		max-width: 100%;
		height: auto;
	}

	main#sub {
		overflow-x: hidden;
	}
}

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: var(--sub03);
	color: #fff;
	margin: 10rem 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: var(--sub03);
	margin: 6rem 0 2.6rem;
	letter-spacing: 0.05em;
	padding-left: 0.5em;
	border-bottom: 1px var(--sub03) solid;
}

main#sub section:not([class]) h4:not(.no-style) {
	font-weight: 600;
	font-size: 1.8rem;
	background: #F4F4F4;
	color: var(--sub03);
	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: var(--sub03);
	padding-right: 5px;
}

main#sub section:not([class]) h5:not(.no-style) {
	font-size: 1.7rem;
	color: #756A5F;
	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: 0;
	padding: 30px 0 40px;
	position: relative;
	top: 10.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: #063b8f;
}

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: var(--sub03);
	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: "M PLUS Rounded 1c", sans-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;
	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: var(--sub03);
	position: absolute;
	left: 0.2rem;
	top: 0.8rem;
}

main#sub section:not([class]) ul li {
	border-bottom: 3px dotted var(--sub03);
}

/* 診療案内トップ（treatment/index.html）のメニュー */
main#sub section .treatList {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 2%;
	list-style: none;
	padding: 0;
	margin: 4rem 0 2rem;

}

main#sub section .treatList li {
	width: 18%;
	min-width: 130px;
	text-align: center;
	border-bottom: none !important;
}

main#sub section .treatList a {
	display: block;
	padding: 2.4rem 1rem 1.6rem;
	border-radius: 1.4rem;
	background: #FAF4E8;
	color: inherit;
	height: 100%;
}

main#sub section .treatList img {
	width: 6.5rem;
	margin: 0 auto 1rem;
}

main#sub section .treatList .txt {
	display: block;
	font-size: 1.8rem;
	font-weight: 600;
}

main#sub section .treatList .txt.sm {
	font-size: 1.6rem;
}

@media all and (max-width: 896px) {
	main#sub section .treatList {
		gap: 14px 4%;
		margin: 3rem 0 1rem;
	}

	main#sub section .treatList li {
		width: 48%;
	}

	main#sub section .treatList img {
		width: 5.6rem;
	}

	main#sub section .treatList .txt {
		font-size: 1.6rem;
	}
}

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: var(--sub03);
	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: "M PLUS Rounded 1c", sans-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: var(--sub03);

	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: "M PLUS Rounded 1c", sans-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;
	border-top: solid 1px #7cad01;
}

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 var(--sub03);
}

main section:not([class]) table:not(.no-style) th {
	background: #F8F6F0;
	padding: 1em;
	vertical-align: middle;
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1.7;
	color: var(--sub03);
	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 var(--sub03);
}

/* 最後の行のみに 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 var(--sub03);
}

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: flex-start;
	margin: 3.6rem 0;
	flex-wrap: wrap;
	background: var(--sub01);
	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: var(--main);
	color: #fff;
	padding: 0.5em 1em;
	margin: 4rem 0 2rem;
	letter-spacing: 0.05em;
	border-radius: 5px;
	width: 100%;
	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;
	line-height: 2.5rem;
	padding-left: 20px;
}

main#sub section:not([class]) .history-row .inner ul li {
	padding-left: 1em;
	position: relative;
	font-family: "M PLUS Rounded 1c", 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: "M PLUS Rounded 1c", sans-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: "M PLUS Rounded 1c", sans-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: "M PLUS Rounded 1c", sans-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: "M PLUS Rounded 1c", sans-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: "M PLUS Rounded 1c", sans-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: "M PLUS Rounded 1c", sans-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: "M PLUS Rounded 1c", sans-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: "M PLUS Rounded 1c", sans-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: "M PLUS Rounded 1c", sans-serif;

	letter-spacing: 0.13em;
	font-weight: 500;
	line-height: 1.86;
}

#sub .problem .imgBox .textBox p {
	font-size: 2rem;
	font-family: "M PLUS Rounded 1c", sans-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: var(--sub03);
	/* タイトル背景色 */
	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 var(--sub04);
	/* 中央の縦線 */

}

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: "M PLUS Rounded 1c", sans-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: 20px;
	background: var(--sub03);
	font-weight: 700;
	box-sizing: border-box;
	letter-spacing: 0;
	font-family: "M PLUS Rounded 1c", sans-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;
	color: #ff8384;
	padding: 20px;
	cursor: pointer;
	position: relative;
	border: none;
	width: 100%;
	text-align: left;
	font-size: 18px;
	font-weight: bold;
	transition: background-color 0.15s 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.15s ease;
}

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

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

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

.accordion-inner {
	padding: 0;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.15s ease-out, padding 0.15s ease-out;
	background-color: white;
}

.accordion-inner.active {
	max-height: 2000px;
	padding: 20px;
	transition: max-height 0.2s ease-out, padding 0.2s ease-out;
}

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

#gNavi .naviList li a {
	color: inherit;
}

main#sub section:not([class]) .hosoku h4 {
	background: #fff;
}

.bg_img {
	background: url("../img/index/bg02.webp") no-repeat center bottom;
	background-size: 100% auto;
	height: 320px;
	margin: 0;
	padding: 0;
	position: relative;
	display: block;
}

/* タブレット：min-width:897px 内の固定幅を上書き */
@media all and (min-width: 897px) and (max-width: 1024px) {
	#sub .menu .menuList {
		width: 100%;
		max-width: 100%;
		padding-left: 2rem;
		padding-right: 2rem;
		box-sizing: border-box;
	}
}