@charset "utf-8";

main#sub {
    display: block;
    position: relative;
    box-sizing: border-box;
}
main#sub h1 {
    padding-top: 6rem;
    padding-bottom: 10px;
    color: #333333;
    font-size: 4rem;
    letter-spacing: 0.1em;
    text-align: center;
	font-weight: 500;
	margin: 16rem 0 7rem;
	font-family: "ten-mincho-text", serif;
	position: relative;
}
main#sub h1::before {
    margin-left: -8px;
    width: 61px;
    height: 49px;
    position: absolute;
    bottom: -35px;
    left: 50%;
    transform: translateX(-50%);
    background: url("../img/common/h1.webp") no-repeat top center / 30px;
    content: "";
}
main#sub section:not([class]) {
    display: block;
    margin: 6rem auto 8rem;
    box-sizing: border-box;
    width: 1100px;
}
section[id] {
  position: relative;
  padding-top: 80px;
  margin-top: -80px!important;
}
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: #F78F67;
   color: #fff;
    margin: 8rem 0 4rem;
    padding: 0.4em 1em;
	font-family: "ten-mincho-text", serif;
	text-align: center;
}
main#sub section:not([class]) h3:not(.no-style) {
    font-weight: 600;
    font-size: 2.6rem;
    color: #514f4a;
    margin: 5rem 0 3rem;
    letter-spacing: 0.05em;
	/*padding-bottom: 10px;*/
	font-family: "ten-mincho-text", serif;
	text-decoration: underline;
    text-decoration-color: #fde0d5;
    text-decoration-thickness: 0.4em;
    text-underline-offset: 0.1em;
    text-decoration-skip-ink: none;
    text-underline-offset: -.2em;
}
main#sub section:not([class]) h4:not(.no-style) {
    font-weight: 600;
    font-size: 1.8rem;
    background: #fbf4e6;
    color: #514f4a;
    padding: 0.5em 1em;
    margin: 4rem 0 2rem;
    letter-spacing: 0.05em;
	font-family: "ten-mincho-text", serif;
}
main#sub section:not([class]) h5:not(.no-style) {
    font-size: 1.6rem;
    color: #333333;
    position: relative;
    margin: 3rem 0 1em;
    letter-spacing: 0.05em;
	display: flex;
    align-items: center;
	font-family: "ten-mincho-text", serif;
}
main#sub section:not([class]) h5:not(.no-style):after {
    border-top: 1px solid;
    content: "";
    width: 2em;
    margin-left: 0.5em;
    display: inline-block;
}

main#sub section:not([class]) h3:not(.no-style)+img {
    display: block;
    width: 100%;
    margin: 0 auto 15px;
}
main#sub section:not([class]) h4:not(.no-style)+img {
    display: block;
    width: 100%;
    margin: 0 auto 15px;
}
main#sub section:not([class]) h5: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;}

.comBtn.btn01 a {
    padding-right: 2.2rem;
    margin: 4rem auto;
    min-width: 37.5rem;
    min-height: 8rem;
    font-size: 1.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background-size: 3rem;
    background-position: right 2.2rem center;
}

.pankuzu {
    margin-top: 0;
    padding: 30px 0;
}
.pankuzu ul {
    width: 1000px;
    margin: 0 auto;
}
.pankuzu li {
    font-size: 1.2rem;
    display: inline-block;
    font-weight: 700;
}
.pankuzu li:not(:last-of-type):after {
    content: '-';
    margin-left: 0.5em;
}
main#sub section:not([class]) .hosoku {
    background: #f2f2f287;
    margin: 5rem auto 4rem;
    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(--red);
}
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(--red);
    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: "ten-mincho-text", 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;
	font-family: "ten-mincho-text", serif;
}
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;
	margin: 15px 0;
}
main#sub section:not([class]) ul:not([class]) li:before {
    content: '';
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 1.5rem;
    background: var(--red);
    position: absolute;
    left: 0.2rem;
    top: 0.8rem;
}
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;
	font-family: "ten-mincho-text", serif;
}
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(--red);
    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;
}
main#sub section:not([class]) ol.flow li img {
    width: 35rem;
    position: absolute;
    top: 0;
    right: 0;
}
main#sub section:not([class]) ol.flow li+li {
    margin-top: 13rem;
}
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 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;}
main section:not([class]) table:not(.no-style) th {background: #FFF5EB;padding: 1em;vertical-align: middle;font-size: 1.6rem;font-weight: 600;line-height: 1.7;width: 30%;font-family: "ten-mincho-text", serif;}
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;}


main#sub section:not([class]) .dr-pic {
    width: 80%;
    height: 30rem;
    display: flex;
    align-items: center;
    position: relative;
    margin: 5rem auto 3.5rem;
}
main#sub section:not([class]) .dr-pic.coming {
    background: url("../img/sub/dr/bg.webp") #f6f3ee no-repeat 50%/cover;
}

