﻿/* 偲スタジオ ローカル統合基盤：静かな未来書庫。紙・継線・収蔵ラベルを全ページで共有する。 */
:root{--ink:#17221f;--paper:#f5f0e7;--mist:#e7dfd2;--warm:#b54a35;--gold:#c79d52;--sage:#658173;--line:rgba(23,34,31,.17);--max:1240px;--display:"Yu Mincho","Hiragino Mincho ProN",serif;--body:"Yu Gothic UI","Hiragino Kaku Gothic ProN",sans-serif;--mono:Consolas,"Courier New",monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);line-height:1.8;background-image:linear-gradient(90deg,rgba(23,34,31,.025) 1px,transparent 1px),linear-gradient(rgba(23,34,31,.018) 1px,transparent 1px);background-size:54px 54px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{position:relative;overflow:hidden}.shell:before{content:"";position:absolute;left:5.3vw;top:0;bottom:0;width:1px;background:linear-gradient(var(--gold),rgba(181,74,53,.45) 45%,var(--sage));pointer-events:none}.site-header{height:78px;padding:0 max(5.6vw,24px);display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);background:rgba(245,240,231,.94);backdrop-filter:blur(12px);position:sticky;top:0;z-index:20}.brand{display:flex;gap:11px;align-items:center;white-space:nowrap}.brand-symbol{width:35px;height:35px;display:grid;place-items:center;border:1px solid var(--warm);color:var(--warm);font:600 23px var(--display);border-radius:50%;line-height:1}.brand b{display:block;font:600 17px var(--display);letter-spacing:.12em}.brand small{display:block;font:8px var(--mono);letter-spacing:.15em;color:#667168}.site-nav{display:flex;align-items:center;gap:21px;font-size:12px;letter-spacing:.05em}.site-nav a{padding:8px 0;border-bottom:1px solid transparent}.site-nav a:hover,.site-nav a[aria-current="page"]{color:var(--warm);border-color:var(--warm)}.switcher{position:relative}.switcher select{appearance:none;border:1px solid var(--ink);background:transparent;color:var(--ink);padding:8px 31px 8px 11px;font-size:11px;letter-spacing:.04em}.switcher:after{content:"⌄";position:absolute;right:10px;top:4px;pointer-events:none}.hero{min-height:650px;padding:clamp(64px,9vw,140px) max(9vw,50px) 80px;display:grid;grid-template-columns:1fr minmax(300px,.8fr);gap:9vw;align-items:center;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:52vw;aspect-ratio:1;right:-23vw;top:-23vw;border:1px solid rgba(199,157,82,.26);border-radius:50%;box-shadow:0 0 0 55px rgba(199,157,82,.035),0 0 0 110px rgba(199,157,82,.02)}.eyebrow{margin:0 0 16px;color:var(--warm);font:10px var(--mono);letter-spacing:.18em}.hero h1,.section-title,.manifesto h2,.closing h2{font-family:var(--display);font-weight:600;letter-spacing:-.05em;line-height:1.27}.hero h1{margin:0;font-size:clamp(42px,5.8vw,83px)}.hero h1 em{color:var(--gold);font-style:normal}.hero p:not(.eyebrow){max-width:590px;margin:27px 0 0;color:#4f5b53;font-size:15px}.hero-copy{position:relative;z-index:1}.hero-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:35px}.button{display:inline-flex;align-items:center;gap:13px;padding:13px 18px;border:1px solid var(--ink);font-size:12px;letter-spacing:.08em;transition:transform .18s,background .18s,color .18s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--warm);border-color:var(--warm);color:#fffaf0}.button-ghost{background:rgba(255,255,255,.16)}.hero-asset{position:relative;z-index:1;min-height:390px;margin-right:-2vw;overflow:hidden;background:var(--ink)}.hero-asset img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:saturate(.73) contrast(1.04)}.hero-asset:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(23,34,31,.46),transparent 55%)}.asset-tag{position:absolute;z-index:1;right:0;bottom:0;padding:10px 13px;background:var(--paper);font:9px var(--mono);letter-spacing:.12em}.asset-tag b{color:var(--warm)}.archive-number{position:absolute;z-index:1;left:-32px;bottom:-21px;color:rgba(199,157,82,.25);font:180px/1 var(--display)}.page-intro{padding:105px max(9vw,40px) 65px;max-width:1050px}.page-intro h1{max-width:800px;margin:0;font:600 clamp(42px,5.5vw,75px)/1.25 var(--display);letter-spacing:-.05em}.page-intro p{max-width:660px;margin:24px 0 0;color:#576159}.ledger-grid{max-width:var(--max);margin:0 auto;padding:0 max(7vw,30px) 110px;display:grid;grid-template-columns:225px 1fr;gap:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.ledger-tabs{border-right:1px solid var(--line);padding:17px 0}.ledger-tabs a{display:grid;grid-template-columns:34px 1fr;gap:6px;padding:18px 15px 18px 20px;font-size:12px}.ledger-tabs a strong{font-family:var(--display);font-size:18px;letter-spacing:.08em}.ledger-tabs a span{color:var(--warm);font:10px var(--mono)}.ledger-tabs a:hover{background:var(--mist)}.ledger-panel{padding:45px 48px 39px 75px;position:relative}.ledger-label{position:absolute;left:20px;top:38px;bottom:37px;padding-right:12px;border-right:1px solid var(--line);display:flex;align-items:center;flex-direction:column;gap:12px}.ledger-label span,.ledger-label i{font:8px var(--mono);writing-mode:vertical-rl;letter-spacing:.13em;font-style:normal;color:#6f776f}.ledger-label b{font:500 15px var(--mono);color:var(--warm)}.ledger-label i{margin-top:auto}.ledger-panel h2{margin:0;font:600 clamp(30px,3.6vw,52px)/1.35 var(--display);letter-spacing:-.04em}.ledger-panel>p{max-width:650px;color:#556158;font-size:14px}.service-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin-top:38px}.service-card{min-height:225px;padding:24px;background:var(--paper);display:flex;flex-direction:column}.service-card span{color:var(--warm);font:10px var(--mono)}.service-card h3{margin:30px 0 9px;font:600 24px var(--display);letter-spacing:.08em}.service-card p{margin:0;color:#5d675f;font-size:12px;line-height:1.8}.service-card a{margin-top:auto;padding-top:20px;color:var(--warm);font-size:11px}.manifesto{display:grid;grid-template-columns:.65fr 1.15fr .9fr;align-items:center;gap:5vw;padding:90px 10vw;background:var(--ink);color:#fffaf0}.manifesto-mark{font:clamp(120px,15vw,210px)/1 var(--display);color:var(--gold)}.manifesto h2{margin:0;font-size:clamp(34px,4vw,58px)}.manifesto p{margin:0;color:#d5ddd6;font-size:14px}.process{padding:115px max(8vw,35px)}.section-title{margin:0;font-size:clamp(34px,4.2vw,62px)}.section-sub{color:#5f6c63;max-width:650px;margin:18px 0 48px}.steps{display:grid;grid-template-columns:repeat(4,1fr);max-width:var(--max);margin:auto}.step{min-height:235px;padding:18px 25px 20px 0;border-top:1px solid var(--ink)}.step:not(:last-child){margin-right:22px}.step span{color:var(--warm);font:10px var(--mono)}.step h3{margin:50px 0 12px;font:600 23px var(--display);letter-spacing:.08em}.step p{margin:0;color:#5c675f;font-size:12px}.ethics{display:grid;grid-template-columns:1fr 1fr;background:var(--mist)}.ethics-art{min-height:490px;display:grid;place-items:center;position:relative;overflow:hidden}.ethics-art:before,.ethics-art:after{content:"";position:absolute;border:1px solid rgba(181,74,53,.34);border-radius:50%}.ethics-art:before{width:52%;aspect-ratio:1;left:17%;top:13%}.ethics-art:after{width:60%;aspect-ratio:1;right:7%;bottom:8%;border-color:rgba(101,129,115,.4)}.ethics-seal{z-index:1;width:130px;height:130px;border-radius:50%;display:grid;place-items:center;background:var(--paper);box-shadow:0 0 0 13px rgba(245,240,231,.4);font:600 72px var(--display);color:var(--warm)}.ethics-copy{padding:78px 9vw 74px 6vw}.ethics-copy h2{margin:0;font:600 clamp(34px,4vw,57px)/1.33 var(--display);letter-spacing:-.04em}.ethics-copy p{color:#526058;font-size:14px}.ethics-copy ul{padding:22px 0;margin:24px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);list-style:none}.ethics-copy li{margin:8px 0;font-size:12px}.ethics-copy li:before{content:"✓";color:var(--warm);margin-right:9px}.closing{margin:100px 5vw;padding:105px 7vw;text-align:center;border:1px solid var(--line);position:relative}.closing h2{margin:0;font-size:clamp(39px,4.6vw,68px)}.closing h2 em{font-style:normal;color:var(--warm)}.closing p{color:#58635b;font-size:14px}.site-footer{padding:42px max(6vw,25px);display:grid;grid-template-columns:.8fr 1.4fr .8fr;gap:30px;background:var(--ink);color:#d9dfd8}.site-footer p{margin:0;font-size:10px;line-height:1.9}.site-footer a{font-size:11px;display:block;margin-bottom:7px}.site-footer small{color:#89958c;font:9px var(--mono)}.local-notice{max-width:var(--max);margin:0 auto;padding:14px max(7vw,30px);color:#667068;font-size:10px}.business-hero{min-height:490px;padding:85px max(10vw,42px) 72px;background:var(--ink);color:#fffaf0;position:relative;overflow:hidden}.business-hero:after{content:"";position:absolute;width:44vw;aspect-ratio:1;border:1px solid rgba(199,157,82,.25);border-radius:50%;right:-12vw;top:-23vw}.business-hero>*{position:relative;z-index:1}.business-hero .eyebrow{color:var(--gold)}.business-hero h1{max-width:850px;margin:0;font:600 clamp(44px,5.8vw,80px)/1.2 var(--display);letter-spacing:-.05em}.business-hero p:not(.eyebrow){max-width:650px;color:#d7dfd8;margin-top:22px;font-size:15px}.business-meta{display:flex;gap:28px;margin-top:38px;font-size:11px}.business-meta b{display:block;color:var(--gold);font:9px var(--mono);letter-spacing:.13em}.business-content{max-width:1050px;margin:auto;padding:95px max(7vw,30px)}.split-feature{display:grid;grid-template-columns:.9fr 1.1fr;gap:75px;padding:42px 0 65px;border-top:1px solid var(--ink)}.split-feature h2{margin:0;font:600 clamp(31px,3.7vw,53px)/1.35 var(--display);letter-spacing:-.04em}.split-feature p{margin:0 0 16px;color:#566158}.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin:15px 0 80px}.offer{padding:26px;background:var(--paper);min-height:245px}.offer span{color:var(--warm);font:10px var(--mono)}.offer h3{margin:35px 0 13px;font:600 25px var(--display)}.offer p{color:#58635b;font-size:12px;margin:0}.offer strong{display:block;margin-top:17px;color:var(--warm);font:600 17px var(--display)}.checklist{padding:38px;background:#ebe4d7;border-left:3px solid var(--warm)}.checklist h3{margin:0 0 16px;font:600 25px var(--display)}.checklist ul{padding:0;margin:0;list-style:none;columns:2}.checklist li{font-size:12px;margin:7px 0}.checklist li:before{content:"□";color:var(--warm);margin-right:8px}.local-form{margin-top:70px;padding:38px;background:var(--ink);color:#fffaf0}.local-form h2{margin:0;font:600 32px var(--display)}.local-form p{color:#cfd8d0;font-size:12px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.form-grid input,.form-grid textarea{width:100%;padding:12px;border:1px solid rgba(255,250,240,.35);background:transparent;color:#fffaf0}.form-grid textarea{grid-column:1/-1;min-height:110px}.form-grid button{margin-top:7px;padding:12px 17px;border:0;background:var(--gold);color:var(--ink);font-weight:600}.form-status{font-size:11px;color:#dfc687}.theme-koe{--warm:#9c5539;--sage:#59746c}.theme-tsuzuri{--warm:#794d5e;--gold:#c29a66}.theme-uta{--warm:#b54a35;--gold:#c79d52}.theme-class{--warm:#31736b;--gold:#d0a95b}.class-tool{display:grid;grid-template-columns:220px 1fr 1fr;gap:15px;margin-top:45px}.class-rail{background:#e7ded0}.class-rail button{width:100%;display:block;text-align:left;padding:21px;border:0;border-bottom:1px solid var(--line);background:transparent}.class-rail button.active{background:var(--ink);color:var(--paper)}.class-rail small{display:block;color:var(--warm);font:9px var(--mono)}.timer-box,.prompt-box{min-height:310px;padding:30px;color:var(--paper);background:var(--ink)}.prompt-box{background:var(--warm)}.timer-box b,.prompt-box b{display:block;color:var(--gold);font:10px var(--mono);letter-spacing:.13em}.timer-value{margin:46px 0 6px;font:74px/1 var(--mono);letter-spacing:-.08em}.prompt-box blockquote{margin:42px 0;font:27px/1.75 var(--display)}.memory-box{grid-column:2/-1;padding:28px;background:#fbf8f1;border:1px solid var(--line)}.memory-box h3{margin:0;font:600 22px var(--display)}.memory-input{display:flex;gap:9px;margin:18px 0}.memory-input input{flex:1;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:10px 0}.memory-input button{width:42px;border:0;background:var(--ink);color:#fff}.memory-list{min-height:75px;color:#59645d;font-size:12px}.memory-list p{margin:4px 0}.memory-list span{color:var(--warm);font:9px var(--mono);margin-right:10px}.tool-actions{display:flex;gap:10px;margin-top:15px}.tool-actions button{padding:8px 11px;background:transparent;border:1px solid var(--ink);font-size:10px}@media(max-width:900px){.site-nav a{display:none}.site-nav a:last-child{display:block}.hero{grid-template-columns:1fr;padding:82px 10vw 60px}.hero-asset{min-height:300px;margin:0}.ledger-grid{grid-template-columns:1fr}.ledger-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-right:0;border-bottom:1px solid var(--line);padding:0}.ledger-tabs a{display:block;padding:15px 9px;text-align:center}.ledger-tabs a strong{display:block;font-size:15px}.ledger-panel{padding:37px 26px 30px 61px}.service-cards{grid-template-columns:repeat(2,1fr)}.manifesto{grid-template-columns:.4fr 1fr}.manifesto p{grid-column:1/-1}.steps{grid-template-columns:repeat(2,1fr);gap:22px}.ethics{grid-template-columns:1fr}.ethics-art{min-height:340px}.site-footer{grid-template-columns:1fr 1.4fr}.site-footer>div:last-child{grid-column:1/-1}.split-feature{grid-template-columns:1fr;gap:26px}.offer-grid{grid-template-columns:1fr}.class-tool{grid-template-columns:1fr 1fr}.class-rail{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr)}.class-rail button{padding:13px;font-size:11px}.memory-box{grid-column:1/-1}}@media(max-width:560px){.site-header{height:70px}.brand b{font-size:14px}.switcher select{max-width:155px}.hero{padding:67px 8vw 50px}.hero h1,.business-hero h1{font-size:44px}.service-cards,.steps,.form-grid{grid-template-columns:1fr}.manifesto{display:block;padding:62px 9vw}.manifesto-mark{margin-bottom:24px}.manifesto h2{margin-bottom:22px}.process{padding:80px 8vw}.ethics-copy{padding:58px 9vw}.checklist ul{columns:1}.class-tool{grid-template-columns:1fr}.class-rail{overflow:auto}.class-rail button{min-width:95px}.timer-value{font-size:62px}.site-footer{grid-template-columns:1fr}.site-footer>div:last-child{grid-column:1/-1}}
