@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
.mainVisual {
	box-sizing: border-box;
	height: calc(100vh - 120px);
	position: relative;
	display: flex;
	justify-content: space-between;
	z-index: 1;
}
.mainVisual h1 {
	position: absolute;
	left: 3%;
	top: 48.6%;
	color: #fff;
	font-weight: 500;
	font-size:1.4rem;
	letter-spacing: 0.1em;
	z-index: 1;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	transform: translateY(-50%);
	height: 405px;
}
.mainVisual .mvList {
	width: 83.85%;
	height: 100%;
	overflow: hidden;
	border-radius: 0 150px 0 0;
}
.mainVisual .mvList li {
	height: calc(100vh - 120px);
}
.mainVisual .mvList li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: "object-fit: cover;";
	border-radius: 0 150px 0 0;
}
.mainVisual .imgTxt {
	box-sizing: border-box;
	width: 16.15%;
	max-height: 100%;
	position: relative;
	text-align: center;
}
.mainVisual .imgTxt img {
	margin: -5px 0 0 -5px;
	max-width: 89px;
	max-height: 90%;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}
#main .news {
	padding: 80px 0 95px;
	position: relative;
}
#main .news::after {
	content: "";
	width: 100%;
	height: calc(100% + 250px);
	left: 0;
	top: -136px;
	position: absolute;
	background: #C3B896;
	z-index: -1;
}
#main .news .linkBox {
	margin-bottom: 43px;
}
#main .news .linkBox a {
	display: flex;
	justify-content: space-between;
	overflow: hidden;
	border-radius: 20px 0 20px 0;
	background: url("../images/index/webp/bg01.webp") no-repeat center center / cover;
}
.no-webp #main .news .linkBox a {
	background-image: url("../images/index/bg01.jpg");
}
#main .news .linkBox .photo {
	width: 36.3%;
	order: 1;
}
#main .news .linkBox .textBox {
	box-sizing: border-box;
	padding-right: 5px;
	width: 63.7%;
	display: flex;
	align-items: center;
	justify-content: center;
}
#main .news .linkBox .textBox .text01 {
	margin-bottom: 5px;
	padding-bottom: 2px;
	font-size: 2rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	border-bottom: 1px solid #C3B896;
}
#main .news .linkBox .textBox .text02 {
	font-size: 1.4rem;
	letter-spacing: 0.05em;
	background: url("../images/common/webp/icon04.webp") no-repeat right center / 16px auto;
}
.no-webp #main .news .linkBox .textBox .text02 {
	background-image: url("../images/common/icon04.png");
}
#main .news .newsBox {
	margin-bottom: 41px;
	padding-bottom: 13px;
	border-bottom: 1px solid rgba(223, 223, 223, 0.5);
}
#main .news .newsBox h2 {
	width: 84px;
	font-weight: 600;
	font-size: 1.6rem;
	letter-spacing: 0.06em;
}
#main .news .newsBox .newsList {
	width: calc(100% - 84px);
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: 0.03em;
}
#main .news .newsBox .newsList dt {
	width: 6.8em;
	font-weight: 500;
}
#main .news .newsBox .newsList dd {
	width: calc(100% - 6.8em);
	letter-spacing: 0.065em;
}
#main .news .newsBox .newsList dd a {
	display: block;
	position: relative;
}
#main .news .newsBox .newsList dd .moreBox {
	padding-right: 23px;
	position: absolute;
	right: 0;
	top: 0;
	font-weight: 600;
	font-size: 1.4rem;
	background: url("../images/common/webp/icon04.webp") no-repeat right 1px center / 16px auto;
}
.no-webp #main .news .newsBox .newsList dd .moreBox {
	background-image: url("../images/common/icon04.png");
}
#main .riam {
	padding: 150px 0 72px;
	border-radius: 100px 0 0 0;
	background: #fff url("../images/index/webp/bg02.webp") no-repeat left calc(50% + 446px) top / 475px auto;
}
.no-webp #main .riam {
	background-image: url("../images/index/bg02.png");
}
#main .riam .imgBox {
	margin-bottom: 33px;
	position: relative;
	align-items: flex-start;
}
#main .riam .imgBox .photoBox {
	width: 36.3%;
	order: 1;
	overflow: hidden;
	border-radius: 50px 0 50px 0;
}
#main .riam .imgBox .textBox {
	margin-top: -9px;
	margin-right: -138px;
	width: calc(63.7% + 138px);
	position: relative;
	z-index: 1;
}
#main .riam .imgBox .textBox .subBox {
	margin-bottom: 33px;
	padding-bottom: 42px;
	position: relative;
	border-bottom: 1px solid #DFDFDF;
}
#main .riam .imgBox .textBox .subBox::after {
	content: "";
	width: 70px;
	height: 1px;
	position: absolute;
	left: 0;
	bottom: -1px;
	background: #C3B896;
	z-index: 1;
}
#main .riam .imgBox .textBox .subBox .enTxt {
	padding-left: 123px;
	position: relative;
	font-size: 5rem;
	font-weight: 600;
	line-height: 1.42;
	letter-spacing: 0.075em;
}
#main .riam .imgBox .textBox .subBox .enTxt .firstLetter {
	width: 123px;
	text-align: center;
	position: absolute;
	left: -4px;
	top: 0;
	font-size: 10.7rem;
	line-height: 1;
	color: #C3B896;
}
#main .riam .imgBox .textBox .subBox .jpTxt {
	margin-bottom: 44px;
	padding-left: 123px;
	font-size: 1.6rem;
}
#main .riam .imgBox .textBox .subBox .jpTxt:last-child {
	margin-bottom: 0;
}
#main .riam .imgBox .textBox .text {
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 2;
}
#main .feature {
	padding-bottom: 94px;
	position: relative;
}
#main .feature::after {
	width: 100%;
	height: calc(100% + 30px);
	position: absolute;
	left: 0;
	top: 53px;
	border-radius: 0 100px 0 0;
	background: url("../images/index/webp/bg03.webp") no-repeat center top / cover;
	content: "";
	z-index: -1;
}
.no-webp #main .feature::after {
	background-image: url("../images/index/bg03.jpg");
}
#main .feature .ttlBox {
	margin-bottom: 98px;
	align-items: flex-end;
}
#main .feature .ttlBox .photo {
	width: calc(50% + 25px);
	height: 340px;
	border-radius: 0 50px 50px 0;
	background: url("../images/index/webp/photo03.webp") no-repeat center center / cover;
}
.no-webp #main .feature .ttlBox .photo {
	background-image: url("../images/index/photo03.jpg");
}
#main .feature .ttlBox .subBox {
	width: calc(50% - 101px);
}
#main .feature .ttlBox .subBox .headLine01 {
	max-width: 298px;
}
#main .feature .imgList {
	margin-bottom: 51px;
	align-items: flex-start;
}
#main .feature .imgList li {
	width: 46.9%;
}
#main .feature .imgList li:nth-child(2n) {
	margin-top: 38px;
}
#main .feature .imgList li:nth-child(2n-1) {
	margin-top: -29px;
}
#main .feature .imgList li:nth-child(1) {
	margin-top: 0;
}
#main .feature .imgList li:nth-child(2) {
	margin-top: 72px;
}
#main .feature .imgList li .photo {
	margin-bottom: 20px;
	overflow: hidden;
	border-radius: 20px 0 20px 0;
}
#main .feature .imgList li h3 {
	margin-bottom: 10px;
	padding: 0 0 8px 61px;
	position: relative;
	font-weight: 600;
	font-size: 1.8rem;
	letter-spacing: 0.15em;
	border-bottom: 1px solid #DFDFDF;
}
#main .feature .imgList li h3 .num {
	position: absolute;
	left: 0;
	top: -13px;
	font-size: 3.2rem;
	font-weight: 600;
	color: #C3B896;
}
#main .feature .imgList li p {
	line-height: 1.7;
}
#main .treatment {
	margin-bottom: 115px;
}
#main .treatment .bg01 {
	width: 100%;
	height: 420px;
	background: url("../images/index/webp/photo10.webp") no-repeat center center / cover;
	border-radius: 100px 0 0 0;
	background-attachment: fixed;
}
.no-webp #main .treatment .bg01 {
	background-image: url("../images/index/photo10.jpg");
}
#main .treatment .bg02 {
	margin-bottom: 120px;
	padding: 118px 0 115px;
	background: url("../images/index/webp/bg06.webp") repeat left top / 80px auto;
}
.no-webp #main .treatment .bg02 {
	background-image: url("../images/index/bg06.png");
}
#main .treatment .ttlBox {
	margin-bottom: 79px;
	align-items: flex-end;
}
#main .treatment .ttlBox .subBox {
	margin-bottom: -12px;
	width: 285px;
}
#main .treatment .ttlBox .subBox .headLine01 {
	margin-bottom: 23px;
	padding-bottom: 25px;
	border-color: #CCC5AD;
}
#main .treatment .ttlBox .subBox .headLine01::after {
	background: #585858;
}
#main .treatment .ttlBox .subBox p {
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 2;
}
#main .treatment .ttlBox .photo {
	width: calc(100% - 285px);
	height: 210px;
	background: url("../images/index/webp/photo11.webp") no-repeat center center / cover;
	overflow: hidden;
	border-radius: 50px 0 50px 0;
}
.no-webp #main .treatment .ttlBox .photo {
	background-image: url("../images/index/photo11.jpg");
}
#main .treatment .linkList {
	margin-top: -30px;
}
#main .treatment .linkList li {
	margin-top: 30px;
	margin-right: 4.7%;
	width: 16.25%;
}
#main .treatment .linkList li:nth-child(5n) {
	margin-right: -1px;
}
#main .treatment .linkList li a {
	display: block;
	text-align: center;
	opacity: 1;
}
#main .treatment .linkList li .pho {
	box-sizing: border-box;
	margin-bottom: 14px;
	padding-bottom: 100%;
	display: block;
	position: relative;
	border-radius: 50%;
	overflow: hidden;
	background: #fff;
}
#main .treatment .linkList li .pho img {
	width: 100%;
	max-width: 130px;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}
