body.page-id-35651 {
    background:#f5f2e9!important;
}

body.page-id-35651 .wp-site-blocks {
    padding:0!important;
}

body.page-id-35651 .wp-site-blocks>header,body.page-id-35651 .wp-site-blocks>footer,body.page-id-35651 .wp-block-post-title {
    display:none!important;
}

body.page-id-35651 .wp-site-blocks>main {
    margin:0!important;
    padding:0!important;
}

body.page-id-35651 .entry-content,body.page-id-35651 .wp-block-post-content {
    max-width:none!important;
    margin:0!important;
    padding:0!important;
}

body.page-id-35651 .entry-content>* {
    max-width:none!important;
}

.sn-home {
    --ink:#193e33;
    --paper:#f5f2e9;
    --rust:#a64d35;
    background:var(--paper);
    color:var(--ink);
    font-family:system-ui,-apple-system,'Noto Sans JP',sans-serif;
    font-size:16px;
    line-height:1.9;
}

.sn-home * {
    box-sizing:border-box;
}

.sn-home a {
    color:inherit;
    text-decoration:none;
}

.sn-home a:hover {
    text-decoration:underline;
    text-underline-offset:5px;
}

.sn-home h1,.sn-home h2,.sn-home h3,.sn-home p {
    margin:0;
}

.sn-home h1,.sn-home h2 {
    font-family:'Yu Mincho','Hiragino Mincho ProN',serif;
    font-weight:600;
}

.sn-wrap {
    max-width:1180px;
    margin:auto;
    padding:0 48px;
}

.sn-top {
    background:var(--ink);
    color:#fff8e8;
}

.sn-nav {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:28px 0;
    gap:24px;
}

.sn-logo {
    font-size:32px;
    font-weight:800;
    letter-spacing:.12em;
}

.sn-nav-links {
    display:flex;
    gap:30px;
    font-size:13px;
}

.sn-hero {
    position:relative;
    min-height:680px;
    overflow:hidden;
}

.sn-hero-img {
    position:absolute;
    right:0;
    top:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:70% 50%;
    opacity:.95;
}

.sn-hero-copy {
    position:relative;
    padding:64px 0 85px;
    max-width:570px;
    text-shadow:0 2px 16px #193e33;
}

.sn-kicker {
    font-size:12px;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--rust);
    font-weight:700;
}

.sn-hero .sn-kicker {
    color:#e9c492;
}

.sn-hero h1 {
    font-size:54px;
    line-height:1.55;
    letter-spacing:.045em;
    margin:22px 0 25px;
}

.sn-hero p {
    font-size:15px;
    line-height:2.1;
    max-width:345px;
}

.sn-link {
    display:inline-block;
    font-size:14px;
    border-bottom:1px solid;
    padding:8px 0;
    margin-top:28px;
}

.sn-scroll {
    padding:18px 0;
    border-top:1px solid #ffffff28;
    font-size:12px;
    letter-spacing:.08em;
}

.sn-section {
    padding:105px 0;
}

.sn-intro {
    display:grid;
    grid-template-columns:1fr 1.15fr;
    gap:100px;
    align-items:start;
}

.sn-home h2 {
    font-size:clamp(29px,3.2vw,43px);
    line-height:1.65;
    letter-spacing:.03em;
    margin-top:14px;
}

.sn-prose p+p {
    margin-top:20px;
}

.sn-prose {
    font-size:15px;
    line-height:2.15;
}

.sn-heading {
    display:flex;
    justify-content:space-between;
    gap:30px;
    align-items:end;
    margin-bottom:42px;
}

.sn-heading p {
    font-size:14px;
    max-width:340px;
}

.sn-stories {
    background:#e8ebe0;
}

.sn-live-list {
    list-style:none!important;
    padding:0!important;
    margin:0!important;
    display:grid!important;
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    background:#bdc9ba;
    counter-reset:story;
}

.sn-live-list li {
    margin:0!important;
    padding:30px!important;
    background:#f7f7ee;
    counter-increment:story;
    min-width:0;
}

.sn-live-list li:before {
    content:'0' counter(story);
    display:block;
    font-family:Georgia,serif;
    font-size:30px;
    color:#a64d35;
    margin-bottom:14px;
}

.sn-live-list .wp-block-latest-posts__post-title {
    font-size:19px;
    font-weight:700;
    line-height:1.7;
    display:block;
}

