@font-face{font-family:"Kei";src:url("../assets/fonts/keifont.ttf") format("truetype");font-display:swap}
@font-face{font-family:"Boku";src:url("../assets/fonts/boku2-regular.otf") format("opentype");font-display:swap}

:root{--ink:#111;--cream:#fff3e7;--pink:#f9cbd8;--lavender:#ddd5fa;--blue:#c8f2fb;--orange:#ffd19a}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#fff}
body{margin:0;background:#fff;color:var(--ink);font-family:"Boku","Hiragino Kaku Gothic ProN",sans-serif;overflow-x:hidden}
a{color:inherit}
img{display:block;user-select:none;-webkit-user-drag:none}
.page{width:100%;background:#fff;overflow-x:hidden}

/* Canva版の1枚絵を基準に、全デバイスで同じ構図のまま比例縮小する */
.artboard{position:relative;width:min(100vw,1363px);height:min(95.30vw,1299px);margin:0 auto;background:#fff;overflow:hidden;container-type:inline-size}

.site-header{position:absolute;z-index:20;left:0;top:0;width:100%;height:9.30cqw;background:var(--cream)}
.brand{position:absolute;left:3.05%;top:12.0%;width:13.5%;height:80%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;overflow:visible}
.brand-word{width:100%;height:62%;object-fit:contain;object-position:center top}
.brand-badge{width:57%;height:auto;margin-top:7.0%}
.global-nav{position:absolute;left:20.0%;right:2.8%;top:0;height:100%;display:grid;grid-template-columns:1.35fr 1.18fr .80fr .92fr;column-gap:3.0%;align-items:stretch}
.nav-item{position:relative;height:100%;display:grid;grid-template-rows:4.72cqw auto;align-content:start;justify-items:center;padding-top:1.23cqw;font-family:"Kei",sans-serif;font-size:clamp(10px,1.45cqw,20px);line-height:1;text-decoration:underline;text-decoration-thickness:.07em;text-underline-offset:.12em;white-space:nowrap;-webkit-text-stroke:.035em #111;color:#fff;transition:transform .18s ease}
.nav-about,.nav-heart,.nav-recruit,.nav-contact{left:auto;width:auto}
.nav-about{transform:translateX(2.0cqw)}
.nav-stars{width:13.20cqw;height:4.72cqw;display:flex;align-items:center;justify-content:center;gap:0;margin:0}
.nav-stars img{position:static;width:5.80cqw;height:5.80cqw;object-fit:contain;flex:0 0 4.40cqw;margin:0 -0.87cqw;max-width:none;transform:scale(1.29);transform-origin:center}
.nav-item>span:last-child{display:block;margin-top:-.02cqw;line-height:1}


.hero-photo{position:absolute;z-index:0;left:22.6%;top:17.6%;width:56.4%;height:auto}

.smile,.sparkles{position:absolute;z-index:3;mix-blend-mode:multiply}
.smile-closed-one{left:23.5%;top:12.5%;width:4.4%}
.smile-open{left:51.8%;top:14.1%;width:5.2%}
.smile-closed-two{left:74.5%;top:39.7%;width:5.3%}
.sparkles-left{left:11.5%;top:32.8%;width:8.0%}
.sparkles-right{left:75.2%;top:26.5%;width:9.4%}

.hero-star{position:absolute;z-index:4;object-fit:contain;pointer-events:none}
.hero-star-instagram{left:7.4%;top:10.7%;width:14.1%}
.hero-star-space{left:5.5%;top:38.5%;width:14.1%}
.hero-star-guide{left:83.0%;top:11.3%;width:14.0%}
.hero-star-small{left:3.5%;top:29.6%;width:7.1%}

.hero-link{position:absolute;z-index:8;display:flex;align-items:center;justify-content:center;border-radius:999px;font-family:"Kei",sans-serif;font-weight:400;text-align:center;text-decoration:underline;text-decoration-thickness:.055em;text-underline-offset:.10em;-webkit-text-stroke:.035em #111;color:#fff;line-height:1.06}
.instagram-link{left:4.5%;top:19.1%;width:20.0%;height:7.0%;background:rgba(249,203,216,.92);font-size:clamp(18px,2.65cqw,36px);transform:rotate(-1.4deg)}
.guide-link{left:75.0%;top:18.2%;width:19.9%;height:9.2%;background:rgba(221,213,250,.88);flex-direction:column;font-size:clamp(16px,2.30cqw,31px);transform:rotate(3.2deg)}
.space-link{left:3.2%;top:46.1%;width:22.0%;height:6.9%;background:rgba(200,242,251,.92);font-size:clamp(17px,2.55cqw,35px);transform:rotate(1.8deg)}
.lunch-link{left:72.0%;top:42.7%;width:22.2%;height:6.9%;background:rgba(255,209,154,.92);font-size:clamp(15px,2.15cqw,29px);transform:rotate(-1.5deg)}

.main-wordmark{position:absolute;z-index:7;left:24.8%;top:32.4%;width:49.4%;height:auto}
.star-dance{position:absolute;z-index:6;left:34.3%;top:38.6%;width:31.4%;height:auto}
.takatsuki-badge{position:absolute;z-index:7;left:36.7%;top:50.3%;width:26.6%;height:auto}

.walk-lane{position:absolute;z-index:9;left:18.1%;top:53.3%;width:9.0%;height:10.0%}
.walk-lane img{width:100%;height:100%;object-fit:contain;animation:littleWalk 7s ease-in-out infinite}
.lunch-chick{position:absolute;z-index:9;left:79.8%;top:49.8%;width:11.1%;height:auto}
@keyframes littleWalk{0%,100%{transform:translateX(-14%) scaleX(1)}45%{transform:translateX(14%) scaleX(1)}50%{transform:translateX(14%) scaleX(-1)}95%{transform:translateX(-14%) scaleX(-1)}}

.intro-card{position:absolute;z-index:2;left:34.3%;top:59.6%;width:32.8%;height:15.0%;padding:1.7% 2.2%;border-radius:50% 50% 46% 46% / 28% 28% 24% 24%;background:var(--orange);display:flex;align-items:center;justify-content:center;text-align:left}
.intro-copy{width:67%;padding-left:5%}
.intro-kicker{margin:0 0 .18em;font-size:clamp(10px,1.45cqw,20px);line-height:1.15}
.intro-card h1{margin:0 0 .32em;font-family:"Kei",sans-serif;font-size:clamp(15px,2.05cqw,28px);font-weight:400;line-height:1.1;white-space:nowrap}
.intro-address{margin:0;font-family:"Boku",sans-serif;font-size:clamp(8px,1.02cqw,14px);line-height:1.32}
.intro-illust{width:31%;height:auto;align-self:flex-end;margin:0 0 2% -3%}

@media (hover:hover){.nav-item:hover,.hero-link:hover{transform:translateY(-3px)}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.walk-lane img{animation:none}}


/* ===== v020 HERO RECONSTRUCTION — measured against 13-inch Canva reference ===== */
/* Navbar above is frozen. All values below apply only to hero-body elements. */
.hero-photo{left:11.04%;top:17.6%;width:79.52%}

.smile-closed-one{left:22.62%;top:15.30%;width:6.20%}
.smile-open{left:50.68%;top:17.00%;width:7.44%}

.hero-star-instagram{left:.91%;top:10.84%;width:27.07%}
.hero-star-guide{left:75.16%;top:11.03%;width:29.68%}
.hero-star-small{left:-.55%;top:33.80%;width:15.12%}
.hero-star-space{left:1.28%;top:42.34%;width:23.69%}

.instagram-link{top:24.02%;width:20.0%;height:6.86%}
.guide-link{top:23.12%;width:19.9%;height:8.62%}
.space-link{top:54.23%;width:22.35%;height:6.83%}
.lunch-link{top:50.42%;width:22.2%;height:6.59%}

.main-wordmark{top:36.09%}
.star-dance{left:24.14%;top:43.35%;width:52.12%}
.takatsuki-badge{top:57.95%}

.walk-lane{top:61.15%}
.lunch-chick{left:79.63%;top:57.65%;width:11.43%}

.intro-card{left:33.67%;top:69.37%;width:34.12%;height:15.75%}


/* ===== v021 — four requested hero corrections only ===== */
/* 1) background photo only: move upward */
.hero-photo{top:10.1%}
/* 2) three-star group only: move upward; size unchanged */
.star-dance{top:33.45%}
/* 3) sparkle groups: match Canva reference placement/scale */
.sparkles-left{left:11.4%;top:35.4%;width:8.8%}
.sparkles-right{left:75.1%;top:30.2%;width:13.6%}
/* 4) lunch-side smile: match Canva reference placement/scale */
.smile-closed-two{left:74.4%;top:44.0%;width:6.2%}

/* ===== v022 — targeted visual corrections against Canva reference ===== */
/* upper-left Instagram star: slightly lower */
.hero-star-instagram{top:12.2%}
/* star above 園内の紹介: preserve position/size, add Canva-like left tilt */
.hero-star-space{transform:rotate(-8deg);transform-origin:center}
/* sparkle groups: preserve v021 placement/scale, add reference tilt */
.sparkles-left{transform:rotate(-11deg);transform-origin:center}
.sparkles-right{transform:rotate(10deg);transform-origin:center}
/* lunch-side smile: slightly larger only */
.smile-closed-two{width:7.0%}
/* hamburger chick: slightly larger and higher */
.lunch-chick{left:79.1%;top:55.9%;width:12.8%}
/* walking chick: face in the direction of travel */
@keyframes littleWalk{0%,45%{transform:translateX(-14%) scaleX(-1)}50%{transform:translateX(14%) scaleX(1)}95%,100%{transform:translateX(-14%) scaleX(-1)}}


/* ===== v023 — requested corrections only ===== */
/* Hero content begins directly under the frozen navbar. */
.hero-stage{position:absolute;inset:0;z-index:1;transform:translateY(-2.30cqw);pointer-events:none}
.hero-stage a,.hero-stage section{pointer-events:auto}
/* Restore the original walking motion; only reverse the chick artwork orientation. */
@keyframes littleWalk{0%,100%{transform:translateX(-14%) scaleX(-1)}45%{transform:translateX(14%) scaleX(-1)}50%{transform:translateX(14%) scaleX(1)}95%{transform:translateX(-14%) scaleX(1)}}
/* Canva reference: wider/flatter organic information panel. */
.intro-card{left:33.1%;width:35.8%;height:14.2%;border-radius:48% 52% 47% 53% / 30% 27% 20% 23%}
/* Use the supplied animated reading-character GIF. */
.intro-illust{width:34%;margin:0 0 1.2% -4%}


/* ===== v024 — orange information panel + confirmed reading GIF only ===== */
/* Canva reference: organic horizontal panel, with a fuller upper-left and tapered lower-right contour. */
.intro-card{
  left:34.55%;
  top:69.37%;
  width:31.95%;
  height:13.55%;
  padding:1.55% 1.85% 1.25%;
  border-radius:49% 51% 43% 57% / 48% 47% 34% 30%;
}
.intro-copy{width:64%;padding-left:4.5%}
.intro-illust{width:35%;align-self:flex-end;margin:0 -1.5% -0.8% -3.5%}

/* ===== v025 — exact-direction asymmetric Canva information panel ===== */
/* The source shape is intentionally asymmetric; do not replace this with a symmetric border-radius. */
.intro-card{
  left:34.45%;
  top:69.05%;
  width:33.15%;
  height:13.85%;
  padding:1.45% 1.55% 1.05% 2.25%;
  border-radius:0;
  clip-path:path('M 0.500 0.585 C 0.500 0.235 0.625 0.075 0.805 0.035 C 0.910 0.012 0.985 0.115 0.995 0.345 C 1.000 0.535 0.970 0.745 0.895 0.850 C 0.815 0.960 0.685 0.935 0.565 0.905 C 0.445 0.875 0.335 0.965 0.220 0.930 C 0.095 0.892 0.018 0.775 0.008 0.615 C -0.002 0.455 0.050 0.315 0.135 0.220 C 0.225 0.120 0.355 0.105 0.500 0.125 Z');
  -webkit-clip-path:path('M 0.500 0.585 C 0.500 0.235 0.625 0.075 0.805 0.035 C 0.910 0.012 0.985 0.115 0.995 0.345 C 1.000 0.535 0.970 0.745 0.895 0.850 C 0.815 0.960 0.685 0.935 0.565 0.905 C 0.445 0.875 0.335 0.965 0.220 0.930 C 0.095 0.892 0.018 0.775 0.008 0.615 C -0.002 0.455 0.050 0.315 0.135 0.220 C 0.225 0.120 0.355 0.105 0.500 0.125 Z');
}
.intro-copy{width:63%;padding-left:4.0%}
.intro-illust{width:36%;align-self:flex-end;margin:0 -0.8% -1.4% -3.0%}

/* ===== v027 — stable asymmetric organic orange card ONLY ===== */
.intro-card{
  left:33.1%;
  top:69.05%;
  width:35.8%;
  height:14.2%;
  box-sizing:border-box;
  padding:1.55% 1.8% 1.15% 2.35%;
  background:var(--orange);
  clip-path:none;
  -webkit-clip-path:none;
  border-radius:42% 58% 47% 53% / 35% 27% 31% 24%;
}
.intro-illust{width:36%;align-self:flex-end;margin:0 -0.8% -1.4% -3.0%}

/* ===== v028 — premium floating navigation ===== */
.site-header{
  position:fixed;
  z-index:100;
  left:50%;
  top:1.15cqw;
  width:min(94cqw,1280px);
  height:7.25cqw;
  transform:translateX(-50%);
  border:1px solid rgba(120,100,82,.10);
  border-radius:2.15cqw;
  background:rgba(255,250,245,.88);
  box-shadow:0 .55cqw 2.1cqw rgba(92,69,48,.10), inset 0 1px 0 rgba(255,255,255,.86);
  -webkit-backdrop-filter:blur(16px) saturate(115%);
  backdrop-filter:blur(16px) saturate(115%);
  transition:height .28s ease,top .28s ease,background .28s ease,box-shadow .28s ease,border-radius .28s ease;
}
.site-header.is-scrolled{
  top:.65cqw;
  height:5.75cqw;
  border-radius:1.75cqw;
  background:rgba(255,252,248,.94);
  box-shadow:0 .42cqw 1.65cqw rgba(92,69,48,.12), inset 0 1px 0 rgba(255,255,255,.92);
}
.brand{left:2.15%;top:11%;width:12.1%;height:78%;justify-content:center;transition:width .28s ease,top .28s ease}
.brand-word{height:66%}
.brand-badge{width:55%;margin-top:3.5%}
.site-header.is-scrolled .brand{width:10.7%;top:8%}
.global-nav{left:18.1%;right:2.1%;height:100%;grid-template-columns:1.38fr 1.18fr .78fr .90fr;column-gap:1.05%;align-items:center}
.nav-item{
  height:58%;
  grid-template-rows:auto auto;
  align-content:center;
  padding:0 .72cqw;
  border-radius:1.35cqw;
  text-decoration:none;
  font-family:"Boku","Hiragino Kaku Gothic ProN",sans-serif;
  font-size:clamp(9px,1.08cqw,15px);
  font-weight:600;
  letter-spacing:.015em;
  -webkit-text-stroke:0;
  color:#3d3833;
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease;
}
.nav-about{transform:none}
.nav-stars{width:auto;height:1.85cqw;margin:0 0 .15cqw;gap:.05cqw}
.nav-stars img{width:1.72cqw;height:1.72cqw;flex:0 0 1.72cqw;margin:0 -.18cqw;transform:none;opacity:.88}
.nav-item>span:last-child{margin:0;line-height:1.15;white-space:nowrap}
@media (hover:hover){
  .nav-item:hover{transform:translateY(-.12cqw);background:rgba(255,255,255,.64);box-shadow:0 .28cqw .8cqw rgba(90,70,50,.07)}
  .nav-item:hover .nav-stars img:nth-child(2){transform:translateY(-.16cqw) rotate(6deg)}
}
.site-header.is-scrolled .nav-item{height:62%;font-size:clamp(9px,.98cqw,14px)}
.site-header.is-scrolled .nav-stars{height:1.45cqw;margin-bottom:.05cqw}
.site-header.is-scrolled .nav-stars img{width:1.4cqw;height:1.4cqw;flex-basis:1.4cqw}


/* ===== v029 — tactile toy navigation + mobile proportional hero ===== */
.site-header{
  border-color:rgba(117,91,62,.14);
  background:linear-gradient(180deg,rgba(255,253,249,.96) 0%,rgba(255,248,239,.91) 100%);
  box-shadow:0 .72cqw 2.25cqw rgba(90,66,43,.11),0 .16cqw .34cqw rgba(90,66,43,.08),inset 0 .12cqw .18cqw rgba(255,255,255,.98),inset 0 -.12cqw .22cqw rgba(192,159,122,.08);
}
.nav-item{
  border:1px solid transparent;
  text-shadow:0 1px 0 rgba(255,255,255,.9);
}
.nav-stars{height:2.12cqw;margin-bottom:.12cqw}
.nav-stars img{width:2.02cqw;height:2.02cqw;flex-basis:2.02cqw;margin:0 -.20cqw;filter:drop-shadow(0 .10cqw .10cqw rgba(86,67,43,.10))}
.nav-stars img:nth-child(1){transform:rotate(-7deg) translateY(.05cqw)}
.nav-stars img:nth-child(2){transform:translateY(-.10cqw) scale(1.05)}
.nav-stars img:nth-child(3){transform:rotate(7deg) translateY(.06cqw)}
@media (hover:hover){
  .nav-item:hover{background:linear-gradient(180deg,rgba(255,255,255,.90),rgba(255,247,235,.72));border-color:rgba(150,116,77,.10);box-shadow:0 .28cqw .75cqw rgba(90,70,50,.08),inset 0 1px 0 rgba(255,255,255,.96)}
}
.site-header.is-scrolled .nav-stars img{width:1.62cqw;height:1.62cqw;flex-basis:1.62cqw}
.mobile-menu-toggle{display:none}

/* All hero typography follows the artboard width; no fixed-pixel minimums on mobile. */
.instagram-link{font-size:2.65cqw}
.guide-link{font-size:2.30cqw}
.space-link{font-size:2.55cqw}
.lunch-link{font-size:2.15cqw}
.intro-kicker{font-size:1.45cqw}
.intro-card h1{font-size:2.05cqw}
.intro-address{font-size:1.02cqw}

@media (max-width:640px){
  .site-header{
    top:1.15cqw;
    width:92cqw;
    height:12.8cqw;
    border-radius:4.8cqw;
    box-shadow:0 1.5cqw 4.5cqw rgba(90,66,43,.12),0 .35cqw .7cqw rgba(90,66,43,.07),inset 0 .3cqw .4cqw rgba(255,255,255,.98),inset 0 -.25cqw .45cqw rgba(192,159,122,.08);
  }
  .site-header.is-scrolled{top:1.8cqw;height:10.4cqw;border-radius:4cqw}
  .brand{left:4.2%;top:12%;width:24%;height:76%;align-items:flex-start}
  .brand-word{height:66%;object-position:left top}
  .brand-badge{width:55%;margin-left:5%;margin-top:2%}
  .site-header.is-scrolled .brand{left:4.2%;top:10%;width:21%}
  .mobile-menu-toggle{
    display:flex;position:absolute;right:3.4%;top:50%;transform:translateY(-50%);height:68%;min-width:23%;padding:0 3.2cqw;border:1px solid rgba(121,94,64,.13);border-radius:999px;
    align-items:center;justify-content:center;gap:1.5cqw;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,244,228,.88));
    box-shadow:0 .7cqw 1.8cqw rgba(91,68,44,.10),inset 0 .35cqw .45cqw rgba(255,255,255,.95),inset 0 -.25cqw .5cqw rgba(184,145,101,.09);
    color:#3d3833;font-family:"Boku",sans-serif;font-size:2.7cqw;font-weight:700;letter-spacing:.08em;
  }
  .menu-star{display:grid;place-items:center;width:5.2cqw;height:5.2cqw;line-height:1;transform-origin:50% 58%;animation:menu-star-idle 3.2s ease-in-out infinite;filter:drop-shadow(0 .18cqw .16cqw rgba(80,60,40,.12))}
  .menu-star img{display:block;width:100%;height:100%;object-fit:contain}
  .site-header.menu-open .menu-star{animation:menu-star-pop .48s cubic-bezier(.2,.9,.25,1.35) both}
  @keyframes menu-star-idle{0%,100%{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(4deg) translateY(-.35cqw)}}
  @keyframes menu-star-pop{0%{transform:rotate(-5deg) scale(1)}42%{transform:rotate(10deg) scale(1.24) translateY(-.5cqw)}72%{transform:rotate(-4deg) scale(.94)}100%{transform:rotate(0deg) scale(1)}}
  @media (prefers-reduced-motion:reduce){.menu-star,.site-header.menu-open .menu-star{animation:none}}
  .global-nav{
    display:none;position:absolute;left:0;right:0;top:calc(100% + 2cqw);height:auto;padding:2.8cqw;
    grid-template-columns:1fr;gap:1.4cqw;border:1px solid rgba(117,91,62,.12);border-radius:5cqw;
    background:linear-gradient(180deg,rgba(255,253,249,.98),rgba(255,247,236,.97));
    box-shadow:0 2.2cqw 6cqw rgba(90,66,43,.13),inset 0 .3cqw .4cqw rgba(255,255,255,.98);
    -webkit-backdrop-filter:blur(18px) saturate(112%);backdrop-filter:blur(18px) saturate(112%);
  }
  .site-header.menu-open .global-nav{display:grid}
  .nav-item,.site-header.is-scrolled .nav-item{
    height:11cqw;padding:0 4cqw;grid-template-columns:12cqw 1fr;grid-template-rows:1fr;align-items:center;justify-items:start;
    border-radius:3.3cqw;font-size:3.4cqw;background:rgba(255,255,255,.54);border-color:rgba(130,100,70,.08);
  }
  .nav-stars,.site-header.is-scrolled .nav-stars{width:10cqw;height:6cqw;margin:0;justify-self:center}
  .nav-stars img,.site-header.is-scrolled .nav-stars img{width:4.2cqw;height:4.2cqw;flex-basis:4.2cqw;margin:0 -1.2cqw}
  .nav-item>span:last-child{white-space:nowrap}
}

/* ===== v031 — desktop toy buttons + complete mobile menu + hero clearance ===== */
.mobile-nav-only{display:none}

/* Desktop: each destination is a small premium toy button inside the floating tray. */
@media (min-width:641px){
  .nav-item,
  .site-header.is-scrolled .nav-item{
    height:68%;
    padding:.32cqw .72cqw .42cqw;
    border:1px solid rgba(137,106,72,.105);
    border-radius:1.45cqw 1.28cqw 1.50cqw 1.32cqw;
    background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,247,236,.69));
    box-shadow:0 .22cqw .52cqw rgba(86,65,43,.065),inset 0 .12cqw .16cqw rgba(255,255,255,.98),inset 0 -.10cqw .18cqw rgba(180,143,102,.055);
    transform:translateY(0) rotate(0deg);
    transition:transform .18s cubic-bezier(.2,.8,.2,1.25),box-shadow .18s ease,background .18s ease,border-color .18s ease;
  }
  .nav-about{transform:rotate(-.28deg)}
  .nav-heart{transform:rotate(.22deg)}
  .nav-recruit{transform:rotate(-.20deg)}
  .nav-contact{transform:rotate(.30deg)}
  .nav-stars{height:1.95cqw;margin-bottom:.08cqw}
  @media (hover:hover){
    .nav-item:hover{transform:translateY(.10cqw) scale(.985);background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(255,245,229,.82));border-color:rgba(137,106,72,.15);box-shadow:0 .10cqw .28cqw rgba(86,65,43,.075),inset 0 .14cqw .20cqw rgba(255,255,255,.98),inset 0 -.08cqw .14cqw rgba(180,143,102,.06)}
    .nav-item:hover .nav-stars img:nth-child(1){transform:rotate(-10deg) translateY(-.06cqw)}
    .nav-item:hover .nav-stars img:nth-child(2){transform:translateY(-.22cqw) scale(1.10)}
    .nav-item:hover .nav-stars img:nth-child(3){transform:rotate(10deg) translateY(-.04cqw)}
  }
}

@media (max-width:640px){
  /* The fixed navigation no longer covers the top of the hero artwork. */
  .artboard{height:110.4cqw}
  .hero-stage{transform:translateY(12.0cqw)}

  .mobile-nav-only{display:grid}
  .global-nav{gap:1.25cqw;padding:2.6cqw}
  .nav-item,.site-header.is-scrolled .nav-item{height:9.6cqw}

  /* Download is deliberately separated from the six navigation destinations. */
  .mobile-guide-download{
    grid-template-columns:8cqw 1fr;align-items:center;justify-items:start;min-height:11.2cqw;margin-top:.8cqw;padding:1.1cqw 4.2cqw;
    border:1px solid rgba(190,137,74,.16);border-radius:3.5cqw;text-decoration:none;color:#3d3833;
    background:linear-gradient(180deg,rgba(255,244,221,.94),rgba(255,226,187,.82));
    box-shadow:0 .65cqw 1.7cqw rgba(104,75,43,.09),inset 0 .3cqw .4cqw rgba(255,255,255,.88),inset 0 -.22cqw .42cqw rgba(180,127,67,.07);
  }
  .mobile-guide-download img{width:6.2cqw;height:6.2cqw;object-fit:contain;transform:rotate(-7deg);filter:drop-shadow(0 .18cqw .16cqw rgba(80,60,40,.10))}
  .mobile-guide-download span{display:flex;align-items:baseline;gap:1.8cqw;white-space:nowrap}
  .mobile-guide-download strong{font-size:3.35cqw;font-weight:700;letter-spacing:.02em}
  .mobile-guide-download small{font-size:2.1cqw;font-weight:700;letter-spacing:.13em;opacity:.66}
}


/* ===== v032 — softer PC toy pills + tighter mobile hero clearance ===== */
@media (min-width:641px){
  .global-nav{
    left:17.7%;
    right:1.8%;
    grid-template-columns:1.42fr 1.20fr .80fr .90fr;
    column-gap:1.25%;
  }
  .nav-item,
  .site-header.is-scrolled .nav-item{
    height:63%;
    padding:.28cqw .62cqw .38cqw;
    border-radius:2.25cqw 2.05cqw 2.32cqw 2.12cqw;
    background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,246,233,.73));
    border-color:rgba(137,106,72,.09);
    box-shadow:0 .20cqw .50cqw rgba(86,65,43,.055),inset 0 .14cqw .19cqw rgba(255,255,255,.99),inset 0 -.10cqw .18cqw rgba(180,143,102,.045);
  }
  .nav-stars{height:2.05cqw;margin-bottom:.06cqw}
  .nav-stars img{width:1.90cqw;height:1.90cqw;flex-basis:1.90cqw}
  .nav-about{transform:rotate(-.18deg)}
  .nav-heart{transform:rotate(.16deg)}
  .nav-recruit{transform:rotate(-.14deg)}
  .nav-contact{transform:rotate(.18deg)}
  @media (hover:hover){
    .nav-item:hover{
      transform:translateY(-.14cqw) scale(1.012);
      background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(255,241,220,.86));
      box-shadow:0 .32cqw .72cqw rgba(86,65,43,.075),inset 0 .15cqw .20cqw rgba(255,255,255,1),inset 0 -.10cqw .17cqw rgba(180,143,102,.05);
    }
  }
}

@media (max-width:640px){
  /* Keep the artwork clear of the fixed header without revealing a blank strip above the hero photo. */
  .artboard{height:106.9cqw}
  .hero-stage{transform:translateY(8.5cqw)}
}


/* ===== v033 — translucent acrylic toy panels ONLY ===== */
.hero-link{
  --panel-rotate:0deg;
  isolation:isolate;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.68);
  -webkit-backdrop-filter:blur(.42cqw) saturate(1.08);
  backdrop-filter:blur(.42cqw) saturate(1.08);
  box-shadow:
    0 .58cqw 1.18cqw rgba(76,64,53,.12),
    0 .13cqw .28cqw rgba(76,64,53,.09),
    inset 0 .18cqw .22cqw rgba(255,255,255,.78),
    inset .16cqw 0 .20cqw rgba(255,255,255,.28),
    inset 0 -.20cqw .30cqw rgba(110,88,72,.08);
  transform:rotate(var(--panel-rotate));
  transform-origin:50% 52%;
  animation:acrylicToyFloat 4.8s ease-in-out infinite;
  transition:translate .24s cubic-bezier(.2,.82,.2,1.18),box-shadow .24s ease,filter .24s ease;
  will-change:translate;
}
.hero-link::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:5%;right:5%;top:7%;height:28%;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(255,255,255,.16) 68%,rgba(255,255,255,0));
  filter:blur(.05cqw);
  opacity:.82;
  pointer-events:none;
}
.hero-link::after{
  content:"";
  position:absolute;
  z-index:-1;
  top:-22%;left:-48%;width:34%;height:150%;
  border-radius:50%;
  background:linear-gradient(105deg,rgba(255,255,255,0),rgba(255,255,255,.66),rgba(255,255,255,0));
  transform:skewX(-14deg);
  opacity:0;
  pointer-events:none;
}
.hero-link > span{position:relative;z-index:2}
.instagram-link{
  --panel-rotate:-1.4deg;
  background:linear-gradient(145deg,rgba(255,226,234,.82) 0%,rgba(249,194,212,.70) 55%,rgba(245,181,203,.78) 100%);
  animation-delay:-.6s;
}
.guide-link{
  --panel-rotate:3.2deg;
  background:linear-gradient(145deg,rgba(239,234,255,.82) 0%,rgba(215,205,249,.69) 58%,rgba(201,191,243,.76) 100%);
  animation-delay:-1.8s;
}
.space-link{
  --panel-rotate:1.8deg;
  background:linear-gradient(145deg,rgba(224,250,255,.84) 0%,rgba(188,238,249,.69) 58%,rgba(168,229,243,.77) 100%);
  animation-delay:-3.0s;
}
.lunch-link{
  --panel-rotate:-1.5deg;
  background:linear-gradient(145deg,rgba(255,231,198,.86) 0%,rgba(255,205,145,.72) 58%,rgba(250,188,118,.79) 100%);
  animation-delay:-4.1s;
}
@keyframes acrylicToyFloat{
  0%,100%{translate:0 0}
  50%{translate:0 -.34cqw}
}
@media (hover:hover){
  .hero-link:hover{
    translate:0 -.62cqw;
    filter:saturate(1.035) brightness(1.025);
    box-shadow:
      0 .90cqw 1.65cqw rgba(76,64,53,.15),
      0 .18cqw .34cqw rgba(76,64,53,.10),
      inset 0 .20cqw .24cqw rgba(255,255,255,.86),
      inset .18cqw 0 .22cqw rgba(255,255,255,.32),
      inset 0 -.22cqw .32cqw rgba(110,88,72,.075);
  }
  .hero-link:hover::after{animation:acrylicToyShine .72s ease-out 1}
}
.hero-link:active{translate:0 .18cqw;transition-duration:.09s}
@keyframes acrylicToyShine{
  0%{left:-48%;opacity:0}
  18%{opacity:.56}
  72%{opacity:.34}
  100%{left:122%;opacity:0}
}
@media (prefers-reduced-motion:reduce){
  .hero-link{animation:none;transition:none}
  .hero-link::after{display:none}
}

/* ===== v034 — premium toy typography for the four acrylic hero panels ONLY ===== */
.hero-link{
  font-family:"Boku","Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN",sans-serif;
  font-weight:400;
  color:rgba(43,39,35,.92);
  -webkit-text-stroke:0;
  text-decoration:none;
  letter-spacing:.018em;
  text-shadow:
    0 .055em 0 rgba(255,255,255,.72),
    0 .10em .18em rgba(91,72,58,.10);
}
.hero-link > span{
  text-decoration:none;
  filter:drop-shadow(0 .025em 0 rgba(255,255,255,.45));
}
.instagram-link{font-size:clamp(18px,2.48cqw,34px);letter-spacing:.012em}
.guide-link{font-size:clamp(16px,2.08cqw,29px);line-height:1.02;letter-spacing:.010em}
.space-link{font-size:clamp(17px,2.34cqw,32px);letter-spacing:.025em}
.lunch-link{font-size:clamp(15px,2.02cqw,28px);letter-spacing:.018em}

/* ===== v035 — gummy acrylic hero controls + premium organic information toy ===== */
.hero-link{
  overflow:visible;
  gap:.72cqw;
  border:1px solid rgba(255,255,255,.82);
  box-shadow:
    0 .68cqw 1.30cqw rgba(82,65,52,.13),
    0 .14cqw .28cqw rgba(82,65,52,.08),
    inset 0 .25cqw .30cqw rgba(255,255,255,.96),
    inset .20cqw 0 .24cqw rgba(255,255,255,.50),
    inset 0 -.30cqw .44cqw rgba(111,82,72,.09),
    0 0 0 .18cqw rgba(255,255,255,.24);
}
.hero-link::before{left:4%;right:4%;top:5%;height:34%;opacity:.96;filter:blur(.03cqw)}
.hero-link::after{z-index:1}
.hero-link > span{z-index:3}
.hero-link .panel-icon{
  flex:0 0 auto;width:3.65cqw;height:3.65cqw;border-radius:50%;display:grid;place-items:center;
  color:rgba(62,55,53,.88);background:rgba(255,255,255,.73);
  border:1px solid rgba(255,255,255,.90);
  box-shadow:0 .22cqw .46cqw rgba(75,58,48,.12),inset 0 .15cqw .18cqw rgba(255,255,255,.95),inset 0 -.12cqw .20cqw rgba(91,70,60,.06);
  -webkit-backdrop-filter:blur(.25cqw);backdrop-filter:blur(.25cqw);
}
.panel-icon svg{width:58%;height:58%;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.panel-icon-instagram{background:linear-gradient(145deg,#ffb84e 0%,#f54d7c 45%,#b44ce8 100%)!important;color:#fff!important}
.panel-icon-instagram svg{width:62%;height:62%;stroke:#fff;stroke-width:1.8}.panel-icon-instagram .icon-dot{fill:#fff;stroke:none}
.panel-icon-cutlery{background:rgba(255,255,255,.58)!important}
.panel-copy{display:flex;flex-direction:column;align-items:flex-start;line-height:1.00}
.instagram-link{justify-content:flex-start;padding-left:2.1cqw}
.guide-link{flex-direction:row;justify-content:flex-start;padding-left:1.8cqw;gap:.85cqw}
.space-link{justify-content:flex-start;padding-left:1.75cqw}
.lunch-link{justify-content:flex-start;padding-left:1.65cqw}
.instagram-link,.guide-link,.space-link,.lunch-link{filter:saturate(1.06)}

/* Bottom information card: translucent peach gummy/acrylic toy, preserving existing content and GIF. */
.intro-card{
  isolation:isolate;overflow:visible;
  left:31.2%;top:68.0%;width:39.4%;height:17.0%;
  padding:1.55% 2.1% 1.25% 2.55%;
  border-radius:37% 63% 42% 58% / 31% 39% 28% 36%;
  background:linear-gradient(145deg,rgba(255,231,202,.87) 0%,rgba(255,207,160,.76) 55%,rgba(250,186,128,.78) 100%);
  border:1px solid rgba(255,255,255,.88);
  -webkit-backdrop-filter:blur(.48cqw) saturate(1.08);backdrop-filter:blur(.48cqw) saturate(1.08);
  box-shadow:
    0 .78cqw 1.55cqw rgba(87,66,50,.14),0 .16cqw .34cqw rgba(87,66,50,.08),
    inset 0 .26cqw .30cqw rgba(255,255,255,.96),inset .22cqw 0 .26cqw rgba(255,255,255,.48),
    inset 0 -.32cqw .48cqw rgba(128,85,55,.09),0 0 0 .20cqw rgba(255,255,255,.25);
  animation:introToyFloat 5.4s ease-in-out infinite;
}
.intro-card::before{
  content:"";position:absolute;z-index:0;left:4.5%;right:6%;top:5.5%;height:29%;border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,255,255,.15) 72%,transparent);pointer-events:none;
}
.intro-card::after{
  content:"";position:absolute;z-index:-2;inset:-.26cqw;border-radius:inherit;border:1px solid rgba(255,221,184,.60);
  box-shadow:0 0 .72cqw rgba(255,199,143,.20);pointer-events:none;
}
.intro-gloss{position:absolute;z-index:1;left:8%;top:10%;width:18%;height:1.0cqw;border-radius:999px;background:rgba(255,255,255,.70);filter:blur(.05cqw);transform:rotate(-8deg)}
.intro-copy{position:relative;z-index:3;width:67%;padding-left:4.2%;color:rgba(43,39,35,.94)}
.intro-kicker{font-family:"Boku",sans-serif;font-size:clamp(10px,1.35cqw,19px);letter-spacing:.015em;margin-bottom:.20em}
.intro-card h1{font-family:"Kei","Boku",sans-serif;font-size:clamp(16px,2.20cqw,31px);font-weight:400;letter-spacing:.01em;margin-bottom:.38em;text-shadow:0 .06em 0 rgba(255,255,255,.68)}
.intro-address{font-family:"Boku",sans-serif;font-size:clamp(8px,.96cqw,14px);line-height:1.30}
.intro-line{display:flex;align-items:flex-start;gap:.52cqw}.intro-phone-line{align-items:center;margin-top:.30cqw}
.intro-mini-icon{flex:0 0 auto;width:1.75cqw;height:1.75cqw;border-radius:50%;display:grid;place-items:center;margin-top:.08cqw;font-size:.72cqw;color:#fff;box-shadow:0 .14cqw .28cqw rgba(77,57,45,.13),inset 0 .10cqw .12cqw rgba(255,255,255,.52)}
.intro-pin{background:linear-gradient(145deg,#ff91ae,#f16c92);font-size:.52cqw}.intro-phone{background:linear-gradient(145deg,#70d99a,#36b96e);font-size:.86cqw}
.intro-address a{color:inherit;text-decoration:underline;text-decoration-thickness:.055em;text-underline-offset:.10em}
.intro-illust{position:relative;z-index:3;width:31%;margin:0 -1.0% -1.0% -2.2%;filter:drop-shadow(0 .18cqw .18cqw rgba(75,58,48,.08))}
.intro-bubble{position:absolute;z-index:-1;border-radius:50%;filter:blur(.04cqw);opacity:.48;box-shadow:inset .15cqw .18cqw .28cqw rgba(255,255,255,.72)}
.bubble-pink{width:5.2cqw;height:5.2cqw;left:-7.0%;bottom:9%;background:rgba(255,205,222,.78)}
.bubble-blue{width:6.0cqw;height:6.0cqw;right:-8.2%;top:21%;background:rgba(193,235,251,.78)}
.intro-sparkle{position:absolute;z-index:-1;font-family:serif;line-height:1;text-shadow:0 .12cqw .20cqw rgba(84,66,53,.08)}
.sparkle-a{left:-3.4%;bottom:1%;font-size:3.2cqw;color:#f5a9bb;transform:rotate(8deg)}
.sparkle-b{right:-5.2%;bottom:-2%;font-size:2.4cqw;color:#f6dc69;transform:rotate(-12deg)}
@keyframes introToyFloat{0%,100%{translate:0 0}50%{translate:0 -.24cqw}}
@media (hover:hover){.intro-card:hover{translate:0 -.34cqw;filter:saturate(1.025) brightness(1.015)}}
@media (prefers-reduced-motion:reduce){.intro-card{animation:none}}

@media (max-width:640px){
  .hero-link{gap:.9cqw}
  .hero-link .panel-icon{width:5.1cqw;height:5.1cqw}
  .instagram-link{padding-left:2.4cqw}.guide-link{padding-left:2.0cqw}.space-link{padding-left:2.0cqw}.lunch-link{padding-left:1.8cqw}
  .intro-card{left:31.0%;width:39.8%;height:17.2%}
}

/* ===== v036 — proportional hero controls + calm information-card silhouette ===== */
/* Keep all four acrylic controls on the same artboard scale at every viewport width. */
.instagram-link{font-size:2.18cqw}
.guide-link{font-size:1.72cqw;line-height:1.02}
.space-link{font-size:1.98cqw}
.lunch-link{font-size:1.70cqw;line-height:1.03}
.hero-link{gap:.62cqw}
.hero-link .panel-icon{width:3.28cqw;height:3.28cqw}
.instagram-link{padding-left:1.82cqw}
.guide-link{padding-left:1.58cqw;gap:.68cqw}
.space-link{padding-left:1.52cqw}
.lunch-link{padding-left:1.48cqw}

/* Information plate: prioritize a clean premium toy silhouette over forced asymmetry. */
.intro-card{
  border-radius:4.6cqw;
}
.intro-card::before{
  left:5%;right:5%;top:5.5%;
}

@media (max-width:640px){
  /* Deliberately repeat the PC ratios: no mobile-only enlargement of text/icons. */
  .hero-link{gap:.62cqw}
  .hero-link .panel-icon{width:3.28cqw;height:3.28cqw}
  .instagram-link{font-size:2.18cqw;padding-left:1.82cqw}
  .guide-link{font-size:1.72cqw;padding-left:1.58cqw;gap:.68cqw;line-height:1.02}
  .space-link{font-size:1.98cqw;padding-left:1.52cqw}
  .lunch-link{font-size:1.70cqw;padding-left:1.48cqw;line-height:1.03}
}

/* ===== v037 — final hero panel fit + proportional info card ===== */
/* Four acrylic controls: give glyphs breathing room and center each icon+label unit. */
.hero-link{box-sizing:border-box;overflow:visible;justify-content:center;padding-left:0;padding-right:0;line-height:1.16}
.instagram-link{font-size:2.02cqw;gap:.68cqw;padding-top:.10cqw;padding-bottom:.18cqw}
.instagram-link > span:last-child{display:block;line-height:1.22;padding-bottom:.08em}
.guide-link{font-size:1.60cqw;gap:.60cqw;padding-left:0;padding-right:0}
.guide-link .panel-copy{align-items:center;text-align:center;line-height:1.05}
.space-link{font-size:1.82cqw;gap:.60cqw;padding-left:0;padding-right:0}
.lunch-link{font-size:1.52cqw;gap:.54cqw;padding-left:0;padding-right:0;white-space:nowrap}
.hero-link .panel-icon{width:3.08cqw;height:3.08cqw}

/* Information card: all contents use the same artboard-relative cqw scale. */
.intro-card{border-radius:4.6cqw}
.intro-card::before{display:none}
.intro-gloss{left:8%;top:8%;width:19%;height:.72cqw;background:rgba(255,255,255,.58);filter:blur(.04cqw)}
.intro-copy{width:68%;padding-left:4.0%}
.intro-kicker{font-size:1.12cqw;line-height:1.12;margin:0 0 .18cqw}
.intro-card h1{font-size:1.82cqw;line-height:1.08;margin:0 0 .34cqw}
.intro-address{font-size:.78cqw;line-height:1.28}
.intro-line{gap:.42cqw}
.intro-phone-line{margin-top:.22cqw}
.intro-mini-icon{width:1.42cqw;height:1.42cqw;font-size:.58cqw;margin-top:.06cqw}
.intro-pin{font-size:.42cqw}.intro-phone{font-size:.70cqw}
.intro-illust{width:36%;margin:0 -2.2% -1.6% -4.0%}
.intro-bubble,.intro-sparkle{display:none!important}

@media (max-width:640px){
  .hero-link{justify-content:center;padding-left:0;padding-right:0;line-height:1.16}
  .instagram-link{font-size:2.02cqw;gap:.68cqw;padding-top:.10cqw;padding-bottom:.18cqw}
  .guide-link{font-size:1.60cqw;gap:.60cqw;padding-left:0;padding-right:0}
  .space-link{font-size:1.82cqw;gap:.60cqw;padding-left:0;padding-right:0}
  .lunch-link{font-size:1.52cqw;gap:.54cqw;padding-left:0;padding-right:0;white-space:nowrap}
  .hero-link .panel-icon{width:3.08cqw;height:3.08cqw}
  .intro-card{left:31.2%;top:68.0%;width:39.4%;height:17.0%}
  .intro-kicker{font-size:1.12cqw}.intro-card h1{font-size:1.82cqw}.intro-address{font-size:.78cqw}
  .intro-mini-icon{width:1.42cqw;height:1.42cqw}.intro-illust{width:36%}
}

/* ===== v038 — unified hero origin + refined information typography ===== */
/* One hero coordinate system at every viewport width. The fixed navigation remains independent. */
.hero-stage{transform:translateY(-4.0cqw)}
@media (max-width:640px){
  .hero-stage{transform:translateY(-4.0cqw)}
}

/* Four acrylic controls: optical centering and comfortable label fit. */
.instagram-link{font-size:1.92cqw;line-height:1.34;padding-top:.18cqw;padding-bottom:.28cqw}
.instagram-link > span:last-child{line-height:1.34;padding:0 0 .10em}
.guide-link{font-size:1.52cqw;line-height:1.10}
.guide-link .panel-copy{align-items:center;justify-content:center;text-align:center;line-height:1.08}
.space-link{font-size:1.72cqw;line-height:1.16}
.lunch-link{font-size:1.40cqw;line-height:1.16;gap:.62cqw}
@media (max-width:640px){
  .instagram-link{font-size:1.92cqw;line-height:1.34;padding-top:.18cqw;padding-bottom:.28cqw}
  .guide-link{font-size:1.52cqw;line-height:1.10}
  .space-link{font-size:1.72cqw;line-height:1.16}
  .lunch-link{font-size:1.40cqw;line-height:1.16;gap:.62cqw}
}

/* Bottom information toy: cleaner surface, stronger hierarchy, larger reading character. */
.intro-card{align-items:center;justify-content:flex-start;padding:1.35% 2.0% 1.25% 2.35%}
.intro-gloss{display:none!important}
.intro-copy{position:relative;z-index:4;width:69%;padding-left:3.0%;color:rgba(48,43,39,.92)}
.intro-kicker{
  font-family:"Boku","Hiragino Kaku Gothic ProN",sans-serif;
  font-size:1.34cqw;line-height:1.16;letter-spacing:.075em;font-weight:500;
  margin:0 0 .30cqw;color:rgba(62,55,50,.82)
}
.intro-card h1{
  font-family:"Kei","Boku",sans-serif;
  font-size:2.24cqw;line-height:1.08;letter-spacing:.025em;font-weight:400;
  margin:0 0 .52cqw;color:rgba(39,35,32,.96);text-shadow:0 .07em 0 rgba(255,255,255,.52)
}
.intro-address{
  font-family:"Boku","Hiragino Kaku Gothic ProN",sans-serif;
  font-size:1.00cqw;line-height:1.38;letter-spacing:.025em;color:rgba(58,51,46,.88)
}
.intro-line{gap:.50cqw}
.intro-phone-line{margin-top:.34cqw}
.intro-mini-icon{width:1.62cqw;height:1.62cqw;font-size:.68cqw;margin-top:.08cqw}
.intro-pin{font-size:.48cqw}.intro-phone{font-size:.78cqw}
.intro-illust{
  position:absolute;z-index:3;right:1.8%;bottom:4.5%;width:58%;height:auto;
  margin:0;max-width:none;filter:drop-shadow(0 .20cqw .20cqw rgba(75,58,48,.09));pointer-events:none
}
@media (max-width:640px){
  .intro-card{left:31.2%;top:68.0%;width:39.4%;height:17.0%}
  .intro-copy{width:69%;padding-left:3.0%}
  .intro-kicker{font-size:1.34cqw}
  .intro-card h1{font-size:2.24cqw}
  .intro-address{font-size:1.00cqw}
  .intro-mini-icon{width:1.62cqw;height:1.62cqw}
  .intro-illust{right:1.8%;bottom:4.5%;width:58%}
}

/* ===== v039 — mobile top characters intentionally tuck under translucent navigation ===== */
@media (max-width:640px){
  /* Keep the v038 hero coordinate system fixed; only reveal the three top characters a little more. */
  .hero-star-instagram{top:15.0%}
  .smile-closed-one{top:18.1%}
  .hero-star-guide{top:13.8%}
}

/* ===== v040 — hero proportional-scaling audit ===== */
/*
   The hero artwork must keep one 1363:1299 coordinate system at every width.
   v031 changed the mobile artboard height to 110.4cqw; percentage-based Y positions
   were therefore calculated against a taller box while sizes still followed cqw.
   That was the source of the growing vertical gaps during viewport reduction.
*/
@media (max-width:640px){
  .artboard{height:95.30cqw}
}

/* Keep thin structural strokes proportional to the same artboard width. */
.hero-link,
.intro-card{border-width:.073cqw}
.intro-card::after{border-width:.073cqw}

/* ===== v042 — mobile navigation thickness unified with desktop + remove mobile hero compensation ===== */
@media (max-width:640px){
  /* The mobile tray uses the same vertical geometry as desktop. */
  .site-header{
    top:1.15cqw;
    height:7.25cqw;
    border-radius:2.15cqw;
    box-shadow:0 .72cqw 2.25cqw rgba(90,66,43,.11),0 .16cqw .34cqw rgba(90,66,43,.08),inset 0 .12cqw .18cqw rgba(255,255,255,.98),inset 0 -.12cqw .22cqw rgba(192,159,122,.08);
  }
  .site-header.is-scrolled{
    top:.65cqw;
    height:5.75cqw;
    border-radius:1.75cqw;
  }

  /* Refit the two mobile-only header contents inside the thinner tray. */
  .brand{left:4.2%;top:11%;width:20.5%;height:78%}
  .brand-word{height:66%}
  .brand-badge{width:55%;margin-left:5%;margin-top:2%}
  .site-header.is-scrolled .brand{left:4.2%;top:8%;width:18.2%}
  .mobile-menu-toggle{
    right:3.4%;
    height:68%;
    min-width:21.5%;
    padding:0 2.45cqw;
    gap:1.05cqw;
    font-size:2.15cqw;
  }
  .menu-star{width:4.05cqw;height:4.05cqw}

  /* v039 existed only to compensate for the formerly oversized mobile tray. Restore the shared hero coordinates. */
  .hero-star-instagram{top:12.2%}
  .smile-closed-one{top:15.30%}
  .hero-star-guide{top:11.03%}
}

/* ===== v043 — hero integration: butter-yellow lunch toy + overlapping bottom info toy ===== */
/* Separate the lunch control from the peach information toy while preserving the gummy acrylic material. */
.lunch-link{
  background:linear-gradient(145deg,
    rgba(255,250,213,.91) 0%,
    rgba(255,238,164,.80) 56%,
    rgba(248,220,126,.84) 100%);
}

/* Pull the information toy into the hero/photo floor so it reads as part of the same scene. */
.intro-card{
  top:63.2%;
}

/* Let the reading characters bridge the card and the surrounding hero space. */
.intro-illust{
  right:-7.0%;
  bottom:-5.0%;
  width:62%;
}

/* Keep the same geometry at mobile widths: no mobile-only separation. */
@media (max-width:640px){
  .intro-card{top:63.2%}
  .intro-illust{right:-7.0%;bottom:-5.0%;width:62%}
}

/* ===== v044 — restore breathing room + make reading character bridge the info toy ===== */
/* Keep the main wordmark untouched. Move only the information toy slightly down from v043. */
.intro-card{top:64.1%}

/* Make the character visibly cross the right/bottom edge instead of reading as printed inside the card. */
.intro-illust{right:-16.0%;bottom:-13.0%;width:62%}

/* Preserve exactly the same relative geometry through mobile proportional scaling. */
@media (max-width:640px){
  .intro-card{top:64.1%}
  .intro-illust{right:-16.0%;bottom:-13.0%;width:62%}
}

/* ===== v045 — main wordmark depth study ===== */
/* Keep the original artwork, size and coordinates. Only separate it optically from the photo plane. */
.main-wordmark{
  filter:
    drop-shadow(0 -0.10cqw 0.08cqw rgba(255,255,255,.88))
    drop-shadow(0.10cqw 0.16cqw 0.06cqw rgba(255,255,255,.72))
    drop-shadow(0 0.42cqw 0.34cqw rgba(82,58,43,.20))
    drop-shadow(0 0.72cqw 0.92cqw rgba(82,58,43,.12));
  transform:translateY(-0.08cqw);
  transform-origin:50% 50%;
  will-change:filter,transform;
}

/* ===== v049 — background photo depth study ===== */
/* Static photo only: soften its contrast/edge presence so the existing wordmark, characters and acrylic toys read on nearer planes. */
.hero-photo{
  filter:saturate(.94) contrast(.965) brightness(1.018);
  opacity:.985;
  box-shadow:0 0 1.55cqw 1.00cqw rgba(255,255,255,.72);
}

/* ===== v056 — real OSAKA TAKATSUKI sign: 2.5s toy motion + soft floating depth ===== */
/* Base size and coordinates remain exactly on the established .takatsuki-badge values. */
.takatsuki-sign-motion{
  transform-origin:50% 72%;
  animation:takatsukiSignPlay 2.5s cubic-bezier(.22,.72,.24,1) infinite;
  filter:drop-shadow(0 .20cqw .16cqw rgba(82,58,43,.10)) drop-shadow(0 .46cqw .48cqw rgba(82,58,43,.12));
  will-change:transform,filter;
}
@keyframes takatsukiSignPlay{
  0%,62%,100%{transform:translateY(0) rotate(0deg) scale(1);filter:drop-shadow(0 .20cqw .16cqw rgba(82,58,43,.10)) drop-shadow(0 .46cqw .48cqw rgba(82,58,43,.12))}
  66%{transform:translateY(-.16cqw) rotate(-.55deg) scale(1.006);filter:drop-shadow(0 .25cqw .19cqw rgba(82,58,43,.09)) drop-shadow(0 .58cqw .58cqw rgba(82,58,43,.10))}
  69%{transform:translateY(-.23cqw) rotate(.42deg) scale(1.008);filter:drop-shadow(0 .29cqw .22cqw rgba(82,58,43,.08)) drop-shadow(0 .68cqw .66cqw rgba(82,58,43,.09))}
  72%{transform:translateY(.035cqw) rotate(-.18deg) scale(.998,1.012);filter:drop-shadow(0 .16cqw .13cqw rgba(82,58,43,.11)) drop-shadow(0 .37cqw .39cqw rgba(82,58,43,.13))}
  75%{transform:translateY(-.055cqw) rotate(.10deg) scale(1.003,.998);filter:drop-shadow(0 .22cqw .17cqw rgba(82,58,43,.10)) drop-shadow(0 .50cqw .51cqw rgba(82,58,43,.11))}
  79%{transform:translateY(0) rotate(0deg) scale(1);filter:drop-shadow(0 .20cqw .16cqw rgba(82,58,43,.10)) drop-shadow(0 .46cqw .48cqw rgba(82,58,43,.12))}
}
@media (prefers-reduced-motion:reduce){.takatsuki-sign-motion{animation:none}}

/* ===== v057 — SECTION 2 / site-wide section design prototype ===== */
/* Section content follows the same rule as the hero: one fixed composition that scales proportionally at every viewport width. */
.about-section{
  position:relative;
  width:min(100vw,1363px);
  height:min(145vw,1976px);
  margin:0 auto;
  background:
    radial-gradient(circle at 15% 10%,rgba(255,244,184,.24),transparent 24%),
    radial-gradient(circle at 86% 28%,rgba(210,244,248,.22),transparent 22%),
    linear-gradient(180deg,#fff 0%,#fffdfa 50%,#fff 100%);
  overflow:hidden;
  container-type:inline-size;
}
.about-stage{position:absolute;inset:0}
.section-heading-toy{
  position:absolute;z-index:4;left:12%;top:5.0%;width:76%;height:8.2%;
  display:flex;align-items:center;justify-content:center;
  border:.073cqw solid rgba(189,172,137,.24);border-radius:999px;
  background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(255,251,226,.78) 46%,rgba(236,249,244,.70));
  box-shadow:0 .62cqw 1.65cqw rgba(91,68,42,.10),inset 0 .13cqw .18cqw rgba(255,255,255,.98),inset 0 -.12cqw .22cqw rgba(210,183,137,.10);
  backdrop-filter:blur(1.15cqw) saturate(1.08);-webkit-backdrop-filter:blur(1.15cqw) saturate(1.08)
}
.section-heading-toy::after{content:"";position:absolute;inset:.48cqw;border-radius:999px;border:.073cqw solid rgba(255,255,255,.74);pointer-events:none}
.section-heading-star{position:absolute;z-index:3;left:-4.5%;top:-53%;width:24%;height:205%;object-fit:contain;filter:drop-shadow(0 .28cqw .24cqw rgba(74,59,42,.12));pointer-events:none}
.section-heading-copy{text-align:center;transform:translateX(1.8cqw)}
.section-heading-en{display:block;margin-bottom:.42cqw;font-family:"Boku",sans-serif;font-size:.86cqw;letter-spacing:.34em;color:rgba(106,91,73,.56)}
.section-heading-copy :is(h1,h2){margin:0;font-family:"Kei",sans-serif;font-size:3.0cqw;font-weight:400;line-height:1;letter-spacing:.035em;color:rgba(39,36,32,.94);text-shadow:0 .08cqw 0 rgba(255,255,255,.95)}
.section-heading-spark{position:absolute;right:4.0%;top:25%;font-size:2.1cqw;color:#f2df68;filter:drop-shadow(0 .12cqw .12cqw rgba(105,87,53,.10));transform:rotate(12deg)}

.about-letter{
  position:absolute;z-index:2;left:15.5%;top:17.0%;width:69%;height:75.5%;
  padding:5.0% 5.4% 4.3%;text-align:center;color:rgba(49,44,40,.92);
  border:.073cqw solid rgba(192,174,145,.17);border-radius:4.2cqw;
  background:linear-gradient(145deg,rgba(255,255,255,.84),rgba(255,253,247,.76));
  box-shadow:0 1.15cqw 3.5cqw rgba(84,64,43,.075),inset 0 .16cqw .20cqw rgba(255,255,255,.98),inset 0 -.10cqw .25cqw rgba(211,187,150,.06);
  backdrop-filter:blur(.65cqw);-webkit-backdrop-filter:blur(.65cqw)
}
.about-watermark{position:absolute;z-index:0;left:12%;top:18%;width:76%;opacity:.045;filter:grayscale(1);pointer-events:none}
.about-eyebrow{position:relative;z-index:2;margin:0;font-family:"Kei",sans-serif;font-size:1.72cqw;line-height:1.2;letter-spacing:.06em;color:#df759a}
.about-rule{position:relative;z-index:2;width:36%;margin:1.2cqw auto 2.35cqw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75cqw;color:#f0dd68}
.about-rule span{height:.073cqw;background:linear-gradient(90deg,transparent,rgba(216,190,110,.48),transparent)}
.about-rule i{font-style:normal;font-size:1.12cqw;filter:drop-shadow(0 .1cqw .1cqw rgba(91,70,38,.10))}
.about-body{position:relative;z-index:2;font-family:"Boku","Hiragino Kaku Gothic ProN",sans-serif;font-size:1.38cqw;line-height:1.62;letter-spacing:.035em}
.about-body p{margin:0 0 2.12cqw}
.about-signature{position:relative;z-index:2;margin:2.75cqw 0 0;font-family:"Boku",sans-serif;font-size:1.38cqw;font-weight:700;letter-spacing:.025em}
.about-monogram{position:absolute;z-index:2;left:50%;bottom:3.1%;width:10cqw;height:6.0cqw;transform:translateX(-50%);color:rgba(97,91,84,.18);font-family:Georgia,serif}
.about-monogram>span{position:absolute;top:0;font-size:4.1cqw;font-weight:400;line-height:1}.about-monogram>span:first-child{left:2.35cqw}.about-monogram>span:nth-child(2){left:3.7cqw}
.about-monogram small{position:absolute;left:0;right:0;bottom:0;font-family:"Boku",sans-serif;font-size:.68cqw;letter-spacing:.04em}
@media (prefers-reduced-motion:reduce){.section-heading-star{animation:none}}

/* ===== v058 — SECTION 2 refinement ===== */
/* starmove-1: align the GIF canvas edge with the viewport edge so its crop line never appears inside the page. */
.section-heading-star-one{
  left:-15.8%;
  top:-53%;
  width:24%;
  height:205%;
}
.section-heading-star-two{
  left:auto;
  right:-12.8%;
  top:-42%;
  width:19%;
  height:185%;
  opacity:.96;
  filter:drop-shadow(0 .24cqw .22cqw rgba(74,59,42,.10));
}

/* Stars live behind the letter and only peek over its edge. */
.about-peek-layer{position:absolute;z-index:1;left:15.5%;top:17%;width:69%;height:75.5%;pointer-events:none}
.about-peek{position:absolute;display:block;object-fit:contain;filter:drop-shadow(0 .24cqw .20cqw rgba(70,55,38,.11));will-change:transform}
.about-peek-one{left:-8.2%;top:18%;width:14%;animation:aboutPeekLeft 8.8s ease-in-out infinite}
.about-peek-two{right:-7.2%;top:43%;width:12.5%;animation:aboutPeekRight 10.6s ease-in-out 2.1s infinite}
.about-peek-three{left:14%;bottom:-5.8%;width:11.5%;animation:aboutPeekBottom 11.8s ease-in-out 4.4s infinite}
@keyframes aboutPeekLeft{0%,15%,44%,100%{transform:translateX(4.8cqw) rotate(-8deg)}22%,35%{transform:translateX(0) rotate(5deg)}}
@keyframes aboutPeekRight{0%,20%,53%,100%{transform:translateX(-4.3cqw) rotate(8deg)}29%,43%{transform:translateX(0) rotate(-5deg)}}
@keyframes aboutPeekBottom{0%,24%,57%,100%{transform:translateY(-3.8cqw) rotate(-5deg)}33%,47%{transform:translateY(0) rotate(4deg)}}

/* Keep the requested nursery logo, but treat it as a large embossed brand texture instead of a Word-style watermark. */
.about-watermark{
  left:auto;
  right:-12%;
  top:28%;
  width:78%;
  opacity:.026;
  filter:grayscale(1) contrast(.82) drop-shadow(-.08cqw -.08cqw 0 rgba(255,255,255,.86)) drop-shadow(.08cqw .08cqw 0 rgba(92,78,63,.20));
  transform:rotate(-5deg);
}

/* Signature: quiet hierarchy, more like a formal closing than another paragraph. */
.about-signature{position:relative;z-index:2;margin:2.7cqw auto 0;display:flex;flex-direction:column;align-items:center;gap:.42cqw;font-family:"Boku",sans-serif;color:rgba(48,43,39,.92)}
.about-signature::before{content:"";width:5.2cqw;height:.073cqw;margin-bottom:.36cqw;background:linear-gradient(90deg,transparent,rgba(177,151,111,.48),transparent)}
.about-signature-kicker{font-size:.64cqw;letter-spacing:.28em;color:rgba(128,104,79,.52)}
.about-signature-role{font-size:.92cqw;letter-spacing:.055em;color:rgba(72,64,57,.68)}
.about-signature strong{font-family:"Kei","Boku",sans-serif;font-size:1.72cqw;font-weight:400;letter-spacing:.10em;color:rgba(42,38,34,.95)}
.about-monogram{display:none!important}
.about-duracle-motion{position:absolute;z-index:2;left:50%;bottom:1.15%;width:10.8%;height:auto;transform:translateX(-50%);object-fit:contain;opacity:.72;filter:drop-shadow(0 .18cqw .20cqw rgba(74,61,49,.07))}

@media (prefers-reduced-motion:reduce){
  .section-heading-star-one,.section-heading-star-two,.about-peek-one,.about-peek-two,.about-peek-three{animation:none!important}
}

/* ===== v059 — SECTION 2 polish ===== */
/* Heading stars: enlarge both GIFs, hide crop lines cleanly, and let move2 peek from under the heading toy panel. */
.section-heading-toy{
  overflow:visible;
  isolation:isolate;
}
.section-heading-star-box{
  position:absolute;
  display:block;
  overflow:hidden;
  pointer-events:none;
}
.section-heading-star-box-one{
  left:-12%;
  top:-36%;
  width:18.5%;
  height:164%;
}
.section-heading-star-box-two{
  left:41.4%;
  bottom:-39%;
  width:16.0%;
  height:122%;
  z-index:2;
}
.section-heading-star{
  position:absolute;
  display:block;
  object-fit:contain;
  pointer-events:none;
  filter:drop-shadow(0 .28cqw .24cqw rgba(74,59,42,.12));
}
.section-heading-star-one{
  left:-7%;
  top:-10%;
  width:132%;
  height:132%;
}
.section-heading-star-two{
  left:-12%;
  top:22%;
  width:124%;
  height:124%;
  opacity:.98;
  filter:drop-shadow(0 .22cqw .20cqw rgba(74,59,42,.10));
}
.section-heading-spark{
  right:4.8%;
}
.section-heading-copy{
  transform:translateX(0);
}

/* Keep the letter card feeling premium while still allowing the requested playful peeking stars. */
.about-letter{
  overflow:hidden;
  isolation:isolate;
}
.about-watermark{
  right:-8%;
  top:31%;
  width:72%;
  opacity:.022;
}
.about-signature{
  margin-top:2.95cqw;
}
.about-signature-role{
  font-size:.98cqw;
  letter-spacing:.075em;
  color:rgba(70,61,54,.72);
}
.about-signature strong{
  letter-spacing:.13em;
}

/* Rebuild the Duracle footer mark from the saved PNG parts: faint base, then D -> D -> text. */
.about-duracle-motion{display:none!important}
.about-duracle-rebuild{
  position:absolute;
  z-index:2;
  left:50%;
  bottom:1.18%;
  width:12.3%;
  aspect-ratio:1/1;
  transform:translateX(-50%);
  opacity:.80;
  filter:drop-shadow(0 .18cqw .20cqw rgba(74,61,49,.07));
  pointer-events:none;
}
.about-duracle-base,
.about-duracle-piece{
  position:absolute;
  display:block;
  height:auto;
  pointer-events:none;
}
.about-duracle-base{
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  opacity:.15;
}
.about-duracle-piece{
  opacity:0;
  will-change:opacity,transform;
}
.about-duracle-piece-left{
  left:43.85%;
  top:28.7%;
  width:8.75%;
  animation:duracleBuildLeft 6.6s ease-in-out infinite;
}
.about-duracle-piece-right{
  left:47.30%;
  top:28.7%;
  width:8.75%;
  animation:duracleBuildRight 6.6s ease-in-out infinite;
}
.about-duracle-piece-moji{
  left:38.8%;
  top:45.05%;
  width:22.35%;
  animation:duracleBuildMoji 6.6s ease-in-out infinite;
}
@keyframes duracleBuildLeft{
  0%,9%{opacity:0;transform:translateY(.32cqw)}
  16%,78%{opacity:.96;transform:translateY(0)}
  88%,100%{opacity:0;transform:translateY(.16cqw)}
}
@keyframes duracleBuildRight{
  0%,21%{opacity:0;transform:translateY(.32cqw)}
  29%,78%{opacity:.96;transform:translateY(0)}
  88%,100%{opacity:0;transform:translateY(.16cqw)}
}
@keyframes duracleBuildMoji{
  0%,34%{opacity:0;transform:translateY(.42cqw)}
  43%,78%{opacity:.96;transform:translateY(0)}
  88%,100%{opacity:0;transform:translateY(.18cqw)}
}

@media (prefers-reduced-motion:reduce){
  .about-duracle-piece-left,.about-duracle-piece-right,.about-duracle-piece-moji{animation:none!important;opacity:.96;transform:none}
}

/* ===== v060 — Section 2 cleanup / typography refinement ===== */
/* Remove v059 crop wrappers/masks entirely. Stars are direct stage children now. */
.section-heading-star-box{display:none!important}
.section-heading-star{
  position:absolute;
  display:block;
  object-fit:contain;
  pointer-events:none;
  will-change:auto;
}
/* starmove-1: canvas left edge is locked to the page left edge. No mask, no right-side crop line. */
.section-heading-star-one{
  z-index:5;
  left:0;
  top:.72cqw;
  width:24.2cqw;
  height:auto;
  opacity:1;
  filter:drop-shadow(0 .30cqw .26cqw rgba(74,59,42,.11));
}
/* starmove-2: larger, behind the title panel. The panel itself hides the emergence point naturally. */
.section-heading-star-two{
  z-index:3;
  left:61.2cqw;
  top:3.0cqw;
  width:25.8cqw;
  height:auto;
  opacity:.98;
  filter:drop-shadow(0 .26cqw .23cqw rgba(74,59,42,.10));
}
.section-heading-toy{
  z-index:4;
  overflow:visible;
}
.section-heading-copy{transform:none}
/* Replace the handwritten-looking Kei heading with a cleaner premium rounded Gothic. */
.section-heading-copy :is(h1,h2){
  font-family:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:2.82cqw;
  font-weight:600;
  letter-spacing:.055em;
  line-height:1.05;
  color:rgba(47,43,39,.94);
  text-shadow:0 .06cqw 0 rgba(255,255,255,.90);
}

/* Signature: slightly more formal and editorial without becoming stiff. */
.about-signature-role{
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:.94cqw;
  font-weight:500;
  letter-spacing:.08em;
  color:rgba(70,61,54,.70);
}
.about-signature strong{
  font-family:"Hiragino Mincho ProN","Yu Mincho","YuMincho",serif;
  font-size:1.76cqw;
  font-weight:600;
  letter-spacing:.16em;
  color:rgba(40,36,33,.95);
  text-shadow:0 .05cqw 0 rgba(255,255,255,.90);
}

/* Duracle: static base artwork only, presented quietly as a premium closing mark. */
.about-duracle-rebuild{display:none!important}
.about-duracle-static{
  position:absolute;
  z-index:2;
  left:50%;
  bottom:.78%;
  width:18.2cqw;
  aspect-ratio:1/1;
  transform:translateX(-50%);
  pointer-events:none;
  opacity:.78;
}
.about-duracle-static::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:56%;
  height:34%;
  transform:translate(-50%,-47%);
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(255,255,255,.80) 0%,rgba(255,250,240,.30) 48%,transparent 76%);
  filter:blur(.38cqw);
}
.about-duracle-static img{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 .18cqw .20cqw rgba(74,61,49,.055));
}

@media (prefers-reduced-motion:reduce){
  .section-heading-star-one,.section-heading-star-two{animation:none!important}
}

/* ===== v061 — Section 2 composition refinement ===== */
/* starmove-2: the GIF bottom edge is locked to the top edge of the white main letter panel. */
.section-heading-star-two{
  z-index:1;
  left:61.0cqw;
  top:10.1cqw;
  width:25.8cqw;
  height:auto;
  opacity:.98;
  filter:drop-shadow(0 .26cqw .23cqw rgba(74,59,42,.10));
}

/* Watermark: remove the diagonal decorative feel and turn it into a quiet embossed brand trace. */
.about-watermark{
  left:50%;
  right:auto;
  top:34.5%;
  width:59%;
  opacity:.018;
  transform:translateX(-50%);
  filter:
    grayscale(1)
    contrast(.62)
    drop-shadow(-.07cqw -.07cqw 0 rgba(255,255,255,.84))
    drop-shadow(.07cqw .07cqw 0 rgba(92,78,63,.16));
}

/* Signature: more breathing room and a clearer editorial hierarchy. */
.about-signature{
  margin-top:3.35cqw;
  gap:.50cqw;
}
.about-signature::before{
  width:6.1cqw;
  margin-bottom:.48cqw;
  opacity:.78;
}
.about-signature-kicker{
  font-size:.58cqw;
  letter-spacing:.31em;
  color:rgba(120,100,80,.46);
}
.about-signature-role{
  font-size:.88cqw;
  font-weight:500;
  letter-spacing:.085em;
  color:rgba(68,60,53,.66);
}
.about-signature strong{
  margin-top:.10cqw;
  font-size:1.92cqw;
  font-weight:600;
  letter-spacing:.18em;
  color:rgba(38,34,31,.96);
}

/* Closing company mark: static base artwork, with only a soft paper-like glow and restrained depth. */
.about-duracle-static{
  bottom:.92%;
  width:17.4cqw;
  opacity:.74;
}
.about-duracle-static::before{
  width:61%;
  height:37%;
  background:radial-gradient(ellipse,rgba(255,255,255,.90) 0%,rgba(255,249,237,.30) 50%,transparent 78%);
  filter:blur(.46cqw);
}
.about-duracle-static img{
  filter:
    drop-shadow(0 .12cqw .11cqw rgba(255,255,255,.82))
    drop-shadow(0 .24cqw .28cqw rgba(74,61,49,.050));
}

/* ===== v062 — starmove-2 position + watermark treatment ===== */
/* Move the whole GIF down so more of the artwork clears the upper heading panel. */
.section-heading-star-two{
  top:12.0cqw;
}

/* Replace the near-invisible watermark with a restrained blind-emboss treatment. */
.about-watermark{
  left:50%;
  right:auto;
  top:33.2%;
  width:53%;
  opacity:.060;
  transform:translateX(-50%) scale(1.02);
  filter:
    grayscale(1)
    contrast(.72)
    brightness(1.08)
    drop-shadow(-.10cqw -.10cqw 0 rgba(255,255,255,.96))
    drop-shadow(.10cqw .10cqw 0 rgba(115,101,87,.12));
  mix-blend-mode:multiply;
}
.about-letter::after{
  content:"";
  position:absolute;
  z-index:0;
  left:27%;
  top:30.5%;
  width:46%;
  height:17%;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(255,252,245,.78) 0%,rgba(247,243,235,.28) 52%,transparent 76%);
  filter:blur(1.15cqw);
  pointer-events:none;
}

/* ===== v064 — SECTION 3 / りとるすたーのこころ ===== */
.heart-section{
  position:relative;
  width:min(100vw,1363px);
  min-height:min(92vw,1254px);
  margin:0 auto;
  overflow:hidden;
  container-type:inline-size;
  background:
    radial-gradient(circle at 12% 20%,rgba(252,218,225,.25),transparent 24%),
    radial-gradient(circle at 88% 47%,rgba(255,241,167,.22),transparent 25%),
    radial-gradient(circle at 20% 86%,rgba(216,245,219,.24),transparent 23%),
    linear-gradient(180deg,#fff 0%,#fffdf9 48%,#fff 100%);
}
.heart-stage{position:relative;width:100%;padding:5.1cqw 0 8.4cqw}
.heart-heading-toy{
  position:relative;z-index:2;width:76%;height:11.89cqw;margin:0 auto;
  display:flex;align-items:center;justify-content:center;
  border:.073cqw solid rgba(189,172,137,.24);border-radius:999px;
  background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(255,247,249,.78) 42%,rgba(247,250,226,.74) 72%,rgba(239,250,243,.74));
  box-shadow:0 .62cqw 1.65cqw rgba(91,68,42,.09),inset 0 .13cqw .18cqw rgba(255,255,255,.98),inset 0 -.12cqw .22cqw rgba(210,183,137,.08);
  backdrop-filter:blur(1.15cqw) saturate(1.08);-webkit-backdrop-filter:blur(1.15cqw) saturate(1.08)
}
.heart-heading-toy::after{content:"";position:absolute;inset:.48cqw;border-radius:999px;border:.073cqw solid rgba(255,255,255,.76);pointer-events:none}
.heart-heading-copy{text-align:center}
.heart-heading-en{display:block;margin-bottom:.42cqw;font-family:"Boku",sans-serif;font-size:.86cqw;letter-spacing:.34em;color:rgba(106,91,73,.56)}
.heart-heading-copy h2{margin:0;font-family:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:2.82cqw;font-weight:600;line-height:1.05;letter-spacing:.055em;color:rgba(47,43,39,.94);text-shadow:0 .06cqw 0 rgba(255,255,255,.90)}
.heart-heading-spark{position:absolute;right:4%;top:25%;font-size:2.1cqw;color:#f2df68;filter:drop-shadow(0 .12cqw .12cqw rgba(105,87,53,.10));transform:rotate(12deg)}
.heart-intro{text-align:center;margin:4.2cqw 0 3.0cqw;color:rgba(59,52,46,.78)}
.heart-intro span{display:block;margin-bottom:.7cqw;font-family:"Boku",sans-serif;font-size:.68cqw;letter-spacing:.31em;color:rgba(120,100,80,.45)}
.heart-intro p{margin:0;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:1.18cqw;letter-spacing:.10em}
.heart-accordion{width:69%;margin:0 auto;display:grid;gap:1.55cqw}
.heart-card{
  position:relative;overflow:visible;border:.073cqw solid rgba(181,164,137,.17);border-radius:3.1cqw;
  box-shadow:0 .70cqw 2.2cqw rgba(83,64,45,.075),inset 0 .14cqw .18cqw rgba(255,255,255,.96),inset 0 -.10cqw .20cqw rgba(205,183,151,.055);
  transition:transform .42s cubic-bezier(.22,.72,.24,1),box-shadow .42s ease;
}
.heart-card::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(118deg,rgba(255,255,255,.55),transparent 34%,rgba(255,255,255,.16) 62%,rgba(255,255,255,.45));opacity:.72}
.heart-card-philosophy{background:linear-gradient(135deg,rgba(255,255,255,.90),rgba(255,235,240,.70))}
.heart-card-policy{background:linear-gradient(135deg,rgba(255,255,255,.90),rgba(255,247,194,.70))}
.heart-card-goal{background:linear-gradient(135deg,rgba(255,255,255,.90),rgba(225,249,226,.72))}
.heart-card.is-open{transform:translateY(-.10cqw);box-shadow:0 1.0cqw 2.8cqw rgba(83,64,45,.10),inset 0 .14cqw .18cqw rgba(255,255,255,.98)}
.heart-card-toggle{position:relative;z-index:1;width:100%;min-height:10.7cqw;padding:1.65cqw 3.0cqw 1.55cqw 2.3cqw;border:0;background:none;color:inherit;display:grid;grid-template-columns:5.2cqw 1fr 4.2cqw;align-items:center;gap:1.15cqw;text-align:left;cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent}
.heart-card-number{align-self:start;padding-top:.40cqw;font-family:Georgia,"Times New Roman",serif;font-size:1.02cqw;letter-spacing:.14em;color:rgba(103,88,72,.42)}
.heart-card-headings{display:block}
.heart-card-title{display:block;margin-bottom:.62cqw;font-family:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:2.05cqw;font-weight:600;letter-spacing:.08em;color:rgba(46,41,37,.94)}
/* v065 | Section 3 title stars: static PNG + lightweight motion */
.heart-card-title-row{display:flex;align-items:center;gap:1.0cqw;margin-bottom:.62cqw}
.heart-card-title-row .heart-card-title{margin-bottom:0}
.heart-title-star{display:block;width:2.05cqw;height:2.05cqw;object-fit:contain;transform-origin:50% 54%;will-change:transform}
.heart-title-star-left{animation:heartStarSwayLeft 4.8s ease-in-out infinite}
.heart-title-star-right{animation:heartStarSwayRight 5.35s ease-in-out -.9s infinite}
.heart-card.is-star-opening .heart-title-star-left{animation:heartStarOpenLeft .92s cubic-bezier(.22,.72,.24,1) both}
.heart-card.is-star-opening .heart-title-star-right{animation:heartStarOpenRight .98s cubic-bezier(.22,.72,.24,1) both}
.heart-card.is-star-closing .heart-title-star-left{animation:heartStarCloseLeft .52s cubic-bezier(.22,.72,.24,1) both}
.heart-card.is-star-closing .heart-title-star-right{animation:heartStarCloseRight .56s cubic-bezier(.22,.72,.24,1) both}
@keyframes heartStarSwayLeft{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-.14cqw) rotate(7deg)}}
@keyframes heartStarSwayRight{0%,100%{transform:translateY(-.05cqw) rotate(7deg)}50%{transform:translateY(.11cqw) rotate(-6deg)}}
@keyframes heartStarOpenLeft{0%{transform:translate(0,0) rotate(-6deg) scale(1)}28%{transform:translate(-.30cqw,-.18cqw) rotate(205deg) scale(1.13)}72%{transform:translate(-.08cqw,-.07cqw) rotate(650deg) scale(1.06)}100%{transform:translate(0,0) rotate(714deg) scale(1)}}
@keyframes heartStarOpenRight{0%{transform:translate(0,0) rotate(7deg) scale(1)}28%{transform:translate(.30cqw,-.18cqw) rotate(220deg) scale(1.13)}72%{transform:translate(.08cqw,-.07cqw) rotate(665deg) scale(1.06)}100%{transform:translate(0,0) rotate(727deg) scale(1)}}
@keyframes heartStarCloseLeft{0%{transform:rotate(-6deg) scale(1)}35%{transform:rotate(-15deg) scale(.94)}68%{transform:rotate(9deg) scale(1.04)}100%{transform:rotate(-6deg) scale(1)}}
@keyframes heartStarCloseRight{0%{transform:rotate(7deg) scale(1)}35%{transform:rotate(16deg) scale(.94)}68%{transform:rotate(-8deg) scale(1.04)}100%{transform:rotate(7deg) scale(1)}}

.heart-card-lead{display:block;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:1.28cqw;font-weight:600;line-height:1.48;letter-spacing:.055em;color:rgba(71,124,147,.90)}
.heart-card-action{position:relative;width:3.35cqw;height:3.35cqw;border-radius:50%;justify-self:end;background:rgba(255,255,255,.64);border:.073cqw solid rgba(143,125,104,.14);box-shadow:0 .22cqw .55cqw rgba(85,65,44,.07),inset 0 .10cqw .14cqw rgba(255,255,255,.95);transition:transform .42s cubic-bezier(.22,.72,.24,1),background .3s ease}
.heart-card-action i,.heart-card-action b{position:absolute;left:50%;top:50%;width:1.16cqw;height:.10cqw;border-radius:999px;background:rgba(78,67,57,.60);transform:translate(-50%,-50%);transition:transform .36s cubic-bezier(.22,.72,.24,1),opacity .25s ease}
.heart-card-action b{transform:translate(-50%,-50%) rotate(90deg)}
.heart-card.is-open .heart-card-action{transform:rotate(180deg);background:rgba(255,255,255,.82)}
.heart-card.is-open .heart-card-action b{transform:translate(-50%,-50%) rotate(0);opacity:0}
.heart-card-panel{position:relative;z-index:1;display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .58s cubic-bezier(.22,.72,.24,1),opacity .34s ease}
.heart-card.is-open .heart-card-panel{grid-template-rows:1fr;opacity:1}
.heart-card-panel-inner{min-height:0;overflow:hidden}
.heart-card-panel-inner::before{content:"";display:block;height:.073cqw;margin:0 3.0cqw;background:linear-gradient(90deg,transparent,rgba(133,113,91,.20) 18%,rgba(133,113,91,.20) 82%,transparent)}
.heart-card-panel p{margin:0 auto;padding:2.35cqw 0 3.15cqw;width:78%;font-family:"Boku","Hiragino Kaku Gothic ProN",sans-serif;font-size:1.30cqw;line-height:1.86;letter-spacing:.04em;text-align:center;text-wrap:pretty;line-break:strict;word-break:normal;overflow-wrap:normal;color:rgba(49,44,40,.88)}
.heart-card-toggle:focus-visible{outline:.18cqw solid rgba(91,161,184,.42);outline-offset:-.35cqw;border-radius:3.1cqw}
@media (prefers-reduced-motion:reduce){.heart-card,.heart-card-panel,.heart-card-action,.heart-card-action b{transition:none!important}.heart-title-star{animation:none!important}}


/* ===== v067 — Section 3 class-character peeks ===== */
/* The open card becomes the top stacking context. The character itself sits behind
   that card, but the whole open-card stack stays above the following card. */
.heart-card.is-open{z-index:4}
.heart-card.is-star-closing{z-index:4}
.heart-peek-character{
  position:absolute;z-index:-1;bottom:-3.55cqw;display:block;object-fit:contain;
  pointer-events:none;opacity:0;transform-origin:50% 48%;
  will-change:transform,opacity;
}
/* Fixed, intentionally irregular positions: not runtime-random, so composition stays designed. */
.heart-peek-hoshi{left:31%;width:5.45cqw;height:5.45cqw;transform:translate(-50%,-2.2cqw) rotate(180deg) scale(.72)}
.heart-peek-niji{left:69%;bottom:-4.05cqw;width:8.2cqw;height:5.0cqw;transform:translate(-50%,-2.0cqw) rotate(180deg) scale(.78)}
.heart-peek-kumo{left:43%;bottom:-4.0cqw;width:7.0cqw;height:5.7cqw;transform:translate(-50%,-2.1cqw) rotate(180deg) scale(.76)}

.heart-card.is-open .heart-peek-hoshi{opacity:1;animation:heartPeekHoshiIn 1.08s .34s cubic-bezier(.20,.78,.22,1.12) both,heartPeekHoshiIdle 2.8s 1.42s ease-in-out infinite}
.heart-card.is-open .heart-peek-niji{opacity:1;animation:heartPeekNijiIn 1.12s .34s cubic-bezier(.20,.78,.22,1.08) both,heartPeekNijiIdle 3.25s 1.46s ease-in-out infinite}
.heart-card.is-open .heart-peek-kumo{opacity:1;animation:heartPeekKumoIn 1.18s .34s cubic-bezier(.20,.78,.22,1.10) both,heartPeekKumoIdle 3.6s 1.52s ease-in-out infinite}
.heart-card.is-star-closing .heart-peek-character{animation:heartPeekCharacterHide .34s ease-in both}

@keyframes heartPeekHoshiIn{
  0%{opacity:0;transform:translate(-50%,-2.4cqw) rotate(174deg) scale(.72)}
  38%{opacity:1;transform:translate(-50%,.30cqw) rotate(188deg) scale(1.10)}
  58%{transform:translate(-50%,-.30cqw) rotate(176deg) scale(.98)}
  78%{transform:translate(-50%,.12cqw) rotate(184deg) scale(1.04)}
  100%{opacity:1;transform:translate(-50%,0) rotate(180deg) scale(1)}
}
@keyframes heartPeekHoshiIdle{0%,100%{transform:translate(-50%,0) rotate(177deg)}50%{transform:translate(-50%,.30cqw) rotate(184deg)}}

@keyframes heartPeekNijiIn{
  0%{opacity:0;transform:translate(-50%,-2.2cqw) rotate(180deg) scale(.78)}
  42%{opacity:1;transform:translate(-50%,.28cqw) rotate(176deg) scale(1.06)}
  66%{transform:translate(-50%,-.18cqw) rotate(183deg) scale(.99)}
  100%{opacity:1;transform:translate(-50%,0) rotate(180deg) scale(1)}
}
@keyframes heartPeekNijiIdle{0%,100%{transform:translate(-50%,0) rotate(178deg)}50%{transform:translate(-50%,.22cqw) rotate(182deg)}}

@keyframes heartPeekKumoIn{
  0%{opacity:0;transform:translate(-50%,-2.35cqw) rotate(180deg) scale(.76)}
  34%{opacity:1;transform:translate(-50%,.36cqw) rotate(185deg) scale(1.08)}
  55%{transform:translate(-50%,-.22cqw) rotate(176deg) scale(.98)}
  76%{transform:translate(-50%,.18cqw) rotate(183deg) scale(1.03)}
  100%{opacity:1;transform:translate(-50%,0) rotate(180deg) scale(1)}
}
@keyframes heartPeekKumoIdle{0%,100%{transform:translate(-50%,0) rotate(178deg)}50%{transform:translate(-50%,.34cqw) rotate(182deg)}}

@keyframes heartPeekCharacterHide{
  0%{opacity:1}
  100%{opacity:0;transform:translate(-50%,-2.4cqw) rotate(180deg) scale(.80)}
}
@media (prefers-reduced-motion:reduce){
  .heart-peek-character,.heart-card.is-open .heart-peek-character,.heart-card.is-star-closing .heart-peek-character{animation:none!important}
  .heart-card.is-open .heart-peek-character{opacity:1}
  .heart-card.is-open .heart-peek-hoshi{transform:translate(-50%,0) rotate(180deg)}
  .heart-card.is-open .heart-peek-niji{transform:translate(-50%,0) rotate(180deg)}
  .heart-card.is-open .heart-peek-kumo{transform:translate(-50%,0) rotate(180deg)}
}


/* ===== v069 — true card-surface masking for class characters ===== */
/* Layer order inside an open card:
   card base < peeking character < card surface mask < card content.
   The open card itself stays above following cards, so the visible part of the
   character may overlap the next card without changing any layout geometry. */
.heart-card{isolation:isolate}
.heart-card::after{
  content:"";position:absolute;z-index:2;inset:0;border-radius:inherit;pointer-events:none;
  background:transparent;
}
.heart-card-philosophy::after{background:linear-gradient(135deg,rgba(255,255,255,.90),rgba(255,235,240,.70))}
.heart-card-policy::after{background:linear-gradient(135deg,rgba(255,255,255,.90),rgba(255,247,194,.70))}
.heart-card-goal::after{background:linear-gradient(135deg,rgba(255,255,255,.90),rgba(225,249,226,.72))}
.heart-card::before{z-index:3}
.heart-card-toggle,.heart-card-panel{z-index:4}
.heart-peek-character{z-index:1;transform-origin:50% 50%}

/* Upright characters. Their upper area remains physically behind the opened card;
   only the portion crossing the card's bottom edge is visible. */
.heart-peek-hoshi{left:31%;bottom:-3.35cqw;width:6.15cqw;height:6.15cqw;transform:translate(-50%,-1.75cqw) scale(.78)}
.heart-peek-niji{left:69%;bottom:-3.55cqw;width:9.15cqw;height:5.25cqw;transform:translate(-50%,-1.65cqw) scale(.80)}
.heart-peek-kumo{left:43%;bottom:-3.70cqw;width:7.85cqw;height:6.35cqw;transform:translate(-50%,-1.75cqw) scale(.78)}

.heart-card.is-open .heart-peek-hoshi{opacity:1;animation:heartPeekHoshiInV069 1.08s .34s cubic-bezier(.20,.78,.22,1.12) both,heartPeekHoshiIdleV069 2.8s 1.42s ease-in-out infinite}
.heart-card.is-open .heart-peek-niji{opacity:1;animation:heartPeekNijiInV069 1.12s .34s cubic-bezier(.20,.78,.22,1.08) both,heartPeekNijiIdleV069 3.25s 1.46s ease-in-out infinite}
.heart-card.is-open .heart-peek-kumo{opacity:1;animation:heartPeekKumoInV069 1.18s .34s cubic-bezier(.20,.78,.22,1.10) both,heartPeekKumoIdleV069 3.6s 1.52s ease-in-out infinite}

@keyframes heartPeekHoshiInV069{
  0%{opacity:0;transform:translate(-50%,-2.45cqw) scale(.76)}
  38%{opacity:1;transform:translate(-50%,.22cqw) rotate(7deg) scale(1.08)}
  58%{transform:translate(-50%,-.24cqw) rotate(-4deg) scale(.98)}
  78%{transform:translate(-50%,.10cqw) rotate(3deg) scale(1.03)}
  100%{opacity:1;transform:translate(-50%,0) rotate(0) scale(1)}
}
@keyframes heartPeekHoshiIdleV069{0%,100%{transform:translate(-50%,0) rotate(-3deg)}50%{transform:translate(-50%,.24cqw) rotate(4deg)}}
@keyframes heartPeekNijiInV069{
  0%{opacity:0;transform:translate(-50%,-2.15cqw) scale(.78)}
  42%{opacity:1;transform:translate(-50%,.22cqw) rotate(-3deg) scale(1.05)}
  66%{transform:translate(-50%,-.15cqw) rotate(2deg) scale(.99)}
  100%{opacity:1;transform:translate(-50%,0) rotate(0) scale(1)}
}
@keyframes heartPeekNijiIdleV069{0%,100%{transform:translate(-50%,0) rotate(-2deg)}50%{transform:translate(-50%,.18cqw) rotate(2deg)}}
@keyframes heartPeekKumoInV069{
  0%{opacity:0;transform:translate(-50%,-2.30cqw) scale(.76)}
  34%{opacity:1;transform:translate(-50%,.30cqw) rotate(3deg) scale(1.07)}
  55%{transform:translate(-50%,-.18cqw) rotate(-2deg) scale(.98)}
  76%{transform:translate(-50%,.14cqw) rotate(2deg) scale(1.03)}
  100%{opacity:1;transform:translate(-50%,0) rotate(0) scale(1)}
}
@keyframes heartPeekKumoIdleV069{0%,100%{transform:translate(-50%,0) rotate(-2deg)}50%{transform:translate(-50%,.28cqw) rotate(2deg)}}
@keyframes heartPeekCharacterHideV069{0%{opacity:1}100%{opacity:0;transform:translate(-50%,-2.35cqw) scale(.80)}}
.heart-card.is-star-closing .heart-peek-character{animation:heartPeekCharacterHideV069 .34s ease-in both}

@media (prefers-reduced-motion:reduce){
  .heart-card.is-open .heart-peek-hoshi,.heart-card.is-open .heart-peek-niji,.heart-card.is-open .heart-peek-kumo{transform:translate(-50%,0) rotate(0)!important}
}

/* ===== v070 — class characters peek from the OPEN CARD'S TOP EDGE ===== */
/* Keep the v069 card geometry and accordion untouched. Only move the character
   anchor from the bottom edge to the top edge. The card surface remains above
   the character, so the lower portion is hidden behind the card while the
   upper portion peeks above it. */
.heart-peek-character{
  top:0;
  bottom:auto;
  z-index:1;
  opacity:0;
  transform-origin:50% 100%;
}
.heart-peek-hoshi{left:27%;width:6.15cqw;height:6.15cqw;transform:translate(-50%,12%) scale(.82)}
.heart-peek-niji{left:72%;width:9.15cqw;height:5.25cqw;transform:translate(-50%,18%) scale(.84)}
.heart-peek-kumo{left:45%;width:7.85cqw;height:6.35cqw;transform:translate(-50%,14%) scale(.82)}

.heart-card.is-open .heart-peek-hoshi{opacity:1;animation:heartPeekTopHoshiIn 1.02s .30s cubic-bezier(.20,.78,.22,1.12) both,heartPeekTopHoshiIdle 2.8s 1.32s ease-in-out infinite}
.heart-card.is-open .heart-peek-niji{opacity:1;animation:heartPeekTopNijiIn 1.08s .30s cubic-bezier(.20,.78,.22,1.08) both,heartPeekTopNijiIdle 3.25s 1.38s ease-in-out infinite}
.heart-card.is-open .heart-peek-kumo{opacity:1;animation:heartPeekTopKumoIn 1.12s .30s cubic-bezier(.20,.78,.22,1.10) both,heartPeekTopKumoIdle 3.6s 1.42s ease-in-out infinite}

@keyframes heartPeekTopHoshiIn{
  0%{opacity:0;transform:translate(-50%,72%) scale(.72)}
  40%{opacity:1;transform:translate(-50%,-56%) rotate(-6deg) scale(1.08)}
  62%{transform:translate(-50%,-43%) rotate(4deg) scale(.99)}
  82%{transform:translate(-50%,-51%) rotate(-2deg) scale(1.03)}
  100%{opacity:1;transform:translate(-50%,-47%) rotate(0) scale(1)}
}
@keyframes heartPeekTopHoshiIdle{0%,100%{transform:translate(-50%,-47%) rotate(-3deg)}50%{transform:translate(-50%,-53%) rotate(4deg)}}
@keyframes heartPeekTopNijiIn{
  0%{opacity:0;transform:translate(-50%,74%) scale(.74)}
  42%{opacity:1;transform:translate(-50%,-49%) rotate(2deg) scale(1.05)}
  67%{transform:translate(-50%,-39%) rotate(-2deg) scale(.99)}
  100%{opacity:1;transform:translate(-50%,-44%) rotate(0) scale(1)}
}
@keyframes heartPeekTopNijiIdle{0%,100%{transform:translate(-50%,-44%) rotate(-2deg)}50%{transform:translate(-50%,-50%) rotate(2deg)}}
@keyframes heartPeekTopKumoIn{
  0%{opacity:0;transform:translate(-50%,72%) scale(.72)}
  36%{opacity:1;transform:translate(-50%,-55%) rotate(-2deg) scale(1.07)}
  58%{transform:translate(-50%,-42%) rotate(2deg) scale(.98)}
  78%{transform:translate(-50%,-50%) rotate(-1deg) scale(1.03)}
  100%{opacity:1;transform:translate(-50%,-47%) rotate(0) scale(1)}
}
@keyframes heartPeekTopKumoIdle{0%,100%{transform:translate(-50%,-47%) rotate(-2deg)}50%{transform:translate(-50%,-54%) rotate(2deg)}}
@keyframes heartPeekTopCharacterHide{0%{opacity:1}100%{opacity:0;transform:translate(-50%,72%) scale(.78)}}
.heart-card.is-star-closing .heart-peek-character{animation:heartPeekTopCharacterHide .30s ease-in both}

@media (prefers-reduced-motion:reduce){
  .heart-card.is-open .heart-peek-hoshi{transform:translate(-50%,-47%) rotate(0)!important}
  .heart-card.is-open .heart-peek-niji{transform:translate(-50%,-44%) rotate(0)!important}
  .heart-card.is-open .heart-peek-kumo{transform:translate(-50%,-47%) rotate(0)!important}
}

/* ===== v071 — expose roughly 75% of top-edge class characters ===== */
@keyframes heartPeekTopHoshiInV071{
  0%{opacity:0;transform:translate(-50%,72%) scale(.72)}
  40%{opacity:1;transform:translate(-50%,-84%) rotate(-6deg) scale(1.08)}
  62%{transform:translate(-50%,-69%) rotate(4deg) scale(.99)}
  82%{transform:translate(-50%,-78%) rotate(-2deg) scale(1.03)}
  100%{opacity:1;transform:translate(-50%,-75%) rotate(0) scale(1)}
}
@keyframes heartPeekTopHoshiIdleV071{0%,100%{transform:translate(-50%,-75%) rotate(-3deg)}50%{transform:translate(-50%,-81%) rotate(4deg)}}
@keyframes heartPeekTopNijiInV071{
  0%{opacity:0;transform:translate(-50%,74%) scale(.74)}
  42%{opacity:1;transform:translate(-50%,-82%) rotate(2deg) scale(1.05)}
  67%{transform:translate(-50%,-70%) rotate(-2deg) scale(.99)}
  100%{opacity:1;transform:translate(-50%,-75%) rotate(0) scale(1)}
}
@keyframes heartPeekTopNijiIdleV071{0%,100%{transform:translate(-50%,-75%) rotate(-2deg)}50%{transform:translate(-50%,-81%) rotate(2deg)}}
@keyframes heartPeekTopKumoInV071{
  0%{opacity:0;transform:translate(-50%,72%) scale(.72)}
  36%{opacity:1;transform:translate(-50%,-84%) rotate(-2deg) scale(1.07)}
  58%{transform:translate(-50%,-69%) rotate(2deg) scale(.98)}
  78%{transform:translate(-50%,-79%) rotate(-1deg) scale(1.03)}
  100%{opacity:1;transform:translate(-50%,-75%) rotate(0) scale(1)}
}
@keyframes heartPeekTopKumoIdleV071{0%,100%{transform:translate(-50%,-75%) rotate(-2deg)}50%{transform:translate(-50%,-82%) rotate(2deg)}}
.heart-card.is-open .heart-peek-hoshi{animation:heartPeekTopHoshiInV071 1.02s .30s cubic-bezier(.20,.78,.22,1.12) both,heartPeekTopHoshiIdleV071 2.8s 1.32s ease-in-out infinite}
.heart-card.is-open .heart-peek-niji{animation:heartPeekTopNijiInV071 1.08s .30s cubic-bezier(.20,.78,.22,1.08) both,heartPeekTopNijiIdleV071 3.25s 1.38s ease-in-out infinite}
.heart-card.is-open .heart-peek-kumo{animation:heartPeekTopKumoInV071 1.12s .30s cubic-bezier(.20,.78,.22,1.10) both,heartPeekTopKumoIdleV071 3.6s 1.42s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){
  .heart-card.is-open .heart-peek-hoshi,.heart-card.is-open .heart-peek-niji,.heart-card.is-open .heart-peek-kumo{transform:translate(-50%,-75%) rotate(0)!important}
}

/* ===== v072 — shared premium acrylic section typography ===== */
.section-heading-copy :is(h1,h2),
.heart-heading-copy h2{
  position:relative;
  font-family:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-weight:600;
  letter-spacing:.06em;
  color:rgba(52,48,44,.90);
  -webkit-text-stroke:.018cqw rgba(255,255,255,.42);
  text-shadow:
    0 -.055cqw 0 rgba(255,255,255,.96),
    0 .075cqw 0 rgba(177,163,147,.22),
    0 .16cqw .18cqw rgba(91,76,61,.12),
    0 .34cqw .72cqw rgba(91,76,61,.075);
  filter:drop-shadow(0 .055cqw .025cqw rgba(255,255,255,.72));
}
.section-heading-en,
.heart-heading-en{
  letter-spacing:.38em;
  color:rgba(111,94,77,.50);
  text-shadow:0 .055cqw 0 rgba(255,255,255,.88);
}

/* S2 subheading: keep the friendly rounded family, but make it quieter and more editorial. */
.about-eyebrow{
  font-family:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:1.48cqw;
  font-weight:500;
  line-height:1.35;
  letter-spacing:.115em;
  color:rgba(174,112,127,.88);
  text-shadow:0 .055cqw 0 rgba(255,255,255,.92);
}
.about-rule{
  width:32%;
  margin:1.28cqw auto 2.48cqw;
  gap:.88cqw;
  color:rgba(208,177,102,.72);
}
.about-rule span{
  height:.055cqw;
  background:linear-gradient(90deg,transparent,rgba(188,154,116,.34) 24%,rgba(188,154,116,.48) 50%,rgba(188,154,116,.34) 76%,transparent);
}
.about-rule i{
  font-size:.82cqw;
  opacity:.72;
  filter:drop-shadow(0 .08cqw .10cqw rgba(102,79,48,.08));
}

/* ===== v073 — S2 subheading brighter milky coral pink ===== */
.about-eyebrow{
  color:rgba(218,112,137,.94);
}


/* ===== v079 — HERO right cloud final position/scale refinement ===== */
.hero-sky-character{
  position:absolute;
  z-index:3;
  display:block;
  height:auto;
  object-fit:contain;
  pointer-events:none;
  transform-origin:50% 50%;
  will-change:transform;
}
/* Deliberately staggered in both height and scale: no icon-row alignment. */
.hero-cloud-one{
  left:20.4%;
  top:17.8%;
  width:9.2%;
  animation:heroCloudOneV076 8.6s ease-in-out infinite;
}
.hero-rainbow{
  left:50.8%;
  top:14.2%;
  width:12.8%;
  animation:heroRainbowV076 10.4s ease-in-out -2.1s infinite;
}
.hero-cloud-two{
  left:75.0%;
  top:45.8%;
  width:9.0%;
  animation:heroCloudTwoV078 7.8s cubic-bezier(.45,.05,.55,.95) -2.7s infinite;
}
/* Keep one sparkle only, as a small background accent. */
.sparkles-left{
  left:82.0%;
  top:34.8%;
  width:6.2%;
  transform:rotate(-11deg);
  transform-origin:center;
}
/* cook1.gif stays unfiltered; enlarged to read as the food-panel character. */
.lunch-chick{
  left:76.8%;
  top:52.8%;
  width:21.2%;
}
/* Multi-point paths avoid mechanical two-point bobbing. Each character has its own orbit, tilt and tempo. */
@keyframes heroCloudOneV076{
  0%{transform:translate3d(-.20cqw,.12cqw,0) rotate(-5deg)}
  18%{transform:translate3d(.48cqw,-.54cqw,0) rotate(2deg)}
  42%{transform:translate3d(.78cqw,-.08cqw,0) rotate(6deg)}
  67%{transform:translate3d(.10cqw,.50cqw,0) rotate(-1deg)}
  84%{transform:translate3d(-.48cqw,.22cqw,0) rotate(-7deg)}
  100%{transform:translate3d(-.20cqw,.12cqw,0) rotate(-5deg)}
}
@keyframes heroRainbowV076{
  0%{transform:translate3d(-.42cqw,.18cqw,0) rotate(-5deg)}
  20%{transform:translate3d(.18cqw,-.72cqw,0) rotate(-1deg)}
  46%{transform:translate3d(.86cqw,-.30cqw,0) rotate(6deg)}
  70%{transform:translate3d(.44cqw,.62cqw,0) rotate(2deg)}
  88%{transform:translate3d(-.62cqw,.48cqw,0) rotate(-6deg)}
  100%{transform:translate3d(-.42cqw,.18cqw,0) rotate(-5deg)}
}
@keyframes heroCloudTwoV078{
  0%{transform:translate3d(.18cqw,.46cqw,0) rotate(5deg)}
  12%{transform:translate3d(-.16cqw,-.06cqw,0) rotate(-2deg)}
  27%{transform:translate3d(-.56cqw,-.58cqw,0) rotate(-9deg)}
  39%{transform:translate3d(-.30cqw,-.22cqw,0) rotate(-4deg)}
  53%{transform:translate3d(.22cqw,-.82cqw,0) rotate(7deg)}
  66%{transform:translate3d(.62cqw,-.34cqw,0) rotate(10deg)}
  80%{transform:translate3d(.34cqw,.18cqw,0) rotate(2deg)}
  91%{transform:translate3d(-.12cqw,.56cqw,0) rotate(-6deg)}
  100%{transform:translate3d(.18cqw,.46cqw,0) rotate(5deg)}
}
@media (prefers-reduced-motion:reduce){
  .hero-cloud-one,.hero-rainbow,.hero-cloud-two{animation:none}
}
}

/* ===== v082 — one-star navigation: desktop 4 items / mobile 6 items ===== */
.nav-stars img{
  filter:none;
  transform-origin:50% 58%;
  will-change:transform;
  animation:navStarHopV082 1.65s cubic-bezier(.45,.05,.55,.95) infinite;
}
.nav-about .nav-stars img{animation-delay:-.12s}
.nav-heart .nav-stars img{animation-delay:-.78s}
.nav-space .nav-stars img{animation-delay:-1.31s}
.nav-lunch .nav-stars img{animation-delay:-.46s}
.nav-recruit .nav-stars img{animation-delay:-1.04s}
.nav-contact .nav-stars img{animation-delay:-.25s}
@keyframes navStarHopV082{
  0%,100%{transform:translate3d(0,0,0) rotate(-5deg)}
  18%{transform:translate3d(.07cqw,-.18cqw,0) rotate(5deg)}
  32%{transform:translate3d(.12cqw,0,0) rotate(7deg)}
  48%{transform:translate3d(0,-.11cqw,0) rotate(-3deg)}
  64%{transform:translate3d(-.10cqw,-.22cqw,0) rotate(-7deg)}
  80%{transform:translate3d(-.05cqw,0,0) rotate(3deg)}
}
@media (min-width:641px){
  .global-nav{grid-template-columns:1.42fr 1.20fr .80fr .90fr}
  .mobile-nav-only{display:none!important}
  .nav-item,.site-header.is-scrolled .nav-item{
    display:grid;
    grid-template-columns:2.35cqw 1fr;
    grid-template-rows:1fr;
    align-items:center;
    justify-items:start;
    column-gap:.34cqw;
    font-size:clamp(10px,1.18cqw,17px);
  }
  .nav-stars,.site-header.is-scrolled .nav-stars{
    width:2.35cqw;height:2.35cqw;margin:0;display:grid;place-items:center;justify-self:center;
  }
  .nav-stars img,.site-header.is-scrolled .nav-stars img{
    width:2.12cqw;height:2.12cqw;flex:0 0 2.12cqw;margin:0;opacity:1;
  }
  .nav-item>span:last-child{justify-self:start}
  @media (hover:hover){
    .nav-item:hover .nav-stars img{animation-play-state:running}
  }
}
@media (max-width:640px){
  .nav-item,.site-header.is-scrolled .nav-item{
    grid-template-columns:8.5cqw 1fr;
  }
  .nav-stars,.site-header.is-scrolled .nav-stars{
    width:7.2cqw;height:5.2cqw;margin:0;display:grid;place-items:center;justify-self:center;
  }
  .nav-stars img,.site-header.is-scrolled .nav-stars img{
    width:3.05cqw;height:3.05cqw;flex:0 0 3.05cqw;margin:0;opacity:1;
  }
}


/* ===== v083 — nav group centering + reliable star hop ===== */
@media (min-width:641px){
  .nav-item,.site-header.is-scrolled .nav-item{
    grid-template-columns:auto auto;
    justify-content:center;
    justify-items:center;
    column-gap:.34cqw;
    transform:none;
  }
  .nav-stars,.site-header.is-scrolled .nav-stars{justify-self:center}
  .nav-item>span:last-child{justify-self:center}
}
@media (max-width:640px){
  .nav-item,.site-header.is-scrolled .nav-item{
    grid-template-columns:auto auto;
    justify-content:center;
    justify-items:center;
    column-gap:2.1cqw;
  }
  .nav-stars,.site-header.is-scrolled .nav-stars{justify-self:center}
  .nav-item>span:last-child{justify-self:center}
}
.nav-stars img,.site-header.is-scrolled .nav-stars img{
  animation-name:navStarHopV083;
  animation-duration:1.55s;
  animation-timing-function:cubic-bezier(.42,0,.58,1);
  animation-iteration-count:infinite;
  animation-play-state:running;
  transform-origin:50% 58%;
}
@keyframes navStarHopV083{
  0%,12%,100%{transform:translate3d(0,0,0) rotate(-5deg)}
  24%{transform:translate3d(.10cqw,-.30cqw,0) rotate(7deg)}
  36%{transform:translate3d(.05cqw,0,0) rotate(3deg)}
  52%{transform:translate3d(-.10cqw,-.25cqw,0) rotate(-7deg)}
  64%{transform:translate3d(-.04cqw,0,0) rotate(-2deg)}
  76%,100%{transform:translate3d(0,0,0) rotate(-5deg)}
}


/* ===== v084 — mobile nav alignment + slightly larger stars + special guide-star action ===== */
@media (max-width:640px){
  .nav-item,
  .site-header.is-scrolled .nav-item{
    display:grid;
    grid-template-columns:6.0cqw 1fr;
    justify-content:stretch;
    justify-items:start;
    align-items:center;
    column-gap:2.0cqw;
    padding-left:12.0cqw;
    padding-right:7.0cqw;
  }
  .nav-stars,
  .site-header.is-scrolled .nav-stars{
    width:6.0cqw;
    height:6.0cqw;
    margin:0;
    display:grid;
    place-items:center;
    justify-self:center;
  }
  .nav-stars img,
  .site-header.is-scrolled .nav-stars img{
    width:5.25cqw;
    height:5.25cqw;
    flex-basis:5.25cqw;
    object-fit:contain;
  }
  .nav-item>span:last-child,
  .site-header.is-scrolled .nav-item>span:last-child{
    justify-self:start;
    text-align:left;
  }

  .mobile-guide-download img{
    animation:guideStarJumpV084 4.8s cubic-bezier(.38,.02,.25,1) infinite;
    transform-origin:50% 78%;
    will-change:transform;
  }
}
@keyframes guideStarJumpV084{
  0%,10%{transform:translate3d(0,0,0) scale(1) rotate(-7deg)}
  14%{transform:translate3d(0,.55cqw,0) scale(.96,1.04) rotate(-5deg)}
  20%{transform:translate3d(.18cqw,-2.25cqw,0) scale(1.04,.97) rotate(9deg)}
  25%{transform:translate3d(-.14cqw,-2.55cqw,0) scale(1.02,.99) rotate(-10deg)}
  30%{transform:translate3d(.08cqw,-1.15cqw,0) scale(1.01,1) rotate(5deg)}
  35%{transform:translate3d(0,.18cqw,0) scale(1.06,.92) rotate(-4deg)}
  39%{transform:translate3d(0,-.58cqw,0) scale(.98,1.04) rotate(3deg)}
  44%{transform:translate3d(0,0,0) scale(1) rotate(-7deg)}
  100%{transform:translate3d(0,0,0) scale(1) rotate(-7deg)}
}


/* ===== v087 — S2 SP correction derived from the frozen PC geometry ===== */
.about-body-sp{display:none}

@media (max-width:640px){
  .about-section{
    height:198vw;
  }

  /* PC geometry converted to viewport units:
     top 7.25vw / height 11.89vw / gap to letter 5.51vw. */
  .section-heading-toy{
    left:12%;
    top:7.25cqw;
    width:76%;
    height:11.89cqw;
  }

  /* Wider mobile letter; its TOP stays at the exact PC physical reference: 24.65vw. */
  .about-letter{
    left:8%;
    top:12.4495%;
    width:84%;
    height:79.2%;
    padding:6.0% 5.0% 5.0%;
  }

  /* Every panel-linked character uses the enlarged letter as its coordinate system. */
  .about-peek-layer{
    left:8%;
    top:12.4495%;
    width:84%;
    height:79.2%;
  }
  .about-peek-one{left:-8.2%;top:18%;width:14%}
  .about-peek-two{right:-7.2%;top:43%;width:12.5%}
  .about-peek-three{left:14%;bottom:-5.8%;width:11.5%}

  /* Keep both starmove GIFs at the frozen PC cqw coordinates.
     Because heading/letter top references are now restored, their PC relationship returns too. */
  .section-heading-star-one{
    left:0;
    top:.72cqw;
    width:24.2cqw;
    height:auto;
  }
  .section-heading-star-two{
    z-index:1;
    left:61.0cqw;
    top:12.0cqw;
    width:25.8cqw;
    height:auto;
  }

  .about-eyebrow{
    font-size:2.35cqw;
    line-height:1.32;
    letter-spacing:.075em;
  }
  .about-rule{
    width:42%;
    margin:1.45cqw auto 2.7cqw;
  }
  .about-rule i{font-size:1.55cqw}

  /* Desktop body remains untouched; mobile uses its own editorially broken copy. */
  .about-letter > .about-body:not(.about-body-sp){display:none}
  .about-body-sp{
    display:block;
    font-size:2.18cqw;
    line-height:1.66;
    letter-spacing:.025em;
  }
  .about-body-sp p{margin-bottom:2.55cqw}

  .about-signature{
    margin-top:3.0cqw;
    gap:.62cqw;
  }
  .about-signature::before{
    width:7.0cqw;
    margin-bottom:.45cqw;
  }
  .about-signature-kicker{font-size:1.02cqw}
  .about-signature-role{font-size:1.38cqw}
  .about-signature strong{font-size:2.35cqw}

  .about-duracle-static{
    bottom:2.0%;
    width:14.0%;
  }
}


/* ===== v088 — S2 SP rule visibility + Duracle logo scale only ===== */
@media (max-width:640px){
  /* Preserve the same delicate PC motif, but compensate for phone down-scaling. */
  .about-rule{
    width:36%;
    gap:.88cqw;
  }
  .about-rule span{
    height:.10cqw;
    background:linear-gradient(
      90deg,
      transparent,
      rgba(188,154,116,.46) 24%,
      rgba(188,154,116,.62) 50%,
      rgba(188,154,116,.46) 76%,
      transparent
    );
  }
  .about-rule i{
    font-size:1.42cqw;
    opacity:.86;
  }

  /* SP only: restore visual weight of the company mark against the enlarged letter. */
  .about-duracle-static{
    bottom:1.55%;
    width:21.5cqw;
  }
}


/* ===== v089 — S2 SP title bar horizontal width only ===== */
@media (max-width:640px){
  .section-heading-toy{
    left:6%;
    width:88%;
  }
}


/* ===== v090 — S3 SP readability optimization, PC frozen ===== */
@media (max-width:640px){
  /* S2 mobile format: keep the same section-heading language.
     Horizontal expansion only; original S3 heading height is preserved. */
  .heart-heading-toy{
    width:88%;
  }

  /* PC cards are 69%; S2 established 84% as the readable SP panel width. */
  .heart-accordion{
    width:84%;
    gap:2.35cqw;
  }

  /* Preserve the three-column card grammar while enlarging the readable content. */
  .heart-card-toggle{
    min-height:15.4cqw;
    padding:2.25cqw 3.0cqw 2.15cqw 2.55cqw;
    grid-template-columns:6.0cqw 1fr 5.0cqw;
    gap:1.35cqw;
  }

  .heart-card-number{
    padding-top:.52cqw;
    font-size:1.42cqw;
  }

  /* Main labels and their flanking stars are scaled as one visual unit. */
  .heart-card-title-row{
    gap:1.25cqw;
    margin-bottom:.82cqw;
  }
  .heart-card-title{
    font-size:2.75cqw;
  }
  .heart-title-star{
    width:2.75cqw;
    height:2.75cqw;
  }

  .heart-card-lead{
    font-size:1.72cqw;
    line-height:1.50;
    letter-spacing:.045em;
  }

  .heart-card-action{
    width:4.35cqw;
    height:4.35cqw;
  }
  .heart-card-action i,
  .heart-card-action b{
    width:1.55cqw;
    height:.12cqw;
  }

  /* Open-card copy: phone-readable physical size, same centered editorial treatment. */
  .heart-card-panel-inner::before{
    margin:0 3.6cqw;
  }
  .heart-card-panel p{
    width:84%;
    padding:3.0cqw 0 4.0cqw;
    font-size:1.92cqw;
    line-height:1.78;
    letter-spacing:.025em;
  }

  /* Peek characters scale with the enlarged card so their visual weight does not shrink. */
  .heart-peek-hoshi{
    width:7.5cqw;
    height:7.5cqw;
  }
  .heart-peek-niji{
    width:11.15cqw;
    height:6.4cqw;
  }
  .heart-peek-kumo{
    width:9.55cqw;
    height:7.72cqw;
  }
}


/* ===== v091 — Hero bottom information card readability only ===== */
/* Outer card geometry stays frozen. The former bottom-right illustration is removed
   so the full interior can be used for actual nursery information. */
.intro-copy{
  width:100%;
  padding-left:2.2%;
  padding-right:2.0%;
}
.intro-kicker{
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:1.52cqw;
  line-height:1.18;
  letter-spacing:.075em;
  font-weight:500;
  margin-bottom:.34cqw;
}
.intro-card h1{
  font-family:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:2.58cqw;
  line-height:1.10;
  letter-spacing:.045em;
  font-weight:600;
  margin-bottom:.62cqw;
  color:rgba(45,41,37,.94);
  text-shadow:0 .055cqw 0 rgba(255,255,255,.84);
}
.intro-address{
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:1.16cqw;
  line-height:1.42;
  letter-spacing:.025em;
}
.intro-mini-icon{
  width:1.72cqw;
  height:1.72cqw;
}

/* SP: same card, larger physical reading sizes. */
@media (max-width:640px){
  .intro-copy{
    width:100%;
    padding-left:2.2%;
    padding-right:2.0%;
  }
  .intro-kicker{font-size:1.82cqw}
  .intro-card h1{font-size:3.18cqw}
  .intro-address{font-size:1.48cqw;line-height:1.42}
  .intro-mini-icon{width:2.05cqw;height:2.05cqw}
}


/* ===== v092 — Hero info plate: restrained hierarchy + designed whitespace ===== */
/* PC: more readable than v090, deliberately quieter than v091. */
.intro-copy{
  width:100%;
  padding-left:3.6%;
  padding-right:3.6%;
}
.intro-kicker{
  font-size:1.38cqw;
  line-height:1.18;
  letter-spacing:.085em;
  font-weight:500;
  margin:0 0 .48cqw;
}
.intro-card h1{
  font-size:2.28cqw;
  line-height:1.10;
  letter-spacing:.045em;
  font-weight:600;
  margin:0 0 .82cqw;
}
.intro-address{
  font-size:1.08cqw;
  line-height:1.48;
  letter-spacing:.025em;
}
.intro-line{gap:.54cqw}
.intro-phone-line{margin-top:.52cqw}
.intro-mini-icon{width:1.62cqw;height:1.62cqw}

/* SP: compensate only enough for legibility; do not turn the plate into a focal element. */
@media (max-width:640px){
  .intro-copy{
    width:100%;
    padding-left:4.2%;
    padding-right:4.2%;
  }
  .intro-kicker{font-size:1.48cqw;margin-bottom:.54cqw}
  .intro-card h1{font-size:2.48cqw;margin-bottom:.90cqw}
  .intro-address{font-size:1.18cqw;line-height:1.50}
  .intro-line{gap:.56cqw}
  .intro-phone-line{margin-top:.56cqw}
  .intro-mini-icon{width:1.72cqw;height:1.72cqw}
}


/* ===== v093 — Hero lower balance refinement only ===== */
/* Keep the plate itself frozen. Reduce the duplicated nursery-name emphasis and
   spend the recovered space on calm whitespace + readable contact information. */
.intro-copy{
  width:72%;
  padding-left:3.8%;
  padding-right:1.2%;
}
.intro-kicker{
  font-size:1.34cqw;
  line-height:1.18;
  letter-spacing:.085em;
  margin:0 0 .52cqw;
}
.intro-card h1{
  font-size:1.88cqw;
  line-height:1.10;
  letter-spacing:.045em;
  font-weight:600;
  margin:0 0 .92cqw;
}
.intro-address{
  font-size:1.12cqw;
  line-height:1.48;
}
.intro-phone-line{margin-top:.56cqw}

/* Reading characters are scenery, not card content: small and strongly overhanging. */
.intro-illust{
  display:block;
  position:absolute;
  z-index:5;
  right:-13.5%;
  bottom:-15.0%;
  width:40%;
  height:auto;
  margin:0;
  max-width:none;
  filter:none;
  pointer-events:none;
}

/* The walking chick was visually too dominant; preserve its position/motion,
   but reduce the lane itself to exactly two-thirds of the established size. */
.walk-lane{
  width:6.0%;
  height:6.667%;
}

@media (max-width:640px){
  .intro-copy{
    width:73%;
    padding-left:4.0%;
    padding-right:1.0%;
  }
  .intro-kicker{
    font-size:1.42cqw;
    margin-bottom:.56cqw;
  }
  .intro-card h1{
    font-size:2.02cqw;
    margin-bottom:.96cqw;
  }
  .intro-address{
    font-size:1.22cqw;
    line-height:1.50;
  }
  .intro-phone-line{margin-top:.58cqw}
  .intro-illust{
    right:-14.5%;
    bottom:-15.5%;
    width:42%;
  }
}


/* ===== v094 — Hero info plate: location as navigation, not postal address ===== */
.intro-copy{
  width:72%;
  padding-left:3.8%;
  padding-right:1.2%;
}
.intro-kicker{
  font-size:1.30cqw;
  margin:0 0 .42cqw;
}
.intro-card h1{
  font-size:1.78cqw;
  margin:0 0 .76cqw;
}
.intro-contact{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.48cqw .62cqw;
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  color:rgba(58,51,46,.88);
}
.intro-location{
  display:flex;
  align-items:center;
  gap:.40cqw;
  width:100%;
  font-size:.92cqw;
  line-height:1.15;
  letter-spacing:.11em;
  font-weight:600;
}
.intro-location-dot{
  font-size:.46cqw;
  color:rgba(171,105,63,.74);
}
.intro-map-link{
  display:inline-flex;
  align-items:center;
  gap:.42cqw;
  padding:.43cqw .76cqw .40cqw;
  border:1px solid rgba(112,82,55,.15);
  border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,249,239,.46));
  box-shadow:inset 0 .08cqw .14cqw rgba(255,255,255,.72),0 .12cqw .28cqw rgba(86,64,43,.05);
  color:inherit;
  text-decoration:none;
  font-size:.88cqw;
  line-height:1;
  letter-spacing:.025em;
  white-space:nowrap;
}
.intro-tel-link{
  display:inline-flex;
  align-items:center;
  gap:.34cqw;
  color:inherit;
  text-decoration:none;
  font-size:.92cqw;
  line-height:1;
  letter-spacing:.025em;
  white-space:nowrap;
}
@media (hover:hover){
  .intro-map-link:hover{transform:translateY(-.06cqw)}
}
@media (max-width:640px){
  .intro-copy{
    width:73%;
    padding-left:4.0%;
    padding-right:1.0%;
  }
  .intro-kicker{
    font-size:1.36cqw;
    margin-bottom:.44cqw;
  }
  .intro-card h1{
    font-size:1.88cqw;
    margin-bottom:.78cqw;
  }
  .intro-contact{gap:.54cqw .66cqw}
  .intro-location{font-size:1.00cqw;gap:.44cqw}
  .intro-location-dot{font-size:.50cqw}
  .intro-map-link{
    padding:.48cqw .82cqw .45cqw;
    font-size:.96cqw;
  }
  .intro-tel-link{font-size:1.00cqw}
}


/* ===== v095 — Hero info plate finishing only ===== */
.intro-contact{
  display:block;
}
.intro-location-row{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:.62cqw;
  width:100%;
}
.intro-location{
  width:auto;
  flex:0 0 auto;
}
.intro-tel-link{
  display:flex;
  width:max-content;
  margin-top:.54cqw;
  margin-left:0;
}
.intro-illust{
  width:45%;
  right:-13.5%;
  bottom:-15.0%;
}
@media (max-width:640px){
  .intro-location-row{gap:.66cqw}
  .intro-tel-link{margin-top:.58cqw}
  .intro-illust{
    width:46.5%;
    right:-14.5%;
    bottom:-15.5%;
  }
}


/* ===== v096 — shared section-heading embossed Little Star seals ===== */
.section-heading-spark,
.heart-heading-spark{display:none !important}

.section-heading-toy,
.heart-heading-toy{isolation:isolate}

.heading-emboss{
  position:absolute;
  top:50%;
  width:3.55cqw;
  aspect-ratio:1;
  transform:translateY(-50%);
  z-index:1;
  pointer-events:none;
  opacity:.62;
  filter:
    drop-shadow(.08cqw .10cqw .08cqw rgba(130,107,78,.14))
    drop-shadow(-.07cqw -.08cqw .07cqw rgba(255,255,255,.86));
}
.heading-emboss-left{left:7.0%}
.heading-emboss-right{right:7.0%;transform:translateY(-50%) rotate(8deg)}

.heading-emboss::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(145deg,rgba(255,255,255,.74),rgba(222,207,184,.20) 48%,rgba(153,129,98,.16));
  clip-path:polygon(50% 3%,61% 36%,96% 36%,68% 56%,79% 91%,50% 70%,21% 91%,32% 56%,4% 36%,39% 36%);
}
.heading-emboss::after{
  content:"";
  position:absolute;
  inset:.18cqw;
  background:linear-gradient(145deg,rgba(150,126,96,.12),rgba(255,255,255,.64));
  clip-path:polygon(50% 3%,61% 36%,96% 36%,68% 56%,79% 91%,50% 70%,21% 91%,32% 56%,4% 36%,39% 36%);
  transform:translate(.055cqw,.06cqw);
}
.heading-emboss-face{
  position:absolute;
  inset:0;
  z-index:2;
}
.heading-emboss-face::before,
.heading-emboss-face::after{
  content:"";
  position:absolute;
  top:42%;
  width:.22cqw;
  height:.28cqw;
  border-radius:50%;
  background:rgba(125,103,78,.22);
  box-shadow:inset .04cqw .05cqw .04cqw rgba(255,255,255,.55);
}
.heading-emboss-face::before{left:36%}
.heading-emboss-face::after{right:36%}

/* S3 SP intro only: preserve hierarchy, increase readability. */
@media (max-width:640px){
  .heart-intro span{
    font-size:.80cqw;
    margin-bottom:.78cqw;
  }
  .heart-intro p{
    font-size:1.38cqw;
  }
  .heading-emboss{
    width:4.15cqw;
  }
  .heading-emboss-left{left:5.8%}
  .heading-emboss-right{right:5.8%;transform:translateY(-50%) rotate(8deg)}
}


/* ===== v097 — authentic Little Star PNG embossed seals + reading character scale ===== */
.heading-emboss{
  width:4.15cqw;
  opacity:.46;
  filter:none;
}
.heading-emboss::before,
.heading-emboss::after,
.heading-emboss-face{display:none !important}

.heading-emboss img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  opacity:.72;
  filter:
    grayscale(1)
    saturate(0)
    contrast(.58)
    brightness(1.34)
    drop-shadow(.075cqw .085cqw .055cqw rgba(117,96,72,.20))
    drop-shadow(-.07cqw -.075cqw .055cqw rgba(255,255,255,.92));
  mix-blend-mode:multiply;
}
.heading-emboss-left{left:6.6%}
.heading-emboss-right{
  right:6.6%;
  transform:translateY(-50%) rotate(7deg);
}

/* Keep v095/v096 placement; enlarge only the character. */
.intro-illust{
  width:49%;
  right:-13.5%;
  bottom:-15.0%;
}

@media (max-width:640px){
  .heading-emboss{width:4.7cqw}
  .heading-emboss-left{left:5.4%}
  .heading-emboss-right{
    right:5.4%;
    transform:translateY(-50%) rotate(7deg);
  }
  .intro-illust{
    width:50.5%;
    right:-14.5%;
    bottom:-15.5%;
  }
}


/* ===== v100 — Little Star floating toy dock ===== */
.little-star-dock{
  position:fixed; right:1.2rem; top:50%; z-index:90;
  opacity:0; visibility:hidden; pointer-events:none;
  transform:translate(1.1rem,-50%) scale(.96);
  transition:opacity .34s ease,transform .46s cubic-bezier(.22,.72,.24,1),visibility .34s;
}
.little-star-dock.is-visible{
  opacity:1; visibility:visible; pointer-events:auto;
  transform:translate(0,-50%) scale(1);
}
.little-star-dock-toggle{display:none}
.little-star-dock-menu{display:grid; gap:.54rem}
.little-star-dock-item{
  --dock-rot:0deg; --dock-delay:0s;
  min-width:9.15rem; height:2.82rem; padding:0 .9rem 0 .62rem;
  display:flex; align-items:center; gap:.58rem;
  border:1px solid rgba(255,255,255,.62); border-radius:999px;
  box-shadow:0 .42rem 1.22rem rgba(77,60,43,.085),inset 0 .11rem .18rem rgba(255,255,255,.88),inset 0 -.08rem .14rem rgba(120,92,65,.055);
  backdrop-filter:blur(15px) saturate(112%); -webkit-backdrop-filter:blur(15px) saturate(112%);
  color:rgba(66,57,49,.78); text-decoration:none;
  font-family:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:.72rem; font-weight:600; letter-spacing:.045em;
  animation:dockToyFloat 4.4s ease-in-out var(--dock-delay) infinite;
  transition:box-shadow .22s ease,filter .22s ease;
}
.dock-instagram{--dock-rot:-1.4deg;--dock-delay:-.3s;background:linear-gradient(145deg,rgba(255,241,246,.80),rgba(255,220,232,.64))}
.dock-guide{--dock-rot:1.25deg;--dock-delay:-1.35s;background:linear-gradient(145deg,rgba(248,242,255,.82),rgba(229,215,250,.65))}
.dock-space{--dock-rot:-.8deg;--dock-delay:-2.25s;background:linear-gradient(145deg,rgba(239,252,255,.83),rgba(205,239,247,.65))}
.dock-lunch{--dock-rot:1.05deg;--dock-delay:-3.15s;background:linear-gradient(145deg,rgba(255,252,230,.85),rgba(248,231,174,.67))}
.little-star-dock-icon{
  width:1.55rem;height:1.55rem;flex:0 0 auto;display:grid;place-items:center;
  border-radius:50%;background:rgba(255,255,255,.44);
}
.little-star-dock-icon svg{
  width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-width:1.65;
  stroke-linecap:round;stroke-linejoin:round;
}
.little-star-dock-icon .icon-dot{fill:currentColor;stroke:none}
.dock-instagram .little-star-dock-icon{color:rgba(193,91,124,.76)}
.dock-guide .little-star-dock-icon{color:rgba(123,96,166,.72)}
.dock-space .little-star-dock-icon{color:rgba(67,139,157,.72)}
.dock-lunch .little-star-dock-icon{color:rgba(172,137,54,.75)}
@media (hover:hover){
  .little-star-dock-item:hover{filter:brightness(1.025);box-shadow:0 .56rem 1.45rem rgba(77,60,43,.12),inset 0 .11rem .18rem rgba(255,255,255,.94)}
}
@keyframes dockToyFloat{
  0%,100%{transform:translate3d(0,0,0) rotate(var(--dock-rot))}
  50%{transform:translate3d(-.16rem,-.26rem,0) rotate(calc(var(--dock-rot) * -0.72))}
}

@media (max-width:640px){
  .little-star-dock{
    top:auto;right:.92rem;bottom:calc(.92rem + env(safe-area-inset-bottom));
    width:15.2rem;height:18.2rem;
    transform:translateY(.9rem) scale(.94);
  }
  .little-star-dock.is-visible{transform:none}
  .little-star-dock-toggle{
    position:absolute;right:0;bottom:0;
    width:4.25rem;height:4.25rem;padding:0;display:grid;place-items:center;
    border:1px solid rgba(255,255,255,.7);border-radius:50%;
    background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(255,246,222,.83));
    box-shadow:0 .44rem 1.35rem rgba(79,61,41,.13),inset 0 .1rem .16rem rgba(255,255,255,.98);
    backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    transition:transform .3s cubic-bezier(.22,.72,.24,1);
  }
  .little-star-dock-toggle img{
    width:2.42rem;height:2.42rem;object-fit:contain;
    animation:littleStarDockBob 3.15s ease-in-out infinite;
  }
  .little-star-dock-toggle-label{
    position:absolute;bottom:.24rem;white-space:nowrap;
    font-size:.43rem;font-weight:700;letter-spacing:.055em;color:rgba(91,74,57,.62);
  }
  .little-star-dock.is-open .little-star-dock-toggle{transform:scale(.92) rotate(7deg)}
  .little-star-dock-menu{position:absolute;inset:0;display:block;pointer-events:none}
  .little-star-dock-item{
    position:absolute;right:.1rem;bottom:.75rem;
    min-width:8.9rem;height:2.78rem;font-size:.74rem;
    opacity:0;visibility:hidden;pointer-events:none;
    transform:translate3d(0,0,0) scale(.22) rotate(8deg);
    transform-origin:90% 90%;
    animation:none;
    transition:
      opacity .18s ease var(--open-delay),
      transform .48s cubic-bezier(.18,.88,.26,1.22) var(--open-delay),
      visibility .18s linear var(--open-delay);
  }
  .dock-instagram{--open-delay:.00s;--open-x:-4.55rem;--open-y:-13.35rem;--open-r:-2deg}
  .dock-guide{--open-delay:.055s;--open-x:-.55rem;--open-y:-10.10rem;--open-r:2deg}
  .dock-space{--open-delay:.11s;--open-x:-4.05rem;--open-y:-6.80rem;--open-r:-1.2deg}
  .dock-lunch{--open-delay:.165s;--open-x:-.35rem;--open-y:-3.55rem;--open-r:1.5deg}
  .little-star-dock.is-open .little-star-dock-item{
    opacity:1;visibility:visible;pointer-events:auto;
    transform:translate3d(var(--open-x),var(--open-y),0) scale(1) rotate(var(--open-r));
  }
  .little-star-dock.is-open .little-star-dock-item:nth-child(1){animation:dockMobileFloatA 3.8s ease-in-out .58s infinite}
  .little-star-dock.is-open .little-star-dock-item:nth-child(2){animation:dockMobileFloatB 4.2s ease-in-out .66s infinite}
  .little-star-dock.is-open .little-star-dock-item:nth-child(3){animation:dockMobileFloatA 4.0s ease-in-out .72s infinite}
  .little-star-dock.is-open .little-star-dock-item:nth-child(4){animation:dockMobileFloatB 4.35s ease-in-out .78s infinite}
}
@keyframes littleStarDockBob{
  0%,100%{transform:translateY(0) rotate(-3deg)}
  50%{transform:translateY(-.15rem) rotate(3deg)}
}
@keyframes dockMobileFloatA{
  0%,100%{transform:translate3d(var(--open-x),var(--open-y),0) rotate(var(--open-r))}
  50%{transform:translate3d(calc(var(--open-x) - .08rem),calc(var(--open-y) - .14rem),0) rotate(calc(var(--open-r) + 1deg))}
}
@keyframes dockMobileFloatB{
  0%,100%{transform:translate3d(var(--open-x),var(--open-y),0) rotate(var(--open-r))}
  50%{transform:translate3d(calc(var(--open-x) + .08rem),calc(var(--open-y) - .12rem),0) rotate(calc(var(--open-r) - 1deg))}
}


/* ===== v101 — exact Hero icon treatment + safe mobile companion drift ===== */
.little-star-dock .little-star-dock-icon.panel-icon{
  width:1.55rem;height:1.55rem;
  color:rgba(62,55,53,.88);
  background:rgba(255,255,255,.73);
  border:1px solid rgba(255,255,255,.90);
  box-shadow:0 .14rem .30rem rgba(75,58,48,.12),inset 0 .10rem .12rem rgba(255,255,255,.95),inset 0 -.08rem .13rem rgba(91,70,60,.06);
  -webkit-backdrop-filter:blur(.16rem);backdrop-filter:blur(.16rem);
}
.little-star-dock .little-star-dock-icon.panel-icon svg{width:58%;height:58%}
.little-star-dock .little-star-dock-icon.panel-icon-instagram{
  background:linear-gradient(145deg,#ffb84e 0%,#f54d7c 45%,#b44ce8 100%)!important;
  color:#fff!important;
}
.little-star-dock .little-star-dock-icon.panel-icon-instagram svg{width:62%;height:62%;stroke:#fff;stroke-width:1.8}
.little-star-dock .little-star-dock-icon.panel-icon-instagram .icon-dot{fill:#fff;stroke:none}
.little-star-dock .little-star-dock-icon.panel-icon-cutlery{background:rgba(255,255,255,.58)!important}
.little-star-dock .dock-instagram .little-star-dock-icon,
.little-star-dock .dock-guide .little-star-dock-icon,
.little-star-dock .dock-space .little-star-dock-icon,
.little-star-dock .dock-lunch .little-star-dock-icon{color:rgba(62,55,53,.88)}
.little-star-dock .dock-instagram .little-star-dock-icon{color:#fff}

@media (max-width:640px){
  /* The dock box stays anchored inside the viewport; only the star button drifts inward.
     Max excursion is left/up, so it can never move beyond the right/bottom screen edges. */
  .little-star-dock:not(.is-open) .little-star-dock-toggle{
    animation:littleStarSafeDrift 11.5s ease-in-out infinite;
  }
  .little-star-dock.is-open .little-star-dock-toggle{animation:none}
  .little-star-dock-toggle img{animation:littleStarDockBob 4.1s ease-in-out infinite}
}
@keyframes littleStarSafeDrift{
  0%,100%{transform:translate3d(0,0,0) rotate(0deg)}
  18%{transform:translate3d(-1.05rem,-.72rem,0) rotate(-3deg)}
  39%{transform:translate3d(-2.10rem,-.18rem,0) rotate(2deg)}
  61%{transform:translate3d(-1.52rem,-1.55rem,0) rotate(-2deg)}
  81%{transform:translate3d(-.42rem,-1.12rem,0) rotate(3deg)}
}

/* ===== v108 — deterministic PC dock timeline ===== */
@media (min-width:641px){
  .little-star-dock{
    left:auto; right:1.2rem;
    opacity:0; visibility:hidden; pointer-events:none;
    transform:translate(1.9rem,-50%) scale(.985);
    transition:none;
    will-change:opacity,transform;
  }
  .little-star-dock.is-pc-left{
    right:auto; left:1.2rem;
    transform:translate(-1.9rem,-50%) scale(.985);
  }
  .little-star-dock.is-pc-active{
    visibility:visible;
    pointer-events:auto;
  }
  .little-star-dock.is-pc-left .little-star-dock-item:hover{transform:translateX(.18rem)}
}

/* Heart accordion: the whole header button, including + / −, is the hit area. */
.heart-card-toggle{position:relative;z-index:4;width:100%;cursor:pointer;pointer-events:auto}
.heart-card-toggle > *,.heart-card-toggle .heart-card-action,.heart-card-toggle .heart-card-action *{pointer-events:none}



/* ===== v116 — mobile Dock precise hit areas ===== */
@media (max-width:640px){
  .little-star-dock{pointer-events:none!important}
  .little-star-dock-toggle{pointer-events:auto!important}
  .little-star-dock-menu{pointer-events:none!important}
  .little-star-dock-item{pointer-events:none!important}
  .little-star-dock.is-open .little-star-dock-item{pointer-events:auto!important}
}


/* ===== v117 — ending skeleton: Contact / Recruit / Operator / Footer ===== */
.ending-section{
  position:relative;
  width:100%;
  overflow:hidden;
  container-type:inline-size;
  background:
    radial-gradient(circle at 15% 20%,rgba(255,229,235,.34),transparent 25%),
    radial-gradient(circle at 88% 66%,rgba(225,245,239,.34),transparent 28%),
    linear-gradient(180deg,#fffdf9 0%,#fffaf4 100%);
}
.ending-stage{position:relative;width:100%;min-height:82cqw;padding:7.2cqw 0 8.2cqw;box-sizing:border-box}
.ending-heading-toy{
  position:relative;margin:0 auto;width:76%;min-height:8.2cqw;
  display:grid;place-items:center;text-align:center;
  border:1px solid rgba(255,255,255,.92);border-radius:2.3cqw;
  background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(255,248,238,.70));
  box-shadow:0 .75cqw 2.4cqw rgba(92,70,51,.075),inset 0 .18cqw .34cqw rgba(255,255,255,.96);
  backdrop-filter:blur(1.2cqw);-webkit-backdrop-filter:blur(1.2cqw);
}
.ending-heading-copy{display:grid;gap:.58cqw}
.ending-heading-en,.ending-intro span,.operator-kicker,.ending-choice-en,.footer-kicker{
  font-family:"Avenir Next","Helvetica Neue","Hiragino Kaku Gothic ProN",sans-serif;
  font-weight:600;letter-spacing:.18em;color:rgba(116,91,69,.58)
}
.ending-heading-en{font-size:.72cqw}
.ending-heading-copy h2{
  margin:0;font-family:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:2.22cqw;font-weight:600;letter-spacing:.08em;color:rgba(71,60,53,.88)
}
.ending-emboss{position:absolute;top:50%;width:4.15cqw;opacity:.42;transform:translateY(-50%);filter:grayscale(1) sepia(.12) contrast(.72) brightness(1.14);mix-blend-mode:multiply}
.ending-emboss img{display:block;width:100%;height:auto}
.ending-emboss-left{left:5.4%}.ending-emboss-right{right:5.4%}
.ending-intro{margin:3.15cqw auto 3.6cqw;text-align:center}
.ending-intro span{font-size:.68cqw}.ending-intro p{margin:.72cqw 0 0;font-size:1.18cqw;letter-spacing:.07em;color:rgba(79,67,58,.72)}
.ending-choice-grid{width:69%;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:2.15cqw}
.ending-choice{
  position:relative;min-height:14.5cqw;padding:2.4cqw 2.45cqw;box-sizing:border-box;
  display:grid;grid-template-columns:3.2cqw 1fr 3.2cqw;align-items:center;gap:1.3cqw;
  text-decoration:none;color:rgba(66,57,51,.86);border:1px solid rgba(255,255,255,.88);border-radius:2.2cqw;
  box-shadow:0 .65cqw 2.0cqw rgba(85,67,52,.075),inset 0 .16cqw .28cqw rgba(255,255,255,.92);
  backdrop-filter:blur(1cqw);-webkit-backdrop-filter:blur(1cqw);
  transition:transform .3s cubic-bezier(.22,.72,.24,1),box-shadow .3s ease;
}
.ending-choice-recruit{background:linear-gradient(140deg,rgba(255,240,244,.90),rgba(255,250,247,.75))}
.ending-choice-visit{background:linear-gradient(140deg,rgba(231,247,241,.90),rgba(250,253,247,.76))}
.ending-choice:hover{transform:translateY(-.28cqw);box-shadow:0 .9cqw 2.6cqw rgba(85,67,52,.10),inset 0 .16cqw .28cqw rgba(255,255,255,.95)}
.ending-choice-no{align-self:start;font-size:.75cqw;letter-spacing:.12em;color:rgba(104,82,65,.46)}
.ending-choice-copy{display:grid;gap:.55cqw}.ending-choice-en{font-size:.62cqw}.ending-choice-copy strong{font-size:1.55cqw;letter-spacing:.07em;font-weight:600}.ending-choice-copy small{font-size:.86cqw;letter-spacing:.055em;color:rgba(80,68,59,.58)}
.ending-choice-arrow{width:2.8cqw;height:2.8cqw;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.66);border:1px solid rgba(255,255,255,.88);font-size:1.15cqw}
.operator-card{
  width:69%;margin:6.2cqw auto 0;padding:3.0cqw 3.6cqw;box-sizing:border-box;
  display:flex;align-items:center;justify-content:space-between;gap:4cqw;
  border-top:1px solid rgba(112,91,72,.14);border-bottom:1px solid rgba(112,91,72,.14);
}
.operator-copy{display:grid;gap:.52cqw}.operator-kicker{font-size:.64cqw}.operator-copy h3{margin:.2cqw 0 0;font-size:1.55cqw;font-weight:600;letter-spacing:.06em;color:rgba(67,58,52,.82)}.operator-copy p{margin:0;font-size:.86cqw;color:rgba(76,65,57,.58);letter-spacing:.055em}.operator-copy a{margin-top:.5cqw;width:max-content;font-size:.83cqw;color:rgba(86,73,63,.70);text-decoration:none;border-bottom:1px solid rgba(86,73,63,.25);padding-bottom:.15cqw}
.operator-logo{width:11cqw;opacity:.58}.operator-logo img{display:block;width:100%;height:auto}
.site-footer{container-type:inline-size;background:#f4eee5;color:rgba(68,58,51,.72)}
.site-footer-inner{position:relative;width:69%;margin:0 auto;padding:5.2cqw 0 3.1cqw;display:grid;grid-template-columns:1fr 1fr;gap:2.4cqw 6cqw}
.footer-brand{display:grid;align-content:start;gap:.5cqw}.footer-kicker{font-size:.62cqw}.footer-brand strong{font-size:1.42cqw;letter-spacing:.08em;font-weight:600}
.footer-address{font-style:normal;font-size:.82cqw;line-height:1.78;letter-spacing:.055em}
.footer-pagetop{position:absolute;right:0;top:4.9cqw;display:flex;align-items:center;gap:.7cqw;text-decoration:none;color:rgba(74,62,54,.62);font-size:.7cqw;letter-spacing:.14em}.footer-pagetop b{width:2.45cqw;height:2.45cqw;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.55);font-size:1cqw;font-weight:400}
.footer-copy{grid-column:1/-1;margin:2.2cqw 0 0;padding-top:2cqw;border-top:1px solid rgba(91,73,59,.12);font-size:.68cqw;letter-spacing:.08em;color:rgba(75,63,55,.46)}

@media(max-width:640px){
  .ending-stage{min-height:145cqw;padding:9cqw 0 10cqw}
  .ending-heading-toy{width:88%;min-height:11.89cqw;border-radius:3.2cqw}
  .ending-heading-en{font-size:.88cqw}.ending-heading-copy h2{font-size:2.7cqw}
  .ending-emboss{width:4.7cqw}.ending-emboss-left{left:4.2%}.ending-emboss-right{right:4.2%}
  .ending-intro{margin:5cqw auto 5.3cqw}.ending-intro span{font-size:.80cqw}.ending-intro p{font-size:1.38cqw}
  .ending-choice-grid{width:84%;grid-template-columns:1fr;gap:2.8cqw}
  .ending-choice{min-height:21cqw;padding:3.2cqw 3.5cqw;grid-template-columns:5cqw 1fr 5cqw;gap:1.6cqw;border-radius:3cqw}
  .ending-choice-no{font-size:1.05cqw}.ending-choice-en{font-size:.9cqw}.ending-choice-copy strong{font-size:2.35cqw}.ending-choice-copy small{font-size:1.3cqw}.ending-choice-arrow{width:4.3cqw;height:4.3cqw;font-size:1.7cqw}
  .operator-card{width:84%;margin-top:7.5cqw;padding:4.3cqw 2cqw;gap:3cqw}
  .operator-kicker{font-size:.9cqw}.operator-copy h3{font-size:2.15cqw}.operator-copy p,.operator-copy a{font-size:1.25cqw}.operator-logo{width:16cqw}
  .site-footer-inner{width:84%;padding:7cqw 0 4.5cqw;grid-template-columns:1fr;gap:3.4cqw}
  .footer-kicker{font-size:.9cqw}.footer-brand strong{font-size:2.15cqw}.footer-address{font-size:1.3cqw}
  .footer-pagetop{top:6.8cqw}.footer-pagetop span{display:none}.footer-pagetop b{width:4.6cqw;height:4.6cqw;font-size:1.7cqw}
  .footer-copy{margin-top:1cqw;padding-top:2.8cqw;font-size:1cqw}
}


/* ===== v119 — Contact heading: exact S2/S3 adopted shared language ===== */
.ending-heading-toy{
  position:relative;
  z-index:2;
  width:76%;
  height:11.89cqw;
  min-height:0;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  border:.073cqw solid rgba(189,172,137,.24);
  border-radius:999px;
  background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(255,247,249,.78) 42%,rgba(247,250,226,.74) 72%,rgba(239,250,243,.74));
  box-shadow:0 .62cqw 1.65cqw rgba(91,68,42,.09),inset 0 .13cqw .18cqw rgba(255,255,255,.98),inset 0 -.12cqw .22cqw rgba(210,183,137,.08);
  backdrop-filter:blur(1.15cqw) saturate(1.08);
  -webkit-backdrop-filter:blur(1.15cqw) saturate(1.08);
  isolation:isolate;
}
.ending-heading-toy::after{
  content:"";
  position:absolute;
  inset:.48cqw;
  border-radius:999px;
  border:.073cqw solid rgba(255,255,255,.76);
  pointer-events:none;
}
.ending-heading-copy{text-align:center;display:block}
.ending-heading-en{
  display:block;
  margin-bottom:.42cqw;
  font-family:"Boku",sans-serif;
  font-size:.86cqw;
  font-weight:400;
  letter-spacing:.34em;
  color:rgba(106,91,73,.56);
}
.ending-heading-copy h2{
  position:relative;
  margin:0;
  font-family:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:2.82cqw;
  font-weight:600;
  line-height:1.05;
  letter-spacing:.06em;
  color:rgba(52,48,44,.90);
  -webkit-text-stroke:.018cqw rgba(255,255,255,.42);
  text-shadow:
    0 -.055cqw 0 rgba(255,255,255,.96),
    0 .075cqw 0 rgba(177,163,147,.22),
    0 .16cqw .18cqw rgba(91,76,61,.12);
}
.ending-emboss{
  position:absolute;
  top:50%;
  width:4.15cqw;
  aspect-ratio:1;
  transform:translateY(-50%);
  z-index:1;
  pointer-events:none;
  opacity:.46;
  filter:none;
  mix-blend-mode:normal;
}
.ending-emboss img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  opacity:.72;
  filter:
    grayscale(1)
    saturate(0)
    contrast(.58)
    brightness(1.34)
    drop-shadow(.075cqw .085cqw .055cqw rgba(117,96,72,.20))
    drop-shadow(-.07cqw -.075cqw .055cqw rgba(255,255,255,.92));
  mix-blend-mode:multiply;
}
.ending-emboss-left{left:6.6%}
.ending-emboss-right{right:6.6%;transform:translateY(-50%) rotate(7deg)}

@media(max-width:640px){
  .ending-heading-toy{
    width:88%;
    height:11.89cqw;
    min-height:0;
  }
  .ending-heading-en{font-size:.86cqw}
  .ending-heading-copy h2{font-size:2.82cqw}
  .ending-emboss{width:4.7cqw}
  .ending-emboss-left{left:5.4%}
  .ending-emboss-right{right:5.4%;transform:translateY(-50%) rotate(7deg)}
}


/* ===== v120 — Contact character situation animation ===== */
.ending-choice{overflow:hidden;isolation:isolate}
.ending-choice-no,.ending-choice-copy,.ending-choice-arrow{position:relative;z-index:4}
.contact-scene{
  position:absolute;z-index:2;right:.55cqw;bottom:.05cqw;
  width:48%;height:96%;pointer-events:none;
}
.contact-scene img{position:absolute;display:block;height:auto;transform-origin:50% 70%;will-change:transform}

/* 01 Recruit: rainbow is the little playground; clouds drift, stars play around it. */
.scene-rainbow-recruit{width:72%;right:2%;bottom:7%;animation:contactRainbowBob 5.2s ease-in-out infinite}
.scene-cloud-recruit-a{width:34%;right:2%;bottom:1%;animation:contactCloudDriftA 4.4s ease-in-out infinite}
.scene-cloud-recruit-b{width:29%;right:43%;bottom:0;animation:contactCloudDriftB 5.1s ease-in-out -.7s infinite}
.scene-star-recruit-a{width:21%;right:50%;bottom:27%;animation:contactStarHopA 3.1s cubic-bezier(.45,.05,.32,1) infinite}
.scene-star-recruit-b{width:18%;right:7%;bottom:46%;animation:contactStarHopB 3.7s cubic-bezier(.45,.05,.32,1) -.9s infinite}

/* 02 Visit: a small cloud-and-stars gathering; the lightning cloud is the mischievous friend. */
.scene-cloud-visit-main{width:45%;right:23%;bottom:4%;animation:contactCloudDriftA 4.8s ease-in-out infinite}
.scene-cloud-visit-zap{width:29%;right:0;bottom:42%;animation:contactZapCloud 3.6s ease-in-out -.4s infinite}
.scene-star-visit-a{width:18%;right:60%;bottom:9%;animation:contactStarHopB 3.5s ease-in-out -.5s infinite}
.scene-star-visit-b{width:17%;right:48%;bottom:54%;animation:contactStarHopA 3.0s ease-in-out -.2s infinite}
.scene-star-visit-c{width:16%;right:5%;bottom:7%;animation:contactStarHopC 4.0s ease-in-out -1.1s infinite}

@keyframes contactRainbowBob{
  0%,100%{transform:translateY(0) rotate(-1deg)}
  50%{transform:translateY(-.34cqw) rotate(1deg)}
}
@keyframes contactCloudDriftA{
  0%,100%{transform:translate(0,0) rotate(-1deg)}
  50%{transform:translate(-.42cqw,-.24cqw) rotate(1.5deg)}
}
@keyframes contactCloudDriftB{
  0%,100%{transform:translate(0,0) rotate(1deg)}
  50%{transform:translate(.34cqw,-.30cqw) rotate(-1deg)}
}
@keyframes contactStarHopA{
  0%,18%,100%{transform:translateY(0) rotate(-7deg) scale(1)}
  9%{transform:translateY(-.72cqw) rotate(7deg) scale(1.04)}
  13%{transform:translateY(-.18cqw) rotate(-2deg) scale(.98)}
}
@keyframes contactStarHopB{
  0%,26%,100%{transform:translateY(0) rotate(7deg)}
  12%{transform:translateY(-.52cqw) rotate(-8deg)}
  18%{transform:translateY(-.12cqw) rotate(3deg)}
}
@keyframes contactStarHopC{
  0%,34%,100%{transform:translate(0,0) rotate(-5deg)}
  14%{transform:translate(-.18cqw,-.40cqw) rotate(8deg)}
  22%{transform:translate(.08cqw,-.12cqw) rotate(-2deg)}
}
@keyframes contactZapCloud{
  0%,100%{transform:translate(0,0) rotate(1deg)}
  42%{transform:translate(-.18cqw,-.28cqw) rotate(-2deg)}
  48%{transform:translate(.06cqw,-.34cqw) rotate(2deg)}
  54%{transform:translate(-.08cqw,-.25cqw) rotate(-1deg)}
}

/* PC: protect copy space while still letting the scene feel generous. */
@media(min-width:641px){
  .ending-choice-copy{max-width:53%}
  .ending-choice-arrow{align-self:end}
}

/* SP: use the deliberately larger right-side breathing room. */
@media(max-width:640px){
  .contact-scene{right:1.0cqw;bottom:.2cqw;width:48%;height:98%}
  .ending-choice-copy{max-width:52%}
  .scene-rainbow-recruit{width:78%;right:0;bottom:5%}
  .scene-cloud-recruit-a{width:37%;right:0;bottom:0}
  .scene-cloud-recruit-b{width:32%;right:46%;bottom:0}
  .scene-star-recruit-a{width:22%;right:54%;bottom:29%}
  .scene-star-recruit-b{width:20%;right:5%;bottom:49%}
  .scene-cloud-visit-main{width:48%;right:24%;bottom:1%}
  .scene-cloud-visit-zap{width:31%;right:0;bottom:43%}
  .scene-star-visit-a{width:20%;right:62%;bottom:7%}
  .scene-star-visit-b{width:19%;right:50%;bottom:57%}
  .scene-star-visit-c{width:18%;right:4%;bottom:5%}
}
@media(prefers-reduced-motion:reduce){
  .contact-scene img{animation:none!important}
}


/* ===== v121 — Contact CTA polish + larger character travel ===== */

/* 01 / 02 removed visually; their upper-left position becomes the CTA action. */
.ending-choice-no{display:none!important}

.ending-choice-arrow{
  position:absolute!important;
  z-index:6!important;
  left:2.15cqw!important;
  top:1.65cqw!important;
  right:auto!important;
  bottom:auto!important;
  width:2.65cqw!important;
  height:2.65cqw!important;
  display:grid!important;
  place-items:center!important;
  border:0!important;
  border-radius:46% 54% 52% 48% / 50% 46% 54% 50%!important;
  background:rgba(255,255,255,.72)!important;
  box-shadow:
    0 .20cqw .48cqw rgba(91,72,56,.10),
    inset 0 .11cqw .16cqw rgba(255,255,255,.98),
    inset 0 -.08cqw .14cqw rgba(118,93,72,.06)!important;
  color:rgba(88,72,59,.67)!important;
  font-family:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN",sans-serif!important;
  font-size:0!important;
  transform:rotate(-3deg);
}
.ending-choice-arrow::before{
  content:"➜";
  display:block;
  font-size:1.18cqw;
  line-height:1;
  font-weight:400;
  transform:rotate(3deg) translateX(.03cqw);
}
.ending-choice-recruit .ending-choice-arrow{
  background:rgba(255,247,249,.86)!important;
}
.ending-choice-visit .ending-choice-arrow{
  background:rgba(244,255,251,.86)!important;
}
.ending-choice:hover .ending-choice-arrow{
  transform:rotate(3deg) scale(1.08);
}

/* Character motion: preserve the little reactions, but give each actor more travel. */
@keyframes contactRainbowBob{
  0%,100%{transform:translate(0,0) rotate(-2deg)}
  25%{transform:translate(-.24cqw,-.48cqw) rotate(-.4deg)}
  52%{transform:translate(.18cqw,-.82cqw) rotate(1.7deg)}
  76%{transform:translate(.34cqw,-.28cqw) rotate(.4deg)}
}
@keyframes contactCloudDriftA{
  0%,100%{transform:translate(0,0) rotate(-1.5deg)}
  28%{transform:translate(-.72cqw,-.48cqw) rotate(1deg)}
  58%{transform:translate(-.22cqw,-.88cqw) rotate(2deg)}
  82%{transform:translate(.48cqw,-.30cqw) rotate(-.3deg)}
}
@keyframes contactCloudDriftB{
  0%,100%{transform:translate(0,0) rotate(1deg)}
  31%{transform:translate(.66cqw,-.62cqw) rotate(-1.7deg)}
  63%{transform:translate(.18cqw,-.96cqw) rotate(-.4deg)}
  84%{transform:translate(-.42cqw,-.34cqw) rotate(1.6deg)}
}
@keyframes contactStarHopA{
  0%,18%,100%{transform:translate(0,0) rotate(-7deg) scale(1)}
  6%{transform:translate(-.16cqw,-.54cqw) rotate(1deg) scale(1.02)}
  10%{transform:translate(.20cqw,-1.18cqw) rotate(10deg) scale(1.05)}
  14%{transform:translate(.10cqw,-.38cqw) rotate(-3deg) scale(.99)}
  54%{transform:translate(-.42cqw,-.72cqw) rotate(-10deg) scale(1)}
  72%{transform:translate(.28cqw,-.34cqw) rotate(4deg) scale(1)}
}
@keyframes contactStarHopB{
  0%,26%,100%{transform:translate(0,0) rotate(7deg)}
  9%{transform:translate(.24cqw,-.58cqw) rotate(0deg)}
  14%{transform:translate(-.20cqw,-1.02cqw) rotate(-10deg)}
  20%{transform:translate(-.08cqw,-.28cqw) rotate(3deg)}
  58%{transform:translate(.46cqw,-.62cqw) rotate(11deg)}
  78%{transform:translate(-.24cqw,-.30cqw) rotate(2deg)}
}
@keyframes contactStarHopC{
  0%,34%,100%{transform:translate(0,0) rotate(-5deg)}
  11%{transform:translate(-.30cqw,-.64cqw) rotate(5deg)}
  17%{transform:translate(.18cqw,-.94cqw) rotate(10deg)}
  24%{transform:translate(.08cqw,-.24cqw) rotate(-2deg)}
  61%{transform:translate(-.48cqw,-.58cqw) rotate(-10deg)}
  80%{transform:translate(.32cqw,-.26cqw) rotate(4deg)}
}
@keyframes contactZapCloud{
  0%,100%{transform:translate(0,0) rotate(1deg)}
  24%{transform:translate(-.42cqw,-.52cqw) rotate(-2deg)}
  43%{transform:translate(.18cqw,-.88cqw) rotate(2deg)}
  48%{transform:translate(-.12cqw,-.78cqw) rotate(-2deg)}
  54%{transform:translate(.14cqw,-.68cqw) rotate(2deg)}
  76%{transform:translate(.48cqw,-.30cqw) rotate(-1deg)}
}

@media(min-width:641px){
  /* Restore the text grid after removing the number column. */
  .ending-choice{
    grid-template-columns:1fr 3.2cqw;
    padding-left:4.85cqw;
  }
}

@media(max-width:640px){
  .ending-choice{
    grid-template-columns:1fr 5cqw;
    padding-left:6.8cqw;
  }
  .ending-choice-arrow{
    left:2.45cqw!important;
    top:2.15cqw!important;
    width:3.9cqw!important;
    height:3.9cqw!important;
  }
  .ending-choice-arrow::before{font-size:1.62cqw}

  /* SP only: about 85% of v120's scene scale, with more breathing room. */
  .contact-scene{
    right:1.6cqw;
    bottom:.65cqw;
    width:40.8%;
    height:90%;
  }
  .ending-choice-copy{max-width:58%}
}


/* ===== v122 — SP exact PC scene ratios + kawaii toy arrows ===== */

/* Colorful toy CTA: centered glyph, soft acrylic candy color, tiny "come here" motion. */
.ending-choice-arrow{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  width:2.9cqw!important;
  height:2.9cqw!important;
  border-radius:50%!important;
  transform:none!important;
  overflow:visible!important;
}
.ending-choice-recruit .ending-choice-arrow{
  background:linear-gradient(145deg,rgba(255,248,171,.98) 0%,rgba(255,188,201,.94) 52%,rgba(255,154,188,.92) 100%)!important;
  box-shadow:
    0 .20cqw .52cqw rgba(215,119,147,.20),
    inset .10cqw .12cqw .18cqw rgba(255,255,255,.92),
    inset -.08cqw -.10cqw .18cqw rgba(219,120,150,.12)!important;
}
.ending-choice-visit .ending-choice-arrow{
  background:linear-gradient(145deg,rgba(213,252,239,.98) 0%,rgba(157,232,224,.95) 52%,rgba(125,214,220,.92) 100%)!important;
  box-shadow:
    0 .20cqw .52cqw rgba(83,172,176,.18),
    inset .10cqw .12cqw .18cqw rgba(255,255,255,.94),
    inset -.08cqw -.10cqw .18cqw rgba(76,158,166,.10)!important;
}
.ending-choice-arrow::before{
  content:"➜"!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  font-family:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN",sans-serif!important;
  font-size:1.28cqw!important;
  font-weight:700!important;
  line-height:1!important;
  color:rgba(255,255,255,.98)!important;
  text-shadow:0 .07cqw .10cqw rgba(95,77,66,.13)!important;
  transform:translate(0,0)!important;
  animation:contactArrowNudge 2.7s cubic-bezier(.45,.05,.28,1) infinite!important;
}
.ending-choice-arrow::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:3.55cqw!important;
  height:3.55cqw!important;
  border-radius:50%!important;
  border:.08cqw solid rgba(255,255,255,.58)!important;
  transform:translate(-50%,-50%) scale(.82)!important;
  opacity:0!important;
  animation:contactArrowHalo 2.7s ease-out infinite!important;
}
@keyframes contactArrowNudge{
  0%,12%,24%,100%{transform:translateX(0)}
  6%{transform:translateX(.22cqw)}
  18%{transform:translateX(.13cqw)}
}
@keyframes contactArrowHalo{
  0%,3%,28%,100%{opacity:0;transform:translate(-50%,-50%) scale(.82)}
  10%{opacity:.55}
  23%{opacity:0;transform:translate(-50%,-50%) scale(1.08)}
}
.ending-choice:hover .ending-choice-arrow{transform:none!important}

/* SP:
   Use the PC composition itself as the master.
   No per-character SP widths/positions: all five actors keep the exact PC ratio/placement.
   Only the complete scene container becomes smaller. */
@media(max-width:640px){
  .ending-choice-arrow{
    left:2.45cqw!important;
    top:2.15cqw!important;
    width:4.25cqw!important;
    height:4.25cqw!important;
  }
  .ending-choice-arrow::before{font-size:1.82cqw!important}
  .ending-choice-arrow::after{
    width:5.05cqw!important;
    height:5.05cqw!important;
  }

  .contact-scene{
    right:2.15cqw!important;
    bottom:.9cqw!important;
    width:38%!important;
    height:88%!important;
  }

  /* Exact PC child geometry — deliberately overrides all v120 SP child rules. */
  .scene-rainbow-recruit{width:72%!important;right:2%!important;bottom:7%!important}
  .scene-cloud-recruit-a{width:34%!important;right:2%!important;bottom:1%!important}
  .scene-cloud-recruit-b{width:29%!important;right:43%!important;bottom:0!important}
  .scene-star-recruit-a{width:21%!important;right:50%!important;bottom:27%!important}
  .scene-star-recruit-b{width:18%!important;right:7%!important;bottom:46%!important}

  .scene-cloud-visit-main{width:45%!important;right:23%!important;bottom:4%!important}
  .scene-cloud-visit-zap{width:29%!important;right:0!important;bottom:42%!important}
  .scene-star-visit-a{width:18%!important;right:60%!important;bottom:9%!important}
  .scene-star-visit-b{width:17%!important;right:48%!important;bottom:54%!important}
  .scene-star-visit-c{width:16%!important;right:5%!important;bottom:7%!important}

  .ending-choice-copy{max-width:60%!important}
}

@media(prefers-reduced-motion:reduce){
  .ending-choice-arrow::before,.ending-choice-arrow::after{animation:none!important}
}


/* ===== v123 — Contact: open character stage + collision-free CTA ===== */

/* Characters are allowed to live beyond the card edge. */
.ending-choice{
  overflow:visible!important;
}

/* Keep text in a deliberate safe zone below/right of the toy arrow. */
.ending-choice-copy{
  position:relative!important;
  z-index:4!important;
}
@media(min-width:641px){
  .ending-choice{
    padding-left:5.35cqw!important;
  }
  .ending-choice-copy{
    max-width:51%!important;
    padding-top:1.15cqw!important;
  }
  .ending-choice-arrow{
    left:2.05cqw!important;
    top:1.35cqw!important;
  }
}
@media(max-width:640px){
  .ending-choice{
    padding-left:7.25cqw!important;
  }
  .ending-choice-copy{
    max-width:57%!important;
    padding-top:.95cqw!important;
  }
  .ending-choice-arrow{
    left:2.35cqw!important;
    top:1.75cqw!important;
  }
}

/* PC: preserve the accepted character scale, but release the scene from the card box.
   Slight edge peeks make the scene feel alive rather than "stored" inside the panel. */
@media(min-width:641px){
  .contact-scene{
    overflow:visible!important;
  }
  .contact-scene-recruit{
    right:-.15cqw!important;
    bottom:-.10cqw!important;
    width:50%!important;
    height:101%!important;
  }
  .contact-scene-visit{
    right:.10cqw!important;
    bottom:-.12cqw!important;
    width:49%!important;
    height:100%!important;
  }
  .scene-star-recruit-b{right:4%!important;bottom:50%!important}
  .scene-cloud-recruit-a{right:-1%!important;bottom:-2%!important}
  .scene-star-visit-c{right:1%!important;bottom:5%!important}
  .scene-cloud-visit-zap{right:-2%!important;bottom:45%!important}
}

/* SP:
   The stage becomes WIDE, while actor sizes are reduced independently.
   This avoids squeezing five actors into the old 38% box.
   The result is a dispersed little scene with intentional edge peeks. */
@media(max-width:640px){
  .contact-scene{
    overflow:visible!important;
    width:53%!important;
    height:94%!important;
    right:-1.0cqw!important;
    bottom:.15cqw!important;
  }

  /* Recruit — wider spacing, smaller actors, same story. */
  .scene-rainbow-recruit{
    width:56%!important;
    right:8%!important;
    bottom:7%!important;
  }
  .scene-cloud-recruit-a{
    width:25%!important;
    right:-1%!important;
    bottom:-2%!important;
  }
  .scene-cloud-recruit-b{
    width:22%!important;
    right:48%!important;
    bottom:-1%!important;
  }
  .scene-star-recruit-a{
    width:15.5%!important;
    right:59%!important;
    bottom:31%!important;
  }
  .scene-star-recruit-b{
    width:14%!important;
    right:3%!important;
    bottom:53%!important;
  }

  /* Visit — keep its already-good balance, only give it a little more air. */
  .scene-cloud-visit-main{
    width:35%!important;
    right:27%!important;
    bottom:3%!important;
  }
  .scene-cloud-visit-zap{
    width:22%!important;
    right:-1%!important;
    bottom:47%!important;
  }
  .scene-star-visit-a{
    width:14%!important;
    right:67%!important;
    bottom:9%!important;
  }
  .scene-star-visit-b{
    width:13%!important;
    right:53%!important;
    bottom:59%!important;
  }
  .scene-star-visit-c{
    width:12.5%!important;
    right:3%!important;
    bottom:7%!important;
  }
}


/* ===== v124 — Contact final copy / spacing / scene balance ===== */

/* PC: both toy arrows share one fixed left anchor, independent of label length. */
@media(min-width:641px){
  .ending-choice-arrow{
    left:1.55cqw!important;
    top:1.35cqw!important;
  }

  /* Deliberate two-line break only on PC. */
  .visit-title-break{display:inline!important}

  /* Recruit: release the small left cloud from the rainbow cluster. */
  .scene-cloud-recruit-b{
    right:52%!important;
    bottom:-1%!important;
  }

  /* Visit: bring selected actors back toward the main cloud so the group reads as one scene. */
  .scene-star-visit-a{
    right:55%!important;
    bottom:11%!important;
  }
  .scene-star-visit-b{
    right:43%!important;
    bottom:52%!important;
  }
  .scene-star-visit-c{
    right:8%!important;
    bottom:8%!important;
  }
  .scene-cloud-visit-zap{
    right:2%!important;
    bottom:43%!important;
  }
}

/* SP: keep Recruit's accepted overall composition, reduce only the rainbow.
   Rebuild Visit as a connected group instead of five isolated actors. */
@media(max-width:640px){
  .visit-title-break{display:none!important}

  .scene-rainbow-recruit{
    width:50%!important;
    right:11%!important;
    bottom:8%!important;
  }

  .scene-cloud-visit-main{
    width:37%!important;
    right:24%!important;
    bottom:4%!important;
  }
  .scene-cloud-visit-zap{
    width:21%!important;
    right:5%!important;
    bottom:42%!important;
  }
  .scene-star-visit-a{
    width:14%!important;
    right:55%!important;
    bottom:11%!important;
  }
  .scene-star-visit-b{
    width:13%!important;
    right:46%!important;
    bottom:49%!important;
  }
  .scene-star-visit-c{
    width:12.5%!important;
    right:12%!important;
    bottom:8%!important;
  }
}


/* ===== v125 — Contact scene group rhythm ===== */

/* Keep the visit supporting copy on one line on PC. */
@media(min-width:641px){
  .ending-choice-visit .ending-choice-copy small{
    white-space:nowrap!important;
  }

  /* Move the COMPLETE visit character group upward.
     Internal five-character composition remains untouched. */
  .contact-scene-visit{
    bottom:8.4%!important;
  }
}

/* SP: move the COMPLETE visit character group left.
   Internal five-character composition remains untouched. */
@media(max-width:640px){
  .contact-scene-visit{
    right:5.4cqw!important;
  }
}


/* ===== v126 — shared toy UI language + milky nursery footer ===== */

/* S3 chapter numbers: quiet candy/acrylic chips. */
.heart-card-number{
  align-self:center!important;
  justify-self:center!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  width:3.05cqw!important;
  height:3.05cqw!important;
  padding:0!important;
  border-radius:50%!important;
  font-size:.88cqw!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:.035em!important;
  color:rgba(102,80,65,.72)!important;
  box-shadow:
    0 .18cqw .46cqw rgba(107,84,65,.10),
    inset .10cqw .12cqw .18cqw rgba(255,255,255,.98),
    inset -.08cqw -.10cqw .16cqw rgba(112,87,67,.06)!important;
}
.heart-card-philosophy .heart-card-number{
  background:linear-gradient(145deg,rgba(255,247,174,.98),rgba(255,190,204,.92))!important;
}
.heart-card-policy .heart-card-number{
  background:linear-gradient(145deg,rgba(255,252,202,.98),rgba(246,219,139,.93))!important;
}
.heart-card-goal .heart-card-number{
  background:linear-gradient(145deg,rgba(221,253,240,.98),rgba(159,232,220,.93))!important;
}

/* S3 +/-: same tactile toy family as Contact arrows. */
.heart-card-action{
  border-radius:50%!important;
  box-shadow:
    0 .20cqw .50cqw rgba(99,78,62,.11),
    inset .10cqw .12cqw .18cqw rgba(255,255,255,.98),
    inset -.08cqw -.10cqw .16cqw rgba(102,78,60,.07)!important;
  animation:heartToyBreathe 3.4s ease-in-out infinite!important;
}
.heart-card-philosophy .heart-card-action{
  background:linear-gradient(145deg,rgba(255,247,174,.98),rgba(255,183,202,.94))!important;
}
.heart-card-policy .heart-card-action{
  background:linear-gradient(145deg,rgba(255,252,202,.98),rgba(245,218,137,.94))!important;
}
.heart-card-goal .heart-card-action{
  background:linear-gradient(145deg,rgba(220,253,241,.98),rgba(151,229,218,.94))!important;
}
.heart-card-action::before,
.heart-card-action::after{
  background:rgba(255,255,255,.98)!important;
  border-radius:999px!important;
  box-shadow:0 .05cqw .08cqw rgba(88,70,57,.12)!important;
}
@keyframes heartToyBreathe{
  0%,76%,100%{transform:translateY(0) scale(1)}
  82%{transform:translateY(-.12cqw) scale(1.035)}
  88%{transform:translateY(0) scale(1)}
}

/* Footer: quiet landing, but still belongs to Little Star's pastel world. */
.site-footer{
  background:
    radial-gradient(circle at 12% 16%,rgba(255,210,220,.25),transparent 31%),
    radial-gradient(circle at 84% 18%,rgba(213,247,231,.29),transparent 32%),
    radial-gradient(circle at 67% 88%,rgba(255,239,177,.23),transparent 31%),
    linear-gradient(180deg,rgba(255,253,248,.99),rgba(255,250,241,.99))!important;
}

/* PC: nursery name + address become one compact information group. */
@media(min-width:641px){
  .site-footer-inner{
    grid-template-columns:1fr!important;
    gap:.82cqw!important;
  }
  .footer-brand{grid-column:1!important}
  .footer-address{grid-column:1!important;margin-top:.28cqw!important}
  .footer-copy{grid-column:1!important;margin-top:1.45cqw!important}
}

/* Page-top: same candy/acrylic UI, with a tiny upward "pyoko". */
.footer-pagetop{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.62cqw!important;
  min-width:9.4cqw!important;
  min-height:3.15cqw!important;
  padding:.52cqw 1.0cqw!important;
  box-sizing:border-box!important;
  border-radius:999px!important;
  background:linear-gradient(145deg,rgba(255,247,177,.97),rgba(255,192,207,.91),rgba(190,239,226,.90))!important;
  box-shadow:
    0 .22cqw .55cqw rgba(103,81,64,.12),
    inset .10cqw .12cqw .18cqw rgba(255,255,255,.98),
    inset -.08cqw -.10cqw .16cqw rgba(104,79,61,.06)!important;
  color:rgba(88,71,58,.76)!important;
  font-size:.76cqw!important;
  letter-spacing:.06em!important;
}
.footer-pagetop b{
  width:1.72cqw!important;
  height:1.72cqw!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.82)!important;
  color:rgba(91,73,59,.70)!important;
  font-size:.92cqw!important;
  font-weight:700!important;
  animation:footerTopPyoko 2.8s cubic-bezier(.45,.05,.28,1) infinite!important;
}
@keyframes footerTopPyoko{
  0%,12%,24%,100%{transform:translateY(0)}
  6%{transform:translateY(-.22cqw)}
  18%{transform:translateY(-.10cqw)}
}

@media(max-width:640px){
  .heart-card-number{
    width:4.7cqw!important;
    height:4.7cqw!important;
    font-size:1.24cqw!important;
  }

  /* Restore the label on SP and use the same control as PC. */
  .footer-pagetop{
    top:5.9cqw!important;
    display:inline-flex!important;
    gap:1.1cqw!important;
    min-width:20.8cqw!important;
    min-height:6.7cqw!important;
    padding:1.0cqw 1.65cqw!important;
    font-size:1.48cqw!important;
  }
  .footer-pagetop span{display:inline!important}
  .footer-pagetop b{
    width:3.25cqw!important;
    height:3.25cqw!important;
    font-size:1.65cqw!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .heart-card-action,.footer-pagetop b{animation:none!important}
}


/* ===== v127 — refine shared toy language + footer brand object ===== */

/* S3: same hue family as each card.
   Left number chips are intentionally softer because they sit on the pale edge. */
.heart-card-number{
  color:#fff!important;
  font-weight:800!important;
  text-shadow:0 .05cqw .10cqw rgba(87,67,91,.10)!important;
  border:1px solid rgba(255,255,255,.52)!important;
}
.heart-card-philosophy .heart-card-number{
  background:linear-gradient(145deg,rgba(220,207,241,.76),rgba(198,181,230,.70))!important;
}
.heart-card-policy .heart-card-number{
  background:linear-gradient(145deg,rgba(250,232,169,.76),rgba(239,209,126,.70))!important;
}
.heart-card-goal .heart-card-number{
  background:linear-gradient(145deg,rgba(188,236,220,.76),rgba(150,219,202,.70))!important;
}

/* Right controls may be richer because the card gradient is stronger there. */
.heart-card-philosophy .heart-card-action{
  background:linear-gradient(145deg,rgba(205,188,236,.98),rgba(177,154,220,.94))!important;
}
.heart-card-policy .heart-card-action{
  background:linear-gradient(145deg,rgba(249,224,147,.98),rgba(232,194,103,.94))!important;
}
.heart-card-goal .heart-card-action{
  background:linear-gradient(145deg,rgba(178,235,216,.98),rgba(128,211,190,.94))!important;
}
.heart-card-action::before,
.heart-card-action::after{
  height:.18cqw!important;
  background:#fff!important;
  box-shadow:0 .05cqw .10cqw rgba(83,66,55,.10)!important;
}
.heart-card-action::before{width:1.72cqw!important}
.heart-card-action::after{width:1.72cqw!important}

/* Footer nursery sign: not plain text, but a quiet embossed/acrylic object. */
.footer-brand{
  position:relative!important;
  overflow:visible!important;
}
.footer-kicker{
  margin-bottom:.58cqw!important;
  font-size:.86cqw!important;
  line-height:1.35!important;
  letter-spacing:.11em!important;
  font-weight:650!important;
  color:rgba(106,88,74,.66)!important;
}
.footer-brand strong{
  display:inline-block!important;
  position:relative!important;
  margin:0!important;
  padding:.20cqw .08cqw .28cqw!important;
  font-size:1.78cqw!important;
  line-height:1.18!important;
  letter-spacing:.045em!important;
  font-weight:760!important;
  color:rgba(255,255,255,.88)!important;
  text-shadow:
    -.06cqw -.06cqw .10cqw rgba(255,255,255,.98),
     .07cqw  .09cqw .12cqw rgba(150,119,96,.20),
     0 .20cqw .45cqw rgba(156,123,98,.08)!important;
  -webkit-text-stroke:.015cqw rgba(174,143,119,.20)!important;
}
.footer-brand strong::after{
  content:""!important;
  position:absolute!important;
  left:4%!important;
  right:4%!important;
  bottom:-.16cqw!important;
  height:.12cqw!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,transparent,rgba(205,177,155,.24),transparent)!important;
  filter:blur(.04cqw)!important;
}

/* One quiet existing Little Star character in the footer. */
.footer-star-friend{
  position:absolute!important;
  left:20.8cqw!important;
  top:-.15cqw!important;
  width:3.55cqw!important;
  height:auto!important;
  z-index:2!important;
  transform-origin:50% 70%!important;
  animation:footerStarHello 5.8s ease-in-out infinite!important;
  pointer-events:none!important;
  user-select:none!important;
}
@keyframes footerStarHello{
  0%,100%{transform:translate3d(0,0,0) rotate(-4deg)}
  38%{transform:translate3d(0,-.18cqw,0) rotate(3deg)}
  68%{transform:translate3d(.10cqw,-.08cqw,0) rotate(-1deg)}
}

/* "さいしょへ戻る": one calm milk-mint family, white icon language. */
.footer-pagetop{
  background:linear-gradient(145deg,rgba(193,238,226,.98),rgba(151,219,205,.95))!important;
  color:rgba(255,255,255,.98)!important;
  font-weight:700!important;
  text-shadow:0 .05cqw .10cqw rgba(74,118,107,.10)!important;
}
.footer-pagetop b{
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.44)!important;
  box-shadow:
    inset .06cqw .08cqw .12cqw rgba(255,255,255,.18),
    0 .06cqw .14cqw rgba(79,124,113,.08)!important;
  font-weight:850!important;
}

/* SP: tighten the gap between OPERATED BY and the footer, and scale the footer sign. */
@media(max-width:640px){
  .site-footer{
    margin-top:-7.5cqw!important;
  }
  .footer-kicker{
    margin-bottom:1.0cqw!important;
    font-size:1.72cqw!important;
    letter-spacing:.10em!important;
  }
  .footer-brand strong{
    font-size:3.25cqw!important;
    padding:.34cqw .10cqw .48cqw!important;
  }
  .footer-star-friend{
    left:42cqw!important;
    top:-.35cqw!important;
    width:6.3cqw!important;
  }
  .heart-card-action::before,
  .heart-card-action::after{
    height:.26cqw!important;
  }
  .heart-card-action::before,
  .heart-card-action::after{
    width:2.05cqw!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .footer-star-friend{animation:none!important}
}


/* ===== v128 — quieter S3 toy controls / clearer footer relief ===== */

/* S3: pull the color field way back; let the white raised symbols do the work. */
.heart-card-philosophy .heart-card-number{
  background:linear-gradient(145deg,rgba(233,226,246,.62),rgba(218,207,239,.54))!important;
}
.heart-card-policy .heart-card-number{
  background:linear-gradient(145deg,rgba(255,248,204,.72),rgba(250,237,171,.60))!important;
}
.heart-card-goal .heart-card-number{
  background:linear-gradient(145deg,rgba(219,247,238,.70),rgba(193,237,225,.58))!important;
}
.heart-card-number{
  color:#fff!important;
  font-weight:850!important;
  text-shadow:
    0 .055cqw .08cqw rgba(87,72,62,.22),
    0 .11cqw .18cqw rgba(87,72,62,.10)!important;
  box-shadow:
    0 .13cqw .34cqw rgba(102,83,68,.07),
    inset .09cqw .11cqw .16cqw rgba(255,255,255,.94),
    inset -.06cqw -.08cqw .13cqw rgba(110,88,70,.035)!important;
}

/* Right +/- uses the same hues, only slightly stronger than the number chips. */
.heart-card-philosophy .heart-card-action{
  background:linear-gradient(145deg,rgba(226,217,244,.86),rgba(204,190,234,.80))!important;
}
.heart-card-policy .heart-card-action{
  background:linear-gradient(145deg,rgba(255,246,188,.90),rgba(247,228,148,.84))!important;
}
.heart-card-goal .heart-card-action{
  background:linear-gradient(145deg,rgba(205,244,232,.88),rgba(170,230,214,.82))!important;
}
.heart-card-action::before,
.heart-card-action::after{
  height:.22cqw!important;
  background:#fff!important;
  box-shadow:
    0 .055cqw .08cqw rgba(79,68,59,.22),
    0 .11cqw .17cqw rgba(79,68,59,.10)!important;
}

/* Footer brand name: retain relief, but restore a visible material face. */
.footer-brand strong{
  color:rgba(132,112,96,.76)!important;
  text-shadow:
    -.055cqw -.055cqw .08cqw rgba(255,255,255,.98),
     .055cqw  .075cqw .09cqw rgba(126,100,80,.16),
     0 .16cqw .32cqw rgba(145,114,90,.08)!important;
  -webkit-text-stroke:.012cqw rgba(112,91,75,.12)!important;
}


/* Recruitment-only structure. The v128 stylesheet above remains intact. */
html{scroll-padding-top:110px}body{overflow-x:hidden;background:#fff;color:#463b32;font-family:"Boku",sans-serif}
.recruit-nav-page{height:clamp(90px,9.3vw,127px);min-height:0;overflow:visible;background:transparent}
.recruit-nav-board{height:100%;min-height:0;overflow:visible}
.recruit-nav-board .site-header{top:0}
.recruit-nav-board .nav-item{font-family:"Boku",sans-serif}
.recruit-layout{width:min(92%,1160px);margin:36px auto 0;font-family:"Boku",sans-serif;line-height:1.8;box-sizing:border-box}
.recruit-layout *, .recruit-layout *::before,.recruit-layout *::after{box-sizing:border-box}
.recruit-layout img{display:block;max-width:100%;height:auto}
.recruit-panel,.contact-panel{position:relative;min-width:0;background:linear-gradient(155deg,#fffefa,#fff9f2);border:1px solid rgba(160,132,109,.19);border-radius:44px;box-shadow:0 9px 0 rgba(239,218,197,.47),0 25px 45px rgba(103,80,57,.075),inset 2px 3px 3px #fff;padding:40px clamp(20px,4vw,65px) 60px}
.recruit-title{display:flex;align-items:center;justify-content:center;min-height:95px;margin:0 0 28px;border-radius:999px;background:linear-gradient(145deg,#fff4e9,#fffaf4);box-shadow:inset 0 2px 3px #fff,0 5px 0 rgba(239,218,197,.48)}
.recruit-title h1{font-family:"Boku",sans-serif;font-size:clamp(32px,4.1vw,57px);font-weight:400;margin:0;color:#fff;text-shadow:1px 2px 0 #bd9784,2px 4px 0 rgba(173,131,109,.6),3px 6px 7px rgba(120,92,72,.15)}
.recruit-layout .section{position:relative;padding:28px 0 34px;min-width:0}
.recruit-layout .section-head{display:flex;align-items:center;gap:10px;margin:0 0 20px;position:relative}
.recruit-layout .section-head .section-star{width:39px;flex:none;animation:recruit-bob 4s ease-in-out infinite}
.recruit-layout .section-head>span{display:none}
.recruit-layout .section-head h2{font:400 clamp(23px,2.7vw,35px)/1.4 "Boku",sans-serif;margin:0;color:#463b32;text-shadow:1px 2px 0 #fff,2px 3px 2px rgba(165,139,120,.16)}
.recruit-layout .section-head::after{content:"";position:absolute;bottom:-8px;left:0;width:min(260px,65%);height:6px;border-radius:99px;background:#d2f2e4;opacity:.75}
.recruit-layout .place-grid,.recruit-layout .features-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}
.recruit-layout .place-info{position:relative;min-width:0;padding:20px 4px;line-height:1.9}
.recruit-layout .place-kicker{font-size:17px;margin:0 0 6px}
.recruit-layout .place-info h3{font:400 clamp(20px,2.5vw,29px) "Boku",sans-serif;margin:0 0 16px}
.recruit-layout .place-info address{font-style:normal;line-height:1.85}
.recruit-layout .place-photo{width:100%;min-width:0;overflow:hidden;border-radius:30px}
.recruit-layout .place-photo img{width:100%;height:auto;aspect-ratio:1.5;object-fit:cover}
.recruit-layout .feature-list,.recruit-layout .feature-side{min-width:0}
.recruit-layout .feature-list article{margin:0 0 21px}
.recruit-layout .feature-list h3{display:inline-block;background:#fff1f6;border-radius:999px;padding:7px 16px;font:400 clamp(17px,2vw,22px) "Boku",sans-serif;margin:0 0 9px}
.recruit-layout .feature-list h3 span{margin-right:7px}
.recruit-layout .feature-list p,.recruit-layout .feature-list li,.recruit-layout .prose p,.recruit-layout .prose li{font-size:clamp(14px,1.4vw,17px);line-height:1.85}
.recruit-layout .feature-list ul,.recruit-layout .prose ul{margin:0;padding-left:22px}
.recruit-layout .feature-list p{margin:0 0 0 10px}
.recruit-layout .feature-side{display:flex;flex-direction:column;gap:24px}
.recruit-layout .prose h3{font:400 clamp(21px,2.5vw,28px) "Boku",sans-serif;margin:0 0 12px}
.recruit-layout .prose p{margin:0}
.recruit-layout .line-art{width:100%;max-height:310px;object-fit:contain}
.recruit-layout .day-card{padding:25px 22px 15px;border-radius:30px;background:#fff;box-shadow:0 9px 26px rgba(105,83,62,.075)}
.recruit-layout .timeline{display:grid;grid-template-columns:1fr 1fr;gap:5%;align-items:start}
.recruit-layout .timeline-column{position:relative;min-width:0;display:flex;flex-direction:column;gap:0;padding:0 0 20px}
.recruit-layout .event{position:relative;display:grid;grid-template-columns:minmax(95px,38%) 1fr;align-items:center;gap:13px;min-height:74px}
.recruit-layout .event:not(.last)::before{content:"";position:absolute;left:19%;top:50%;height:100%;width:4px;background:#d5bda7;z-index:0}
.recruit-layout .event time{position:relative;z-index:1;text-align:center;background:#fff6d2;border:2px solid rgba(151,121,89,.3);border-radius:999px;padding:9px 5px;font-size:clamp(13px,1.4vw,17px)}
.recruit-layout .event p{font-size:clamp(13px,1.4vw,17px);line-height:1.5;margin:0}
.recruit-layout .day-image{width:100%;margin-bottom:20px}
.recruit-layout .day-image img{width:100%;aspect-ratio:1.5;object-fit:cover;border-radius:25px}
.recruit-layout .year-card{padding:24px 20px 18px;border-radius:30px;background:#fff;box-shadow:0 9px 26px rgba(105,83,62,.075)}
.recruit-layout .months{display:flex;flex-direction:column;border:2px solid #a6c9e4;border-radius:12px;overflow:hidden}
.recruit-layout .month-pair{display:grid;grid-template-columns:1fr 1fr;min-height:75px}
.recruit-layout .month-pair:not(:last-child){border-bottom:2px solid #a6c9e4}
.recruit-layout .month-pair>div{display:grid;grid-template-columns:72px 1fr;align-items:center;min-width:0;background:#f0f5fd}
.recruit-layout .month-pair:nth-child(even)>div{background:#e7effb}
.recruit-layout .month-pair>div:first-child{border-right:2px solid #a6c9e4}
.recruit-layout .month-pair b{height:100%;display:grid;place-items:center;border-right:2px solid #a6c9e4;font-size:20px}
.recruit-layout .month-pair span{padding:12px 15px;text-align:center;font-size:clamp(13px,1.5vw,18px);line-height:1.55}
.recruit-layout .year-note{text-align:center;margin:22px 0 0}
.recruit-layout .job{border:2px solid #f0d7b1;border-radius:26px;padding:0 28px 20px;overflow:hidden}
.recruit-layout .job-header{background:#ffe9c1;border-radius:0 0 20px 20px;display:flex;gap:15px;align-items:center;width:max-content;max-width:100%;padding:12px 20px;margin-bottom:16px}
.recruit-layout .job-header span{display:none}
.recruit-layout .job-header h3{font:400 clamp(18px,2.3vw,27px) "Boku",sans-serif;margin:0}
.recruit-layout .job-row{display:grid;grid-template-columns:28% 1fr;gap:25px;padding:16px 0;border-bottom:1px solid rgba(155,130,100,.14)}
.recruit-layout .job-row:last-child{border-bottom:0}
.recruit-layout .job-row h4{margin:0;font-size:18px;font-weight:400}
.recruit-layout .job-row p{margin:0 0 9px}
.recruit-layout .job-row ul{margin:0;padding-left:22px}
.recruit-layout .tags{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 13px}
.recruit-layout .tags span{background:#fff1d7;border-radius:999px;padding:5px 12px;font-size:13px}
.recruit-layout .contact-panel{margin:55px 0 0;padding-top:30px}
.recruit-layout .contact-panel .section{padding:0}
.recruit-layout .contact-panel .section-head{justify-content:center;margin:0 auto 30px}
.recruit-layout .contact-panel .section-head::after{display:none}
.recruit-layout .apply-card{text-align:center}
.recruit-layout .apply-card p{margin:0 auto 22px}
.recruit-layout .apply-link{display:inline-flex;align-items:center;gap:18px;text-decoration:none;padding:15px 25px;background:#fff3cf;border-radius:999px;box-shadow:0 5px 0 rgba(215,181,122,.5),inset 0 2px 2px #fff}
.recruit-layout .temporary{font-size:12px;margin-top:25px;color:#8d8075}
.recruit-footer{text-align:center;padding:55px 15px;color:#786a5f;font-size:13px}
@keyframes recruit-bob{50%{transform:translateY(-6px) rotate(4deg)}}
@media(max-width:760px){
 .recruit-nav-page{height:95px}
 .recruit-layout{width:94%;margin:20px auto}
 .recruit-panel,.contact-panel{padding:22px 18px 40px;border-radius:30px}
 .recruit-title{min-height:72px}
 .recruit-layout .section{padding:22px 0}
 .recruit-layout .place-grid,.recruit-layout .features-grid{grid-template-columns:1fr;gap:15px}
 .recruit-layout .timeline{grid-template-columns:1fr;gap:5px}
 .recruit-layout .day-card{padding:16px 12px}
 .recruit-layout .day-image{margin-top:12px}
 .recruit-layout .month-pair>div{grid-template-columns:46px 1fr}
 .recruit-layout .month-pair b{font-size:15px}
 .recruit-layout .month-pair span{font-size:12px;padding:10px 5px}
 .recruit-layout .job{padding:0 15px 15px}
 .recruit-layout .job-row{grid-template-columns:1fr;gap:5px}
}
@media(prefers-reduced-motion:reduce){.recruit-layout .section-star{animation:none}}

/* v011: heading/location only. Exact v128 heading component; no new palette or shadow tokens. */
.recruit-layout .recruit-heading-stage{position:relative;container-type:inline-size;width:100%;height:clamp(128px,14vw,190px);margin:0 0 20px;isolation:isolate}
.recruit-layout .recruit-heading-stage .section-heading-toy{position:absolute;left:0;top:7%;width:100%;height:86%;margin:0;padding:0;display:flex;align-items:center;justify-content:center;transform:none}
/* Heading typography inherited from the final v128 shared component. */

.recruit-layout .recruit-heading-stage .section-heading-star-one,.recruit-layout .recruit-heading-stage .section-heading-star-two{display:none}
.recruit-layout .place-info{isolation:isolate;min-height:clamp(270px,31vw,395px)}
.recruit-layout .place-info>*:not(.place-lineart){position:relative;z-index:2}
.recruit-layout .place-lineart{position:absolute;z-index:0;left:-5%;top:3%;width:110%;aspect-ratio:1080/735;overflow:hidden;pointer-events:none}
.recruit-layout .place-lineart-image{position:absolute;left:0;top:0;width:100%;height:auto;max-width:none;opacity:.42}
.recruit-layout .place-moving-star{position:absolute;width:7%;height:auto;max-width:none;transform:translate(-50%,-50%);pointer-events:none}
.recruit-layout .place-moving-star-2{width:6%}.recruit-layout .place-moving-star-3{width:5%}
.recruit-layout .place-photo{overflow:visible;border-radius:0}
.recruit-layout .place-photo img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:30px}
@media(max-width:760px){.recruit-layout .recruit-heading-stage{height:clamp(100px,22vw,155px)}.recruit-layout .place-info{min-height:clamp(250px,72vw,400px)}.recruit-layout .place-lineart{top:4%}}

/* v012 — scoped correction: recruitment heading and location only. */
/* Preserve v128 heading material; match heading-to-panel typography ratio. */


/* Legibility on top of original line drawing without deleting the artwork. */
.recruit-layout .place-info>*:not(.place-lineart){z-index:2}
.recruit-layout .place-info .place-kicker,
.recruit-layout .place-info h3,
.recruit-layout .place-info address,
.recruit-layout .place-info>p:not(.place-kicker){
  color:rgba(49,44,40,.98);
  text-shadow:0 1px 1px rgba(255,255,255,1),1px 0 2px rgba(255,255,255,.98),-1px 0 2px rgba(255,255,255,.98),0 -1px 2px rgba(255,255,255,.98);
}
.recruit-layout .place-lineart-image{opacity:.32}
.recruit-layout .place-lineart{overflow:visible}
.recruit-layout .place-moving-star{animation:recruit-star-wander 5.5s ease-in-out infinite alternate;transform:translate(-50%,-50%);filter:drop-shadow(0 1px 2px rgba(100,80,55,.14))}
.recruit-layout .place-moving-star-2{animation-delay:-1.7s;animation-duration:6.3s}
.recruit-layout .place-moving-star-3{animation-delay:-3s;animation-duration:4.8s}
@keyframes recruit-star-wander{0%{transform:translate(-50%,-50%) translate(0,0) rotate(-5deg)}50%{transform:translate(-50%,-50%) translate(7%,-18%) rotate(4deg)}100%{transform:translate(-50%,-50%) translate(-5%,8%) rotate(-3deg)}}
/* No cropping: both sides keep the same composition at all viewport widths. */
.recruit-layout .place-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}
.recruit-layout .place-photo,.recruit-layout .place-photo img{min-width:0;max-width:100%;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
@media(max-width:760px){
 .recruit-layout .place-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(8px,2vw,18px);align-items:center}
 .recruit-layout .place-info{min-height:0;padding:4px 0;font-size:clamp(9px,2.2vw,14px);line-height:1.5}
 .recruit-layout .place-info .place-kicker{font-size:inherit;margin:0 0 3px}
 .recruit-layout .place-info h3{font-size:clamp(11px,2.8vw,18px);line-height:1.4;margin:0 0 6px}
 .recruit-layout .place-info address{line-height:1.55}
 .recruit-layout .place-info p{margin:5px 0}
 .recruit-layout .place-lineart{left:-3%;top:0;width:108%}
 .recruit-layout .place-photo img{border-radius:clamp(12px,3vw,30px)}
}
@media(prefers-reduced-motion:reduce){.recruit-layout .place-moving-star{animation:none}}


/* v014 — approved fixes limited to navigation, recruit heading, location */
/* Header: remove recruitment-specific compressed height; retain v128 artboard units. */
.recruit-nav-page{height:9.30vw;max-height:126.76px;min-height:0;margin:0 auto}
.recruit-nav-board{width:min(100vw,1363px);height:100%;overflow:visible}
.recruit-nav-board .site-header{top:1.15cqw}
.recruit-layout{margin-top:1.8vw}
/* Line-art original: 1080 × 1530; upper scene occupies y=0..~765. Clip before second scene. */
.recruit-layout .place-lineart{aspect-ratio:1080/765;overflow:hidden;contain:paint}
.recruit-layout .place-lineart-image{position:absolute;left:0;top:0;width:100%;height:auto;max-width:none;opacity:.24}
/* Improve legibility while keeping the original illustration behind the address. */
.recruit-layout .place-info .place-kicker,.recruit-layout .place-info h3,.recruit-layout .place-info address,.recruit-layout .place-info>p:not(.place-kicker){position:relative;z-index:2;color:#332c27;text-shadow:0 0 5px #fff,0 0 10px rgba(255,255,255,.96),0 1px 1px #fff}
.recruit-layout .place-info h3{font-weight:600}
/* Keep the photo crop fixed at all sizes, matching the original's closer framing. */
.recruit-layout .place-photo{overflow:hidden;border-radius:30px;aspect-ratio:1.49;min-width:0}
.recruit-layout .place-photo img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:60% 47%;filter:brightness(1.15) saturate(.84) contrast(.95);border-radius:0}
/* Different movements per star; prevent any from crossing the line-art mask. */
.recruit-layout .place-moving-star{filter:none;will-change:transform}
.recruit-layout .place-moving-star-1{animation:recruit-star-arc 6.5s ease-in-out infinite alternate}
.recruit-layout .place-moving-star-2{animation:recruit-star-hover 4.2s ease-in-out infinite alternate}
.recruit-layout .place-moving-star-3{animation:recruit-star-drift 7.2s ease-in-out infinite alternate}
@keyframes recruit-star-arc{0%{transform:translate(-50%,-50%) translate(-10px,0) rotate(-12deg)}50%{transform:translate(-50%,-50%) translate(12px,-12px) rotate(12deg)}100%{transform:translate(-50%,-50%) translate(25px,2px) rotate(-5deg)}}
@keyframes recruit-star-hover{0%{transform:translate(-50%,-50%) translateY(5px) rotate(-5deg)}100%{transform:translate(-50%,-50%) translateY(-16px) rotate(8deg)}}
@keyframes recruit-star-drift{0%{transform:translate(-50%,-50%) translate(-5px,3px) rotate(0)}100%{transform:translate(-50%,-50%) translate(-19px,-10px) rotate(-17deg)}}
@media(max-width:760px){.recruit-nav-page{height:9.30vw;min-height:0}.recruit-nav-board .site-header{top:1.15cqw}.recruit-layout .place-lineart{aspect-ratio:1080/765}.recruit-layout .place-photo{aspect-ratio:1.49}}
@media(prefers-reduced-motion:reduce){.recruit-layout .place-moving-star{animation:none}}

/* v015: main v128 heading is authoritative; only the heading capsule background COLOR differs. */
.recruit-layout .recruit-heading-stage{
  width:min(100vw,1363px);
  height:17cqw;
  margin-left:calc(50% - min(50vw,681.5px));
  margin-bottom:0;
  container-type:inline-size;
}
.recruit-layout .recruit-heading-stage .section-heading-toy{
  left:12%;top:2cqw;width:76%;height:11.89cqw;
  padding:0;margin:0;transform:none;
}
/* Color is the sole deliberate divergence from v128 heading material. */
.recruit-layout .recruit-heading-stage .section-heading-toy{
  background:linear-gradient(135deg,
    rgba(255,242,216,.96) 0%,
    rgba(255,232,188,.91) 30%,
    rgba(249,225,204,.88) 53%,
    rgba(218,239,226,.92) 77%,
    rgba(199,229,219,.94) 100%);
}
/* Location typography: floating ink with layered, finely controlled relief. */
.recruit-layout .place-info .place-kicker,
.recruit-layout .place-info h3,
.recruit-layout .place-info address,
.recruit-layout .place-info>p:not(.place-kicker){
  color:#42352f;
  -webkit-text-stroke:.018em rgba(255,252,246,.72);
  text-shadow:
    0 -1px 0 rgba(255,255,255,.98),
    0 1px 0 rgba(255,255,255,.96),
    0 2px 1px rgba(139,107,83,.27),
    0 5px 9px rgba(110,89,69,.20),
    0 10px 19px rgba(104,83,62,.10);
}
.recruit-layout .place-info h3{font-weight:600}
/* A feathered light field separates ink from the illustration without hiding the drawing. */
.recruit-layout .place-info::before{
  content:"";position:absolute;z-index:1;pointer-events:none;
  left:-3%;top:0;width:97%;height:90%;
  background:radial-gradient(ellipse at 35% 38%,rgba(255,253,245,.93) 0%,rgba(255,252,246,.80) 26%,rgba(255,252,246,.38) 55%,rgba(255,252,246,0) 78%);
}
/* The image remains the same source, crop and frame, but its weight is harmonized. */
.recruit-layout .place-photo{
  box-shadow:0 9px 24px rgba(119,93,72,.095),0 0 0 1px rgba(255,252,246,.72);
}
.recruit-layout .place-photo img{
  filter:brightness(1.21) saturate(.70) contrast(.82) sepia(.055);
}
@media(max-width:640px){
  .recruit-layout .recruit-heading-stage .section-heading-toy{left:6%;width:88%}
}

/* v016: approved color-only heading change; preserve v015 geometry and typography. */
.recruit-layout .recruit-heading-stage .section-heading-toy{
  background:linear-gradient(135deg,
    rgba(255,250,232,.91) 0%,
    rgba(255,245,221,.88) 30%,
    rgba(251,239,229,.86) 53%,
    rgba(232,247,238,.88) 77%,
    rgba(222,242,234,.91) 100%);
}
/* Location: unobtrusive ink lift, reduced illustration and matching star softness. */
.recruit-layout .place-info .place-kicker,
.recruit-layout .place-info h3,
.recruit-layout .place-info address,
.recruit-layout .place-info>p:not(.place-kicker){
  color:#443c37;
  -webkit-text-stroke:0;
  text-shadow:0 1px 2px rgba(255,255,255,.88),0 2px 4px rgba(83,69,56,.13);
}
.recruit-layout .place-lineart-image{opacity:.13}
.recruit-layout .place-moving-star{opacity:.17}
.recruit-layout .place-info::before{
  background:radial-gradient(ellipse at 35% 38%,rgba(255,253,248,.48) 0%,rgba(255,252,246,.27) 32%,rgba(255,252,246,0) 76%);
}
/* Photo: retain source, size and crop; soften the rectangular visual boundary. */
.recruit-layout .place-photo{box-shadow:none}
.recruit-layout .place-photo img{
  filter:brightness(1.16) saturate(.76) contrast(.88) sepia(.035);
  -webkit-mask-image:radial-gradient(ellipse 76% 78% at 50% 50%,#000 70%,rgba(0,0,0,.86) 91%,rgba(0,0,0,.63) 100%);
  mask-image:radial-gradient(ellipse 76% 78% at 50% 50%,#000 70%,rgba(0,0,0,.86) 91%,rgba(0,0,0,.63) 100%);
}

/* v017: targeted visual refinements; retain v016 heading geometry, typography and imagery. */
/* Main and recruit heading title group: matching optical vertical centering. */
.recruit-layout .recruit-heading-stage .section-heading-copy{transform:translateY(-.42cqw)}
/* Warm milk-peach capsule, retaining the existing acrylic material, geometry and embossed stars. */
.recruit-layout .recruit-heading-stage .section-heading-toy{
 background:linear-gradient(132deg,rgba(255,253,244,.94) 0%,rgba(255,246,233,.91) 30%,rgba(255,244,237,.91) 57%,rgba(253,246,238,.93) 79%,rgba(255,252,246,.95) 100%);
}
/* A small embossed toy-like underlay replaces the flat mint rule on every section heading. */
.recruit-layout .section-head::after{
 left:47px;bottom:-11px;width:clamp(94px,10.5vw,144px);height:10px;
 opacity:1;border:1px solid rgba(201,174,145,.19);border-radius:999px;
 background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(245,227,205,.77) 58%,rgba(236,210,187,.56));
 box-shadow:inset 0 2px 2px rgba(255,255,255,.96),0 3px 5px rgba(122,96,74,.12),0 1px 0 rgba(255,255,255,.9);
}
/* The existing main-page cloud and rainbow assets float only in blank space between sections. */
.recruit-layout #about{isolation:isolate}
.recruit-sky-friends{position:absolute;right:4%;bottom:-1%;width:32%;height:95px;pointer-events:none;z-index:1}
.recruit-friend{position:absolute;display:block;height:auto;object-fit:contain;transform-origin:center;filter:drop-shadow(0 3px 3px rgba(126,104,84,.09))}
.recruit-friend-cloud{width:27%;left:4%;top:31%;animation:recruitCloudFloat 7.8s ease-in-out infinite}
.recruit-friend-rainbow{width:35%;left:31%;top:8%;animation:recruitRainbowFloat 9.2s ease-in-out -1.6s infinite}
.recruit-friend-star{width:13%;left:67%;top:50%;animation:recruitStarFloat 5.4s ease-in-out -.9s infinite}
.recruit-friend-cloud-two{width:23%;left:73%;top:0;animation:recruitCloudTwoFloat 6.8s ease-in-out -2.1s infinite}
@keyframes recruitCloudFloat{0%,100%{transform:translate(0,0) rotate(-4deg)}45%{transform:translate(5px,-11px) rotate(3deg)}72%{transform:translate(-3px,-5px) rotate(0deg)}}
@keyframes recruitRainbowFloat{0%,100%{transform:translate(0,0) rotate(-3deg)}40%{transform:translate(-5px,-9px) rotate(3deg)}75%{transform:translate(3px,-4px) rotate(-1deg)}}
@keyframes recruitStarFloat{0%,100%{transform:translateY(0) rotate(-7deg)}36%{transform:translateY(-12px) rotate(9deg)}70%{transform:translateY(-3px) rotate(0deg)}}
@keyframes recruitCloudTwoFloat{0%,100%{transform:translate(0,0) rotate(2deg)}50%{transform:translate(-8px,9px) rotate(-4deg)}}
@media(max-width:760px){.recruit-layout .section-head::after{left:43px;width:clamp(70px,16vw,105px);height:8px}.recruit-sky-friends{width:36%;height:56px;bottom:-1%;right:1%}}
@media(prefers-reduced-motion:reduce){.recruit-friend{animation:none!important}}


/* v018 — recruitment-only: premium toy subtitle capsules, natural daylight photo, gentle sky friends. */
/* Keep the original star image and headline typography untouched. Replace ONLY the underlining material. */
.recruit-layout .section-head::after{content:none!important;display:none!important}
.recruit-layout .section-head:not(.contact-panel .section-head){
  width:max-content;max-width:100%;min-height:58px;
  padding:7px 22px 7px 12px;
  border:1px solid rgba(219,195,174,.40);
  border-radius:999px;
  background:linear-gradient(148deg,rgba(255,255,255,.91) 0%,rgba(255,249,240,.85) 46%,rgba(255,234,225,.65) 100%);
  box-shadow:inset 0 2px 2px rgba(255,255,255,.98),inset 0 -2px 3px rgba(211,174,151,.13),0 5px 12px rgba(129,102,84,.10),0 1px 1px rgba(255,255,255,.96);
}
/* A friendlier but still translucent milk-peach capsule: color only, all geometry retained. */
.recruit-layout .recruit-heading-stage .section-heading-toy{
  background:linear-gradient(132deg,rgba(255,248,234,.94) 0%,rgba(255,236,218,.91) 29%,rgba(255,230,229,.90) 56%,rgba(255,239,233,.91) 78%,rgba(255,250,241,.95) 100%);
}
/* Lift the midtones and remove the darkened peripheral mask; preserve photo size and crop. */
.recruit-layout .place-photo img{
  filter:brightness(1.29) contrast(.94) saturate(.90) sepia(.018);
  -webkit-mask-image:none;mask-image:none;
}
/* Existing cloud/rainbow/star cluster: slightly overlap the lower edge of the photo. */
.recruit-layout .recruit-sky-friends{bottom:16px;z-index:3}
/* Additional existing characters live only in the empty margins of the about section. */
.recruit-layout #about{position:relative}
.recruit-gap-friends{position:absolute;inset:0;pointer-events:none;z-index:1}
.recruit-gap-friend{position:absolute;display:block;height:auto;object-fit:contain;filter:drop-shadow(0 3px 3px rgba(114,93,74,.07))}
.recruit-gap-cloud{width:7.2%;left:25%;top:0;animation:recruitGapCloud 8s ease-in-out infinite}
.recruit-gap-star{width:5%;right:1.4%;top:-9%;animation:recruitGapStar 6.2s ease-in-out -1.4s infinite}
@keyframes recruitGapCloud{0%,100%{transform:translate(0,0) rotate(-4deg)}50%{transform:translate(7px,-8px) rotate(3deg)}}
@keyframes recruitGapStar{0%,100%{transform:translateY(0) rotate(-7deg)}50%{transform:translateY(-9px) rotate(9deg)}}
@media(max-width:760px){
  .recruit-layout .section-head:not(.contact-panel .section-head){min-height:40px;padding:4px 13px 4px 7px}
  .recruit-layout .recruit-sky-friends{bottom:9px}
  .recruit-gap-cloud{width:8%;left:27%;top:0}
  .recruit-gap-star{width:5%;right:1%;top:-5%}
}
@media(prefers-reduced-motion:reduce){.recruit-gap-friend{animation:none!important}}

/* v019: only the three specifically requested character adjustments. */
.recruit-layout .recruit-heading-stage{isolation:isolate;overflow:visible}
.recruit-layout .recruit-heading-stage .recruit-peek-rainbow{position:absolute;left:22%;top:0;width:12.5cqw;height:auto;z-index:0;pointer-events:none;transform-origin:50% 85%;animation:recruitNiji3Peek 3.1s ease-in-out infinite}
.recruit-layout .recruit-heading-stage .section-heading-toy{z-index:1}
@keyframes recruitNiji3Peek{0%,8%,94%,100%{transform:translateY(4.3cqw) rotate(-7deg)}18%{transform:translateY(-1.2cqw) rotate(2deg)}27%{transform:translateY(.7cqw) rotate(-3deg)}37%{transform:translateY(-.9cqw) rotate(2deg)}49%,70%{transform:translateY(3.6cqw) rotate(-6deg)}78%{transform:translateY(-.65cqw) rotate(1deg)}}
.recruit-layout .recruit-gap-cloud{width:12.5%;left:23%;top:-8%;z-index:2;animation:recruitKumo7Wander 11s ease-in-out infinite}
@keyframes recruitKumo7Wander{0%,100%{transform:translate(0,0) rotate(-7deg)}20%{transform:translate(36px,-18px) rotate(5deg)}43%{transform:translate(78px,11px) rotate(-4deg)}68%{transform:translate(25px,32px) rotate(7deg)}84%{transform:translate(-13px,13px) rotate(-3deg)}}
.recruit-layout .recruit-gap-star{width:8%;right:2%;top:-14%;z-index:2;animation:recruitGapStarRoam 8.4s ease-in-out infinite}
@keyframes recruitGapStarRoam{0%,100%{transform:translate(0,0) rotate(-12deg)}18%{transform:translate(-54px,25px) rotate(14deg)}40%{transform:translate(-118px,-12px) rotate(-18deg)}64%{transform:translate(-45px,65px) rotate(23deg)}82%{transform:translate(13px,28px) rotate(-8deg)}}
@media(prefers-reduced-motion:reduce){.recruit-layout .recruit-peek-rainbow,.recruit-layout .recruit-gap-cloud,.recruit-layout .recruit-gap-star{animation:none!important}}

/* v020 — approved adjustments only: character motions, 3-character photo cluster, and subheading capsules. */
/* Rainbow: reveal more of the existing niji3 above the heading; same image and capsule geometry. */
.recruit-layout .recruit-heading-stage .recruit-peek-rainbow{
 animation:recruitNiji3PeekV020 3.1s ease-in-out infinite;
}
@keyframes recruitNiji3PeekV020{
 0%,8%,94%,100%{transform:translateY(2.65cqw) rotate(-7deg)}
 18%{transform:translateY(-2.0cqw) rotate(2deg)}
 27%{transform:translateY(-.45cqw) rotate(-3deg)}
 37%{transform:translateY(-1.8cqw) rotate(2deg)}
 49%,70%{transform:translateY(2.1cqw) rotate(-6deg)}
 78%{transform:translateY(-1.55cqw) rotate(1deg)}
}
/* Cloud: continuous, buoyant float with no abrupt zigzags. */
.recruit-layout .recruit-gap-cloud{animation:recruitKumo7FloatV020 9.6s ease-in-out infinite}
@keyframes recruitKumo7FloatV020{
 0%,100%{transform:translate(0,0) rotate(-4deg)}
 25%{transform:translate(19px,-23px) rotate(1deg)}
 50%{transform:translate(39px,-8px) rotate(4deg)}
 75%{transform:translate(16px,13px) rotate(-1deg)}
}
/* Upper-right star: slightly smaller, with bounces and a horizontal flip during travel. */
.recruit-layout .recruit-gap-star{width:7.1%;animation:recruitGapStarPlayV020 9s ease-in-out infinite}
@keyframes recruitGapStarPlayV020{
 0%,100%{transform:translate(0,0) rotate(-8deg) rotateY(0deg)}
 12%{transform:translate(-19px,-26px) rotate(8deg) rotateY(0deg)}
 20%{transform:translate(-37px,1px) rotate(-4deg) rotateY(0deg)}
 33%{transform:translate(-73px,-39px) rotate(9deg) rotateY(180deg)}
 46%{transform:translate(-102px,8px) rotate(-9deg) rotateY(360deg)}
 60%{transform:translate(-60px,-21px) rotate(11deg) rotateY(360deg)}
 74%{transform:translate(-24px,23px) rotate(-6deg) rotateY(540deg)}
 87%{transform:translate(9px,-14px) rotate(7deg) rotateY(720deg)}
}
/* Three original photo friends only: cloud, rainbow and star. Keep photo and its crop unchanged. */
.recruit-layout .recruit-friend-cloud{width:32%;left:0%;top:25%}
.recruit-layout .recruit-friend-rainbow{width:40%;left:28%;top:0%}
.recruit-layout .recruit-friend-star{width:16%;left:69%;top:46%}
/* Subheading toy capsules: roomier, warmer and more tactile; existing stars are untouched. */
.recruit-layout .section-head:not(.contact-panel .section-head){
 min-height:68px;
 padding:10px 31px 10px 17px;
 gap:12px;
 border:1px solid rgba(241,192,151,.54);
 border-radius:999px;
 background:linear-gradient(135deg,rgba(255,253,230,.94) 0%,rgba(255,243,208,.89) 24%,rgba(255,224,207,.83) 65%,rgba(255,234,224,.89) 100%);
 box-shadow:inset 0 3px 2px rgba(255,255,255,.98),inset 0 -3px 5px rgba(225,153,120,.13),0 7px 16px rgba(151,109,91,.12),0 1px 0 rgba(255,255,255,.95);
}
/* Typography: a subtle embossed finish rather than heavy outlining. */
.recruit-layout .section-head:not(.contact-panel .section-head) h2{
 color:#45352f;
 -webkit-text-stroke:.012em rgba(255,252,244,.65);
 text-shadow:0 -1px 0 rgba(255,255,255,.98),0 1px 1px rgba(255,255,255,.88),0 3px 4px rgba(113,82,65,.16);
}
@media(max-width:760px){
 .recruit-layout .section-head:not(.contact-panel .section-head){min-height:46px;padding:6px 18px 6px 10px;gap:7px}
 .recruit-layout .recruit-friend-cloud{width:32%;left:0%;top:25%}
 .recruit-layout .recruit-friend-rainbow{width:40%;left:28%;top:0%}
 .recruit-layout .recruit-friend-star{width:16%;left:69%;top:46%}
}
@media(prefers-reduced-motion:reduce){
 .recruit-layout .recruit-peek-rainbow,.recruit-layout .recruit-gap-cloud,.recruit-layout .recruit-gap-star{animation:none!important}
}

/* v021 — approved scope: two small headers, about-section spacing, and roaming star. */
/* Colors and surface layers are taken from the finished main-page v130 pastel pill family. */
.recruit-layout #about .section-head,
.recruit-layout #features .section-head{
  box-sizing:border-box;
  min-height:0;
  width:max-content;
  max-width:100%;
  padding:clamp(5px,.68vw,9px) clamp(14px,1.85vw,25px) clamp(5px,.68vw,9px) clamp(8px,1.08vw,14px);
  gap:clamp(7px,.9vw,12px);
  border:1px solid rgba(237,185,190,.38);
  background:linear-gradient(145deg,rgba(255,255,255,.95) 0%,rgba(255,235,242,.88) 39%,rgba(249,194,212,.68) 78%,rgba(255,242,235,.90) 100%);
  border-radius:999px;
  box-shadow:inset 0 2px 2px rgba(255,255,255,.98),inset 0 -2px 3px rgba(219,152,168,.10),0 5px 12px rgba(135,91,110,.10),0 1px 0 rgba(255,255,255,.95);
}
.recruit-layout #features .section-head{
  border-color:rgba(223,196,143,.38);
  background:linear-gradient(145deg,rgba(255,255,255,.96) 0%,rgba(255,251,223,.90) 39%,rgba(255,231,174,.68) 78%,rgba(255,249,226,.90) 100%);
  box-shadow:inset 0 2px 2px rgba(255,255,255,.98),inset 0 -2px 3px rgba(202,175,113,.10),0 5px 12px rgba(135,110,70,.10),0 1px 0 rgba(255,255,255,.95);
}
.recruit-layout #about .section-head h2,
.recruit-layout #features .section-head h2{
  -webkit-text-stroke:0;
  color:#403a37;
  text-shadow:0 1px 0 rgba(255,255,255,.99),0 2px 3px rgba(103,82,73,.13);
}
/* Remove the excess gap without changing the two-column structure or contents. */
.recruit-layout #about{padding-top:clamp(8px,1.1vw,15px)}
.recruit-layout #about .section-head{margin-bottom:clamp(12px,1.7vw,23px)}
.recruit-layout #about .place-grid{align-items:start}
.recruit-layout #about .place-photo{margin-top:0}
/* A real cartwheel: rotation in the screen plane (Z), paired with leaps and travel. */
.recruit-layout .recruit-gap-star{
  animation:recruitStarCartwheelV021 9.6s cubic-bezier(.42,0,.28,1) infinite;
  transform-origin:50% 50%;
}
@keyframes recruitStarCartwheelV021{
  0%,100%{transform:translate(0,0) rotate(0deg)}
  12%{transform:translate(-16px,-25px) rotate(18deg)}
  22%{transform:translate(-39px,1px) rotate(30deg)}
  35%{transform:translate(-74px,-37px) rotate(180deg)}
  47%{transform:translate(-106px,5px) rotate(360deg)}
  59%{transform:translate(-72px,-28px) rotate(385deg)}
  72%{transform:translate(-36px,20px) rotate(540deg)}
  85%{transform:translate(8px,-20px) rotate(720deg)}
  93%{transform:translate(4px,1px) rotate(720deg)}
}
@media(max-width:760px){
  /* Proportional mobile mini-capsules: star, type, padding and height scale together. */
  .recruit-layout #about .section-head,
  .recruit-layout #features .section-head{
    min-height:0;
    padding:clamp(3px,.65vw,6px) clamp(8px,1.9vw,15px) clamp(3px,.65vw,6px) clamp(5px,1.1vw,9px);
    gap:clamp(4px,.85vw,7px);
  }
  .recruit-layout #about .section-head .section-star,
  .recruit-layout #features .section-head .section-star{width:clamp(18px,3.35vw,29px)}
  .recruit-layout #about .section-head h2,
  .recruit-layout #features .section-head h2{font-size:clamp(12px,2.65vw,21px);line-height:1.4}
  .recruit-layout #about{padding-top:clamp(6px,1vw,10px)}
  .recruit-layout #about .section-head{margin-bottom:clamp(8px,1.5vw,13px)}
  .recruit-layout #about .place-grid{align-items:start}
}
@media(prefers-reduced-motion:reduce){.recruit-layout .recruit-gap-star{animation:none!important}}


/* v022 — only the recruit title surface and the location mini-panel.
   Sources: main v130 .section-heading-toy; .heart-card;
   .heart-card-philosophy; .heart-card-toggle; .heart-card-title-row;
   .heart-card-title; .heart-title-star-left; mobile v090.
   Existing location content, photo, characters and other sections stay intact. */
.recruit-layout .recruit-heading-stage .section-heading-toy{
  background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(255,251,226,.78) 46%,rgba(236,249,244,.70));
}
.recruit-layout #about .section-head{
  width:max-content;
  max-width:100%;
  min-height:0;
  padding:1.65cqw 3.0cqw 1.55cqw 2.3cqw;
  gap:1.0cqw;
  border:.073cqw solid rgba(181,164,137,.17);
  border-radius:999px;
  background:linear-gradient(135deg,rgba(255,255,255,.90),rgba(255,235,240,.70));
  box-shadow:0 .70cqw 2.2cqw rgba(83,64,45,.075),inset 0 .14cqw .18cqw rgba(255,255,255,.96),inset 0 -.10cqw .20cqw rgba(205,183,151,.055);
}
.recruit-layout #about .section-head h2{
  margin:0;
  font-family:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:2.05cqw;
  font-weight:600;
  line-height:1.4;
  letter-spacing:.08em;
  color:rgba(46,41,37,.94);
  -webkit-text-stroke:0;
  text-shadow:none;
}
.recruit-layout #about .section-head .section-star{
  width:2.05cqw;
  height:2.05cqw;
  object-fit:contain;
  transform-origin:50% 54%;
  animation:heartStarSwayLeft 4.8s ease-in-out infinite;
}
@media(max-width:640px){
  .recruit-layout #about .section-head{
    padding:2.25cqw 3.0cqw 2.15cqw 2.55cqw;
    gap:1.25cqw;
  }
  .recruit-layout #about .section-head h2{font-size:2.75cqw}
  .recruit-layout #about .section-head .section-star{width:2.75cqw;height:2.75cqw}
}
@media(prefers-reduced-motion:reduce){
  .recruit-layout #about .section-head .section-star{animation:none!important}
}


/* v023 — authorized navigation widths, proportional photo/characters,
   and the location label using the complete main v130 dock material.
   The photo reference is 497px wide: (1160 - 2*65 - 2*1 - 34)/2.
   Geometry conversions below preserve that desktop reference at every width. */
@media(min-width:641px){
  .recruit-nav-board .global-nav{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* The main dock item (v100) and its icon platform (v101), scoped to this heading.
   No link behavior is added: this remains a section heading. */
.recruit-layout #about .section-head{
  --dock-rot:-1.4deg;
  --dock-delay:-.3s;
  min-width:9.15rem;
  width:max-content;
  max-width:100%;
  min-height:0;
  height:2.82rem;
  padding:0 .9rem 0 .62rem;
  display:flex;
  align-items:center;
  gap:.58rem;
  border:1px solid rgba(255,255,255,.62);
  border-radius:999px;
  background:linear-gradient(145deg,rgba(255,241,246,.80),rgba(255,220,232,.64));
  box-shadow:0 .42rem 1.22rem rgba(77,60,43,.085),inset 0 .11rem .18rem rgba(255,255,255,.88),inset 0 -.08rem .14rem rgba(120,92,65,.055);
  backdrop-filter:blur(15px) saturate(112%);
  -webkit-backdrop-filter:blur(15px) saturate(112%);
  color:rgba(66,57,49,.78);
  text-decoration:none;
  font-family:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.045em;
  animation:dockToyFloat 4.4s ease-in-out var(--dock-delay) infinite;
  transition:box-shadow .22s ease,filter .22s ease;
}
.recruit-layout #about .section-head h2{
  margin:0;
  font-family:inherit;
  font-size:inherit;
  font-weight:inherit;
  letter-spacing:inherit;
  line-height:normal;
  color:inherit;
  -webkit-text-stroke:0;
  text-shadow:none;
}
.recruit-layout #about .location-dock-icon{
  width:1.55rem;
  height:1.55rem;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:rgba(62,55,53,.88);
  background:rgba(255,255,255,.73);
  border:1px solid rgba(255,255,255,.90);
  box-shadow:0 .14rem .30rem rgba(75,58,48,.12),inset 0 .10rem .12rem rgba(255,255,255,.95),inset 0 -.08rem .13rem rgba(91,70,60,.06);
  -webkit-backdrop-filter:blur(.16rem);
  backdrop-filter:blur(.16rem);
}
.recruit-layout #about .section-head .section-star{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  animation:none;
  transform:none;
}

/* Photo frame and its friends now share the photo's coordinate system.
   The frame alone clips the photograph; characters can cross its lower edge. */
.recruit-layout #about .place-photo-stage{
  position:relative;
  min-width:0;
  width:100%;
  container-type:inline-size;
  overflow:visible;
}
.recruit-layout #about .place-photo{
  border-radius:calc(100% * 30 / 497) / calc(100% * 30 * 1.49 / 497);
}
.recruit-layout #about .place-photo img{border-radius:0}
.recruit-layout #about .recruit-sky-friends{
  position:absolute;
  left:auto;
  right:calc(100% * 41.12 / 497);
  top:calc(100% - 100cqw * 15 / 497);
  bottom:auto;
  width:calc(100% * 328.96 / 497);
  height:calc(100cqw * 95 / 497);
  z-index:3;
  pointer-events:none;
}
.recruit-layout #about .recruit-friend{
  filter:drop-shadow(0 calc(100cqw * 3 / 497) calc(100cqw * 3 / 497) rgba(126,104,84,.09));
}
.recruit-layout #about .recruit-friend-cloud{animation-name:recruitCloudFloatV023}
.recruit-layout #about .recruit-friend-rainbow{animation-name:recruitRainbowFloatV023}
.recruit-layout #about .recruit-friend-star{animation-name:recruitStarFloatV023}
@keyframes recruitCloudFloatV023{
  0%,100%{transform:translate(0,0) rotate(-4deg)}
  45%{transform:translate(calc(100cqw * 5 / 497),calc(-100cqw * 11 / 497)) rotate(3deg)}
  72%{transform:translate(calc(-100cqw * 3 / 497),calc(-100cqw * 5 / 497)) rotate(0deg)}
}
@keyframes recruitRainbowFloatV023{
  0%,100%{transform:translate(0,0) rotate(-3deg)}
  40%{transform:translate(calc(-100cqw * 5 / 497),calc(-100cqw * 9 / 497)) rotate(3deg)}
  75%{transform:translate(calc(100cqw * 3 / 497),calc(-100cqw * 4 / 497)) rotate(-1deg)}
}
@keyframes recruitStarFloatV023{
  0%,100%{transform:translateY(0) rotate(-7deg)}
  36%{transform:translateY(calc(-100cqw * 12 / 497)) rotate(9deg)}
  70%{transform:translateY(calc(-100cqw * 3 / 497)) rotate(0deg)}
}

/* Upper friends: one 1363px heading reference, independent of text reflow.
   Percent anchors are converted from the existing desktop location layout. */
.recruit-layout .recruit-heading-stage .recruit-gap-friends{z-index:2}
.recruit-layout .recruit-heading-stage .recruit-gap-cloud{
  left:calc(100% * 403.94 / 1363);
  top:14.5cqw;
  width:calc(100% * 128.5 / 1363);
  animation-name:recruitKumo7FloatV023;
}
.recruit-layout .recruit-heading-stage .recruit-gap-star{
  right:calc(100% * 188.06 / 1363);
  top:12.5cqw;
  width:calc(100% * 72.988 / 1363);
  animation-name:recruitStarCartwheelV023;
}
@keyframes recruitKumo7FloatV023{
  0%,100%{transform:translate(0,0) rotate(-4deg)}
  25%{transform:translate(calc(100cqw * 19 / 1363),calc(-100cqw * 23 / 1363)) rotate(1deg)}
  50%{transform:translate(calc(100cqw * 39 / 1363),calc(-100cqw * 8 / 1363)) rotate(4deg)}
  75%{transform:translate(calc(100cqw * 16 / 1363),calc(100cqw * 13 / 1363)) rotate(-1deg)}
}
@keyframes recruitStarCartwheelV023{
  0%,100%{transform:translate(0,0) rotate(0deg)}
  12%{transform:translate(calc(-100cqw * 16 / 1363),calc(-100cqw * 25 / 1363)) rotate(18deg)}
  22%{transform:translate(calc(-100cqw * 39 / 1363),calc(100cqw / 1363)) rotate(30deg)}
  35%{transform:translate(calc(-100cqw * 74 / 1363),calc(-100cqw * 37 / 1363)) rotate(180deg)}
  47%{transform:translate(calc(-100cqw * 106 / 1363),calc(100cqw * 5 / 1363)) rotate(360deg)}
  59%{transform:translate(calc(-100cqw * 72 / 1363),calc(-100cqw * 28 / 1363)) rotate(385deg)}
  72%{transform:translate(calc(-100cqw * 36 / 1363),calc(100cqw * 20 / 1363)) rotate(540deg)}
  85%{transform:translate(calc(100cqw * 8 / 1363),calc(-100cqw * 20 / 1363)) rotate(720deg)}
  93%{transform:translate(calc(100cqw * 4 / 1363),calc(100cqw / 1363)) rotate(720deg)}
}
@media(prefers-reduced-motion:reduce){
  .recruit-layout #about .section-head,
  .recruit-layout #about .recruit-friend,
  .recruit-layout .recruit-heading-stage .recruit-gap-friend{animation:none!important}
}

/* The dock label retains the main dock's readable fixed dimensions.
   Reserve proportional clearance below the heading friends on narrow screens. */
@media(max-width:640px){
  .recruit-layout #about{padding-top:10cqw}
}


/* v024 — WORKING HERE only. Shared main v130 components are used directly:
   heart-card surface, gloss, number chips, title stars and open body;
   about-letter and about-body for the two supporting information panels.
   No accordion controls or new interaction are introduced. */
.recruit-layout #features .section-head{
  --dock-rot:1.05deg;
  --dock-delay:-3.15s;
  min-width:9.15rem;
  width:max-content;
  max-width:100%;
  min-height:0;
  height:2.82rem;
  padding:0 .9rem 0 .62rem;
  display:flex;
  align-items:center;
  gap:.58rem;
  border:1px solid rgba(255,255,255,.62);
  border-radius:999px;
  background:linear-gradient(145deg,rgba(255,252,230,.85),rgba(248,231,174,.67));
  box-shadow:0 .42rem 1.22rem rgba(77,60,43,.085),inset 0 .11rem .18rem rgba(255,255,255,.88),inset 0 -.08rem .14rem rgba(120,92,65,.055);
  backdrop-filter:blur(15px) saturate(112%);
  -webkit-backdrop-filter:blur(15px) saturate(112%);
  color:rgba(66,57,49,.78);
  text-decoration:none;
  font-family:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.045em;
  animation:dockToyFloat 4.4s ease-in-out var(--dock-delay) infinite;
  transition:box-shadow .22s ease,filter .22s ease;
}
.recruit-layout #features .section-head h2{
  margin:0;
  font-family:inherit;
  font-size:inherit;
  font-weight:inherit;
  letter-spacing:inherit;
  line-height:normal;
  color:inherit;
  -webkit-text-stroke:0;
  text-shadow:none;
}
.recruit-layout #features .location-dock-icon{
  width:1.55rem;
  height:1.55rem;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:rgba(62,55,53,.88);
  background:rgba(255,255,255,.73);
  border:1px solid rgba(255,255,255,.90);
  box-shadow:0 .14rem .30rem rgba(75,58,48,.12),inset 0 .10rem .12rem rgba(255,255,255,.95),inset 0 -.08rem .13rem rgba(91,70,60,.06);
  -webkit-backdrop-filter:blur(.16rem);
  backdrop-filter:blur(.16rem);
}
.recruit-layout #features .section-head .section-star{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  animation:none;
  transform:none;
}


.recruit-layout #features .feature-stage{
  position:relative;
  width:min(100vw,1363px);
  margin-left:calc(50% - min(50vw,681.5px));
  container-type:inline-size;
}
.recruit-layout #features .features-grid{
  width:76%;
  margin:0 auto;
  gap:2.15cqw;
  align-items:start;
}
.recruit-layout #features .feature-list{display:grid;gap:1.55cqw}
.recruit-layout #features .feature-list article{margin:0}
.recruit-layout #features .feature-card-heading{
  grid-template-columns:5.2cqw 1fr;
  cursor:default;
}
.recruit-layout #features .heart-card-title-row{margin-bottom:0}
.recruit-layout #features .feature-list h3{
  display:block;
  min-width:0;
  margin:0;
  padding:0;
  border-radius:0;
  background:none;
  font-family:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:2.05cqw;
  font-weight:600;
  line-height:1.4;
  letter-spacing:.08em;
  color:rgba(46,41,37,.94);
}
.recruit-layout #features .heart-title-star{flex:0 0 auto}
.recruit-layout #features .feature-point-panel{grid-template-rows:1fr;opacity:1;transition:none}
.recruit-layout #features .feature-point-panel p,
.recruit-layout #features .feature-point-panel ul{
  margin:0 auto;
  padding:2.35cqw 0 3.15cqw;
  width:78%;
  font-family:"Boku","Hiragino Kaku Gothic ProN",sans-serif;
  font-size:1.30cqw;
  line-height:1.86;
  letter-spacing:.04em;
  text-wrap:pretty;
  line-break:strict;
  word-break:normal;
  overflow-wrap:normal;
  color:rgba(49,44,40,.88);
}
.recruit-layout #features .feature-point-panel p{text-align:center}
.recruit-layout #features .feature-point-panel li{font:inherit;letter-spacing:inherit;color:inherit}
.recruit-layout #features .feature-side{gap:2.12cqw}
.recruit-layout #features .feature-prose{
  position:relative;
  left:auto;
  top:auto;
  width:100%;
  height:auto;
  padding:5.0% 5.4% 4.3%;
}
.recruit-layout #features .feature-prose h3{
  position:relative;
  z-index:2;
  margin:0 0 2.48cqw;
  font-family:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:1.48cqw;
  font-weight:500;
  line-height:1.35;
  letter-spacing:.115em;
  color:rgba(218,112,137,.94);
  text-shadow:0 .055cqw 0 rgba(255,255,255,.92);
}
.recruit-layout #features .feature-prose .about-body{text-align:left}
.recruit-layout #features .feature-prose p,
.recruit-layout #features .feature-prose li{
  font-family:inherit;
  font-size:inherit;
  line-height:inherit;
  letter-spacing:inherit;
  color:inherit;
}
.recruit-layout #features .feature-prose p{margin:0}
.recruit-layout #features .feature-prose ul{margin:0;padding-left:2.3cqw}
@media(max-width:760px){
  .recruit-layout #features .features-grid{width:84%;grid-template-columns:1fr}
}
@media(max-width:640px){
  .recruit-layout #features .feature-list{gap:2.35cqw}
  .recruit-layout #features .feature-card-heading{
    padding:2.25cqw 3.0cqw 2.15cqw 2.55cqw;
    grid-template-columns:6.0cqw 1fr;
    gap:1.35cqw;
  }
  .recruit-layout #features .feature-list h3{font-size:2.75cqw}
  .recruit-layout #features .feature-point-panel p,
  .recruit-layout #features .feature-point-panel ul{
    width:84%;
    padding:3.0cqw 0 4.0cqw;
    font-size:1.92cqw;
    line-height:1.78;
    letter-spacing:.025em;
  }
  .recruit-layout #features .feature-prose{padding:6.0% 5.0% 5.0%}
  .recruit-layout #features .feature-prose h3{font-size:2.35cqw;line-height:1.32;letter-spacing:.075em}
  .recruit-layout #features .feature-prose .about-body{font-size:2.18cqw;line-height:1.66;letter-spacing:.025em}
}
@media(prefers-reduced-motion:reduce){
  .recruit-layout #features .section-head{animation:none!important}
}
/* These are the supporting panels' only body versions, including on mobile. */
.recruit-layout #features .feature-prose > .about-body{display:block}
.recruit-layout #features .feature-list h3{text-wrap:balance}


/* v025 — three peer headings; only the five benefit items use the unchanged
   main v130 accordion controller. Previous accepted sections remain untouched. */
.recruit-layout #features .feature-card-heading{
  min-height:0;
  grid-template-columns:5.2cqw 1fr 4.2cqw;
  cursor:pointer;
}
.recruit-layout #features .feature-list .heart-card-title{
  display:block;
  min-width:0;
  margin:0;
  padding:0;
  border-radius:0;
  background:none;
  font-family:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:2.05cqw;
  font-weight:600;
  line-height:1.4;
  letter-spacing:.08em;
  color:rgba(46,41,37,.94);
  text-wrap:balance;
}
.recruit-layout #features .feature-point-panel{
  grid-template-rows:0fr;
  opacity:0;
  transition:grid-template-rows .58s cubic-bezier(.22,.72,.24,1),opacity .34s ease;
}
.recruit-layout #features .feature-point.is-open > .feature-point-panel{
  grid-template-rows:1fr;
  opacity:1;
}
.recruit-layout #features .feature-peer{min-width:0}
.recruit-layout #features .feature-peer-body{
  position:relative;
  z-index:4;
  margin:0 auto;
  padding:2.35cqw 0 3.15cqw;
  width:78%;
  font-family:"Boku","Hiragino Kaku Gothic ProN",sans-serif;
  font-size:1.30cqw;
  line-height:1.86;
  letter-spacing:.04em;
  color:rgba(49,44,40,.88);
  text-wrap:pretty;
  line-break:strict;
}
.recruit-layout #features .feature-peer-body p,
.recruit-layout #features .feature-peer-body ul{margin:0;padding:0}
.recruit-layout #features .feature-peer-body p{text-align:center}
.recruit-layout #features .feature-peer-body ul{padding-left:1.15cqw}
.recruit-layout #features .feature-peer-body li{font:inherit;letter-spacing:inherit}

/* Display just the lower entrance scene from the existing two-scene source.
   CSS crops and blends the original image; no raster asset is changed. */
.recruit-layout #features .feature-illustration{
  position:relative;
  width:100%;
  aspect-ratio:1080/765;
  isolation:isolate;
}
.recruit-layout #features .feature-room-crop{
  position:absolute;
  inset:0;
  overflow:hidden;
  border-radius:3.1cqw;
  -webkit-mask-image:radial-gradient(ellipse 76% 78% at 50% 50%,#000 70%,rgba(0,0,0,.86) 91%,rgba(0,0,0,.63) 100%);
  mask-image:radial-gradient(ellipse 76% 78% at 50% 50%,#000 70%,rgba(0,0,0,.86) 91%,rgba(0,0,0,.63) 100%);
  mix-blend-mode:multiply;
}
.recruit-layout #features .feature-room-crop .line-art{
  position:absolute;
  top:-100%;
  left:0;
  width:100%;
  max-width:none;
  max-height:none;
  height:auto;
  opacity:.42;
  mix-blend-mode:multiply;
}
.recruit-layout #features .feature-room-star{
  position:absolute;
  z-index:2;
  width:7%;
  height:auto;
  object-fit:contain;
  transform-origin:50% 54%;
  animation:heartStarSwayLeft 4.8s ease-in-out infinite;
  pointer-events:none;
}
.recruit-layout #features .feature-room-star-one{left:31%;top:62%}
.recruit-layout #features .feature-room-star-two{left:75%;top:58%;width:6%;animation:heartStarSwayRight 5.35s ease-in-out -.9s infinite}
.recruit-layout #features .feature-room-star-three{left:85%;top:72%;width:5%}
@media(max-width:640px){
  .recruit-layout #features .feature-card-heading{grid-template-columns:6.0cqw 1fr 5.0cqw}
  .recruit-layout #features .feature-list .heart-card-title{font-size:2.75cqw}
  .recruit-layout #features .feature-peer-body{
    width:84%;
    padding:3.0cqw 0 4.0cqw;
    font-size:1.92cqw;
    line-height:1.78;
    letter-spacing:.025em;
  }
}
@media(prefers-reduced-motion:reduce){
  .recruit-layout #features .feature-point-panel{transition:none!important}
  .recruit-layout #features .feature-room-star{animation:none!important}
}


/* v026 — compact subordinate benefit rows only.
   One existing right-hand star retains the main's open/close animations.
   Font and spacing values reuse main v130 navigation/card UI values. */
.recruit-layout #features .feature-benefits .feature-card-heading{
  min-height:0;
  padding:1.15cqw 1.65cqw;
  grid-template-columns:3.05cqw minmax(0,1fr) 2.05cqw 3.35cqw;
  gap:1.0cqw;
}
.recruit-layout #features .feature-benefits .heart-card-headings,
.recruit-layout #features .feature-benefits .heart-card-title-row{min-width:0}
.recruit-layout #features .feature-benefits .heart-card-title-row{display:block;margin:0}
.recruit-layout #features .feature-benefits .heart-card-title{
  font-size:1.18cqw;
  font-weight:500;
  line-height:1.4;
  letter-spacing:.045em;
  white-space:nowrap;
  text-wrap:nowrap;
}
.recruit-layout #features .feature-benefits .feature-card-heading > .heart-title-star{
  width:2.05cqw;
  height:2.05cqw;
  justify-self:center;
}
.recruit-layout #features .feature-benefits .heart-card-action{justify-self:center}
@media(max-width:640px){
  .recruit-layout #features .feature-benefits .feature-card-heading{
    grid-template-columns:4.7cqw minmax(0,1fr) 2.75cqw 4.35cqw;
    gap:1.25cqw;
  }
  .recruit-layout #features .feature-benefits .heart-card-title{font-size:2.15cqw}
  .recruit-layout #features .feature-benefits .feature-card-heading > .heart-title-star{width:2.75cqw;height:2.75cqw}
}


/* v027 — balance the two peer columns; keep the approved benefit rows intact. */
.recruit-layout #features .features-grid{align-items:stretch}
.recruit-layout #features .feature-left{
  display:flex;
  flex-direction:column;
  gap:2.12cqw;
  min-width:0;
}
.recruit-layout #features .feature-left > .feature-peer{margin-top:auto}
.recruit-layout #features .feature-side > .feature-illustration{margin-top:auto;flex:0 0 auto}

/* Small glossy pastel beads use the main's number-chip surface treatment. */
.recruit-layout #features [aria-labelledby="feature-peer-1"] .feature-peer-body ul{
  list-style:none;
  padding:0;
}
.recruit-layout #features [aria-labelledby="feature-peer-1"] .feature-peer-body li{
  position:relative;
  padding-left:1.65cqw;
}
.recruit-layout #features [aria-labelledby="feature-peer-1"] .feature-peer-body li::before{
  content:"";
  position:absolute;
  left:0;
  top:.64em;
  width:.72cqw;
  height:.72cqw;
  border-radius:50%;
  background:linear-gradient(145deg,rgba(233,226,246,.62),rgba(218,207,239,.54));
  border:1px solid rgba(255,255,255,.82);
  box-shadow:0 .13cqw .34cqw rgba(102,83,68,.07),inset .09cqw .11cqw .16cqw rgba(255,255,255,.94),inset -.06cqw -.08cqw .13cqw rgba(110,88,70,.035);
}
.recruit-layout #features [aria-labelledby="feature-peer-1"] .feature-peer-body li:nth-child(3n+2)::before{
  background:linear-gradient(145deg,rgba(255,248,204,.72),rgba(250,237,171,.60));
}
.recruit-layout #features [aria-labelledby="feature-peer-1"] .feature-peer-body li:nth-child(3n)::before{
  background:linear-gradient(145deg,rgba(219,247,238,.70),rgba(193,237,225,.58));
}
@media(max-width:760px){
  .recruit-layout #features .feature-left > .feature-peer,
  .recruit-layout #features .feature-side > .feature-illustration{margin-top:0}
}
@media(max-width:640px){
  .recruit-layout #features [aria-labelledby="feature-peer-1"] .feature-peer-body li{padding-left:2.5cqw}
  .recruit-layout #features [aria-labelledby="feature-peer-1"] .feature-peer-body li::before{width:1.05cqw;height:1.05cqw}
}


/* v028 — follow the location's content edges without changing its frozen code.
   The stage keeps its original container units for the accepted accordion. */
.recruit-layout #features .features-grid{
  width:calc(min(92vw,1160px) - 2px - clamp(20px,4vw,65px) - clamp(20px,4vw,65px));
}
/* Main v130 dock-guide and goal number-chip color recipes, unchanged. */
.recruit-layout #features [aria-labelledby="feature-peer-1"] .section-head{
  background:linear-gradient(145deg,rgba(248,242,255,.82),rgba(229,215,250,.65));
}
.recruit-layout #features [aria-labelledby="feature-peer-2"] .section-head{
  background:linear-gradient(145deg,rgba(219,247,238,.70),rgba(193,237,225,.58));
}
/* All three peer headings stay on the outer edge; their contents sit within. */
.recruit-layout #features .feature-list,
.recruit-layout #features .feature-peer-card{
  width:calc(100% - 1.55cqw);
  margin-left:1.55cqw;
}
/* Existing character artwork and existing main-page motion keyframes only.
   A moving wrapper and its individual reaction give each child a distinct path. */
.recruit-layout #features .feature-room-actor{
  position:absolute;
  z-index:2;
  width:24%;
  pointer-events:none;
  animation:littleWalk 8.4s ease-in-out infinite;
}
.recruit-layout #features .feature-room-actor img{
  width:28%;
  max-width:none;
  height:auto;
  transform-origin:50% 54%;
  animation:contactStarHopA 4s ease-in-out infinite;
}
.recruit-layout #features .room-player-1{left:23%;top:48%;width:17%;animation-duration:9.1s;animation-delay:-3s}
.recruit-layout #features .room-player-1 img{animation:contactStarHopB 3.5s ease-in-out -.5s infinite}
.recruit-layout #features .room-player-2{left:47%;top:46%;width:19%;animation-duration:7.3s;animation-delay:-5.7s}
.recruit-layout #features .room-player-2 img{animation:heartStarSwayLeft 4.8s ease-in-out -1s infinite}
.recruit-layout #features .room-player-3{left:69%;top:56%;width:21%;animation-duration:10.7s;animation-delay:-1.1s}
.recruit-layout #features .room-player-3 img{animation:contactStarHopC 4s ease-in-out -1.1s infinite}
.recruit-layout #features .room-player-4{left:36%;top:62%;width:24%;animation-duration:6.8s;animation-delay:-2.4s}
.recruit-layout #features .room-player-4 img{animation:heartStarOpenRight 6.6s cubic-bezier(.22,.72,.24,1) -1.7s infinite}
.recruit-layout #features .room-player-5{left:58%;top:74%;width:26%;animation-duration:11.4s;animation-delay:-8.2s}
.recruit-layout #features .room-player-5 img{animation:contactStarHopA 3s ease-in-out -.2s infinite}
.recruit-layout #features .room-player-6{left:81%;top:78%;width:25%;animation-duration:8.9s;animation-delay:-4.3s}
.recruit-layout #features .room-player-6 img{animation:heartStarSwayRight 5.35s ease-in-out -.9s infinite}
.recruit-layout #features .room-player-7{left:17%;top:80%;width:28%;animation-duration:7.8s;animation-delay:-6.1s}
.recruit-layout #features .room-player-7 img{animation:heartStarOpenLeft 7.6s cubic-bezier(.22,.72,.24,1) -4.2s infinite}
.recruit-layout #features .room-player-8{left:46%;top:87%;width:29%;animation-duration:10.2s;animation-delay:-.8s}
.recruit-layout #features .room-player-8 img{animation:contactStarHopB 3.7s ease-in-out -.9s infinite}
.recruit-layout #features .room-player-cloud{left:8%;top:54%;width:13%;animation:contactCloudDriftA 4.8s ease-in-out -1.8s infinite}
.recruit-layout #features .room-player-cloud img{width:100%;animation:none}
.recruit-layout #features .room-player-rainbow{left:69%;top:38%;width:16%;animation:contactRainbowBob 5.4s ease-in-out -2.1s infinite}
.recruit-layout #features .room-player-rainbow img{width:100%;animation:none}
@media(max-width:760px){
  .recruit-layout #features .features-grid{width:calc(94vw - 38px)}
}
@media(prefers-reduced-motion:reduce){
  .recruit-layout #features .feature-room-actor,
  .recruit-layout #features .feature-room-actor img{animation:none!important}
}


/* Visible numerals on the existing pastel toy chips; geometry and surface frozen. */
.heart-card-number{
  color:rgba(66,57,49,.88)!important;
  text-shadow:-.055cqw -.055cqw .08cqw rgba(255,255,255,.98),.055cqw .075cqw .09cqw rgba(126,100,80,.16)!important;
}


/* v029 — readable list markers, explicit heading/content proximity. */
.recruit-layout #features .section-head{margin-bottom:.95cqw}
.recruit-layout #features .feature-left,
.recruit-layout #features .feature-side{gap:3cqw}
.recruit-layout #features [aria-labelledby="feature-peer-1"] .feature-peer-body ul{
  display:grid;
  gap:.85cqw;
}
.recruit-layout #features [aria-labelledby="feature-peer-1"] .feature-peer-body li{padding-left:1.85cqw}
.recruit-layout #features [aria-labelledby="feature-peer-1"] .feature-peer-body li::before{
  content:"✓";
  display:grid;
  place-items:center;
  top:.28em;
  width:1.1cqw;
  height:1.1cqw;
  font-family:Arial,sans-serif;
  font-size:.9cqw;
  font-weight:700;
  line-height:1;
  color:rgba(66,57,49,.88);
}
/* No mirroring or 3D rotation: every character keeps its front face visible.
   Translation has a short sprint followed by a long rest; durations differ. */
.recruit-layout #features .feature-room-actor{
  --run-x:35%;
  --run-y:-12%;
  animation:roomRunRestV029 8s linear infinite;
}
@keyframes roomRunRestV029{
  0%,12%,100%{transform:translate(0,0)}
  14%{transform:translate(calc(var(--run-x)*.08),calc(var(--run-y)*.08))}
  19%{transform:translate(var(--run-x),var(--run-y))}
  22%,66%{transform:translate(var(--run-x),var(--run-y))}
  70%{transform:translate(calc(var(--run-x)*.92),calc(var(--run-y)*.92))}
  79%,94%{transform:translate(0,0)}
}
.recruit-layout #features .room-player-1{--run-x:55%;--run-y:-18%;animation-duration:3.4s;animation-delay:-.3s}
.recruit-layout #features .room-player-2{--run-x:-25%;--run-y:10%;animation-duration:19s;animation-delay:-11s;animation-timing-function:ease-in-out}
.recruit-layout #features .room-player-3{--run-x:-42%;--run-y:15%;animation-duration:8.2s;animation-delay:-6s}
.recruit-layout #features .room-player-4{--run-x:28%;--run-y:26%;animation-duration:11.3s;animation-delay:-3.8s}
.recruit-layout #features .room-player-5{--run-x:-48%;--run-y:-22%;animation-duration:4.4s;animation-delay:-2.6s}
.recruit-layout #features .room-player-6{--run-x:-18%;--run-y:-8%;animation-duration:22s;animation-delay:-15s;animation-timing-function:ease-in-out}
.recruit-layout #features .room-player-7{--run-x:46%;--run-y:-24%;animation-duration:9.3s;animation-delay:-7.2s}
.recruit-layout #features .room-player-8{--run-x:-32%;--run-y:-17%;animation-duration:15.7s;animation-delay:-9.5s}
.recruit-layout #features .room-player-cloud{animation:contactCloudDriftA 9.8s ease-in-out -4.3s infinite}
.recruit-layout #features .room-player-rainbow{animation:contactRainbowBob 6.7s ease-in-out -2.1s infinite}
@media(max-width:640px){
  .recruit-layout #features .section-head{margin-bottom:1.5cqw}
  .recruit-layout #features .feature-left,
  .recruit-layout #features .feature-side{gap:5cqw}
  .recruit-layout #features [aria-labelledby="feature-peer-1"] .feature-peer-body ul{gap:1.4cqw}
  .recruit-layout #features [aria-labelledby="feature-peer-1"] .feature-peer-body li{padding-left:3cqw}
  .recruit-layout #features [aria-labelledby="feature-peer-1"] .feature-peer-body li::before{width:1.85cqw;height:1.85cqw;font-size:1.5cqw}
}
@media(prefers-reduced-motion:reduce){
  .recruit-layout #features .feature-room-actor,
  .recruit-layout #features .feature-room-actor img{animation:none!important}
}

/* v030 — one content-width-based type scale for the four peer labels and
   the benefit/peer copy. Preserve the existing fonts, surfaces and motion. */
.recruit-layout{
  --recruit-content:calc(min(92vw,1160px) - 2px - clamp(20px,4vw,65px) - clamp(20px,4vw,65px));
  --recruit-text:clamp(13px,calc(var(--recruit-content) * .0165),18px);
}
.recruit-layout #about .section-head,
.recruit-layout #features .section-head{
  font-size:calc(var(--recruit-text) * 1.30);
  min-width:9.15em;
  height:2.82em;
  padding:0 .90em 0 .62em;
  gap:.58em;
}
.recruit-layout #about .section-head h2,
.recruit-layout #features .section-head h2{
  font-size:inherit;
  white-space:nowrap;
}
.recruit-layout #about .section-head .location-dock-icon,
.recruit-layout #features .section-head .location-dock-icon{
  width:1.55em;
  height:1.55em;
}
.recruit-layout #about .section-head .section-star,
.recruit-layout #features .section-head .section-star{width:100%;height:100%}
.recruit-layout #features .features-grid{gap:calc(var(--recruit-text) * 1.65)}
.recruit-layout #features .feature-list,
.recruit-layout #features .feature-peer-card{
  width:calc(100% - var(--recruit-text) * .94);
  margin-left:calc(var(--recruit-text) * .94);
}
.recruit-layout #features .feature-benefits .heart-card-title{
  font-size:calc(var(--recruit-text) * .91);
}
.recruit-layout #features .feature-peer-body,
.recruit-layout #features .feature-point-panel p,
.recruit-layout #features .feature-point-panel ul{
  font-size:var(--recruit-text);
  text-wrap:wrap;
  word-break:normal;
  overflow-wrap:normal;
  line-break:strict;
}
.recruit-layout #features .feature-peer-body{width:84%}
.recruit-layout #features .feature-peer-body p{text-align:left}
.recruit-layout #features .feature-copy-unit{white-space:nowrap}
@media(min-width:761px){
  .recruit-layout #features [aria-labelledby="feature-peer-1"] li:nth-child(3) .feature-copy-unit{display:block}
}
.recruit-layout #features [aria-labelledby="feature-peer-1"] .feature-peer-body li{
  padding-left:calc(var(--recruit-text) * 1.42);
}
.recruit-layout #features [aria-labelledby="feature-peer-1"] .feature-peer-body li::before{
  width:calc(var(--recruit-text) * .85);
  height:calc(var(--recruit-text) * .85);
  font-size:calc(var(--recruit-text) * .69);
}
@media(max-width:760px){
  .recruit-layout{
    --recruit-content:calc(94vw - 38px);
    --recruit-text:clamp(13px,calc(var(--recruit-content) * .0228),18px);
  }
  .recruit-layout #features .feature-peer-body,
  .recruit-layout #features .feature-point-panel p,
  .recruit-layout #features .feature-point-panel ul{width:84%}
}

/* v031 — use the very same 1363px artboard scale as the frozen RECRUIT
   heading. No minimum font size or content-width-dependent type clamp.
   Two-column and one-column modes each keep their own constant ratios. */
.recruit-layout{
  --recruit-unit:calc(min(100vw,1363px) / 100);
  --recruit-text:calc(var(--recruit-unit) * 1.30);
}
.recruit-layout #about .section-head,
.recruit-layout #features .section-head{
  border-width:calc(var(--recruit-unit) * .07337);
  box-shadow:0 calc(var(--recruit-unit) * .49303) calc(var(--recruit-unit) * 1.43214) rgba(77,60,43,.085),inset 0 calc(var(--recruit-unit) * .12913) calc(var(--recruit-unit) * .21130) rgba(255,255,255,.88),inset 0 calc(var(--recruit-unit) * -.09391) calc(var(--recruit-unit) * .16434) rgba(120,92,65,.055);
  backdrop-filter:blur(calc(var(--recruit-unit) * 1.10051)) saturate(112%);
  -webkit-backdrop-filter:blur(calc(var(--recruit-unit) * 1.10051)) saturate(112%);
}
.recruit-layout #about .section-head .location-dock-icon,
.recruit-layout #features .section-head .location-dock-icon{
  border-width:calc(var(--recruit-unit) * .07337);
  box-shadow:0 calc(var(--recruit-unit) * .16434) calc(var(--recruit-unit) * .35216) rgba(75,58,48,.12),inset 0 calc(var(--recruit-unit) * .11739) calc(var(--recruit-unit) * .14087) rgba(255,255,255,.95),inset 0 calc(var(--recruit-unit) * -.09391) calc(var(--recruit-unit) * .15260) rgba(91,70,60,.06);
}
.recruit-layout #about .section-head,
.recruit-layout #features .section-head{margin-bottom:calc(var(--recruit-unit) * .95)}
.recruit-layout #features .feature-left,
.recruit-layout #features .feature-side{gap:calc(var(--recruit-unit) * 3)}
.recruit-layout #features .feature-peer-body,
.recruit-layout #features .feature-point-panel p,
.recruit-layout #features .feature-point-panel ul{
  padding-top:calc(var(--recruit-unit) * 2.35);
  padding-bottom:calc(var(--recruit-unit) * 3.15);
  line-height:1.86;
  letter-spacing:.04em;
}
.recruit-layout #features [aria-labelledby="feature-peer-1"] .feature-peer-body ul{gap:calc(var(--recruit-unit) * .85)}
@media(max-width:640px){
  .recruit-layout{--recruit-text:calc(var(--recruit-unit) * 1.92)}
  .recruit-layout #about .section-head,
  .recruit-layout #features .section-head{margin-bottom:calc(var(--recruit-unit) * 1.5)}
  .recruit-layout #features .feature-left,
  .recruit-layout #features .feature-side{gap:calc(var(--recruit-unit) * 5)}
  .recruit-layout #features .feature-peer-body,
  .recruit-layout #features .feature-point-panel p,
  .recruit-layout #features .feature-point-panel ul{
    padding-top:calc(var(--recruit-unit) * 3);
    padding-bottom:calc(var(--recruit-unit) * 4);
    line-height:1.78;
    letter-spacing:.025em;
  }
  .recruit-layout #features [aria-labelledby="feature-peer-1"] .feature-peer-body ul{gap:calc(var(--recruit-unit) * 1.4)}
}

/* v032: approved mini-heading snapshot, scoped to day only. */
.recruit-layout #day .section-head{
  box-sizing:border-box;
  min-height:0;
  width:max-content;
  max-width:100%;
  padding:clamp(5px,.68vw,9px) clamp(14px,1.85vw,25px) clamp(5px,.68vw,9px) clamp(8px,1.08vw,14px);
  gap:clamp(7px,.9vw,12px);
  border:1px solid rgba(237,185,190,.38);
  background:linear-gradient(145deg,rgba(255,255,255,.95) 0%,rgba(255,235,242,.88) 39%,rgba(249,194,212,.68) 78%,rgba(255,242,235,.90) 100%);
  border-radius:999px;
  box-shadow:inset 0 2px 2px rgba(255,255,255,.98),inset 0 -2px 3px rgba(219,152,168,.10),0 5px 12px rgba(135,91,110,.10),0 1px 0 rgba(255,255,255,.95);
}
.recruit-layout #day .section-head{
  border-color:rgba(223,196,143,.38);
  background:linear-gradient(145deg,rgba(255,255,255,.96) 0%,rgba(255,251,223,.90) 39%,rgba(255,231,174,.68) 78%,rgba(255,249,226,.90) 100%);
  box-shadow:inset 0 2px 2px rgba(255,255,255,.98),inset 0 -2px 3px rgba(202,175,113,.10),0 5px 12px rgba(135,110,70,.10),0 1px 0 rgba(255,255,255,.95);
}
.recruit-layout #day .section-head h2{
  -webkit-text-stroke:0;
  color:#403a37;
  text-shadow:0 1px 0 rgba(255,255,255,.99),0 2px 3px rgba(103,82,73,.13);
}
@media(max-width:760px){.recruit-layout #day .section-head{
    min-height:0;
    padding:clamp(3px,.65vw,6px) clamp(8px,1.9vw,15px) clamp(3px,.65vw,6px) clamp(5px,1.1vw,9px);
    gap:clamp(4px,.85vw,7px);
  }
.recruit-layout #day .section-head .section-star{width:clamp(18px,3.35vw,29px)}
.recruit-layout #day .section-head h2{font-size:clamp(12px,2.65vw,21px);line-height:1.4}
}
.recruit-layout #day .section-head{
  --dock-rot:1.05deg;
  --dock-delay:-3.15s;
  min-width:9.15rem;
  width:max-content;
  max-width:100%;
  min-height:0;
  height:2.82rem;
  padding:0 .9rem 0 .62rem;
  display:flex;
  align-items:center;
  gap:.58rem;
  border:1px solid rgba(255,255,255,.62);
  border-radius:999px;
  background:linear-gradient(145deg,rgba(255,252,230,.85),rgba(248,231,174,.67));
  box-shadow:0 .42rem 1.22rem rgba(77,60,43,.085),inset 0 .11rem .18rem rgba(255,255,255,.88),inset 0 -.08rem .14rem rgba(120,92,65,.055);
  backdrop-filter:blur(15px) saturate(112%);
  -webkit-backdrop-filter:blur(15px) saturate(112%);
  color:rgba(66,57,49,.78);
  text-decoration:none;
  font-family:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.045em;
  animation:dockToyFloat 4.4s ease-in-out var(--dock-delay) infinite;
  transition:box-shadow .22s ease,filter .22s ease;
}
.recruit-layout #day .section-head h2{
  margin:0;
  font-family:inherit;
  font-size:inherit;
  font-weight:inherit;
  letter-spacing:inherit;
  line-height:normal;
  color:inherit;
  -webkit-text-stroke:0;
  text-shadow:none;
}
.recruit-layout #day .location-dock-icon{
  width:1.55rem;
  height:1.55rem;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:rgba(62,55,53,.88);
  background:rgba(255,255,255,.73);
  border:1px solid rgba(255,255,255,.90);
  box-shadow:0 .14rem .30rem rgba(75,58,48,.12),inset 0 .10rem .12rem rgba(255,255,255,.95),inset 0 -.08rem .13rem rgba(91,70,60,.06);
  -webkit-backdrop-filter:blur(.16rem);
  backdrop-filter:blur(.16rem);
}
.recruit-layout #day .section-head .section-star{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  animation:none;
  transform:none;
}
@media(prefers-reduced-motion:reduce){.recruit-layout #day .section-head{animation:none!important}
}
.recruit-layout #day .section-head{margin-bottom:.95cqw}
@media(max-width:640px){.recruit-layout #day .section-head{margin-bottom:1.5cqw}
}
.recruit-layout #day .section-head{
  font-size:calc(var(--recruit-text) * 1.30);
  min-width:9.15em;
  height:2.82em;
  padding:0 .90em 0 .62em;
  gap:.58em;
}
.recruit-layout #day .section-head h2{
  font-size:inherit;
  white-space:nowrap;
}
.recruit-layout #day .section-head .location-dock-icon{
  width:1.55em;
  height:1.55em;
}
.recruit-layout #day .section-head .section-star{width:100%;height:100%}
.recruit-layout #day .section-head{
  border-width:calc(var(--recruit-unit) * .07337);
  box-shadow:0 calc(var(--recruit-unit) * .49303) calc(var(--recruit-unit) * 1.43214) rgba(77,60,43,.085),inset 0 calc(var(--recruit-unit) * .12913) calc(var(--recruit-unit) * .21130) rgba(255,255,255,.88),inset 0 calc(var(--recruit-unit) * -.09391) calc(var(--recruit-unit) * .16434) rgba(120,92,65,.055);
  backdrop-filter:blur(calc(var(--recruit-unit) * 1.10051)) saturate(112%);
  -webkit-backdrop-filter:blur(calc(var(--recruit-unit) * 1.10051)) saturate(112%);
}
.recruit-layout #day .section-head .location-dock-icon{
  border-width:calc(var(--recruit-unit) * .07337);
  box-shadow:0 calc(var(--recruit-unit) * .16434) calc(var(--recruit-unit) * .35216) rgba(75,58,48,.12),inset 0 calc(var(--recruit-unit) * .11739) calc(var(--recruit-unit) * .14087) rgba(255,255,255,.95),inset 0 calc(var(--recruit-unit) * -.09391) calc(var(--recruit-unit) * .15260) rgba(91,70,60,.06);
}
.recruit-layout #day .section-head{margin-bottom:calc(var(--recruit-unit) * .95)}
@media(max-width:640px){.recruit-layout #day .section-head{margin-bottom:calc(var(--recruit-unit) * 1.5)}
}

/* v032 — A DAY only. Main v130 about-letter material, and the main's
   pastel number-chip recipes. All dimensions use the approved v031 scale. */
.recruit-layout #day .day-stage{
  width:min(100vw,1363px);
  margin-left:calc(50% - min(50vw,681.5px));
  container-type:inline-size;
}
.recruit-layout #day .day-inner{width:var(--recruit-content);margin:0 auto}
.recruit-layout #day .day-card{
  position:relative;
  width:calc(100% - var(--recruit-text) * .94);
  margin-left:calc(var(--recruit-text) * .94);
  padding:3cqw;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:4cqw;
  row-gap:2.15cqw;
  border:.073cqw solid rgba(192,174,145,.17);
  border-radius:4.2cqw;
  background:linear-gradient(145deg,rgba(255,255,255,.84),rgba(255,253,247,.76));
  box-shadow:0 1.15cqw 3.5cqw rgba(84,64,43,.075),inset 0 .16cqw .20cqw rgba(255,255,255,.98),inset 0 -.10cqw .25cqw rgba(211,187,150,.06);
  backdrop-filter:blur(.65cqw);
  -webkit-backdrop-filter:blur(.65cqw);
}
.recruit-layout #day .timeline-column{
  list-style:none;
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:0;
  margin:0;
}
.recruit-layout #day .morning{grid-column:1;grid-row:1 / 3}
.recruit-layout #day .afternoon{grid-column:2;grid-row:2}
.recruit-layout #day .event{
  display:grid;
  grid-template-columns:12.4cqw minmax(0,1fr);
  gap:1.3cqw;
  align-items:center;
  min-height:6.35cqw;
  flex:1 0 auto;
  position:relative;
}
.recruit-layout #day .afternoon .event{min-height:5.1cqw}
.recruit-layout #day .event::before{
  content:"";
  position:absolute;
  left:calc(6.2cqw - .11cqw);
  top:calc(50% + 1.875cqw);
  width:.22cqw;
  height:calc(100% - 3.75cqw);
  background:rgba(102,83,68,.22);
  border-radius:999px;
  z-index:0;
}
.recruit-layout #day .event.last::before{display:none}
.recruit-layout #day .morning .event:last-child::before{height:calc(50% - 1.875cqw + .6cqw)}
.recruit-layout #day .morning .event:last-child::after{
  content:"";
  position:absolute;
  left:calc(6.2cqw - .38cqw);
  bottom:-.55cqw;
  width:.76cqw;
  height:.76cqw;
  border-right:.22cqw solid rgba(102,83,68,.44);
  border-bottom:.22cqw solid rgba(102,83,68,.44);
  transform:rotate(45deg);
}
.recruit-layout #day .day-time{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:3.75cqw;
  padding:.55cqw .5cqw;
  text-align:center;
  white-space:nowrap;
  font-family:"Boku","Hiragino Kaku Gothic ProN",sans-serif;
  font-size:var(--recruit-text);
  font-weight:600;
  line-height:1.4;
  letter-spacing:.04em;
  color:rgba(66,57,49,.88);
  border:.073cqw solid rgba(255,255,255,.82);
  border-radius:999px;
  background:linear-gradient(145deg,rgba(255,248,204,.72),rgba(250,237,171,.60));
  box-shadow:0 .13cqw .34cqw rgba(102,83,68,.07),inset .09cqw .11cqw .16cqw rgba(255,255,255,.94),inset -.06cqw -.08cqw .13cqw rgba(110,88,70,.035);
  text-shadow:-.055cqw -.055cqw .08cqw rgba(255,255,255,.98),.055cqw .075cqw .09cqw rgba(126,100,80,.16);
}
.recruit-layout #day .event:first-child .day-time{background:linear-gradient(145deg,rgba(255,248,204,.72),rgba(250,237,171,.60))}
.recruit-layout #day .event.arrival .day-time{
  background:linear-gradient(145deg,rgba(255,241,246,.80),rgba(255,220,232,.64));
  font-weight:700;
}
.recruit-layout #day .event.last .day-time{
  background:linear-gradient(145deg,rgba(219,247,238,.70),rgba(193,237,225,.58));
  font-weight:700;
}
.recruit-layout #day .event p{
  margin:0;
  font-family:"Boku","Hiragino Kaku Gothic ProN",sans-serif;
  font-size:var(--recruit-text);
  line-height:1.86;
  letter-spacing:.04em;
  color:rgba(49,44,40,.88);
  text-align:left;
  text-wrap:wrap;
  word-break:normal;
  line-break:strict;
}
.recruit-layout #day .day-image{grid-column:2;grid-row:1;width:100%;margin:0;overflow:hidden;border-radius:calc(100% * 30 / 497) / calc(100% * 30 * 1.5 / 497)}
.recruit-layout #day .day-image img{width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;border-radius:0}
@media(max-width:760px){
  .recruit-layout #day .day-card{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;row-gap:0}
  .recruit-layout #day .day-image{grid-column:1;grid-row:1;margin-bottom:2.35cqw}
  .recruit-layout #day .morning{grid-column:1;grid-row:2}
  .recruit-layout #day .afternoon{grid-column:1;grid-row:3}
  .recruit-layout #day .event,
  .recruit-layout #day .afternoon .event{min-height:7.2cqw;grid-template-columns:20cqw minmax(0,1fr);gap:2.35cqw}
  .recruit-layout #day .day-time{min-height:5.1cqw}
  .recruit-layout #day .event::before{left:calc(10cqw - .11cqw);top:calc(50% + 2.55cqw);height:calc(100% - 5.1cqw)}
  .recruit-layout #day .morning .event:last-child::before{height:calc(100% - 5.1cqw)}
  .recruit-layout #day .morning .event:last-child::after{display:none}
}

/* v033 — A DAY refinements only. Main v130 action-button lavender. */
.recruit-layout #day .event .day-time,
.recruit-layout #day .event:first-child .day-time{
  background:linear-gradient(145deg,rgba(226,217,244,.86),rgba(204,190,234,.80));
}
.recruit-layout #day .event.arrival .day-time{background:linear-gradient(145deg,rgba(255,241,246,.80),rgba(255,220,232,.64))}
.recruit-layout #day .event.last .day-time{background:linear-gradient(145deg,rgba(219,247,238,.70),rgba(193,237,225,.58))}
.recruit-layout #day .event::before,
.recruit-layout #day .event::after{display:none!important}
.recruit-layout #day .day-flow-vector{
  position:absolute;
  top:0;
  left:0;
  z-index:0;
  overflow:visible;
  pointer-events:none;
  color:rgba(123,96,166,.72);
}
.recruit-layout #day .event p{position:relative;z-index:1}
.recruit-layout #day .day-image{position:relative;isolation:isolate;container-type:inline-size}
.recruit-layout #day .day-image .day-room-photo{filter:brightness(1.22) contrast(.88) saturate(.82)}
.recruit-layout #day .day-photo-player{
  position:absolute;
  z-index:2;
  pointer-events:none;
  transform-origin:center;
}
.recruit-layout #day .day-photo-player img{
  width:100%;height:auto;aspect-ratio:auto;object-fit:contain;
  animation:contactStarHopA 4s ease-in-out infinite;
}
.recruit-layout #day .day-photo-player-one{left:56%;top:55%;width:5%;animation:dayPhotoRunV033 3.4s ease-in-out -.8s infinite}
.recruit-layout #day .day-photo-player-one img{animation:contactStarHopB 3.5s ease-in-out -.5s infinite}
.recruit-layout #day .day-photo-player-two{left:37%;top:73%;width:8%;animation:dayPhotoRunV033 11.8s ease-in-out -6.1s infinite}
.recruit-layout #day .day-photo-player-two img{animation:heartStarSwayLeft 4.8s ease-in-out -1s infinite}
.recruit-layout #day .day-photo-player-three{left:79%;top:82%;width:10%;animation:dayPhotoRunV033 5.2s ease-in-out -3.2s infinite}
.recruit-layout #day .day-photo-player-three img{animation:contactStarHopC 4s ease-in-out -1.1s infinite}
.recruit-layout #day .day-photo-player-four{left:10%;top:91%;width:13%;animation:dayPhotoRunV033 14.7s ease-in-out -9s infinite}
.recruit-layout #day .day-photo-player-four img{animation:heartStarSwayRight 5.35s ease-in-out -.9s infinite}
.recruit-layout #day .day-photo-player-five{left:55%;top:87%;width:12%;animation:dayPhotoRunV033 7.3s ease-in-out -4.4s infinite}
.recruit-layout #day .day-photo-player-five img{animation:heartStarOpenRight 8.6s cubic-bezier(.22,.72,.24,1) -2.4s infinite}
@keyframes dayPhotoRunV033{
  0%,12%,100%{transform:translate(0,0)}
  19%,54%{transform:translate(-85%,-14%)}
  63%,92%{transform:translate(0,0)}
}
.recruit-layout #day .day-meal-friend{
  position:absolute;
  right:.2cqw;
  top:50%;
  width:5.8cqw;
  transform:translateY(-50%);
  pointer-events:none;
  z-index:2;
}
.recruit-layout #day .day-meal-friend img{width:100%;height:auto;animation:contactRainbowBob 5.4s ease-in-out -1.3s infinite}
.recruit-layout #day .day-snack-friend img{animation:contactStarHopB 4.7s ease-in-out -2.3s infinite}
.recruit-layout #day .day-meal-event p{padding-right:6.2cqw}
@media(max-width:760px){
  .recruit-layout #day .day-meal-friend{right:8cqw;width:7.2cqw}
  .recruit-layout #day .day-meal-event p{padding-right:16cqw}
}
@media(prefers-reduced-motion:reduce){
  .recruit-layout #day .day-photo-player,
  .recruit-layout #day .day-photo-player img,
  .recruit-layout #day .day-meal-friend img{animation:none!important}
}

/* v034 — one proportional day composition at every viewport width. */
.recruit-layout #day .day-stage{--recruit-text:1.30cqw}
.recruit-layout #day .day-inner{width:76.96cqw}
.recruit-layout #day .section-head{margin-bottom:calc(var(--recruit-unit) * .95)}
.recruit-layout #day .day-card{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  grid-template-rows:auto auto;
  row-gap:2.15cqw;
}
.recruit-layout #day .morning{grid-column:1;grid-row:1 / 3}
.recruit-layout #day .afternoon{grid-column:2;grid-row:2}
.recruit-layout #day .day-image{grid-column:2;grid-row:1;margin:0;align-self:start}
.recruit-layout #day .day-room-photo{display:block}
.recruit-layout #day .event,
.recruit-layout #day .afternoon .event{grid-template-columns:12.4cqw minmax(0,1fr);gap:1.3cqw;min-height:6.35cqw}
.recruit-layout #day .afternoon .event{min-height:5.1cqw}
.recruit-layout #day .day-time{min-height:3.75cqw}
.recruit-layout #day .event p{padding:0}
.recruit-layout #day .event .day-activity{display:flex;align-items:center;gap:.75cqw;min-width:0}
.recruit-layout #day .day-activity-copy{flex:0 0 auto;white-space:nowrap}
.recruit-layout #day .day-activity-friend{display:block;flex:0 0 auto;width:3.3cqw;pointer-events:none}
.recruit-layout #day .day-activity-friend img{display:block;width:100%;height:auto;animation:contactStarHopB 5.3s ease-in-out -1.8s infinite}
.recruit-layout #day .day-lunch-friend{width:6.6cqw;margin-left:.25cqw}
.recruit-layout #day .day-lunch-friend img{animation:contactRainbowBob 5.4s ease-in-out -1.3s infinite}
.recruit-layout #day .day-snack-friend{width:4.7cqw;margin-left:.4cqw}
.recruit-layout #day .day-snack-friend img{animation:contactStarHopB 4.7s ease-in-out -2.3s infinite}
.recruit-layout #day .day-breakfast-friend{width:3.7cqw}
.recruit-layout #day .day-play-friend{width:2.7cqw;margin-left:.4cqw}
.recruit-layout #day .day-play-friend img{animation:contactStarHopC 3.1s ease-in-out -.9s infinite}
.recruit-layout #day .day-nap-friend{width:3.9cqw;margin-left:.4cqw;transform:rotate(-12deg)}
.recruit-layout #day .day-nap-friend img{animation:contactRainbowBob 12s ease-in-out -5s infinite}
.recruit-layout #day .day-afternoon-friend{width:2.2cqw;margin-left:.65cqw}
.recruit-layout #day .day-afternoon-friend img{animation:heartStarSwayRight 7.2s ease-in-out -3s infinite}
/* The logo belongs to the scene; only the room photograph is lightened. */
.recruit-layout #day .day-photo-brand{position:absolute;z-index:4;right:3%;bottom:4%;width:36%;pointer-events:none}
.recruit-layout #day .day-photo-brand img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;filter:drop-shadow(0 .12cqw .12cqw rgba(255,255,255,.8))}
.recruit-layout #day .day-photo-brand .day-photo-badge{width:59%;margin:3% auto 0}
/* Paired chasing, a shelf-side observer, and larger foreground children. */
.recruit-layout #day .day-photo-player-one{left:57%;top:55%;width:5%;animation:dayPhotoChaseV034 4.1s ease-in-out -.8s infinite}
.recruit-layout #day .day-photo-player-two{left:36%;top:72%;width:8%;animation:dayPhotoChaseV034 4.1s ease-in-out -1.3s infinite}
.recruit-layout #day .day-photo-player-three{left:19%;top:75%;width:9%;animation:dayPhotoLingerV034 13.7s ease-in-out -4s infinite}
.recruit-layout #day .day-photo-player-four{left:4%;top:91%;width:15%;animation:dayPhotoLingerV034 17s ease-in-out -9s infinite}
.recruit-layout #day .day-photo-player-five{left:31%;top:86%;width:12%;animation:dayPhotoDashV034 7.9s cubic-bezier(.22,.72,.24,1) -2.8s infinite}
.recruit-layout #day .day-photo-player-six{left:45%;top:61%;width:6%;animation:dayPhotoChaseV034 4.1s ease-in-out -2.3s infinite}
.recruit-layout #day .day-photo-player-six img{animation:contactStarHopA 2.7s ease-in-out -1.1s infinite}
.recruit-layout #day .day-photo-player-seven{left:7%;top:59%;width:7%;animation:dayPhotoLingerV034 11.2s ease-in-out -6s infinite}
.recruit-layout #day .day-photo-player-seven img{animation:heartStarSwayLeft 6.1s ease-in-out -2.6s infinite}
@keyframes dayPhotoChaseV034{
  0%,12%,100%{transform:translate(0,0)}
  24%,49%{transform:translate(120%,-12%)}
  64%,84%{transform:translate(-30%,10%)}
}
@keyframes dayPhotoLingerV034{
  0%,24%,100%{transform:translate(0,0)}
  43%,65%{transform:translate(20%,-8%)}
  80%{transform:translate(-12%,0)}
}
@keyframes dayPhotoDashV034{
  0%,32%,100%{transform:translate(0,0)}
  40%,61%{transform:translate(80%,-22%)}
  68%,87%{transform:translate(-40%,0)}
}
@media(prefers-reduced-motion:reduce){
 .recruit-layout #day .day-activity-friend img,
 .recruit-layout #day .day-photo-player,
 .recruit-layout #day .day-photo-player img{animation:none!important}
}

/* v035 — staggered activity companions; approved composition and scale stay fixed. */
.recruit-layout #day .day-breakfast-friend{
  width:1.15cqw;
  margin-left:1.25cqw;
  transform:translateY(.55cqw) rotate(9deg);
}
.recruit-layout #day .day-play-friend{
  margin-left:4.2cqw;
  transform:translateY(-.35cqw);
}
.recruit-layout #day .day-nap-friend{
  margin-left:4.8cqw;
  transform:translateY(.3cqw) rotate(-12deg);
}
.recruit-layout #day .day-afternoon-friend{
  width:4cqw;
  margin-left:2.6cqw;
  transform:translateY(1cqw);
}
.recruit-layout #day .day-afternoon-friend img{
  animation:contactRainbowBob 8.4s ease-in-out -3.1s infinite;
}
.recruit-layout #day .day-photo-player-three{width:10%}
.recruit-layout #day .day-photo-player-three img{
  animation:contactRainbowBob 9.6s ease-in-out -4.2s infinite;
}
@media(prefers-reduced-motion:reduce){
  .recruit-layout #day .day-afternoon-friend img,
  .recruit-layout #day .day-photo-player-three img{animation:none!important}
}

/* v036 — approved mini-heading reused for annual events. */
/* v032: approved mini-heading snapshot, scoped to day only. */
.recruit-layout #year .section-head{
  box-sizing:border-box;
  min-height:0;
  width:max-content;
  max-width:100%;
  padding:clamp(5px,.68vw,9px) clamp(14px,1.85vw,25px) clamp(5px,.68vw,9px) clamp(8px,1.08vw,14px);
  gap:clamp(7px,.9vw,12px);
  border:1px solid rgba(237,185,190,.38);
  background:linear-gradient(145deg,rgba(255,255,255,.95) 0%,rgba(255,235,242,.88) 39%,rgba(249,194,212,.68) 78%,rgba(255,242,235,.90) 100%);
  border-radius:999px;
  box-shadow:inset 0 2px 2px rgba(255,255,255,.98),inset 0 -2px 3px rgba(219,152,168,.10),0 5px 12px rgba(135,91,110,.10),0 1px 0 rgba(255,255,255,.95);
}
.recruit-layout #year .section-head{
  border-color:rgba(223,196,143,.38);
  background:linear-gradient(145deg,rgba(255,255,255,.96) 0%,rgba(255,251,223,.90) 39%,rgba(255,231,174,.68) 78%,rgba(255,249,226,.90) 100%);
  box-shadow:inset 0 2px 2px rgba(255,255,255,.98),inset 0 -2px 3px rgba(202,175,113,.10),0 5px 12px rgba(135,110,70,.10),0 1px 0 rgba(255,255,255,.95);
}
.recruit-layout #year .section-head h2{
  -webkit-text-stroke:0;
  color:#403a37;
  text-shadow:0 1px 0 rgba(255,255,255,.99),0 2px 3px rgba(103,82,73,.13);
}
@media(max-width:760px){.recruit-layout #year .section-head{
    min-height:0;
    padding:clamp(3px,.65vw,6px) clamp(8px,1.9vw,15px) clamp(3px,.65vw,6px) clamp(5px,1.1vw,9px);
    gap:clamp(4px,.85vw,7px);
  }
.recruit-layout #year .section-head .section-star{width:clamp(18px,3.35vw,29px)}
.recruit-layout #year .section-head h2{font-size:clamp(12px,2.65vw,21px);line-height:1.4}
}
.recruit-layout #year .section-head{
  --dock-rot:1.05deg;
  --dock-delay:-3.15s;
  min-width:9.15rem;
  width:max-content;
  max-width:100%;
  min-height:0;
  height:2.82rem;
  padding:0 .9rem 0 .62rem;
  display:flex;
  align-items:center;
  gap:.58rem;
  border:1px solid rgba(255,255,255,.62);
  border-radius:999px;
  background:linear-gradient(145deg,rgba(255,252,230,.85),rgba(248,231,174,.67));
  box-shadow:0 .42rem 1.22rem rgba(77,60,43,.085),inset 0 .11rem .18rem rgba(255,255,255,.88),inset 0 -.08rem .14rem rgba(120,92,65,.055);
  backdrop-filter:blur(15px) saturate(112%);
  -webkit-backdrop-filter:blur(15px) saturate(112%);
  color:rgba(66,57,49,.78);
  text-decoration:none;
  font-family:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.045em;
  animation:dockToyFloat 4.4s ease-in-out var(--dock-delay) infinite;
  transition:box-shadow .22s ease,filter .22s ease;
}
.recruit-layout #year .section-head h2{
  margin:0;
  font-family:inherit;
  font-size:inherit;
  font-weight:inherit;
  letter-spacing:inherit;
  line-height:normal;
  color:inherit;
  -webkit-text-stroke:0;
  text-shadow:none;
}
.recruit-layout #year .location-dock-icon{
  width:1.55rem;
  height:1.55rem;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:rgba(62,55,53,.88);
  background:rgba(255,255,255,.73);
  border:1px solid rgba(255,255,255,.90);
  box-shadow:0 .14rem .30rem rgba(75,58,48,.12),inset 0 .10rem .12rem rgba(255,255,255,.95),inset 0 -.08rem .13rem rgba(91,70,60,.06);
  -webkit-backdrop-filter:blur(.16rem);
  backdrop-filter:blur(.16rem);
}
.recruit-layout #year .section-head .section-star{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  animation:none;
  transform:none;
}
@media(prefers-reduced-motion:reduce){.recruit-layout #year .section-head{animation:none!important}
}
.recruit-layout #year .section-head{margin-bottom:.95cqw}
@media(max-width:640px){.recruit-layout #year .section-head{margin-bottom:1.5cqw}
}
.recruit-layout #year .section-head{
  font-size:calc(var(--recruit-text) * 1.30);
  min-width:9.15em;
  height:2.82em;
  padding:0 .90em 0 .62em;
  gap:.58em;
}
.recruit-layout #year .section-head h2{
  font-size:inherit;
  white-space:nowrap;
}
.recruit-layout #year .section-head .location-dock-icon{
  width:1.55em;
  height:1.55em;
}
.recruit-layout #year .section-head .section-star{width:100%;height:100%}
.recruit-layout #year .section-head{
  border-width:calc(var(--recruit-unit) * .07337);
  box-shadow:0 calc(var(--recruit-unit) * .49303) calc(var(--recruit-unit) * 1.43214) rgba(77,60,43,.085),inset 0 calc(var(--recruit-unit) * .12913) calc(var(--recruit-unit) * .21130) rgba(255,255,255,.88),inset 0 calc(var(--recruit-unit) * -.09391) calc(var(--recruit-unit) * .16434) rgba(120,92,65,.055);
  backdrop-filter:blur(calc(var(--recruit-unit) * 1.10051)) saturate(112%);
  -webkit-backdrop-filter:blur(calc(var(--recruit-unit) * 1.10051)) saturate(112%);
}
.recruit-layout #year .section-head .location-dock-icon{
  border-width:calc(var(--recruit-unit) * .07337);
  box-shadow:0 calc(var(--recruit-unit) * .16434) calc(var(--recruit-unit) * .35216) rgba(75,58,48,.12),inset 0 calc(var(--recruit-unit) * .11739) calc(var(--recruit-unit) * .14087) rgba(255,255,255,.95),inset 0 calc(var(--recruit-unit) * -.09391) calc(var(--recruit-unit) * .15260) rgba(91,70,60,.06);
}
.recruit-layout #year .section-head{margin-bottom:calc(var(--recruit-unit) * .95)}
@media(max-width:640px){.recruit-layout #year .section-head{margin-bottom:calc(var(--recruit-unit) * 1.5)}
}


/* Annual events: the approved day artboard, material, text scale and chip recipes. */
.recruit-layout #year .year-stage{
 width:min(100vw,1363px);margin-left:calc(50% - min(50vw,681.5px));
 container-type:inline-size;--recruit-text:1.30cqw;
}
.recruit-layout #year .year-inner{width:76.96cqw;margin:0 auto}
.recruit-layout #year .section-head{margin-bottom:calc(var(--recruit-unit) * .95)}
.recruit-layout #year .year-card{
 position:relative;width:calc(100% - var(--recruit-text) * .94);margin-left:calc(var(--recruit-text) * .94);
 padding:3cqw;
 border:.073cqw solid rgba(192,174,145,.17);border-radius:4.2cqw;
 background:linear-gradient(145deg,rgba(255,255,255,.84),rgba(255,253,247,.76));
 box-shadow:0 1.15cqw 3.5cqw rgba(84,64,43,.075),inset 0 .16cqw .20cqw rgba(255,255,255,.98),inset 0 -.10cqw .25cqw rgba(211,187,150,.06);
 backdrop-filter:blur(.65cqw);-webkit-backdrop-filter:blur(.65cqw);
}
.recruit-layout #year .months{display:flex;flex-direction:column;gap:.75cqw;border:0;border-radius:0;overflow:visible}
.recruit-layout #year .month-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:4cqw;min-height:0;border:0}
.recruit-layout #year .month-pair:not(:last-child){border:0}
.recruit-layout #year .month-pair .year-month{
 position:relative;display:grid;grid-template-columns:5.2cqw minmax(0,1fr) 5.5cqw;gap:1.1cqw;
 min-height:6.8cqw;align-items:center;padding:.55cqw 1.1cqw;
 border:.073cqw solid rgba(255,255,255,.62);border-radius:2.1cqw;
 background:linear-gradient(135deg,rgba(255,255,255,.90),rgba(255,235,240,.70));
}
.recruit-layout #year .month-pair .year-month[data-season="summer"]{background:linear-gradient(135deg,rgba(255,255,255,.90),rgba(255,247,194,.70))}
.recruit-layout #year .month-pair .year-month[data-season="autumn"]{background:linear-gradient(135deg,rgba(255,255,255,.90),rgba(225,249,226,.72))}
.recruit-layout #year .month-pair .year-month[data-season="winter"]{background:linear-gradient(135deg,rgba(255,255,255,.90),rgba(226,217,244,.70))}
.recruit-layout #year .month-pair b{
 display:flex;align-items:center;justify-content:center;position:relative;z-index:1;
 height:auto;min-height:3.75cqw;padding:.55cqw .5cqw;
 font-family:"Boku","Hiragino Kaku Gothic ProN",sans-serif;font-size:var(--recruit-text);font-weight:600;line-height:1.4;letter-spacing:.04em;
 color:rgba(66,57,49,.88);white-space:nowrap;
 border:.073cqw solid rgba(255,255,255,.82);border-radius:999px;
 background:linear-gradient(145deg,rgba(255,241,246,.80),rgba(255,220,232,.64));
 box-shadow:0 .13cqw .34cqw rgba(102,83,68,.07),inset .09cqw .11cqw .16cqw rgba(255,255,255,.94),inset -.06cqw -.08cqw .13cqw rgba(110,88,70,.035);
 text-shadow:-.055cqw -.055cqw .08cqw rgba(255,255,255,.98),.055cqw .075cqw .09cqw rgba(126,100,80,.16);
}
.recruit-layout #year [data-season="summer"] b{background:linear-gradient(145deg,rgba(255,252,202,.98),rgba(246,219,139,.93))}
.recruit-layout #year [data-season="autumn"] b{background:linear-gradient(145deg,rgba(219,247,238,.70),rgba(193,237,225,.58))}
.recruit-layout #year [data-season="winter"] b{background:linear-gradient(145deg,rgba(226,217,244,.86),rgba(204,190,234,.80))}
.recruit-layout #year .month-pair .year-events,
.recruit-layout #year .year-note{
 padding:0;font-family:"Boku","Hiragino Kaku Gothic ProN",sans-serif;
 font-size:var(--recruit-text);font-weight:400;line-height:1.86;letter-spacing:.04em;
 color:rgba(49,44,40,.88);text-align:left;text-wrap:wrap;word-break:normal;line-break:strict;
}
.recruit-layout #year .year-note{margin:2.15cqw 0 0;text-align:center}
.recruit-layout #year .month-pair .year-character{
 display:block;position:absolute;z-index:2;right:.55cqw;top:50%;width:4.8cqw;padding:0;
 transform:translateY(-50%);pointer-events:none;
}
.recruit-layout #year .year-character img{display:block;width:100%;height:auto;object-fit:contain}
.recruit-layout #year .year-month-4 .year-character{width:5cqw;right:.25cqw;transform:translateY(-58%)}
.recruit-layout #year .year-month-8 .year-character{width:4.8cqw;right:.45cqw;transform:translateY(-40%) rotate(-7deg)}
.recruit-layout #year .year-month-10 .year-character{width:3.8cqw;right:.75cqw;transform:translateY(-54%) rotate(5deg)}
.recruit-layout #year .year-month-12 .year-character{width:3.6cqw;right:.85cqw;transform:translateY(-48%) rotate(-5deg)}
.recruit-layout #year .year-month-2 .year-character{width:4.5cqw;right:.35cqw;transform:translateY(-43%) rotate(7deg)}
/* Crop only transparent padding in CSS; original uploaded pixels stay intact. */
.recruit-layout #year .year-month-4 .year-character{aspect-ratio:2304 / 2473;overflow:hidden}
.recruit-layout #year .year-month-10 .year-character{aspect-ratio:524 / 679;overflow:hidden}
.recruit-layout #year .year-month-12 .year-character{aspect-ratio:1176 / 1624;overflow:hidden}
.recruit-layout #year .year-month-2 .year-character{aspect-ratio:1974 / 2131;overflow:hidden}
.recruit-layout #year .year-month-4 .year-character img{position:absolute;max-width:none;width:120.486111%;left:-8.854167%;top:-6.146381%}
.recruit-layout #year .year-month-10 .year-character img{position:absolute;max-width:none;width:170.992366%;left:-31.870229%;top:-16.053019%}
.recruit-layout #year .year-month-12 .year-character img{position:absolute;max-width:none;width:158.673469%;left:-24.914966%;top:-7.081281%}
.recruit-layout #year .year-month-2 .year-character img{position:absolute;max-width:none;width:121.580547%;left:-9.827761%;top:-4.786485%}
.recruit-layout #year .year-month-8 .year-character img{animation:heartStarSwayRight 7.2s ease-in-out -2.1s infinite}
@media(prefers-reduced-motion:reduce){.recruit-layout #year .year-character img{animation:none!important}}

/* v037 — tiny, slow movement on the five annual-event characters only. */
.recruit-layout #year .year-character{
 --year-y:-50%;--year-angle:0deg;--year-drift:-.08cqw;--year-tilt:.7deg;
 transform-origin:50% 80%;
 animation:yearCharacterMicroV037 10s ease-in-out infinite;
}
.recruit-layout #year .year-month-4 .year-character{
 --year-y:-58%;--year-angle:0deg;--year-drift:-.06cqw;--year-tilt:.65deg;
 animation-duration:11.3s;animation-delay:-2.8s;
}
.recruit-layout #year .year-month-8 .year-character{
 --year-y:-40%;--year-angle:-7deg;--year-drift:.08cqw;--year-tilt:-.9deg;
 animation-duration:9.8s;animation-delay:-5.1s;
}
.recruit-layout #year .year-month-10 .year-character{
 --year-y:-54%;--year-angle:5deg;--year-drift:-.11cqw;--year-tilt:-.6deg;
 animation-duration:10.7s;animation-delay:-7.2s;
}
.recruit-layout #year .year-month-12 .year-character{
 --year-y:-48%;--year-angle:-5deg;--year-drift:-.07cqw;--year-tilt:.8deg;
 animation-duration:8.9s;animation-delay:-1.6s;
}
.recruit-layout #year .year-month-2 .year-character{
 --year-y:-43%;--year-angle:7deg;--year-drift:.06cqw;--year-tilt:-.85deg;
 animation-duration:12.1s;animation-delay:-9.3s;
}
.recruit-layout #year .year-character img,
.recruit-layout #year .year-month-8 .year-character img{animation:none}
@keyframes yearCharacterMicroV037{
 0%,100%{transform:translateY(var(--year-y)) rotate(var(--year-angle))}
 50%{transform:translateY(calc(var(--year-y) + var(--year-drift))) rotate(calc(var(--year-angle) + var(--year-tilt)))}
}
@media(prefers-reduced-motion:reduce){.recruit-layout #year .year-character{animation:none!important}}

/* v038 — approved mini-heading reused for job requirements. */
/* v032: approved mini-heading snapshot, scoped to day only. */
.recruit-layout #requirements .section-head{
  box-sizing:border-box;
  min-height:0;
  width:max-content;
  max-width:100%;
  padding:clamp(5px,.68vw,9px) clamp(14px,1.85vw,25px) clamp(5px,.68vw,9px) clamp(8px,1.08vw,14px);
  gap:clamp(7px,.9vw,12px);
  border:1px solid rgba(237,185,190,.38);
  background:linear-gradient(145deg,rgba(255,255,255,.95) 0%,rgba(255,235,242,.88) 39%,rgba(249,194,212,.68) 78%,rgba(255,242,235,.90) 100%);
  border-radius:999px;
  box-shadow:inset 0 2px 2px rgba(255,255,255,.98),inset 0 -2px 3px rgba(219,152,168,.10),0 5px 12px rgba(135,91,110,.10),0 1px 0 rgba(255,255,255,.95);
}
.recruit-layout #requirements .section-head{
  border-color:rgba(223,196,143,.38);
  background:linear-gradient(145deg,rgba(255,255,255,.96) 0%,rgba(255,251,223,.90) 39%,rgba(255,231,174,.68) 78%,rgba(255,249,226,.90) 100%);
  box-shadow:inset 0 2px 2px rgba(255,255,255,.98),inset 0 -2px 3px rgba(202,175,113,.10),0 5px 12px rgba(135,110,70,.10),0 1px 0 rgba(255,255,255,.95);
}
.recruit-layout #requirements .section-head h2{
  -webkit-text-stroke:0;
  color:#403a37;
  text-shadow:0 1px 0 rgba(255,255,255,.99),0 2px 3px rgba(103,82,73,.13);
}
@media(max-width:760px){.recruit-layout #requirements .section-head{
    min-height:0;
    padding:clamp(3px,.65vw,6px) clamp(8px,1.9vw,15px) clamp(3px,.65vw,6px) clamp(5px,1.1vw,9px);
    gap:clamp(4px,.85vw,7px);
  }
.recruit-layout #requirements .section-head .section-star{width:clamp(18px,3.35vw,29px)}
.recruit-layout #requirements .section-head h2{font-size:clamp(12px,2.65vw,21px);line-height:1.4}
}
.recruit-layout #requirements .section-head{
  --dock-rot:1.05deg;
  --dock-delay:-3.15s;
  min-width:9.15rem;
  width:max-content;
  max-width:100%;
  min-height:0;
  height:2.82rem;
  padding:0 .9rem 0 .62rem;
  display:flex;
  align-items:center;
  gap:.58rem;
  border:1px solid rgba(255,255,255,.62);
  border-radius:999px;
  background:linear-gradient(145deg,rgba(255,252,230,.85),rgba(248,231,174,.67));
  box-shadow:0 .42rem 1.22rem rgba(77,60,43,.085),inset 0 .11rem .18rem rgba(255,255,255,.88),inset 0 -.08rem .14rem rgba(120,92,65,.055);
  backdrop-filter:blur(15px) saturate(112%);
  -webkit-backdrop-filter:blur(15px) saturate(112%);
  color:rgba(66,57,49,.78);
  text-decoration:none;
  font-family:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.045em;
  animation:dockToyFloat 4.4s ease-in-out var(--dock-delay) infinite;
  transition:box-shadow .22s ease,filter .22s ease;
}
.recruit-layout #requirements .section-head h2{
  margin:0;
  font-family:inherit;
  font-size:inherit;
  font-weight:inherit;
  letter-spacing:inherit;
  line-height:normal;
  color:inherit;
  -webkit-text-stroke:0;
  text-shadow:none;
}
.recruit-layout #requirements .location-dock-icon{
  width:1.55rem;
  height:1.55rem;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:rgba(62,55,53,.88);
  background:rgba(255,255,255,.73);
  border:1px solid rgba(255,255,255,.90);
  box-shadow:0 .14rem .30rem rgba(75,58,48,.12),inset 0 .10rem .12rem rgba(255,255,255,.95),inset 0 -.08rem .13rem rgba(91,70,60,.06);
  -webkit-backdrop-filter:blur(.16rem);
  backdrop-filter:blur(.16rem);
}
.recruit-layout #requirements .section-head .section-star{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  animation:none;
  transform:none;
}
@media(prefers-reduced-motion:reduce){.recruit-layout #requirements .section-head{animation:none!important}
}
.recruit-layout #requirements .section-head{margin-bottom:.95cqw}
@media(max-width:640px){.recruit-layout #requirements .section-head{margin-bottom:1.5cqw}
}
.recruit-layout #requirements .section-head{
  font-size:calc(var(--recruit-text) * 1.30);
  min-width:9.15em;
  height:2.82em;
  padding:0 .90em 0 .62em;
  gap:.58em;
}
.recruit-layout #requirements .section-head h2{
  font-size:inherit;
  white-space:nowrap;
}
.recruit-layout #requirements .section-head .location-dock-icon{
  width:1.55em;
  height:1.55em;
}
.recruit-layout #requirements .section-head .section-star{width:100%;height:100%}
.recruit-layout #requirements .section-head{
  border-width:calc(var(--recruit-unit) * .07337);
  box-shadow:0 calc(var(--recruit-unit) * .49303) calc(var(--recruit-unit) * 1.43214) rgba(77,60,43,.085),inset 0 calc(var(--recruit-unit) * .12913) calc(var(--recruit-unit) * .21130) rgba(255,255,255,.88),inset 0 calc(var(--recruit-unit) * -.09391) calc(var(--recruit-unit) * .16434) rgba(120,92,65,.055);
  backdrop-filter:blur(calc(var(--recruit-unit) * 1.10051)) saturate(112%);
  -webkit-backdrop-filter:blur(calc(var(--recruit-unit) * 1.10051)) saturate(112%);
}
.recruit-layout #requirements .section-head .location-dock-icon{
  border-width:calc(var(--recruit-unit) * .07337);
  box-shadow:0 calc(var(--recruit-unit) * .16434) calc(var(--recruit-unit) * .35216) rgba(75,58,48,.12),inset 0 calc(var(--recruit-unit) * .11739) calc(var(--recruit-unit) * .14087) rgba(255,255,255,.95),inset 0 calc(var(--recruit-unit) * -.09391) calc(var(--recruit-unit) * .15260) rgba(91,70,60,.06);
}
.recruit-layout #requirements .section-head{margin-bottom:calc(var(--recruit-unit) * .95)}
@media(max-width:640px){.recruit-layout #requirements .section-head{margin-bottom:calc(var(--recruit-unit) * 1.5)}
}


/* v038 — approved annual/day material and scale, applied to readable job conditions. */
.recruit-layout #requirements .job-stage{
 width:min(100vw,1363px);margin-left:calc(50% - min(50vw,681.5px));
 container-type:inline-size;--recruit-text:1.30cqw;
}
.recruit-layout #requirements .job-inner{width:76.96cqw;margin:0 auto}
.recruit-layout #requirements .section-head{margin-bottom:calc(var(--recruit-unit) * .95)}
.recruit-layout #requirements .job-sheet{
 position:relative;width:calc(100% - var(--recruit-text) * .94);margin-left:calc(var(--recruit-text) * .94);padding:3cqw;
 border:.073cqw solid rgba(192,174,145,.17);border-radius:4.2cqw;
 background:linear-gradient(145deg,rgba(255,255,255,.84),rgba(255,253,247,.76));
 box-shadow:0 1.15cqw 3.5cqw rgba(84,64,43,.075),inset 0 .16cqw .20cqw rgba(255,255,255,.98),inset 0 -.10cqw .25cqw rgba(211,187,150,.06);
 backdrop-filter:blur(.65cqw);-webkit-backdrop-filter:blur(.65cqw);
 font-family:"Boku","Hiragino Kaku Gothic ProN",sans-serif;font-size:var(--recruit-text);font-weight:400;line-height:1.86;letter-spacing:.04em;color:rgba(49,44,40,.88);text-align:left;
}
.recruit-layout #requirements .job-sheet p,
.recruit-layout #requirements .job-sheet dl,
.recruit-layout #requirements .job-sheet dd{margin:0}
.recruit-layout #requirements .job-role{
 display:flex;align-items:baseline;gap:.75cqw;font-size:calc(var(--recruit-text) * 1.30);font-weight:600;
 padding:0 0 2.15cqw;
}
.recruit-layout #requirements .job-role span{font-size:var(--recruit-text);font-weight:400}
.recruit-layout #requirements .job-group{padding:2.15cqw 0;border-top:.073cqw solid rgba(155,130,100,.14)}
.recruit-layout #requirements .job-group:last-child{padding-bottom:0}
.recruit-layout #requirements .job-group-heading{
 display:flex;align-items:center;width:max-content;min-height:3.75cqw;margin:0 0 1.3cqw;padding:.55cqw 1.3cqw;
 font-family:inherit;font-size:calc(var(--recruit-text) * 1.14);font-weight:600;line-height:1.4;letter-spacing:inherit;color:rgba(66,57,49,.88);
 border:.073cqw solid rgba(255,255,255,.82);border-radius:999px;
 background:linear-gradient(145deg,rgba(255,241,246,.80),rgba(255,220,232,.64));
 box-shadow:0 .13cqw .34cqw rgba(102,83,68,.07),inset .09cqw .11cqw .16cqw rgba(255,255,255,.94),inset -.06cqw -.08cqw .13cqw rgba(110,88,70,.035);
 text-shadow:-.055cqw -.055cqw .08cqw rgba(255,255,255,.98),.055cqw .075cqw .09cqw rgba(126,100,80,.16);
}
.recruit-layout #requirements #job-pay{background:linear-gradient(145deg,rgba(255,252,202,.98),rgba(246,219,139,.93))}
.recruit-layout #requirements #job-schedule{background:linear-gradient(145deg,rgba(219,247,238,.70),rgba(193,237,225,.58))}
.recruit-layout #requirements #job-benefits{background:linear-gradient(145deg,rgba(226,217,244,.86),rgba(204,190,234,.80))}
.recruit-layout #requirements .condition-row{display:grid;grid-template-columns:12.4cqw minmax(0,1fr);gap:1.3cqw;align-items:baseline;min-width:0;padding:.75cqw 0}
.recruit-layout #requirements .condition-row dt{font-weight:600;color:rgba(66,57,49,.88)}
.recruit-layout #requirements .condition-row dd{min-width:0}
.recruit-layout #requirements .job-basics{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4cqw}
.recruit-layout #requirements .job-basics .condition-row{grid-template-columns:8cqw minmax(0,1fr)}
.recruit-layout #requirements .pay-summary{
 display:flex;align-items:baseline;gap:1.3cqw;padding:1.3cqw 1.55cqw;border-radius:2.1cqw;
 background:linear-gradient(135deg,rgba(255,255,255,.90),rgba(255,247,194,.70));
}
.recruit-layout #requirements .pay-summary strong{font-size:calc(var(--recruit-text) * 1.30);font-weight:600;white-space:nowrap}
.recruit-layout #requirements .pay-kind{margin-left:auto}
.recruit-layout #requirements .pay-notes{margin:1.3cqw 0 1.55cqw}
.recruit-layout #requirements .pay-notes p+p{margin-top:.55cqw}
.recruit-layout #requirements .condition-subheading{font-family:inherit;font-size:inherit;font-weight:600;line-height:inherit;letter-spacing:inherit;margin:0 0 .35cqw}
.recruit-layout #requirements .allowance-table .condition-row{border-bottom:.073cqw solid rgba(155,130,100,.14)}
.recruit-layout #requirements .allowance-table dd{font-variant-numeric:tabular-nums}
.recruit-layout #requirements .condition-note{display:inline-block;margin-left:.55cqw}
.recruit-layout #requirements .pay-facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:4cqw;margin-top:1.3cqw!important}
.recruit-layout #requirements .pay-facts .condition-row{grid-template-columns:8cqw minmax(0,1fr)}
.recruit-layout #requirements .condition-table>.condition-row+.condition-row{border-top:.073cqw solid rgba(155,130,100,.14);margin-top:.55cqw;padding-top:1.3cqw}
.recruit-layout #requirements .condition-list{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.55cqw 1.3cqw;margin:0;padding:0}
.recruit-layout #requirements .condition-list li{position:relative;padding-left:1.3cqw}
.recruit-layout #requirements .condition-list li::before{content:"✓";position:absolute;left:0;top:0;color:rgba(66,57,49,.78)}
.recruit-layout #requirements [aria-labelledby="job-benefits"] .condition-list{grid-template-columns:minmax(0,1fr)}
.recruit-layout #requirements .condition-tags{display:flex;flex-wrap:wrap;gap:.55cqw .75cqw;list-style:none;margin:0 0 .75cqw;padding:0}
.recruit-layout #requirements .condition-tags li{padding:.2cqw .75cqw;border:.073cqw solid rgba(192,174,145,.17);border-radius:999px;background:rgba(255,255,255,.73)}
.recruit-layout #requirements .condition-table dd p+p{margin-top:.55cqw}
/* Draw fine dividers without adding a rounded-up pixel to every row on small screens. */
.recruit-layout #requirements .job-group{border-top:0;box-shadow:inset 0 .073cqw 0 rgba(155,130,100,.14)}
.recruit-layout #requirements .allowance-table .condition-row{
 border-bottom:0;background:linear-gradient(rgba(155,130,100,.14),rgba(155,130,100,.14)) bottom / 100% .073cqw no-repeat;
}
.recruit-layout #requirements .condition-table>.condition-row+.condition-row{
 border-top:0;background:linear-gradient(rgba(155,130,100,.14),rgba(155,130,100,.14)) top / 100% .073cqw no-repeat;
}
.recruit-layout #requirements .condition-tags li{border:0;box-shadow:inset 0 0 0 .073cqw rgba(192,174,145,.17)}
/* Follow-up requested: perceptible but restrained motion, no flips or size changes. */
.recruit-layout #year .year-month-4 .year-character{--year-drift:-.20cqw;--year-tilt:2.1deg;animation-duration:8.3s}
.recruit-layout #year .year-month-8 .year-character{--year-drift:.24cqw;--year-tilt:-2.8deg;animation-duration:7.2s}
.recruit-layout #year .year-month-10 .year-character{--year-drift:-.30cqw;--year-tilt:-2deg;animation-duration:7.9s}
.recruit-layout #year .year-month-12 .year-character{--year-drift:-.22cqw;--year-tilt:2.6deg;animation-duration:6.7s}
.recruit-layout #year .year-month-2 .year-character{--year-drift:.20cqw;--year-tilt:-2.7deg;animation-duration:9.1s}

/* v039 — remove the legacy solid beige slab; keep its existing soft outer shadow. */
.recruit-panel{box-shadow:0 25px 45px rgba(103,80,57,.075),inset 2px 3px 3px #fff}
/* Main-page ending components are reused directly. */
.recruit-layout .contact-panel{margin:calc(var(--recruit-unit) * 6.2) 0 0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.recruit-layout .apply-stage{
 width:min(100vw,1363px);margin-left:calc(50% - min(50vw,681.5px));
 container-type:inline-size;border-radius:calc(var(--recruit-unit) * 4.2);
}
.recruit-layout #apply .ending-stage{min-height:0;padding:5.2cqw 0 6.2cqw}
.recruit-layout #apply .ending-heading-toy{width:76%}
.recruit-layout #apply .ending-emboss{width:4.15cqw}
.recruit-layout #apply .ending-emboss-left{left:6.6%}
.recruit-layout #apply .ending-emboss-right{right:6.6%}
.recruit-layout #apply .apply-body{width:76.96%;margin:0 auto;text-align:center;font-size:1.3cqw;line-height:1.86}
.recruit-layout #apply .apply-intro{
 margin:3.15cqw 0 3.6cqw;
 font-family:"Boku","Hiragino Kaku Gothic ProN",sans-serif;font-size:1.3cqw;line-height:1.86;letter-spacing:.04em;color:rgba(49,44,40,.88);
}
.recruit-layout #apply .apply-link{
 position:relative;display:inline-flex;align-items:center;justify-content:center;gap:1.3cqw;
 width:max-content;max-width:100%;min-height:6.2cqw;padding:1.3cqw 2.15cqw;
 border:.073cqw solid rgba(255,255,255,.88);border-radius:999px;
 background:linear-gradient(140deg,rgba(255,240,244,.90),rgba(255,250,247,.75));
 box-shadow:0 .65cqw 2cqw rgba(85,67,52,.075),inset 0 .16cqw .28cqw rgba(255,255,255,.92);
 backdrop-filter:blur(1cqw);-webkit-backdrop-filter:blur(1cqw);
 font-family:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:1.55cqw;font-weight:600;letter-spacing:.07em;color:rgba(66,57,51,.86);text-decoration:none;
 transition:transform .3s cubic-bezier(.22,.72,.24,1),box-shadow .3s ease;
}
.recruit-layout #apply .apply-label{white-space:nowrap}
.recruit-layout #apply .apply-star{flex:0 0 auto;width:2.4cqw;height:2.4cqw;object-fit:contain}
.recruit-layout #apply .ending-choice-arrow{
 position:relative!important;inset:auto!important;flex:0 0 auto;align-self:center!important;
 width:2.9cqw!important;height:2.9cqw!important;margin:0 0 0 .5cqw;padding:0;
}
.recruit-layout #apply .ending-choice-arrow::before{font-size:1.28cqw!important}
.recruit-layout #apply .ending-choice-arrow::after{width:3.55cqw!important;height:3.55cqw!important}
.recruit-layout #apply .apply-link:hover{transform:translateY(-.28cqw);box-shadow:0 .9cqw 2.6cqw rgba(85,67,52,.10),inset 0 .16cqw .28cqw rgba(255,255,255,.95)}
.recruit-layout #apply a:focus-visible{outline:.15cqw solid rgba(123,96,166,.72);outline-offset:.35cqw}
.recruit-layout #apply .apply-returns{display:flex;align-items:center;justify-content:center;gap:4cqw;margin-top:5.2cqw}
.recruit-layout #apply .apply-returns a{
 display:inline-flex;align-items:center;gap:.7cqw;
 font-family:"Boku","Hiragino Kaku Gothic ProN",sans-serif;font-size:1.05cqw;line-height:1.86;letter-spacing:.04em;color:rgba(74,62,54,.62);text-decoration:none;
}
.recruit-layout #apply .apply-returns a>span:not(.return-icon){border-bottom:.073cqw solid rgba(112,91,72,.14)}
.recruit-layout #apply .return-icon{display:grid;place-items:center;width:2.45cqw;height:2.45cqw;border-radius:50%;background:rgba(255,255,255,.73);font-family:Arial,"Hiragino Kaku Gothic ProN",sans-serif;font-size:1.3cqw;line-height:1}
.recruit-layout #apply .apply-top .return-icon{animation:footerTopPyoko 2.8s cubic-bezier(.45,.05,.28,1) infinite}
.recruit-footer{padding:calc(min(100vw,1363px) * .03) 15px;font-size:calc(min(100vw,1363px) * .0095);line-height:1.86;letter-spacing:.04em;color:rgba(75,63,55,.46)}
@media(prefers-reduced-motion:reduce){.recruit-layout #apply .return-icon{animation:none!important}.recruit-layout #apply .apply-link{transition:none}.recruit-layout #apply .apply-link:hover{transform:none}}

/* v040 — headings follow the shared heading scale, independently of body artboards. */
.recruit-layout #day .section-head,
.recruit-layout #year .section-head,
.recruit-layout #requirements .section-head{
 --recruit-text:calc(var(--recruit-unit) * 1.30);
}
@media(max-width:640px){
 .recruit-layout #day .section-head,
 .recruit-layout #year .section-head,
 .recruit-layout #requirements .section-head{
  --recruit-text:calc(var(--recruit-unit) * 1.92);
 }
}
.recruit-layout #day .section-head{
 background:linear-gradient(145deg,rgba(239,252,255,.83),rgba(205,239,247,.65));
}
.recruit-layout #year .section-head{
 background:linear-gradient(145deg,rgba(248,242,255,.82),rgba(229,215,250,.65));
}
.recruit-layout #requirements .section-head{
 background:linear-gradient(145deg,rgba(219,247,238,.70),rgba(193,237,225,.58));
}
/* Slightly clearer independent sways; preserve anchors, crop and planar characters. */
.recruit-layout #year .year-month-4 .year-character{--year-drift:-.34cqw;--year-tilt:3.3deg;animation-duration:7.1s}
.recruit-layout #year .year-month-8 .year-character{--year-drift:.40cqw;--year-tilt:-4.2deg;animation-duration:6.3s}
.recruit-layout #year .year-month-10 .year-character{--year-drift:-.46cqw;--year-tilt:-3.2deg;animation-duration:6.8s}
.recruit-layout #year .year-month-12 .year-character{--year-drift:-.36cqw;--year-tilt:4deg;animation-duration:5.9s}
.recruit-layout #year .year-month-2 .year-character{--year-drift:.34cqw;--year-tilt:-4.1deg;animation-duration:7.8s}

/* OUR SPACE v001: approved shared components above remain unchanged. */
.space-layout .space-intro{margin:calc(var(--recruit-unit) * 2.1) 0 calc(var(--recruit-unit) * 4.2);font-size:var(--recruit-text);line-height:1.86;letter-spacing:.04em;color:rgba(49,44,40,.88);text-align:left}
.space-intro p{margin:0 0 1em}.space-layout .space-intro .gallery-hint{display:flex;align-items:center;gap:.6em;color:rgba(74,62,54,.72);font-size:.88em;margin-bottom:0}.hint-icon{display:grid;place-items:center;width:1.8em;height:1.8em;border-radius:50%;background:rgba(255,255,255,.73);font-family:Arial,sans-serif;flex-shrink:0}
.space-layout #about .space-section{position:relative;padding:0;margin:0 0 calc(var(--recruit-unit) * 5.8);scroll-margin-top:calc(var(--recruit-unit) * 11)}
.space-layout #about .space-section:last-child{margin-bottom:0}
.space-layout #about .section-head{margin-bottom:calc(var(--recruit-unit) * 1.5)}
.space-layout #about .space-one .section-head{--dock-delay:-1.4s;background:linear-gradient(145deg,rgba(219,247,238,.70),rgba(193,237,225,.58))}
.space-layout #about .space-two .section-head{--dock-delay:-2.2s;background:linear-gradient(145deg,rgba(239,252,255,.83),rgba(205,239,247,.65))}
.space-layout #about .space-play .section-head{--dock-delay:-3.15s;background:linear-gradient(145deg,rgba(255,252,230,.85),rgba(248,231,174,.67))}
.space-layout .gallery-panel{position:relative;width:calc(100% - var(--recruit-text) * .94);margin-left:calc(var(--recruit-text) * .94);padding:calc(var(--recruit-unit) * 2.35);border:calc(var(--recruit-unit) * .073) solid rgba(192,174,145,.17);border-radius:calc(var(--recruit-unit) * 4.2);background:linear-gradient(145deg,rgba(255,255,255,.84),rgba(255,253,247,.76));box-shadow:0 calc(var(--recruit-unit) * 1.15) calc(var(--recruit-unit) * 3.5) rgba(84,64,43,.075),inset 0 calc(var(--recruit-unit) * .16) calc(var(--recruit-unit) * .20) rgba(255,255,255,.98),inset 0 calc(var(--recruit-unit) * -.10) calc(var(--recruit-unit) * .25) rgba(211,187,150,.06);backdrop-filter:blur(calc(var(--recruit-unit) * .65));-webkit-backdrop-filter:blur(calc(var(--recruit-unit) * .65))}
.space-layout .gallery-grid{display:grid;gap:calc(var(--recruit-unit) * 1.8);grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}
.space-layout .space-one .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.space-layout .space-two .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.space-layout .space-play .gallery-grid{grid-template-columns:repeat(6,minmax(0,1fr));row-gap:calc(var(--recruit-unit) * 2.4)}.space-layout .space-play .photo-item{grid-column:span 2}.space-layout .space-play .photo-item:nth-child(n+4){grid-column:span 3}
.space-layout .photo-item{margin:0;min-width:0}.space-layout .photo-link{display:block;position:relative;width:100%;padding:0;border:0;border-radius:calc(var(--recruit-unit) * 2.2);background:transparent;box-shadow:0 calc(var(--recruit-unit) * .42) calc(var(--recruit-unit) * 1.22) rgba(77,60,43,.085);text-decoration:none;transition:transform .25s ease,box-shadow .25s ease;isolation:isolate}
.space-layout .photo-link:hover{transform:translateY(calc(var(--recruit-unit) * -.2));box-shadow:0 calc(var(--recruit-unit) * .65) calc(var(--recruit-unit) * 1.65) rgba(77,60,43,.10)}
.space-layout .photo-link:focus-visible{outline:2px solid rgba(123,96,166,.85);outline-offset:4px}.space-layout .photo-window{display:block;position:relative;overflow:hidden;aspect-ratio:1.052;border-radius:inherit;isolation:isolate}
.space-layout .space-two .photo-window{aspect-ratio:1.559}.space-layout .space-play .photo-item:nth-child(n+4) .photo-window{aspect-ratio:1.602}
.space-layout .photo-window>img{position:absolute;width:var(--photo-width);height:var(--photo-height);max-width:none;left:var(--photo-left);top:var(--photo-top);object-fit:fill;filter:contrast(var(--photo-contrast)) brightness(var(--photo-brightness))}
.space-layout .photo-expand{position:absolute;right:.65em;bottom:.65em;display:grid;place-items:center;width:1.8em;height:1.8em;border-radius:50%;background:rgba(255,255,255,.85);color:rgba(66,57,49,.78);font-family:Arial,sans-serif;font-size:var(--recruit-text);box-shadow:0 .14em .30em rgba(75,58,48,.12),inset 0 .10em .12em rgba(255,255,255,.95);pointer-events:none}
.space-layout .photo-caption{margin:.8em .3em 0;font-size:var(--recruit-text);line-height:1.7;letter-spacing:.02em;color:rgba(49,44,40,.88);text-align:left}
.space-layout .space-visitor{position:absolute;pointer-events:none;z-index:2;object-fit:contain;transform-origin:50% 70%;animation:spaceVisitorSway 7s ease-in-out infinite}
.space-layout .space-visitor-baby{width:calc(var(--recruit-unit) * 3.2);right:calc(var(--recruit-unit) * 3.8);top:calc(var(--recruit-unit) * -1.5);animation-delay:-1.7s}
.space-layout .space-visitor-star{width:calc(var(--recruit-unit) * 2.3);right:calc(var(--recruit-unit) * 1.5);bottom:calc(var(--recruit-unit) * -1.1);animation-duration:5.3s;animation-delay:-2.2s}
.space-layout .space-visitor-cloud{width:calc(var(--recruit-unit) * 4);left:calc(var(--recruit-unit) * 1.8);bottom:calc(var(--recruit-unit) * -1.4);animation-duration:9.2s;animation-delay:-5s}
.space-layout .space-visitor-books{width:calc(var(--recruit-unit) * 6);right:calc(var(--recruit-unit) * 3);top:calc(var(--recruit-unit) * -2.6);animation-duration:8.6s;animation-delay:-3.8s}
@keyframes spaceVisitorSway{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(calc(var(--recruit-unit) * -.28)) rotate(3deg)}}
.space-layout .space-bottom{display:flex;justify-content:center;align-items:center;gap:calc(var(--recruit-unit) * 4);margin-top:calc(var(--recruit-unit) * 5);font-size:var(--recruit-text)}
.space-layout .space-bottom a{display:flex;align-items:center;gap:.65em;text-underline-offset:.3em;text-decoration-color:rgba(112,91,72,.25);color:rgba(74,62,54,.72)}
.photo-lightbox{box-sizing:border-box;position:fixed;inset:0;width:min(94vw,1160px);max-width:94vw;max-height:94svh;margin:auto;padding:18px 22px 20px;border:1px solid rgba(192,174,145,.17);border-radius:30px;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,253,247,.94));box-shadow:0 16px 48px rgba(84,64,43,.12),inset 0 2px 3px rgba(255,255,255,.98);overflow:auto;color:rgba(49,44,40,.88);font-family:"Boku","Hiragino Kaku Gothic ProN",sans-serif}
.photo-lightbox:not([open]){display:none}.photo-lightbox[open]{display:block;animation:spaceLightboxEnter .22s ease-out}
.photo-lightbox::backdrop{background:rgba(255,253,249,.76);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.lightbox-group{margin:0;font-size:16px;font-weight:400}.lightbox-close,.lightbox-arrow{display:inline-grid;place-items:center;flex-shrink:0;width:46px;height:46px;padding:0;border:1px solid rgba(255,255,255,.9);border-radius:50%;background:linear-gradient(145deg,rgba(248,242,255,.82),rgba(229,215,250,.65));box-shadow:0 3px 8px rgba(75,58,48,.10),inset 0 2px 2px rgba(255,255,255,.95);color:#51455c;font-family:Arial,sans-serif;font-size:24px;cursor:pointer}
.lightbox-arrow:disabled{opacity:.32;cursor:default}.lightbox-close:focus-visible,.lightbox-arrow:focus-visible{outline:2px solid #876c9b;outline-offset:3px}
.lightbox-figure{margin:0}.lightbox-frame{position:relative;height:min(67svh,740px,max(100px,calc(94svh - 240px)));display:grid;place-items:center;background:rgba(255,255,255,.65);border-radius:16px;overflow:hidden;touch-action:pan-y pinch-zoom}.lightbox-image{display:block;width:100%;height:100%;max-width:100%;min-height:0;object-fit:contain;filter:contrast(var(--photo-contrast,1)) brightness(var(--photo-brightness,1));user-select:none}
.lightbox-image[hidden]{display:none}.lightbox-status{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:24px;font-size:16px;pointer-events:none}.lightbox-status:empty{display:none}.lightbox-caption{font-size:17px;line-height:1.7;margin:14px 0 0;text-align:center}.lightbox-controls{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:12px}.lightbox-counter{font:14px Arial,sans-serif;min-width:5em;text-align:center}
@keyframes spaceLightboxEnter{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
@media(max-width:640px){.photo-lightbox{padding:12px 12px 16px;border-radius:22px}.lightbox-frame{height:min(62svh,max(100px,calc(94svh - 260px)))}.lightbox-caption{font-size:16px}.lightbox-group{font-size:14px}.lightbox-toolbar{margin-bottom:8px}.lightbox-controls{margin-top:10px}.space-layout .space-intro{margin-bottom:calc(var(--recruit-unit) * 5)}.space-layout #about .space-section{margin-bottom:calc(var(--recruit-unit) * 7)}}
@media(prefers-reduced-motion:reduce){.space-layout .space-visitor,.photo-lightbox[open]{animation:none!important}.space-layout .photo-link{transition:none}.space-layout .photo-link:hover{transform:none}}

/* v002: use the supplied edited image unchanged at both display sizes. */
.space-layout .photo-window{aspect-ratio:auto!important;overflow:visible;border-radius:0}
.space-layout .photo-window>img{position:static;width:100%;height:auto;max-width:100%;object-fit:contain;filter:none!important}
.lightbox-image{filter:none!important}
/* Adopted main-page heart-card colors, alongside the existing dock blue. */
.space-layout .space-baby .gallery-panel{background:linear-gradient(135deg,rgba(255,255,255,.90),rgba(255,235,240,.70))}
.space-layout .space-one .gallery-panel{background:linear-gradient(135deg,rgba(255,255,255,.90),rgba(225,249,226,.72))}
.space-layout .space-two .gallery-panel{background:linear-gradient(145deg,rgba(239,252,255,.83),rgba(205,239,247,.65))}
.space-layout .space-play .gallery-panel{background:linear-gradient(135deg,rgba(255,255,255,.90),rgba(255,247,194,.70))}
.space-layout .photo-actor{position:absolute;display:block;z-index:2;height:auto;pointer-events:none;transform-origin:50% 65%;animation:spacePhotoSway var(--actor-duration,6s) ease-in-out var(--actor-delay,0s) infinite}
.space-layout .photo-actor img,.space-layout .photo-actor picture{display:block;width:100%;height:auto;max-width:100%;pointer-events:none}
.space-layout .photo-actor-runner{animation-name:spacePhotoRun;animation-timing-function:cubic-bezier(.4,0,.25,1)}
.space-layout .photo-actor-dance{animation-name:spacePhotoDance}
@keyframes spacePhotoSway{0%,100%{transform:translate(-50%,-50%) rotate(-8deg)}28%{transform:translate(-35%,-62%) rotate(5deg)}63%{transform:translate(-62%,-48%) rotate(-3deg)}82%{transform:translate(-45%,-58%) rotate(8deg)}}
@keyframes spacePhotoRun{0%,15%,100%{transform:translate(-50%,-50%) rotate(-5deg)}32%,47%{transform:translate(12%,-64%) rotate(9deg)}66%{transform:translate(-94%,-47%) rotate(-12deg)}78%,89%{transform:translate(-70%,-61%) rotate(4deg)}}
@keyframes spacePhotoDance{0%,100%{transform:translate(-50%,-50%) rotate(-4deg)}35%{transform:translate(-58%,-65%) rotate(6deg)}72%{transform:translate(-40%,-52%) rotate(-2deg)}}
@media(prefers-reduced-motion:reduce){.space-layout .photo-actor{animation:none!important;transform:translate(-50%,-50%)}}

/* OUR SPACE v003: independent title actors in the shared heading coordinate system. */
.space-layout .space-title-friends{position:absolute;inset:0;z-index:2;pointer-events:none}
.space-layout .space-title-friend{position:absolute;display:block;height:auto;max-width:none;pointer-events:none;transform-origin:50% 85%}
.space-layout .space-title-cloud{left:13%;top:12.4cqw;width:9cqw;animation:spaceTitleCloudWalk 10.6s ease-in-out -2.1s infinite}
.space-layout .space-title-rainbow{right:13%;top:-.6cqw;width:11.4cqw;transform-origin:50% 95%;animation:spaceTitleRainbowWelcome 6.4s ease-in-out -1.7s infinite}
.space-layout .space-title-star{left:83%;top:13.2cqw;width:4.6cqw;animation:spaceTitleStarHop 4.3s ease-in-out -.8s infinite}
@keyframes spaceTitleCloudWalk{
 0%,100%{transform:translate(0,0) rotate(-3deg)}
 22%{transform:translate(.8cqw,-.18cqw) rotate(2deg)}
 48%,60%{transform:translate(1.8cqw,0) rotate(-2deg)}
 80%{transform:translate(.7cqw,-.2cqw) rotate(3deg)}
}
@keyframes spaceTitleRainbowWelcome{
 0%,100%{transform:translateY(0) rotate(-4deg)}
 42%{transform:translateY(-.4cqw) rotate(4deg)}
 72%{transform:translateY(-.12cqw) rotate(1deg)}
}
@keyframes spaceTitleStarHop{
 0%,30%,70%,100%{transform:translate(0,0) rotate(-6deg)}
 40%{transform:translate(.35cqw,-.95cqw) rotate(9deg)}
 50%{transform:translate(.7cqw,0) rotate(-3deg)}
 59%{transform:translate(.4cqw,-.4cqw) rotate(5deg)}
}
.space-layout .space-baby .gallery-panel{background:linear-gradient(145deg,rgba(255,241,246,.80),rgba(255,220,232,.64))}
@media(prefers-reduced-motion:reduce){.space-layout .space-title-friend{animation:none!important}}

/* OUR SPACE v004: three destinations within the unchanged navigation tray. */
@media(min-width:641px){
 .space-nav-page .global-nav{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* Main-page v122 visit arrow: same mint acrylic palette, glyph and motion.
   Use the page's shared scale unit so photo grids do not change its size. */
.space-layout .space-toy-arrow{
 --arrow-size:2.9;
 display:flex;align-items:center;justify-content:center;box-sizing:border-box;
 width:calc(var(--recruit-unit) * var(--arrow-size));height:calc(var(--recruit-unit) * var(--arrow-size));
 flex-shrink:0;border:0;border-radius:50%;overflow:visible;pointer-events:none;
 background:linear-gradient(145deg,rgba(213,252,239,.98) 0%,rgba(157,232,224,.95) 52%,rgba(125,214,220,.92) 100%);
 box-shadow:0 calc(var(--recruit-unit) * .20) calc(var(--recruit-unit) * .52) rgba(83,172,176,.18),
 inset calc(var(--recruit-unit) * .10) calc(var(--recruit-unit) * .12) calc(var(--recruit-unit) * .18) rgba(255,255,255,.94),
 inset calc(var(--recruit-unit) * -.08) calc(var(--recruit-unit) * -.10) calc(var(--recruit-unit) * .18) rgba(76,158,166,.10);
}
.space-layout .hint-icon.space-toy-arrow{position:relative}
.space-layout .space-toy-arrow::before{
 content:"➜";display:flex;align-items:center;justify-content:center;width:100%;height:100%;margin:0;padding:0;
 font-family:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN",sans-serif;
 font-size:calc(var(--recruit-unit) * 1.28);font-weight:700;line-height:1;color:rgba(255,255,255,.98);
 text-shadow:0 calc(var(--recruit-unit) * .07) calc(var(--recruit-unit) * .10) rgba(95,77,66,.13);
 animation:spaceArrowNudge 2.7s cubic-bezier(.45,.05,.28,1) infinite;
}
.space-layout .space-toy-arrow::after{
 content:"";position:absolute;left:50%;top:50%;width:calc(var(--recruit-unit) * 3.55);height:calc(var(--recruit-unit) * 3.55);
 border-radius:50%;border:calc(var(--recruit-unit) * .08) solid rgba(255,255,255,.58);
 transform:translate(-50%,-50%) scale(.82);opacity:0;animation:contactArrowHalo 2.7s ease-out infinite;
}
@keyframes spaceArrowNudge{
 0%,12%,24%,100%{transform:translateX(0)}
 6%{transform:translateX(calc(var(--recruit-unit) * .22))}
 18%{transform:translateX(calc(var(--recruit-unit) * .13))}
}
@media(max-width:640px){
 .space-layout .space-toy-arrow{--arrow-size:4.25}
 .space-layout .space-toy-arrow::before{font-size:calc(var(--recruit-unit) * 1.82)}
 .space-layout .space-toy-arrow::after{width:calc(var(--recruit-unit) * 5.05);height:calc(var(--recruit-unit) * 5.05)}
}
@media(prefers-reduced-motion:reduce){
 .space-layout .space-toy-arrow::before,.space-layout .space-toy-arrow::after{animation:none!important}
}
