/* 全体の共通設定 */
body {
    background-color: #51352E;
    background-image: url(../images/background_sp@2x.jpg);
    background-size: cover;
    background-attachment: fixed;
    font-family: "FOT-筑紫オールド明朝 Pro R", "TsukuOldMinPro-R", "游明朝", "Yu Mincho medium", "YuMincho medium", "Hiragino Mincho ProN", "HGS明朝E", serif;
    font-feature-settings: "palt";
}

@media screen and (min-width:480px) {}

@media screen and (min-width:767px) {}

@media screen and (min-width:768px) {
    body {
        background-image: url(../images/background_pc@2x.jpg);
    }

    .spbr {
        display: none;
    }
}

@media screen and (min-width:1280px) {}

/* コンテンツ本体 */
main {
    background-color: rgba(255, 255, 255, 0.7);
    box-sizing: border-box;
    width: 93vw;
    margin: 26vw auto 13vw;
    padding: 1vw 0vw;
}

main .content {
    width: 97%;
    border: solid 2px #5A3A41;
    outline: solid 1px #5A3A41;
    outline-offset: -7px;
    box-sizing: border-box;
    background-image: url(../images/frame_left-top_sp.svg), url(../images/frame_right-top_sp.svg),
        url(../images/frame_left-bottom_sp.svg), url(../images/frame_right-bottom_sp.svg);
    background-size: 5vw;
    background-repeat: no-repeat;
    background-position: top 2vw left 2vw, top 2vw right 2vw,
        bottom 2vw left 2vw, bottom 2vw right 2vw;
    margin: 0 auto;
}


.content h2 {
    margin: 0 auto;
    padding-top: 11.8vw;
    padding-bottom: 6.1vw;
}

.content h2 img {
    display: block;
    width: 40vw;
    margin: 0 auto;
}

.content h2 p picture img {
    display: block;
    width: 35vw;
    margin: 0 auto;
    padding-top: 6.1vw;
}

.content section {
    padding: 0 8.9vw;
}