.sn-live-list time {
    font-size:12px;
    margin-top:12px;
    color:#6b776d;
}

.sn-live-list .wp-block-latest-posts__post-excerpt {
    font-size:13px;
    line-height:1.9;
    margin:16px 0 0;
}

.sn-live-list .wp-block-latest-posts__read-more {
    display:block;
    margin-top:12px;
    color:#a64d35;
}

.sn-categories {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
    margin-top:38px;
}

.sn-cat {
    display:block;
    border-top:1px solid #8da091;
    padding:22px 0;
}

.sn-cat b {
    display:block;
    font-family:'Yu Mincho',serif;
    font-size:23px;
}

.sn-cat span {
    display:block;
    font-size:13px;
    line-height:1.9;
    margin-top:12px;
}

.sn-cat small {
    display:block;
    color:var(--rust);
    font-size:12px;
    margin-bottom:14px;
    letter-spacing:.12em;
}

.sn-mission {
    background:var(--ink);
    color:#fff8e8;
}

.sn-mission .sn-kicker {
    color:#e9c492;
}

.sn-promises {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:42px;
    margin-top:50px;
}

.sn-promise {
    border-top:1px solid #ffffff50;
    padding-top:24px;
}

.sn-promise b {
    display:block;
    font-size:19px;
    margin-bottom:16px;
}

.sn-promise p {
    font-size:14px;
    line-height:2;
}

.sn-number {
    font-family:Georgia,serif;
    color:#e9c492;
    font-size:17px;
    display:block;
    margin-bottom:18px;
}

.sn-search {
    display:flex;
    gap:12px;
    max-width:580px;
    margin:35px auto 0;
}

.sn-search input {
    min-width:0;
    flex:1;
    padding:16px;
    border:1px solid #8da091;
    background:#fffdf7;
    color:var(--ink);
    font:inherit;
}

.sn-search button {
    padding:12px 24px;
    background:var(--ink);
    color:#fff8e8;
    border:0;
    font:inherit;
    cursor:pointer;
}

.sn-discover {
    text-align:center;
    padding:80px 0;
}

.sn-footer {
    border-top:1px solid #bec6b9;
    padding:32px 0;
}

.sn-footer .sn-wrap {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}

.sn-footer-links {
    font-size:12px;
    display:flex;
    gap:24px;
}

.sn-footer small {
    font-size:11px;
    color:#68786b;
}

.sn-home a:focus-visible,.sn-home button:focus-visible,.sn-home input:focus-visible {
    outline:3px solid #bd6b48;
    outline-offset:5px;
}

@media(max-width:800px) {
    .sn-wrap {
        padding:0 25px;
    }

    .sn-nav {
        padding:20px 0;
    }

    .sn-logo {
        font-size:25px;
    }

    .sn-nav-links {
        gap:15px;
        font-size:11px;
    }

    .sn-hero {
        min-height:690px;
    }

    .sn-hero-img {
        object-position:68% 100%;
        height:70%;
        top:auto;
        bottom:0;
    }

    .sn-hero-copy {
        padding:38px 0 330px;
    }

    .sn-hero h1 {
        font-size:36px;
        margin:18px 0;
    }

    .sn-hero p {
        font-size:13px;
        max-width:290px;
    }

    .sn-section {
        padding:65px 0;
    }

    .sn-intro {
        grid-template-columns:1fr;
        gap:30px;
    }

    .sn-heading {
        display:block;
    }

    .sn-heading p {
        margin-top:18px;
    }

    .sn-live-list {
        grid-template-columns:repeat(2,1fr);
    }

    .sn-live-list li {
        padding:22px!important;
    }

    .sn-categories {
        grid-template-columns:repeat(2,1fr);
        gap:20px 30px;
    }

    .sn-promises {
        grid-template-columns:1fr;
        gap:28px;
        margin-top:32px;
    }

    .sn-footer .sn-wrap {
        align-items:start;
        flex-direction:column;
    }

    .sn-discover {
        padding:60px 0;
    }

}

@media(max-width:480px) {
    .sn-nav-links a:first-child {
        display:none;
    }

    .sn-hero h1 {
        font-size:31px;
    }

    .sn-live-list {
        grid-template-columns:1fr;
    }

    .sn-live-list li {
        min-height:0;
    }

    .sn-categories {
        gap:20px;
    }

    .sn-cat b {
        font-size:20px;
    }

    .sn-search {
        gap:8px;
    }

    .sn-search button {
        padding:12px 18px;
    }

}