#main .treatment .linkList li .txt {
	margin: 0 -1em;
	display: block;
	letter-spacing: 0.06em;
}
#main .treatment .imgBox {
	margin-bottom: 65px;
	align-items: flex-start;
}
#main .treatment .imgBox .photoBox {
	width: 35.65%;
	overflow: hidden;
	border-radius: 50px 0 50px 0;
}
#main .treatment .imgBox .textBox {
	margin-top: -13px;
	width: 56.5%;
}
#main .treatment .imgBox .textBox .text01 {
	margin-bottom: 18px;
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 2;
	letter-spacing: 0.03em;
}
#main .treatment .imgBox .textBox .text01 span {
	position: relative;
	display: inline-block;
	z-index: 1;
}
#main .treatment .imgBox .textBox .text01 span::after {
	width: 100%;
	height: 10px;
	position: absolute;
	left: 0;
	bottom: 8px;
	border-radius: 5px;
	background: #DFDBCD;
	content: "";
	z-index: -1;
}
#main .treatment .imgBox .textBox .text02 {
	line-height: 1.72;
}
#main .introduce {
	padding: 121px 0 95px;
	border-radius: 0 120px 0 0;
	background: url("../images/index/webp/bg04.webp") no-repeat center top / cover;
}
.no-webp #main .introduce {
	background-image: url("../images/index/bg04.jpg");
}
#main .introduce .subBox01 {
	margin-left: auto;
	max-width: calc(50% + 467px);
	position: relative;
	z-index: 1;
	border-radius: 50px 0 0 50px;
	background: url("../images/index/webp/bg05.webp") no-repeat center center / cover;
}
.no-webp #main .introduce .subBox01 {
	background-image: url("../images/index/bg05.jpg");
}
#main .introduce .inner {
	box-sizing: border-box;
	padding: 60px 20px 0 71px;
	max-width: 902px;
	align-items: flex-end;
}
#main .introduce .subBox01 .photoBox {
	margin-top: -140px;
	width: 46.9%;
	order: 1;
}
#main .introduce .subBox01 .textBox {
	padding-bottom: 49px;
	width: 46.6%;
}
#main .introduce .subBox01 .textBox h3 {
	margin: 0 -75px 20px -4px;
	font-size: 2rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1.6;
}
#main .introduce .subBox01 .textBox h3 span {
	position: relative;
	z-index: 1;
	display: inline-block;
}
#main .introduce .subBox01 .textBox h3 span::after {
	content: "";
	width: 100%;
	height: 10px;
	position: absolute;
	left: 0;
	bottom: 3px;
	border-radius: 5px;
	background: #DFDBCD;
	z-index: -1;
}
#main .introduce .subBox01 .textBox p {
	margin-bottom: 19px;
	text-align: justify;
	line-height: 2;
}
#main .introduce .subBox01 .textBox .name {
	margin: 0 5px;
	text-align: right;
	font-size: 1.3rem;
	font-weight: 600;
	line-height: 1.5;
}
#main .introduce .subBox01 .textBox .name span {
	display: block;
	font-size: 2.6rem;
}
#main .introduce .subBox02 {
	margin: -88px 0 68px;
	max-width: calc(50% + 467px);
	box-sizing: border-box;
	border-radius: 0 50px 50px 0;
	background: #fff;
}
#main .introduce .subBox02 .inner {
	margin-left: auto;
	padding: 135px 68px 59px;
	max-width: 934px;
	align-items: flex-start;
	box-sizing: border-box;
}
#main .introduce .subBox02 h3 {
	margin-bottom: 10px;
	position: relative;
	font-size: 1.8rem;
	font-weight: 600;
	color: #C3B896;
}
#main .introduce .subBox02 h3::after {
	margin-top: -1px;
	width: 100%;
	height: 1px;
	position: absolute;
	left: 0;
	top: 50%;
	background: #DFDFDF;
	content: "";
}
#main .introduce .subBox02 h3 span {
	padding-right: 20px;
	display: inline-block;
	vertical-align: top;
	position: relative;
	z-index: 1;
	letter-spacing: 0.1em;
	background: #fff;
}
#main .introduce .subBox02 .subSec {
	width: 47%;
}
#main .introduce .subBox02 dl {
	font-size: 1.3rem;
	line-height: 1.75;
	letter-spacing: 0.03em;
}
#main .introduce .subBox02 dt {
	float: left;
	clear: both;
	font-weight: 500;
	color: #C3B896;
}
#main .introduce .subBox02 dd {
	padding-left: 6.4em;
}
#main .introduce .subBox02 li {
	padding-left: 20px;
	position: relative;
	font-size: 1.4rem;
	line-height: 1.74;
	letter-spacing: 0.02em;
}
#main .introduce .subBox02 li::before {
	width: 5px;
	height: 5px;
	position: absolute;
	left: 1px;
	top: 0.7em;
	border-radius: 50%;
	background: #C3B896;
	content: "";
}
#main .flow {
	padding: 120px 0 175px;
	background: url("../images/index/webp/bg07.webp") no-repeat center top / cover;
}
.no-webp #main .flow {
	background-image: url("../images/index/bg07.jpg");
}
#main .flow .flowList {
	margin-bottom: 31px;
}
#main .flow .flowList li {
	margin-right: 1.9%;
	width: 15.08%;
	text-align: center;
}
#main .flow .flowList li:nth-child(6n) {
	margin-right: 0;
}
#main .flow .flowList li .num {
	margin: -25px auto 10px;
	width: 50px;
	height: 50px;
	box-sizing: border-box;
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #fff;
	font-size: 2.6rem;
	font-weight: 600;
	line-height: 1;
	border-radius: 50%;
	background: #C3B896;
}
#main .flow .flowList li .text {
	margin: 0 -8px;
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 1.3;
}
#main .flow .price {
	margin-bottom: 47px;
	display: flex;
	align-items: center;
	overflow: hidden;
	border-radius: 50px 0 50px 0;
	background: #fff;
}
#main .flow .price .photo {
	width: 47%;
}
#main .flow .price .textBox {
	box-sizing: border-box;
	padding: 15px 36px;
	width: 53%;
}
#main .flow .price .textBox h3 {
	margin-bottom: 12px;
	padding-bottom: 8px;
	font-size: 2rem;
	font-weight: 600;
	border-bottom: 1px solid #DFDFDF;
}
#main .flow .price .textBox p {
	line-height: 2;
	letter-spacing: 0.07em;
}
#main .flow .price .textBox p .bgTxt {
	display: inline-block;
	position: relative;
	z-index: 1;
}
#main .flow .price .textBox p .bgTxt::after {
	content: "";
	width: 100%;
	height: 10px;
	position: absolute;
	left: 0;
	bottom: 7px;
	border-radius: 5px;
	background: #CCC5AD;
	z-index: -1;
}
#main .flow .price .textBox p .sml {
	font-size: 1.1rem;
	letter-spacing: 0;
}
#main .flow .price .textBox p .trajan {
	font-size: 1.8rem;
	font-weight: 600;
}
#main .clinic {
	padding: 1px 0 244px;
	background: #F4F4F4;
}
#main .clinic .bgBox {
	margin: -81px 0 120px;
	width: 100%;
	height: 420px;
	overflow: hidden;
	border-radius: 0 100px 0 0;
	background: url("../images/index/webp/photo21.webp") no-repeat center center / cover;
	background-attachment: fixed;
}
.no-webp #main .clinic .bgBox {
	background-image: url("../images/index/photo21.jpg");
}
#main .clinic .content {
	position: relative;
}
#main .clinic .headLine01 {
	padding-bottom: 25px;
	width: 46%;
	position: absolute;
	left: 20px;
	top: 28px;
	letter-spacing: 0;
}
#main .clinic .headLine01::after {
	width: 70px;
}
#main .clinic .phoList {
	margin: -28px -14px 47px;
}
#main .clinic .phoList li {
	margin-top: 28px;
	padding: 0 14px;
	width: 25%;
	box-sizing: border-box;
}
#main .clinic .phoList li:first-child {
	margin-left: 50%;
}
#main .clinic .phoList li span {
	display: block;
	overflow: hidden;
	border-radius: 20px 0 20px 0;
}
#main .clinic .comBtn {
	margin-bottom: 38px;
}
#main .clinic .linkBox {
	padding: 15px;
	box-sizing: border-box;
	background: #fff;
	border-radius: 20px 0 20px 0;
}
#main .clinic .linkBox .logo {
	padding: 0 40px 0 15px;
	width: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}
