.page_bg {
    background-color: #231815;
    color: #fff;
    padding: 40px 0;
}

.page_ttl {
    text-align: center;
    color: #c9ba88;
    font-size: clamp(18px,2vw,23px);
    letter-spacing: 0.2em;
}

.page_ttl .large {
    display: block;
    font-size: clamp(30px,4vw,48px);
    line-height: 1.2;
}

.page_btn_wrap {
    max-width: 650px;
    width: 90%;
    margin: 30px auto 50px;
    display: flex;
    justify-content: center;
    gap: 0 20px;
}

.page_btn_wrap li {
    width: calc(100%/2 - 10px);
    border: 2px solid #796a56;
    color: #796a56;
    font-size: clamp(14px,1.5vw,18px);
    background-color: #fff;
    text-align: center;
}

.page_btn_wrap li a {
    display: block;
    padding: 8px;
}

.page_btn_wrap li.active {
    background-color: #796a56;
    color: #fff;
    pointer-events: none;
}

.all_wrap {
    max-width: 1054px;
    width: 90%;
    margin: 0 auto;
}

/* SP調整 */
@media screen and (max-width:730px) {
    .page_bg {
        padding: 25px 0;
    }

    .page_btn_wrap {
        margin: 25px auto 30px;
    }

    .page_btn_wrap li a {
        padding: 5px;
    }

}

.page_lead {
    font-size: clamp(19px,3vw,30px);
}

.profile_wrap {
    max-width: 700px;
    display: grid;
    grid-template-columns: 41% 1fr;
    gap: 0 30px;
    margin: 30px 0 0;
}

.profile_wrap .image {
    grid-row: 1/3;
}


.profile_txt01 {
    font-size: clamp(14px,1.8vw,18px);
    margin: 0 0 10px;
}

.profile_txt02 {
    display: flex;
    font-size: clamp(16px,2.4vw,25px);
    line-height: 1.5;
}

.profile_wrap .bottom {
    margin-top: 30px;
    border-top: 0.5px solid #fff;
    padding-top: 20px;
}

.profile_wrap .bottom .profile_ttl {
    font-weight: bold;
    font-size: clamp(15px,1.5vw,18px);
    margin-bottom: 5px;
}


.profile_wrap .bottom .profile_txt03 {
    font-size: clamp(11px,1.3vw,14px);
    font-weight: lighter;
    line-height: 1.8;
}

.profile_txt02 .name {
    line-height: 1;
}

.profile_txt02 .name .ruby {
    font-size: clamp(11px,1.4vw,16px);
    font-weight: lighter;
}

.profile_txt02 .small {
    margin: 0.5% 10px 0 0;
    font-size: clamp(12px,1.4vw,16px);
}


.sec_lead {
    font-size: clamp(17px,2vw,20px);
    color: #ae9a52;
    margin-bottom: 5px;
}

.sec_txt {
    font-size: clamp(12px,1.3vw,14px);
    line-height: 1.8;
    font-weight: lighter;
}

.image .note {
    display: block;
    text-align: right;
    margin-top: 5px;
    font-weight: lighter;
}

/* SP調整 */
@media screen and (max-width:730px) {
    .profile_wrap {
        grid-template-columns: 35% 1fr;
        gap: 0 20px;
    }

    .profile_wrap .txt_wrap {
        grid-row: 1/3;
        align-self: flex-end;
    }

    .profile_wrap .bottom {
        grid-column: 1/3;
        margin-top: 20px;
        padding-top: 10px;
    }


    .profile_wrap .bottom .profile_txt03,
    .sec_txt,
    .image .note {
        font-weight: initial;
    }
}


.wrap01 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: flex-start;
    margin: 50px 0 80px;
    gap: 30px 0;
}

.sec01,
.sec02,
.sec03 {
    width: 48%;
}

.sec01 .txt_wrap,
.sec02 .txt_wrap,
.sec03 .txt_wrap {
    display: flex;
    justify-content: space-between;
}


.sec01 .txt_wrap .image,
.sec02 .txt_wrap .image,
.sec03 .txt_wrap .image {
    width: 40%;
    margin-top: 7px;
}

.sec01 .txt_wrap .sec_txt,
.sec02 .txt_wrap .sec_txt,
.sec03 .txt_wrap .sec_txt {
    width: 57%;
}

.sec01 .sec_txt .image,
.sec02 .sec_txt .image,
.sec03 .sec_txt .image {
    display: none;
}



@media screen and (max-width:730px) {
    .wrap01 {
        flex-direction: column;
        gap: 40px 0;
    }

    .sec01,
    .sec02,
    .sec03 {
        width: 100%;
    }



    .sec01 .txt_wrap .image,
    .sec02 .txt_wrap .image,
    .sec03 .txt_wrap .image {
        display: none;
    }

    .sec01 .txt_wrap .sec_txt,
    .sec02 .txt_wrap .sec_txt,
    .sec03 .txt_wrap .sec_txt {
        width: 100%;
    }

    .sec01 .txt_wrap .sec_txt .image,
    .sec02 .txt_wrap .sec_txt .image,
    .sec03 .txt_wrap .sec_txt .image {
        display: block;
        width: 48%;
        float: right;
        margin: 6px 0 5px 15px;
    }
}

@media screen and (max-width:1000px) and (min-width:730px) {
    .all_wrap {
        max-width: 500px;
    }

    .wrap01 {
        flex-direction: column;
        gap: 30px 0;
    }

    .sec01,
    .sec02,
    .sec03 {
        width: 100%;
    }
}