main#sub section:not([class]) .dr-pic img {
    width: 36rem;
    position: absolute;
    right: 50px;
    bottom: 0;
}
main#sub section:not([class]) .dr-pic h3 {
    font-size: 5rem;
    font-weight: 700;
	font-family: "游明朝", "Yu Mincho", YuMincho, "游明朝体", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HG明朝B", "MS Mincho", serif;
	letter-spacing: 1rem;
}
main#sub section:not([class]) .dr-pic h3+small {
    display: block;
    font-size: 2rem;
    color: var(--orange);
    line-height: 1;
    font-weight: 400;
	letter-spacing: .1rem;
}
main#sub section:not([class]) .history-row {
    display: flex;
    justify-content: space-between;
    margin: 3.6rem 0;
    flex-wrap: wrap;
}
main#sub section:not([class]) .history-row .inner {
    width: 50rem;
	margin-bottom: 20px;
}
main#sub section:not([class]) .history-row .inner h4 {
   font-weight: 600;
    font-size: 1.5rem;
    background: #f1f1f1;
    color: #333333;
    padding: 0.5em 1em;
    margin: 4rem 0 2rem;
    letter-spacing: 0.05em;
	font-family: "ten-mincho-text", serif;
	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;
	border: none;
}
main#sub section:not([class]) .history-row .inner table td {
    font-size: 14px;
	    padding: 10px;
    line-height: 1.8;
	border: none;
}
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: 50px 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%;
}

.flex-clinic-double p {
    margin: 20px 0!important;
}


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



@media (max-width: 768px){
	
main#sub h1 {
    font-size: 2.5rem;
    margin: 9rem 0 5rem;
	padding-top: 3rem;
    padding-bottom: 3rem;
}
	main#sub h1::before {
    bottom: -20px;
    content: "";
}
main#sub section:not([class]) {
    width: 100%;
    padding: 0 2rem;
    margin: 3rem 0 15rem;
}
main#sub section:not([class]):not(:last-child) {
    margin-bottom: 60px;
}
main#sub section:not([class]) h2:not(.no-style) {
    font-size: 1.9rem;
    margin: 0rem 0 2.5rem;
}
main#sub section:not([class]) h3:not(.no-style) {
    font-size: 1.8rem;
    margin: 5rem 0 2rem;
}
main#sub section:not([class]) h4:not(.no-style) {
    font-size: 1.5rem;
    margin: 0rem 0 1.8rem;
}
main#sub section:not([class]) h5:not(.no-style) {
    font-size: 1.5rem;
    margin: 3.5rem 0 1.6rem;
}
main#sub section:not([class]) h3:not(.no-style)+img {
    width: 100%;
}
main#sub section:not([class]) p {
    font-size: 1.4rem;
	font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.pankuzu {
    padding: 12px 0;
}
.pankuzu ul {
    width: 100%;
    padding: 0 2.5rem;
}
.pankuzu ul li {
    font-size: 1rem;
}
main#sub section:not([class]) .hosoku {
    width: 100%;
    margin: 4rem auto 3rem;
    padding: 6vw;
}
main#sub section:not([class]) ol:not([class]) {
    margin: 3rem 0;
}
main#sub section:not([class]) ol:not([class]) li {
    font-size: 1.3rem;
    padding-left: 5rem;
    line-height: 2.6rem;
}
main#sub section:not([class]) ol:not([class]) li:before {
    width: 3rem;
    height: 3rem;
    font-size: 1.5rem;
}
main#sub section:not([class]) ul:not([class]) {
    margin: 3rem 0;
}
main#sub section:not([class]) ul:not([class]) li {
    font-size: 1.3rem;
}
main#sub section:not([class]) ul:not([class]) li:before {
    top: 0.6rem;
}
main#sub section:not([class]) ol.flow {
    margin: 4rem 0;
}
main#sub section:not([class]) ol.flow li.has-img {
    padding: 0;
    margin-bottom: 6rem;
}
main#sub section:not([class]) ol.flow strong:first-of-type {
    font-size: 1.4rem;
    padding-left: 4.2rem;
}
main#sub section:not([class]) ol.flow strong:first-of-type:before {
    width: 3.5rem;
    height: 3.5rem;
    font-size: 2rem;
    top: -0.3rem;
}
main#sub section:not([class]) ol.flow li img {
    width: 100%;
    position: static;
    margin-top: 1.5rem;
    display: block;
}
main#sub section:not([class]) ol.flow li {
    font-size: 1.3rem;
}
main section:not([class]) table:not(.no-style) {margin: 3rem 0;}
main#sub section:not([class]) table:not(.no-style) th {font-size: 1.3rem;width: 30%;}
main#sub section:not([class]) table:not(.no-style) td {font-size: 1.3rem;width: 70%;}
	
	main#sub section:not([class]) table.sp-break {border-bottom: solid 1px;display: block;}
	    main#sub section:not([class]) table:not(.no-style).sp-break th {text-align: center;border-bottom: none;padding: 0.5em 1em;}
	main#sub section:not([class]) table.sp-break tbody, main#sub section:not([class]) table.sp-break tr, main#sub section:not([class]) table.sp-break th, main#sub section:not([class]) table.sp-break td {display: block;width: 100%;}
	    main#sub section:not([class]) table:not(.no-style).sp-break td {border-top: none;}
	
	