#main .clinic .linkBox .logo img {
	width: 329px;
}
#main .clinic .linkBox .snsBox {
	width: 50%;
	box-sizing: border-box;
	border-left: 1px solid #DFDFDF;
}
#main .clinic .linkBox .snsBox a {
	padding: 8px 70px 3px 37px;
	display: block;
	line-height: 1.48;
	background: url("../images/common/webp/icon09.webp") no-repeat right 25px center / 41px auto;
}
.no-webp #main .clinic .linkBox .snsBox a {
	background-image: url("../images/common/icon09.png");
}
#main .clinic .linkBox .snsBox a .txt {
	display: block;
	font-size: 1.8rem;
	font-weight: 600;
	letter-spacing: 0.08em;
}
#main .clinic .linkBox .snsBox a .sml {
	padding-right: 21px;
	display: inline-block;
	font-size: 1.5rem;
	background: url("../images/common/webp/icon04.webp") no-repeat right 1px center / 16px auto;
}
.no-webp #main .clinic .linkBox .snsBox a .sml {
	background-image: url("../images/common/icon04.png");
}

.headLine01 .sml2{
	font-size: 1.3rem;
}

img.voice{
	margin-bottom: 40px;
	border-radius: 20px 0 20px 0;		
}

.jidv_banner-wrap {
    max-width: 800px;
    margin: -20px 0px 60px;
}	


