/* CAPXLE black — base tokens and patterns from the original black cover (墨黒 #101114 / white / blue #6080ff) */
:root{--bg:#101114;--ink:#fff;--paper:#101114;--accent:#6080ff;--muted:#aaadb6;--line:#3a3c43;--raise:#17191e;--serif:"Noto Serif CJK JP","Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,"Noto Sans CJK JP","Hiragino Sans","Yu Gothic",sans-serif;line-height:1.8}
a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}
a.logo:hover,a.logo:focus,a.logo:focus-visible{text-decoration:none}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
h1,h2,h3,p,figure,blockquote{margin:0}h1,h2,h3{font-weight:400;font-family:var(--serif)}p{margin:1em 0}
img{max-width:100%}
.skip{position:absolute;left:15px;top:-100px;z-index:5;background:var(--accent);color:#fff;padding:10px}.skip:focus{top:12px}
.wrap{width:min(1600px,100% - 8vw);margin:auto}
.eyebrow{font-size:15px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.header{background:var(--bg);border-bottom:1px solid var(--line)}
.nav{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:20px 0 16px}
.logo{font-family:"Times New Roman",Times,serif;font-weight:700;font-size:52px;line-height:.85;letter-spacing:-.06em;white-space:nowrap;flex-shrink:0;padding:5px 0 7px}
.logo span{display:none}
.navlinks{display:flex;gap:27px;align-items:center;font-size:15px}
.navlinks a:hover,.textlink:hover,.link:hover{color:var(--accent)}
.navlinks a[aria-current=page]{color:var(--accent)}
.mast{background:var(--bg)}
.mast .nav{padding:21px 0 17px}.mast .logo{font-size:clamp(72px,10.8vw,164px);padding:0;line-height:.82}
.mast .navlinks{align-self:flex-end;margin-bottom:6px}
.issue-bar{display:flex;justify-content:space-between;padding:17px 0;font:15px Arial,sans-serif;letter-spacing:.18em;border-bottom:1px solid var(--line);border-top:1px solid var(--line)}.issue-bar .blue{color:var(--accent)}
.cover-hero{position:relative;min-height:440px;isolation:isolate;overflow:hidden;border-bottom:1px solid var(--line)}
.cover-intro{padding:84px 4vw 96px;min-height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;max-width:1600px;margin:auto}
.cover-intro .eyebrow{margin-bottom:30px;letter-spacing:.23em}
.cover-intro h1{font-size:clamp(40px,5.2vw,80px);line-height:1.45;letter-spacing:.04em;margin-bottom:24px;max-width:15em}
.cover-intro h1 span{display:block}
.deck{font-size:17px;line-height:2.1;color:#e2e3e8;max-width:600px;margin:0 0 28px}
.link,.textlink{display:inline-flex;justify-content:space-between;gap:30px;border-bottom:1px solid var(--accent);font-size:16px;padding:10px 0;color:#fff}
.textlink{margin-top:12px;padding:8px 0}
.hero-bottom{position:absolute;bottom:20px;right:4vw;font-size:15px;letter-spacing:.1em;color:#fff}
.hero-actions{display:flex;gap:26px;flex-wrap:wrap}
.section{padding:72px 0;border-top:1px solid var(--line)}
.section-head{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin-bottom:46px}
.section-head h2{font-size:clamp(27px,3vw,43px);line-height:1.6;letter-spacing:.01em}
.section-head p{margin:15px 0 0;color:var(--muted);font-size:17px}
.project{display:grid;grid-template-columns:1fr 1.05fr;border-top:1px solid var(--line);padding:32px 0;gap:48px}.project:last-of-type{border-bottom:1px solid var(--line)}
.project-art{min-height:245px;padding:34px;position:relative;background:var(--raise);border:1px solid var(--line);overflow:hidden}
.project-art .glyph{position:absolute;right:30px;bottom:5px;font-family:Times,serif;font-size:170px;line-height:1;color:var(--accent);letter-spacing:-.12em;white-space:nowrap}
.project-art.generic .glyph{color:#3d4670}
.project-num{font-size:15px;letter-spacing:.14em;color:var(--muted)}
.project-content{padding:18px 0}
.status{font-size:15px;display:inline-block;border:1px solid var(--line);padding:3px 10px;margin-bottom:16px;color:var(--muted)}.status.active{background:var(--accent);border-color:var(--accent);color:#fff}
.project h3{font-size:26px;line-height:1.6;margin:0 0 16px}.project p{font-size:17px;color:var(--muted);max-width:440px}
.message-section{background:var(--raise);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.message-section .section-head{margin-bottom:0}
.message-quote{font-family:var(--serif);font-size:clamp(27px,3vw,44px);line-height:1.9;margin:20px 0 30px;border-left:2px solid var(--accent);padding-left:30px}
.signature{font-size:15px;margin:0 0 30px;color:#fff}
.company{display:grid;grid-template-columns:1fr 2fr;gap:40px}.company h2{font-size:32px}.company dl{margin:0}
.company dl div{display:grid;grid-template-columns:125px 1fr;gap:20px;padding:24px 0;border-top:1px solid var(--line);font-size:17px}.company dt{color:var(--muted)}.company dd{margin:0}
.company-detail{display:block}.company-link{grid-column:2;justify-self:start;margin-top:0}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;background:#fff;color:#101114;padding:16px 24px;font-size:16px;font-weight:600;min-height:54px;cursor:pointer;font-family:inherit;border:1px solid #fff}
.button:hover{text-decoration:none;background:var(--accent);border-color:var(--accent);color:#fff}
.button.light{background:var(--accent);border-color:var(--accent);color:#fff}.button.light:hover{background:#fff;color:#101114;border-color:#fff}
.button.outline{background:transparent;color:#fff;border:1px solid #fff}.button.outline:hover{background:#fff;color:#101114}
.button[disabled]{opacity:.45;cursor:not-allowed}
.btnrow,.btns{display:flex;gap:14px;flex-wrap:wrap}.btns{margin:26px 0}
.footer{border-top:1px solid var(--line);padding:40px 0 35px;margin-top:20px;background:var(--bg)}
.footer .logo{font-size:52px}
.footer-row{display:flex;justify-content:space-between;align-items:flex-start;gap:30px}
.footer small{font-size:15px;color:var(--muted)}
.footlinks{display:flex;gap:22px;flex-wrap:wrap;font-size:15px;max-width:520px}.footer .footlinks.legal{margin-top:20px;color:var(--muted);max-width:none}
.footer-company{font-size:15px;color:var(--muted);margin-top:18px}.footer-company p{margin:3px 0}.tagline{font-size:15px;margin-top:8px;color:var(--muted)}
.legal-note{font-size:15px;color:var(--muted);line-height:1.9;margin:20px 0 10px;max-width:760px}
.article{max-width:790px;margin:auto;padding:65px 0 100px}.article.wide{max-width:1000px}
.breadcrumb{font-size:15px;color:var(--muted);margin-bottom:50px}
.article h1{font-size:clamp(32px,4vw,52px);line-height:1.55;letter-spacing:.03em;margin:14px 0 55px}
.article h2{font-size:24px;margin:48px 0 14px;line-height:1.7}
.article p{font-size:17px;line-height:2.05}
.article .lead,.prose p.lead{font-family:var(--serif);font-size:clamp(20px,2.6vw,28px);line-height:1.9;padding-bottom:32px;border-bottom:1px solid var(--line)}
.prose p{line-height:2.1;font-size:18px;margin:28px 0;overflow-wrap:anywhere}.prose .sig{text-align:right;font-size:17px}
.article .note,p.note,.review-note{font-size:15px;color:var(--muted)}.review-note{margin-top:20px}
.article-bottom{border-top:1px solid var(--line);padding-top:40px;margin-top:60px}
.intro-rule{border-top:1px solid var(--line);padding-top:25px;margin:25px 0}
.join-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}
.join-card{border-top:1px solid var(--accent);padding-top:22px}.join-card h3{font-size:21px}.join-card p{font-size:17px;color:var(--muted)}.join-card .button{margin-top:10px;width:100%}.join-card .note{margin-top:10px}
.aside-note{background:var(--raise);border-left:2px solid var(--accent);padding:22px;margin:30px 0;font-size:16px}.aside-note.strong{border:1px solid var(--accent);font-size:17px;font-weight:600}
.ul,a.ul{text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}
ul.plain{padding-left:1.2em;font-size:17px;line-height:2}
.kv{width:100%;border-collapse:collapse;font-size:17px;margin:20px 0}.kv th,.kv td{text-align:left;vertical-align:top;padding:16px 8px;border-top:1px solid var(--line);font-weight:400}.kv th{width:9em;color:var(--muted)}.kv td.d{width:9em;color:var(--muted)}.kv tr:last-child th,.kv tr:last-child td{border-bottom:1px solid var(--line)}
.tbl-wrap{overflow-x:auto;max-width:100%}.cmp{border-collapse:collapse;font-size:16px;min-width:520px;width:100%}.cmp th,.cmp td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top;line-height:1.7}.cmp th{background:var(--raise);font-weight:600}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;margin:34px 0 20px}
.card{display:block;border-top:1px solid var(--accent);padding:22px 0 10px}.card:hover{text-decoration:none}.card:hover h3{text-decoration:underline;text-underline-offset:6px}.card h3{font-size:21px;margin:6px 0}.card p{font-size:16px;color:var(--muted);line-height:1.9;margin:6px 0}
.num{display:inline-block;font:22px Times,serif;letter-spacing:.05em;margin-right:10px;color:var(--accent)}.name{font-size:15px;font-weight:600}
.sub{margin-top:64px}.sub h2{margin-top:10px}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:20px;margin:20px 0}.tile{border-top:1px solid var(--line);padding-top:14px}.tile .n{font:48px/1.3 Times,serif;color:var(--accent)}.tile p{margin:4px 0;font-size:16px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
form>div{margin:0 0 22px}label{display:block;font-size:16px;font-weight:600;margin-bottom:6px}
.req{font-size:15px;font-weight:600;background:var(--accent);color:#fff;padding:1px 7px;margin-left:8px;letter-spacing:.05em}.req.opt{background:transparent;border:1px solid var(--line);color:var(--muted)}
input[type=text],input[type=email],textarea{width:100%;font:inherit;font-size:16px;padding:12px 14px;border:1px solid var(--line);background:var(--raise);color:#fff;border-radius:0}
input:focus,textarea:focus{border-color:var(--accent)}
.chk{display:flex;gap:10px;align-items:flex-start;font-weight:400}.chk input{margin-top:7px}.hint{font-size:15px;color:var(--muted)}
.filters{display:flex;gap:10px;margin:28px 0 14px;flex-wrap:wrap}
.filters button{font:inherit;font-size:16px;padding:8px 18px;border:1px solid var(--line);background:transparent;color:#fff;cursor:pointer;min-height:44px}.filters button[aria-pressed=true]{background:var(--accent);border-color:var(--accent)}
.news-list a{display:grid;grid-template-columns:110px 90px 1fr 24px;gap:16px;align-items:center;padding:20px 0;border-top:1px solid var(--line)}.news-list a:last-child{border-bottom:1px solid var(--line)}.news-list a[hidden]{display:none}.news-list a:hover{text-decoration:none}.news-list a:hover h3{color:var(--accent)}
.news-list h3{font-size:18px;margin:0;line-height:1.7}.news-list .d{font-size:16px;color:var(--muted)}.news-list .kind{font-size:15px;border:1px solid var(--line);padding:2px 8px;text-align:center;color:var(--muted)}.news-list .arr{color:var(--accent)}
.article.press h1{font-size:clamp(26px,3.4vw,40px)}
.press figure{margin:30px 0;text-align:center}.press figure img{max-width:100%;height:auto}.press figure.main img{max-width:78%}.press figure.gohan img{max-width:62%}.press figcaption{font-size:15px;color:var(--muted)}
#press-body p,#press-body li{font-size:18px;line-height:1.9}#press-body h2{border-top:1px solid var(--line);padding-top:30px}
.error-page{min-height:58vh}.error-page h1 span{display:inline-block;white-space:nowrap}.error-links{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
@media(max-width:800px){
.wrap{width:calc(100% - 12vw)}
.nav{flex-direction:column;align-items:flex-start;gap:12px;padding:20px 0 14px}.logo{font-size:44px}
.navlinks{gap:16px;flex-wrap:wrap;font-size:15px;max-width:none;justify-content:flex-start}
.mast .logo{font-size:clamp(68px,18vw,130px)}.mast .navlinks{align-self:flex-start;margin:0;width:100%;justify-content:space-between;gap:10px}
.issue-bar{font-size:15px;letter-spacing:.04em;gap:4px;flex-direction:column}
.cover-hero{min-height:0;display:flex;flex-direction:column}
.cover-intro{padding:40px 6vw 48px;justify-content:flex-start}
.cover-intro .eyebrow{margin-bottom:14px}.cover-intro h1{font-size:clamp(32px,9.4vw,52px);line-height:1.5;margin-bottom:14px}
.deck{font-size:16px;margin-bottom:20px}.hero-bottom{display:none}
.section{padding:44px 0}.section-head,.company{grid-template-columns:1fr;gap:20px}.section-head{margin-bottom:28px}.section-head h2{font-size:27px}
.project{grid-template-columns:1fr;gap:6px;padding:25px 0}.project-art{min-height:190px;padding:25px}.project-art .glyph{font-size:105px;right:24px;bottom:20px}.project h3{font-size:24px}.project-content{padding:20px 0}
.message-quote{font-size:24px;padding-left:18px}
.company dl div{grid-template-columns:85px 1fr;gap:15px;font-size:15px}.company-link{grid-column:1}.company-detail dl div{font-size:17px;grid-template-columns:90px 1fr}
.footer-row{flex-direction:column;gap:20px}.footlinks{gap:16px}
.article{padding:35px 0 65px}.breadcrumb{margin-bottom:35px}.article h1{font-size:30px;margin-bottom:35px}.prose p{font-size:17px}.article .lead{font-size:20px}.error-page h1{font-size:clamp(29px,8.5vw,32px)}
.join-grid{grid-template-columns:1fr}
.news-list a{grid-template-columns:1fr auto;gap:6px 12px}.news-list .d{grid-column:1}.news-list .kind{grid-column:2;grid-row:1}.news-list h3{grid-column:1/-1}.news-list .arr{display:none}
.kv th,.kv td.d{width:6.5em}.kv th,.kv td{padding:12px 4px}
.btnrow .button,.btns .button{width:100%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* projects pages (2026-11-10 19:5x) */
.pj-lead{font-size:16px;line-height:1.9;color:#e2e3e8;max-width:40em;margin:0 0 8px}
.pj-list{display:grid;gap:28px;margin:40px 0 20px}
.pj-card{border:1px solid var(--line);background:var(--raise);padding:30px 28px 28px;border-top:2px solid var(--accent)}
.pj-card .st{margin-bottom:14px}
.article .pj-title{font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.45;letter-spacing:.02em;margin:0 0 14px}
.pj-title a:hover{text-decoration:none;color:var(--accent)}
.pj-card .pj-desc{font-size:16px;line-height:1.9;color:#e2e3e8;margin:0 0 20px;max-width:34em}
.pj-meta{font-size:15px;color:var(--muted);margin:0 0 22px}
.pj-links{display:flex;gap:14px;flex-wrap:wrap}
.pj-links .button{min-height:50px;font-size:15px}
.pj-hero{padding:8px 0 36px;border-bottom:1px solid var(--line)}
.article .pj-hero .pj-title{font-size:30px;margin:6px 0 16px}
.pj-hero .pj-desc{font-size:17px;line-height:1.9;color:#e2e3e8;max-width:36em;margin:0 0 8px}
.pj-hero .btns{margin:24px 0 0}
.pj-hero .button{font-size:16px;min-height:56px}
.pj-sec{margin-top:56px}
.pj-sec .eyebrow{margin-bottom:6px}
.pj-sec h2{font-size:26px;line-height:1.6;margin:0 0 16px}
.pj-sec p,.pj-sec li{font-size:16px;line-height:1.95}
.pj-sec ul{padding-left:1.2em;margin:12px 0}
.pj-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:22px 0;padding:0;list-style:none}
.pj-steps li{border-top:1px solid var(--accent);padding-top:14px}
.pj-steps b{display:block;font-family:var(--serif);font-weight:400;font-size:19px;margin-bottom:6px}
.pj-steps span{font-size:15px;color:var(--muted);line-height:1.85;display:block}
.pj-status{width:100%;border-collapse:collapse;margin:16px 0}
.pj-status th,.pj-status td{text-align:left;vertical-align:top;padding:14px 8px;border-top:1px solid var(--line);font-weight:400;font-size:15px;line-height:1.7}
.pj-status tr:last-child th,.pj-status tr:last-child td{border-bottom:1px solid var(--line)}
.pj-status th{width:13em;color:var(--muted)}
.pj-ways{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pj-ways .join-card h3{font-size:21px;margin-bottom:6px}
.pj-ways .join-card p{font-size:15px}
@media(min-width:900px){.pj-card{padding:44px 48px 40px}.article .pj-title{font-size:32px}.article .pj-hero .pj-title{font-size:36px}.pj-card .pj-desc{font-size:17px}}
@media(max-width:760px){.pj-steps,.pj-ways{grid-template-columns:1fr}.pj-status th{width:auto;display:block;padding-bottom:0;border-bottom:0}.pj-status td{display:block;border-top:0;padding-top:4px}.pj-status tr{display:block;border-top:1px solid var(--line)}.pj-status th,.pj-status td{border-top:0}.pj-status tr:last-child th,.pj-status tr:last-child td{border-bottom:0}}
.footer .footlinks{max-width:720px}
.nb{display:inline-block}
@media(max-width:760px){.pj-card{padding:24px 18px 22px}.article .pj-title{letter-spacing:0}}
small{font-size:15px}

/* 2026-11-10 夜 まさみ点検：本文 17px 以上・案内部品（最小 15px は変えない） */
.deck,.pj-lead,.pj-card .pj-desc,.pj-sec p,.pj-sec li,.card p,.cmp,.aside-note,.news-list .d,.tile p,label,.pj-ways .join-card p,.pj-steps span{font-size:17px}
input[type=text],input[type=email],textarea{font-size:17px}
.pj-status th,.pj-status td{font-size:17px}
@media(max-width:800px){.deck{font-size:17px}}
.logo-sw{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}
.logo-sw figure{margin:0;padding:28px 20px;text-align:center;border:1px solid var(--line)}
.logo-sw .on-white{background:#fff;color:#101114}.logo-sw .on-black{background:#000;color:#fff}
.logo-sw img{width:min(200px,100%);height:auto}.logo-sw figcaption{font-size:15px;margin-top:8px}
@media(max-width:560px){.logo-sw{grid-template-columns:1fr}}
.toc{border:1px solid var(--line);background:var(--raise);padding:18px 22px;margin:28px 0}.toc b{display:block;margin-bottom:6px}.toc ol{margin:0;padding-left:1.4em;font-size:17px;line-height:2}
.prose{max-width:38em}
.footer{padding-bottom:84px}
body .cfb-fab{min-height:40px!important;padding:.3em .9em!important;font-size:15px!important;right:10px!important;bottom:10px!important;box-shadow:none!important}
