/* ---- サイト共通 ---- */
.A{--ink:#111110;--sub:#8a8a86;--hair:#e6e6e2;background:#fff;color:var(--ink);font-family:"Shippori Mincho","Noto Serif JP","Yu Mincho",serif;font-size:15px;line-height:2.1;letter-spacing:.08em;display:flex;flex-direction:column}
.A .en{font-family:"Libre Caslon Text",serif;letter-spacing:.22em;text-transform:uppercase}
.A .en-raw{font-family:"Libre Caslon Text",serif;letter-spacing:.22em}
.A .hd{display:flex;justify-content:space-between;align-items:center;padding:34px 56px}
.A .hd .mark{font-size:14.5px;letter-spacing:.3em;white-space:nowrap}
.A .hd nav{display:flex;gap:24px;font-size:11px}
.A .hd nav span{display:flex;flex-direction:column;align-items:center}
.A .hd nav span i{font-style:normal;font-size:10.5px;color:var(--sub);letter-spacing:.14em}
.A .hd nav span.on{border-bottom:1px solid var(--ink);padding-bottom:2px}
.A .ft{display:flex;justify-content:space-between;align-items:center;padding:26px 56px;font-size:11.5px;color:var(--sub);border-top:1px solid var(--hair);margin-top:auto}
.A .ft .links{display:flex;gap:24px}
.A .ft .links span{color:var(--ink)}
.A p{margin:0 0 1.4em}
.A .lbl{font-size:11.5px;color:var(--sub);letter-spacing:.3em}
.A ul{list-style:none;margin:0;padding:0}
.A li{padding-left:1em;text-indent:-1em}
.A li::before{content:"・";color:var(--sub)}
.A .roles li{padding:0;text-indent:0}
.A .roles li::before{content:""}
.A .ext-rm{font-size:14px;color:#333;margin:10px 0 0}
.A .ext-rm a{color:inherit;text-decoration:none;border-bottom:1px solid var(--sub)}
.A .ext-rm a:hover{border-bottom-color:var(--ink)}
.A .roles a{color:inherit;text-decoration:none;border-bottom:0}   /* 社外役員の会社名: リンクのない会社と見た目をそろえるため下線なし(2026-10-29 先生) */
.A .roles a:hover{border-bottom:1px solid var(--sub)}
.A .roles{font-size:14px;color:#333}
.A h3{font-size:14px;font-weight:500;letter-spacing:.2em;margin:22px 0 8px;color:var(--sub)}
.A h3:first-child{margin-top:0}
.A .greet p{text-indent:1em}
.A dl{margin:0;display:grid;grid-template-columns:180px 1fr}
.A dt,.A dd{margin:0;padding:12px 0;border-top:1px solid var(--hair)}
.A dt{color:var(--sub);font-size:13px;letter-spacing:.16em;text-align:center}
.A dd{text-align:left;padding-left:24px}
.A dl > :nth-last-child(-n+2){border-bottom:1px solid var(--hair)}
.A dd small{color:var(--sub);font-size:12px}

/* トップ */
.tp{min-height:680px}
.tp .hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 56px 72px}
.tp .name{font-size:33px;font-weight:500;letter-spacing:.34em;margin:0}
.tp .name-en{font-size:12px;margin:14px 0 0;color:var(--sub)}

/* 事務所概要 */
.a1 .main{max-width:620px;margin:0 auto;padding:24px 32px 72px;width:100%}
.a1 .title{text-align:center;margin-bottom:56px}
.a1 .title h1{font-size:22px;font-weight:500;letter-spacing:.36em;margin:6px 0 0}
.a1 h2{font-size:14.5px;font-weight:500;letter-spacing:.3em;text-align:center;margin:0 0 28px}
.a1 h2::after{content:"";display:block;width:20px;height:1px;background:var(--ink);margin:14px auto 0}
.a1 section + section{margin-top:72px}

/* 弁護士一覧 */
.L .main{max-width:760px;margin:0 auto;padding:24px 32px 80px;width:100%}
.L .title{text-align:center;margin-bottom:56px}
.L .people{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.L .person{text-align:center;padding:36px 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.L .person h2{font-size:20px;font-weight:500;letter-spacing:.3em;margin:0}
.L .person .en,.L .person .en-raw{font-size:12px;color:var(--sub);margin-top:4px}
.L .person .role{font-size:13px;color:var(--sub);margin-top:12px}
.L a.person,.L a.person:hover{display:block;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--hair)}  /* 2026-10-28: 色付け・下線なし */
.L .person .more{display:inline-block;margin-top:18px;font-size:11px;letter-spacing:.3em;color:var(--sub)}

/* アクセス */
.c1 .main{max-width:620px;margin:0 auto;padding:24px 32px 72px;width:100%}
.c1 .title{text-align:center;margin-bottom:48px}
.c1 .title h1{font-size:22px;font-weight:500;letter-spacing:.36em;margin:6px 0 0}
.c1 .addr{text-align:center;margin-bottom:56px}
.c1 .addr .name{font-size:17.5px;letter-spacing:.3em;margin-bottom:10px}
.c1 .addr p{margin:0}
.c1 h2{font-size:14.5px;font-weight:500;letter-spacing:.3em;text-align:center;margin:0 0 26px}
.c1 h2::after{content:"";display:block;width:20px;height:1px;background:var(--ink);margin:14px auto 0}
.c1 .map{position:relative;height:360px;background:#f3f3f0;background-image:linear-gradient(var(--hair) 1px,transparent 1px),linear-gradient(90deg,var(--hair) 1px,transparent 1px);background-size:40px 40px;display:flex;align-items:center;justify-content:center;color:var(--sub);font-size:11.5px;letter-spacing:.2em}
.c1 .map::before{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;border-radius:50%;background:var(--ink);transform:translate(-50%,-50%)}
.c1 .map::after{content:"";position:absolute;left:50%;top:50%;width:28px;height:28px;border-radius:50%;border:1px solid var(--ink);transform:translate(-50%,-50%)}
.c1 .map span{position:absolute;bottom:12px;left:0;right:0;text-align:center}
.c1 .maplink{font-size:12px;color:var(--sub);letter-spacing:.2em;text-align:center;margin-top:12px}
.c1 .maplink span{border-bottom:1px solid var(--hair);padding-bottom:2px}
.c1 .stations{margin-top:56px}

/* よくあるご質問 */
.f1 .main{max-width:680px;margin:0 auto;padding:24px 32px 80px;width:100%}
.f1 .title{text-align:center;margin-bottom:56px}
.f1 .title h1{font-size:22px;font-weight:500;letter-spacing:.36em;margin:6px 0 0}
.f1 p{margin:0 0 1.2em}
.f1 p:last-child{margin-bottom:0}
.f1 .mark{font-family:"Libre Caslon Text",serif;font-size:17.5px;line-height:1;color:var(--sub);flex:none;width:1.6em;padding-top:.45em}
.f1 .qa{padding:34px 0;border-top:1px solid var(--hair)}
.f1 .qa:last-child{border-bottom:1px solid var(--hair)}
.f1 .qa .q{display:flex;gap:6px;align-items:flex-start}
.f1 .qa .q p{margin:0;font-weight:500;font-size:16px;line-height:1.9}
.f1 .qa .q .qm{font-family:"Noto Serif JP","Hiragino Mincho ProN",serif;font-size:1.1em}
.f1 .qa .a{display:flex;gap:6px;align-items:flex-start;margin-top:14px;color:#333}
.f1 .qa .a .mark{color:var(--ink)}
.f1 .qa .a p{font-size:15px}

/* お問い合わせ */
.k1,.kt{--field:#d4d4d0}
.k1 .main,.kt .main{max-width:680px;margin:0 auto;padding:24px 32px 80px;width:100%}
.k1 .title,.kt .title{text-align:center;margin-bottom:56px}
.k1 .title h1,.kt .title h1{font-size:22px;font-weight:500;letter-spacing:.36em;margin:6px 0 0}
.k1 p{margin:0 0 1.2em}
.k1 h2{font-size:14.5px;font-weight:500;letter-spacing:.3em;text-align:center;margin:0 0 30px}
.k1 h2::after{content:"";display:block;width:20px;height:1px;background:var(--ink);margin:14px auto 0}
.k1 h3{font-size:13px;font-weight:500;letter-spacing:.24em;color:var(--sub);margin:36px 0 10px}
.k1 section + section{margin-top:72px}
.k1 .lead{text-align:center;font-size:14.5px;color:#333;margin-bottom:34px}
.k1 .req{font-style:normal;font-size:10.5px;color:var(--sub);letter-spacing:.2em;margin-left:10px;border:1px solid var(--hair);padding:0 6px;vertical-align:1px}
.k1 input[type=text],.k1 input[type=email],.k1 input[type=tel],.k1 textarea{width:100%;box-sizing:border-box;border:0;border-bottom:1px solid var(--field);background:transparent;font:inherit;font-size:15px;padding:8px 2px;color:var(--ink);outline:none;border-radius:0}
.k1 textarea{border:1px solid var(--field);padding:10px 12px;margin-top:6px;resize:vertical;min-height:140px}
.k1 input:focus,.k1 textarea:focus{border-color:var(--ink)}
.k1 .row{margin-bottom:26px}
.k1 .row label{display:block;font-size:14px;margin-bottom:2px}
.k1 .notice{font-size:12.5px;color:var(--sub);line-height:1.9;margin:36px 0 22px;padding:16px 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.k1 .agree{display:flex;gap:10px;align-items:center;justify-content:center;font-size:14px;cursor:pointer}
.k1 .agree input{width:14px;height:14px;margin:0;accent-color:#111}
.k1 .agree a{color:inherit;text-decoration:none;border-bottom:1px solid var(--sub)}
.k1 .agree a:hover{border-bottom-color:var(--ink)}
.k1 .btn{text-align:center;margin-top:34px}
.k1 .btn button{font:inherit;font-size:13px;letter-spacing:.4em;padding:14px 56px 14px 60px;background:#fff;color:var(--ink);border:1px solid var(--ink);cursor:pointer}
.k1 .btn button:hover{background:var(--ink);color:#fff}
.k1 .flow-h{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);position:relative}
.k1 .flow-h::before{content:"";position:absolute;left:8%;right:8%;top:11px;height:1px;background:var(--hair)}
.k1 .flow-h li{text-align:center;position:relative;padding:0 4px}
.k1 .flow-h li::before{content:none}
.k1 .flow-h .n{display:block;font-family:"Libre Caslon Text",serif;font-size:13px;letter-spacing:.1em;color:var(--sub);background:#fff;width:2.6em;margin:0 auto 8px;line-height:22px}
.k1 .flow-h .t{display:block;font-size:12.5px;line-height:1.7;letter-spacing:.04em}
.kt .done{text-align:center;padding:24px 0 48px}
.kt .done p{margin:0 0 .4em}
.kt .done .sig{margin-top:36px;letter-spacing:.3em;font-size:15.5px}


/* プライバシーポリシー */
.pp .main{max-width:680px;margin:0 auto;padding:24px 32px 80px;width:100%}
.pp .title{text-align:center;margin-bottom:48px}
.pp .title h1{font-size:22px;font-weight:500;letter-spacing:.36em;margin:6px 0 0}
.pp p{margin:0 0 1.2em;font-size:15px;line-height:2.05}
.pp .intro{margin-bottom:56px}
.pp a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--sub)}
.pp section{padding:28px 0;border-top:1px solid var(--hair)}
.pp section:last-of-type{border-bottom:1px solid var(--hair)}
.pp h2{font-size:15.5px;font-weight:500;letter-spacing:.16em;margin:0 0 14px;display:flex;gap:14px;align-items:baseline;text-align:left}
.pp h2::after{content:none}
.pp h2 .n{font-family:"Libre Caslon Text",serif;font-size:17.5px;letter-spacing:.1em;color:var(--sub);width:1.4em;flex:none}
.pp h2.c{justify-content:center;margin-bottom:22px}
.pp h2.c::after{content:none}
.pp .items{list-style:none;margin:6px 0 0;padding:0}
.pp .items li{display:flex;gap:6px;padding:4px 0;font-size:15px;text-indent:0;padding-left:0}
.pp .items li::before{content:none}
.pp .items .n{color:var(--sub);flex:none}
.pp .kyc{margin-top:64px;border-top:1px solid var(--ink)}
.pp .kyc dl{margin:16px 0 0;display:grid;grid-template-columns:140px 1fr}
.pp .kyc dt,.pp .kyc dd{margin:0;padding:14px 0;border-top:1px solid var(--hair)}
.pp .kyc dt{color:var(--sub);font-size:13px;letter-spacing:.16em;text-align:center}
.pp .kyc dd{padding-left:24px}
.pp .kyc dd p{margin:0 0 .6em}
.pp .kyc dd p:last-child{margin-bottom:0}
.pp .kyc dl > :nth-last-child(-n+2){border-bottom:1px solid var(--hair)}

/* 免責事項 */
.dc .main{max-width:680px;margin:0 auto;padding:24px 32px 80px;width:100%}
.dc .title{text-align:center;margin-bottom:48px}
.dc .title h1{font-size:22px;font-weight:500;letter-spacing:.36em;margin:6px 0 0}
.dc p{margin:0 0 1.2em;font-size:15px;line-height:2.05}
.dc .intro{margin-bottom:40px}
.dc .terms{list-style:none;margin:0;padding:0}
.dc .terms li{padding:0 0 1.2em 1em;text-indent:-1em;font-size:15px;line-height:2.05}
.dc .terms li::before{content:"・";color:var(--sub)}

/* ---- コラム 共通 (.kc) ---- */
.kc{--acc:#2A3A57;--mid:#7D8BA6;--pale:#EEF1F5;--em:#8B3A3A}
.kc .main{max-width:760px;margin:0 auto;padding:24px 32px 80px;width:100%}
.kc a{color:var(--ink);text-decoration:none}
.kc .cat{font-family:"Libre Caslon Text",serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--sub);border:1px solid var(--hair);padding:0 7px;line-height:18px;white-space:nowrap}
.kc time{font-family:"Libre Caslon Text",serif;font-size:13px;letter-spacing:.1em;color:var(--sub);font-variant-numeric:tabular-nums}
.kc .meta{display:flex;gap:14px;align-items:center;margin-bottom:12px}
.kc h1{font-size:21px;font-weight:500;line-height:1.85;letter-spacing:.04em;margin:0;text-wrap:balance}
.kc .tags{display:flex;gap:8px;flex-wrap:wrap}
.kc .tag{font-size:12px;letter-spacing:.16em;line-height:22px;padding:0 10px;border:1px solid var(--mid);color:var(--acc)}
.kc .tag.pri{background:var(--pale);border-color:var(--acc)}
/* 目次 */
.kc .toc{background:var(--pale);padding:22px 28px 20px;margin:0 0 56px}
.kc .toc-h{display:flex;gap:12px;align-items:baseline;font-size:12px;letter-spacing:.3em;color:var(--acc);margin-bottom:10px}
.kc .toc-h .en{font-size:11px;letter-spacing:.24em}
.kc .toc ol{list-style:none;margin:0;padding:0;font-size:14px;line-height:1.8}
.kc .toc li{padding:4px 0;text-indent:0}
.kc .toc li::before{content:none}
.kc .toc li.h2{font-weight:500;margin-top:6px}
.kc .toc li.h2:first-child{margin-top:0}
.kc .toc li.h3{padding-left:1.2em;color:#333}
.kc .toc li.h3::before{content:"—";color:var(--mid);margin-right:.6em}
/* 本文 */
.kc .body{font-size:15px;line-height:2.05}
.kc .body > p{margin:0 0 1.2em;text-indent:1em}
.kc .body h2{font-size:17px;font-weight:500;letter-spacing:.26em;text-align:center;margin:64px 0 32px;line-height:2;text-wrap:balance}
.kc .body h2:first-child{margin-top:0}
.kc .body h2::after{content:"";display:block;width:20px;height:1px;background:var(--acc);margin:14px auto 0}
.kc .body h3{font-size:16px;font-weight:500;letter-spacing:.08em;line-height:1.8;margin:44px 0 14px;display:flex;gap:12px;align-items:baseline;border-bottom:1px solid var(--hair);padding-bottom:10px}
.kc .body h3 .n{font-family:"Libre Caslon Text",serif;font-size:14.5px;letter-spacing:.1em;color:var(--acc);flex:none}
.kc .body h4{font-size:15px;font-weight:500;letter-spacing:.1em;margin:30px 0 8px;color:#333}
.kc .body h4::before{content:"";display:inline-block;width:8px;height:1px;background:var(--acc);vertical-align:middle;margin-right:10px}
.kc .body strong{font-weight:600}
.kc .body em.key{font-style:normal;font-weight:600;color:var(--em);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.32em;text-decoration-color:var(--em)}
.kc .body a{border-bottom:1px solid var(--sub)}
.kc .body a:hover{border-bottom-color:var(--ink)}
.kc .body .cap{text-indent:0;font-size:14px;font-weight:500;letter-spacing:.06em;color:var(--acc);margin:22px 0 0}
.kc .tw{overflow-x:auto;margin:14px 0 28px}
.kc table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.9;letter-spacing:.04em}
.kc th{background:var(--pale);color:var(--acc);font-weight:500;font-size:12.5px;letter-spacing:.16em;text-align:center;padding:9px 14px;border-bottom:1px solid var(--mid);white-space:nowrap}
.kc td{padding:12px 14px;border-bottom:1px solid var(--hair);vertical-align:top;color:#222}
.kc td:first-child{min-width:7em;font-weight:500}
.kc td strong{font-weight:500}
.kc tr:last-child td{border-bottom:1px solid var(--mid)}
.kc blockquote{margin:14px 0 24px;padding:16px 22px;border-left:2px solid var(--mid);background:var(--pale);font-size:14.5px;line-height:1.95;color:#222}
.kc blockquote p{margin:0 0 .6em;text-indent:0}
.kc blockquote p:last-child{margin-bottom:0}
.kc blockquote ul{margin:0;padding:0}
.kc blockquote li{padding:2px 0 2px 1em;text-indent:-1em}
.kc blockquote li::before{content:"・";color:var(--acc)}
.kc blockquote ul.num li{padding-left:1.3em;text-indent:-1.3em}
.kc blockquote ul.num li::before{content:none}
.kc .q{display:flex;gap:10px;align-items:flex-start;margin:0 0 32px;padding:20px 24px;border:1px solid var(--mid)}
.kc .q .mark{font-family:"Libre Caslon Text",serif;font-size:20px;line-height:1;color:var(--acc);flex:none;width:1.4em;padding-top:.45em}
.kc .q p{margin:0;font-weight:500;font-size:15.5px;line-height:1.9;text-indent:0}
.kc .body p.cta{text-indent:0;text-align:center;margin:36px 0 8px}
.kc .body p.cta a{display:inline-block;font-size:13px;letter-spacing:.3em;padding:14px 48px 14px 52px;color:var(--acc);border:1px solid var(--acc)}
.k3 .body p.cta a{color:#fff;background:var(--acc)}
.kc .disc{text-indent:0;font-size:12.5px;color:var(--sub);line-height:1.9;border-top:1px solid var(--hair);padding-top:16px;margin:40px 0 0}
/* 執筆・関連・前後 */
.kc .author{display:flex;gap:16px;align-items:baseline;margin-top:40px;padding-top:18px;border-top:1px solid var(--hair);font-size:14.5px}
.kc .author .lbl{font-size:11.5px;letter-spacing:.3em;color:var(--sub)}
.kc .author a{border-bottom:1px solid var(--sub)}
.kc .rel-sec{margin-top:72px}
.kc .rel-sp{margin-top:56px}
.kc .rel-sp .rel li{display:block;padding:0 0 .6em 1em;text-indent:-1em}
.kc .rel-sec h2{font-size:17px;font-weight:500;letter-spacing:.26em;text-align:center;margin:0 0 28px;line-height:2}
.kc .rel-sec h2::after{content:"";display:block;width:20px;height:1px;background:var(--acc);margin:14px auto 0}
.kc .rel{list-style:none;margin:0;padding:0}
.kc .rel li{display:flex;gap:14px;align-items:baseline;padding:0 0 .6em 1em;text-indent:-1em;font-size:14.5px;line-height:1.9}
.kc .rel li::before{content:"・";color:var(--sub)}
.kc .rel li a{flex:1}
.kc .rel li time{text-indent:0;font-size:12px}
.kc .more-rel{margin-top:14px;font-size:13px}
.kc .more-rel a{border-bottom:1px solid var(--sub)}
.kc .pn{margin-top:72px;border-top:1px solid var(--hair);padding-top:22px;display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:start}
.kc .pn a{border:0;display:flex;flex-direction:column;gap:2px;font-size:13px;line-height:1.8}
.kc .pn .lbl{font-size:11px;letter-spacing:.3em;color:var(--sub)}
.kc .pn .t{color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.kc .pn .next{text-align:right;align-items:flex-end}
.kc .pn .back{align-self:center;font-size:11px;letter-spacing:.3em;color:var(--sub);border-bottom:1px solid var(--hair);padding-bottom:2px;white-space:nowrap}

/* 案1 一枚・目次先頭: 墨＋鉄紺＋淡藍＋臙脂(4色)。中間色は使わず、線は薄灰のまま */
.k1{--mid:#d9dde4}
.k1 h1{margin:0 0 18px}
.k1 .tags{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--hair)}
.k1 .tag{border-color:var(--hair)}
.k1 .tag.pri{border-color:var(--acc)}
.k1 th{border-bottom-color:var(--acc)}
.k1 tr:last-child td{border-bottom-color:var(--hair)}
.k1 blockquote{border-left-color:var(--acc)}

/* 案2 二段・目次固定: 墨＋鉄紺＋藍鼠＋淡藍＋臙脂(5色) */
.k2 .main{max-width:1040px;display:grid;grid-template-columns:240px 1fr;gap:64px;padding:24px 56px 80px;align-items:start}
.k2 .side{position:sticky;top:0;padding-top:4px}
.k2 .side .meta{margin-bottom:14px}
.k2 .side .tags{margin-bottom:28px}
.k2 .side .toc{background:none;padding:0;margin:0;border-top:1px solid var(--mid)}
.k2 .side .toc-h{padding:14px 0 6px;color:var(--mid)}
.k2 .side .toc ol{font-size:13px;line-height:1.75}
.k2 .side .toc li{padding:5px 0;border-bottom:1px solid var(--hair)}
.k2 .side .toc li.h2{margin-top:0}
.k2 .side .toc li.h3{padding-left:1em}
.k2 .side .toc li.h3::before{content:none}
.k2 .side .toc li.h3 a{color:#444}
.k2 .side .author{margin-top:24px;padding-top:0;border-top:0;display:block}
.k2 .side .author .lbl{display:block;margin-bottom:2px}
.k2 .col{max-width:680px}
.k2 h1{margin:0 0 40px;padding-bottom:22px;border-bottom:1px solid var(--mid)}
.k2 .body h2{text-align:left;letter-spacing:.2em}
.k2 .body h2::after{margin:12px 0 0}
.k2 .body h3{border-bottom-color:var(--mid)}
.k2 .rel-sec h2{text-align:left;letter-spacing:.2em}
.k2 .rel-sec h2::after{margin:12px 0 0}
.k2 .rel li time{color:var(--mid)}
.k2 .toc .en,.k2 .pn .lbl{color:var(--mid)}

/* 案3 扉付き・分野色: 墨＋分野色＋中間色＋淡色(4色)。強調も分野色 */
.k3{--em:var(--acc)}
.k3 .hero{background:var(--pale);text-align:center;padding:36px 56px 44px;margin:0 0 56px}
.k3 .hero .meta{justify-content:center;margin-bottom:18px}
.k3 .hero .cat{color:var(--acc);border-color:var(--acc)}
.k3 .hero time{color:var(--acc)}
.k3 .hero h1{font-size:23px;line-height:1.8;letter-spacing:.06em;max-width:30em;margin:0 auto}
.k3 .hero .tags{justify-content:center;margin-top:22px}
.k3 .hero .tag{background:#fff}
.k3 .hero .tag.pri{background:var(--acc);color:#fff;border-color:var(--acc)}
.k3 .hero .lead{max-width:40em;margin:24px auto 0;font-size:14px;line-height:2;color:#333;text-align:left}
.k3 .toc{background:none;padding:0 0 0 24px;border-left:1px solid var(--mid)}
.k3 .toc-h{color:var(--acc)}
.k3 .body h2::after{width:28px}
.k3 .body h3{border-bottom:0;padding-bottom:0}
.k3 .body h3 .n{font-size:20px;line-height:1}
.k3 .body em.key{text-decoration:none;border-bottom:1px solid var(--em)}
.k3 .rel.cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.k3 .rel.cards li{display:block;padding:14px 18px;text-indent:0;background:var(--pale);font-size:14px;line-height:1.85}
.k3 .rel.cards li::before{content:none}
.k3 .rel.cards li a{display:flex;flex-direction:column;gap:2px}
.k3 .rel.cards li time{color:var(--acc);font-size:12px}
.k3 .more-rel{text-align:right}
.k3 .more-rel a{color:var(--acc);border-bottom-color:var(--acc)}

/* ---- 404 ---- */
.nf1 .main,.nf2 .main,.nf3 .main{max-width:620px;margin:0 auto;padding:24px 32px 80px;width:100%}
.A .nf{text-align:center;padding:64px 0 40px}
.A .nf .code{font-size:44px;letter-spacing:.2em;color:var(--sub);line-height:1;margin-bottom:26px}
.A .nf h1{font-size:17.5px;font-weight:500;letter-spacing:.2em;margin:0 0 16px}
.A .nf p{font-size:14.5px;color:#333;margin:0}
.A .nf-links{display:flex;justify-content:center;gap:0;margin:8px 0 0}
.A .nf-links a{font-size:14px;letter-spacing:.14em;padding:0 20px;border-left:1px solid var(--hair);color:var(--ink);text-decoration:none}
.A .nf-links a:first-child{border-left:0}
.nf2 .latest{margin-top:72px}
.nf2 .latest h2{font-size:14.5px;font-weight:500;letter-spacing:.3em;text-align:center;margin:0 0 26px}
.nf2 .latest h2::after{content:"";display:block;width:20px;height:1px;background:var(--ink);margin:14px auto 0}
.nf2 .rel{list-style:none;margin:0;padding:0}
.nf2 .rel li{display:flex;gap:14px;align-items:baseline;padding:10px 0;border-top:1px solid var(--hair);font-size:14.5px;text-indent:0}
.nf2 .rel li::before{content:none}
.nf2 .rel li:last-child{border-bottom:1px solid var(--hair)}
.nf2 .rel li a{color:var(--ink);text-decoration:none;flex:1}
.nf3 .map{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:56px;padding-top:28px;border-top:1px solid var(--hair)}
.nf3 .map h3{font-size:12px;letter-spacing:.3em;color:var(--sub);font-weight:500;margin:0 0 10px}
.nf3 .map ul{list-style:none;margin:0;padding:0}
.nf3 .map li{padding:5px 0;font-size:14.5px;text-indent:0}
.nf3 .map li::before{content:none}
.nf3 .map a{color:var(--ink);text-decoration:none}
/* ---- メンテナンス ---- */
.mt{min-height:680px}
.mt .main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px 32px 72px;max-width:620px;margin:0 auto;width:100%}
.mt h1{font-size:18.5px;font-weight:500;letter-spacing:.3em;line-height:2;margin:0 0 30px}
.mt h1 span{display:block}
.mt h1 span:first-child{font-size:12px;letter-spacing:.4em;color:var(--sub)}
.mt .body p{font-size:15px;line-height:2.1;margin:0 0 1.2em}
.mt .body p:last-child{margin-bottom:0}
.mt .tel{margin-top:30px;padding-top:26px;border-top:1px solid var(--hair);width:100%;max-width:300px}
.mt .tel a{display:block;font-size:24px;letter-spacing:.14em;color:var(--ink);text-decoration:none;line-height:1.4}
.mt .tel span{display:block;font-size:12.5px;color:var(--sub);margin-top:6px;letter-spacing:.14em}
.mt2 .box{border:1px solid var(--hair);padding:48px 40px 44px;width:100%;box-sizing:border-box}
.mt2 .tel{border-top:0;padding-top:0;margin-top:26px}
.mt2 .tel a{font-size:28.5px}
/* ---- 分野別一覧 ---- */
.A .chips{display:flex;flex-wrap:wrap;gap:8px 6px;justify-content:center;margin:0 0 40px}
.A .chip{font-size:12.5px;letter-spacing:.14em;line-height:24px;padding:0 11px;border:1px solid var(--hair);color:var(--ink);text-decoration:none;white-space:nowrap}
.A .chip i{font-style:normal;font-family:"Libre Caslon Text",serif;font-size:11.5px;letter-spacing:.05em;color:var(--sub);margin-left:6px}
.A .chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.A .chip.on i{color:#ccc}
.f1 .title h1{font-size:22px;font-weight:500;letter-spacing:.36em;margin:6px 0 0}
.f1 .title .count{font-size:12px;color:var(--sub);margin-top:8px;letter-spacing:.14em}
.f1 .title{margin-bottom:28px}
.f2 .filt{margin-bottom:0}
.f2 .sub{display:flex;gap:16px;align-items:flex-start;padding:14px 0 12px;border-bottom:1px solid var(--hair);margin-bottom:36px}
.f2 .sub .lbl{flex:none;padding-top:3px}
.f2 .sub .chips{justify-content:flex-start;margin:0}
.f3 .title{margin-bottom:28px}
.f3 .title h1{font-size:22px;font-weight:500;letter-spacing:.36em;margin:6px 0 0}
.f3 .fld{margin-top:56px}
.f3 .fh{display:flex;gap:14px;align-items:baseline;border-bottom:1px solid var(--ink);padding-bottom:10px}
.f3 .fh h2{font-size:16.5px;font-weight:500;letter-spacing:.24em;margin:0;text-align:left}
.f3 .fh .count{font-size:12px;color:var(--sub)}
.f3 .fh .all{margin-left:auto;font-size:12.5px;letter-spacing:.14em;color:var(--sub);text-decoration:none;border-bottom:1px solid var(--hair)}
.f3 .arts article:first-child{border-top:0}
.f3 .note{font-size:12.5px;color:var(--sub);margin-top:40px}

.A .hd .mark{white-space:nowrap}
.A .plain{list-style:none;margin:0;padding:0}
.A .plain li{padding:8px 0 8px 1em;text-indent:-1em;font-size:15px;line-height:1.95;border-bottom:1px solid var(--hair)}
.A .plain li::before{content:"・";color:var(--acc,var(--sub))}
.A .plain li:first-child{border-top:1px solid var(--hair)}
.c3 .plain li{border-color:var(--mid)}
.A .worry .plain li{border:0;padding:5px 0;text-indent:0;text-align:center}  /* 修正(2026-10-24): お悩み一覧は仕切り線なし・中央揃え */
.A .worry .plain li::before{content:none}
.A .worry p.in{text-align:center;text-indent:0}
.A .worry .plain li:first-child{border:0}
.A .worry p.in{margin-top:22px}
.s3 .plans.p2{grid-template-columns:repeat(2,1fr)}
.s3 .flow-h.f3{grid-template-columns:repeat(3,1fr)}
.s3 .flow-h.f3::before{left:16%;right:16%}
.s3 .why .fields li{grid-template-columns:44px 1fr}
.s3 .hero h1 .t1{white-space:normal;text-wrap:balance}

.A .voices{list-style:none;margin:8px 0 22px;padding:0}
.A .voices li{padding:5px 0;text-indent:0;text-align:center;font-size:15.5px;line-height:1.95}  /* 確定(2026-10-24): 仕切り線なし・中央揃え */
.A .voices li::before{content:"「";color:var(--acc)}
.A .voices li::after{content:"」";color:var(--acc)}
.wrap[data-voice="lines"] .A .voices li{padding:10px 0 10px 1.4em;text-indent:-1.4em;text-align:left;border-bottom:1px solid var(--mid)}
.wrap[data-voice="lines"] .A .voices li:first-child{border-top:1px solid var(--mid)}
.A .voices-sec h2:empty{display:none}
.A section:has(> h2:empty) + section{margin-top:40px}
.A .plain.two{column-count:2;column-gap:32px}
.A .plain.two li{break-inside:avoid}
.A .pc{display:grid;grid-template-columns:1fr 1fr;gap:0 36px;margin-top:8px}
.A .pc h3{font-size:14.5px;letter-spacing:.2em;color:var(--acc);margin:0 0 6px;text-align:center}
.A .pc .plain li{font-size:14.5px;line-height:1.9}
.A .pc .plain li:first-child{border-top:1px solid var(--mid)}
.A .gates .pc h3{text-align:left;font-size:15.5px;letter-spacing:.1em;border-bottom:1px solid var(--acc);padding-bottom:8px;margin-bottom:12px}
.A .gates .pc p{font-size:14px;color:#333;line-height:1.9;margin:0 0 12px}
.A .band{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:8px 0 22px}
.A .band > div{background:var(--pale);padding:26px 24px 22px;text-align:center}
.A .band .big{display:block;font-family:"Libre Caslon Text",serif;font-size:37.5px;letter-spacing:.06em;color:var(--acc);line-height:1}
.A .band .lb{display:block;font-size:13px;letter-spacing:.24em;margin:10px 0 8px}
.A .band .ds{display:block;font-size:12.5px;color:#333;line-height:1.8;text-align:left}
.A .tl-h{font-size:14.5px;letter-spacing:.2em;color:var(--acc);text-align:center;margin:36px 0 14px}
.A .flow-h.f5.tl{grid-template-columns:repeat(5,1fr)}
.A .flow-h.f5.tl::before{left:10%;right:10%}
.s3 .tw{overflow-x:auto;margin:8px 0 6px}
.s3 table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.9;letter-spacing:.04em}
.s3 th{background:var(--pale);color:var(--acc);font-weight:500;font-size:12.5px;letter-spacing:.16em;text-align:center;padding:9px 14px;border-bottom:1px solid var(--mid)}
.s3 td{padding:12px 14px;border-bottom:1px solid var(--hair);vertical-align:top;color:#222}
.s3 td:first-child{font-weight:500}
.s3 tr:last-child td{border-bottom:1px solid var(--mid)}
.A .fees dt{font-weight:500}
.A .fees dd b{font-weight:500;color:var(--acc)}
.A .plans.p3 .plan h3{letter-spacing:.08em;font-size:15px}
.A .plans.p3 .plan p{text-align:left}
.A .hero h1 .t1{white-space:normal;text-wrap:balance}
/* 「声」の見せ方(比較用) */
.wrap[data-voice="plain"] .A .voices li{border:0;padding:5px 0 5px 1.4em;text-indent:-1.4em;text-align:left}
.wrap[data-voice="plain"] .A .voices li:first-child{border:0}
.wrap[data-voice="pale"] .A .voices{background:var(--pale);padding:18px 26px 18px 22px;margin:8px 0 26px}
.wrap[data-voice="pale"] .A .voices li{border:0;padding:5px 0 5px 1.4em;text-indent:-1.4em;text-align:left}
.wrap[data-voice="pale"] .A .voices li:first-child{border:0}
.wrap[data-voice="center"] .A .voices li{border:0;padding:5px 0;text-indent:0;text-align:center}
.wrap[data-voice="center"] .A .voices li:first-child{border:0}
.wrap[data-voice="rule"] .A .voices li{border:0;border-left:1px solid var(--acc);padding:4px 0 4px 18px;margin:0 0 10px;text-indent:0;text-align:left;line-height:1.85}
.wrap[data-voice="rule"] .A .voices li::before,.wrap[data-voice="rule"] .A .voices li::after{content:none}
.wrap[data-voice="rule"] .A .voices li:first-child{border-top:0}
.s3 .hero .chips span{white-space:nowrap}

/* 三列(時期別・対象別) 2026-10-25 改訂: 細線と余白で組む。時期別は上辺の線と点で順序を示す */
.A .tri{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:18px 0 10px}
.A .tri>div{padding:20px 22px 14px;position:relative}
.A .tri>div+div{border-left:1px solid var(--hair)}
.A .tri>div:first-child{padding-left:0}
.A .tri>div:last-child{padding-right:0}
.A .tri .en{display:block;font-family:"Libre Caslon Text",serif;font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--acc);margin-bottom:6px}
.A .tri h3{font-size:16.5px;font-weight:500;letter-spacing:.1em;margin:2px 0 14px;text-align:left;color:var(--ink)}
.A .tri ul{list-style:none;margin:0;padding:0}
.A .tri li{font-size:14px;line-height:1.85;padding:9px 0 9px 15px;position:relative;text-indent:0;border-top:1px solid var(--hair)}
.A .tri li:last-child{border-bottom:1px solid var(--hair)}
.A .tri li::before{content:"";position:absolute;left:0;top:18px;width:5px;height:5px;border-radius:50%;background:var(--mid)}
/* 時期別: 列の上に一本の線、各列の始点に点 */
.A .tri.phase>div{border-top:1px solid var(--acc);padding-top:22px}
.A .tri.phase>div::before{content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:50%;background:var(--acc)}
.A .tri.phase>div:first-child::before{left:0}
.A .tri.phase>div+div::before{left:-4px}
/* 対象別: 上辺は細線のみ */
.A .tri.who>div{border-top:1px solid var(--hair);padding-top:20px}
@media (max-width:640px){
  .A .tri{grid-template-columns:1fr;border-left:1px solid var(--acc);padding-left:18px}
  .A .tri>div,.A .tri>div:first-child,.A .tri>div:last-child{padding:6px 0 18px;border:0}
  .A .tri>div+div{border-left:0}
  .A .tri.phase>div{border-top:0}
  .A .tri.phase>div::before,.A .tri.phase>div+div::before{top:12px;left:-22px}
  .A .tri.who>div{border-top:0}
}

/* 法的課題の導入文は左寄せ・一字下げ(2026-10-26 指示。美術・ハラスメント用の中央揃えを打ち消す) */
.A .worry.tri-sec p.in{text-align:left;text-indent:1em;margin-bottom:.3em}
.A .worry.tri-sec .tri{margin-top:22px}
/* メリット・デメリット(2026-10-26 改訂): 淡地の枠と線の枠を並べ、項目は「・」 */
.A .pc2{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:10px;align-items:start}
.A .pc2>div{padding:26px 28px 22px}
.A .pc2 .m{background:var(--pale)}
.A .pc2 .d{border:1px solid var(--hair)}
.A .pc2 .en{display:block;font-family:"Libre Caslon Text",serif;font-size:11.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--acc)}
.A .pc2 h3{font-size:16.5px;font-weight:500;letter-spacing:.14em;margin:4px 0 14px;text-align:left}
.A .pc2 ul{list-style:none;margin:0;padding:0}
.A .pc2 li{position:relative;padding:8px 0 8px 1.2em;font-size:14px;line-height:1.85;text-indent:0;border-top:1px solid rgba(0,0,0,.06)}
.A .pc2 .d li{border-top-color:var(--hair)}
.A .pc2 li:first-child{border-top:0}
.A .pc2 li::before{content:"・";position:absolute;left:0;top:8px;color:var(--ink)}
.A .pc2 .note{grid-column:1/-1;margin-top:0}
@media (max-width:640px){ .A .pc2{grid-template-columns:1fr;gap:14px} .A .pc2>div{padding:20px 18px 16px} }

/* ニュース・コラム一覧 */
.t2 .main{max-width:760px;margin:0 auto;padding:24px 32px 80px;width:100%}
.t2 .title{text-align:center;margin-bottom:40px}
.t2 .filt{display:flex;justify-content:center;margin:0 0 44px;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.t2 .filt button{appearance:none;background:none;border:0;font:inherit;font-family:"Libre Caslon Text",serif;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--sub);padding:12px 20px;cursor:pointer;position:relative}
.t2 .filt button[aria-pressed=true]{color:var(--ink)}
.t2 .filt button[aria-pressed=true]::after{content:"";position:absolute;left:20px;right:20px;bottom:-1px;height:1px;background:var(--ink)}
.t2 .filt button:focus-visible{outline:1px solid var(--ink);outline-offset:-4px}
.t2 .cat{font-family:"Libre Caslon Text",serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--sub);border:1px solid var(--hair);padding:0 7px;line-height:18px;white-space:nowrap}
.t2 time{font-family:"Libre Caslon Text",serif;font-size:13px;letter-spacing:.1em;color:var(--sub);font-variant-numeric:tabular-nums;white-space:nowrap}
.t2 a{color:var(--ink);text-decoration:none}
.t2 .more{text-align:center;font-size:12px;color:var(--sub);margin-top:40px}
.t2 .more::after{content:"";display:block;width:1px;height:28px;background:var(--hair);margin:10px auto 0}
.t2 [hidden]{display:none!important}
.t2 .arts article{display:grid;grid-template-columns:120px 1fr;gap:28px;padding:26px 0;border-bottom:1px solid var(--hair)}
.t2 .arts article:first-child{border-top:1px solid var(--hair)}
.t2 .arts .m{display:flex;flex-direction:column;gap:8px;align-items:flex-start;padding-top:4px}
.t2 .arts h2{font-size:17px;font-weight:500;line-height:1.8;letter-spacing:.04em;margin:0;text-align:left}
.t2 .arts p{margin:8px 0 0;font-size:14px;color:#555;line-height:1.9}


/* 顧問契約 */
.vf .main{max-width:760px;margin:0 auto;padding:24px 32px 80px;width:100%}
.vf .title{text-align:center;margin-bottom:56px}
.vf .title h1{font-size:22px;font-weight:500;letter-spacing:.36em;margin:6px 0 0}
.vf p{margin:0 0 1.2em;font-size:15px;line-height:2.05}
.vf p:last-child{margin-bottom:0}
.vf section + section{margin-top:64px}
.vf h2{font-size:14.5px;font-weight:500;letter-spacing:.3em;text-align:center;margin:0 0 28px;line-height:2}
.vf h2::after{content:"";display:block;width:20px;height:1px;background:var(--ink);margin:14px auto 0}
.vf ul,.vf ol{list-style:none;margin:0;padding:0}
.vf li{padding-left:0;text-indent:0}
.vf li::before{content:none}
.vf section > p{text-indent:1em}
.vf .cta p{text-indent:0}
.vf h3{font-size:15.5px;font-weight:500;letter-spacing:.1em;margin:28px 0 8px;display:flex;gap:12px;align-items:baseline}
.vf h3 .n{font-family:"Libre Caslon Text",serif;font-size:14.5px;color:var(--sub);flex:none}
.vf .svc{margin:8px 0 20px;display:grid;grid-template-columns:200px 1fr}
.vf .svc dt,.vf .svc dd{margin:0;padding:14px 0;border-top:1px solid var(--hair)}
.vf .svc dt{font-size:14px;line-height:1.9;padding-right:16px}
.vf .svc dd{padding-left:20px;font-size:14.5px;line-height:1.95;color:#333}
.vf .svc > :nth-last-child(-n+2){border-bottom:1px solid var(--hair)}
.vf .steps{list-style:none;margin:0;padding:0}
.vf .steps li{display:grid;grid-template-columns:80px 1fr;gap:16px;padding:18px 0;border-top:1px solid var(--hair);text-indent:0}
.vf .steps li::before{content:none}
.vf .steps li:last-child{border-bottom:1px solid var(--hair)}
.vf .steps .n{font-family:"Libre Caslon Text",serif;font-size:12px;letter-spacing:.14em;color:var(--sub);padding-top:6px}
.vf .steps h3{margin:0 0 4px;display:block}
.vf .steps p{font-size:14.5px;color:#333;margin:0}
.vf .faq .qa{padding:26px 0;border-top:1px solid var(--hair)}
.vf .faq .qa:last-child{border-bottom:1px solid var(--hair)}
.vf .mark{font-family:"Libre Caslon Text",serif;font-size:17.5px;line-height:1;color:var(--sub);flex:none;width:1.6em;padding-top:.5em}
.vf .qa .q{display:flex;gap:6px;align-items:flex-start}
.vf .qa .q p{margin:0;font-weight:500;font-size:15.5px;line-height:1.9}
.vf .qa .a{display:flex;gap:6px;align-items:flex-start;margin-top:12px;color:#333}
.vf .qa .a .mark{color:var(--ink)}
.vf .qa .a p{font-size:15px}
.vf .cta{text-align:center}
.vf .cta .btn{margin:26px 0 22px}
.vf .cta .btn a{display:inline-block;font-size:13px;letter-spacing:.3em;padding:14px 48px 14px 52px;color:var(--ink);border:1px solid var(--ink);text-decoration:none}
.vf .cta .note{font-size:12.5px;color:var(--sub);text-align:left}   /* 2026-10-29 先生: 折り返した二行目を左から始める */
/* 案2 */
/* 案3 */
.vf .main{max-width:820px}
.vf .main{max-width:760px}
.vf .lead{display:none}
.vf .cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.vf .card{border:1px solid var(--hair);padding:22px 24px 20px}
.vf .card .n{font-family:"Libre Caslon Text",serif;font-size:22px;color:var(--sub);display:block;margin-bottom:6px}
.vf .card h3{margin:0 0 8px;display:block;font-size:15px}
.vf .card p{font-size:14px;color:#333;line-height:1.9}
.vf .flow-h{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:12px;position:relative}
.vf .flow-h::before{content:"";position:absolute;left:10%;right:10%;top:11px;height:1px;background:var(--hair)}
.vf .flow-h li{text-align:center;position:relative;text-indent:0;padding:0}
.vf .flow-h li::before{content:none}
.vf .flow-h .n{display:block;font-family:"Libre Caslon Text",serif;font-size:13px;letter-spacing:.1em;color:var(--sub);background:#fff;width:2.6em;margin:0 auto 10px;line-height:22px}
.vf .flow-h .t{display:block;font-size:14px;font-weight:500;line-height:1.7;margin-bottom:6px}
.vf .flow-h .d{display:block;font-size:12px;color:#555;line-height:1.75;text-align:left}
.vf .faq .qa{padding:22px 0}


/* 記事(ニュース・論文) */
.r2 .main{max-width:760px;margin:0 auto;padding:24px 32px 80px;width:100%}
.r2 p{margin:0 0 1.2em;font-size:15px;line-height:2.05}
.r2 a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--sub)}
.r2 .cat{font-family:"Libre Caslon Text",serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--sub);border:1px solid var(--hair);padding:0 7px;line-height:18px;white-space:nowrap}
.r2 time{font-family:"Libre Caslon Text",serif;font-size:13px;letter-spacing:.1em;color:var(--sub);font-variant-numeric:tabular-nums}
.r2 figure{margin:28px 0 0}
.r2 figure img{display:block;max-width:100%;height:auto}
.r2 .pn{margin-top:72px;border-top:1px solid var(--hair);padding-top:22px;display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:start}
.r2 .pn a{border:0;display:flex;flex-direction:column;gap:2px;font-size:13px;line-height:1.8}
.r2 .pn .lbl{font-size:11px;letter-spacing:.3em;color:var(--sub)}
.r2 .pn .t{color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.r2 .pn .next{text-align:right;align-items:flex-end}
.r2 .pn .back{align-self:center;font-size:11px;letter-spacing:.3em;color:var(--sub);border-bottom:1px solid var(--hair);padding-bottom:2px;white-space:nowrap}
/* 案1 */
.r2 .meta{display:flex;gap:14px;align-items:center;margin-bottom:12px}
.r2 h1{font-size:20px;font-weight:500;line-height:1.85;letter-spacing:.04em;margin:0 0 32px;padding-bottom:22px;border-bottom:1px solid var(--hair)}
.r2 .body{display:block}
.r2 .body.has-img{display:grid;grid-template-columns:1fr 240px;gap:40px;align-items:start}
.r2 figure.side{margin:4px 0 0}


/* 記事(特集) */
.s3 .main{max-width:820px;margin:0 auto;padding:24px 32px 80px;width:100%}
.s3 p{margin:0 0 1.2em;font-size:15px;line-height:2.05}
.s3 p.in{text-indent:1em}
.s3 p:last-child{margin-bottom:0}
.s3 a{color:var(--ink);text-decoration:none}
.s3 section + section{margin-top:72px}
.s3 h2{font-size:14.5px;font-weight:500;letter-spacing:.3em;text-align:center;margin:0 0 28px;line-height:2}
.s3 h2::after{content:"";display:block;width:20px;height:1px;background:var(--ink);margin:14px auto 0}
.s3 h3{font-size:15.5px;font-weight:500;letter-spacing:.08em;margin:0 0 6px;line-height:1.8}
.s3 .cat{font-family:"Libre Caslon Text",serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--sub);border:1px solid var(--hair);padding:0 7px;line-height:18px;white-space:nowrap}
.s3 time{font-family:"Libre Caslon Text",serif;font-size:13px;letter-spacing:.1em;color:var(--sub)}
.s3 .head{text-align:center;margin-bottom:56px}
.s3 .head .cat{display:inline-block;margin-right:12px;vertical-align:1px}
.s3 .head h1{font-size:20px;font-weight:500;line-height:1.9;letter-spacing:.06em;margin:18px 0 0;text-wrap:balance}
.s3 .note{font-size:12.5px;color:var(--sub);line-height:1.9;margin-top:14px}
.s3 .tbl{margin:12px 0 18px;display:grid;grid-template-columns:150px 1fr}
.s3 .tbl dt,.s3 .tbl dd{margin:0;padding:11px 0;border-top:1px solid var(--hair);font-size:14.5px;line-height:1.9}
.s3 .tbl dt{color:var(--ink);padding-right:14px}
.s3 .tbl dd{padding-left:18px;color:#333}
.s3 .tbl .h{font-size:12px;letter-spacing:.2em;color:var(--sub);border-top:0;padding-bottom:4px}
.s3 .tbl > :nth-last-child(-n+2){border-bottom:1px solid var(--hair)}
.s3 .reasons,.s3 .fields{list-style:none;margin:0;padding:0}
.s3 .reasons li,.s3 .fields li{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:18px 0;border-top:1px solid var(--hair);text-indent:0}
.s3 .reasons li::before,.s3 .fields li::before{content:none}
.s3 .reasons li:last-child,.s3 .fields li:last-child{border-bottom:1px solid var(--hair)}
.s3 .reasons .n,.s3 .fields .n{font-family:"Libre Caslon Text",serif;font-size:15.5px;letter-spacing:.1em;color:var(--sub);padding-top:4px}
.s3 .reasons p,.s3 .fields p{font-size:14.5px;color:#333;margin:0 0 .6em}
.s3 .case{padding:20px 0;border-top:1px solid var(--hair)}
.s3 .case:last-of-type{border-bottom:1px solid var(--hair)}
.s3 .case dl{margin:8px 0 0;display:grid;grid-template-columns:100px 1fr;gap:6px 16px}
.s3 .case dt{font-size:12px;letter-spacing:.2em;color:var(--sub);padding-top:4px}
.s3 .case dd{margin:0;font-size:14.5px;line-height:1.95;color:#333}
.s3 .notes{list-style:none;margin:14px 0 0;padding:0}
.s3 .notes li{font-size:12.5px;color:var(--sub);line-height:1.9;padding:0;text-indent:0}
.s3 .notes li::before{content:none}
.s3 .faq .qa{padding:24px 0;border-top:1px solid var(--hair)}
.s3 .faq .qa:last-child{border-bottom:1px solid var(--hair)}
.s3 .mark{font-family:"Libre Caslon Text",serif;font-size:17.5px;line-height:1;color:var(--sub);flex:none;width:1.6em;padding-top:.5em}
.s3 .qa .q{display:flex;gap:6px;align-items:flex-start}
.s3 .qa .q p{margin:0;font-weight:500;font-size:15.5px;line-height:1.9}
.s3 .qa .a{display:flex;gap:6px;align-items:flex-start;margin-top:12px;color:#333}
.s3 .qa .a .mark{color:var(--ink)}
.s3 .qa .a p{font-size:15px}
.s3 .flow-h{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;position:relative}
.s3 .flow-h::before{content:"";position:absolute;left:12%;right:12%;top:11px;height:1px;background:var(--hair)}
.s3 .flow-h li{text-align:center;position:relative;text-indent:0;padding:0}
.s3 .flow-h li::before{content:none}
.s3 .flow-h .n{display:block;font-family:"Libre Caslon Text",serif;font-size:13px;letter-spacing:.1em;color:var(--sub);background:#fff;width:2.6em;margin:0 auto 10px;line-height:22px}
.s3 .flow-h .t{display:block;font-size:14px;font-weight:500;line-height:1.7;margin-bottom:6px}
.s3 .flow-h .d{display:block;font-size:12px;color:#555;line-height:1.75;text-align:left}
.s3 .cta{text-align:center}
.s3 .cta p{text-align:left}
.s3 .cta .btn{margin:26px 0 0}
.s3 .cta .btn a{display:inline-block;font-size:13px;letter-spacing:.3em;padding:14px 48px 14px 52px;color:var(--ink);border:1px solid var(--ink)}
.s3 .rel{list-style:none;margin:0;padding:0}
.s3 .rel li{padding:0 0 .6em 1em;text-indent:-1em;font-size:14.5px}
.s3 .rel li::before{content:"・";color:var(--sub)}
.s3 .more-rel{margin-top:14px;font-size:13px}
.s3 .more-rel a{border-bottom:1px solid var(--sub)}
.s3 .hero{text-align:center;padding:8px 56px 56px;border-bottom:1px solid var(--hair);margin-bottom:56px}
.s3 .hero h1{font-size:24px;font-weight:500;line-height:1.8;letter-spacing:.08em;margin:20px auto 0}
.s3 .hero h1 .t1{display:block;white-space:nowrap}
.s3 .hero h1 .t2{display:block;font-size:15.5px;letter-spacing:.1em;color:var(--sub);margin-top:4px}
.s3 h2{font-size:17px;letter-spacing:.26em}
.s3 h3{font-size:16px}
.s3 .hero .chips{display:flex;justify-content:center;gap:0;margin-top:26px;font-size:12.5px;color:var(--sub);letter-spacing:.12em}
.s3 .hero .chips span{padding:0 18px;border-left:1px solid var(--hair)}
.s3 .hero .chips span:first-child{border-left:0}
.s3 .chk{list-style:none;margin:12px 0 18px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
.s3 .chk li{display:grid;grid-template-columns:96px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid var(--hair);font-size:14px;line-height:1.8;text-indent:0}
.s3 .chk li::before{content:none}
.s3 .chk b{font-weight:500}
.s3 .chk span{color:#333}
.s3 .reasons.big li{grid-template-columns:64px 1fr;padding:22px 0}
.s3 .reasons.big .n{font-size:28.5px;line-height:1;padding-top:2px}
.s3 .plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:14px 0 4px}
.s3 .plan{border:1px solid var(--hair);padding:22px 20px}
.s3 .plan h3{text-align:center;margin:0 0 10px;letter-spacing:.14em}
.s3 .plan .price{text-align:center;font-family:"Libre Caslon Text",serif;font-size:22px;letter-spacing:.04em;margin-bottom:4px}
.s3 .plan .for{text-align:center;font-size:12.5px;color:var(--sub);padding-bottom:12px;border-bottom:1px solid var(--hair);margin-bottom:12px}
.s3 .plan p{font-size:14px;color:#333;line-height:1.9}

/* ---- 同系色版 ---- */
.c2,.c3{--acc:#2A3A57}          /* 鉄紺 */
.c3{--mid:#7D8BA6;--pale:#EEF1F5}  /* 藍鼠 / 淡藍 */
/* 2色版: 黒 + 鉄紺(要所のみ) */
.c2 h2::after,.c3 h2::after{background:var(--acc)}
.c2 .hero .cat,.c3 .hero .cat{color:var(--acc);border-color:var(--acc)}
.c2 .hero .chips,.c3 .hero .chips{color:var(--acc)}
.c2 .reasons .n,.c2 .fields .n,.c2 .flow-h .n,.c2 .mark,.c3 .reasons .n,.c3 .fields .n,.c3 .flow-h .n,.c3 .mark{color:var(--acc)}
.c2 .qa .a .mark,.c3 .qa .a .mark{color:var(--acc)}
.c2 .plan .price,.c3 .plan .price{color:var(--acc)}
.c2 .cta .btn a,.c3 .cta .btn a{color:#fff;background:var(--acc);border-color:var(--acc)}
.c2 .tbl .h,.c3 .tbl .h{color:var(--acc)}
.c2 .case dt,.c3 .case dt{color:var(--acc)}
.c2 .hero{border-bottom-color:var(--acc)}
/* 3色版: さらに淡い地と中間色 */
.c3 .hero{background:var(--pale);border-bottom:0;padding:36px 56px 48px;margin:0 0 56px}
.c3 .hero .chips span{border-left-color:var(--mid)}
.c3 .chk li{border-bottom-color:var(--mid)}
.c3 .chk b{color:var(--acc)}
.c3 .plan{background:var(--pale);border-color:transparent}
.c3 .plan .for{border-bottom-color:var(--mid)}
.c3 .reasons.big li,.c3 .fields li,.c3 .faq .qa,.c3 .case{border-top-color:var(--mid)}
.c3 .reasons.big li:last-child,.c3 .fields li:last-child,.c3 .faq .qa:last-child,.c3 .case:last-of-type{border-bottom-color:var(--mid)}
.c3 .note,.c3 time{color:var(--mid)}
.c3 .flow-h::before{background:var(--mid)}
.c3 .cta{background:var(--pale);padding:40px 32px;margin-top:72px}
.c3 .cta h2{margin-top:0}

/* 弁護士紹介 */
.p1 .main{max-width:640px;margin:0 auto;padding:24px 32px 80px;width:100%}
.p1 .top{text-align:center;margin-bottom:56px}
.p1 .top h1{font-size:24px;font-weight:500;letter-spacing:.36em;margin:0}
.p1 .top .en,.p1 .top .en-raw{font-size:12px;color:var(--sub);margin-top:6px}
.p1 .top .bar{font-size:13px;color:var(--sub);margin-top:14px}
.p1 h2{font-size:14.5px;font-weight:500;letter-spacing:.3em;text-align:center;margin:0 0 26px}
.p1 h2::after{content:"";display:block;width:20px;height:1px;background:var(--ink);margin:14px auto 0}
.p1 section + section{margin-top:64px}

.t2 .filt a{appearance:none;background:none;border:0;font:inherit;font-family:"Libre Caslon Text",serif;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--sub);padding:12px 20px;cursor:pointer;position:relative}
.t2 .filt a.on{color:var(--ink)}
.t2 .filt a.on::after{content:"";position:absolute;left:20px;right:20px;bottom:-1px;height:1px;background:var(--ink)}
.t2 .filt a:focus-visible{outline:1px solid var(--ink);outline-offset:-4px}
.t2 .filt a{text-decoration:none}
/* ---- 本番のみ(build/build.py) ---- */
html{background:#fff}
body{margin:0}
.A{min-height:100vh}
.A .hd a,.A .ft a,.A .hd a:hover,.A .ft a:hover{color:inherit;text-decoration:none;border-bottom:0}
.A .hd nav a{display:contents}
.A.open .hd nav span{border-bottom:1px solid var(--hair)}
.A.open .hd nav a:last-child span{border-bottom:0}
.t2 button.more{appearance:none;background:none;border:0;font:inherit;font-family:"Libre Caslon Text",serif;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;display:block;width:100%;padding:0}
.t2 .arts article[hidden]{display:none}
.A img{max-width:100%;height:auto}
.k3 .hero .upd{font-size:12px;letter-spacing:.14em;color:var(--acc);border-left:1px solid var(--mid);padding-left:14px}
.kc .basis{font-size:12.5px;color:var(--sub);letter-spacing:.06em;margin:0 0 1.6em;text-indent:0}
.t2 .ftags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.t2 .ftags a{font-size:11.5px;letter-spacing:.14em;line-height:20px;padding:0 8px;border:1px solid var(--hair);color:var(--sub);text-decoration:none}
.t2 .filt + .chips{margin-top:-16px}
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.c1 .map.gmap{background:none;padding:0}
.c1 .map.gmap::before,.c1 .map.gmap::after{content:none}
.c1 .map.gmap iframe{width:100%;height:100%;border:0;filter:grayscale(.5) contrast(.95)}   /* 2026-10-29: 白黒(1)だとピンの赤が消えるため半分に */
.c1 .maplink a{color:var(--sub);text-decoration:none;border-bottom:1px solid var(--hair);padding-bottom:2px}
/* 論文の写真: クリックで拡大(JS があれば画面内に、なければ原寸を別タブで) */
.r2 .side a.zoom{display:block;cursor:zoom-in;border:0}
.zoombox{position:fixed;inset:0;background:rgba(17,17,16,.88);display:flex;align-items:center;justify-content:center;z-index:50;cursor:zoom-out;padding:24px}
.zoombox img{max-width:100%;max-height:100%;box-shadow:0 20px 60px rgba(0,0,0,.4);background:#fff}
/* 印刷 */
@media print{
  .A{min-height:0;font-size:11pt;line-height:1.8}
  .A .hd nav,.A .hd .mbtn,.A .ft .links,.A .pn,.A .rel-sec,.A .rel-sp,.A .more,.A .btn,.A .cta .btn,.A .filt,.A .chips,.A .toc{display:none!important}
  .A .hd{padding:0 0 12pt;border-bottom:1px solid #999}
  .A .ft{padding:12pt 0 0;border-top:1px solid #999;font-size:9pt}
  .A .main{max-width:none;padding:0}
  .kc .hero,.k3 .hero,.s3 .hero{background:none!important;padding:12pt 0}
  .A a{color:inherit;text-decoration:none}
  .A .body a[href^="http"]::after{content:"（" attr(href) "）";font-size:8pt;color:#666}
  .A .tw{overflow:visible} .A table{page-break-inside:avoid} .A h2,.A h3{page-break-after:avoid}
}
.k1 .hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.k1 .form-msg{border:1px solid #8B3A3A;color:#8B3A3A;padding:12px 16px;margin:0 0 20px;font-size:14px;line-height:1.9}
.k1 .form-msg p{margin:0 0 4px} .k1 .form-msg ul{margin:0;padding-left:1.4em}
.k1 button[type=submit]:disabled{opacity:.5;cursor:default}

.A .hd .mbtn{display:none}
@media (max-width:640px){
.A{font-size:15.5px;letter-spacing:.05em;line-height:2;min-height:100%}
/* ヘッダー: 事務所名 + Menu。ナビは開いたときだけ縦に並ぶ */
.A .hd{padding:18px 20px;position:sticky;top:0;background:#fff;z-index:4;border-bottom:1px solid transparent}
.A.open .hd{border-bottom-color:var(--hair)}
.A .hd .mark{font-size:12.5px;letter-spacing:.26em;white-space:nowrap}
.A .hd .mbtn{display:block;appearance:none;background:none;border:0;font:inherit;font-family:"Libre Caslon Text",serif;font-size:11.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink);padding:6px 0 6px 12px;cursor:pointer}
.A .hd nav{display:none}
.A.open .hd nav{display:flex;flex-direction:column;gap:0;position:absolute;left:0;right:0;top:100%;background:#fff;padding:6px 20px 18px;border-bottom:1px solid var(--hair);box-shadow:0 12px 24px -16px rgba(0,0,0,.18)}
.A.open .hd nav span{flex-direction:row;align-items:baseline;gap:14px;padding:11px 0;border-bottom:1px solid var(--hair);font-size:11.5px;letter-spacing:.24em;color:var(--sub)}
.A.open .hd nav span:last-child{border-bottom:0}
.A.open .hd nav span i{font-size:14.5px;letter-spacing:.14em;color:var(--ink)}
.A.open .hd nav span.on{border-bottom:1px solid var(--hair);padding-bottom:11px;color:var(--ink)}
/* フッター */
.A .ft{flex-direction:column;align-items:flex-start;gap:10px;padding:22px 20px 30px;font-size:11.5px;line-height:1.9}
.A .ft .links{gap:16px;flex-wrap:wrap}
/* 本文幅 */
.A .main{padding:8px 20px 56px;max-width:none;box-sizing:border-box}
.A{overflow-x:hidden}
.A img{max-width:100%;height:auto}
.A p{font-size:15.5px;line-height:2}
.A section + section{margin-top:52px}
/* トップ */
.A.tp{min-height:640px}
.A.tp .hero{padding:40px 24px 72px}
.A.tp .name{font-size:24px;letter-spacing:.28em}
/* 題名 */
.A .title{margin-bottom:36px}
.A .title h1,.A .top h1{font-size:20px;letter-spacing:.3em}
.A .p1 .top,.A.p1 .top{margin-bottom:40px}
/* 項目名｜内容 の表は縦積み(項目名を上に) */
.A dl{grid-template-columns:1fr}
.A dt{text-align:left;padding:12px 0 0;border-top:1px solid var(--hair);font-size:12.5px}
.A dd{padding:2px 0 12px;border-top:0}
.A dl > :nth-last-child(-n+2){border-bottom:0}
.A dl > dd:last-child{border-bottom:1px solid var(--hair)}
.A .tbl .h{display:none}
.A .case dl{grid-template-columns:84px 1fr}
.A .case dt,.A .case dd{border:0;padding:0}
/* 弁護士一覧 */
.A.L .people{grid-template-columns:1fr;gap:0}
.A.L .person{border-bottom:0;padding:28px 0}
.A.L .person:last-child{border-bottom:1px solid var(--hair)}
/* アクセス */
.A.c1 .map{height:240px}
/* 流れ(横一列) → 縦の表 */
.A .flow-h{display:flex;flex-direction:column;gap:0}
.A .flow-h::before{display:none}
.A .flow-h li{display:grid;grid-template-columns:36px 1fr;gap:0 12px;text-align:left;padding:14px 0;border-top:1px solid var(--hair)}
.A .flow-h li:last-child{border-bottom:1px solid var(--hair)}
.A .flow-h .n{margin:0;width:auto;background:none;text-align:left;grid-row:1/3;line-height:1.7}
.A .flow-h .t{margin-bottom:2px;font-size:15px}
.A .flow-h .d{grid-column:2}
/* 顧問契約 */
.A.vf .cards{grid-template-columns:1fr;gap:12px}
/* お問い合わせ */
.A.k1 textarea{min-height:120px}
/* 一覧 */
.A.t2 .filt{justify-content:flex-start;overflow-x:auto;scrollbar-width:none}
.A.t2 .filt::-webkit-scrollbar{display:none}
.A.t2 .filt button{padding:12px 13px;font-size:12.5px;flex:none}
.A.t2 .arts article{grid-template-columns:1fr;gap:8px;padding:20px 0}
.A.t2 .arts .m{flex-direction:row;align-items:center;gap:12px;padding-top:0}
.A.t2 .arts h2{font-size:16px}
/* 記事(ニュース・論文) */
.A.r2 h1{font-size:18px;margin-bottom:24px;padding-bottom:16px}
.A.r2 .body.has-img{grid-template-columns:1fr;gap:20px}
.A.r2 figure.side img{max-width:240px}
.A .pn{grid-template-columns:1fr;gap:14px;margin-top:56px}
.A .pn .next{text-align:left;align-items:flex-start}
.A .pn .back{justify-self:start;order:3;margin-top:6px}
/* 特集 */
.A.s3 .hero{padding:26px 20px 30px;margin:0 0 40px}
.A.s3 .hero h1{font-size:18.5px;letter-spacing:.06em}
.A.s3 .hero h1 .t1{white-space:normal;text-wrap:balance}
.A.s3 .hero h1 .t2{font-size:14px}
.A.s3 .hero .chips{flex-direction:column;gap:4px;margin-top:16px;font-size:12px}
.A.s3 .hero .chips span{border-left:0;padding:0}
.A.s3 h2{font-size:16px;letter-spacing:.2em}
.A.s3 .chk{grid-template-columns:1fr}
.A.s3 .chk li{grid-template-columns:1fr;gap:0;padding:10px 0}
.A.s3 .plans{grid-template-columns:1fr;gap:12px}
.A.s3 .reasons.big li{grid-template-columns:44px 1fr;padding:16px 0}
.A.s3 .reasons.big .n{font-size:22px}
.A.s3 .cta{padding:28px 20px;margin-top:52px}
.A.s3 .plain li{font-size:15px}
/* コラム */
.A.k3 .hero{padding:26px 20px 30px;margin-bottom:36px}
.A.k3 .hero h1{font-size:18.5px;letter-spacing:.04em;line-height:1.75}
.A.k3 .hero .lead{font-size:14px;margin-top:18px}
.A .kc .toc{padding:0 0 0 16px;margin-bottom:44px}
.A .kc .toc ol{font-size:13px}
.A .kc .body h2{font-size:16px;letter-spacing:.16em;margin:52px 0 24px}
.A .kc .body h3{font-size:15.5px;margin-top:36px}
.A .kc .body > p{font-size:15.5px}
.A .kc table{font-size:13px}
.A .kc table:has(td:nth-child(3)){min-width:520px}
.A .kc th{padding:8px 10px;white-space:normal}
.A .kc td{padding:10px 10px}
.A .kc td:first-child{min-width:5.5em}
.A .kc blockquote{padding:12px 16px;font-size:14.5px}
.A .kc .q{padding:14px 16px}
.A .kc .rel li{flex-direction:column;gap:0}
.A.k3 .rel.cards{grid-template-columns:1fr;gap:10px}
/* 特集(相続・セカンド・控訴) */
.A.s3 .band{grid-template-columns:1fr;gap:10px}
.A .pc{grid-template-columns:1fr;gap:24px}
.A .plain.two{column-count:1}
.A .voices li{font-size:15px}
/* 404・メンテナンス・分野別 */
.A.nf3 .map{grid-template-columns:1fr;gap:24px}
.A .nf-links{flex-wrap:wrap;gap:8px 0}
.A.mt .main{padding:24px 24px 56px}
.A .chips{gap:6px 4px}
}
