/* v44 (2026-11-02): 見出しと本文の大きさの差を縮め(本文の約4倍まで)、トップの見出しを必ず1列に。代表挨拶は1枚の読み物に */
body{font-size:18px}

/* 1画面目: 9文字が画面の高さに必ず収まる大きさ */
.hero h1{font-size:min(calc((100svh - 210px) / 9.4),15vw);white-space:nowrap}
.hero picture{position:absolute;inset:0}
.hero .lead{margin-right:84px}
@media(min-width:761px){.hero .ph{object-position:50% 62%}}
@media(max-width:760px){.hero h1{font-size:min(calc((100svh - 200px) / 9.4),15vw)}}

/* 見出しの大きさをそろえる */
.ch h2{font-size:clamp(32px,4.6vw,72px);line-height:1.3;letter-spacing:0}
.svc h2{font-size:clamp(52px,8vw,128px);line-height:1.05;letter-spacing:-.02em}
.svc .big{font-size:clamp(20px,2vw,28px)}
.svc2 h3{font-size:clamp(28px,3vw,44px)}
.msg blockquote{font-size:clamp(30px,3.8vw,58px);line-height:1.35}
.pg h1{font-size:clamp(48px,8vw,128px)}
.pg h1.long{font-size:clamp(38px,6.4vw,104px)}
.bzs h2{font-size:clamp(40px,6.4vw,104px);line-height:1.1}
.bzs.long h2{font-size:clamp(34px,5.4vw,88px)}
.svc2 p,.msg .txt p,.fin .txt p,.svc .ex li,.bzs .cols p{font-size:18px}

/* トップ: 一文の宣言+説明 */
.about h2{font-size:clamp(30px,4vw,60px);line-height:1.35}
@media(min-width:861px){.about .wrap{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}}
.about .txt p{font-size:18px;line-height:2}

/* 募集 */
.join ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,3.4vw,56px);margin-top:clamp(40px,5vw,72px)}
.join li{display:flex;flex-direction:column;align-items:flex-start}
.join h3{font-weight:900;font-size:clamp(22px,2vw,28px);line-height:1.45;margin-bottom:14px}
.join li>p:not(.k){font-size:17px;line-height:1.9;margin-bottom:24px;flex:1}
.join .btn{min-height:52px;font-size:15px}
@media(max-width:860px){.join ul{grid-template-columns:1fr;gap:48px}}

/* 相談・紹介: それぞれの得 */
.gain{list-style:none;display:grid;gap:0;max-width:44em}
.gain li{display:grid;grid-template-columns:11em minmax(0,1fr);gap:24px;padding:20px 0;border-top:1px solid rgba(18,18,18,.18)}
.gain li:last-child{border-bottom:1px solid rgba(18,18,18,.18)}
.gain b{font-weight:900;font-size:17px}
.gain span{font-size:18px;line-height:1.85}
@media(max-width:760px){.gain li{grid-template-columns:1fr;gap:4px}}
.why blockquote{font-size:clamp(18px,1.6vw,21px);line-height:2;max-width:38em}

/* 代表挨拶: 1枚の読み物 */
.letter2{padding-top:clamp(64px,7vw,110px)}
.letter2 .lq{font-weight:900;font-size:clamp(30px,4vw,60px);line-height:1.35;max-width:16em}
.letter2 .lay{display:grid;grid-template-columns:minmax(0,15em) minmax(0,36em);gap:clamp(40px,7vw,120px);margin-top:clamp(48px,6vw,88px);align-items:start}
.letter2 .toc{position:sticky;top:112px;font-size:15px}
.letter2 .toc ol{list-style:none;margin-top:6px}
.letter2 .toc li{padding:7px 0;border-top:1px solid rgba(18,18,18,.14);line-height:1.6}
.letter2 .toc a:hover{text-decoration:underline;text-underline-offset:4px}
.letter2 article p{font-size:18px;line-height:2.05}
.letter2 article p+p{margin-top:1.3em}
.letter2 article h2{font-size:clamp(22px,1.9vw,27px);line-height:1.5;margin:2.6em 0 .9em;scroll-margin-top:100px}
.letter2 .sign{margin-top:3.2em!important;text-align:right;font-size:15px!important;font-weight:700}
.letter2 .sign b{display:block;font-size:24px;font-weight:900;margin-top:2px}
@media(max-width:860px){.letter2 .lay{grid-template-columns:1fr}.letter2 .toc{display:none}.letter2 article p{font-size:17px}}

/* 経歴: 年表 */
.career2 ol{list-style:none;margin-top:clamp(36px,4vw,56px);max-width:900px}
.career2 li{display:grid;grid-template-columns:9em minmax(0,1fr);gap:32px;padding:22px 0;border-top:1px solid rgba(18,18,18,.22);align-items:baseline}
.career2 li:last-child{border-bottom:1px solid rgba(18,18,18,.22)}
.career2 li b{font-weight:900;font-size:19px}
.career2 li span{font-size:18px;line-height:1.8}
@media(max-width:760px){.career2 li{grid-template-columns:1fr;gap:2px;padding:16px 0}.career2 li b{font-size:16px}}
@media(max-width:860px){.about h2{font-size:min(calc((100vw - 48px) / 11.4),40px)}}