.sn-hero:after {
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(25,62,51,.55) 0%,rgba(25,62,51,.2) 35%,transparent 58%);
    pointer-events:none;
}

.sn-hero-copy {
    z-index:1;
}

.sn-all-stories {
    text-align:center;
    margin-top:30px;
}

@media(max-width:800px) {
    .sn-hero:after {
        background:linear-gradient(180deg,#193e33 0%,rgba(25,62,51,.88) 35%,transparent 65%);
    }

}

.sn-logo {
    white-space:nowrap;
    flex-shrink:0;
}

.sn-nav-links a {
    white-space:nowrap;
}

@media(max-width:480px) {
    .sn-logo {
        font-size:22px;
    }

    .sn-nav {
        gap:14px;
    }

    .sn-nav-links {
        font-size:10px;
        gap:12px;
    }

}

.sn-vision {
    position:relative;
    isolation:isolate;
    overflow:hidden;
    background:#193e33;
    color:#fff8e8;
    min-height:600px;
    display:flex;
    align-items:center;
}

.sn-vision-img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    z-index:-2;
}

.sn-vision:before {
    content:'';
    position:absolute;
    inset:0;
    z-index:-1;
    background:linear-gradient(90deg,rgba(12,34,26,.86),rgba(12,34,26,.70) 44%,rgba(12,34,26,.08) 85%);
}

.sn-vision .sn-wrap {
    width:100%;
    padding-top:95px;
    padding-bottom:95px;
}

.sn-vision .sn-kicker {
    color:#e8c496;
}

.sn-vision h2 {
    font-size:46px;
    line-height:1.7;
    letter-spacing:.04em;
    margin:20px 0 30px;
}

.sn-vision-copy {
    max-width:535px;
}

.sn-vision-copy p {
    font-size:15px;
    line-height:2.15;
}

.sn-vision-copy p+p {
    margin-top:18px;
}

.sn-vision-note {
    margin-top:32px;
    font-size:12px;
    letter-spacing:.14em;
    border-top:1px solid #fff8e855;
    padding-top:20px;
}

@media(max-width:800px) {
    .sn-vision {
        min-height:670px;
    }

    .sn-vision .sn-wrap {
        padding-top:65px;
        padding-bottom:65px;
    }

    .sn-vision h2 {
        font-size:33px;
    }

    .sn-vision:before {
        background:rgba(12,34,26,.72);
    }

    .sn-vision-copy p {
        font-size:14px;
    }

    .sn-vision-img {
        object-position:60% center;
    }

}

@media(max-width:480px) {
    .sn-vision h2 {
        font-size:29px;
    }

    .sn-vision-note {
        letter-spacing:.06em;
    }

}

@media(min-width:801px) {
    .sn-hero-img {
        transform:translateX(-3.5%) scale(1.09);
        transform-origin:center center;
    }

    .sn-hero:after {
        background:linear-gradient(90deg,rgba(25,62,51,.62) 0%,rgba(25,62,51,.24) 35%,transparent 60%);
    }

}

.sn-explore {
    padding:110px 0 100px;
    background:#f5f2e9;
}

.sn-explore-feature {
    display:grid;
    grid-template-columns:1.08fr 1fr;
    gap:75px;
    align-items:center;
    margin-bottom:70px;
}

.sn-explore-photo {
    position:relative;
    margin:0;
}

.sn-explore-photo img {
    display:block;
    width:100%;
    height:540px;
    object-fit:cover;
    border-radius:2px 90px 2px 2px;
}

.sn-explore-photo figcaption {
    font-size:11px;
    color:#72806f;
    margin-top:12px;
    letter-spacing:.04em;
}

.sn-explore-photo:before {
    content:'';
    position:absolute;
    left:-14px;
    bottom:43px;
    width:100px;
    height:100px;
    border-left:1px solid #a64d35;
    border-bottom:1px solid #a64d35;
    pointer-events:none;
}

.sn-explore-copy h2 {
    font-size:39px;
    line-height:1.7;
    margin:18px 0 25px;
}

.sn-explore-copy p {
    font-size:15px;
    line-height:2.15;
}

.sn-explore-copy p+p {
    margin-top:18px;
}