#main .news .newsBox2{
	padding: 16px 20px 12px;
	background: #fff;
	border-radius: 20px 0 20px 0;
}


.acd-check{
    display: none;
}
.acd-label{
   background: #333;
    color: #fff;
    display: block;
    margin-bottom: 1px;
    padding: 10px;
    text-align: center;
    margin-top: 18px;
}
.acd-content{
    height: 0;
    opacity: 0;
    padding: 0 10px;
    transition: .5s;
    visibility: hidden;

}
.acd-check:checked + .acd-label + .acd-content{
    height: auto;
    opacity: 1;
    visibility: visible;
	padding-top: 20px;
}

.cancel{
	background: #fff;
	padding: 40px;
	margin-bottom: 40px;
	background: url(../images/index/webp/bg01.webp) no-repeat center center / cover;
}

.cancel p{
	line-height: 1.8;
}

.cancel h3{
	 font-size: 20px;
	text-align: center;
	font-family: yu-mincho-pr6n, sans-serif;
	margin-bottom: 20px;
}


#main .news_footer::after{
	background:none;
}

@media all and (min-width: 768px) {
	#main .treatment .linkList li a:hover .pho {
		background: #163259;
	}
}
@media all and (min-width: 768px) and (max-width: 900px) {
	#main .introduce .subBox01 .textBox h3 {
		letter-spacing: 0;
	}
	#main .flow .price .textBox {
		padding: 15px 25px;
	}
	#main .flow .price .textBox p {
		letter-spacing: 0;
	}
	#main .clinic .linkBox .snsBox a {
		padding-right: 60px;
		padding-left: 30px;
		background-position: center right 15px;
	}
}