/* m_only */
@media all and (min-width:640px) {
	.m_only{display:none !important;}
}
@media all and (max-width:640px){
	.m_none{display:none !important;}
}

.sect {position: relative;background: #fff;}
.sect::after {position: absolute;left: 50%;top: 0;display: block;width: 1px;height: 70px;margin-left: -0.5px;background: #dbdbdb;content: "";}
.sect .sec-title {text-align: center;}
.sect .sec-desc {margin-bottom: 48px;text-align: center;}

@media all and (max-width: 640px) {
    
}


.visual{background:url('../img/01-bg.png') no-repeat center/cover}
.visual .inner{padding:120px 0 132px; text-align:center; color:#fff;}
.visual .inner .desc{font-size:18px; line-height:30px; font-weight:500;}
.visual .inner .desc + .desc{margin-top:22px;}
.visual .inner .tit{font-size:40px; font-weight:300; line-height:52px; margin-top:30px;}
.visual .inner .tit strong{font-weight:600;}
.visual .inner .list{display:flex; flex-direction:column; gap:22px; width:536px; margin:60px auto 0;}
.visual .inner .list li{width:100%; height:48px; display:flex; align-items:center; justify-content:center; padding-left:48px; position:relative; background-color:rgba(255,255,255,.9); color:#191919; font-size:1.6rem;}
.visual .inner .list li:before{content:''; width:48px; height:48px; background:#C4AA8B url('../img/check_w.png') no-repeat center/15px; position:absolute; left:0; top:0;}

@media all and (max-width: 640px) {
    .visual .inner{padding:15.62vw 6.25vw 18.75vw; text-align:left;}
    .visual .inner .desc{font-size:3.75vw; line-height:6.25vw;}
    .visual .inner .desc + .desc{margin-top:4.6875vw;}
    .visual .inner .tit{font-size:6.25vw; margin-top:6.25vw; line-height:8.75vw;}
    .visual .inner .list{margin-top:9.375vw; width:100%;}
    .visual .inner .list li{height:auto; min-height:11.5625vw; padding:3.125vw 9.275vw 3.125vw 14.6875vw; justify-content:flex-start; font-size:3.4375vw; line-height:4.375vw;}
    .visual .inner .list li:before{width:11.5625vw; height:100%; background-size:3.59375vw;}

}

.sect._01 {
    position: relative;
    padding: 96px 0px 100px;
    text-align: center;
}
.sect._01 .inner{padding:92px 0 140px;}
.sect._01 .list{display:flex; align-items:center; justify-content:center; gap:20px; flex-wrap:wrap; margin-top:60px;}
.sect._01 .list li .icon{width:92px; height:92px; background-color:#FAF7F4; border-radius:50%; display:flex; align-items:center; justify-content:center;}
.sect._01 .list li .tit{font-size:16px; text-align:center; font-weight:500; margin-top:17px;}
@media all and (max-width: 640px) {
    .sect._01 .inner{padding:12.8125vw 0 15.625vw;}
    .sect._01 .list{width:66.875vw; gap:7.8125vw 3.125vw; margin:9.375vw auto 0;}
    .sect._01 .list li .icon{width:14.375vw; height:14.375vw; padding:3.125vw 0;}
    .sect._01 .list li .icon img{max-height:100%;}
    .sect._01 .list li .tit{font-size:3.125vw; margin-top:2.03125vw;}
}

.sect._02{background-color:#faf7f4;}
.sect._02 .inner{padding:82px 0 140px;}
.sect._02 .list{display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:20px; margin-top:60px;}
.sect._02 .list li{width:260px; background-color:#fff; border-bottom:2px solid #5E4F44; }
.sect._02 .list li .img{height:222px; width:100%; overflow:hidden;}
.sect._02 .list li .img img{width:100%; height:100%; object-fit:cover; transition:transform .3s;}
.sect._02 .list li:hover .img img{transform:scale(1.2)}
.sect._02 .list li .tit{display:flex; align-items:center; height:70px; justify-content:center; font-size:20px; font-weight:500;}

@media all and (max-width: 640px) {
    .sect._02 .inner{padding:12.8125vw 0 15.625vw;}
    .sect._02 .list{margin-top:9.375vw; gap:3.125vw;}
    .sect._02 .list li{width:40.625vw;}
    .sect._02 .list li .img{height:34.6875vw;}
    .sect._02 .list li .tit{height:10.9375vw; font-size:3.4375vw;}
}

#ENT_CLINIC {
    position: relative;
    padding-top: 180px;
    margin-top: -180px;
}

.sect._03 {
    padding: 96px 52px 100px;
    text-align: center;
    color: #191919;
}

.sect._03 .sec-title {
    margin-bottom: 60px;
}

.sect._03 .desc-intro {
    font-weight: 500;
    font-size: 2.2em;
    margin-bottom: 24px;
}

.sect._03 .desc {
    font-weight: 300;
    font-size: 1.6em;
    line-height: 1.5;
    margin-bottom: 18px;
}

.sect._03 .desc strong {
    font-weight: 600;
}

.sect._03 .desc .line-1::after,
.sect._03 .desc .line-3::after {
    content: '';
    display: inline;
}
.sect._03 .desc .line-2::after {
    content: '';
    display: block;
}

.sect._03 .list {
    margin-top: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(20px, 3vw, 38px);
}

.sect._03 .list .outer-circle {
    width: clamp(140px, 25vw, 256px);
    aspect-ratio: 1/1;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    box-shadow: 0 0 10px 0 rgba(94, 79, 68, 0.06);
    position: relative;
}

.sect._03 .list .outer-circle::after {
    content: '';
    display: block;
    width: clamp(4px, 0.6vw, 6px);
    aspect-ratio: 1/1;
    background-color: #c4aa8b;
    border-radius: 50%;
    position: absolute;
    left: calc(100% + clamp(8px, 1vw, 16px));
}

.sect._03 .list .outer-circle:last-child::after {
    content: none;
}

.sect._03 .list .outer-circle .inner-circle {
    width: calc(100% - clamp(10px, 1.5vw, 20px));
    aspect-ratio: 1/1;
    background-color: #faf7f4;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: clamp(14px, 1.8vw, 20px);
    font-weight: 600;
    line-height: 1.6;
    color: #191919;
}

@media screen and (max-width: 800px) {
    .sect._03 {
        padding: 12vw 6.5vw 12.5vw;
    }
}

@media screen and (max-width: 640px) {
    .sect._03 {
        padding: 14.4vw 7vw 15.65vw;
    }

    .sect._03 .sec-title {
        margin-bottom: 9.35vw;
    }

    .sect._03 .desc-intro {
        font-size: 4.05vw;
    }

    .sect._03 .desc {
        font-size: 3.45vw;
        margin-bottom: 4.7vw;
    }

    .sect._03 .desc .line-1::after,
    .sect._03 .desc .line-3::after {
        content: '';
        display: block;
    }
    .sect._03 .desc .line-2::after {
        content: '';
        display: inline;
    }

    .sect._03 .list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: min(5%, 38px);
        width: min(100%, 550px);
        margin: 45px auto 0 auto;
        justify-items: center;
        align-items: center;
        position: relative;
    }

    .sect._03 .list .outer-circle .inner-circle {
        font-size: 3.75vw;
    }

    .sect._03 .list .outer-circle::after {
        content: none;
    }

    .sect._03 .list.col-dot::before,
    .sect._03 .list.col-dot::after {
        content: '';
        display: block;
        width: clamp(1%, 1.4vw, 8px);
        aspect-ratio: 1/1;
        background-color: #c4aa8b;
        border-radius: 50%;
        position: absolute;
    }

    .sect._03 .list.col-dot::before{
        top: calc(50% - min(25%, 112.5px));
        left: 50%;
        transform: translateX(-50%);
    }

    .sect._03 .list::after{
        bottom: calc(50% - min(30%, 147px)); /* (550(height) + 38(gap)) / 4 = 147 */
        left: 50%;
        transform: translateX(-50%);
    }

    .sect._03 .list .outer-circle.m-dot::after {
        content: '';
        position: absolute;
        width: clamp(1%, 1.4vw, 8px);
        aspect-ratio: 1/1;
        background-color: #c4aa8b;
        border-radius: 50%;
        left: 50%;
        top: 100%;
        margin-top: clamp(1%, 1.4vw, 8px);
        transform: translateX(-50%);
    }

    .sect._03 .list .outer-circle {
        width: 100%;
        max-width: 256px;     
    }
}

._04 {
    background: url(../img/sect4-bg.png) no-repeat center / cover;
    padding: 100px 18vw;
}

._04 .tag {
    background-color: #fff;
    display: inline-block;
    font-size: 14px;
    font-weight: 700;
    color: #56483e;
    padding: 3px 10px;
    border-radius: 20px;
    margin-bottom: 32px;
}

._04 .sec-title {
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.16);
    margin-bottom: 12px;
}

._04 .sec-desc {
    font-size: 20px;
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.16);
    line-height: 1.5;
}

.white {
    color: #fff;
}

@media screen and (max-width: 800px) {
    ._04 {
        padding: 7.5vw 12vw;
    }

    ._04 .tag {
        margin-bottom: 4vw;
    }

    ._04 .sec-title {
        margin-bottom: 1.5vw;
        font-size: 5vw;
    }

    ._04 .sec-desc {
        font-size: 2.5vw;
        padding: 0px;
    }
}

@media screen and (max-width: 640px) {
    ._04 {
        background: url(../img/sect4-bg-mo.png) no-repeat center / cover;
        padding: 9.5vw 15vw;
        aspect-ratio: 640 / 473;
    }

    ._04 .inner {
        text-align: center;
    }

    ._04 .sec-title {
        font-size: 4.8vw;
    }

    ._04 .sec-desc {
        font-size: 3.2vw;
    }
}

.sect._05 {
    padding: 96px 16px 233px;
    text-align: center;
    color: #191919;
}

.sect._05 .sec-desc {
    margin-bottom: 80px;
    color: #595959;
}

.sect._05 .list-box {
    box-shadow: 0 0 16px 0 rgba(106, 87, 74, 0.1);
    background-color: #fff;
    max-width: 1040px;
    margin: 0 auto;     
    padding: 70px 140px;
    text-align: left;
}

.sect._05 .list-box .text {
    padding: 26px 0 22px 0;
    border-bottom: 1px solid #d8d8d8;
    color: #191919;
    text-align: left;
    display: flex;
}

.sect._05 .list-box .text:first-child {
    padding-top: 0;
}

.sect._05 .list-box .text p {
    display: inline-block;
}

.sect._05 .list-box .text .name {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.6;
    flex-basis: 30%;
    flex-shrink: 0;
    display: flex;
    align-items: center;
}

.sect._05 .list-box .text .name::before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    background-color: #5e4f44;
    border-radius: 50%;
    margin-right: 20px;
    flex-shrink: 0;
}

.sect._05 .list-box .text .desc {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.6;
    color: #222222;
    word-break: keep-all;
}

.sect._05 .note {
    margin-top: 50px;
    font-size: 16px;
    font-weight: 300;
    line-height: 1.6;
    color: #595959;
    word-break: keep-all;
}

@media screen and (max-width: 800px) {
    .sect._05 .sec-desc {
        margin-bottom: 10vw;
    }

    .sect._05 .list-box {
        padding: 10vw 7.5vw;
    }

    .sect._05 .list-box .text .name {
        font-size: 2.5vw;
    }

    .sect._05 .list-box .text .desc {
        font-size: 2.25vw;
    }

    .sect._05 .note {
        margin-top: 6.25vw;
        font-size: 2vw;
    }
}

@media screen and (max-width: 800px) {
    .sect._05 {
        padding: 12vw 2vw 29vw;
    }
}

@media screen and (max-width: 640px) {
    .sect._05 {
        padding: 14.5vw 16px 15.6vw;
    }

    .sect._05 .sec-desc {
        margin-bottom: 7.8vw;
    }

    .sect._05 .list-box {
        padding: 6.2vw 4.8vw;
    }

    .sect._05 .list-box .text {
        padding: 3.125vw 0;
        flex-direction: column;
        gap: 1.57vw;
    }
    
    .sect._05 .list-box .text .name {
        font-size: 3.75vw;
    }

    .sect._05 .list-box .text .desc {
        font-size: 3.5vw;
    }

    .sect._05 .note {
        margin-top: 7.8vw;
        font-size: 2.5vw;
        display: flex;
        flex-direction: column;
    }
}

