:root{
  --night:#0d121c;--night-2:#151c28;--night-3:#202938;--ink:#171a21;
  --paper:#f0ede4;--paper-2:#e1dccf;--white:#fffdf8;--red:#9e3836;
  --red-bright:#d95d55;--sage:#3f6259;--gold:#c7ac6a;--line:#272d38;
  --muted:#686d76;--shadow:0 24px 70px rgba(5,8,14,.19);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,system-ui,sans-serif;line-height:1.75;letter-spacing:.025em}
a{color:inherit}button,a{font:inherit}.skip-link{position:fixed;top:-100px;left:14px;z-index:100;background:#fff;padding:10px 16px}.skip-link:focus{top:14px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(13,18,28,.94);color:#fff;border-bottom:1px solid rgba(255,255,255,.13);backdrop-filter:blur(16px)}
.header-inner{width:min(1160px,calc(100% - 32px));height:76px;margin:auto;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none}.brand-mark{position:relative;display:block;width:38px;height:42px;border:1px solid rgba(220,203,152,.7)}.brand-mark:before{content:"";position:absolute;left:50%;top:9px;width:1px;height:24px;background:#dccb98;transform:rotate(40deg)}.brand-mark:after{content:"";position:absolute;left:11px;top:12px;width:16px;height:16px;border-left:1px solid #dccb98;border-bottom:1px solid #dccb98;transform:rotate(-45deg)}
.brand-text{display:flex;flex-direction:column;line-height:1.15}.brand-text b{font-size:1.08rem;letter-spacing:.17em}.brand-text small{margin-top:5px;color:#aeb5c1;font-size:.55rem;letter-spacing:.18em}.site-nav{display:flex;gap:32px}.site-nav a{text-decoration:none;color:#dfe3e9;font-size:.84rem;font-weight:700}.site-nav a:hover{color:#fff}.menu-button{display:none;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;padding:8px 11px;font-weight:800;font-size:.72rem;letter-spacing:.12em}
.hero{position:relative;min-height:690px;display:grid;align-items:center;overflow:hidden;background:linear-gradient(118deg,#0b1019 0%,#111827 60%,#1d2532 100%);color:#fff}.hero-grid{position:absolute;inset:0;opacity:.28;background:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to right,#000 20%,transparent 90%)}.hero:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-150px;top:-110px;background:radial-gradient(circle,rgba(158,56,54,.22),transparent 68%)}.hero-inner{position:relative;z-index:2;width:min(1160px,calc(100% - 32px));margin:auto;padding:98px 0;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(310px,.65fr);gap:70px;align-items:center}.eyebrow,.section-kicker{margin:0 0 18px;font-size:.7rem;font-weight:900;letter-spacing:.23em;color:var(--red-bright)}.hero h1{margin:0;max-width:760px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(3.5rem,7.5vw,7.4rem);line-height:1.03;letter-spacing:-.055em;font-weight:600}.hero h1 span{color:#ddca93}.hero-copy{margin:32px 0 0;max-width:650px;color:#c7ced8;font-size:clamp(1rem,1.6vw,1.14rem)}.hero-actions{display:flex;gap:14px;margin-top:36px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:13px 24px;border:1px solid var(--line);text-decoration:none;font-weight:900;letter-spacing:.035em;transition:.18s ease}.button.primary{background:var(--red);border-color:var(--red);color:#fff}.button.primary:hover{background:#b64541;transform:translateY(-2px)}.button.ghost{border-color:rgba(255,255,255,.38);color:#fff}.button.ghost:hover{background:rgba(255,255,255,.08)}.button.full{width:100%}.button.disabled{background:#d3cec3;color:#7a776f;border-color:#c1bbaf}.hero-archive{position:relative}.archive-frame{position:relative;aspect-ratio:4/5;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.018);box-shadow:28px 28px 0 rgba(255,255,255,.025)}.archive-frame:before{content:"";position:absolute;inset:24px -24px -24px 24px;border:1px solid rgba(221,202,147,.25)}.archive-tag{position:absolute;top:26px;left:26px;padding:6px 9px;border:1px solid rgba(221,202,147,.55);color:#ddca93;font-size:.62rem;font-weight:900;letter-spacing:.19em}.archive-lines{position:absolute;left:26px;right:26px;top:42%;display:grid;gap:17px}.archive-lines i{display:block;height:1px;background:linear-gradient(to right,rgba(255,255,255,.7),rgba(255,255,255,.08))}.archive-lines i:nth-child(2){width:72%}.archive-lines i:nth-child(3){width:88%}.archive-lines i:nth-child(4){width:54%}.archive-frame p{position:absolute;right:26px;bottom:25px;margin:0;text-align:right}.archive-frame p b{display:block;color:#fff;font-size:1.25rem;letter-spacing:.12em}.archive-frame p span{display:block;margin-top:6px;color:#8993a2;font-size:.57rem;letter-spacing:.16em}.scroll-note{position:absolute;bottom:23px;left:50%;transform:translateX(-50%);color:#7f8998;font-size:.58rem;letter-spacing:.22em}
.section{padding:104px 0}.section-heading{width:min(1160px,calc(100% - 32px));margin:0 auto 42px;display:flex;align-items:end;justify-content:space-between;gap:30px}.section-heading h2,.about-card h2,.values-inner>h2{margin:0;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(2.5rem,5vw,4.35rem);font-weight:600;letter-spacing:-.04em;line-height:1.16}.section-heading>p{max-width:480px;margin:0;color:var(--muted)}
.works-grid{width:min(1160px,calc(100% - 32px));margin:auto;display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:22px;align-items:stretch}.work-card{display:flex;flex-direction:column;min-width:0;border:1px solid #c7c1b4;background:var(--white);box-shadow:var(--shadow)}.work-visual{position:relative;min-height:230px;padding:26px;background:#151c27;color:#fff;overflow:hidden}.featured .work-visual{min-height:335px}.broadcast:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 76% 26%,rgba(169,57,53,.4),transparent 36%),linear-gradient(100deg,transparent 48%,rgba(255,255,255,.06) 48.5%,transparent 49%)}.broadcast:after{content:"";position:absolute;inset:0;opacity:.14;background-image:radial-gradient(#fff .5px,transparent .6px);background-size:6px 6px}.onair{position:absolute;z-index:2;top:24px;left:24px;padding:6px 11px;border:1px solid var(--red-bright);color:#fff;background:rgba(158,56,54,.85);font-size:.67rem;font-weight:900;letter-spacing:.17em}.signal{position:absolute;z-index:2;left:28px;right:28px;top:48%;height:64px;display:flex;align-items:center;gap:10px}.signal span{display:block;flex:1;max-width:8px;height:12%;background:#8997a7;animation:signal 1.55s ease-in-out infinite}.signal span:nth-child(2){height:64%;animation-delay:-.2s}.signal span:nth-child(3){height:32%;animation-delay:-.7s}.signal span:nth-child(4){height:92%;animation-delay:-1s}.signal span:nth-child(5){height:55%;animation-delay:-.4s}.signal span:nth-child(6){height:73%;animation-delay:-1.2s}.signal span:nth-child(7){height:24%;animation-delay:-.6s}.signal span:nth-child(8){height:85%;animation-delay:-.9s}.signal span:nth-child(9){height:18%;animation-delay:-.1s}@keyframes signal{50%{transform:scaleY(.35);opacity:.55}}.time-code{position:absolute;z-index:2;right:28px;bottom:25px;text-align:right}.time-code b{display:block;color:#e6d6a9;font-size:3.7rem;line-height:.85}.time-code small{color:#9ca6b4;font-size:.62rem;letter-spacing:.17em}.station-label{position:absolute;z-index:2;left:27px;bottom:25px;color:#777f8c;font-size:.6rem;letter-spacing:.17em}.blank{display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(145deg,#29313e,#151b25);color:#8b95a2}.blank.alt{background:linear-gradient(145deg,#273631,#141d1a)}.blank-number{font-size:4rem;font-weight:200;letter-spacing:.08em;line-height:1}.blank small{margin-top:12px;letter-spacing:.18em;font-size:.58rem}.work-body{position:relative;display:flex;flex-direction:column;flex:1;padding:28px}.work-status{position:absolute;right:26px;top:24px;padding:4px 9px;background:#d7eadf;color:#2d5849;font-size:.68rem;font-weight:900}.muted-status{background:#ece8df;color:#777}.work-number{margin:0;color:var(--red);font-size:.68rem;font-weight:900;letter-spacing:.18em}.work-body h3{margin:12px 0 14px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:2rem;line-height:1.2}.work-summary{margin:0 0 20px;color:#50545c}.work-meta{display:grid;grid-template-columns:repeat(4,1fr);margin:0 0 18px;border-top:1px solid #d1ccc1;border-bottom:1px solid #d1ccc1}.work-meta div{padding:12px 8px}.work-meta div+div{border-left:1px solid #d1ccc1}.work-meta dt{font-size:.67rem;color:#777}.work-meta dd{margin:2px 0 0;font-weight:900}.work-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:22px}.work-tags span{padding:3px 8px;border:1px solid #bfb9ad;font-size:.7rem;color:#555}.work-body .button{margin-top:auto}.coming-soon .work-body h3{font-size:1.55rem}.coming-soon .work-summary{min-height:100px}
.howto-section{background:var(--night);color:#fff}.light-heading>p{color:#aab1bd}.steps{width:min(1160px,calc(100% - 32px));margin:auto;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}.steps li{padding:30px 26px}.steps li+li{border-left:1px solid rgba(255,255,255,.18)}.steps li>span{color:#d7c47f;font-weight:900;font-size:.75rem;letter-spacing:.12em}.steps h3{margin:16px 0 8px;font-size:1.1rem}.steps p{margin:0;color:#aeb5c0;font-size:.9rem}.howto-note{width:min(1160px,calc(100% - 32px));margin:32px auto 0;display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;color:#c8ced7;font-size:.82rem}.howto-note strong{color:#fff}.howto-note span:before{content:"◆";margin-right:8px;color:#9e3836;font-size:.6rem}
.values-section{background:#ded8ca}.values-inner{width:min(1080px,calc(100% - 32px));margin:auto}.values-inner>h2{max-width:760px}.value-grid{margin-top:50px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #b9b1a2;border-bottom:1px solid #b9b1a2}.value-grid article{padding:34px 30px}.value-grid article+article{border-left:1px solid #b9b1a2}.value-grid span{color:var(--red);font-size:.7rem;font-weight:900;letter-spacing:.16em}.value-grid h3{margin:14px 0 10px;font-size:1.25rem}.value-grid p{margin:0;color:#5d615f;font-size:.92rem}
.about-section{background:#ebe7dc}.about-card{width:min(1040px,calc(100% - 32px));margin:auto;display:grid;grid-template-columns:260px 1fr;gap:54px;align-items:center;padding:54px;border:1px solid #bcb4a4;background:#f8f4ea}.about-logo{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1;border:1px solid var(--line);background:var(--night);color:#fff}.about-logo span{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:3.15rem;letter-spacing:.16em}.about-logo small{margin-top:10px;color:#c7ac6a;font-size:.62rem;letter-spacing:.22em}.about-card>div:last-child>p:not(.section-kicker){max-width:650px;color:#535761}.credit-list{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:24px;padding-top:20px;border-top:1px solid #c8c1b4;font-size:.82rem;font-weight:700}.privacy-note{margin-top:18px!important;font-size:.78rem;color:#767971!important}.site-footer{padding:42px max(16px,calc((100% - 1160px)/2));background:#080c13;color:#aeb5c0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;font-size:.72rem}.footer-brand{display:flex;flex-direction:column}.footer-brand b{color:#fff;letter-spacing:.18em}.footer-brand span{font-size:.54rem;letter-spacing:.16em}.site-footer nav{display:flex;gap:19px;flex-wrap:wrap;justify-content:center}.site-footer a{text-decoration:none}.site-footer p{text-align:right}
@media(max-width:930px){.hero-inner{grid-template-columns:1fr .5fr;gap:40px}.works-grid{grid-template-columns:1fr 1fr}.featured{grid-column:1/-1}.steps{grid-template-columns:1fr 1fr}.steps li:nth-child(3){border-left:0;border-top:1px solid rgba(255,255,255,.18)}.steps li:nth-child(4){border-top:1px solid rgba(255,255,255,.18)}.section-heading{align-items:start;flex-direction:column}.value-grid{grid-template-columns:1fr}.value-grid article+article{border-left:0;border-top:1px solid #b9b1a2}.about-card{grid-template-columns:190px 1fr}.about-logo span{font-size:2.4rem}}
@media(max-width:700px){.header-inner{height:64px}.menu-button{display:block}.site-nav{position:absolute;display:none;top:64px;left:0;right:0;padding:18px 16px 24px;background:#0d121c;flex-direction:column;gap:14px;border-top:1px solid rgba(255,255,255,.15)}.site-nav.open{display:flex}.hero{min-height:680px}.hero-inner{padding:84px 0 96px;grid-template-columns:1fr}.hero h1{font-size:clamp(3.05rem,16vw,5rem)}.hero-copy br{display:none}.hero-actions{flex-direction:column;align-items:stretch}.hero-archive{display:none}.section{padding:76px 0}.works-grid{grid-template-columns:1fr}.featured{grid-column:auto}.featured .work-visual{min-height:290px}.work-meta{grid-template-columns:1fr 1fr}.work-meta div:nth-child(3){border-left:0;border-top:1px solid #d1ccc1}.work-meta div:nth-child(4){border-top:1px solid #d1ccc1}.steps{grid-template-columns:1fr}.steps li+li,.steps li:nth-child(3),.steps li:nth-child(4){border-left:0;border-top:1px solid rgba(255,255,255,.18)}.howto-note{align-items:flex-start;flex-direction:column}.about-card{grid-template-columns:1fr;padding:28px}.about-logo{width:150px}.site-footer{grid-template-columns:1fr;text-align:center}.footer-brand{align-items:center}.site-footer p{text-align:center}.section-heading h2,.about-card h2,.values-inner>h2{font-size:2.55rem}.time-code b{font-size:3rem}.station-label{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* =========================================================
   YOINE LIBRARY THEME
   総合サイト用：明るすぎない夜の図書館
   ========================================================= */
:root{
  --night:#18322d;
  --night-2:#213c35;
  --night-3:#2b473f;
  --ink:#27231d;
  --paper:#e9e0cf;
  --paper-2:#dbcfbb;
  --white:#fffaf0;
  --red:#8f3f3d;
  --red-bright:#c66a5d;
  --sage:#456d61;
  --gold:#b99a59;
  --gold-light:#dcc68d;
  --wood:#5a4030;
  --wood-dark:#2d211b;
  --line:#433c31;
  --muted:#6d675d;
  --shadow:0 24px 65px rgba(49,35,25,.18);
}
body{
  background:
    radial-gradient(circle at 12% 0%,rgba(255,255,255,.42),transparent 28%),
    linear-gradient(180deg,#ede5d6 0%,#e5dac6 100%);
}
.site-header{background:rgba(24,50,45,.95);border-bottom-color:rgba(220,198,141,.22)}
.brand-mark{border-color:rgba(220,198,141,.78)}
.brand-text small{color:#c5c2b4}
.menu-button{border-color:rgba(220,198,141,.5)}
.site-nav a{color:#e8e3d6}
.hero{
  min-height:700px;
  background:
    linear-gradient(90deg,rgba(13,31,28,.92) 0%,rgba(24,50,45,.9) 52%,rgba(63,46,35,.84) 100%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 74px),
    linear-gradient(180deg,#1c3731,#2b342d);
}
.library-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 72% 38%,rgba(224,190,112,.2),transparent 28%),radial-gradient(circle at 8% 82%,rgba(119,158,139,.13),transparent 35%)}
.hero:before{width:640px;height:640px;right:-180px;top:-160px;background:radial-gradient(circle,rgba(196,160,81,.18),transparent 67%)}
.hero:after{content:"";position:absolute;inset:0;opacity:.11;pointer-events:none;background-image:radial-gradient(rgba(255,246,220,.8) .55px,transparent .7px);background-size:8px 8px;mix-blend-mode:screen}
.eyebrow,.section-kicker{color:#8d7040}
.hero .eyebrow{color:var(--gold-light)}
.hero h1 span{color:#e0c88a}
.hero-copy{color:#d6d5cb}
.button.primary{background:var(--sage);border-color:#6f9488;color:#fff;box-shadow:0 10px 24px rgba(8,25,21,.18)}
.button.primary:hover{background:#547d71}
.button.ghost{border-color:rgba(225,205,150,.5);color:#f7f0de}
.button.ghost:hover{background:rgba(225,205,150,.09)}
.hero-library{position:relative;min-height:500px;display:grid;place-items:center}
.library-cabinet{position:relative;width:min(100%,390px);height:520px;padding:68px 31px 35px;border:12px solid #3b2a21;border-top-width:18px;background:linear-gradient(90deg,#4c3427 0%,#6a4a36 12%,#543a2c 50%,#74523b 88%,#463126 100%);box-shadow:0 32px 70px rgba(0,0,0,.37),inset 0 0 0 2px rgba(222,185,111,.28);transform:rotate(1.2deg)}
.library-cabinet:before{content:"";position:absolute;left:-22px;right:-22px;top:-30px;height:20px;border:2px solid #2b1e18;background:linear-gradient(#76533d,#493326);box-shadow:0 5px 0 #2d211b}
.library-cabinet:after{content:"";position:absolute;left:-18px;right:-18px;bottom:-24px;height:19px;border:2px solid #2b1e18;background:linear-gradient(#6d4b36,#3e2b22);box-shadow:0 7px 18px rgba(0,0,0,.3)}
.cabinet-label{position:absolute;top:20px;left:50%;transform:translateX(-50%);white-space:nowrap;color:#e1c987;border:1px solid rgba(225,201,135,.55);background:rgba(32,24,20,.46);padding:6px 12px;font-size:.59rem;font-weight:900;letter-spacing:.18em}
.library-shelf{position:relative;height:112px;display:flex;align-items:flex-end;justify-content:center;gap:5px;padding:0 8px 15px;margin-bottom:15px;border-bottom:12px solid #34241d;box-shadow:0 7px 0 rgba(20,13,10,.38)}
.library-shelf i{display:block;width:23px;height:72px;border:1px solid rgba(238,215,162,.23);border-radius:2px 2px 0 0;background:linear-gradient(90deg,rgba(255,255,255,.08),transparent 28%),#365b52;box-shadow:inset -4px 0 rgba(0,0,0,.14)}
.library-shelf i:nth-child(2n){height:89px;background-color:#765241}
.library-shelf i:nth-child(3n){width:17px;height:64px;background-color:#8b7446}
.library-shelf i:nth-child(4n){height:96px;background-color:#3c4b64}
.library-shelf i:nth-child(5n){width:28px;height:79px;background-color:#6b3f3c}
.shelf-two i:nth-child(2){transform:rotate(-7deg);transform-origin:bottom}.shelf-two i:nth-child(3){transform:rotate(4deg);transform-origin:bottom}.shelf-three i:nth-child(6){transform:rotate(8deg);transform-origin:bottom}
.library-lamp{position:absolute;right:28px;bottom:55px;width:67px;height:67px;border-radius:50%;background:radial-gradient(circle,#fff4bd 0%,#e5bd62 34%,rgba(209,154,63,.25) 66%,transparent 68%);filter:drop-shadow(0 0 20px rgba(232,190,91,.55))}
.library-lamp:before{content:"";position:absolute;left:29px;top:54px;width:8px;height:54px;background:#8f7138;transform:rotate(22deg);transform-origin:top}
.library-lamp:after{content:"";position:absolute;left:7px;top:105px;width:64px;height:9px;border-radius:50%;background:#6c512d}
.library-caption{position:absolute;left:32px;bottom:25px;margin:0;color:#efe4c9}.library-caption b{display:block;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:1.05rem}.library-caption span{display:block;margin-top:3px;color:#c4b798;font-size:.5rem;letter-spacing:.15em}
.scroll-note{color:#b8ae97}
.works-section{position:relative;background:linear-gradient(180deg,#eee7d9,#e5dac6)}
.works-section:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.18;background-image:linear-gradient(90deg,rgba(93,74,51,.08) 1px,transparent 1px);background-size:84px 100%}
.work-card{border-color:#b7a88f;background:#fffaf0;box-shadow:0 20px 55px rgba(72,52,34,.14)}
.work-body h3{color:#322a21}.work-number{color:#7d6040}.work-tags span{border-color:#b8aa91;background:#f4ecdc}.work-status{background:#d6e4d9;color:#315b4e}
.blank{background:linear-gradient(145deg,#49665d,#243b35)}.blank.alt{background:linear-gradient(145deg,#725842,#382d24)}
.howto-section{position:relative;background:linear-gradient(120deg,#18322d,#263f37);overflow:hidden}
.howto-section:after{content:"";position:absolute;right:-80px;bottom:-170px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(202,169,91,.12),transparent 68%)}
.steps,.howto-note,.light-heading{position:relative;z-index:1}
.steps li>span{color:#d9bd78}.howto-note span:before{color:#c7a65b}
.values-section{background:linear-gradient(180deg,#d9ccb5,#d2c3aa)}
.value-grid{border-color:#aa997d}.value-grid article+article{border-color:#aa997d}.value-grid span{color:#7a5b34}
.about-section{position:relative;background:linear-gradient(180deg,#e4dac7,#cfc0a7);overflow:hidden}
.about-section:before{content:"";position:absolute;inset:0;opacity:.28;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 98px,rgba(94,69,43,.07) 98px 100px)}
.about-card{position:relative;z-index:1;grid-template-columns:310px 1fr;gap:60px;padding:48px;border-color:#9e8c70;background:rgba(255,250,240,.92);box-shadow:0 28px 70px rgba(69,47,28,.16)}
.about-mascot{position:relative;min-height:430px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;border:1px solid #6b5a42;background:radial-gradient(circle at 50% 38%,rgba(245,217,146,.28),transparent 37%),linear-gradient(180deg,#29473f,#182f2a 76%)}
.about-mascot:before{content:"";position:absolute;left:0;right:0;bottom:0;height:62px;background:linear-gradient(#684b35,#3d2b22);box-shadow:0 -8px 24px rgba(0,0,0,.25),inset 0 4px rgba(235,205,133,.16)}
.about-mascot:after{content:"";position:absolute;inset:18px;border:1px solid rgba(222,198,137,.22);pointer-events:none}
.about-mascot img{position:relative;z-index:2;width:auto;height:360px;max-width:86%;object-fit:contain;filter:drop-shadow(0 18px 19px rgba(0,0,0,.35));animation:mascotFloat 5.2s ease-in-out infinite}
.mascot-light{position:absolute;z-index:1;top:48px;left:50%;width:180px;height:180px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(246,213,129,.32),transparent 69%);filter:blur(3px)}
.about-mascot p{position:absolute;z-index:3;left:18px;right:18px;bottom:15px;margin:0;color:#f6ebd0;text-align:center;text-shadow:0 2px 6px rgba(0,0,0,.5)}
.about-mascot p b{display:block;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:1.32rem;letter-spacing:.16em}.about-mascot p small{display:block;margin-top:3px;color:#d8bd7a;font-size:.53rem;letter-spacing:.2em}
@keyframes mascotFloat{0%,100%{transform:translateY(0) rotate(-.4deg)}50%{transform:translateY(-8px) rotate(.4deg)}}
.credit-list{border-color:#b8a98e}.privacy-note{color:#71695d!important}
.site-footer{background:#11231f;color:#c3c1b7;border-top:1px solid rgba(218,190,122,.18)}

@media(max-width:930px){
  .hero-inner{grid-template-columns:1fr .56fr}
  .library-cabinet{height:455px;padding-top:62px}.library-shelf{height:94px}.library-shelf i{height:58px}.library-shelf i:nth-child(2n){height:72px}.library-shelf i:nth-child(4n){height:78px}
  .about-card{grid-template-columns:240px 1fr;gap:40px}.about-mascot{min-height:360px}.about-mascot img{height:305px}
}
@media(max-width:700px){
  .site-nav{background:#18322d}
  .hero{min-height:650px;background:linear-gradient(145deg,#18322d,#3d3027)}
  .hero-library{display:none}
  .works-section:before{display:none}
  .about-card{grid-template-columns:1fr;gap:26px;padding:24px}
  .about-mascot{width:min(100%,310px);min-height:355px;margin:auto}.about-mascot img{height:300px}
}
@media(prefers-reduced-motion:reduce){.about-mascot img{animation:none!important}}

/* =========================================================
   MOBILE HERO ONLY
   スマホのファーストビューだけをコンパクトに調整
   ========================================================= */
@media(max-width:700px){
  .hero{
    min-height:auto;
    align-items:center;
  }
  .hero-inner{
    width:min(100% - 36px,1160px);
    padding:48px 0 54px;
  }
  .hero-copy-block{
    max-width:38rem;
    margin:0 auto;
    text-align:center;
  }
  .hero .eyebrow{
    margin:0 auto 16px;
    font-size:.66rem;
    line-height:1.4;
    letter-spacing:.18em;
    text-align:center;
  }
  .hero h1{
    max-width:none;
    margin:0 auto;
    font-size:clamp(2.45rem,10.6vw,3rem);
    line-height:1.08;
    letter-spacing:-.045em;
    white-space:nowrap;
    text-align:center;
  }
  .hero-copy{
    max-width:31rem;
    margin:24px auto 0;
    font-size:.98rem;
    line-height:1.85;
    text-align:center;
  }
  .hero-actions{
    justify-content:center;
    margin-top:28px;
    gap:11px;
  }
  .hero-actions .button{
    width:min(100%,340px);
    min-height:54px;
    padding:12px 18px;
    justify-content:center;
    text-align:center;
  }
  .scroll-note{
    display:none;
  }
}

@media(max-width:360px){
  .hero-inner{
    width:min(100% - 28px,1160px);
    padding-top:36px;
  }
  .hero h1{
    font-size:2.3rem;
  }
  .hero-copy{
    font-size:.94rem;
  }
}