main#sub section:not([class]) .dr-pic {
    height: 13.5rem;
    margin: 6rem 0 2rem;
	        width: 100%;
}
main#sub section:not([class]) .dr-pic .inner {
    padding-left: 2rem;
}
main#sub section:not([class]) .dr-pic img {
    width: 20rem;
    height: 18rem;
    object-fit: cover;
    object-position: top;
    right: 1rem;
}
main#sub section:not([class]) .dr-pic h3 {
    font-size: 2.5rem;
}
main#sub section:not([class]) .dr-pic h3+small {
    font-size: 1.3rem;
}
main#sub section:not([class]) .history-row {
    flex-wrap: wrap;
    margin: 4.5rem 0;
}
main#sub section:not([class]) .history-row .inner {
    width: 100%;
}
main#sub section:not([class]) .history-row .inner h4 {
    margin-bottom: 1.7rem;
    font-size: 1.4rem;
}
main#sub section:not([class]) .history-row .inner table.no-style th {
    font-size: 1.3rem;
}
main#sub section:not([class]) .history-row .inner table.no-style td {
    font-size: 1.3rem;
}
main#sub section:not([class]) .history-row .inner+.inner {
    margin-top: 0rem;
}
main#sub section:not([class]) .history-row .inner ul.no-style li {
    font-size: 1.3rem;
}
main#sub section:not([class]) table.sp-break tbody, main#sub section:not([class]) table.sp-break tr, main#sub section:not([class]) table.sp-break th, main#sub section:not([class]) table.sp-break td {
    display: block;
    width: 100%;
}
main#sub section:not([class]) table:not(.no-style).sp-break tr:last-child td {
    border-bottom: none;
}
main#sub section:not([class]) ol.flow li+li {
    margin-top: 5rem;
}

.side-img {
    flex-wrap: wrap;
    margin: 6vw 0;
}
.side-img .img {
    width: 100%;
    order: 1;
    margin-bottom: 4.66vw;
}
.side-img .content {
    width: 100%;
    order: 2;
}
	
	    .comBtn.btn01 a {
        min-width: 33.5rem;
        min-height: 6rem;
        background-size: 2.3rem;
        background-position: right 1.3rem center;
		font-size: 1.4rem;
    }
	
	.comBtn.btn01.hidari a {
        min-width: 100%!important;
        min-height: 6rem!important;
        background-size: 2.3rem;
        background-position: right 1.3rem center;
		font-size: 1.4rem;
    }
	


	}


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

.entry h2 a{color: #fff;}


@media (max-width: 768px) {
	
	.fle-btn{display: block!important;}
	.fle-btn .comBtn{margin-bottom: 20px;}
	
}
.fle-btn{display: flex;justify-content: space-between;}

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


#sub .treatment {
	padding: 0.1rem 0 13.2rem;
	background-color: var(--grey);
	margin-top: 7rem;
}
#sub .treatment .content {
	margin-top: -0.2rem;
	max-width: 134rem;
}
#sub .treatment .headLine01 {
	margin-bottom: 8.6rem;
}
#sub .treatment .treatList {
	margin: -4rem -1.8% 0;
	font-feature-settings: "palt";
}
#sub .treatment .treatList li {
	margin: 4rem 1.8% 0;
	width: 29.7%;
	background-color: var(--white);
	border-radius: 2rem;
}
#sub .treatment .treatList a {
	padding: 3rem 3rem 2.7rem;
	display: block;
}
#sub .treatment .treatList a:hover {
	opacity: 0.65;
}
#sub .treatment .treatList .ttl {
	margin-bottom: 0.7rem;
	text-align: center;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.66;
	letter-spacing: 0.144rem;
}
#sub .treatment .treatList h3 {
	margin-bottom: 2.5rem;
	text-align: center;
	font-size: 2.6rem;
	letter-spacing: 0.208rem;
}
#sub .treatment .treatList .pho {
	margin-bottom: 2rem;
}
#sub .treatment .treatList .pho img {
	width: 100%;
}
#sub .treatment .treatList .text {
	margin-bottom: 1.9rem;
	min-height: 12rem;
	text-align: justify;
	line-height: 2;
	letter-spacing: 0.12rem;
}
#sub .treatment .treatList .comLink02 p {
	padding: 0.5rem 3.8rem 0.5rem 0;
	font-size: 1.8rem;
}
@media (max-width: 896px) {
#sub .treatment {
		padding-bottom: 7.4rem;
	}
	#sub .treatment .content {
		margin-top: -3.5rem;
	}
	#sub .treatment .headLine01 {
		margin-bottom: 8rem;
	}
	#sub .treatment .treatList {
		margin: 0;
		display: block;
	}
	#sub .treatment .treatList li {
		margin: 0 0 2.1rem;
		width: auto;
	}
	#sub .treatment .treatList li:last-child {
		margin-bottom: 0;
	}
	#sub .treatment .treatList a {
		padding: 3rem 2rem 2.7rem;
	}
	#sub .treatment .treatList .ttl {
		margin-bottom: 0.2rem;
		font-size: 1.6rem;
		line-height: 1.887;
		letter-spacing: 0.128rem;
	}
	#sub .treatment .treatList h3 {
		margin-bottom: 1.8rem;
		font-size: 2.2rem;
		letter-spacing: 0.176rem;
	}
	#sub .treatment .treatList .text {
		margin-bottom: 1rem;
		min-height: fit-content;
	}
	}

@media all and (max-width: 1346px) {
	#sub .treatment .treatList {
		margin: -4rem 0 0;
	}
}