.sn-explore-note {
    font-size:12px;
    letter-spacing:.08em;
    color:#a64d35;
    margin-top:28px;
}

.sn-path-heading {
    border-top:1px solid #bfccb9;
    padding-top:25px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    margin-bottom:25px;
}

.sn-path-heading b {
    font-size:17px;
}

.sn-path-heading span {
    font-size:12px;
    color:#6e7e6c;
}

.sn-path-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}

.sn-path {
    display:flex;
    flex-direction:column;
    position:relative;
    border:1px solid #c6d0c0;
    min-height:280px;
    padding:26px 22px;
    background:#faf9f2;
    transition:background .2s,border-color .2s,transform .2s;
}

.sn-home .sn-path:hover {
    background:#e8eddf;
    border-color:#7e9479;
    transform:translateY(-3px);
    text-decoration:none;
}

.sn-path-number {
    font-family:Georgia,serif;
    font-size:13px;
    color:#a64d35;
    letter-spacing:.08em;
    display:block;
    margin-bottom:22px;
}

.sn-path h3 {
    font-size:21px;
    line-height:1.6;
    margin:0 0 15px;
}

.sn-path p {
    font-size:13px;
    line-height:1.95;
    margin:0 0 20px;
}

.sn-path-go {
    margin-top:auto;
    font-size:12px;
    display:flex;
    justify-content:space-between;
    gap:12px;
    border-top:1px solid #d3dccd;
    padding-top:14px;
}

.sn-path-arrow {
    font-size:18px;
    line-height:1;
}

.sn-explore-more {
    display:flex;
    gap:18px;
    flex-wrap:wrap;
    margin-top:30px;
    align-items:center;
    font-size:12px;
    color:#60735e;
}

.sn-explore-more a {
    border-bottom:1px solid #a6b69e;
    padding:3px 0;
}

.sn-explore-more>span {
    margin-right:5px;
}

@media(max-width:950px) {
    .sn-explore-feature {
        gap:40px;
    }

    .sn-explore-copy h2 {
        font-size:33px;
    }

    .sn-path-grid {
        grid-template-columns:repeat(2,1fr);
    }

    .sn-path {
        min-height:245px;
    }

    .sn-explore-photo img {
        height:510px;
    }

}

@media(max-width:600px) {
    .sn-explore {
        padding:65px 0;
    }

    .sn-explore-feature {
        grid-template-columns:1fr;
        gap:32px;
        margin-bottom:45px;
    }

    .sn-explore-photo img {
        height:320px;
        border-top-right-radius:65px;
    }

    .sn-explore-photo:before {
        left:-8px;
    }

    .sn-explore-copy h2 {
        font-size:30px;
    }

    .sn-explore-copy p {
        font-size:14px;
    }

    .sn-path-heading {
        align-items:start;
        flex-direction:column;
        gap:5px;
    }

    .sn-path-grid {
        gap:12px;
    }

    .sn-path {
        padding:20px 15px;
        min-height:285px;
    }

    .sn-path h3 {
        font-size:18px;
    }

    .sn-path-number {
        margin-bottom:15px;
    }

    .sn-path p {
        font-size:12px;
    }

    .sn-path-go {
        font-size:11px;
    }

}

@media(prefers-reduced-motion:reduce) {
    .sn-path {
        transition:none;
    }

    .sn-home .sn-path:hover {
        transform:none;
    }

}

/* Sorenani motion enhancement */
.sn-home {
    position:relative;
    overflow-x:clip;
}

.sn-home section {
    scroll-margin-top:32px;
}

.sn-home .sn-motion-reveal {
    opacity:1;
}

.sn-motion-ready .sn-motion-reveal {
    transition:opacity .8s ease,translate .8s cubic-bezier(.22,1,.36,1);
    translate:0 24px;
    opacity:0;
}

.sn-motion-ready .sn-motion-reveal.sn-motion-visible {
    translate:0 0;
    opacity:1;
}

.sn-home #about {
    position:relative;
    isolation:isolate;
    overflow:hidden;
}

.sn-home #about:before,.sn-home #about:after {
    content:'';
    position:absolute;
    border-radius:50%;
    background:#e9c65c;
    pointer-events:none;
    z-index:-1;
    animation:sn-drift 17s ease-in-out infinite alternate;
}