.content section h3 {
    display: flex;
    align-self: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    color: #fff;
    background-image: url(../images/ttl_02_sp.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 71vw auto;
    min-height: 41vw;
    margin-bottom: 9.6vw;
}

.content section h3 p {
    font-size: 7.2vw;
    line-height: 1.4;
    letter-spacing: 0.9vw;
}

.content section p {
    font-size: 4vw;
    line-height: 1.85;
    letter-spacing: 0.2vw;
    /* padding-bottom: 7.6vw; */
}

.content section .words {
    padding-top: 9.5vw;
}

.content section .words:first-of-type {
    padding-top: 13vw;
}

.content section .words p {
    font-size: 4.95vw;
    font-weight: bold;
    line-height: 1.8;
}

.content section .minagawa {
    padding-top: 12.5vw;
    padding-bottom: 19.2vw;
}

.content section .minagawa p {
    font-size: 3.5vw;
    line-height: 1.83;
}

.content .signature {
    width: 50vw;
    text-align: center;
    background-image: url(../images/signature_img_sp@2x.png);
    background-size: 31vw;
    background-repeat: no-repeat;
    background-position-x: center;
    padding: 23vw 0vw 0vw;
    margin: 0 auto;
}

.content .signature p {
    text-align: center;
    font-size: 4.2vw;
    letter-spacing: 0.5vw;
    padding-top: 8vw;
}

.content .signature p:last-of-type {
    font-size: 3vw;
    padding-top: 0vw;
}

@media screen and (min-width:480px) {}

@media screen and (min-width:767px) {
    /* main {
        margin: 16vw auto 13vw;
    }

    .content .signature p:last-of-type {
        padding-top: 2vw;
    } */
}

@media screen and (min-width:768px) {
    main {
        width: 73.6vw;
        margin: 14.9vw auto 13vw;
        padding: 0.8vw 0vw;
    }

    main .content {
        outline-offset: -5px;
        background-image: url(../images/frame_left-top_pc.svg), url(../images/frame_right-top_pc.svg),
            url(../images/frame_left-bottom_pc.svg), url(../images/frame_right-bottom_pc.svg);
        background-size: 2vw;
        background-repeat: no-repeat;
        background-position: top 0.6vw left 0.6vw, top 0.6vw right 0.6vw,
            bottom 0.6vw left 0.6vw, bottom 0.6vw right 0.6vw;

    }

    .content h2 {
        padding-top: 7.3vw;
        padding-bottom: 2.5vw;
    }

    .content h2 img {
        width: 16vw;
    }

    .content h2 p picture img {
        width: 9.7vw;
        padding-top: 2.3vw;
    }

    .content section {
        padding: 0 14vw;
    }

    .content section h3 {
        background-image: url(../images/ttl_02_pc.svg);
        background-size: 42vw auto;
        min-height: initial;
        height: 13.5vw;
        margin-bottom: 5.8vw;
    }

    .content section h3 p {
        font-size: 2.8vw;
        line-height: 1.45;
        letter-spacing: 0.2vw;
    }

    .content section p {
        font-size: 1.6vw;
        line-height: 1.9;
        letter-spacing: 0.25vw;
        /* padding-bottom: 3.4vw; */
    }

    .content section .words {
        padding-top: 3vw;
    }
    
    .content section .words:first-of-type {
        padding-top: 7vw;
    }
    
    .content section .words p {
        font-size: 1.85vw;
        line-height: 1.98;
    }
    
    .content section .minagawa {
        padding-top: 7.8vw;
        padding-bottom: 5.8vw;
    }
    
    .content section .minagawa p {
        font-size: 1.4vw;
        line-height: 2.05;
    }
    
    .content .signature {
        width: 50vw;
        background-image: url(../images/signature_img_sp@2x.png);
        background-size: 11.5vw;
        padding: 4.8vw 0vw 0vw;
        margin: 0 auto;
    }

    .content .signature p {
        font-size: 1.6vw;
        letter-spacing: 0.1vw;
        padding-top: 6.6vw;
    }

    .content .signature p:last-of-type {
        font-size: 1.2vw;
        padding-top: 0vw;
    }

}

@media screen and (min-width:1280px) {
    main {
        width: 73.5%;
        max-width: 950px;
        margin: 190px auto 80px;
        padding: 10px 0;
    }

    main .content {
        outline-offset: -5px;
        background-image: url(../images/frame_left-top_pc.svg), url(../images/frame_right-top_pc.svg), 
        url(../images/frame_left-bottom_pc.svg), url(../images/frame_right-bottom_pc.svg);
        background-size: 3%;
        background-repeat: no-repeat;
        background-position: top 0.2% left 0.9%, top 0.2% right 0.9%, bottom 0.2% left 0.9%, bottom 0.2% right 0.9%;
    }

    .content h2 {
        padding-top: 10.3%;
        padding-bottom: 3.5%;
    }

    .content h2 img {
        width: 24.6%;
    }

    .content h2 p picture img {
        width:16.2%;
        padding-top: 3%;
    }

    .content section {
        padding: 0 20%;
    }

    .content section h3 {
        background-size: 99% auto;
        height: 170px;
        margin-bottom: 13.9%;
    }

    .content section h3 p {
        font-size: 2.2rem;
        letter-spacing: 0.2rem;
        /* padding-bottom: 0; */
    }

    .content section p {
        font-size: 1.27rem;
        line-height: 2;
        letter-spacing: 0.15rem;
    }

    .content section .words {
        padding-top: 42px;
    }
    
    .content section .words:first-of-type {
        padding-top: 90px;
    }
    
    .content section .words p {
        font-size: 1.5rem;
        font-weight: bold;
        line-height: 1.75;
    }
    
    .content section .minagawa {
        padding-top: 100px;
        padding-bottom: 112px;
    }
    
    .content section .minagawa p {
        font-size: 1.12rem;
        line-height: 2.05;
    }

    .content .signature {
        width: 50%;
        background-size: 35%;
        padding: 10.6% 0 0;
    }

    .content .signature p {
        font-size: 1.3rem;
        letter-spacing: 0.1rem;
        padding-top: 14%;
    }

    .content .signature p:last-of-type {
        font-size: 0.9rem;
    }

}


/* aside */
aside {
    display: flex;
    justify-content: center;
    gap: 0 25vw;
    padding: 4vw 0 8vw;
}

aside a {
    display: block;
    font-size: 3vw;
}

aside p {
    font-size: 3vw;
}

@media screen and (min-width:480px) {}

@media screen and (min-width:768px) {
    aside {
        gap: 0 22vw;
        padding: 4.8vw 0 5.4vw;
    }

    aside a {
        font-size: 1.2vw;
        letter-spacing: 0.03vw;
    }

    aside p {
        font-size: 1.2vw;
        letter-spacing: 0.03vw;
    }
}

@media screen and (min-width:1280px) {
    aside {
        gap: 0 30.3%;
        padding: 6.9% 0 7.5%;
    }

    aside a {
        font-size: 1rem;
        letter-spacing: 0;
    }

    aside p {
        font-size: 1rem;
        letter-spacing: 0;
    }

}