@charset "UTF-8";
/* CSS Document */

.top main{margin-bottom: 120px;}

.top h2{font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";font-size: 2em;font-weight: bold;color: #302f65; letter-spacing: 0.1em;line-height: 1.6; margin-bottom: 70px;}

/* btn---------------------*/
.top .btn a{width: 500px;margin: auto;display: block;color: #302f65; background: #302f65;text-align: center;padding: 20px 45px 20px 10px;
	-webkit-clip-path: polygon(0 0, 100% 0%, calc(100% - 35px) 100%, 0% 100%);
	clip-path: polygon(0 0, 100% 0%, calc(100% - 35px) 100%, 0% 100%);
	position: relative;box-sizing: border-box; z-index: 0;} 
.top .btn a:after{content: "";width: calc(100% - 2px);height: calc(100% - 2px);background: #fff;position: absolute;top: 1px;left: 1px;
	-webkit-clip-path: polygon(0 0, calc(100% - 0.5px) 0%, calc(100% - 34.5px) 100%, 0% 100%);
	clip-path: polygon(0 0, calc(100% - 0.5px) 0%, calc(100% - 34.5px) 100%, 0% 100%);
	z-index: -1;}
.top .btn a:hover{color: #fff;}
.top .btn a:hover:after{content: none;}

/* mv---------------------*/
.top .mv{position: relative;height: 850px;}
.top .mv:before{content: "";width: calc(610px + 12vw); height: calc(100% - 91px);;background: rgba(48,47,101,.8);    mix-blend-mode: multiply;position: absolute;bottom: 0;left: 0;transform: skewX(-30deg)translateX(-220px); backdrop-filter: blur(5px);}
.top .mv ul:after{content: "";width: 200px;height: 350px;background: rgba(48,47,101,.8);backdrop-filter: blur(5px);position: absolute;transform: skewX(-30deg)translateX(50%);bottom: 0;right: 0;}

.top .mv .logo{margin-bottom: 30px;}
.top .mv .txt{font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";color: #fff; position: absolute;left: 6vw;top: 50%;transform: translateY(-50%);letter-spacing: 0.1em; line-height: 2.05;}
.top .mv .txt p.toptext{font-size: 1.13em;font-weight: normal;}
.top .mv ul{width: 100%;height: 100%; line-height: 0;overflow: hidden;position: relative;z-index: -1;}
.top .mv ul li{width: 100%;height: 100%;}
.top .mv ul li img{width: 100%;height: 100%;object-fit: cover;}

.top .mv .scroll{color: #fff; writing-mode:vertical-rl;font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";font-size: 0.6em;letter-spacing: 0.2em;position: absolute;left: 6vw;bottom:-385px;}
.top .mv .scroll:after{content: "";display: inline-block; width: 0.5px;height: 425px;background: linear-gradient(to bottom,#fff 40px,#302f65 40px);margin-top: 5px;}

/* clinic_info---------------------*/
.top .clinic_info{background: url("../img/index/map.png")no-repeat center right #ebebeb;background-size: auto 100%; padding: 120px 0;}

.top .clinic_info table{color: #302f65;margin-bottom: 10px;}
.top .clinic_info table tr:first-child{border-bottom: 2px solid #ebebeb;}
.top .clinic_info table th,
.top .clinic_info table td{text-align: center; background: #fff;padding: 5px 10px;border-right: 2px solid #ebebeb;vertical-align: middle;}
.top .clinic_info table th:first-child,
.top .clinic_info table td:first-child{background: #302f65;color: #fff;letter-spacing: 0.05em;}
.top .clinic_info table + p{letter-spacing: 0.05em;line-height: 1.6;}

.top .clinic_info article > div{margin-top: 40px;}
.top .clinic_info article .add{letter-spacing: 0.05em;margin-bottom: 10px;}
.top .clinic_info article .near{padding-left: 38px;padding-bottom: 38px;padding-top: 8px;background: url("../img/index/ico_map.png")no-repeat;background-size: 28px;font-weight: bold; letter-spacing: 0.05em;}
.top .clinic_info article .btn2.map{width: 300px;}

/* concept---------------------*/
.top .concept{text-align: center;padding: 130px 0;background: url("../img/index/concept_bg.jpg")no-repeat;background-size: cover;}
.top .concept h2{margin-bottom: 20px;}
.top .concept h2:after{content: "";display: block; width: 0.5px;height: 30px;background: #302f65;margin:10px auto 0;}
.top .concept p:last-child{font-size: 1.06em;letter-spacing: 0.05em; line-height: 2.3;}

/* philosophy---------------------*/
.top .philosophy{text-align: center;padding: 80px 10px;background: url("../img/index/philosophy_bg.jpg")no-repeat;background-size: cover;}
.top .philosophy h2{margin-bottom: 30px;}
.top .philosophy p{margin-bottom: 15px;}
.top .philosophy p.btn{margin-top: 40px;}

/* feature---------------------*/
.top .feature{padding: 130px 0;background: #ebebeb;position: relative;z-index: 0;overflow: hidden;}
.top .feature:after{content: "";width: 67vw; height: 100%; background: #302f65;position: absolute;top: 0;left: 0;z-index: -1;transform: skewX(-28deg) translateX(-410px);}
.top .feature .dr{position: relative;padding-bottom: 100px;}
.top .feature .dr .txt{display: table; color: #fff;}

.top .feature .dr .name{font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";font-weight: bold;letter-spacing: 0.05em;margin-bottom: 50px;}
.top .feature .dr .name span{font-size: 1.6em;}
.top .feature .dr .name + p{margin-bottom: 35px;line-height: 1.6;}
.top .feature .dr .message{font-size: 1.26em;font-weight: bold;letter-spacing: 0.05em;line-height: 1.8;margin-bottom: 30px;}
.top .feature .dr .btn a{width: 300px;margin: 0;}
.top .feature .dr .btn a:hover{background: #fff;}
.top .feature .dr .btn a:hover:after{content: "";background: #302f65;}

.top .feature .dr .photo{line-height: 0; position: absolute;right:  -100px;bottom: 0;}

.top .feature .feature_in{width: 1200px;display: flex;flex-wrap: wrap;justify-content: space-between;margin:0 auto 40px;}
.top .feature .feature_in .box{display: flex; flex-basis: calc(50% - 10px);background: #fff;margin-bottom: 20px;} 
.top .feature .feature_in .box .photo{flex-shrink: 0;line-height: 0;}
.top .feature .feature_in .box .photo img{height: 100%;object-fit: cover;}
.top .feature .feature_in .box .photo img[src*="sp"]{display: none;}
.top .feature .feature_in .box .txt{padding: 50px 40px;}
.top .feature .feature_in .box .txt h3{font-size: 1.26em; margin-bottom: 30px;color: #302f65;border-left: 1px solid #302f65;padding-left: 10px;}
.top .feature .feature_in .box .txt h3 span{display: block;font-size: 1rem;}
.top .feature .feature_in .box .txt .btn2{margin-top: 20px;}
.top .feature .feature_in .box p{text-align: justify;letter-spacing: 0.05em;line-height: 1.86em;}


/* treatment---------------------*/
.top .treatment{background: url("../img/index/treatment_bg1.jpg")no-repeat top right;background-size: 100%;padding: 130px 0 100px;}
.top .treatment h2{text-align: center;margin-bottom: 20px;}
.top .treatment h2:after{content: "";display: block; width: 0.5px;height: 30px;background: #302f65;margin:10px auto 0;}
.top .treatment article > p{text-align: center;}
.top .treatment .catch{color: #302f65; font-size: 2.6em;font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";font-weight: bold;letter-spacing: 0.1em;margin-bottom: 50px;}
.top .treatment .catch:before{content: "「";}
.top .treatment .catch:after{content: "」";}
.top .treatment .catch + p{font-size: 1.06em; line-height: 2.3;margin-bottom: 100px;}

.top .treatment .box{display: flex;border-bottom: 1px solid #302f65; padding-bottom: 60px; margin-bottom: 60px;}
.top .treatment .box .photo{flex-basis: 460px;flex-shrink: 0; margin-right: 40px;}
.top .treatment .box .photo img{width: 100%;height: 100%;object-fit: cover;}
.top .treatment .box h3{font-size: 1.26em;letter-spacing: 0.05em;color: #302f65;margin-bottom: 25px;}
.top .treatment .box h3 + p{text-align: justify;line-height: 1.86em;letter-spacing: 0.05em;margin-bottom: 1em;}

.btn2 a{width: 100%;display: block;color: #fff; background: #302f65;text-align: center;padding: 20px 45px 20px 10px;
	-webkit-clip-path: polygon(0 0, 100% 0%, calc(100% - 35px) 100%, 0% 100%);
	clip-path: polygon(0 0, 100% 0%, calc(100% - 35px) 100%, 0% 100%);
	position: relative;z-index: 0;box-sizing: border-box;} 

.btn2 a:after{content: "";width: calc(100% - 2px);height: calc(100% - 2px);background: #302f65;position: absolute;top: 1px;left: 1px;
	-webkit-clip-path: polygon(0 0, calc(100% - 0.5px) 0%, calc(100% - 34.5px) 100%, 0% 100%);
	clip-path: polygon(0 0, calc(100% - 0.5px) 0%, calc(100% - 34.5px) 100%, 0% 100%);
	z-index: -1;}

.btn2 a:hover{color: #302f65;}
.btn2 a:hover:after{background: #fff;}

/* treatment2---------------------*/
.top .treatment2{padding: 130px 0 100px;background: url("../img/index/treatment_bg2.jpg")no-repeat;background-size: cover;}
.top .treatment2 h2{font-size: 2.2em; text-align: center;color: #fff;letter-spacing: 0.1em;}
.top .treatment2 h3{font-weight: normal;letter-spacing: 0.05em;}
.top .treatment2 ul{display: flex;color: #fff;justify-content: space-between;margin-bottom: 50px;}
.top .treatment2 ul li{text-align: center;position: relative;}
.top .treatment2 ul:first-child li{flex-basis: calc(100%/4 - 20px);padding-bottom: 20px;}
.top .treatment2 ul:last-child li{flex-basis: calc(100%/6 - 12.5px);padding-bottom: 15px;}
.top .treatment2 ul:first-child li h3{font-size: 1.26em;margin-top: 10px;}
.top .treatment2 ul:last-child li h3{font-size: 1.06em;margin-top: 10px;}

.top .treatment2 ul:first-child li:before{content: "";width: 43px;height: 1px;background: #fff;transform: rotate(-60deg);position: absolute;right: -9px;bottom: 18px;}
.top .treatment2 ul:first-child li:after{content: "";width: 207px;height: 1px;background: #fff;position: absolute;left: 0;bottom: 0;}
.top .treatment2 ul:last-child li:before{content: "";width: 22px;height: 1px;background: #fff;transform: rotate(-60deg);position: absolute;right: -6px;bottom: 9px;}
.top .treatment2 ul:last-child li:after{content: "";width: 144px;height: 1px;background: #fff;position: absolute;left: 0;bottom: 0;}
.top .treatment2 ul li a{display: block;}
.top .treatment2 ul li a:hover{opacity: .5;}

.top .treatment2 .fee{background: #ebebeb;text-align: center;padding: 60px;}
.top .treatment2 .fee h3{color: #302f65; font-size: 1.6em;font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";font-weight: bold;margin-bottom: 20px;}
.top .treatment2 .fee h3 + p{letter-spacing: 0.05em;line-height: 1.86; margin-bottom: 1em;}
.top .treatment2 .fee p strong{font-weight: bold;font-size: 1.06em;color: #a6312b;}

/* technician---------------------*/
.top .technician{background: #ebebeb;position: relative;z-index: 0;}
.top .technician article{padding: 120px 0;}
.top .technician article h2{text-align: center;font-feature-settings : "palt";white-space: nowrap;}
.top .technician article h2 img{display: block;margin: 10px auto;}
.top .technician .txt{width: 430px;}
.top .technician .txt p{text-align: justify; letter-spacing: 0.05em;line-height: 2.3;}
.top .technician .photo_slide{width: 57vw; height: 100%; position: absolute;top: 0; right: 0;z-index: -1;overflow: hidden;}
.top .technician .photo_slide ul,
.top .technician .photo_slide li{width: 100%;height: 100%;}
.top .technician .photo_slide li img{width: 100%;height: 100%;object-fit: cover;}

.top .technician .photo_slide:before{content: "";width: 27vw;height: 100%;background: #ebebeb;position: absolute;top: 0;left: -1px;transform: skewX(-25deg)translateX(-50%);z-index: 1;}
.top .technician .photo_slide:after{content: "";width: 13vw;height: 300px;background: rgba(48,47,101,.8);mix-blend-mode: multiply;position: absolute;bottom: 0;right: 0;transform: skewX(-25deg)translateX(10vw);}


/* Slider---------------------- */
#slide_wrap .slick-track,
#slide_wrap .slick-list{height: 100%;z-index: 0;}
#slide_wrap li img{display: block; width: calc(100% + 50px);max-width: none;transform: translateX(-30px);transform-origin: right;height: 100%;}
#slide_wrap li.slick-active img{animation: fade 4s linear;}
@keyframes fade {
    0% {transform: translateX(0);transform-origin: right;}
    100% {transform: translateX(-50px);transform-origin: right;}
}
#slide_wrap2 .slick-slider .slick-track,
#slide_wrap2 .slick-slider .slick-list{height: 100%;z-index: 0;}
#slide_wrap2 li img{display: block; width: calc(100% + 50px);max-width: none;transform: translateX(-30px);transform-origin: left;}
#slide_wrap2 li.slick-active img{animation: fade 4s ease-out;}
@keyframes fade {
    0% {transform: translateX(0);transform-origin: right;}
    100% {transform: translateX(-30px);transform-origin: right;}
}

iframe{
vertical-align:bottom;
}


footer ul.footer_menu li{
	display: inline-block;
	font-weight: bold;
    color: #fff;
    letter-spacing: 0.06em;
	width: 12.1%;
	text-align: center;
	position: relative;
}


footer ul.footer_menu li a{
	display: block;
}



footer ul.footer_menu li:after{
	position: absolute;
	content: "|";
	top:0;
	right: 0;
}

footer ul.footer_menu li:last-child:after{
	content: none;
}

footer nav{
	background: #302f65;
}

footer ul.footer_menu{
	width: 1200px;
	margin: auto;
	padding-top: 35px;
    padding-bottom: 3rem;
}

.news_area{
	background: #fff;
	height: auto;
    margin-bottom: 50px;
}

.news_box{
	background: #ebebeb;
	width: 1000px;
	margin: auto;
	margin-top: 50px;
	padding: 60px 60px 45px;
	
}

.midashi{
	  color: #302f65;
    font-size: 1.6em;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    font-weight: bold;
    margin-bottom: 20px;
	position: relative;
	padding-left: 82px;
}

hr.kugiri{
	margin-top: 2.2em;
    margin-bottom: 2.2em;
}

.news_box strong{
	font-weight: bold;
    font-size: 1.06em;
    color: #a6312b;
}
.news_txt{
	letter-spacing: 0.05em;
    line-height: 1.86;
	margin-bottom: .88em;
}



.midashi:before{
	position: absolute;
	content: "NEWS";
	background: #302f65;
	color: #fff;
	top:0;
	left: 0;
	padding: 5px 10px;
	box-sizing: border-box;
	font-size: 17px;
}

ul.bunin{
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
	margin-top: 30px;
}

ul.bunin li{
	width: 49%;
	margin-bottom: 10px;
}


p.date span a{
	font-size: 0.73em;
    margin-left: 10px;
}

.news_list li:first-child > p.entry{
	padding-left: 42px;
	position: relative;
}


.news_list li:first-child > p.entry:before{
	position: absolute;
	content: "NEW";
	background: #302f65;
    font-size: 0.73em;
    font-weight: bold;
    color: #fff;
    padding: 1px 5px;
    margin-right: 5px;
	top:2px;
	left: 0;
}

ul.keireki{
    margin-bottom: 3rem;
}
ul.keireki li{
    padding-bottom: 0.3rem;
}
ul.keireki li:before{
    content: "・";
}


/*20240207*/
.online-resv.line_btn {
    color: #00B900;
    bottom: 23rem;
    padding-top: 11rem;
    background-color: #FFF;
    background-image: url(../images/common/line.png);
    background-size: 6rem;
    background-position: center top 3.5rem;
    border: #00B900 2px solid;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: bold;
    letter-spacing: 0;
    font-size: 25px;
}


/*T20240521OPスウェーデン式治療ボタン追加*/
.top .concept p.btn {
    margin-top: 40px;
	margin-bottom: 15px;
}

.top .concept p.btn a {
	padding: 10px 45px 10px 10px;;
}




.sec-policy{ position: relative; z-index: 0; color: var(--sub-color01); }
.sec-policy .bg01{ width: 100%; height: 100%; object-fit: cover; object-position: center; position: absolute; top: 0; left: 0; z-index: -1; }
.sec-policy .wrap{ padding-top: 8rem; padding-bottom: 10rem; }
.sec-policy .item01{ position: absolute; top: -5rem; right: -15rem; z-index: 2; }
.sec-policy .item02{ position: absolute; bottom: -10rem; right: -15rem; }
.sec-policy h2.general{ color: var(--sub-color01); padding-top: 0; margin-bottom: 4.6rem; }
/*.sec-policy h2.general:before{ background: #4f4234; }*/
.sec-policy h2.general:before{ background:none;}
.sec-policy h2.general:after{ content: none; }
.sec-policy h2.general .en-font{ color: #4f4234; }
.sec-policy h2.general .en-font:after{ background: var(--sub-color01); }
.sec-policy .txt{ width: 35rem; }
.sec-policy .txt h3{ font-size: 2.4rem; margin-bottom: 1.8rem; }
.sec-policy .txt p{ margin-bottom: 7rem; }

#group {margin-top: 7rem;}
#group h2{margin-bottom: 0; text-align: center; font-size: 2.5em;line-height: 100%;}
#group h2 span{ font-size: 0.5em; color:#5555; font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";}





	
}