.sn-home #about:before {
    width:150px;
    height:150px;
    left:2%;
    top:45px;
    opacity:.26;
}

.sn-home #about:after {
    width:52px;
    height:52px;
    right:5%;
    bottom:42px;
    opacity:.55;
    animation-duration:23s;
    animation-direction:alternate-reverse;
}

.sn-home .sn-explore-photo {
    overflow:hidden;
    border-radius:2px 90px 2px 2px;
}

.sn-home .sn-explore-photo img {
    transition:scale .7s cubic-bezier(.22,1,.36,1);
}

.sn-home .sn-path,.sn-home .sn-live-list li {
    transition:translate .35s ease,box-shadow .35s ease,background .35s ease;
}

.sn-home .sn-path:hover {
    transform:none;
}

.sn-home .sn-path:focus-visible {
    translate:0 -5px;
    box-shadow:0 16px 30px #193e3318;
}

.sn-motion-cta {
    display:flex;
    align-items:center;
    gap:12px;
    position:fixed;
    right:26px;
    bottom:26px;
    z-index:90;
    border:1px solid #fff8e880;
    border-radius:999px;
    padding:13px 20px;
    background:#193e33;
    color:#fff8e8!important;
    font-size:13px;
    font-weight:700;
    box-shadow:0 8px 28px #0c221a30;
    transition:opacity .3s ease,translate .3s ease;
    opacity:1;
    translate:0 0;
}

.sn-motion-cta span:last-child {
    display:grid;
    place-items:center;
    width:26px;
    height:26px;
    border-radius:50%;
    background:#e9c65c;
    color:#193e33;
    font-size:17px;
}

.sn-motion-cta[hidden] {
    display:none!important;
}

.sn-home .sn-motion-cta:hover {
    text-decoration:none;
    background:#285445;
}

.sn-home .sn-motion-cta:focus-visible {
    outline:3px solid #e9c65c;
    outline-offset:4px;
}

@media(hover:hover) and (pointer:fine) {
    .sn-home .sn-path:hover,.sn-home .sn-live-list li:hover {
        translate:0 -6px;
        box-shadow:0 16px 30px #193e3318;
        position:relative;
        z-index:1;
    }

    .sn-home .sn-explore-photo:hover img {
        scale:1.045;
    }

}

@keyframes sn-drift {
    from {
        transform:translate(0,0);
    }

    to {
        transform:translate(30px,-20px);
    }

}

@media(max-width:600px) {
    .sn-motion-cta {
        right:16px;
        bottom:max(16px,env(safe-area-inset-bottom));
        font-size:12px;
        padding:10px 15px;
    }

    .sn-home #about:before {
        width:105px;
        height:105px;
        left:-30px;
        top:25px;
    }

    .sn-home .sn-explore-photo {
        border-top-right-radius:65px;
    }

}

@media(prefers-reduced-motion:reduce) {
    .sn-motion-ready .sn-motion-reveal {
        opacity:1!important;
        translate:none!important;
        transition:none!important;
    }

    .sn-home #about:before,.sn-home #about:after {
        animation:none!important;
    }

    .sn-home .sn-path,.sn-home .sn-live-list li,.sn-home .sn-explore-photo img,.sn-motion-cta {
        transition:none!important;
        translate:none!important;
        scale:1!important;
    }

    .sn-home {
        scroll-behavior:auto;
    }

}

.sn-home .sn-help-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
}

.sn-home .sn-help-card {
    display:block;
    padding:32px;
    border:1px solid #bfcbbd;
    border-radius:16px;
    text-decoration:none;
    color:#193e33;
    background:#fffdf7;
}

.sn-home .sn-help-card h3 {
    font-size:23px;
    line-height:1.5;
    margin:0 0 14px;
}

.sn-home .sn-help-card p {
    font-size:15px;
    line-height:1.9;
    margin:0 0 20px;
}

.sn-home .sn-help-card span {
    font-size:14px;
    font-weight:700;
}

.sn-home .sn-help-card:hover {
    border-color:#193e33;
}

.sn-home .sn-footer-links {
    flex-wrap:wrap;
}

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

    .sn-home .sn-help-card {
        padding:24px;
    }

}

.sn-home .sn-help {
    padding:64px 0;
    background:var(--paper);
}

.sn-home .sn-help-title {
    font-size:clamp(26px,3vw,38px);
    line-height:1.5;
    margin:0 0 28px;
}

