
    :root {
      --green:#26724C;--green-deep:#133E2C;--green-soft:#DCECDF;
      --blue:#78B9D2;--sky:#DCEFF5;--coral:#D9654A;--amber:#DDA34A;
      --paper:#FBF9F2;--white:#FFFFFF;--ink:#17251E;--body:#425149;--wood:#8B5E3C;--wood-soft:#C5A06F;
      --muted:#5E6C64;--line:#D8E1DA;--radius:24px;--shadow:0 28px 70px -44px rgba(19,62,44,.45);
      --control-shadow:0 12px 28px -20px rgba(19,62,44,.62);--control-shadow-hover:0 20px 38px -22px rgba(19,62,44,.68);
      --font-body:"Zen Kaku Gothic New","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,Meiryo,sans-serif;
      --font-display:var(--font-body);
      --font-en:"Space Grotesk",sans-serif;
    }
    *,*::before,*::after{box-sizing:border-box}
    html{scroll-behavior:smooth;scroll-padding-top:160px}
    body{margin:0;background:var(--paper);color:var(--body);font-family:var(--font-body);font-size:17px;font-weight:400;line-height:1.78;letter-spacing:0;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
    body.menu-open{overflow:hidden}
    img{display:block;max-width:100%}
    a{color:inherit}
    a[href],button,summary{cursor:pointer}
    button,input,summary{font:inherit}
    h1,h2,h3,.lead,.btn,summary{word-break:auto-phrase;text-wrap:pretty}
    h1,h2,h3{color:var(--ink);font-family:var(--font-display);font-weight:700;line-height:1.35;letter-spacing:-.025em;font-kerning:normal;margin-top:0}
    h1{font-size:clamp(38px,5.4vw,66px)} h2{font-size:clamp(30px,4.1vw,48px)} h3{font-size:clamp(21px,2.3vw,28px)}
    p{margin:0 0 1.25em}
    .skip-link{position:fixed;left:16px;top:12px;z-index:9999;padding:10px 16px;background:var(--ink);color:#fff;transform:translateY(-160%);transition:transform .2s}
    .skip-link:focus{transform:none}
    :focus-visible{outline:3px solid var(--amber);outline-offset:4px}
    .mono{font-family:var(--font-en)}
    .container{width:min(1160px,calc(100% - 56px));margin-inline:auto}
    .section{position:relative;padding:92px 0}
    .eyebrow{display:block;margin-bottom:16px;color:var(--green);font:700 12px/1.2 'Space Grotesk',sans-serif;letter-spacing:.24em;text-transform:uppercase}
    .section-head{max-width:780px;margin-bottom:44px}
    .section-head h2::after{content:"";display:block;width:88px;height:3px;margin-top:20px;background:linear-gradient(90deg,var(--wood) 0 52px,transparent 52px 61px,var(--wood-soft) 61px)}
    .section-head p{max-width:650px;color:var(--body)}
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:13px 24px;border:1px solid transparent;border-radius:999px;background:var(--green);box-shadow:var(--control-shadow);color:#fff;text-decoration:none;font-weight:600;line-height:1.4;transition:transform .25s,background .25s,box-shadow .25s,border-color .25s}
    .btn--arrow::after{content:"\2192";font-family:var(--font-en);font-weight:600;transition:transform .25s}
    .btn--arrow:hover::after,.btn--arrow:focus-visible::after{transform:translateX(4px)}
    .btn:hover,.btn:focus-visible{transform:translateY(-2px);background:var(--green-deep);box-shadow:var(--control-shadow-hover)}
    .btn--light{background:#fff;border-color:rgba(19,62,44,.12);color:var(--green-deep)}
    .btn--line{background:rgba(255,255,255,.66);color:var(--green-deep);border-color:currentColor;box-shadow:none}
    .btn--line:hover,.btn--line:focus-visible{background:var(--green-deep);border-color:var(--green-deep);color:#fff}
    .rule-index{display:flex;align-items:center;gap:16px;margin-bottom:20px;color:var(--green);font:700 12px/1 'Space Grotesk',sans-serif;letter-spacing:.18em}
    .rule-index::after{content:"";width:74px;height:1px;background:currentColor}

    /* header-04 + spmenu-03 transplant */
    .site-header{position:sticky;top:0;z-index:100;background:linear-gradient(rgba(251,249,242,.94),rgba(251,249,242,.94)),url('../../images/texture-1.jpg') center/420px;border-bottom:1px solid rgba(139,94,60,.2);box-shadow:0 10px 32px -26px rgba(19,62,44,.5);backdrop-filter:blur(14px);transition:background .35s ease,box-shadow .35s ease,border-color .35s ease}
    .site-header.is-scrolled{background:rgba(251,249,242,.72);border-color:rgba(139,94,60,.12);box-shadow:0 16px 38px -24px rgba(19,62,44,.4);backdrop-filter:blur(18px) saturate(1.08)}
    .header-top{width:min(1240px,calc(100% - 48px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:15px 0;transition:padding .35s ease}
    .brand{display:flex;align-items:center;min-height:44px;text-decoration:none;color:var(--green-deep)}
    .brand-logo{display:block;width:clamp(196px,18vw,248px);height:auto;transition:width .35s ease}
    .header-contact{display:flex;align-items:center;gap:18px}
    .header-tel{text-decoration:none;color:var(--green-deep);font:600 21px/1.2 'Space Grotesk',sans-serif;white-space:nowrap}
    .header-tel small{display:block;color:var(--muted);font:500 10px/1.4 var(--font-body);text-align:center}
    .global-nav{background:#EEF5EE;transition:background .35s ease}
    .global-nav ul{width:min(1120px,calc(100% - 56px));margin:auto;padding:9px 0;display:flex;align-items:center;justify-content:center;gap:4px;list-style:none;transition:padding .35s ease}
    .global-nav a{position:relative;display:block;padding:10px 13px;border-radius:999px;text-decoration:none;color:var(--green-deep);font-size:14px;font-weight:600;letter-spacing:.01em;transition:padding .35s ease,background .25s ease,color .25s ease}
    .global-nav a:hover{background:#fff}
    .global-guide{position:relative}
    .global-guide__trigger{position:relative;display:block;padding:10px 13px;border:0;border-radius:999px;background:transparent;color:var(--green-deep);font:600 14px/1.85 var(--font-body);letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:padding .35s ease,background .25s ease}
    .global-guide__trigger::after{content:"";display:inline-block;width:6px;height:6px;margin:0 0 3px 9px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);transition:transform .2s}
    .global-guide:hover .global-guide__trigger,.global-guide.is-open .global-guide__trigger,.keyboard-nav .global-guide:focus-within .global-guide__trigger{background:linear-gradient(135deg,var(--green-deep),var(--green));box-shadow:0 12px 24px -18px rgba(19,62,44,.9);color:#fff}
    .global-guide:hover .global-guide__trigger::after,.global-guide.is-open .global-guide__trigger::after,.keyboard-nav .global-guide:focus-within .global-guide__trigger::after{transform:translateY(3px) rotate(225deg)}
    .global-guide__panel{position:absolute;left:50%;right:auto;top:calc(100% + 8px);z-index:95;width:min(680px,calc(100vw - 32px));padding:0;background:linear-gradient(145deg,rgba(255,255,255,.985),rgba(247,242,230,.985));border:1px solid rgba(139,94,60,.22);border-radius:8px;box-shadow:0 28px 58px -30px rgba(9,29,20,.58),0 8px 20px -18px rgba(139,94,60,.45);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,12px) scale(.975);transform-origin:50% 0;transition:opacity .18s ease,transform .32s cubic-bezier(.2,.78,.22,1),visibility 0s linear .32s;backdrop-filter:blur(18px) saturate(1.06)}
    .global-guide__panel::before{content:"";position:absolute;top:-6px;left:50%;width:11px;height:11px;background:rgba(251,249,242,.99);border-top:1px solid var(--line);border-left:1px solid var(--line);transform:translateX(-50%) rotate(45deg)}
    .global-guide__panel::after{content:"";position:absolute;left:0;right:0;top:-9px;height:9px}
    .global-guide:hover .global-guide__panel,.global-guide.is-open .global-guide__panel,.keyboard-nav .global-guide:focus-within .global-guide__panel{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0) scale(1);transition-delay:0s}
    .global-nav:has(.global-guide:hover) .global-guide:not(:hover) .global-guide__panel{opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,8px) scale(.985);transition:none}
    .global-nav:has(.global-guide:hover) .global-guide:not(:hover) .global-guide__trigger{background:transparent;box-shadow:none;color:var(--green-deep);transition:none}
    .global-guide__trigger:focus-visible{outline:2px solid var(--green);outline-offset:2px}
    .global-guide__inner{position:relative;display:block;padding:20px 22px 22px}
    .global-guide__inner::before{content:"";position:absolute;top:0;left:22px;right:22px;height:2px;background:linear-gradient(90deg,var(--green-deep) 0 46%,var(--blue) 46% 72%,var(--amber) 72%)}
    .global-guide__lead{display:flex;align-items:center;gap:14px;margin-bottom:12px;padding-top:5px}
    .global-guide__lead::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,rgba(19,62,44,.28),transparent)}
    .global-guide__lead .eyebrow{margin-bottom:9px}
    .global-guide__lead strong{display:block;color:var(--ink);font-size:15px;font-weight:700;line-height:1.45}
    .global-guide__lead strong span{display:block;white-space:nowrap}
    .global-guide__lead p{margin:8px 0 0;color:var(--body);font-size:12px;line-height:1.7}
    .global-guide__index{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--green-deep)}
    .global-guide__index a{position:relative;display:block;padding:14px 14px;border-radius:0;border-bottom:1px solid var(--line);color:var(--ink);font-size:14px;opacity:0;transform:translateY(7px);transition:opacity .22s ease,transform .28s cubic-bezier(.2,.78,.22,1),background .22s ease,color .22s ease}
    .global-guide__index a::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:2px;background:var(--amber);transform:scaleY(0);transform-origin:center;transition:transform .22s ease}
    .global-guide__index a::after{content:"\2192";position:absolute;right:12px;top:50%;color:var(--amber);opacity:0;transform:translate(-7px,-50%);transition:opacity .22s ease,transform .22s ease}
    .global-guide:hover .global-guide__index a,.global-guide.is-open .global-guide__index a,.keyboard-nav .global-guide:focus-within .global-guide__index a{opacity:1;transform:translateY(0)}
    .global-guide:hover .global-guide__index a:nth-child(2),.global-guide.is-open .global-guide__index a:nth-child(2),.keyboard-nav .global-guide:focus-within .global-guide__index a:nth-child(2){transition-delay:.035s}
    .global-guide:hover .global-guide__index a:nth-child(3),.global-guide.is-open .global-guide__index a:nth-child(3),.keyboard-nav .global-guide:focus-within .global-guide__index a:nth-child(3){transition-delay:.07s}
    .global-guide__index a:hover,.global-guide__index a:focus-visible{padding-left:18px;padding-right:34px;background:linear-gradient(90deg,rgba(218,235,220,.72),rgba(255,255,255,.72));color:var(--green-deep);transform:translateY(-2px)}
    .global-guide__index a:hover::before,.global-guide__index a:focus-visible::before{transform:scaleY(1)}
    .global-guide__index a:hover::after,.global-guide__index a:focus-visible::after{opacity:1;transform:translate(0,-50%)}
    .global-guide__index b{display:block;font-weight:600}
    .global-guide__index em{display:block;margin-top:2px;color:var(--body);font-size:11px;font-style:normal;font-weight:500;line-height:1.6}
    .global-guide__index--compact{grid-template-columns:repeat(2,1fr)}
    .global-guide__index--three{grid-template-columns:repeat(3,1fr)}
    @media(prefers-reduced-motion:reduce){
      .global-guide__panel,.global-guide__index a,.global-guide__index a::before,.global-guide__index a::after{transition:none!important}
    }
    @media(min-width:981px) and (max-width:1100px){
      .global-guide__panel{width:500px}
      .global-guide__inner{padding-inline:18px}
      .global-guide__index a{padding-inline:10px}
    }
    .global-nav>ul>li>a[aria-current="page"],.global-guide__trigger.is-current{border-radius:0;background:transparent;color:#174f37;font-weight:700}
    .global-nav>ul>li>a[aria-current="page"]::before,.global-guide__trigger.is-current::before{content:"";position:absolute;left:50%;bottom:2px;width:28px;height:2px;background:linear-gradient(90deg,transparent,var(--amber) 24% 76%,transparent);transform:translateX(-50%);box-shadow:0 3px 9px rgba(227,165,61,.28)}
    .site-header.is-scrolled .header-top{padding:8px 0}
    .site-header.is-scrolled .brand-logo{width:200px}
    .site-header.is-scrolled .header-tel small{display:none}
    .site-header.is-scrolled .header-contact>.btn{min-height:46px;padding:10px 18px;font-size:13px}
    .site-header.is-scrolled .global-nav{background:rgba(238,245,238,.64)}
    .site-header.is-scrolled .global-nav ul{padding:4px 0}
    .site-header.is-scrolled .global-nav a,.site-header.is-scrolled .global-guide__trigger{padding-top:7px;padding-bottom:7px}
    .menu-toggle{display:none;width:46px;height:46px;border:0;border-radius:50%;background:var(--green);position:relative;z-index:110;cursor:pointer}
    .menu-toggle i{position:absolute;left:14px;width:18px;height:2px;background:#fff;transition:.3s}.menu-toggle i:nth-child(1){top:16px}.menu-toggle i:nth-child(2){top:22px}.menu-toggle i:nth-child(3){top:28px}
    .menu-open .menu-toggle i:nth-child(1){top:22px;transform:rotate(45deg)}.menu-open .menu-toggle i:nth-child(2){opacity:0}.menu-open .menu-toggle i:nth-child(3){top:22px;transform:rotate(-45deg)}
    .sp-nav{display:none}.sp-nav a[aria-current="page"]{color:#F1CE87;border-bottom-color:rgba(241,206,135,.46)}

    /* FV-19 Duotone + full-bleed five-slide hero. Photos remain provisional until rights and currentness are confirmed. */
    .hero{--hero-height:clamp(820px,calc(100svh - 149px),1080px);width:100%;min-height:var(--hero-height);position:relative;overflow:hidden;background:var(--green-deep);color:#fff}
    .hero::after{content:"";position:absolute;inset:auto 0 0;height:8px;background:linear-gradient(90deg,var(--green) 0 48%,var(--blue) 48% 73%,var(--amber) 73%)}
    .hero-inner{position:relative;z-index:1;width:100%;min-height:var(--hero-height);margin:auto}
    .hero-copy{position:relative;z-index:7;width:min(1360px,calc(100% - 64px));min-height:var(--hero-height);margin:auto;padding:104px 0 128px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;pointer-events:none;text-shadow:0 3px 32px rgba(4,17,11,.42)}
    .hero-copy .eyebrow{margin-bottom:22px;color:#F3D89B}
    .hero-copy h1{max-width:850px;margin-bottom:24px;color:#fff;font-size:clamp(42px,5.5vw,76px);letter-spacing:-.035em}
    .hero-title-line{display:block;white-space:nowrap}
    .hero-copy .lead{max-width:650px;font-size:18px;line-height:2;color:rgba(255,255,255,.9)}
    .hero-motion-ready .hero-copy>.eyebrow{animation:hero-copy-in .75s .12s cubic-bezier(.2,.7,.2,1) both}
    .hero-motion-ready .hero-copy>h1{animation:hero-copy-in .9s .2s cubic-bezier(.2,.7,.2,1) both}
    .hero-motion-ready .hero-copy>.lead{animation:hero-copy-in .85s .32s cubic-bezier(.2,.7,.2,1) both}
    .hero-motion-ready .hero-copy>.hero-actions{animation:hero-copy-in .85s .44s cubic-bezier(.2,.7,.2,1) both}
    /* After either splash, let the five-slide image finish its color reveal before any copy or action appears. */
    .splash-active .hero-copy>.eyebrow,.splash-active .hero-copy>h1,.splash-active .hero-copy>.lead,.splash-active .hero-copy>.hero-actions,.entry-hero-sequence .hero-copy>.eyebrow,.entry-hero-sequence .hero-copy>h1,.entry-hero-sequence .hero-copy>.lead,.entry-hero-sequence .hero-copy>.hero-actions{opacity:0}
    .entry-hero-sequence.hero-motion-ready .hero-copy>.eyebrow{animation-delay:.09s;animation-duration:2.1s}
    .entry-hero-sequence.hero-motion-ready .hero-copy>h1{animation-delay:.14s;animation-duration:2.3s}
    .entry-hero-sequence.hero-motion-ready .hero-copy>.lead{animation-delay:.2s;animation-duration:2.59s}
    .entry-hero-sequence.hero-motion-ready .hero-copy>.hero-actions{animation-delay:.26s;animation-duration:2.53s}
    .hero-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:34px;pointer-events:auto}
    .hero-actions .btn{background:var(--amber);box-shadow:0 18px 38px -22px rgba(0,0,0,.65);text-shadow:none}
    .hero-actions .btn:hover{background:#C9892C}
    .hero-actions .btn--line{background:rgba(10,35,24,.24);border-color:rgba(255,255,255,.72);color:#fff;backdrop-filter:blur(8px)}
    .hero-actions .btn--line:hover{background:#fff;color:var(--green-deep)}
    .hero-stage{position:absolute;inset:0;z-index:1;min-width:0}
    .hero-slider{position:relative;width:100%;height:100%;min-height:var(--hero-height);overflow:hidden;background:#DCECDF;isolation:isolate;touch-action:pan-y}
    .hero-slider::after{content:"";position:absolute;inset:0;z-index:3;background:url('../../images/deco-sports-corners.png') center/cover no-repeat;opacity:.19;pointer-events:none}
    .hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 2s ease,visibility 2s;overflow:hidden}
    .hero-slide.is-active{opacity:1;visibility:visible;z-index:2}
    .hero-slide__base,.hero-slide__color{position:absolute;inset:0;background-size:cover;background-position:var(--slide-position,center);transform:scale(var(--hero-scale-start,1.045));transition:transform 6.2s cubic-bezier(.2,.65,.25,1);will-change:transform}
    .hero-slide.is-active .hero-slide__base,.hero-slide.is-active .hero-slide__color{transform:scale(var(--hero-scale-end,1.008))}
    .hero-slide__base{background-image:var(--slide-tint),var(--slide-image);filter:grayscale(1) contrast(1.04) brightness(.8)}
    .hero-slide__color{background-image:var(--slide-image);clip-path:inset(0);filter:none;will-change:clip-path,transform}
    .hero-motion-ready .hero-slide__color{clip-path:inset(0)}
    .hero-motion-ready .hero-slide.is-active .hero-slide__color{animation:none}
    .hero-slide__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,24,16,.58) 0%,rgba(8,30,21,.22) 42%,rgba(8,28,19,.02) 72%,rgba(8,28,19,.05) 100%),linear-gradient(180deg,rgba(4,18,12,.02) 42%,rgba(4,18,12,.3) 100%)}
    .hero-slide__caption{position:absolute;z-index:4;right:max(32px,calc((100vw - 1360px)/2));bottom:52px;max-width:430px;color:#fff;text-align:right;text-shadow:0 2px 22px rgba(9,29,20,.45)}
    .hero-slide__caption small{display:block;margin-bottom:10px;color:#E8D29B;font:700 11px/1.2 var(--font-en);letter-spacing:.22em}
    .hero-slide__caption strong{display:block;font-size:clamp(25px,2.7vw,38px);font-weight:700;line-height:1.3;letter-spacing:-.02em}
    .hero-slide__caption span{display:block;margin-top:8px;font-size:14px;font-weight:500}
    .hero-motion-ready .hero-slide.is-active .hero-slide__caption small{animation:hero-caption-in .7s .45s cubic-bezier(.2,.7,.2,1) both}
    .hero-motion-ready .hero-slide.is-active .hero-slide__caption strong{animation:hero-caption-in .8s .55s cubic-bezier(.2,.7,.2,1) both}
    .hero-motion-ready .hero-slide.is-active .hero-slide__caption span{animation:hero-caption-in .8s .67s cubic-bezier(.2,.7,.2,1) both}
    .splash-active .hero-slide__caption small,.splash-active .hero-slide__caption strong,.splash-active .hero-slide__caption span,.entry-hero-sequence .hero-slide__caption small,.entry-hero-sequence .hero-slide__caption strong,.entry-hero-sequence .hero-slide__caption span{opacity:0}
    .entry-hero-sequence.hero-motion-ready .hero-slide.is-active .hero-slide__caption small{animation-delay:.09s;animation-duration:2.1s}
    .entry-hero-sequence.hero-motion-ready .hero-slide.is-active .hero-slide__caption strong{animation-delay:.14s;animation-duration:2.3s}
    .entry-hero-sequence.hero-motion-ready .hero-slide.is-active .hero-slide__caption span{animation-delay:.2s;animation-duration:2.59s}
    @keyframes hero-color-sweep{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
    @keyframes hero-caption-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
    @keyframes hero-copy-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
    .hero-slider__controls{position:absolute;z-index:10;left:50%;bottom:30px;display:none;align-items:center;gap:10px;padding:0;background:transparent;filter:drop-shadow(0 2px 8px rgba(0,0,0,.34));transform:translateX(-50%)}
    .hero-slider.is-ready .hero-slider__controls{display:flex}
    .splash-active .hero-slider__controls,.entry-hero-sequence .hero-slider__controls{opacity:0;visibility:hidden}
    .entry-hero-sequence.hero-motion-ready .hero-slider.is-ready .hero-slider__controls{animation:hero-controls-in 2.53s .26s ease-out both}
    @keyframes hero-controls-in{0%{opacity:0;visibility:hidden}1%{visibility:visible}100%{opacity:1;visibility:visible}}
    .hero-slider__nav,.hero-slider__dot{appearance:none;border:0;cursor:pointer;color:#fff;font-family:var(--font-en);transition:background .25s,color .25s,border-color .25s,transform .25s}
    .hero-slider__nav{position:relative;width:34px;height:44px;padding:0;border:0;border-radius:0;background:transparent;font-size:0}
    .hero-slider__nav::before{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border-top:1.5px solid currentColor;border-left:1.5px solid currentColor}
    .hero-slider__nav[data-hero-prev]::before{transform:translate(-35%,-50%) rotate(-45deg)}
    .hero-slider__nav[data-hero-next]::before{transform:translate(-65%,-50%) rotate(135deg)}
    .hero-slider__dots{display:flex;align-items:center;gap:6px;padding:0 8px}
    .hero-slider__dot{position:relative;width:24px;height:30px;padding:0;background:transparent;transition:width .3s ease}
    .hero-slider__dot::before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;border-radius:999px;background:rgba(255,255,255,.4);transform:translateY(-50%);transition:height .25s,background .25s}
    .hero-slider__dot.is-active{width:42px;background:transparent}
    .hero-slider__dot.is-active::before{height:3px;background:#fff}
    .hero-slider__nav:hover,.hero-slider__nav:focus-visible{background:transparent}
    .hero-slider__nav[data-hero-prev]:hover,.hero-slider__nav[data-hero-prev]:focus-visible{transform:translateX(-3px)}
    .hero-slider__nav[data-hero-next]:hover,.hero-slider__nav[data-hero-next]:focus-visible{transform:translateX(3px)}
    .hero-slider__dot:hover::before,.hero-slider__dot:focus-visible::before{background:#fff}
    .hero-slider__nav:focus-visible,.hero-slider__dot:focus-visible{outline:2px solid #fff;outline-offset:3px}
    .hero-slide--camp{--slide-image:url('../../images/fv-camp.jpg');--slide-tint:linear-gradient(135deg,rgba(38,114,76,.2),rgba(120,185,210,.08));--slide-position:center 58%}
    .hero-slide--tournament{--slide-image:url('../../images/fv-tournament.jpg');--slide-tint:linear-gradient(135deg,rgba(19,62,44,.12),rgba(38,114,76,.08));--slide-position:center 50%}
    .hero-slide--longstay{--slide-image:url('../../images/fv-long-stay-shinkan.jpg');--slide-tint:linear-gradient(135deg,rgba(19,62,44,.1),rgba(217,101,74,.08));--slide-position:38% 52%}
    .hero-slide--stay{--slide-image:url('../../images/fv-kashima-shrine.png');--slide-tint:linear-gradient(135deg,rgba(19,62,44,.14),rgba(221,163,74,.06));--slide-position:center 48%;--hero-scale-start:1.08;--hero-scale-end:1.04}
    .hero-slide--stadium{--slide-image:url('../../images/fv-tourism.jpg');--slide-tint:linear-gradient(135deg,rgba(19,62,44,.12),rgba(120,185,210,.06));--slide-position:center 48%}

    /* Intro splash: one quiet brand moment before the approved five-slide hero. */
    .entry-splash{display:none;position:fixed;inset:0;z-index:10000;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 44%,#1c3026 0%,#102219 52%,#07140e 100%);color:#fff}
    .splash-active .entry-splash{display:grid}
    .entry-splash__brand{width:min(50vw,700px);min-width:360px;opacity:0;filter:blur(20px);transform:translateY(14px) scale(.965)}
    .entry-splash__brand img{display:block;width:100%;height:auto}
    .splash-active .entry-splash__brand{animation:entry-logo-bloom 1.75s cubic-bezier(.22,1,.36,1) .16s both}
    .splash-active .entry-splash:not(.is-skipping){animation:entry-splash-out .85s cubic-bezier(.45,0,.55,1) 2.25s forwards}
    .entry-splash.is-skipping{animation:entry-splash-out .24s ease-out forwards}
    .entry-splash__skip{position:absolute;right:24px;bottom:22px;padding:8px 4px;border:0;border-bottom:1px solid rgba(255,255,255,.62);border-radius:0;background:transparent;color:rgba(255,255,255,.9);font:600 11px/1.2 var(--font-en);letter-spacing:.16em;cursor:pointer;transition:color .2s,border-color .2s}
    .entry-splash__skip:hover{color:#fff;border-color:#fff}
    .entry-splash__skip:focus-visible{outline:2px solid #fff;outline-offset:5px}
    @keyframes entry-logo-bloom{0%{opacity:0;filter:blur(20px);transform:translateY(14px) scale(.965)}72%{opacity:1;filter:blur(0);transform:translateY(0) scale(1.004)}100%{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}}
    @keyframes entry-splash-out{to{opacity:0;visibility:hidden}}

    /* Splash plan 02: standard stroke order is shown before the approved wordmark lands in the header. */
    .entry-splash__draw-brand{display:none;width:min(40vw,560px);min-width:320px;height:auto;aspect-ratio:1800/420;position:relative;isolation:isolate;opacity:0;filter:blur(4px);transform:translateY(8px) scale(.988);transform-origin:left top}
    .splash-draw-active .entry-splash__brand{display:none}.splash-draw-active .entry-splash__draw-brand{display:block}
    .entry-splash__draw-calligraphy{display:block;width:100%;height:100%;overflow:visible;transition:opacity .16s ease}
    .entry-splash__draw-stroke{fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:6.5;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 1px 1px rgba(255,255,255,.16))}.entry-splash__draw-stroke[data-brush="thin"]{stroke-width:4.2}.entry-splash__draw-stroke[data-brush="bold"]{stroke-width:8.6}
    .splash-draw-active .entry-splash__draw-stroke{animation:logo-stroke .14s cubic-bezier(.2,.8,.18,1) var(--stroke-delay) both}
    .entry-splash__draw-final{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform:scale(.992);filter:blur(2px);transition:opacity .16s ease,transform .2s ease,filter .18s ease}.entry-splash.is-draw-complete .entry-splash__draw-calligraphy{opacity:0}.entry-splash.is-draw-complete .entry-splash__draw-final{opacity:1;transform:none;filter:none}
    .splash-draw-active .entry-splash__draw-brand{animation:logo-draw-brand-in .4s ease-out both}.entry-splash.is-draw-flying .entry-splash__draw-brand{animation:none;opacity:1;filter:none;transform:translate3d(var(--draw-fly-x),var(--draw-fly-y),0) scale(var(--draw-fly-scale));transition:transform .74s cubic-bezier(.22,.75,.2,1),opacity .24s ease .5s}
    @keyframes logo-draw-brand-in{to{opacity:1;filter:none;transform:translateY(0) scale(1)}}@keyframes logo-stroke{from{stroke-dashoffset:1;opacity:.35}to{stroke-dashoffset:0;opacity:1}}

    /* section-catalog services-06: three-image index, adapted for the inn */
    .purpose{position:relative;min-height:860px;overflow:hidden;padding:92px 0 104px;background:#071b13;color:#fff;isolation:isolate}
    .purpose-backgrounds{position:absolute;inset:0;z-index:-2}
    .purpose-background{position:absolute;inset:0;background-position:center;background-size:cover;opacity:.74;transform:scale(1.18);filter:saturate(.9);will-change:clip-path,opacity,transform;transition:clip-path .9s cubic-bezier(.22,.8,.2,1),opacity .62s ease,transform 6s cubic-bezier(.2,.7,.2,1),filter .62s ease}
    .purpose-background--camp{background-image:url('../../images/fv-camp.jpg')}.purpose-background--long{background-image:url('../../images/fv-long-stay.jpg')}.purpose-background--stay{background-image:url('../../images/fv-kashima-shrine.png')}
    .purpose-background--camp{clip-path:inset(0 66.666% 0 0);background-position:68% 64%}.purpose-background--long{clip-path:inset(0 33.333% 0 33.333%);background-position:38% 58%}.purpose-background--stay{clip-path:inset(0 0 0 66.666%);background-position:72% 46%}
    .purpose.is-exploring .purpose-background{opacity:0}
    .purpose.is-exploring .purpose-background.is-active{z-index:2;clip-path:inset(0);opacity:.84;transform:scale(1.1);filter:saturate(1.04)}
    .purpose-backgrounds::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,22,15,.78) 0%,rgba(4,22,15,.43) 42%,rgba(4,22,15,.88) 100%),linear-gradient(90deg,rgba(4,22,15,.62),transparent 56%,rgba(4,22,15,.28))}
    .purpose .container{position:relative;z-index:1;width:min(1320px,calc(100% - 56px))}
    .purpose-heading{max-width:900px;margin:0 auto 44px;text-align:center}
    .purpose-heading .eyebrow{color:#f1ce87}
    .purpose-heading h2{margin:10px 0 0;color:#fff;font-size:clamp(52px,6.2vw,86px);line-height:1.15;letter-spacing:.08em;text-shadow:0 16px 46px rgba(0,0,0,.28)}
    .purpose-heading p{margin:14px auto 0;color:rgba(255,255,255,.82);font-size:14px;letter-spacing:.06em}
    .purpose-index{border-top:1px solid rgba(255,255,255,.48);border-bottom:1px solid rgba(255,255,255,.22)}
    .purpose-index__item{position:relative;display:grid;grid-template-columns:minmax(250px,.8fr) 1.1fr auto;align-items:center;gap:34px;min-height:148px;padding:24px 14px;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.22);transition:padding .48s cubic-bezier(.22,1,.36,1),background .38s ease,color .38s ease}
    .purpose-index__item:last-child{border-bottom:0}
    .purpose-index__item::before{content:"";position:absolute;left:0;top:-1px;bottom:-1px;width:4px;background:var(--amber);transform:scaleY(0);transform-origin:center;transition:transform .4s cubic-bezier(.22,1,.36,1)}
    .purpose-index__item::after{content:"";position:absolute;left:14px;right:14px;bottom:-1px;height:1px;background:linear-gradient(90deg,var(--amber),transparent);transform:scaleX(0);transform-origin:left;transition:transform .55s cubic-bezier(.22,1,.36,1)}
    .purpose-index__title small{display:block;margin-bottom:8px;color:rgba(255,255,255,.58);font:600 10px/1.2 var(--font-en);letter-spacing:.24em;text-transform:uppercase;transition:color .35s ease}
    .purpose-index__title h3{margin:0;color:#fff;font-size:clamp(31px,4vw,54px);line-height:1.25;letter-spacing:.035em;text-shadow:0 10px 30px rgba(0,0,0,.3)}
    .purpose-index__item p{max-width:500px;margin:0;color:rgba(255,255,255,.76);font-size:14px;line-height:1.85;opacity:.68;transform:translateX(-14px);transition:opacity .48s ease,transform .48s cubic-bezier(.22,1,.36,1),color .35s ease}
    .purpose-index__arrow{display:grid;place-items:center;width:62px;height:62px;border:1px solid rgba(255,255,255,.34);border-radius:50%;color:#f1ce87;font:400 24px/1 var(--font-en);opacity:.45;transform:scale(.82);transition:opacity .4s ease,transform .48s cubic-bezier(.22,1,.36,1),background .35s ease,color .35s ease,border-color .35s ease}
    .purpose-index__item:hover,.purpose-index__item:focus-visible,.purpose-index__item.is-active{padding-left:34px;padding-right:24px;background:linear-gradient(90deg,rgba(9,43,29,.76),rgba(9,43,29,.22))}
    .purpose-index__item:hover::before,.purpose-index__item:focus-visible::before,.purpose-index__item.is-active::before{transform:scaleY(1)}
    .purpose-index__item:hover::after,.purpose-index__item:focus-visible::after,.purpose-index__item.is-active::after{transform:scaleX(1)}
    .purpose-index__item:hover p,.purpose-index__item:focus-visible p,.purpose-index__item.is-active p{opacity:1;transform:none;color:rgba(255,255,255,.92)}
    .purpose-index__item:hover small,.purpose-index__item:focus-visible small,.purpose-index__item.is-active small{color:#f1ce87}
    .purpose-index__item:hover .purpose-index__arrow,.purpose-index__item:focus-visible .purpose-index__arrow,.purpose-index__item.is-active .purpose-index__arrow{opacity:1;transform:scale(1);border-color:#f1ce87;background:#f1ce87;color:var(--green-deep)}
    .purpose-index__item:focus-visible{outline:2px solid #f1ce87;outline-offset:5px}
    .purpose-purpose-note{display:flex;justify-content:space-between;gap:20px;margin-top:24px;color:rgba(255,255,255,.6);font:600 10px/1.5 var(--font-en);letter-spacing:.2em;text-transform:uppercase}
    .purpose--armed .purpose-heading,.purpose--armed .purpose-index__item,.purpose--armed .purpose-purpose-note{opacity:0;transform:translateY(28px)}
    .purpose--armed.is-purpose-open .purpose-heading,.purpose--armed.is-purpose-open .purpose-index__item,.purpose--armed.is-purpose-open .purpose-purpose-note{opacity:1;transform:none;transition:opacity .8s ease,transform .85s cubic-bezier(.22,1,.36,1)}
    .purpose--armed.is-purpose-open .purpose-index__item:nth-child(2){transition-delay:.1s}.purpose--armed.is-purpose-open .purpose-index__item:nth-child(3){transition-delay:.2s}.purpose--armed.is-purpose-open .purpose-purpose-note{transition-delay:.3s}

    /* empathy-02 inspired oversized pull */
    .empathy{padding:76px 0 82px;background:linear-gradient(rgba(251,249,242,.88),rgba(251,249,242,.88)),url('../../images/texture-1.jpg') center/560px;overflow:hidden}
    .empathy::after{content:"";position:absolute;z-index:0;left:-2%;right:-2%;bottom:4px;height:86px;background:url('../../images/divider-route.png') center bottom/cover no-repeat;opacity:.55;mix-blend-mode:multiply;pointer-events:none;animation:route-drift 13s ease-in-out infinite alternate}
    .empathy-heading{position:relative;z-index:1;margin-bottom:48px}
    .empathy-heading h2{margin-bottom:0;white-space:nowrap}
    .empathy-layout{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;align-items:start;gap:86px}
    .empathy-support{width:100%;padding:10px 0 10px 32px;border-left:3px solid var(--wood-soft)}
    .empathy-support__label{margin:0 0 12px;color:var(--green);font:700 11px/1.2 var(--font-en);letter-spacing:.2em;text-transform:uppercase}
    .empathy-support__lead{max-width:390px;margin:0 0 25px;color:var(--ink);font-size:16px;line-height:1.8}
    .empathy-support__items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 28px;margin:0;padding:0;list-style:none}
    .empathy-support__items li{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:clamp(20px,2vw,27px);font-weight:600;line-height:1.4}
    .empathy-support__items li::before{content:"";width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:var(--green)}
    .empathy-copy{padding:0}
    .empathy-copy p{max-width:650px;font-size:18px}

    /* reasons-02 adapted to a centered editorial statement */
    .reasons{background:#E9E0D0;color:var(--ink);border-top:12px solid #C99A4E}
    .reasons h2,.reasons h3{color:var(--green-deep)}.reasons .eyebrow{color:var(--green)}
    .reasons-layout{display:block}
    .reasons-intro{max-width:1040px;margin:0 auto;text-align:center}
    .reasons-intro .eyebrow{margin-bottom:24px}
    .reasons-intro h2{margin-bottom:24px;font-size:clamp(42px,5.2vw,64px);line-height:1.35;letter-spacing:.015em;white-space:nowrap}
    .reasons-intro>p{max-width:680px;margin-inline:auto;font-size:18px}
    .reasons-proof{max-width:760px;margin:52px auto 0;padding:28px 36px;display:flex;align-items:baseline;justify-content:center;gap:28px;border-top:1px solid rgba(19,62,44,.25);border-bottom:1px solid rgba(19,62,44,.25)}
    .reasons-proof strong{display:block;color:var(--amber);font:700 clamp(34px,4vw,54px)/1 var(--font-en);letter-spacing:-.02em;white-space:nowrap}
    .reasons-proof span{display:block;font-size:14px;line-height:1.7}
    .reason-list{max-width:960px;margin:72px auto 0;border-top:1px solid rgba(19,62,44,.2)}
    .reason{display:grid;grid-template-columns:110px 1fr;gap:34px;padding:40px 0;border-bottom:1px solid rgba(19,62,44,.2)}
    .reason-no{font:700 50px/1 'Space Grotesk';color:var(--amber)}
    .reason ul{margin:0;padding-left:1.2em}

    /* facilities and camp support are separated by role */
    .services{background:linear-gradient(rgba(255,255,255,.94),rgba(255,255,255,.94)),url('../../images/texture-1.jpg') center/620px}
    .services .section-head{max-width:none}
    .services .section-head h2{white-space:nowrap}
    .service-split{display:grid;grid-template-columns:1fr 1fr;gap:20px}
    .service-group{position:relative;min-height:460px;padding:42px;display:flex;flex-direction:column;border:1px solid rgba(38,114,76,.28);border-radius:var(--radius);overflow:hidden;box-shadow:0 16px 40px -36px rgba(19,62,44,.75);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
    .service-group:hover{transform:translateY(-4px);border-color:rgba(38,114,76,.42);box-shadow:var(--shadow)}
    .service-group:has(.service-group__link:focus-visible){outline:3px solid var(--amber);outline-offset:4px}
    .service-group--facility{background:var(--sky)}
    .service-group--support{background:var(--green-deep);color:#E7F0EA}
    .service-group__label{display:block;margin-bottom:22px;color:var(--green);font:700 11px/1.2 var(--font-en);letter-spacing:.19em;text-transform:uppercase}
    .service-group--support .service-group__label{color:#A9D2B5}
    .service-group h3{margin-bottom:14px;font-size:clamp(30px,3.2vw,44px)}
    .service-group--support h3{color:#fff}
    .service-group>p{max-width:540px;margin-bottom:28px;font-size:15px;line-height:1.9}
    .service-group__list{margin:0 0 32px;padding:0;border-top:1px solid rgba(19,62,44,.28);list-style:none}
    .service-group--support .service-group__list{border-color:rgba(255,255,255,.24)}
    .service-group__list li{display:grid;grid-template-columns:32px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid rgba(19,62,44,.16);font-weight:600}
    .service-group--support .service-group__list li{border-color:rgba(255,255,255,.16)}
    .service-group__list small{color:var(--green);font:700 11px/1.9 var(--font-en)}
    .service-group--support .service-group__list small{color:var(--amber)}
    .service-group__link{position:static;display:inline-flex;align-items:center;gap:14px;width:max-content;max-width:100%;margin-top:auto;padding:10px 0 4px;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--green-deep);font-weight:700;text-decoration:none}
    .service-group__link::before{content:"";position:absolute;z-index:1;inset:0;cursor:pointer}
    .service-group__link::after{content:"\2192";color:var(--green);transition:transform .25s}
    .service-group--support .service-group__link{border-color:rgba(255,255,255,.46);background:transparent;color:#fff}
    .service-group--support .service-group__link::after{color:var(--amber)}
    .service-group__link:hover::after{transform:translateX(5px)}

    /* about-10 duotone editorial */
    .about{position:relative;background:var(--green);color:#EAF4ED;overflow:hidden}
    .about-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;position:relative;z-index:1}
    .about h2{color:#fff}.about .eyebrow{color:#C5E0CD}.about-stamp{width:210px;aspect-ratio:1;border:1px solid rgba(255,255,255,.55);border-radius:50%;display:grid;place-items:center;text-align:center;color:#fff;font-family:var(--font-display);font-weight:700;font-size:28px;letter-spacing:.01em;transform:rotate(-6deg)}

    /* faq-03 sticky numbered accordion */
    .faq{background:var(--paper)}
    .faq-layout{display:grid;grid-template-columns:330px 1fr;gap:70px}
    .faq-intro{position:sticky;top:110px;align-self:start}
    .faq-list{border-top:1px solid var(--green-deep)}
    .faq-item{border-bottom:1px solid var(--line)}
    .faq-item summary{display:grid;grid-template-columns:58px 1fr 34px;gap:16px;align-items:center;padding:20px 10px;cursor:pointer;list-style:none;color:var(--ink);font-weight:600;transition:background .25s}
    .faq-item summary:hover,.faq-item summary:focus-visible{background:rgba(38,114,76,.055)}
    .faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:"＋";width:32px;height:32px;display:grid;place-items:center;border:1px solid rgba(38,114,76,.42);border-radius:50%;font-size:18px;color:var(--green)}.faq-item[open] summary::after{content:"−";background:var(--green);color:#fff}
    .faq-no{font:700 13px 'Space Grotesk';color:var(--green)}
    .faq-answer{padding:0 45px 24px 74px;font-size:15px}.faq-more{margin-top:32px}

    /* process-11 accordion index */
    .process{background:linear-gradient(rgba(255,255,255,.94),rgba(255,255,255,.94)),url('../../images/texture-1.jpg') center/620px}
    .process-layout{display:block}
    .process-intro{max-width:900px;margin:0 auto 54px;text-align:center}
    .process-intro h2{white-space:nowrap}
    .process-intro p{max-width:620px;margin-inline:auto}
    .process-list{max-width:900px;margin-inline:auto;border-top:1px solid var(--line)}
    .process-item{border-bottom:1px solid var(--line)}
    .process-item summary{display:grid;grid-template-columns:75px 1fr 34px;gap:18px;align-items:center;padding:19px 10px;cursor:pointer;list-style:none;color:var(--ink);font-weight:600;transition:background .25s}.process-item summary:hover,.process-item summary:focus-visible{background:rgba(38,114,76,.055)}.process-item summary::-webkit-details-marker{display:none}.process-item summary::after{content:"＋";width:32px;height:32px;display:grid;place-items:center;border:1px solid rgba(38,114,76,.42);border-radius:50%;color:var(--green)}.process-item[open] summary::after{content:"−";background:var(--green);color:#fff}
    .process-body{padding:0 28px 24px 93px;font-size:15px}

    .access{background:#F5E6D7}.access-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.access-card{padding:42px;border-radius:28px;background:#fff;box-shadow:var(--shadow)}.access-card dl{margin:0}.access-card div{display:grid;grid-template-columns:100px 1fr;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}.access-card dt{font-weight:600;color:var(--green-deep)}.access-card dd{margin:0}.access-card a{display:inline-flex;align-items:center;min-height:44px;color:var(--green-deep);font-weight:700;text-decoration-thickness:1px;text-underline-offset:5px}

    /* confirmed contact paths, kept simple and explicit */
    .final-cta{padding:84px 0;background:var(--paper)}
    .final-cta-head{width:min(900px,calc(100% - 56px));margin:0 auto 44px;text-align:center}.final-cta-head h2{margin-bottom:14px}.final-cta-head p{max-width:620px;margin-inline:auto}
    .contact-stage{width:min(1160px,calc(100% - 56px));margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-panel{position:relative;min-height:210px;padding:42px 48px;display:flex;flex-direction:column;justify-content:center;border:1px solid rgba(38,114,76,.22);border-radius:var(--radius);color:var(--green-deep);text-decoration:none;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.contact-panel::after{content:"\2192";position:absolute;right:42px;top:50%;font:500 24px/1 var(--font-en);transform:translateY(-50%);transition:transform .25s ease}.contact-panel:hover,.contact-panel:focus-visible{transform:translateY(-4px);border-color:rgba(38,114,76,.5);box-shadow:var(--shadow)}.contact-panel:hover::after,.contact-panel:focus-visible::after{transform:translate(5px,-50%)}.contact-panel:first-child{background:var(--green-deep);color:#fff}.contact-panel:last-child{background:var(--sky)}.contact-panel strong{display:block;max-width:80%;font-family:var(--font-display);font-weight:700;font-size:clamp(25px,3vw,36px);line-height:1.3;letter-spacing:-.015em}.contact-panel small{display:block;margin:0 0 14px;color:inherit;font:700 11px/1.2 var(--font-en);letter-spacing:.18em}.contact-panel em{display:block;margin-top:12px;font-size:13px;font-style:normal;font-weight:600}

    .motion-ready .section-head h2::after{transform:scaleX(0);transform-origin:left center}
    .motion-ready .section-head.is-motion-visible h2::after{transform:scaleX(1);transition:transform .9s .18s cubic-bezier(.2,.7,.2,1)}
    .motion-ready [data-scroll-motion].is-motion-pending{opacity:0;transform:translate3d(var(--motion-x,0),var(--motion-y,18px),0) scale(var(--motion-scale,1));transition:opacity var(--motion-duration,760ms) var(--motion-delay,0ms) cubic-bezier(.2,.7,.2,1),transform var(--motion-duration,760ms) var(--motion-delay,0ms) cubic-bezier(.2,.7,.2,1);will-change:opacity,transform}
    .motion-ready [data-scroll-motion].is-motion-pending.is-motion-visible{opacity:1;transform:translate3d(0,0,0) scale(1)}
    @keyframes ornament-float{from{transform:translate3d(-8px,4px,0) rotate(-1deg)}to{transform:translate3d(12px,-10px,0) rotate(1deg)}}
    @keyframes route-drift{from{transform:translateX(-1.2%)}to{transform:translateX(1.2%)}}

    /* footer-03 transplant */
    .site-footer{background:#10261C;color:#EAF2EC}.footer-info{width:min(1160px,calc(100% - 56px));margin:auto;padding:58px 0;display:grid;grid-template-columns:1.25fr .9fr .9fr .9fr;gap:38px}.footer-logo{display:block;width:min(270px,100%);height:auto;margin-bottom:18px}.footer-nap p{color:#A8BBB0;font-size:14px}.footer-nap a{display:inline-flex;align-items:center;min-height:44px;color:#fff;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;font:700 19px 'Space Grotesk'}.footer-col h3{color:var(--amber);font:700 11px 'Space Grotesk';letter-spacing:.16em}.footer-col a{display:flex;align-items:center;width:max-content;max-width:100%;min-height:44px;padding:5px 0;color:#EAF2EC;text-decoration:underline;text-decoration-color:rgba(234,242,236,.3);text-underline-offset:4px;font-size:14px}.copyright{border-top:1px solid rgba(255,255,255,.12)}.copyright div{width:min(1160px,calc(100% - 56px));margin:auto;padding:20px 0;display:flex;justify-content:space-between;gap:20px;color:#91A69A;font:500 11px 'Space Grotesk'}

    @media(max-width:1200px) and (min-width:981px){.purpose .container{width:calc(100% - 40px)}.purpose-index__item{grid-template-columns:minmax(230px,.78fr) 1fr auto;gap:24px}}
    @media(max-width:980px){
      html{scroll-padding-top:76px}
      .site-header.is-scrolled{background:rgba(251,249,242,.76)}.site-header.is-scrolled .header-top{padding:7px 0}.site-header.is-scrolled .brand-logo{width:160px}
      .header-contact .header-tel,.global-nav{display:none}.menu-toggle{display:block}.sp-nav{display:flex;position:fixed;inset:0 0 auto;z-index:90;width:100%;height:100dvh;min-height:100vh;background:linear-gradient(150deg,#133E2C,#091D14);padding:86px 30px 100px;flex-direction:column;justify-content:flex-start;overflow-y:auto;opacity:0;visibility:hidden;pointer-events:none;transition:.35s}.menu-open .sp-nav{opacity:1;visibility:visible;pointer-events:auto}.sp-nav__group{padding:18px 0 4px;color:#A9D2B5;font:700 11px/1.2 var(--font-en);letter-spacing:.18em;text-transform:uppercase}.sp-nav a{padding:11px 0;border-bottom:1px solid rgba(255,255,255,.15);color:#fff;text-decoration:none;font-family:var(--font-body);font-weight:600;font-size:18px;letter-spacing:.01em}
      .hero,.hero-inner,.hero-slider{min-height:780px}.hero-copy{width:min(100% - 48px,1160px);min-height:780px;padding:92px 0 150px}.hero-stage{inset:0}.hero-slider{border-radius:0}.hero-copy h1{font-size:clamp(38px,7vw,64px)}
      .purpose{min-height:760px}.purpose-index__item{grid-template-columns:minmax(250px,.9fr) 1fr auto;gap:22px;min-height:142px}.purpose-index__item p{font-size:13px}.purpose-index__arrow{width:54px;height:54px}
      .empathy-layout,.about-layout,.faq-layout,.access-layout{grid-template-columns:1fr}.empathy-heading h2,.services .section-head h2,.process-intro h2{white-space:normal}.empathy-support{max-width:560px}.faq-intro{position:static}.reasons-intro{max-width:760px}.reasons-intro h2{white-space:normal}.service-split{grid-template-columns:1fr}.service-group{min-height:0}.footer-info{grid-template-columns:repeat(3,1fr)}.footer-nap{grid-column:1/-1}
    }
    @media(max-width:768px){
      body{font-size:16px;padding-bottom:66px}.container,.header-top{width:min(100% - 32px,1160px)}.section{padding:60px 0}.section-head{margin-bottom:32px}.header-top{padding:10px 0}.brand-logo{width:178px}.header-contact>.btn{display:none}
      .hero,.hero-inner,.hero-slider{min-height:760px}.hero-inner{width:100%}.hero-copy{width:calc(100% - 32px);min-height:760px;padding:76px 0 190px;justify-content:center}.hero-copy h1{font-size:clamp(30px,9vw,42px);line-height:1.5}.hero-copy .lead{max-width:520px;font-size:15px;line-height:1.85}.hero-actions{margin-top:26px}.hero-actions .btn{min-height:50px;padding:11px 18px;font-size:14px}.hero-stage{inset:0}.hero-slider{min-height:760px;border-radius:0}.hero-slide__shade{background:linear-gradient(90deg,rgba(5,24,16,.56),rgba(8,30,21,.18)),linear-gradient(180deg,rgba(4,18,12,.02) 35%,rgba(4,18,12,.44) 100%)}.hero-slide__caption{right:16px;bottom:108px;max-width:280px}.hero-slide__caption strong{font-size:24px}.hero-slide__caption span{font-size:12px}.hero-slider__controls{bottom:60px}.hero-slider__nav{width:40px;height:40px}.hero-slider__dot{width:25px;height:32px}.hero-slider__dot.is-active{width:39px}
      .purpose{min-height:720px;padding:70px 0 78px}.purpose .container{width:calc(100% - 24px)}.purpose-heading{margin-bottom:34px}.purpose-heading h2{font-size:clamp(44px,14vw,60px)}.purpose-heading p{font-size:13px}.purpose-index__item{grid-template-columns:1fr auto;gap:12px 18px;min-height:184px;padding:24px 18px;background-position:center;background-size:cover}.purpose-index__item[data-purpose-key="camp"]{background-image:linear-gradient(90deg,rgba(5,29,20,.92),rgba(5,29,20,.58)),url('../../images/fv-camp.jpg')}.purpose-index__item[data-purpose-key="long"]{background-image:linear-gradient(90deg,rgba(5,29,20,.92),rgba(5,29,20,.58)),url('../../images/fv-long-stay.jpg')}.purpose-index__item[data-purpose-key="stay"]{background-image:linear-gradient(90deg,rgba(5,29,20,.92),rgba(5,29,20,.58)),url('../../images/fv-kashima-shrine.png')}.purpose-index__title{grid-column:1}.purpose-index__title h3{font-size:clamp(27px,8.2vw,34px)}.purpose-index__item p{grid-column:1/-1;grid-row:2;margin:0;max-width:29em;opacity:.9;transform:none;font-size:13px}.purpose-index__arrow{grid-column:2;grid-row:1;width:48px;height:48px;font-size:19px}.purpose-index__item:hover,.purpose-index__item:focus-visible,.purpose-index__item.is-active{padding-left:20px;padding-right:12px}.purpose-purpose-note{display:none}.purpose-background{inset:-5%;background-position:center}.purpose-background.is-active{opacity:.54}.empathy{padding:56px 0 62px}.empathy-heading{margin-bottom:34px}.empathy-layout{gap:36px}.empathy-support__row{font-size:17px}.reasons-intro{text-align:left}.reasons-intro h2{font-size:clamp(34px,10vw,46px)}.reasons-intro>p{margin-inline:0;font-size:16px}.reasons-proof{margin-top:38px;padding:24px 0;display:block}.reasons-proof span{margin-top:10px}.reason-list{margin-top:48px}.reason{grid-template-columns:56px 1fr;gap:18px;padding:30px 0}.reason-no{font-size:34px}.service-group{padding:30px 26px}.about-layout{gap:35px}.about-stamp{width:160px}.faq-layout{gap:28px}.process-intro{margin-bottom:36px;text-align:left}.faq-item summary{grid-template-columns:44px 1fr 34px}.faq-answer{padding-left:60px}.process-item summary{grid-template-columns:64px 1fr 34px}.process-body{padding-left:82px}.access-card{padding:28px}.access-card div{grid-template-columns:1fr;gap:4px}.final-cta{padding:64px 0}.final-cta-head{width:calc(100% - 32px);text-align:left}.contact-stage{width:calc(100% - 32px);grid-template-columns:1fr}.contact-panel{min-height:180px;padding:34px 28px}.contact-panel::after{right:28px}.footer-info{width:calc(100% - 32px);grid-template-columns:1fr}.footer-nap{grid-column:auto}.copyright div{width:calc(100% - 32px);display:block}.sp-fixed{position:fixed;left:0;right:0;bottom:0;z-index:120;display:grid!important;grid-template-columns:.8fr 1.2fr;box-shadow:0 -8px 25px -18px #000}.sp-fixed a{display:grid;place-items:center;min-height:66px;text-decoration:none;font-weight:600}.sp-fixed a:first-child{background:#fff;color:var(--green-deep)}.sp-fixed a:last-child{background:var(--amber);color:#fff}
    }
    @media(min-width:769px){.sp-fixed{display:none}}
    @media(max-width:768px){.purpose-background,.purpose-background.is-active,.purpose.is-exploring .purpose-background.is-active{opacity:0}.purpose-index__item[data-purpose-key="camp"]{background-position:64% 65%}.purpose-index__item[data-purpose-key="long"]{background-position:34% 56%}.purpose-index__item[data-purpose-key="stay"]{background-position:68% 44%}}
    @media(max-width:768px){.empathy-support{padding-left:22px}.empathy-support__lead{font-size:15px}.empathy-support__items{gap:13px 18px}.empathy-support__items li{font-size:18px}}
    @media(max-width:360px){.hero-copy h1{font-size:28px;letter-spacing:.015em}.reasons-intro h2{font-size:30px}}
    @media(min-width:981px) and (max-height:950px){.hero-slide__caption{bottom:112px}.hero-slider__controls{bottom:96px}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
    @media(max-width:768px){.entry-splash__brand,.entry-splash__draw-brand{width:min(90vw,500px);min-width:0}.entry-splash__skip{right:18px;bottom:18px}}
    @media(prefers-reduced-motion:reduce){.hero-motion-ready .hero-slide__color{clip-path:inset(0)}.motion-ready .section-head h2::after{transform:none}.motion-ready [data-scroll-motion].is-motion-pending{opacity:1;transform:none;transition:none}}

    /* guide-page quality carried through the public top page */
    .reasons{overflow:hidden;background:#F2F5F0}
    .reasons-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:72px;align-items:start}
    .reasons-intro{position:sticky;top:170px;text-align:left}
    .reasons-intro h2{max-width:8em;margin-bottom:25px;font-size:clamp(40px,5.2vw,64px);line-height:1.32}
    .reasons-intro>p{max-width:25em;margin:0;color:#394840;font-weight:500}
    .reasons-proof{display:block;margin-top:48px;padding:30px 0;border-block:1px solid rgba(19,62,44,.3)}
    .reasons-proof strong{display:block;color:var(--green-deep);font:700 clamp(42px,5vw,66px)/1 var(--font-en)}
    .reasons-proof span{display:block;margin-top:13px;color:var(--body);font-size:13px}
    .reason-list{margin:0;border-top:2px solid var(--green-deep)}
    .reason{display:grid;grid-template-columns:1fr;gap:30px;align-items:center;min-height:176px;padding:34px 20px;border-bottom:1px solid rgba(19,62,44,.2)}
    .reason:nth-child(2){background:#fff}
    .reason-no{display:none}
    .reason h3{margin:0 0 9px;font-size:clamp(23px,2.5vw,31px)}
    .reason p{margin:0;color:var(--body);font-weight:500}

    .about{padding:0;background:#fff}
    .about-layout{width:100%;display:grid;grid-template-columns:42% 58%;gap:0;align-items:stretch}
    .about-layout>div:first-child{min-height:560px;background:linear-gradient(rgba(19,62,44,.18),rgba(19,62,44,.18)),url('../../images/facility-room-shinkan.jpg') center/cover}
    .about-stamp{display:none}
    .about-layout>div:last-child{display:flex;flex-direction:column;justify-content:center;padding:90px clamp(40px,8vw,128px);background:#153F2D;color:#fff}
    .about-layout h2{color:#fff}.about-layout p{max-width:31em;color:rgba(255,255,255,.88);font-weight:500}
    .about-layout .btn{width:max-content;margin-top:20px;background:var(--amber);color:#fff}

    .faq{background:#fff}
    .faq-layout{grid-template-columns:290px 1fr;gap:72px}
    .faq-intro{position:sticky;top:170px;align-self:start}
    .faq-list{border-top:2px solid var(--green-deep)}
    .faq-item summary{grid-template-columns:1fr 34px;min-height:76px;padding:20px 12px;font-size:17px}
    .faq-no{display:none}
    .faq-answer{padding:0 56px 25px 12px;color:var(--body);font-weight:500}

    .access{position:relative;overflow:hidden;background:#F1E5D7}
    .access::after{content:"";position:absolute;right:-2%;bottom:-4%;width:min(650px,48vw);aspect-ratio:1.55;background:url('../../images/icon-access-kashima-landmarks-v3.png') center/contain no-repeat;opacity:.22;pointer-events:none}
    .access-layout{position:relative;z-index:1;grid-template-columns:.75fr 1.25fr;gap:88px}
    .access-layout>div:first-child{max-width:440px}
    .access-card{padding:16px 34px;border:0;border-block:1px solid rgba(19,62,44,.45);border-radius:0;background:rgba(255,255,255,.68);box-shadow:none}
    .access-card div{grid-template-columns:110px 1fr;padding:18px 2px}

    .contact-panel{border-radius:6px;box-shadow:none}
    .contact-panel:hover,.contact-panel:focus-visible{box-shadow:none}
    @media(max-width:980px){
      .reasons-layout{grid-template-columns:1fr;gap:45px}.reasons-intro{position:static}.reason-list{margin-top:0}
      .about-layout{grid-template-columns:1fr}.about-layout>div:first-child{min-height:420px}.about-layout>div:last-child{padding:72px max(28px,8vw)}
      .faq-layout{grid-template-columns:1fr;gap:30px}.faq-intro{position:static}
    }
    @media(max-width:768px){
      .reasons-intro{text-align:left}.reasons-proof{margin-top:32px}.reason{grid-template-columns:1fr;min-height:0;padding:27px 4px}.reason::after{display:none}
      .about-layout>div:first-child{min-height:320px}.about-layout>div:last-child{padding:58px 24px}
      .faq-item summary{grid-template-columns:1fr 34px}.faq-answer{padding-left:4px;padding-right:42px}
      .access-layout{grid-template-columns:1fr;gap:38px}.access::after{width:92vw;opacity:.12}.access-card{padding-inline:20px}
    }
  