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

/* header---------------------------------------------------- */
header{position: relative;}

header h1{color: #fff;font-size: 1.714em;letter-spacing: 0.1em; font-family: "游ゴシック体", YuGothic, "YuGothic M", sans-serif;text-align: center; position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);z-index: 1;}
header h1 span{display: block;font-size: 2em;font-weight: normal;font-family: copperplate, serif;letter-spacing: normal;}

header .mv{position: relative;border-top: 30px solid #000;height: 350px;overflow: hidden;}
header .mv:before{content: "";width: 100%;height: 100%;background: rgba(0,0,0,.3); position: absolute;top: 0;left: 0;}
header .mv ul,header .mv ul li{height: 100%;}
header .mv ul img{width: 100%;height: 100%;object-fit: cover;}

/* pankuzu---------------------------------------------------- */
.pankuzu{padding: 40px 40px 80px;}
.pankuzu li{display: inline-block;color: #967022;}
.pankuzu li:not(:last-child):after{content: "/";margin: 0 5px 0 8px;}

/* common---------------------------------------------------- */
#sub main{display: block; width: 800px;margin: 0 auto 120px;color:#967022;}
#sub h2{font-size: 2.07em;font-weight: normal;color: #fff;background: #967022;padding: 20px 30px;letter-spacing: 0.05em;margin-bottom: 50px;}
#sub h2:not(:first-child){margin-top: 70px;}

#sub h3{font-size: 1.78em;font-weight: normal;letter-spacing: 0.1em;margin-bottom: 20px;}
#sub h3:not(:first-child){margin-top: 30px;}

#sub h4{font-size: 1.28em;font-weight: normal;letter-spacing: 0.1em;margin-bottom: 25px;position: relative;padding-left: 1.2em;}
#sub h4:not(:first-child){margin-top: 30px;}

#sub main p{line-height: 2;letter-spacing: 0.1em;margin-bottom: 1.44em;font-size: 1.1em;}
#sub main hr{border-top:2px solid #f5f3f2;}

#sub .block{display:flex;justify-content: space-between;margin: 40px 0px;}

#sub .block > *:first-of-type{margin-right: 40px;}

#sub .block .txt{flex-grow: 1;}
#sub .block .txt p{text-align: justify;line-height: 1.8;letter-spacing: 0.06em;}

#sub .block .txt p + h3,
#sub .block .txt p + h4{margin-top: 40px;}
#sub .block .txt p + p{margin-top: 1em;}

#sub .block .photo{flex-grow: 0;}
#sub .block .photo img{max-width: none;}
#sub .block .photo p{line-height: 0;overflow: hidden;}

#sub .h3area{background: #f2f2f2;padding: 30px;margin-bottom: 50px;}
#sub .h3area .block:last-child{margin-bottom: 0;}

#sub .txt_column{column-count: 2;column-gap: 60px;text-align: justify;margin-bottom: 80px;}

#sub table{width: 100%;margin-bottom: 50px;}
#sub table tr:first-child{border-top: 3px solid #998d7b;}
#sub table tr:not(:last-child){border-bottom: 0.5px solid #998d7b;}
#sub table tr:last-child{border-bottom: 3px solid #998d7b;}
#sub table tr:nth-child(even){background: #f2f2f2;}

#sub table th,#sub table td{text-align: left;letter-spacing: 0.1em;line-height: 2.5; padding: 20px;vertical-align: top;}
#sub table th{font-weight: normal;width: 40%;}

/* staff---------------------------------------------------- */

#sub .staff_box{display: flex;margin-bottom: 100px;position: relative;padding-top: 100px;}
#sub .staff_box .photo{margin-right: 50px;}
#sub .staff_box .photo img{max-width: none;}
#sub .staff_box h3.name{font-size: 1.07em;line-height: 1.7;}
#sub .staff_box h3.name span{font-size: 1.33em;margin-right: 10px;}
#sub .staff_box h4{border-bottom: 1px solid #967022;margin-bottom: 20px;}
#sub .staff_box li{margin-bottom: 10px;letter-spacing: 0.1em;}
#sub .staff_box .career{margin-top: 30px;}
#sub .staff_box .career table{width: auto;margin-bottom: 0;}
#sub .staff_box .career table tr{border: none;background: none;}
#sub .staff_box .career table tr{border: none;background: none;}
#sub .staff_box .career table th{padding: 0;letter-spacing: 0.025em;}
#sub .staff_box .career table td{padding: 0 0 0 10px;letter-spacing: 0.025em;}
#sub .staff_box:before{content: "";display: block;width: 100%;height: 2px;background: #998d7b;position: absolute;left: 0;top: 0;}
#sub h2 + .staff_box{padding-top: 0;}
#sub h2 + .staff_box:before{content: none;}


ul.flow {
    counter-reset: flow;
    position: relative;
    margin: 50px 0;
}
ul.flow li {
    padding-left: 66px;
    position: relative;
    min-height: 64px;
    margin-bottom: 60px;
    z-index: 0;
}
ul.flow li:before {
    counter-increment: flow;
    content: counter(flow);
    width: 40px;
    height: 64px;
    border-radius: 5px;
    background: #222;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: 22px;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    left: 0;
    top: 0;
}
.left p {
    margin-bottom: 10px;
}
.right-img {
    display: flex;
    justify-content: space-between;
    margin: 30px 0;
}
.right-img .left {
    width: 400px;
}

ul.flow .right-img .left p {
    padding-right: 13px;
}
.right-img .right {
    width: 330px;
}
.right-img .right img {
    display: block;
    width: 100%;
}
ul.flow li:not(:last-of-type):after {
    content: '';
    width: 1px;
    height: calc(100% + 60px);
    background: #000000;
    position: absolute;
    top: 0;
    left: 20px;
    z-index: -1;
}

    .flow li span{
        font-size: 1.7em;
    }
.h3area.multiple h4{
    margin-bottom: 10px!important;

}
.h3area p{
    margin-bottom: 10px;
}
.merit_list{
    margin: 20px 0px;
    counter-reset: number o;
}
.merit_list li {
    margin-bottom: 15px;
    border-bottom: solid 1px;
    padding: 10px;
    font-size: 18px;

}
.merit_list p{
    margin-bottom: 20px;
}

.merit_list li:before{
counter-increment: number 1;
content: counter(number)" ";
margin: 0px 10px;
}

ul.min_list{

}

ul.min_list p{ 
    margin-bottom: 20px;
}

ul.min_list li{
    border-bottom: none;
    margin-bottom: 10px;
    line-height: 2;

}

ul.min_list li:before{
    content:"\025b6";
    margin-right: 5px;
}

.acd-check{
    display: none;
}
.acd-label{
    color: #000;
    display: block;
    margin-bottom: 1px;
    padding: 20px;
    position: relative;
    border: solid 2px #966f23;
    margin-bottom: 20px;
}
.acd-label:after{
    box-sizing: border-box;
    content: '+';
    display: block;
    font-family: "Font Awesome 5 Free";
    padding: 10px 20px;
    position: absolute;
    right: 0;
    top: 10px;
    color: #000;
}
.acd-content{

    display: block;
    height: 0;
    opacity: 0;
    padding: 0 10px;
    transition: .5s;
    visibility: hidden;
}
.acd-check:checked + .acd-label:after{
    content: '-';
}
.acd-check:checked + .acd-label + .acd-content{
    height: auto;
    opacity: 1;
    padding: 10px;
    visibility: visible;
        margin-bottom: 50px;
}


.treatment{
        background: #fff;
    padding: 0;
    margin: auto;
}

.treatment ul{display: flex;flex-wrap: wrap;justify-content: center;margin-bottom: 50px;}
.treatment ul li{text-align: center;}
.treatment ul li a{width: 155px;height: 170px; display: flex;flex-direction: column;justify-content: center;border-radius: 100px;}

.treatment ul li h3{font-weight: normal;color: #967022;letter-spacing: 0.075em;margin-top:0px!important;font-size:1.17em!important;}
.treatment ul li h3:after{content: "";display: block; width: 62px;height: 1px;background: #967022;margin: 5px auto 0;}
.treatment ul li a img[src*="_on"]{display: none;}

.treatment ul li a:hover{background: #9670;}
.treatment ul li a:hover h3{color: #fff;}
.treatment ul li a:hover h3:after{background: #fff;}
.treatment ul li a:hover img:not([src*="_on"]){display: none;}
.treatment ul li a:hover img[src*="_on"]{display: inline-block;}
.treatment ul li a:hover {background: #967022;}
.treatment ul li p{margin-bottom: 0px!important;}






.treatment h2 {
    text-align: center;
    font-weight: normal;
    font-size: 1.92em;
    letter-spacing: 0.075em;
    color: #967022;
    margin-bottom: 30px;
}
.treatment h2 span.eng {
    display: block;
    font-size: 0.814em;
    font-family: mrs-eaves-roman-all-petite-c, sans-serif;
    letter-spacing: 0;
    filter: opacity(.5);
}







.flex-clinic{display: flex;flex-wrap: wrap;justify-content: space-between;}
.flex-clinic-double{flex-basis: calc(100%/2 - 10px);text-align: center;    position: relative;}
.flex-clinic-double img{width: 100%;margin-bottom:10px;}

.btn-sub{display: block;background: #967022;font-size: 1.14em;letter-spacing: 0.015em;color: #fff;padding: 30px;width: 300px;margin: 20px auto 0px;text-align: center;}
.btn-sub:hover{background: #fff;color: #967022;}

.harf{display: flex;flex-wrap: wrap;justify-content: space-between;margin: 20px 0px;}
.harf_box{width: 48%;}
ol.check{counter-reset:list;list-style-type:none;font: 14px/1.6 'arial narrow', sans-serif;padding: 0;}
ol.check li{position:relative;line-height: 30px;margin: 7px 0 10px 30px;font-weight: bold;font-size:14px;border-bottom:solid 1px #282828;padding: 10px 20px;}
ol.check li:before{counter-increment: list;content: counter(list);position: absolute;left: -30px;width: 30px;height: 32px;background: #282828;text-align: center;color: #fff;top: 50%;-moz-transform: translateY(-50%); -webkit-transform: translateY(-50%);-o-transform: translateY(-50%);-ms-transform: translateY(-50%);transform: translateY(-50%);}


.container999 ul.dot{width: 600px;margin: 40px auto;}
.container999 ul.dot li{font-size: 14px;position: relative;padding-left: 1.5em;border-bottom: dashed 1px #ce009f;padding-bottom: 4px;margin-bottom: 1.4em;}
.container999 ul.dot li:before{content: '●';color: #ce009f;position: absolute;left: 0;}
.container999 ul.dot li:last-of-type{margin-bottom: 0;}


.container999 ul.flow-k li{display: flex;justify-content: space-between;padding-bottom: 70px;position: relative;}
.container999 ul.flow-k li .num{width: 80px;position: relative;z-index: 3;}
.container999 ul.flow-k li .num:before{content: '';width: 3px;height: calc(100% + 110px);background: #b04974;position: absolute;top: 0;left: 50%;transform: translateX(-50%);z-index: -1;}
.container999 ul.flow-k li .num:after{content: '';width: 38px;height: 44px;background: url(../images/common/flow-arrow.png) no-repeat;background-size: contain;position: absolute;bottom: -30px;left: 50%;transform: translateX(-50%);z-index: 2;}
.container999 ul.flow-k li:last-of-type .num:after, .container ul.flow li:last-of-type .num:before{content: none;}
.container999 ul.flow-k li .num p{width: 80px;height: 80px;border-radius: 40px;background: #b04974;color: #fff;font-size: 32px;font-family: 'audrey', sans-serif;text-align: center;line-height: 1.4;padding-top: 17px;}
.container999 ul.flow-k li .num p span{font-size: 14px;display: block;text-align: center;line-height: 1;}
.container999 ul.flow-k li .content{width: calc(100% - 100px);display: flex;align-items: center;justify-content: space-between;}
.container999 ul.flow-k li .content dl{width: calc(100% - 310px);}
.container999 ul.flow-k li .content dl dt{font-size: 14px;color: #b04974;margin-bottom: 20px;}
.container999 ul.flow-k li .content dl dd{font-size: 12px;}
.container999 ul.flow-k li .img{width: 280px;}
.container999 .flow-k{margin-top: 40px;}

h4:not([class]):before {content: '■';position: absolute;left: 0;}

.font-right{text-align: right!important;}
.six-w{font-weight: normal;width: 40%;}

.center-foot{display: block;padding-top: 10px;}




