*{
    font-family: "noto sans JP" sans;
    /* --font-size: calc(3.5dvw/var(--scale));*/
}

.main_img img{
    margin: 0 auto;
    width: 750px;
}

.koushi{
    width: 750px;
    margin: 0 auto;
    position: relative;
}

.koushi > img{
    width: 750px;
}

.koushi div{
    position: absolute;
    z-index: 10;
}

.koushi div.koushi1{
    top: 720px;
    left: 50px;
}

.koushi div.koushi2{
    top: 600px;
    left: 50px;
}

.koushi div.koushi3{
    top: 565px;
    left: 50px;
}

.koushi div.koushi4{
    top: 719px;
    left: 50px;
}


@media (max-width: 750px) {
    .koushi{
        width: 100dvw;
    }

    .koushi > img{
        width: 100dvw;
    }

    .koushi > div > a >img{
        width: 30dvw;
    }

    .koushi div.koushi1{
        top: 96dvw;
        left: 7dvw;
    }

    .koushi div.koushi2{
        top: 80dvw;
        left: 7dvw;
    }

    .koushi div.koushi3{
        top: 75.5dvw;
        left: 7dvw;
    }

    .koushi div.koushi4{
        top: 95.5dvw;
        left: 7dvw;
    }
}

.koushi div a img:hover{
    filter: brightness(1.2);
}

#kouryuu_btn01{
    margin: 0 auto;
    width: 750px;
    background-color: #F9F5F1;
}

#kouryuu_btn01 a img{
    margin: 0 auto;
    width: 650px;
}

#kouryuu_btn01 a img:hover{
    filter: brightness(1.2);
}

#kouryuu_btn01.kouryuu_btn01_padding{
    padding:20px 0;
}

#kouryuu_btn01.kouryuu_btn02_padding{
    padding-bottom: 30px;
}

#kouryuu_btn01.kouryuu_btn03_padding{
    padding:40px 0;
}


@media (max-width: 750px) {
    .main_img img{
        width: 100dvw;
    }

    #kouryuu_btn01{
        width:100dvw;
    }
    
    #kouryuu_btn01 a img{
    width: 90dvw;
    margin: 0 auto;
    }
}

#question{
    width: 100dvw;
    margin: 0 auto;
    background-image: url("../images/bg01.jpeg");
}

#question > div{
    width: 90dvw;
    margin: 0 auto;
}

#question > div img{
    margin: 0 auto;
    padding-top: 40px;
    padding-bottom: 20px;
    width: 320px;
}

@media (min-width: 751px) {
    #question{
        width: 750px;
    }

    #question > div{
        width: 700px;
    }
}


#aco2{
    padding-bottom: 40px;
    --f-size: 20px;
    --letter-spacing: 4px;
    --QA-margin-bottom: 25px;
    --A-padding-left: 25px;
}

#aco2 .accordion {
    display: grid;
    --gap: 14px;
    margin-bottom: var(--QA-margin-bottom);
}

#aco2 .accordion-item {
    background: white;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
    border: 1px solid #e8ecf4;
}

#aco2 .accordion-button {
    width: 100%;
    border: none;
    background-color: #d97188;
    cursor: pointer;
    text-align: left;
    letter-spacing: var(--letter-spacing);
    padding: 10px 56px 10px 20px;
    font-size: var(--f-size);
    --font-weight: 700;
    color: white;
    position: relative;
    transition: background 0.25s ease;
}

#aco2 .accordion-button::after {
    content: "";
    background-image: url("../images/yama01.png");
    transition: transform 0.3s ease, content 0.3s ease;
    width: 16px;
    height: 16px;
    background-image: url("../images/yama01.png");
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    right: 16px;
    top: 12px;
}

#aco2 .accordion-item.open .accordion-button::after {
    content: "";
    transform: rotate(180deg);
    top: 15px;
}

#aco2 .accordion-content {
    height: 0;
    overflow: hidden;
    transition: height 0.35s ease;
}

#aco2 .accordion-inner {
    padding: 10px 0px 10px 22px;
    font-size: var(--f-size);
    letter-spacing: var(--letter-spacing);
    color: #604f4e;
    opacity: 0;
    transform: translateY(-6px);
    transition: opacity 0.25s ease, transform 0.25s ease;
}

#aco2 span{
     padding-left: var(--A-padding-left);
}

#aco2 .accordion-item.open .accordion-inner {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 750px) {
    #aco2{
        --f-size: 3.2dvw;
        --letter-spacing: 0.1dvw;
        --QA-margin-bottom: 4.6dvw;
        --A-padding-left :3.6dvw;
    }

    .accordion-button {
    font-size: 15px;
    padding: 18px 50px 18px 16px;
    }

    .accordion-inner {
    padding: 0 16px 18px;
    }
}