@media (max-width: 768px) {
main section:not([class]) h2 + img, main section:not([class]) h3 + img {
    width: 100%;
    margin: 2rem auto;
}
    .flex-clinic h5{
        margin: 0rem 0 1.6rem!important;
    }
	
	}
@media (max-width: 768px) {
    main#sub section:not([class]) .flex-clinic .flex-clinic-double h3 {
        font-size: 1.8rem;
        margin: 1rem 0 2rem;
    }
}
#sub ul.mokuji {
    display: flex;
    flex-wrap: wrap;
    max-width: 800px;
    margin: 50px auto 0;
    justify-content: flex-start;
}

#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: var(--orange);
}

#sub ul.mokuji li a.linkwrap {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10
}
main ul.mokuji li:after {
    content: '→';
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
}
@media (max-width: 768px) {
#sub ul.mokuji {
        margin-top: 0;
        padding: 3rem 2.5rem 0
    }

    #sub ul.mokuji li {
        width: 48%;
        margin-top: 5px;
        margin-left: 4px;
        font-size: 12px
    }
}

comAnchorBox .flexB {
    margin: 0 auto;
    max-width: 800px;
    justify-content: space-between;
}
.comAnchorBox ul {
    width: 380px;
}
.comAnchorBox ul li {
    margin-bottom: 1rem;
}
.comAnchorBox ul li a {
    background: url(../img/common/arrow_img01.webp) no-repeat 100% / 20px auto;
    border-bottom: 1px solid;
    display: block;
    font-size: 1.6rem;
    letter-spacing: .1em;
    padding: 12px 20px 12px 0;
}
.comAnchorBox ul li :last-child {
    margin-bottom: 0;
}
.comAnchorBox .flexB {
    margin: 0 auto;
    max-width: 800px;
    justify-content: space-between;
}
main section:not([class]) dl:not([class])>*:first-child {
    margin-top: 0;
}
main section:not([class]) dl dt {
    font-size: 2rem;
    font-weight: 600;
    color: var(--base-color);
    margin-bottom: 15px;
	font-family: "ten-mincho-text", serif;
}
main section:not([class]) dl dt:nth-child(n+2) {
    margin-top: 50px;
}
main section:not([class]) dl:not([class]) {
    width: 100%;
    margin: 5rem auto 4rem;
    padding: 40px 50px;
    background: #e98b001a;
}
main section:not([class]) h2+*, main section:not([class]) h3+*, main section:not([class]) h4+*, main section:not([class]) h5+*, main section:not([class]) h6+* {
    margin-top: 0 !important;
}

main section:not([class]):last-of-type {
    padding-bottom: 15rem;
}
main section:not([class]) dl dd {
        font-size: 1.5rem;
	line-height: 2;
    }

.comBtn.btn01.hidari a {
    padding-right: 2.2rem;
    margin: 50px 0;
    min-width: 37.5rem;
    min-height: 8rem;
    font-size: 1.6rem;
    display: flex
;
    align-items: center;
    justify-content: center;
    background-size: 3rem;
    background-position: right 2.2rem center;
}

table .right{text-align: right;}


@media (max-width: 896px) {
    .comAnchorBox .flexB {
        display: block;
        margin: 0;
        width: auto;
    }
	    .comAnchorBox ul {
        width: auto;
    }
	    .comAnchorBox ul li a {
        background-position: right 2px center;
        font-size: 1.4rem;
        padding: 9px 20px 8px 0;
    }
	main section:not([class]) dl:not([class]) {
        margin: 4rem auto 3rem;
        padding: 8vw 6vw;
        border-top-left-radius: 20px;
        border-bottom-right-radius: 20px;
    }
	main section:not([class]) dl dt {
        font-size: 1.75rem;
        margin-bottom: 3vw;
    }
	main section:not([class]) dl dd {
        font-size: 1.4rem;
    }
	main section:not([class]):last-of-type {
        padding-bottom: 3rem;
    }
	
}


