/* 全体の共通設定 */
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: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: 36.6vw;
    margin: 0 auto;
    padding-top: 6.1vw;
}

.content section {
    padding: 0 8.9vw 4vw;
}

.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: 9vw;
}

.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: 5.2vw;
}

.content section>p.ttl {
    font-size: 4.8vw;
    font-weight: bold;
    padding-bottom: 1vw;
}


.content .signature {
    width: 50vw;
    text-align: center;
    background-image: url(../images/signature_img_sp@2x.png);
    background-size: 35vw;
    background-repeat: no-repeat;
    background-position: top left 55%;
    padding: 27vw 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: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 5.5vw;
    }

    .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 span.pc_spacing {
        padding-left: 1em;
    }

    .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: 2vw;
    }

    .content section>p.ttl {
        font-size: 2.2vw;
        font-weight: bold;
        padding-bottom: 0.5vw;
    }

    .content .signature {
        width: 50vw;
        background-image: url(../images/signature_img_sp@2x.png);
        background-size: 20.5vw;
        background-position: top center;
        padding: 4.8vw 0vw 0vw;
        margin: 0 auto;
    }

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

    .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: 17.6%;
        padding-top: 3%;
    }

    .content section {
        padding: 0 20% 5%;
    }

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

    .content section h3 p {
        font-size: 2.2rem;
        line-height: 1.15;
    }

    .content section>p {
        font-size: 1.27rem;
        line-height: 1.97;
        letter-spacing: 0.15rem;
        padding-bottom: 1.9em;
    }

    .content section>p:nth-of-type(10) {
        padding-bottom: 0.7em;
    }

    .content section>p.ttl {
        font-size: 1.44rem;
        padding-bottom: 0.25em;
    }

    .content .minagawa {
        font-size: 1.4em;
        letter-spacing: 0.06em;
        line-height: 1.85;
        padding-top: 3.5em;
    }

    .content .signature {
        width: 66.6%;
        background-size: 35%;
        padding: 1.5% 0 0;
    }

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

    .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;
    }

}