/* Shared layout for sub pages (no motion) */
:root{--ink:#141414;--mute:#9a9a96;--line:#d9d9d4;--card:#f6f6f3;--bg:#cfd2d9;--accent:#2f3cff}
*{box-sizing:border-box;margin:0;padding:0}
html{touch-action:manipulation}
body{background:var(--bg);color:var(--ink);font-family:"Inter Tight","Noto Sans JP",sans-serif;font-size:15px;line-height:1.6}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.card{margin:28px;background:var(--card);padding:22px 24px 0;min-height:calc(100vh - 56px)}

/* header */
.top{display:grid;grid-template-columns:42% 1fr auto;align-items:start;gap:24px;padding-bottom:22px;border-bottom:1px solid var(--ink)}
.logo{width:92px}
.logo img{width:100%}
.subnav{display:flex;flex-wrap:wrap;gap:0 .28em;font-size:21px;font-weight:500;letter-spacing:-.03em;line-height:1.1}
.subnav a{color:#b3b3b0}
.subnav a::after{content:",";color:#b3b3b0}
.subnav a:last-child::after{content:""}
.subnav a:hover,.subnav a[aria-current]{color:var(--ink)}
.sns{display:flex;gap:18px;font-weight:500;font-size:14px}

/* page head */
.head{display:grid;grid-template-columns:42% 1fr auto;align-items:end;padding:56px 0 18px;border-bottom:1px solid var(--ink)}
.head h1{font-size:132px;line-height:.84;font-weight:500;letter-spacing:-.055em}
.head .k{font-weight:500;color:var(--mute)}
.head .no{font-weight:500;align-self:start;padding-top:8px}

/* sections: label column + body, like the top page */
.sec{display:grid;grid-template-columns:42% minmax(0,1fr);padding:30px 0 56px;border-bottom:1px solid var(--line)}
.sec>h2{font-size:14px;font-weight:500;letter-spacing:0}
.sec>h2 span{color:var(--mute);margin-right:10px}

/* big link rows */
.links a{display:flex;justify-content:space-between;padding:14px 0;border-top:1px solid var(--line);font-size:22px;font-weight:500;letter-spacing:-.02em}
.links a:last-child{border-bottom:1px solid var(--line)}
.links a:hover{color:var(--accent)}

/* keep grid children from widening their tracks */
.sec>*,.top>*,.head>*{min-width:0}

/* footer */
footer{display:grid;grid-template-columns:42% 1fr auto;align-items:end;padding:40px 0 30px;font-size:13px;font-weight:500}
footer .big{width:150px}
footer .links{display:flex;gap:18px}
footer small{color:var(--mute);font-size:12px}

@media (max-width:820px){
 .card{margin:10px;padding:16px 16px 0}
 .top{grid-template-columns:auto 1fr}
 .sns{flex-wrap:wrap;justify-content:flex-end;gap:4px 12px;font-size:13px}
 .subnav{grid-column:1/-1;order:3;font-size:20px}
 .head{grid-template-columns:1fr auto;padding-top:36px}
 .head h1{font-size:72px;grid-column:1/-1}
 .head .no{order:-1}
 .sec{grid-template-columns:minmax(0,1fr);gap:14px;padding:22px 0 36px}
 footer{grid-template-columns:minmax(0,1fr);gap:20px}
 .head h1{overflow-wrap:anywhere}
}