/* treatment */
#sub .treatment {
	margin-top: 4rem;
    padding: 5rem 0 16.8rem;
    background: var(--bg06);
	margin-bottom: 11rem;
}
#sub .treatment .headLine01 {
	margin-bottom: 9.8rem;
	position: relative;
}
#sub .treatment .headLine01::before,
#sub .treatment .headLine01::after {
	content: "";
	width: 7.9rem;
	height: 7.9rem;
	top: 13.3rem;
	left: 10.8rem;
	position: absolute;
	z-index: 87;
	background: url(../img/common/dot_bg02.webp) no-repeat center center / 100% 100%;
}
#sub .treatment .headLine01::after {
	width: 4.2rem;
	height: 4.2rem;
	left: auto;
	top: 6.2rem;
	right: 13.2rem;
}
#sub .treatment .image {
	margin-bottom: 3rem;
	height: 49.6rem;
	mask: url(../img/index/mask_bg01.webp) no-repeat center top / 100% 100%;
	position: relative;
}
#sub .treatment .linkBox {
	margin-bottom: 4rem;
	position: relative;
	z-index: 88;
}
#sub .treatment .linkBox.link01::after {
	content: "";
	position: absolute;
	width: 2rem;
	height: 7.9rem;
	right: -8rem;
	top: -6.4rem;
	background: url(../img/index/icon02.webp) no-repeat center top / 100%;
}
#sub .treatment .linkBox a {
	min-height: 25.7rem;
	display: flex;
	border-radius: 16rem;
	overflow: hidden;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	font-feature-settings: "palt";
	line-height: 2;
	font-weight: 500;
	text-align: justify;
	background: var(--bg09) url(../img/common/arrow_img01.webp) no-repeat right 4rem center / 4rem;
	box-shadow: 1.2rem 1.2rem 2.5rem var(--shadow-col);
}
#sub .treatment .linkBox.link03 {
	margin-bottom: 8.7rem;
}
#sub .treatment .linkBox.link02 a {
	background-color: var(--bg10);
}
#sub .treatment .linkBox.link03 a {
	background-color: var(--bg11);
}
#sub .treatment .linkBox .img {
	width: 31.2rem;
	height: 100%;
	mask: url(../img/index/mask_bg02.webp) no-repeat center center / 100%;
}
#sub .treatment .linkBox .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#sub .treatment .linkBox .textBox {
	margin:4.6rem 11.5rem 4.5rem -4.2rem;
	flex: 1;
	position: relative;
	z-index: 2;
}
#sub .treatment .linkBox .title {
	margin-bottom: 0.8rem;
	font-size: 3rem;
	padding-left: 3.6rem;
	letter-spacing: 0.2rem;
	line-height: 1.5;
	font-family:"ten-mincho-text",serif;
	background: url(../img/common/star_icon.webp) no-repeat left center / 2.7rem;
	font-weight: normal;
}
#sub .treatment .linkList {
	margin-bottom: 5rem;
	gap: 3.7rem 4.6rem;
}
#sub .treatment .linkList li {
	width: calc((100% - 9.2rem) / 3);
}
#sub .treatment .linkList a {
	padding: 2.5rem 3.1rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-radius: 8rem;
	background: linear-gradient(to bottom,#fff 22%,transparent 100%);
}
#sub .treatment .linkList .img {
	margin: 0 auto;
	width: 7.3rem;
}
#sub .treatment .linkList .textBox {
	margin-left: 0.6rem;
	width: 17.3rem;
}
#sub .treatment .linkList .sml {
	padding-bottom: 2.5rem;
	font-size: 1.574rem;
	line-height: 1.353;
	font-weight: 500;
	letter-spacing: 0.1em;
	font-feature-settings: "palt";
	background: url(../img/common/arrow_icon03.webp) no-repeat left bottom 0.2rem / 100%;
}
#sub .treatment .linkList .ttl {
	margin-right: -3rem;
	font-size: 2.2rem;
	letter-spacing: 0;
	font-family:"ten-mincho-text",serif;
	font-feature-settings: "palt";
	font-weight: normal;
}
#sub .treatment .linkList .ttl.spec {
	letter-spacing: -0.04em;
}
#sub .treatment .content {
	position: relative;
}
#sub .treatment .content::before,
#sub .treatment .content::after {
	content: "";
	width: 18.5rem;
	height: 18.5rem;
	top: 1.3rem;
	left: -18.8rem;
	position: absolute;
	z-index: 87;
	overflow: hidden;
	border-radius: 100%;
	background: url(../img/common/dot_bg.webp) no-repeat center center / 100% 100%;
}
#sub .treatment .content::after {
	width: 16.1rem;
	height: 16.1rem;
	top: -10.6rem;
	left: auto;
	right: -6.8rem;
}
#sub .treatment .content .posImg {
	display: block;
	position: absolute;
	top: -22.4rem;
	left: 12.5rem;
	width: 10.5rem;
	z-index: 6;
}
#sub .treatment .content .posImg::before {
	content: "";
	position: absolute;
	width: 1.4rem;
	height: 11.5rem;
	left: -5.8rem;
	top: 10.8rem;
	background: url(../img/index/icon03.webp) no-repeat center top / 100%;
}
@media all and (min-width: 897px) {
	#sub .treatment .linkBox a:hover,
	#sub .treatment .linkList a:hover {
		opacity: 0.6;
	}
}
@media all and (max-width: 896px) {
	#sub .treatment {
		padding-bottom: 5rem;
		padding-top: 5rem;
        margin-top: 10px;
	}
	#sub .treatment .linkBox {
		margin-bottom: 16.7rem;
	}
	#sub .treatment .linkBox a {
		padding: 1px 2rem 4.2rem;
        display: block;
        border-radius: 2rem;
        overflow: visible;
        background-position: right 2.3rem bottom 2.2rem;
        background-size: 2.8rem;
	}
	#sub .treatment .linkBox .img {
		margin: -13.5rem auto 1.6rem;
		width: 18rem;
		height: 18rem;
		border-radius: 100%;
		overflow: hidden;
		mask: none;
	}
	#sub .treatment .linkBox .img img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	#sub .treatment .linkBox .textBox {
		margin: 0;
	}
	#sub .treatment .linkBox .title {
		margin: 0 auto 0.7rem;
		padding-left: 2.8rem;
		width: fit-content;
		font-size: 2.4rem;
		letter-spacing: 0.2em;
		background-size: 2.2rem;
	}
	#sub .treatment .linkList {
		margin: 0 auto 2.5rem;
		max-width: 33.5rem;
		justify-content: space-between;
		gap: 0.6rem 0;
	}
	#sub .treatment .linkList li {
		margin: 0 0.5rem;
		width: calc(50% - 1.3rem);
	}
	#sub .treatment .linkList a {
		padding: 1.6rem 1.4rem 2.3rem; 
		display: block;
		border-radius: 100%;
	}
	#sub .treatment .image {
		margin-bottom: 5rem;
		height: 17.4rem;
	}
	#sub .treatment .content .posImg {
		top: -14.3rem;
		left: 3rem;
		width: 7rem;
	}
	#sub .treatment .content .posImg::before {
		width: 0.7rem;
		height: 5.7rem;
		left: 4.2rem;
		top: 4.6rem;
	}
	#sub .treatment .linkBox.link01::after {
		width: 1rem;
		height: 4.3rem;
		right: 1.5rem;
		top: -18.2rem;
	}
	#sub .treatment .headLine01 .en {
		margin-bottom: 1rem;
	}
	#sub .treatment .headLine01 {
		margin-bottom: 16rem;
	}
	#sub .treatment .linkList .textBox {
		width: auto;
	}
	#sub .treatment .linkList .sml {
		padding: 0.2rem 0 1.5rem;
		font-size: 1rem;
		text-align: center;
		line-height: 1.2;
		letter-spacing: 0.2em;
		background: url(../img/common/arrow_icon03_sp.webp) no-repeat center bottom 0.5rem / 100% 0.9rem;
	}
	#sub .treatment .linkList .ttl {
		margin: 0 -1.6rem;
		font-size: 1.6rem;
		text-align: center;
		letter-spacing: 0.02em;
	}
	#sub .treatment .linkBox.link03 {
		margin-bottom: 4.3rem;
	}
	#sub .treatment .linkList .img {
		width: 6rem;
	}
	#sub .treatment .content::before {
		width: 9.2rem;
		height: 9.2rem;
		left: -5.4rem;
		top: -3.6rem;
	}
	#sub .treatment .content::after {
		width: 8rem;
		height: 8rem;
		top: -8.9rem;
  		right: -1.3rem;
	}
	#sub .treatment .headLine01::before {
		width: 3.9rem;
		height: 3.9rem;
		left: 0.7rem;
		top: 6.4rem;
	}
	#sub .treatment .headLine01::after {
		width: 2.1rem;
		height: 2.1rem;
		right: 7.2rem;
		top: -2.8rem;
	}
}

