/*
Theme Name: 西荻司法書士2026_v2.6.14
Theme URI: https://nishiogi-office.com/
Author: Ethos
Description: 西荻司法書士事務所 2026年リニューアルテーマ。PC・スマートフォン完全レスポンシブ対応。
Version: 2.6.14
Text Domain: nishiogi-office-2026
*/
:root{--navy:#0d3155;--teal:#218a93;--ink:#1f3345;--muted:#697b89;--line:#d9e3e8;--max:1180px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased}body.admin-bar .site-header{top:32px}img{max-width:100%;height:auto}a{color:var(--teal);text-underline-offset:.18em}a:hover{color:var(--navy)}button,input,textarea,select{font:inherit}.site-shell{width:min(var(--max),calc(100% - 48px));margin-left:auto;margin-right:auto}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pc-only{display:block}
.site-header{position:sticky;z-index:100;top:0;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-top{height:98px;display:flex;align-items:center;gap:28px}.brand--image{display:block;flex:0 1 350px;max-width:350px;min-width:250px}.brand__logo{display:block;width:100%;height:auto}.header-contact{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}.header-contact__note{font-size:11px;color:var(--muted);margin-bottom:5px}.header-phone{display:flex;gap:8px;align-items:center;text-decoration:none;color:var(--teal);font-family:Georgia,"Times New Roman",serif;font-size:28px;font-weight:700;letter-spacing:.04em}.header-phone__icon{font-family:sans-serif;font-size:22px}.header-nav-row{border-top:1px solid #edf1f3}.header-nav{display:flex;justify-content:center}.primary-menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;justify-content:center}.primary-menu a{display:block;padding:17px 31px 15px;color:var(--navy);text-decoration:none;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:16px;font-weight:700;letter-spacing:.04em;border-bottom:3px solid transparent}.primary-menu a:hover,.primary-menu .current-menu-item>a,.primary-menu .current_page_item>a{color:var(--teal);border-bottom-color:var(--teal)}.menu-toggle{display:none;border:0;background:transparent;width:46px;height:46px;padding:9px;cursor:pointer}.menu-toggle span{display:block;height:3px;background:var(--navy);margin:6px 0;border-radius:2px;transition:.2s}
.hero{position:relative;min-height:440px;background-image:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.88) 36%,rgba(255,255,255,.25) 66%,rgba(255,255,255,.05) 100%),url("assets/images/hero-office.jpg");background-size:cover;background-position:center 52%;overflow:hidden}.hero-inner{min-height:440px;display:flex;align-items:center;position:relative;z-index:1}.hero-copy{width:min(760px,70%);padding:66px 0}.hero h1{margin:0;color:var(--navy);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(31px,2.8vw,42px);line-height:1.65;letter-spacing:.05em;font-weight:700;text-shadow:0 1px 0 rgba(255,255,255,.8)}.hero-rule{display:block;width:58px;height:2px;background:var(--teal);margin:24px 0 22px}.hero-lead{margin:0;color:#24394c;font-size:16px;line-height:1.9;font-weight:600}
.home-section{padding:58px 0}.section-heading{margin:0 0 35px}.section-heading--center{text-align:center}.section-label{margin:0 0 5px;color:var(--teal);font-size:11px;letter-spacing:.17em;font-weight:800}.section-heading h2,.about-copy h2{margin:0;color:var(--navy);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;line-height:1.45;letter-spacing:.06em}.section-heading h2{font-size:30px}.section-heading>p:last-child{margin:6px 0 0;color:#566b7a;font-size:14px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{display:flex;min-width:0;flex-direction:column;align-items:center;text-align:center;padding:28px 21px 22px;border:1px solid #d6e0e6;border-radius:7px;background:#fff;color:var(--ink);text-decoration:none;transition:.2s}.service-card:hover{transform:translateY(-3px);border-color:#9fc6ca;box-shadow:0 9px 26px rgba(13,49,85,.08);color:var(--ink)}.service-card__icon{display:grid;place-items:center;width:72px;height:72px;margin-bottom:12px}.service-card__icon svg{width:60px;height:60px;fill:none;stroke:var(--navy);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.service-card__body{display:flex;min-height:184px;flex-direction:column;align-items:center}.service-card h3{margin:0 0 10px;color:var(--navy);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:20px;letter-spacing:.05em}.service-card p{margin:0;font-size:13px;line-height:1.8;color:#34495a}.service-card__more{margin-top:auto;padding-top:14px;color:var(--teal);font-weight:800;font-size:13px}.about-section{padding:0;background:linear-gradient(90deg,#f3f7f8,#fff)}.about-grid{display:grid;grid-template-columns:1fr 1.15fr;align-items:stretch;min-height:330px}.about-photo{margin-left:calc((100vw - min(var(--max),calc(100vw - 48px)))/-2);overflow:hidden}.about-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.about-copy{padding:56px 30px 56px 60px;align-self:center}.about-copy h2{font-size:28px;margin-bottom:18px}.about-copy p{margin:0 0 12px;font-size:14px;line-height:1.9}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 24px;border-radius:4px;border:1px solid var(--teal);text-decoration:none;font-size:13px;font-weight:800}.button--primary{margin-top:10px;background:var(--teal);color:#fff}.button--primary:hover{background:var(--navy);border-color:var(--navy);color:#fff}.news-list{max-width:900px;margin:0 auto;border-top:1px solid var(--line)}.news-list article{display:grid;grid-template-columns:140px 1fr;gap:20px;padding:18px 4px;border-bottom:1px solid var(--line)}.news-list time{font-size:13px;color:var(--muted)}.news-list a{text-decoration:none;color:var(--ink);font-weight:650}
.page-hero{padding:54px 0 44px;background:linear-gradient(135deg,#f4f8fa,#fff);border-bottom:1px solid var(--line)}.page-hero__label{margin:0 0 5px;color:var(--teal);font-size:11px;letter-spacing:.16em;font-weight:800}.page-hero h1{margin:0;color:var(--navy);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(30px,4vw,42px);line-height:1.4}.breadcrumbs{padding:12px 0;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.breadcrumbs a{color:var(--muted)}.content-wrap{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:52px;padding:54px 0 82px;align-items:start}.content-wrap--single{grid-template-columns:minmax(0,820px);justify-content:center}.entry-content{min-width:0;font-size:16px}.entry-content>:first-child{margin-top:0}.entry-content h2{margin:2.2em 0 .8em;padding-bottom:.45em;border-bottom:2px solid var(--navy);color:var(--navy);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:27px;line-height:1.5}.entry-content h3,.entry-content h4{margin:2em 0 .6em;color:var(--navy);line-height:1.5}.entry-content h3{padding-left:13px;border-left:4px solid var(--teal);font-size:21px}.entry-content h4{font-size:18px}.entry-content p{margin:0 0 1.35em}.entry-content ul,.entry-content ol{margin:0 0 1.6em;padding-left:1.6em}.entry-content li{margin:.45em 0}.entry-content img.alignright{float:right;margin:0 0 20px 28px;border-radius:10px}.entry-content img.alignleft{float:left;margin:0 28px 20px 0;border-radius:10px}.entry-content::after{content:"";display:block;clear:both}.entry-content iframe{width:100%;max-width:100%;border:0;min-height:420px}.entry-content table{width:100%!important;border-collapse:collapse;margin:24px 0 32px;border:1px solid var(--line);font-size:14px}.entry-content th,.entry-content td{width:auto!important;padding:13px 14px;border:1px solid var(--line);vertical-align:top;text-align:left}.entry-content th{background:#f3f7f9;color:var(--navy);font-weight:700}.entry-content td.price{color:var(--navy);font-size:16px;font-weight:800;white-space:nowrap}.entry-content a{overflow-wrap:anywhere}.side-card{position:sticky;top:160px;border:1px solid var(--line);background:#fff;box-shadow:0 8px 24px rgba(13,49,85,.06)}.side-card__head{padding:17px 19px;background:var(--navy);color:#fff}.side-card__head p{margin:0;font-size:12px;opacity:.78}.side-card__head strong{display:block;margin-top:3px;font-size:17px}.side-card__body{padding:18px 20px 21px}.side-card__body p{margin:0 0 10px;font-size:13px;color:var(--muted)}.side-card__phone{display:block;color:var(--navy);text-decoration:none;font-size:23px;line-height:1.4;font-weight:800}.side-card__link{display:block;margin-top:15px;padding-top:14px;border-top:1px solid var(--line);font-weight:700;text-decoration:none}.post-list{display:grid;gap:18px}.post-card{padding:24px;border:1px solid var(--line)}.post-card time{color:var(--muted);font-size:12px}.post-card h2{margin:5px 0 8px;font-size:21px}.post-card h2 a{color:var(--navy);text-decoration:none}.post-card p{margin:0;color:var(--muted)}
.contact-band{background:var(--navy);color:#fff}.contact-band__inner{display:grid;grid-template-columns:1fr auto;gap:36px;align-items:center;padding:42px 0}.contact-band h2{margin:0 0 6px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:27px}.contact-band p{margin:0;color:rgba(255,255,255,.78)}.contact-band__phone{color:#fff;text-decoration:none;text-align:right}.contact-band__phone small{display:block;opacity:.72;font-size:12px}.contact-band__phone strong{display:block;font-size:29px;letter-spacing:.04em}.site-footer{padding:42px 0 23px;background:#0a2745;color:#d9e4eb}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:46px}.footer-name{margin:0 0 8px;color:#fff;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:22px}.footer-address{margin:0;color:#b9c8d3;font-size:13px}.footer-nav{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 18px}.footer-nav a{color:#d9e4eb;text-decoration:none;font-size:13px}.footer-bottom{margin-top:32px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);color:#90a3b1;font-size:11px}.mobile-actions{display:none}
@media(max-width:980px){.site-shell{width:min(var(--max),calc(100% - 36px))}.brand--image{max-width:315px}.primary-menu a{padding-left:22px;padding-right:22px}.service-grid{grid-template-columns:repeat(2,1fr)}.content-wrap{grid-template-columns:minmax(0,1fr) 250px;gap:32px}.about-photo{margin-left:calc((100vw - min(var(--max),calc(100vw - 36px)))/-2)}}
@media(max-width:760px){body{font-size:15px;line-height:1.8;padding-bottom:62px}body.admin-bar .site-header{top:46px}.site-shell{width:calc(100% - 28px)}.pc-only{display:none}.header-top{height:72px;gap:10px}.brand--image{flex:1;min-width:0;max-width:265px}.header-contact{display:none}.menu-toggle{display:block;margin-left:auto}.header-nav-row{position:fixed;left:0;right:0;top:72px;z-index:101;background:#fff;box-shadow:0 12px 30px rgba(13,49,85,.12);transform:translateY(-140%);opacity:0;visibility:hidden;transition:.25s}.admin-bar .header-nav-row{top:118px}.site-header.is-open .header-nav-row{transform:translateY(0);opacity:1;visibility:visible}.header-nav{display:block}.primary-menu{display:block}.primary-menu li+li{border-top:1px solid var(--line)}.primary-menu a{padding:14px 20px;border:0;font-family:inherit;font-size:14px}.site-header.is-open .menu-toggle span:nth-child(1){transform:translateY(9px) rotate(45deg)}.site-header.is-open .menu-toggle span:nth-child(2){opacity:0}.site-header.is-open .menu-toggle span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}.hero{min-height:350px;background-image:linear-gradient(180deg,rgba(255,255,255,.06) 0%,rgba(255,255,255,.38) 42%,rgba(255,255,255,.94) 100%),url("assets/images/hero-office.jpg");background-position:center top}.hero-inner{min-height:350px;align-items:flex-end}.hero-copy{width:100%;padding:105px 0 28px;text-align:center}.hero h1{font-size:clamp(23px,6.2vw,26px);line-height:1.55;letter-spacing:.035em}.hero-rule{margin:15px auto 14px;width:52px}.hero-lead{font-size:12px;line-height:1.75;font-weight:700}.home-section{padding:45px 0}.section-heading{margin-bottom:24px}.section-heading h2{font-size:27px}.service-grid{grid-template-columns:1fr;gap:8px}.service-card{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:center;text-align:left;padding:14px 15px}.service-card__icon{width:62px;height:62px;margin:0}.service-card__icon svg{width:48px;height:48px}.service-card__body{display:block;min-height:0}.service-card h3{margin:0 0 3px;font-size:17px}.service-card p{font-size:12px;line-height:1.65}.service-card__more{display:block;padding-top:4px;text-align:right;font-size:12px}.about-grid{grid-template-columns:1fr;min-height:0}.about-photo{margin:0 -14px;height:230px}.about-copy{padding:36px 4px 42px}.about-copy h2{font-size:25px}.about-copy p{font-size:13px}.news-list article{grid-template-columns:1fr;gap:2px;padding:14px 2px}.page-hero{padding:38px 0 30px}.page-hero h1{font-size:30px}.content-wrap{grid-template-columns:1fr;gap:28px;padding:38px 0 60px}.entry-content{font-size:15px}.entry-content h2{font-size:23px}.entry-content h3{font-size:19px}.entry-content img.alignright,.entry-content img.alignleft{float:none;display:block;margin:0 auto 22px}.entry-content iframe{min-height:320px}.entry-content table{display:block;width:100%!important;overflow-x:auto;-webkit-overflow-scrolling:touch;font-size:13px}.entry-content th,.entry-content td{min-width:130px;padding:10px}.side-card{position:static}.contact-band__inner{grid-template-columns:1fr;gap:16px;padding:34px 0}.contact-band h2{font-size:23px}.contact-band__phone{text-align:left}.contact-band__phone strong{font-size:26px}.footer-grid{grid-template-columns:1fr;gap:26px}.footer-nav{grid-template-columns:1fr 1fr}.site-footer{padding-bottom:28px}.mobile-actions{position:fixed;z-index:110;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;min-height:62px;box-shadow:0 -7px 20px rgba(13,49,85,.18)}.mobile-actions a{display:flex;align-items:center;justify-content:center;text-decoration:none;color:#fff;font-weight:800;font-size:14px}.mobile-actions__phone{background:var(--teal)}.mobile-actions__map{background:var(--navy)}}
@media(max-width:420px){.brand--image{max-width:245px}.service-card{grid-template-columns:64px 1fr;padding:13px 12px}.service-card__icon svg{width:44px;height:44px}}


/* =========================================================
   v2.5.0 業務案内・子ページ共通レイアウト
   ========================================================= */
.service-subnav{border-bottom:1px solid var(--line);background:#fff}
.service-subnav__inner{display:flex;gap:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.service-subnav__inner::-webkit-scrollbar{display:none}
.service-subnav a{flex:1 0 auto;min-width:150px;padding:13px 18px;text-align:center;text-decoration:none;color:var(--navy);font-size:13px;font-weight:800;border-bottom:3px solid transparent;white-space:nowrap}
.service-subnav a:hover,.service-subnav a.is-current{color:var(--teal);border-bottom-color:var(--teal);background:#f8fbfc}

body.page-occupation .content-wrap,
body.page-real-estate-registration .content-wrap,
body.page-commercial-registration .content-wrap,
body.page-litigation-support .content-wrap,
body.page-document-preparation .content-wrap{grid-template-columns:minmax(0,1040px);justify-content:center;gap:0}

.nishiogi-service-index,.nishiogi-service-page{width:100%;max-width:1040px;margin:0 auto}
.nishiogi-service-index .service-intro,.nishiogi-service-page .service-intro{max-width:860px;margin:0 auto 34px;text-align:left}
.nishiogi-service-index .section-label,.nishiogi-service-page .section-label{margin:0 0 8px;color:var(--teal);font-size:12px;font-weight:800;letter-spacing:.16em}
.nishiogi-service-index .service-lead,.nishiogi-service-page .service-lead{font-size:18px;line-height:2;color:#34495a}
.nishiogi-service-index>section,.nishiogi-service-page>section{margin:0 0 54px}
.nishiogi-service-page>section h3,.nishiogi-service-index>section h3{margin-top:0}

.service-main-image{margin:0 auto 46px;max-width:900px}
.service-main-image img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:14px;box-shadow:0 10px 30px rgba(13,49,85,.09)}
.service-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:34px 0 54px}
.service-image-grid figure{margin:0}
.service-image-grid img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:12px}
.service-check-list{margin:20px 0 26px;padding:22px 26px;background:#f5f9fa;border-left:4px solid var(--teal)}
.service-check-list ul{margin:0;padding-left:1.35em}
.service-check-list li{margin:.55em 0}
.service-contact-box{padding:30px 32px!important;background:#f2f7f8;border:1px solid var(--line);border-radius:14px}
.service-contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.service-contact-actions .button{margin-top:0}
.button--ghost{background:#fff;color:var(--navy);border-color:var(--navy)}
.button--ghost:hover{background:var(--navy);color:#fff}

/* 親ページ4業務カード: 固定ページ内のinline指定より優先して安定化 */
.nishiogi-service-index article{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line)!important;border-radius:14px!important;overflow:hidden;background:#fff;box-shadow:0 5px 18px rgba(13,49,85,.04)}
.nishiogi-service-index article>a:first-child{display:block;overflow:hidden}
.nishiogi-service-index article>a:first-child img{display:block;width:100%!important;aspect-ratio:16/9!important;object-fit:cover!important;transition:transform .3s ease}
.nishiogi-service-index article:hover>a:first-child img{transform:scale(1.025)}
.nishiogi-service-index article>div{display:flex;flex:1;flex-direction:column;padding:24px!important}
.nishiogi-service-index article>div .button{margin-top:auto;align-self:flex-start}
.nishiogi-service-index article h3{font-size:22px;margin-bottom:12px}
.nishiogi-service-index article p{font-size:14px;line-height:1.9}

/* 画像用ユーティリティ */
.service-photo-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:34px 0 50px}
.service-photo-row figure{margin:0}
.service-photo-row img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:10px}

@media(max-width:760px){
  .service-subnav__inner{margin:0 -14px;padding:0 14px}
  .service-subnav a{min-width:135px;padding:11px 14px;font-size:12px}
  .nishiogi-service-index .service-lead,.nishiogi-service-page .service-lead{font-size:16px;line-height:1.9}
  .nishiogi-service-index>section,.nishiogi-service-page>section{margin-bottom:42px}
  .service-main-image{margin-bottom:34px}
  .service-main-image img{border-radius:10px;aspect-ratio:4/3}
  .service-image-grid{grid-template-columns:1fr;gap:14px;margin:26px 0 42px}
  .service-image-grid img{aspect-ratio:16/10}
  .service-check-list{padding:18px 18px}
  .service-contact-box{padding:22px 18px!important}
  .service-contact-actions{display:grid;grid-template-columns:1fr}
  .service-contact-actions .button{width:100%}
  .nishiogi-service-index article>div{padding:20px!important}
  .nishiogi-service-index article h3{font-size:20px}
  .service-photo-row{grid-template-columns:1fr;gap:12px;margin:26px 0 40px}
  .service-photo-row img{aspect-ratio:16/10}
}


/* トップページ業務カード：写真版 */
.service-grid--photos .service-card--photo{padding:0;overflow:hidden;align-items:stretch}
.service-card__photo{display:block;overflow:hidden;background:#eef4f5}
.service-card__photo img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .3s ease}
.service-card--photo:hover .service-card__photo img{transform:scale(1.025)}
.service-card--photo .service-card__body{padding:18px 18px 20px;min-height:175px}
@media(max-width:760px){
 .service-grid--photos .service-card--photo{grid-template-columns:108px 1fr;padding:0}
 .service-grid--photos .service-card__photo{height:100%}
 .service-grid--photos .service-card__photo img{height:100%;aspect-ratio:auto;object-fit:cover}
 .service-card--photo .service-card__body{padding:15px 14px;min-height:0}
}


/* =========================================================
   v2.5.1 業務案内レイアウト修正
   - service page はサイドバー無しの1カラム
   - 親ページの4業務カードはPC 2列 / mobile 1列
   ========================================================= */
.content-wrap.content-wrap--service{
  display:block !important;
  grid-template-columns:none !important;
  width:min(var(--max),calc(100% - 48px));
  max-width:1120px;
  margin-inline:auto;
  padding:54px 0 82px;
}
.content-wrap--service > .entry-content{
  display:block;
  width:100%;
  max-width:1040px;
  margin:0 auto;
  min-width:0;
}
.content-wrap--service .nishiogi-service-index,
.content-wrap--service .nishiogi-service-page{
  width:100%;
  max-width:none;
  margin:0;
}

/* 親「業務案内」のカード群。固定ページ内inline CSSよりテーマを優先 */
.nishiogi-service-index > section:nth-of-type(2) > div{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:24px !important;
  width:100% !important;
  max-width:none !important;
  margin:36px 0 0 !important;
  align-items:stretch;
}
.nishiogi-service-index > section:nth-of-type(2) article{
  float:none !important;
  position:static !important;
  width:auto !important;
  max-width:none !important;
  height:auto !important;
  margin:0 !important;
  clear:none !important;
}
.nishiogi-service-index > section:nth-of-type(2) article > a:first-child{
  display:block !important;
  width:100% !important;
}
.nishiogi-service-index > section:nth-of-type(2) article > a:first-child img{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  height:auto !important;
  aspect-ratio:16/9 !important;
  object-fit:cover !important;
  margin:0 !important;
  float:none !important;
}
.nishiogi-service-index > section:nth-of-type(2) article > div{
  width:100% !important;
  min-width:0;
  padding:24px !important;
}
.nishiogi-service-index > section:nth-of-type(2) article .button{
  display:inline-flex;
  width:auto;
  max-width:100%;
}

/* 親ページ上部と下部の読み幅を揃える */
.nishiogi-service-index .service-intro{
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
}
.nishiogi-service-index > section:nth-of-type(n+3){
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
}

@media(max-width:980px){
  .content-wrap.content-wrap--service{
    width:min(var(--max),calc(100% - 36px));
  }
}
@media(max-width:760px){
  .content-wrap.content-wrap--service{
    width:calc(100% - 28px);
    padding:38px 0 60px;
  }
  .nishiogi-service-index > section:nth-of-type(2) > div{
    grid-template-columns:1fr !important;
    gap:16px !important;
    margin-top:28px !important;
  }
  .nishiogi-service-index > section:nth-of-type(2) article > div{
    padding:20px 18px !important;
  }
  .nishiogi-service-index > section:nth-of-type(2) article .button{
    width:100%;
  }
}


/* =========================================================
   v2.5.2 レスポンシブ強化
   viewport幅だけに依存せずカードが自動で1/2列に変化
   ========================================================= */
html,body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

.content-wrap.content-wrap--service{
  box-sizing:border-box;
  width:min(1120px,calc(100% - 48px)) !important;
  max-width:1120px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.content-wrap--service > .entry-content,
.content-wrap--service .nishiogi-service-index,
.content-wrap--service .nishiogi-service-page{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}

/* 親ページ4業務。幅に応じて自動で2列→1列 */
.nishiogi-service-index > section:nth-of-type(2) > div{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr)) !important;
  gap:24px !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:34px 0 0 !important;
}
.nishiogi-service-index > section:nth-of-type(2) article{
  display:flex !important;
  flex-direction:column !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  overflow:hidden !important;
}
.nishiogi-service-index > section:nth-of-type(2) article > a:first-child,
.nishiogi-service-index > section:nth-of-type(2) article > a:first-child img{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}
.nishiogi-service-index > section:nth-of-type(2) article > div{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}

/* 900px以下はヘッダーを確実にモバイル化 */
@media screen and (max-width:900px){
  body{padding-bottom:62px}
  .site-shell{width:calc(100% - 28px) !important;max-width:none !important}
  .header-top{height:72px !important;gap:10px !important}
  .brand--image{flex:1 1 auto !important;min-width:0 !important;max-width:265px !important}
  .header-contact{display:none !important}
  .menu-toggle{display:block !important;margin-left:auto !important}
  .header-nav-row{
    position:fixed !important;
    left:0 !important;right:0 !important;top:72px !important;
    z-index:101 !important;background:#fff !important;
    box-shadow:0 12px 30px rgba(13,49,85,.12) !important;
    transform:translateY(-140%) !important;
    opacity:0 !important;visibility:hidden !important;
    transition:.25s !important;
  }
  .site-header.is-open .header-nav-row{
    transform:translateY(0) !important;
    opacity:1 !important;visibility:visible !important;
  }
  .header-nav{display:block !important}
  .primary-menu{display:block !important;width:100% !important}
  .primary-menu li{display:block !important;width:100% !important}
  .primary-menu li+li{border-top:1px solid var(--line)}
  .primary-menu a{display:block !important;padding:14px 20px !important;border:0 !important;font-family:inherit !important;font-size:14px !important}
  .content-wrap.content-wrap--service{
    width:calc(100% - 28px) !important;
    padding:38px 0 60px !important;
  }
  .nishiogi-service-index > section:nth-of-type(2) > div{
    grid-template-columns:1fr !important;
    gap:16px !important;
    margin-top:26px !important;
  }
  .nishiogi-service-index > section:nth-of-type(2) article > div{
    padding:20px 18px !important;
  }
  .nishiogi-service-index > section:nth-of-type(2) article .button{
    width:100% !important;
  }
}

@media screen and (max-width:420px){
  .brand--image{max-width:235px !important}
  .content-wrap.content-wrap--service{width:calc(100% - 22px) !important}
}


/* =========================================================
   v2.5.3 トップページ整理
   - 4業務カードはアイコン表示
   - 女性写真は「初めての方へ」に1枚のみ
   - 女性司法書士の文言を明示
   ========================================================= */
.home-hero__eyebrow{
  margin:0 0 12px;
  color:var(--teal);
  font-size:14px;
  line-height:1.5;
  font-weight:800;
  letter-spacing:.08em;
}
.home-service-grid .service-card{
  padding:28px 21px 22px;
}
.home-service-grid .service-card__body{
  min-height:184px;
}
.first-visit-section{
  padding:0 0 58px;
}
.first-visit-grid{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(240px,.8fr) minmax(220px,.7fr);
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
  background:#fff;
}
.first-visit-copy{
  padding:34px 38px;
  align-self:center;
}
.first-visit-copy h2{
  margin:0 0 16px;
  color:var(--navy);
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:26px;
  letter-spacing:.04em;
}
.first-visit-copy p{
  margin:0 0 10px;
  font-size:14px;
  line-height:1.9;
}
.first-visit-photo{
  min-height:260px;
  background:#eef4f5;
}
.first-visit-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 35%;
}
.first-visit-contact{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:12px;
  padding:24px;
  background:#f4f8f9;
}
.first-visit-phone{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  column-gap:10px;
  padding:18px;
  border-radius:6px;
  background:var(--teal);
  color:#fff;
  text-decoration:none;
}
.first-visit-phone>span{grid-row:1 / span 2;font-size:25px;line-height:1}
.first-visit-phone strong{font-size:21px;line-height:1.2;letter-spacing:.03em}
.first-visit-phone small{font-size:10px;opacity:.88}
.first-visit-button{
  width:100%;
  margin-top:0;
}

@media(max-width:900px){
  .first-visit-grid{
    grid-template-columns:1fr 1fr;
  }
  .first-visit-copy{
    grid-column:1 / -1;
  }
  .first-visit-photo{min-height:230px}
}
@media(max-width:760px){
  .home-hero__eyebrow{font-size:12px;margin-bottom:9px}
  .home-service-grid{grid-template-columns:1fr 1fr;gap:12px}
  .home-service-grid .service-card{
    display:flex;
    flex-direction:column;
    grid-template-columns:none;
    padding:20px 14px;
    text-align:center;
  }
  .home-service-grid .service-card__icon{width:58px;height:58px;margin:0 auto 8px}
  .home-service-grid .service-card__icon svg{width:48px;height:48px}
  .home-service-grid .service-card__body{display:flex;min-height:160px;align-items:center;padding:0}
  .home-service-grid .service-card h3{font-size:17px;margin-bottom:7px}
  .home-service-grid .service-card p{font-size:12px;line-height:1.65}
  .home-service-grid .service-card__more{font-size:12px;padding-top:10px}
  .first-visit-section{padding-bottom:46px}
  .first-visit-grid{grid-template-columns:1fr}
  .first-visit-copy{grid-column:auto;padding:26px 22px}
  .first-visit-copy h2{font-size:23px}
  .first-visit-photo{min-height:220px}
  .first-visit-contact{padding:18px}
}
@media(max-width:430px){
  .home-service-grid{grid-template-columns:1fr}
  .home-service-grid .service-card__body{min-height:0}
}

/* =========================================================
   v2.5.4 業務案内親ページを専用テンプレート化
   固定ページ本文・inline CSS に依存せず、常に全幅で安定表示
   ========================================================= */
.page-hero--compact{padding:38px 0 30px}
.occupation-index-v2{
  width:min(var(--max),calc(100% - 48px));
  margin:0 auto;
  padding:52px 0 72px;
}
.occupation-index-v2__intro{
  max-width:900px;
  margin:0 auto 38px;
}
.occupation-index-v2__intro h2{
  margin:0 0 16px;
  color:var(--navy);
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:30px;
  line-height:1.55;
  letter-spacing:.04em;
}
.occupation-index-v2__intro p:not(.section-label){
  margin:0 0 12px;
  font-size:15px;
  line-height:1.95;
}
.occupation-card-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:20px;
  width:100%;
  margin:0 0 52px;
}
.occupation-card{
  grid-column:span 2;
  display:flex;
  min-width:0;
  min-height:430px;
  flex-direction:column;
  align-items:center;
  padding:28px 24px 24px;
  border:1px solid #d6e0e6;
  border-radius:10px;
  background:#fff;
  color:var(--ink);
  text-align:center;
  text-decoration:none;
  transition:.2s ease;
}
.occupation-card:hover{
  transform:translateY(-3px);
  border-color:#9fc6ca;
  box-shadow:0 10px 28px rgba(13,49,85,.08);
  color:var(--ink);
}
.occupation-card:nth-last-child(2){grid-column:2 / span 2}
.occupation-card:nth-last-child(1){grid-column:4 / span 2}
.occupation-card__icon{
  display:grid;
  place-items:center;
  width:72px;
  height:72px;
  margin-bottom:12px;
}
.occupation-card__icon svg{
  width:58px;
  height:58px;
  fill:none;
  stroke:var(--navy);
  stroke-width:2.4;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.occupation-card__en{
  margin-bottom:7px;
  color:var(--teal);
  font-size:10px;
  line-height:1.4;
  font-weight:800;
  letter-spacing:.13em;
}
.occupation-card h3{
  margin:0 0 12px;
  color:var(--navy);
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:21px;
  line-height:1.45;
}
.occupation-card p{
  margin:0;
  font-size:13px;
  line-height:1.85;
  text-align:left;
}
.occupation-card__more{
  margin-top:auto;
  padding-top:18px;
  color:var(--teal);
  font-size:13px;
  font-weight:800;
}
.occupation-help-box{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:36px;
  align-items:center;
  padding:30px 34px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#f4f8f9;
}
.occupation-help-box h2{
  margin:0 0 10px;
  color:var(--navy);
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:23px;
  line-height:1.55;
}
.occupation-help-box p:not(.section-label){margin:0;line-height:1.85;font-size:14px}
.occupation-help-box__actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.occupation-help-box__actions .button{margin:0;white-space:nowrap}

@media(max-width:900px){
  .occupation-index-v2{width:calc(100% - 32px);padding:42px 0 58px}
  .occupation-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .occupation-card,
  .occupation-card:nth-last-child(2),
  .occupation-card:nth-last-child(1){grid-column:auto;min-height:315px}
  .occupation-help-box{grid-template-columns:1fr;gap:20px}
  .occupation-help-box__actions{justify-content:flex-start}
}
@media(max-width:620px){
  .occupation-index-v2{width:calc(100% - 26px);padding:34px 0 48px}
  .occupation-index-v2__intro{margin-bottom:28px}
  .occupation-index-v2__intro h2{font-size:25px}
  .occupation-card-grid{grid-template-columns:1fr;gap:13px;margin-bottom:38px}
  .occupation-card{min-height:0;padding:22px 20px;align-items:flex-start;text-align:left}
  .occupation-card__icon{width:54px;height:54px;margin-bottom:8px}
  .occupation-card__icon svg{width:46px;height:46px}
  .occupation-card p{text-align:left}
  .occupation-card__more{padding-top:12px}
  .occupation-help-box{padding:24px 20px}
  .occupation-help-box__actions{display:grid;grid-template-columns:1fr;width:100%}
  .occupation-help-box__actions .button{width:100%}
}


/* =========================================================
   v2.5.5 COLUMN / コメント完全無効化対応
   ========================================================= */
.column-section{background:#f7fafb}
.column-section .section-heading{margin-bottom:26px}
.column-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.column-card{display:flex;flex-direction:column;min-width:0;padding:23px 24px 22px;background:#fff;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);transition:.2s ease}
.column-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(13,49,85,.08);color:var(--ink)}
.column-card__date{margin:0 0 8px;color:var(--teal);font-size:12px;font-weight:800;letter-spacing:.08em}
.column-card h3{margin:0 0 11px;color:var(--navy);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:19px;line-height:1.55}
.column-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.8}
.column-card__more{margin-top:auto;padding-top:14px;color:var(--teal);font-size:12px;font-weight:800}
.column-section__footer{text-align:center;margin-top:24px}
.column-meta{margin:0 0 24px;color:var(--muted);font-size:13px}
.column-back{margin-top:38px;padding-top:22px;border-top:1px solid var(--line)}
.column-back a{font-weight:800;text-decoration:none}
@media(max-width:760px){.column-grid{grid-template-columns:1fr;gap:10px}.column-card{padding:18px 18px 17px}.column-card h3{font-size:18px}.column-section__footer{margin-top:20px}}


/* v2.6.1 トップ業務案内：5業務 */
.home-service-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.home-service-grid .service-card{padding-left:16px;padding-right:16px}
.home-service-grid .service-card h3{font-size:19px}
@media(max-width:1100px){.home-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.home-service-grid{grid-template-columns:1fr 1fr;gap:12px}}
@media(max-width:520px){.home-service-grid{grid-template-columns:1fr}}


/* =========================================================
   v2.6.1 - 業務案内の子ページを本文＋右サイドバーの2カラムに統一
   ========================================================= */
.content-wrap.content-wrap--service.content-wrap--service-child {
  width: min(var(--max), calc(100% - 48px)) !important;
  max-width: var(--max) !important;
  margin-inline: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 290px !important;
  gap: 52px !important;
  justify-content: stretch !important;
  align-items: start !important;
}

.content-wrap--service-child > .entry-content,
.content-wrap--service-child .nishiogi-service-page {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.content-wrap--service-child > .side-card {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  position: sticky;
  top: 160px;
}

@media (max-width: 980px) {
  .content-wrap.content-wrap--service.content-wrap--service-child {
    width: min(var(--max), calc(100% - 36px)) !important;
    grid-template-columns: minmax(0, 1fr) 250px !important;
    gap: 32px !important;
  }
}

@media (max-width: 760px) {
  .content-wrap.content-wrap--service.content-wrap--service-child {
    width: calc(100% - 28px) !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 30px !important;
    padding-top: 38px !important;
    padding-bottom: 60px !important;
  }

  .content-wrap--service-child > .side-card {
    position: static !important;
  }
}


/* =========================================================
   v2.6.1 業務子ページ下部CTA
   トップ「初めての方へ」と近い横長カードに統一
   ========================================================= */
.content-wrap--service-child .service-contact-box{
  display:none !important;
}
.service-tail-cta{
  padding:0 0 64px;
}
.service-tail-cta__grid{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(230px,.8fr) minmax(220px,.72fr);
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.service-tail-cta__copy{
  align-self:center;
  padding:32px 38px;
}
.service-tail-cta__copy .section-label{
  margin-bottom:10px;
}
.service-tail-cta__copy h2{
  margin:0 0 15px;
  color:var(--navy);
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:25px;
  line-height:1.55;
  letter-spacing:.025em;
}
.service-tail-cta__copy p:not(.section-label){
  margin:0;
  font-size:14px;
  line-height:1.95;
}
.service-tail-cta__photo{
  min-height:255px;
  background:#eef4f5;
}
.service-tail-cta__photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 35%;
}
.service-tail-cta__contact{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:11px;
  padding:22px;
  background:#f4f8f9;
}
.service-tail-cta__phone{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  column-gap:9px;
  padding:17px 16px;
  border-radius:6px;
  background:var(--teal);
  color:#fff;
  text-decoration:none;
}
.service-tail-cta__phone:hover{color:#fff;background:var(--navy)}
.service-tail-cta__phone>span{grid-row:1 / span 2;font-size:24px;line-height:1}
.service-tail-cta__phone strong{font-size:19px;line-height:1.25;letter-spacing:.03em}
.service-tail-cta__phone small{font-size:9px;opacity:.88}
.service-tail-cta__button{
  width:100%;
  min-height:45px;
  margin:0;
  padding-inline:12px;
  border-radius:5px;
  font-size:13px;
}
@media(max-width:900px){
  .service-tail-cta__grid{grid-template-columns:1fr 1fr}
  .service-tail-cta__copy{grid-column:1 / -1}
  .service-tail-cta__photo{min-height:225px}
}
@media(max-width:760px){
  .service-tail-cta{padding-bottom:48px}
  .service-tail-cta__grid{grid-template-columns:1fr}
  .service-tail-cta__copy{grid-column:auto;padding:25px 21px}
  .service-tail-cta__copy h2{font-size:22px}
  .service-tail-cta__photo{min-height:215px}
  .service-tail-cta__contact{padding:17px}
}

/* =========================================================
   v2.6.1 報酬案内：費用の仕組みと総額例を分かりやすく
   ========================================================= */
.fee-page-wrap{align-items:start}
.fee-page .fee-intro h2,.fee-page .fee-section>h2,.fee-page .fee-closing h2{margin-top:0}
.fee-lead{font-size:17px;line-height:1.95;color:#415665}
.fee-guide{margin:38px 0;padding:30px;border:1px solid var(--line);border-radius:14px;background:#f7fafb}
.fee-guide>h3{margin:0 0 22px!important;padding:0!important;border:0!important;font-size:22px!important}
.fee-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.fee-guide-card{padding:21px 19px;background:#fff;border:1px solid var(--line);border-radius:10px}
.fee-guide-number{display:block;margin-bottom:7px;color:var(--teal);font-size:11px;font-weight:900;letter-spacing:.12em}
.fee-guide-card h4{margin:0 0 8px!important;color:var(--navy);font-size:16px!important}
.fee-guide-card p{margin:0!important;font-size:13px;line-height:1.8;color:#566977}
.fee-formula{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:18px;padding:17px 18px;background:#fff;border:1px solid #cfdde1;border-radius:9px;font-size:13px}
.fee-formula__label{font-weight:800;color:var(--navy)}
.fee-formula__eq{font-weight:900;color:var(--teal)}
.fee-formula strong{color:var(--navy)}
.fee-important{margin:0 0 46px;padding:20px 23px;border-left:4px solid var(--teal);background:#eef6f5}
.fee-important>strong{display:block;margin-bottom:6px;color:var(--navy);font-size:17px}
.fee-important p{margin:0!important;font-size:14px;line-height:1.85}
.fee-section{margin-top:52px}
.fee-section>.section-label{margin-bottom:6px}
.fee-list{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff}
.fee-item{display:grid;grid-template-columns:220px minmax(0,1fr);border-top:1px solid var(--line)}
.fee-item:first-child{border-top:0}
.fee-item__title{padding:23px 20px;background:#f4f8fa}
.fee-item__title h3{margin:0!important;padding:0!important;border:0!important;color:var(--navy);font-size:16px!important;line-height:1.55}
.fee-item__title small{display:block;margin-top:4px;color:#677987;font-size:11px;font-weight:600}
.fee-item__body{padding:20px 23px}
.fee-price-label{margin:0 0 2px!important;color:#71818c;font-size:10px;font-weight:800;letter-spacing:.08em}
.fee-price{margin:0 0 10px!important;color:var(--navy);font-size:22px;font-weight:900;line-height:1.4}
.fee-item__body ul{margin:7px 0 0!important;padding-left:1.25em!important;color:#566774;font-size:12px;line-height:1.75}
.fee-item__body li{margin:.2em 0!important}
.fee-example{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:8px;margin-top:13px;padding:10px 12px;border-radius:7px;background:#eef6f5}
.fee-example span{color:var(--teal);font-size:10px;font-weight:900;letter-spacing:.06em}
.fee-example strong{color:var(--navy);font-size:17px}
.fee-example small{color:#647681;font-size:10px;line-height:1.45}
.fee-closing{margin-top:45px;padding:27px 29px;border:1px solid var(--line);border-radius:12px;background:#f8fafb}
.fee-closing h2{font-size:21px!important}
.fee-closing p:last-child{margin-bottom:0}

@media(max-width:900px){
  .fee-guide-grid{grid-template-columns:1fr}
  .fee-item{grid-template-columns:190px minmax(0,1fr)}
}
@media(max-width:760px){
  .fee-guide{margin:28px 0;padding:21px 17px}
  .fee-guide>h3{font-size:19px!important}
  .fee-formula{justify-content:flex-start;gap:6px;font-size:12px}
  .fee-formula__label{width:100%;font-size:13px}
  .fee-important{margin-bottom:36px;padding:17px 18px}
  .fee-section{margin-top:40px}
  .fee-list{border:0;border-radius:0;background:transparent;display:grid;gap:12px}
  .fee-item{display:block;border:1px solid var(--line)!important;border-radius:10px;overflow:hidden;background:#fff}
  .fee-item__title{padding:15px 17px}
  .fee-item__title h3{font-size:15px!important}
  .fee-item__body{padding:16px 17px}
  .fee-price{font-size:21px}
  .fee-example{grid-template-columns:auto auto;gap:5px 8px}
  .fee-example small{grid-column:1 / -1}
  .fee-closing{padding:21px 19px}
}


/* =========================================================
   v2.6.9 コラム：簡易Markdown見出し・強調・区切り線
   ========================================================= */
.single-post .entry-content {
  max-width: 820px;
}
.single-post .column-meta {
  margin: 0 0 34px;
  color: var(--muted);
  font-size: 12px;
  letter-spacing: .06em;
}
.single-post .entry-content .column-heading--h2 {
  position: relative;
  margin: 2.7em 0 1.05em;
  padding: 0 0 .62em 18px;
  border: 0;
  border-bottom: 1px solid var(--line);
  color: var(--navy);
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 27px;
  line-height: 1.55;
  letter-spacing: .025em;
}
.single-post .entry-content .column-heading--h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: .18em;
  bottom: .72em;
  width: 4px;
  border-radius: 3px;
  background: var(--teal);
}
.single-post .entry-content .column-heading--h3 {
  margin: 2.15em 0 .8em;
  padding: 0 0 0 13px;
  border: 0;
  border-left: 3px solid var(--teal);
  color: var(--navy);
  font-size: 20px;
  line-height: 1.6;
}
.single-post .entry-content .column-emphasis {
  color: var(--navy-dark);
  font-weight: 800;
}
.single-post .entry-content .column-divider {
  width: 54px;
  margin: 40px 0;
  border: 0;
  border-top: 2px solid var(--teal);
}
.single-post .entry-content p {
  margin-bottom: 1.55em;
  line-height: 2;
}
.single-post .column-back {
  margin-top: 54px !important;
  padding-top: 22px;
  border-top: 1px solid var(--line);
}
@media (max-width: 760px) {
  .single-post .entry-content .column-heading--h2 {
    margin-top: 2.2em;
    padding-left: 14px;
    font-size: 23px;
  }
  .single-post .entry-content .column-heading--h3 {
    font-size: 18px;
  }
  .single-post .entry-content p {
    line-height: 1.9;
  }
}


/* =========================================================
   v2.6.9 - コラムカテゴリー（登記・相続 / くらし・法律 / 事務所・地域）
   ========================================================= */
.column-category-shell{
  padding-top:34px;
}
.column-category-nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  padding:0 0 4px;
}
.column-category-nav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 20px;
  border:1px solid #d8e0e4;
  border-radius:999px;
  background:#fff;
  color:var(--navy);
  font-size:14px;
  font-weight:700;
  text-decoration:none;
  transition:.2s ease;
}
.column-category-nav a:hover,
.column-category-nav a.is-current{
  border-color:var(--teal);
  background:var(--teal);
  color:#fff;
}
.column-card-meta,
.column-single-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
}
.column-card-meta time,
.column-single-meta time{
  color:#78858c;
  font-size:13px;
}
.column-category-badge{
  display:inline-flex;
  align-items:center;
  min-height:27px;
  padding:4px 10px;
  border-radius:999px;
  background:#eef7f7;
  color:#257a7b;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  text-decoration:none;
}
.column-category-badge:hover{
  background:#dff0f0;
  color:#185f60;
}
.column-single-meta{
  margin-bottom:28px;
  padding-bottom:14px;
  border-bottom:1px solid #e4eaed;
}
@media(max-width:600px){
  .column-category-shell{padding-top:24px}
  .column-category-nav{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .column-category-nav a{
    padding:8px 10px;
    font-size:13px;
  }
}


/* =========================================================
   v2.6.9 - コラム一覧を完全カード型に整理
   ========================================================= */
.column-index{
  padding:48px 0 82px;
  background:#f7fafb;
}
.column-index__intro{
  max-width:760px;
  margin:0 auto 26px;
  text-align:center;
}
.column-index__intro h2{
  margin:4px 0 8px;
  color:var(--navy);
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:30px;
  line-height:1.45;
}
.column-index__intro p:last-child{
  margin:0;
  color:var(--muted);
  font-size:14px;
}
.column-index .column-category-nav{
  margin:0 0 30px;
}
.column-index-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  width:100%;
}
.column-index-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:275px;
  padding:26px 28px 24px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
  box-shadow:0 5px 18px rgba(13,49,85,.035);
}
.column-index-card__meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
}
.column-index-card__meta time{
  color:#7b8991;
  font-size:12px;
  font-weight:700;
  letter-spacing:.05em;
}
.column-index-card__title{
  margin:0 0 13px !important;
  padding:0 !important;
  border:0 !important;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:21px !important;
  line-height:1.6 !important;
}
.column-index-card__title a{
  color:var(--navy);
  text-decoration:none;
}
.column-index-card__title a:hover{
  color:var(--teal);
}
.column-index-card__excerpt{
  margin:0 !important;
  color:#596b76;
  font-size:14px;
  line-height:1.9;
}
.column-index-card__more{
  margin-top:auto;
  padding-top:20px;
  color:var(--teal);
  font-size:13px;
  font-weight:800;
  text-decoration:none;
}
.column-index__pagination{
  margin-top:34px;
  text-align:center;
}
.column-index__empty{
  padding:45px 0;
  text-align:center;
  color:var(--muted);
}
@media(max-width:760px){
  .column-index{padding:34px 0 58px}
  .column-index__intro{margin-bottom:20px}
  .column-index__intro h2{font-size:26px}
  .column-index-grid{grid-template-columns:1fr;gap:12px}
  .column-index-card{
    min-height:0;
    padding:21px 20px 20px;
  }
  .column-index-card__title{font-size:19px !important}
  .column-index-card__excerpt{font-size:13px}
}


/* =========================================================
   v2.6.9 - トップページ下部「コラム」最新3件を独立レイアウト化
   ========================================================= */
.home-column-section{
  background:#f7fafb;
}
.home-column-section .section-heading{
  margin-bottom:28px;
}
.home-column-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  width:100%;
}
.home-column-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:270px;
  padding:25px 25px 22px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
  box-shadow:0 4px 16px rgba(13,49,85,.035);
}
.home-column-card__meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
}
.home-column-card__meta time{
  color:#7b8991;
  font-size:12px;
  font-weight:700;
  letter-spacing:.05em;
}
.home-column-card__title{
  margin:0 0 12px !important;
  padding:0 !important;
  border:0 !important;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:19px !important;
  line-height:1.62 !important;
}
.home-column-card__title a{
  color:var(--navy);
  text-decoration:none;
}
.home-column-card__title a:hover{
  color:var(--teal);
}
.home-column-card__excerpt{
  margin:0 !important;
  color:#596b76;
  font-size:13px;
  line-height:1.85;
}
.home-column-card__more{
  margin-top:auto;
  padding-top:18px;
  color:var(--teal);
  font-size:12px;
  font-weight:800;
  text-decoration:none;
}
.home-column-section__footer{
  margin-top:24px;
  text-align:center;
}
@media(max-width:900px){
  .home-column-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .home-column-card:last-child{
    grid-column:1 / -1;
  }
}
@media(max-width:650px){
  .home-column-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  .home-column-card,
  .home-column-card:last-child{
    grid-column:auto;
    min-height:0;
    padding:20px 19px 19px;
  }
  .home-column-card__title{
    font-size:18px !important;
  }
}


/* =========================================================
   v2.6.9 - トップコラム：無効な入れ子リンクを排除して完全固定
   ========================================================= */
.home-column-section .home-column-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
  width:100% !important;
}
.home-column-section .home-column-card{
  display:flex !important;
  flex-direction:column !important;
  position:static !important;
  float:none !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  height:auto !important;
  min-height:270px !important;
  margin:0 !important;
  padding:25px 25px 22px !important;
  overflow:visible !important;
  border:1px solid var(--line) !important;
  border-radius:13px !important;
  background:#fff !important;
  box-shadow:0 4px 16px rgba(13,49,85,.035) !important;
}
.home-column-section .home-column-card > *{
  position:static !important;
  float:none !important;
  width:auto !important;
  max-width:100% !important;
  transform:none !important;
}
.home-column-section .home-column-card__meta{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:10px !important;
  margin:0 0 14px !important;
}
.home-column-section .column-category-badge{
  display:inline-flex !important;
  width:auto !important;
}
.home-column-section .home-column-card__title{
  display:block !important;
  margin:0 0 12px !important;
  padding:0 !important;
  border:0 !important;
  font-size:19px !important;
  line-height:1.62 !important;
}
.home-column-section .home-column-card__title a{
  display:inline !important;
  color:var(--navy) !important;
  text-decoration:none !important;
}
.home-column-section .home-column-card__excerpt{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  color:#596b76 !important;
  font-size:13px !important;
  line-height:1.85 !important;
}
.home-column-section .home-column-card__action{
  display:block !important;
  margin:auto 0 0 !important;
  padding:18px 0 0 !important;
}
.home-column-section .home-column-card__action a{
  display:inline !important;
  color:var(--teal) !important;
  font-size:12px !important;
  font-weight:800 !important;
  text-decoration:none !important;
}
@media(max-width:900px){
  .home-column-section .home-column-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .home-column-section .home-column-card:last-child{
    grid-column:1 / -1 !important;
  }
}
@media(max-width:650px){
  .home-column-section .home-column-grid{
    grid-template-columns:1fr !important;
  }
  .home-column-section .home-column-card,
  .home-column-section .home-column-card:last-child{
    grid-column:auto !important;
    min-height:0 !important;
    padding:20px 19px 19px !important;
  }
}


/* v2.6.9 コラム一覧：ページタイトルの重複を解消 */
.column-index__intro--description-only{margin:0 auto 24px;text-align:center}
.column-index__intro--description-only p{margin:0;color:#566b7a;font-size:14px}


/* =========================================================
   v2.6.9 - 個別コラム PC2カラム＋右サイドバー表示修正
   ========================================================= */
.single-post .column-single-layout{
  display:grid !important;
  grid-template-columns:minmax(0,760px) 300px !important;
  gap:40px !important;
  justify-content:center !important;
  align-items:start !important;
  width:min(var(--max),calc(100% - 48px)) !important;
  max-width:var(--max) !important;
  margin-inline:auto !important;
  padding-top:42px !important;
  padding-bottom:82px !important;
}
.single-post .column-single-main{
  display:block !important;
  width:100% !important;
  max-width:760px !important;
  min-width:0 !important;
  margin:0 !important;
}
.single-post .column-sidebar{
  display:grid !important;
  visibility:visible !important;
  opacity:1 !important;
  position:sticky !important;
  top:145px !important;
  align-self:start !important;
  gap:18px !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
}
.single-post .column-side-box{
  display:block !important;
  overflow:hidden;
  width:100% !important;
  border:1px solid var(--line);
  border-radius:11px;
  background:#fff;
}
.single-post .column-side-box__title{
  margin:0 !important;
  padding:15px 18px !important;
  border:0 !important;
  border-bottom:1px solid var(--line) !important;
  background:#f4f8f9;
  color:var(--navy);
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:17px !important;
  line-height:1.5 !important;
}
.single-post .column-side-categories{
  display:grid !important;
  padding:8px 17px 10px;
}
.single-post .column-side-categories a{
  position:relative;
  display:block !important;
  padding:10px 18px 10px 2px;
  border-bottom:1px solid #edf1f3;
  color:var(--navy);
  font-size:13px;
  font-weight:700;
  line-height:1.5;
  text-decoration:none;
}
.single-post .column-side-categories a:last-child{border-bottom:0}
.single-post .column-side-categories a::after{
  content:"›";
  position:absolute;
  right:3px;
  color:var(--teal);
}
.single-post .column-side-categories a:hover,
.single-post .column-side-categories a.is-current{color:var(--teal)}
.single-post .column-side-categories a.is-current::before{
  content:"";
  position:absolute;
  left:-17px;
  top:8px;
  bottom:8px;
  width:3px;
  border-radius:3px;
  background:var(--teal);
}
.single-post .column-related-list{
  display:grid !important;
  padding:5px 17px 8px;
}
.single-post .column-related-item{
  display:block !important;
  padding:12px 1px 13px;
  border-bottom:1px solid #edf1f3;
  text-decoration:none;
}
.single-post .column-related-item:last-child{border-bottom:0}
.single-post .column-related-item time{
  display:block;
  margin-bottom:4px;
  color:#87949b;
  font-size:11px;
  letter-spacing:.04em;
}
.single-post .column-related-item span{
  display:block;
  color:var(--navy);
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:14px;
  font-weight:700;
  line-height:1.65;
}
.single-post .column-related-item:hover span{color:var(--teal)}
.single-post .column-side-box__empty{
  margin:0 !important;
  padding:18px;
  color:var(--muted);
  font-size:12px;
}
.single-post .column-side-contact{
  display:block !important;
  width:100% !important;
  padding:20px 19px 21px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#f4f8f9;
}
.single-post .column-side-contact__label{
  margin:0 0 4px !important;
  color:var(--teal);
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
}
.single-post .column-side-contact h2{
  margin:0 0 10px !important;
  padding:0 !important;
  border:0 !important;
  color:var(--navy);
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:18px !important;
  line-height:1.55 !important;
}
.single-post .column-side-contact > p:not(.column-side-contact__label){
  margin:0 0 14px !important;
  color:#5e707a;
  font-size:12px;
  line-height:1.75;
}
.single-post .column-side-contact__phone{
  display:block;
  margin:0 0 12px;
  color:var(--teal);
  font-size:21px;
  font-weight:800;
  letter-spacing:.03em;
  text-decoration:none;
  white-space:nowrap;
}
.single-post .column-side-contact__link{
  display:block;
  padding:9px 0;
  border-top:1px solid #dce5e8;
  color:var(--navy);
  font-size:12px;
  font-weight:700;
  text-decoration:none;
}
.single-post .column-side-contact__link:hover{color:var(--teal)}

@media(max-width:1040px){
  .single-post .column-single-layout{
    grid-template-columns:minmax(0,1fr) 260px !important;
    gap:30px !important;
  }
  .single-post .column-single-main{max-width:none !important}
}
@media(max-width:760px){
  .single-post .column-single-layout{
    display:block !important;
    width:calc(100% - 28px) !important;
    padding-top:36px !important;
    padding-bottom:60px !important;
  }
  .single-post .column-single-main{max-width:none !important}
  .single-post .column-sidebar{
    position:static !important;
    display:grid !important;
    margin-top:42px !important;
    gap:14px !important;
  }
}


/* =========================================================
   v2.6.14 - ヘッダーロゴ上の事務所紹介をPCで必ず1行表示
   ========================================================= */
@media(min-width:761px){
  .site-header .header-top{
    min-height:104px;
    height:104px;
  }
  .site-header .brand--image{
    display:flex;
    flex:0 0 410px;
    max-width:410px;
    min-width:0;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    text-decoration:none !important;
    overflow:visible;
  }
  .site-header .brand__tagline{
    display:block;
    width:max-content;
    max-width:none;
    margin:0 0 4px 1px;
    color:#526d81;
    font-size:11px;
    line-height:1.25;
    font-weight:600;
    letter-spacing:.015em;
    white-space:nowrap !important;
    text-decoration:none !important;
  }
  .site-header .brand__logo{
    display:block;
    width:350px;
    max-width:350px;
    height:auto;
  }
}
@media(min-width:761px) and (max-width:900px){
  .site-header .brand--image{
    flex-basis:365px;
    max-width:365px;
  }
  .site-header .brand__tagline{
    font-size:10px;
    letter-spacing:0;
  }
  .site-header .brand__logo{
    width:330px;
    max-width:330px;
  }
  .site-header .header-phone{
    font-size:24px;
  }
}
@media(max-width:760px){
  .site-header .brand__tagline{display:none !important;}
}


/* =========================================================
   v2.6.14 - コラムの日付表示を記事末尾へ集約
   ========================================================= */
.column-published-note{
  margin:46px 0 24px;
  padding:15px 17px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  color:#6b7b84;
  font-size:12px;
  line-height:1.8;
}
.column-published-note p{
  margin:0;
}
.column-published-note p + p{
  margin-top:3px;
}
.column-published-note__date{
  color:var(--navy);
  font-weight:700;
}


/* =========================================================
   v2.6.14 - カテゴリーアーカイブ見出し
   「コラム」を主、「カテゴリー名」を従として表示
   ========================================================= */
.category .column-archive-title{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:12px;
  margin:0;
}
.category .column-archive-title__main{
  color:var(--navy);
}
.category .column-archive-title__sep{
  color:#b4c0c6;
  font-size:.72em;
  font-weight:400;
}
.category .column-archive-title__category{
  color:var(--teal);
  font-size:.58em;
  font-weight:700;
  letter-spacing:.02em;
}
@media(max-width:600px){
  .category .column-archive-title{
    display:block;
  }
  .category .column-archive-title__sep{
    display:none;
  }
  .category .column-archive-title__category{
    display:block;
    margin-top:8px;
    font-size:.52em;
  }
}


/* =========================================================
   v2.6.14 - コラム検索 + コラム総目次
   ========================================================= */
.column-tools{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin:22px 0 30px;
}
.column-tools__search{
  width:min(620px,100%);
}
.column-search-form{
  display:flex;
  width:100%;
  min-width:0;
}
.column-search-form__input{
  min-width:0;
  flex:1 1 auto;
  height:46px;
  padding:0 15px;
  border:1px solid #cfdadd;
  border-right:0;
  border-radius:8px 0 0 8px;
  background:#fff;
  color:var(--navy);
  font:inherit;
  font-size:14px;
  outline:none;
}
.column-search-form__input:focus{
  border-color:var(--teal);
  box-shadow:0 0 0 2px rgba(27,143,149,.08);
}
.column-search-form__button{
  flex:0 0 auto;
  min-width:76px;
  height:46px;
  padding:0 16px;
  border:1px solid var(--teal);
  border-radius:0 8px 8px 0;
  background:var(--teal);
  color:#fff;
  font:inherit;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
}
.column-search-form__button:hover{
  opacity:.9;
}
.column-tools__index-link{
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 17px;
  border:1px solid #cfdadd;
  border-radius:8px;
  background:#fff;
  color:var(--navy);
  font-size:13px;
  font-weight:700;
  text-decoration:none;
  white-space:nowrap;
}
.column-tools__index-link:hover{
  border-color:var(--teal);
  color:var(--teal);
}

.column-search-page{
  padding:48px 0 82px;
  background:#f7fafb;
}
.column-search-page__tools{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-bottom:30px;
}
.column-search-page__tools .column-search-form{
  width:min(620px,100%);
}
.column-search-page__result-title{
  margin:0 0 24px;
  color:var(--navy);
  font-size:15px;
  font-weight:700;
}
.column-search-page__empty{
  padding:48px 20px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  text-align:center;
  color:#63747d;
}
.column-search-page__empty p{
  margin:0;
}
.column-search-page__empty p + p{
  margin-top:7px;
}

.column-toc{
  padding:52px 0 82px;
  background:#f7fafb;
}
.column-toc__intro{
  max-width:820px;
  margin:0 auto 36px;
  text-align:center;
}
.column-toc__intro > p{
  margin:0 0 20px;
  color:#596b76;
  font-size:14px;
}
.column-toc__intro .column-search-form{
  max-width:620px;
  margin:0 auto;
}
.column-toc-group{
  max-width:940px;
  margin:0 auto 28px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.column-toc-group__heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:17px 22px;
  border-bottom:1px solid var(--line);
  background:#f2f7f8;
}
.column-toc-group__heading h2{
  margin:0;
  padding:0;
  border:0;
  color:var(--navy);
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:21px;
  line-height:1.5;
}
.column-toc-group__heading a{
  color:var(--teal);
  font-size:12px;
  font-weight:700;
  text-decoration:none;
  white-space:nowrap;
}
.column-toc-list{
  margin:0;
  padding:5px 22px;
  list-style:none;
}
.column-toc-list li{
  margin:0;
  padding:0;
  border-bottom:1px solid #edf1f3;
}
.column-toc-list li:last-child{
  border-bottom:0;
}
.column-toc-list a{
  position:relative;
  display:block;
  padding:13px 24px 13px 2px;
  color:var(--navy);
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:15px;
  line-height:1.65;
  text-decoration:none;
}
.column-toc-list a::after{
  content:"›";
  position:absolute;
  right:2px;
  color:var(--teal);
}
.column-toc-list a:hover{
  color:var(--teal);
}
.column-toc__footer{
  margin-top:34px;
  text-align:center;
}

@media(max-width:760px){
  .column-tools,
  .column-search-page__tools{
    display:grid;
    grid-template-columns:1fr;
  }
  .column-tools__search,
  .column-search-page__tools .column-search-form{
    width:100%;
  }
  .column-tools__index-link{
    min-height:42px;
  }
  .column-search-page,
  .column-toc{
    padding:34px 0 58px;
  }
  .column-toc-group__heading{
    display:block;
    padding:15px 17px;
  }
  .column-toc-group__heading h2{
    font-size:19px;
  }
  .column-toc-group__heading a{
    display:inline-block;
    margin-top:5px;
  }
  .column-toc-list{
    padding:4px 17px;
  }
  .column-toc-list a{
    font-size:14px;
  }
}
