.sn-inner {
    color:#193e33;
    font-size:16px;
    line-height:2;
}

.sn-inner h2 {
    font-family:'Yu Mincho','Hiragino Mincho ProN',serif;
    font-size:28px;
    line-height:1.6;
    margin:48px 0 18px;
}

.sn-inner h3 {
    font-size:19px;
    margin:30px 0 12px;
}

.sn-inner p {
    margin:0 0 18px;
}

.sn-inner a {
    color:#8e422d;
    text-underline-offset:4px;
}

.sn-inner .sn-lead {
    font-size:18px;
}

.sn-inner .sn-box {
    background:#e8ebe0;
    border-left:3px solid #8da091;
    padding:24px;
    margin:28px 0;
}

.sn-inner ul {
    padding-left:1.3em;
}

.sn-inner li {
    margin-bottom:10px;
}

.sn-inner .sn-small {
    font-size:13px;
    color:#637365;
}

.sn-inner .wpcf7 {
    padding-top:10px;
}

.sn-inner .wpcf7 label {
    display:block;
    font-size:14px;
    font-weight:600;
}

.sn-inner .wpcf7 input:not([type=checkbox]):not([type=radio]):not([type=submit]),.sn-inner .wpcf7 textarea {
    width:100%;
    max-width:100%;
    padding:14px;
    background:#fffdf7;
    border:1px solid #9aa995;
    border-radius:3px;
    color:#193e33;
    font:inherit;
    box-sizing:border-box;
    margin-top:8px;
}

.sn-inner .wpcf7 textarea {
    height:180px;
}

.sn-inner .wpcf7-list-item {
    display:block;
    margin:8px 0;
}

.sn-inner .wpcf7 input[type=submit] {
    background:#193e33;
    color:#fff8e8;
    border:0;
    padding:15px 30px;
    font:inherit;
    cursor:pointer;
    border-radius:3px;
}

.sn-inner .wpcf7 input:focus-visible,.sn-inner .wpcf7 textarea:focus-visible {
    outline:2px solid #a64d35;
    outline-offset:3px;
}

.sn-inner .sn-page-end {
    margin-top:50px;
    border-top:1px solid #bac8b7;
    padding-top:24px;
}

@media(max-width:600px) {
    .sn-inner h2 {
        font-size:25px;
    }

    .sn-inner .sn-lead {
        font-size:16px;
    }

    .sn-inner .sn-box {
        padding:18px;
    }

    .sn-inner {
        font-size:15px;
    }

}

body.page-id-70 .wp-block-post-title {
    font-size:40px;
    line-height:1.6;
}

@media(max-width:600px) {
    body.page-id-70 .wp-block-post-title {
        font-size:28px;
    }

}

.sn-info {
    font-family:system-ui,-apple-system,"Noto Sans JP",sans-serif;
    font-size:16px;
    line-height:1.9;
    color:#193e33;
}

.sn-info p {
    font-size:inherit;
    line-height:inherit;
    margin:0 0 20px;
}

.sn-info h2 {
    font-family:inherit;
    font-size:26px;
    font-weight:700;
    line-height:1.5;
    margin:44px 0 18px;
}

.sn-info h3 {
    font-family:inherit;
    font-size:21px;
    line-height:1.5;
    margin:0 0 12px;
}

.sn-info .sn-kicker {
    font-size:12px;
    letter-spacing:.12em;
    color:#63766b;
}

.sn-guide-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
}

.sn-guide-card {
    padding:28px;
    background:#fffdf7;
    border:1px solid #d6dccc;
    border-radius:16px;
}

.sn-guide-card p {
    margin-bottom:16px;
}

.sn-guide-card a {
    display:inline-block;
    margin:4px 0;
    font-weight:600;
    text-underline-offset:4px;
}

.sn-info .sn-read-note {
    padding:24px;
    border-left:4px solid #c5a647;
    background:#eeedde;
    border-radius:0 12px 12px 0;
}

.sn-faq details {
    border-bottom:1px solid #d6dccc;
    padding:20px 0;
}

.sn-faq summary {
    cursor:pointer;
    font-weight:700;
    line-height:1.7;
    padding:4px 30px 4px 0;
}

.sn-faq details p {
    margin:16px 0 0;
    color:#42564a;
}

.sn-info-links {
    display:flex;
    flex-wrap:wrap;
    gap:16px;
    margin-top:32px;
}

.sn-info-links a {
    display:inline-flex;
    min-height:48px;
    align-items:center;
    padding:0 22px;
    border:1px solid #193e33;
    border-radius:999px;
    font-size:14px;
    font-weight:700;
    text-decoration:none;
}

@media(max-width:767px) {
    .sn-guide-grid {
        grid-template-columns:1fr;
        gap:16px;
    }

    .sn-guide-card {
        padding:22px;
    }

    .sn-info h2 {
        font-size:22px;
        margin-top:34px;
    }

    .sn-info h3 {
        font-size:19px;
    }

    .sn-info .sn-read-note {
        padding:20px;
    }

}

.sn-policy-section {
    margin:44px 0;
}

.sn-info .sn-policy-section h2 {
    margin:0 0 20px;
}

.sn-policy-grid {
    display:grid;
    grid-template-columns:minmax(0,320px) minmax(0,1fr);
    gap:32px;
    align-items:start;
}

.sn-policy-grid figure {
    margin:0!important;
}

.sn-policy-grid img {
    display:block;
    width:100%;
    height:auto;
    border-radius:12px;
}

.sn-policy-grid figcaption {
    font-size:11px;
    line-height:1.6;
    margin-top:8px;
    color:#63766b;
}

.sn-policy-grid p:last-child {
    margin-bottom:0;
}

@media(max-width:767px) {
    .sn-policy-section {
        margin:34px 0;
    }

    .sn-policy-grid {
        grid-template-columns:1fr;
        gap:20px;
    }

    .sn-policy-grid figure {
        max-width:480px;
    }

    .sn-info .sn-policy-section h2 {
        margin-bottom:18px;
    }

}