.access-root{display: flex;justify-content: space-between;flex-wrap: wrap;}

.access-root a {
  font-family: var(--min-font);
  font-size: 2rem;
  font-weight: 400;
  margin: 2rem 0;
  color: var(--base-color);
  background: #FFF5EB;
  padding: 1rem 2rem;
	font-family: "ten-mincho-text", serif;
	position: relative;
	width: 530px;
}
.access-root a::after {
  content: "";
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background: url("../img/sub/access/002.webp") center/contain no-repeat;
}
@media all and (max-width: 896px) {
  .access-root {
    font-size: 1.6rem;
    margin: 4rem 0 1.5rem;
    border-top-left-radius: 10px;
    border-bottom-right-radius: 10px;
  }
	.flex-access-double {
    flex-basis: calc(100% / 1 - 0px)!important;
}
}

.flex-access {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    margin: 30px 0px;
}
.flex-access-double {
    flex-basis: calc(100% / 3 - 50px);
    text-align: center;
    position: relative;
}
.flex-access-double img {
    width: 100%;
}

.flex-access-double p {
    margin: 20px 0 !important;
    margin: 10px 0 40px !important;
}

/* visitor */
#sub .visitor {
	padding: 14.9rem 0 0;
	position: relative;
	z-index: 4;
}
#sub .visitor::after {
	content: "";
	position: absolute;
	width: 100%;
	left: 0;
	top: 0;
	height: 34.6rem;
	background: linear-gradient(to bottom,var(--bg12) 50%,transparent 100%);
}
#sub .visitor .headLine01 {
	margin: -3.8rem 8.5rem 4.3rem;
	text-align: left;
}
#sub .visitor .content {
	padding: 1px 0 5rem;
	border-radius: 4rem;
	background: var(--white);
	position: relative;
	z-index: 5;
}
#sub .visitor .btnList {
	margin: 0 8.5rem 8.5rem;
	gap: 3.8rem;
	position: relative;
}
#sub .visitor .btnList a {
	padding: 3.5rem 2rem 2.7rem;
	display: block;
	position: relative;
	overflow: hidden;
	border-radius: 2rem;
	color: var(--white);
	font-size: 2rem;
	letter-spacing: 0.14em;
	font-family:"ten-mincho-text",serif;
	font-weight: normal;
	text-align: center;
}
#sub .visitor .btnList a::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	opacity: 0.8;
	background: var(--bg16);
	z-index: 1;
}
#sub .visitor .btnList a span {
	display: block;
}
#sub .visitor .btnList li {
	width: calc((100% - 11.4rem) / 3);
}
#sub .visitor .btnList .image {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
#sub .visitor .btnList .inner {
	position: relative;
	z-index: 2;
}
#sub .visitor .btnList .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#sub .visitor .btnList .img {
	margin: 0 auto 0.5rem;
	width: 5.9rem;
}
#sub .visitor .btnList .txt {
	padding-right: 3.4rem;
	width: fit-content;
	margin: 0 auto;
	background: url(../img/common/arrow_icon02.webp) no-repeat right center / 3rem;
}
#sub .visitor .linkBox {
	margin: 0 5rem 4.3rem;
}
#sub .visitor .linkBox a {
	display: block;
	position: relative;
}
#sub .visitor .linkBox a .inner {
	padding: 3.9rem 4rem 0;
	display: block;
	height: 24.2rem;
	position: relative;
	overflow: hidden;
	border-radius: 12rem;
	color: var(--white);
}
#sub .visitor .linkBox a .inner::after {
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	position: absolute;
	content: "";
	opacity: 0.62;
	background: var(--red);
}
#sub .visitor .linkBox a .img {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
#sub .visitor .linkBox .posImg {
	width: 21.7rem;
	position: absolute;
	z-index: 4;
	left: 6rem;
	bottom: 0;
}
#sub .visitor .linkBox .posImg.pos02 {
	left: auto;
	right: 3.5rem;
}
#sub .visitor .linkBox .inner {
	position: relative;
	z-index: 2;
}
#sub .visitor .title {
	margin-bottom: 3rem;
	position: relative;
	z-index: 3;
	font-size: 5.3rem;
	text-align: center;
	letter-spacing: 0.18em;
	font-weight: 700;
}
#sub .visitor .title span {
	margin: 0 auto;
}
#sub .visitor .title .jp {
	display: block;
	font-family:"ten-mincho-text",serif;
	font-weight: normal;
}
#sub .visitor .title .jp::after {
	margin: 0.2rem auto 0;
	content: "";
	display: block;
	width: 27.7rem;
	height: 1.3rem;
	background: url(../img/index/line.webp) no-repeat left top / 100%;
	font-feature-settings: "palt";
}
#sub .visitor .title .sml {
	font-size: 2.2rem;
	letter-spacing: 0.15em;
}
#sub .visitor .text {
	padding: 0 5.6rem 0.6rem;
	width: fit-content;
	margin: 0 auto;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.6;
	letter-spacing: 0.21em;
	background: url(../img/common/arrow_icon02.webp) no-repeat right center / 4rem;
	position: relative;
	font-feature-settings: "palt";
	text-align: center;
	z-index: 3;
}
#sub .visitor .linkBox .link .inner {
	padding: 1rem 9.4rem 1rem 6rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#sub .visitor .linkBox .link .inner::after {
	background: url(../img/common/arrow_icon02.webp) no-repeat right 3rem center / 4.3rem,url(../img/index/visitor_bg03.webp) no-repeat left top / cover;
	opacity: 1;
}
#sub .visitor .linkBox .link .title {
	margin: 0;
	width: fit-content;
	letter-spacing: 0;
	line-height: 1;
}
#sub .visitor .linkBox .link .jp::after {
	width: 100%;
}
#sub .visitor .linkBox .link .imgUl {
	display: flex;
	position: relative;
	z-index: 3;
	gap: 1rem;
}
#sub .visitor .linkBox .link .imgUl li {
	width: 13.6rem;
}
@media all and (min-width: 1025px) {

	#sub .visitor .btnList a:hover,
	#sub .visitor .linkBox a:hover {
		opacity: 0.6;
	}
}

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

	#sub .visitor .content::before,
	#sub .visitor .content::after {
		content: "";
		position: absolute;
		width: 13.6rem;
		height: 13.6rem;
		left: -10rem;
		top: 30rem;
		background: url(../img/common/dot_bg.webp) no-repeat left top / 100% 100%;
		border-radius: 100%;
	}

	#sub .visitor .content::after {
		width: 20rem;
		height: 20rem;
		left: auto;
		right: -12.3rem;
		top: -9.1rem;
	}
	#sub .visitor .linkBox.link01::before,	
	#sub .visitor .btnList::before {
		width: 4.2rem;
		height: 4.2rem;
		content: "";
		position: absolute;
		right: -10.6rem;
		top: 7.5rem;
		background: url(../img/common/dot_bg02.webp) no-repeat left top / 100% 100%;
	}
	#sub .visitor .linkBox.link01 {
		position: relative;
	}
	#sub .visitor .linkBox.link01::before {
		width: 4.2rem;
		height: 4.2rem;
		left: -7.2rem;
		top: 12.2rem;
	}
	#sub .visitor .linkBox .posImg {
		overflow: hidden;
		border-bottom-left-radius: 5rem;
	}
	#sub .visitor .linkBox .posImg.pos02 {
		border-radius: 0 0 7.2rem 0;
	}
	#sub .visitor .linkBox.insBox .title .jp::after {
		margin: 1rem 0 -0.7rem;
	}
}

