.mv{ position: relative; }
.mv:before{ content: ''; width: calc(100% - 40px); height: calc(100% - 40px); border: solid 2px #001655; position: absolute; top: 20px; left: 20px; }
.mv .logo{ position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 20vw; }
.mv .main-slider{ z-index: -2; }
.mv .main-slider li img.pc{ display: block; }
.mv .main-slider li img.sp{ display: none; }

.mv h1.tomo{position: absolute;top: 0;
    left: 20px;
    font-size: 12px;}

.top-info h2,
.policy h2,
.feature h2,
.treatment h2,
.greeting h2{ font-size: 16px; }
.top-info h2 span,
.policy h2 span,
.feature h2 span,
.treatment h2 span,
.greeting h2 span{ font-size: 40px; display: block; color: #ef9098; font-family: fot-tsukuardgothic-std, sans-serif;  font-weight: 700; font-style: normal; letter-spacing: 0; line-height: 1.4; }

.top-info{ background: #f2f2f2; padding: 80px 0 30px; }
.top-info .wrap{ display: flex; }
.top-info .wrap .left{ width: 50%; }
.top-info .wrap .right{ width: 50%; position: relative; }
.top-info .wrap .right .btn{ position: absolute; bottom: 30px; right: -60px; }
.top-info h2{ margin-bottom: 30px; }
.top-info h3{ font-family: fot-tsukuardgothic-std, sans-serif;  font-weight: 700; font-style: normal; letter-spacing: 0; font-size: 16px; }
.top-info .wrap .left h3{ margin-bottom: 10px; }
.top-info h3 span{ font-size: 13px; }
.top-info .map-img{ display: block; width: 466px; max-width: none; margin-top: -10px; }
.top-info .map-img.sp{ display: none; }

.policy{ padding-bottom: 70px; }
.policy .item01{ width: 100%; display: block; }
.policy .item02{ width: 457px; position: absolute; top: -80px; left: -100px; }
.policy .wrap{ position: relative; }
.policy .inner{ width: 50%; margin-left: auto; padding-top: 30px; }
.policy h2{ padding-bottom: 15px; border-bottom: solid 1px #f2f2f2; margin-bottom: 20px; }
.policy h3{ font-size: 22px; font-weight: 500; margin-bottom: 15px; }
.policy a.btn{ margin-top: 25px; }

.main-treatment{ display: flex; position: relative; }
.main-treatment .item01{ display: block; width: 100%; position: absolute; bottom: 0; left: 0; }
.main-treatment h2{ font-size: 16px; text-align: center; position: relative; padding: 50px 0 20px; margin-bottom: 20px; }
.main-treatment h2:before{ content: ''; width: 41px; height: 40px; background-size: contain; background-repeat: no-repeat; position: absolute; top: 0; left: 50%; transform: translateX(-50%); }
.main-treatment .left h2:before{ background-image: url(../images/index/icon-ttl01.png); }
.main-treatment .right h2:before{ background-image: url(../images/index/icon-ttl02.png); }
.main-treatment h2:after{ content: ''; width: 40px; height: 1px; background: #001655; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); }
.main-treatment h2 span{ font-size: 30px; display: block; text-align: center; }
.main-treatment .left{ width: 50%; background: #54c2f0; }
.main-treatment .left .inner{ width: 400px; margin-left: auto; padding: 70px 40px 160px 0; position: relative; z-index: 0; }
.main-treatment .left .inner .item01{ position: absolute; left: -400px; bottom: 0; width: 380px; z-index: -1; }
.main-treatment .right{ width: 50%; background: #c3d600; position: relative; overflow: hidden; }
.main-treatment .right .inner .item02{ position: absolute; top: -30px; right: -360px; }
.main-treatment .right .inner{ width: 400px; padding: 70px 0 160px 40px; position: relative; }
.main-treatment .inner p{ margin-bottom: 30px;letter-spacing: 1.3px; }
.main-treatment .inner a.btn{ margin: 40px auto 0; }

.feature{ padding: 60px 0 0; }
.feature h2{ text-align: center; padding-top: 114px; position: relative; margin-bottom: 50px; }
.feature h2:before,
.greeting h2:before{ content: ''; width: 1px; height: 80px; background: #001655; position: absolute; top: 0; left: 50%; transform: translateX(-50%); }
.feature h2 span{ text-align: center; }
.feature ul li{ display: flex; margin-bottom: 60px; }
.feature ul li .content{ width: 50%; background: #f2f2f2; position: relative; z-index: 0; padding-bottom: 70px; }
.feature ul li:nth-of-type(even) .content{ order: 2; top: 70px; } 
.feature ul li .img{ width: 50%; background-size: cover; background-repeat: no-repeat; position: relative; }
.feature ul li:nth-of-type(1) .img{ background-image: url(../images/index/webp/feature01.webp); }
.no-webp .feature ul li:nth-of-type(1) .img{ background-image: url(../images/index/feature01.png); }
.feature ul li:nth-of-type(2) .img{ background-image: url(../images/index/webp/feature02.webp); }
.no-webp .feature ul li:nth-of-type(2) .img{ background-image: url(../images/index/feature02.png); }
.feature ul li:nth-of-type(3) .img{ background-image: url(../images/index/webp/feature03.webp); }
.no-webp .feature ul li:nth-of-type(3) .img{ background-image: url(../images/index/feature03.png); }
.feature ul li:nth-of-type(4) .img{ background-image: url(../images/index/webp/feature04.webp); }
.no-webp .feature ul li:nth-of-type(4) .img{ background-image: url(../images/index/feature04.png); }
.feature ul li .img .item01,{ width: 100%; position: absolute; top: 0; left: 0; }
.feature ul li .img .item02{ width: 100%; position: absolute; bottom: 0; left: 0; }
.feature ul li:nth-of-type(even) .img{ order: 1;  }
.feature ul li:nth-of-type(odd) .img{ top: 70px; }
.feature ul li .content .inner{ width: 400px; margin-top: -30px; }
.feature ul li:nth-of-type(odd) .content .inner{ margin-left: auto; }
.feature ul li:nth-of-type(even) .content .inner{ padding-left: 60px; }
.feature ul li .content .inner > span{ font-size: 70px; color: #ef9098; line-height: 1; display: table; }
.feature ul li:nth-of-type(even) .content .inner > span{ margin-left: auto; }
.feature ul li .content .inner > span small{ font-size: 16px; display: block; letter-spacing: .16em; }
.feature ul li .content p{ font-size: 20px; font-weight: 500; color: #ef9098; margin: 30px 0; }
.feature ul li .content p span{ color: #001655; }
.feature ul li .content .item01{ width: 100%; position: absolute; top: 0; left: 0; z-index: -1; }
.feature ul li .content .item02{ width: 100%; position: absolute; bottom: 0; left: 0; z-index: -1; }

.counseling{ background: #ef9098; position: relative; padding: 120px 0 160px; }
.counseling:before{ content: ''; width: 1px; height: 80px; background: #001655; position: absolute; top: 0; left: 50%; z-index: 10; }
.counseling:after{ content: ''; width: 1px; height: 80px; background: #001655; position: absolute; bottom: 0; left: 50%; z-index: 10; }
.counseling .item01{ width: 100%; position: absolute; top: 0; left: 0; }
.counseling .item02{ width: 100%; position: absolute; bottom: 0; left: 0; }
.counseling h2{ font-size: 26px; color: #fff; font-weight: 500; text-align: center; margin-bottom: 80px; }
.counseling ul{ display: flex; justify-content: space-between; }
.counseling ul li{ width: 360px; position: relative; }
.counseling ul li:nth-of-type(1):before{ content: '＆'; font-size: 40px; font-family: fot-tsukuardgothic-std, sans-serif;  font-weight: 700; font-style: normal; position: absolute; top: 86px; right: -60px; }
.counseling ul li h3{ font-size: 18px; font-weight: 500; color: #fff; text-align: center; background: #001655; padding: 6px; margin-bottom: 16px; }
.counseling ul li .img img{ display: block; width: 100%; }
.counseling .wrap > h3{ font-size: 22px; font-weight: 500; text-align: center; padding-top: 76px; position: relative; margin: 60px 0 30px; }
.counseling .wrap > h3:before{ content: ''; width: 70px; height: 59px; background: url(../images/index/icon-ttl03.png) no-repeat; background-size: contain; position: absolute; top: 0; left: 50%; transform: translateX(-50%); }
.counseling a.btn{ width: 350px; background: #fff362; margin: 0 auto; }

.treatment{ position: relative; padding: 80px 0; background: #f2f2f2; }
.treatment h2{ text-align: center; margin-bottom: 80px; }
.treatment h2 span{ text-align: center; }
.treatment .outer{ width: 100%; border-radius: 100px 100px 0 0; position: relative; }
.treatment h3{ font-size: 16px; text-align: center; position: relative; padding: 53px 0 35px; z-index: 0; margin-bottom: 30px; }
.treatment h3:before{ content: ''; width: 120px; height: 120px; background-size: contain; background-repeat: no-repeat; position: absolute; top: -50px; left: 50%; transform: translateX(-50%); z-index: -1; }
.treatment .orth h3:before{ background-image: url(../images/index/icon-ttl04.png); }
.treatment .orth .child h3:before{ background-image: url(../images/index/icon-ttl05.png); }
.treatment .general h3:before{ background-image: url(../images/index/icon-ttl06.png); }
.treatment h3:after{ content: ''; width: 50px; height: 1px; background: #001655; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); }
.treatment .outer.orth{ background: #c3d600; margin-bottom: 80px; }
.treatment .outer.orth > .flex{ display: flex; justify-content: space-between; padding: 0 40px 80px; }
.treatment .outer.orth > .flex ul{ display: flex; justify-content: space-between; flex-wrap: wrap; width: 460px; }
.treatment .outer.orth > .flex ul li:nth-of-type(1),
.treatment .outer.orth > .flex ul li:nth-of-type(2){ margin-bottom: 20px; }
.treatment .outer.orth > .flex ul li img{ display: block; }
.treatment .outer.orth > .flex ul li h4{ font-weight: 500; text-align: center; background: #001655; color: #fff; padding: 6px; }
.treatment .outer.orth > .flex .right{ width: 220px; }
.treatment .outer.orth > .flex .right a.btn{ margin-top: 30px; }
.treatment .inner.child{ background: #dbe666; border-radius: 100px 100px 0 0; padding: 0 40px 40px; }
.treatment .inner.child .flex{ display: flex; justify-content: space-between; }
.treatment .inner.child .flex .left{ width: 220px; }
.treatment .inner.child .flex .left img{ display: block; width: 100%; }
.treatment .inner.child .flex .right{ width: 460px; }
.treatment .inner.child .flex .right a.btn{ margin: 20px 0 0 auto; }
.treatment .outer.general{ background: #54c2f0; padding: 0 40px 40px; }
.treatment .outer.general .worry{  }
.treatment .outer.general .treat-list{ display: flex; flex-wrap: wrap; }
.treatment .outer.general .treat-list li{ width: 25%; text-align: center; color: #fff; padding: 10px; border-left: solid 1px #fff; border-bottom: solid 1px #fff; }
.treatment .outer.general .treat-list li:nth-of-type(1),
.treatment .outer.general .treat-list li:nth-of-type(5){ border-left: none; }
.treatment .outer.general .treat-list li:nth-of-type(1),
.treatment .outer.general .treat-list li:nth-of-type(2),
.treatment .outer.general .treat-list li:nth-of-type(3),
.treatment .outer.general .treat-list li:nth-of-type(4){ border-top: solid 1px #fff; }
.treatment .outer.general .worry{ width: 654px; position: relative; display: flex; flex-wrap: wrap; justify-content: space-between; margin: 0 auto 40px; }
.treatment .outer.general .worry h4{ font-size: 22px; text-align: center; color: #fff; font-weight: 500; width: 100%; margin: 30px 0 -10px; }
.treatment .outer.general .worry a{ display: flex; justify-content: center; align-items: center; width: 150px; height: 150px; background: #fff; border-radius: 80px; border: solid 2px; position: relative; }
.treatment .outer.general .worry a:nth-of-type(1){ transform: rotate(-136deg); }
.treatment .outer.general .worry a:nth-of-type(1) span{ transform: rotate(136deg); }
.treatment .outer.general .worry a:nth-of-type(2){ transform: rotate(200deg); margin-top: 50px; }
.treatment .outer.general .worry a:nth-of-type(2) span{ transform: rotate(-200deg); }
.treatment .outer.general .worry a:nth-of-type(3){ transform: rotate(-200deg); margin-top: 50px; }
.treatment .outer.general .worry a:nth-of-type(3) span{ transform: rotate(200deg); }
.treatment .outer.general .worry a:nth-of-type(4){ transform: rotate(136deg); }
.treatment .outer.general .worry a:nth-of-type(4) span{ transform: rotate(-136deg); }
.treatment .outer.general .worry a:before{
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 22px 9px 0 9px;
	border-color: #001655 transparent transparent transparent;
	position: absolute;
	bottom: -22px;
}
.treatment .outer.general .worry a:after{
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 18px 7px 0 7px;
	border-color: #fff transparent transparent transparent;
	position: absolute;
	bottom: -17px;
}
_:-ms-lang(x)::backdrop, .treatment .outer.general .worry a:after{ right: 60px; }
_:-ms-lang(x)::-ms-backdrop, .treatment .outer.general .worry a:after{ right: 60px; }
_:-ms-lang(x)::-ms-backdrop, .treatment .outer.general .worry a:before{ right: 58px; }
_:-ms-lang(x)::backdrop, .treatment .outer.general .worry a:before{ right: 58px; }
.treatment .outer.general .worry a span{ text-align: center; font-weight: 500; position: relative; padding-bottom: 20px; width: 100%; }
.treatment .outer.general .worry a span:before{ content: ''; width: 20px; height: 1px; background: #001655; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); }
.treatment .outer.general .worry a span:after{ content: ''; width: 6px; height: 1px; background: #001655; position: absolute; bottom: 2px; right: 63px;transform: skewY(39deg); }
.treatment .two-btn{ display: flex; justify-content: space-between; width: 524px; margin: 70px auto 0; }
.treatment .two-btn a.btn{ background: #fff362; }

.greeting{ padding: 100px 0 110px; }
.greeting h2{ text-align: center; position: relative; padding-top: 114px; margin-bottom: 75px; }
.greeting h2 span{ text-align: center; }
.greeting .inner{ width: 380px; }
.greeting .inner h3{ font-size: 22px; border-bottom: solid 1px #f2f2f2; font-weight: 500; padding-bottom: 1em; margin-bottom: 1em; }
.greeting .inner p{ color: #222; font-weight: 300; margin-bottom: 20px; }
.greeting .inner .dr-name dt{ font-size: 14px; color: #222; text-align: right; font-weight: 500; }
.greeting .inner .dr-name dd{ font-size: 18px; text-align: right; color: #222; font-weight: 500; margin-bottom: 10px; }
.greeting .wrap{ position: relative; z-index: 0; }
.greeting .item01{ position: absolute; right: -140px; bottom: 0; }
.greeting .item02{ position: absolute; right: -310px; top: 0; z-index: -1; }

.facility a.btn{ margin: 60px auto 0; }
.facility-slider li img{ display: block; width: 100%; }

.news{ padding: 80px 0 60px; }
.news h2{ font-weight: 500; border-bottom: solid 1px #f2f2f2; margin-bottom: 22px; position: relative; }
.news h2 a{ position: absolute; right: 0; padding-right: 1em; }
.news h2 a:after{ content: ''; width: 7.5px; height: 8px; background: url(../images/index/arrow01.png) no-repeat; background-size: contain; position: absolute; right: 0; top: 8px; }
.news ul li{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-bottom: 1em; color: #222; }
.news ul li span{ padding-right: 40px; }
ul.ortho_list a{
	display: block;
}

ul.ortho_list a:hover{
	opacity: .7;
}


.main-treatment .inner a.btn3{margin: 10px auto 0px;}

.main-treatment .inner a.btn{width: 230px;}


.news_area{
	   
    padding-top: 20px;
    padding-bottom: 25px;
}

.news_area2{
	 background: #ffffe6;
}

.news_area h2{
	    text-align: center;
    font-weight: 700;
    font-size: 20px;
    margin-bottom: 10px;
    font-family: fot-tsukuardgothic-std, sans-serif;
}
.news_area p{
	text-align: center;
}

.news_area span{
	border-bottom: 1px solid;
	font-weight: 600;
}


.treatment .outer.general .treat-list li a{
	display: block;
	text-align: center;
	position: relative;
}

.treatment .outer.general .treat-list li a:before {
    content: '';
    width: 16px;
    height: 1px;
    background: #fff;
    position: absolute;
    bottom: 50%;
    right: 0;
    transform: translateX(-50%);
}

.treatment .outer.general .treat-list li a:after {
    content: '';
    width: 5px;
    height: 1px;
    background: #fff;
    position: absolute;
    bottom: 58%;
    right: 7px;
    transform: skewY( 
39deg
 );
}


	.catch_txt{
	font-size: 14px;
    background: #001655;
    font-weight: 600;
    text-align: center;
    color: #fff362;
    width: 210px;
    line-height: 1.5;
    padding-top: 6px;
    padding-bottom: 8px;
}

img.icon_car{
	font-size: 18px;
	width: 28px;
}

/* 230323追記 */
.bnr-area{ width: 800px; margin: 0 auto 50px; }
.bnr-area a{ display: block; }
.bnr-area a:not(:last-child){ margin-bottom: 1rem; }
.bnr-area img{ width: 100%; height: auto; }


	.l-banner {
    width: 80rem;
    padding: 0rem 0px 69px;
    margin: 0px auto;
}
	
	.l-banner__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
	.l-banner__item {
    width: calc(50% - 1rem);
}
	
	.l-banner__item img {
        max-width: 100%;
    border-radius: 26px;
}
	
	@media (max-width: 768px) {
		.l-banner__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
}
		.l-banner {
        width: 100%;
        padding: 0rem 0px 38px;
        margin: 0px auto;
    }
	.l-banner__item {
    width: calc(100% - 1rem);
}
	
	}
	