@media (max-width: 896px) {
#sub .visitor {
		padding: 8rem 2rem 0;
	}
	#sub .visitor .bg01 {
		position: absolute;
		top: -3rem;
		right: -2.7rem;
		width: 9.4rem;
		z-index: 1;
	}
	#sub .visitor .bg02 {
		position: absolute;
		top: 12.8rem;
		left: -3.2rem;
		width: 6.5rem;
		z-index: 8;
	}
	#sub .visitor .content {
		border-radius: 2rem;
		padding: 0 2rem;
	}
	#sub .visitor .headLine01 {
		width: fit-content;
		margin: -0 auto 0.6rem;
		top: -2rem;
		position: relative;
	}
	#sub .visitor .headLine01 .jp {
		font-weight: 700;
		padding-top: 0.4rem;
		display: block;
	}
	#sub .visitor .btnList {
		margin: 0 0 2.6rem;
		gap: 1.3rem 1.8rem;
	}
	#sub .visitor .btnList li {
		width: calc((100% - 1.8rem) / 2);
	}
	#sub .visitor .btnList a {
		padding: 1.6rem 0.5rem 1.2rem;
		border-radius: 1rem;
	}
	#sub .visitor .btnList .img {
		width: 3.7rem;
		margin-bottom: 0.2rem;
	}
	#sub .visitor .btnList .txt {
		font-size: 1.3rem;
		letter-spacing: 0;
		padding-right: 2.3rem;
		background-size: 2rem auto;
	}
	#sub .visitor .linkBox {
		margin: 0 0 2.6rem;
	}
	#sub .visitor .linkBox:last-child {
		margin-bottom: 0;
	}
	#sub .visitor .linkBox a {
		overflow: hidden;
	}
	#sub .visitor .linkBox .posImg {
		width: 8.5rem;
		bottom: auto;
		top: 0;
		left: -1.5rem;
	}
	#sub .visitor .linkBox .posImg.pos02 {
		right: -1.5rem;
	}
	#sub .visitor .linkBox a .inner {
		height: auto;
		border-radius: 2rem;
		padding: 3rem 2rem 2.3rem;
	}
	#sub .visitor .title {
		margin-bottom: 2.4rem;
		font-size: 3.2rem;
		letter-spacing: 0.1em;
		font-weight: 500;
	}
	#sub .visitor .text {
		padding: 0 0.5rem;
		font-size: 1.3rem;
		font-weight: 700;
		letter-spacing: 0.05em;
		line-height: 1.85;
		text-align: justify;
		background: none;
		position: relative;
		font-feature-settings: normal;
	}
	#sub .visitor .text:after {
		width: 4rem;  
		height: 1.6rem;
		display: inline-block;
		background: url(../img/common/arrow_icon02.webp) no-repeat;
		background-size: 100% auto;
		content: ""; 
	}
	#sub .visitor .linkBox a .img img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center center;
		aspect-ratio: 590 / 424;
	}
	#sub .visitor .title .sml {
		font-size: 1.3rem;
		font-weight: 700;
		letter-spacing: 0;
		margin-top: 0.4rem;
		display: block;
	}
	#sub .visitor .linkBox .link .inner {
		display: block;
		padding: 2rem;
	}
	#sub .visitor .linkBox .link .title {
		margin: 0 auto 1.3rem;
	}
	#sub .visitor .title .jp {
		font-size: 3.2rem;
		letter-spacing: 0.06em;
	}
	#sub .visitor .insBox .title .jp {
		padding-top: 0.5rem;
		background: url(../img/common/arrow_icon02.webp) no-repeat right top calc(50% - 0.3rem);
		margin: 0 -2rem 0rem -1rem;
		padding-right: 5rem;
		background-size: 4rem auto;
	}
	#sub .visitor .insBox .title .jp::after {
		margin-top: 1rem;
	}
	#sub .visitor .linkBox .link .inner::after {
		background: none,url(../img/index/visitor_bg03.webp) no-repeat left top / cover;
	}
	#sub .visitor .linkBox .link .imgUl {
		gap: 1rem 0.4rem;
		padding-bottom: 0.1rem;
	}
	#sub .visitor .linkBox .link .imgUl li {
		width: calc((100% - 1.2rem) / 4);
	}
	#sub .visitor .linkBox .link .imgUl li img {
		aspect-ratio: 272 / 364;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	#sub .visitor .linkBox .link .inner::after {
		background-image: url(../img/index/visitor_bg03_sp.webp);
		background-size: cover;
	}
	#sub .visitor::after {
		height: 51.6rem;
	}
}

.sati{width: 1100px;margin: 0 auto;display: block;}
.sati img{width: 24%;}
.sp-break img.price{width: 200px;}

@media (max-width: 896px) {
	.sati{width: 100%;}
.sati img{width: 49%;}
	.sp-break img.price{width: 100%;}
	section[id] {
    margin-top: 0px !important;
}
	}


/* =======================================
   タブレット向けレイアウト調整（幅897px〜1024px）
   ======================================= */
@media all and (min-width: 820px) and (max-width: 1024px) {

  main#sub section:not([class]) {
    display: block;
    margin: 6rem auto 8rem;
    box-sizing: border-box;
    width: 100%;
    padding: 0 5rem;
}
	    .pankuzu ul {
        width: 100%;
        padding: 0 2.5rem;
    }
	    .side-img {
        flex-wrap: wrap;
    }
	.side-img .content {
    width: 100%;
		order: 2;
}
	.side-img .img {
    width: 100%;
		order: 1;
		margin-bottom: 4.66vw;
}
	    #gFooter::before {
 display: none;
    }
	
	
	
}