/* 木村寿事務所 デザイン
   三河湾の深緑を地色に、菜の花の黄を「次の行動」だけに使う。 */
:root{
  --gk-ink:#14302a;
  --gk-green:#1e5f50;
  --gk-mist:#eef3ef;
  --gk-paper:#fafcfa;
  --gk-line:#d3dcd6;
  --gk-muted:#586a63;
  --gk-nanohana:#f0c21a;
  --gk-white:#ffffff;
  --gk-f-display:"Shippori Mincho B1","Yu Mincho","Hiragino Mincho ProN",serif;
  --gk-f-body:"IBM Plex Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  --gk-f-num:"Barlow","IBM Plex Sans JP",sans-serif;
  --gk-wrap:1120px;
}

/* ---------- サイト共通（テーマ部分の上書き） ---------- */
html{overflow-x:clip}
body{background:var(--gk-paper);color:var(--gk-ink);font-family:var(--gk-f-body);overflow-x:clip}
.header,.header-fix{background:var(--gk-white);border-bottom:1px solid var(--gk-line);box-shadow:none}
.header .siteInfo__title,.header-fix .siteInfo__title,.header .siteInfo__title a,.header-fix .siteInfo__title a{font-family:var(--gk-f-display);font-weight:700;color:var(--gk-ink);letter-spacing:.02em}
.header .siteInfo__desc{background:var(--gk-ink);color:#c5d3cd;font-size:12px}
.gNavList > li > a{color:var(--gk-ink);font-weight:500}
.gNavList > li > a:hover{color:var(--gk-green)}
.gNavList .menu-item-description{display:none}
.header .gNavList > li:last-child > a,.header-fix .gNavList > li:last-child > a{background:var(--gk-nanohana);color:var(--gk-ink);font-weight:600;padding:10px 20px;border-radius:0}
.header .gNavList > li:last-child > a:hover,.header-fix .gNavList > li:last-child > a:hover{background:var(--gk-ink);color:var(--gk-white)}
.footer{background:var(--gk-ink);color:#c5d3cd}
.footer .copyright{color:#c5d3cd}
.pagetop a{background:var(--gk-green);border-radius:0}
.articleBody{font-family:var(--gk-f-body);line-height:1.9;color:var(--gk-ink)}
.articleBody a{color:var(--gk-green)}
.pageTitle,.entry-title,.articleHeader h1{font-family:var(--gk-f-display);font-weight:700;color:var(--gk-ink);letter-spacing:.02em}

/* ---------- セクション ---------- */
.gk-sec{width:100vw;max-width:none;margin:0 calc(50% - 50vw) !important;padding:72px max(20px,calc((100vw - var(--gk-wrap)) / 2));box-sizing:border-box;background:var(--gk-paper);color:var(--gk-ink)}
.gk-sec *{box-sizing:border-box}
.gk-sec .wp-block-group__inner-container{display:contents}
.gk-sec--mist{background:var(--gk-mist)}
.gk-sec--ink{background:var(--gk-ink);color:var(--gk-white)}
.gk-sec--flush{padding-top:0}
.gk-sec--tight{padding-block:40px}

.articleBody .gk-h2,.editor-styles-wrapper .gk-h2{font-family:var(--gk-f-display);font-weight:700;font-size:clamp(26px,3.4vw,36px);line-height:1.4;margin:0 0 12px;padding:0;border:0;background:none;color:inherit;text-wrap:balance;letter-spacing:.02em;text-align:left}
.articleBody .gk-h2::before,.editor-styles-wrapper .gk-h2::before{content:"";display:block;position:static;width:36px;height:8px;background:var(--gk-nanohana);margin:0 0 18px;border:0;border-radius:0}
.articleBody .gk-h2::after,.editor-styles-wrapper .gk-h2::after{content:none}
.articleBody .gk-sec h3,.editor-styles-wrapper .gk-sec h3{padding:0;border:0;background:none;color:inherit}
.articleBody .gk-sec h3::before,.articleBody .gk-sec h3::after{content:none}
.gk-sec p.gk-lead{color:var(--gk-muted);max-width:40em;margin:0 0 40px}
.gk-sec--ink p.gk-lead{color:#c5d3cd}

/* ---------- ヒーロー ---------- */
.gk-hero{width:100vw;max-width:none;margin:0 calc(50% - 50vw) !important;background:var(--gk-ink);color:var(--gk-white);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);box-sizing:border-box}
.gk-hero > .wp-block-group__inner-container{display:contents}
.gk-hero::after{content:"";min-height:380px;background:url(img/hero.jpg) center/cover}
.gk-hero__text{padding:64px 40px 64px max(20px,calc((100vw - var(--gk-wrap)) / 2));display:flex;flex-direction:column;justify-content:center;gap:22px;min-width:0;margin:0 !important}
.gk-hero__text > .wp-block-group__inner-container{display:contents}
.gk-hero__text > *,.gk-hero__text > .wp-block-group__inner-container > *{margin:0 !important}
.gk-hero p.gk-hero__kicker{font-size:13px;letter-spacing:.14em;color:var(--gk-nanohana);font-weight:500}
.articleBody .gk-hero .gk-hero__title,.editor-styles-wrapper .gk-hero .gk-hero__title{font-family:var(--gk-f-display);font-weight:700;font-size:clamp(30px,4.2vw,50px);line-height:1.45;letter-spacing:.03em;text-wrap:balance;color:var(--gk-white);padding:0;border:0;background:none;text-align:left}
.articleBody .gk-hero .gk-hero__title::before,.articleBody .gk-hero .gk-hero__title::after{content:none}
.gk-hero p{color:#d6e0db;max-width:30em}

/* ---------- ボタン ---------- */
.gk-btns.wp-block-buttons{display:flex;gap:12px;flex-wrap:wrap}
.gk-btn.wp-block-button{margin:0}
.gk-btn .wp-block-button__link{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;font-weight:600;font-size:15px;text-decoration:none;border:2px solid var(--gk-nanohana);background:var(--gk-nanohana);color:var(--gk-ink) !important;line-height:1.4;border-radius:0;box-shadow:none}
.gk-btn .wp-block-button__link::after{content:"→";font-family:var(--gk-f-num)}
.gk-btn .wp-block-button__link:hover{background:var(--gk-white);border-color:var(--gk-white);opacity:1}
.gk-btn--ghost .wp-block-button__link{background:transparent;color:var(--gk-white) !important;border-color:#5d7a70}
.gk-btn--ghost .wp-block-button__link:hover{background:transparent;border-color:var(--gk-nanohana)}

/* ---------- 対応地域 ---------- */
.gk-area{width:100vw;max-width:none;margin:0 calc(50% - 50vw) !important;padding:16px max(20px,calc((100vw - var(--gk-wrap)) / 2));background:var(--gk-white);border-bottom:1px solid var(--gk-line);font-size:14px;box-sizing:border-box}
.gk-area p{margin:0;color:var(--gk-muted)}
.gk-area strong{font-weight:600;color:var(--gk-ink);border-left:8px solid var(--gk-nanohana);padding-left:10px;margin-right:16px}

/* ---------- 場面 → 手続き ---------- */
.articleBody ul.gk-cases,.editor-styles-wrapper ul.gk-cases{border-top:2px solid var(--gk-ink);margin:0;padding:0;list-style:none}
.articleBody ul.gk-cases li,.editor-styles-wrapper ul.gk-cases li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,17em);gap:6px 32px;padding:20px 4px;margin:0;border-bottom:1px solid var(--gk-line);align-items:center;font-family:var(--gk-f-display);font-weight:500;font-size:19px;line-height:1.6;list-style:none}
.articleBody ul.gk-cases li::before,.articleBody ul.gk-cases li::marker{content:none}
.articleBody ul.gk-cases a,.editor-styles-wrapper ul.gk-cases a{font-family:var(--gk-f-body);font-size:16px;font-weight:600;color:var(--gk-green);text-decoration:none;display:flex;justify-content:space-between;gap:12px}
.gk-cases a::after{content:"→";font-family:var(--gk-f-num)}
.gk-cases a:hover{text-decoration:underline}

/* ---------- 取扱業務 ---------- */
.gk-services{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1px;background:var(--gk-line);border:1px solid var(--gk-line);margin:0}
.gk-services > .wp-block-group__inner-container{display:contents}
.gk-service{position:relative;background:var(--gk-white);padding:26px 24px;display:flex;flex-direction:column;gap:8px;min-width:0;margin:0 !important}
.gk-service:hover{background:#fffbe6}
.gk-service > *,.gk-service > .wp-block-group__inner-container > *{margin:0 !important}
.articleBody .gk-service h3,.editor-styles-wrapper .gk-service h3{font-family:var(--gk-f-display);font-weight:700;font-size:20px;line-height:1.5}
.articleBody .gk-service h3 a{color:var(--gk-ink);text-decoration:none}
.gk-service h3 a::after{content:"";position:absolute;inset:0}
.gk-service p{font-size:14px;line-height:1.75;color:var(--gk-muted);flex:1}
.gk-service p.gk-fee{flex:none;font-size:13px;color:var(--gk-ink);border-top:1px dashed var(--gk-line);padding-top:10px;margin-top:6px !important}
.gk-fee strong{font-family:var(--gk-f-num);font-weight:600;font-size:18px;font-variant-numeric:tabular-nums}
.gk-sec p.gk-sister{margin:28px 0 0;font-size:14px;color:var(--gk-muted)}
.gk-sister a{font-weight:600}

/* ---------- 特長 ---------- */
.gk-reasons{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:36px 40px}
.gk-reasons > .wp-block-group__inner-container{display:contents}
.gk-reason{margin:0 !important}
.articleBody .gk-reason h3,.editor-styles-wrapper .gk-reason h3{font-family:var(--gk-f-display);font-weight:700;font-size:22px;line-height:1.55;margin:0 0 12px;padding-bottom:12px;border-bottom:1px solid #426158;color:var(--gk-white)}
.gk-reason p{margin:0;font-size:15px;color:#d6e0db}

/* ---------- 行政書士紹介 ---------- */
.gk-profile{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:32px 56px;align-items:start}
.gk-profile > .wp-block-group__inner-container{display:contents}
.gk-profile > *,.gk-profile > .wp-block-group__inner-container > *{margin:0 !important}
.gk-portrait img{display:block;width:100%;aspect-ratio:9/10;object-fit:cover;object-position:50% 20%;border-radius:0}
.gk-portrait figcaption{margin-top:12px;font-size:13px;color:var(--gk-muted);text-align:left}
.gk-portrait figcaption strong{display:block;font-family:var(--gk-f-display);font-size:24px;color:var(--gk-ink);letter-spacing:.1em}
.gk-profile__body p{margin:0 0 1.2em;max-width:36em}

/* ---------- 表（事務所概要・経歴） ---------- */
.articleBody .gk-facts,.editor-styles-wrapper .gk-facts{margin:24px 0 0;font-size:14px;overflow:visible}
.articleBody .gk-facts table,.editor-styles-wrapper .gk-facts table{width:100%;border-collapse:collapse;border:0;border-top:1px solid var(--gk-line);table-layout:auto;background:none}
.articleBody .gk-facts td,.editor-styles-wrapper .gk-facts td{border:0;border-bottom:1px solid var(--gk-line);padding:10px 12px 10px 0;background:none;vertical-align:top;text-align:left;color:var(--gk-ink)}
.articleBody .gk-facts td:first-child,.editor-styles-wrapper .gk-facts td:first-child{width:7.5em;color:var(--gk-muted);white-space:nowrap}

/* ---------- 流れ ---------- */
.gk-flow{counter-reset:gkstep;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:28px 24px}
.gk-flow > .wp-block-group__inner-container{display:contents}
.gk-step{counter-increment:gkstep;border-top:2px solid var(--gk-ink);padding-top:14px;margin:0 !important}
.gk-step::before{content:counter(gkstep,decimal-leading-zero);font-family:var(--gk-f-num);font-weight:600;font-size:30px;line-height:1;color:var(--gk-green);display:block}
.articleBody .gk-step h3,.editor-styles-wrapper .gk-step h3{font-family:var(--gk-f-body);font-size:17px;font-weight:600;margin:8px 0 6px;line-height:1.5}
.gk-step p{margin:0;font-size:14px;line-height:1.75;color:var(--gk-muted)}

/* ---------- お客様の声 ---------- */
.gk-voices{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.gk-voices > .wp-block-group__inner-container{display:contents}
.gk-voice{background:var(--gk-white);padding:28px 26px;margin:0 !important;border-top:8px solid var(--gk-nanohana)}
.articleBody .gk-voice h3,.editor-styles-wrapper .gk-voice h3{font-family:var(--gk-f-display);font-weight:700;font-size:18px;line-height:1.6;margin:0 0 6px}
.gk-voice p{margin:0;font-size:14px;line-height:1.85}
.gk-voice p.gk-voice__who{color:var(--gk-green);font-weight:600;font-size:13px;margin-bottom:12px}
.gk-sec p.gk-fine{font-size:12px;color:var(--gk-muted);margin:18px 0 0}

/* ---------- よくあるご質問 ---------- */
.gk-faq{border-top:2px solid var(--gk-ink);max-width:820px}
.gk-faq > .wp-block-group__inner-container{display:contents}
.gk-faq details{border-bottom:1px solid var(--gk-line);margin:0 !important;padding:0}
.gk-faq summary{cursor:pointer;list-style:none;padding:20px 40px 20px 4px;font-weight:600;position:relative}
.gk-faq summary::-webkit-details-marker{display:none}
.gk-faq summary::after{content:"+";position:absolute;right:8px;top:14px;font-family:var(--gk-f-num);font-size:26px;color:var(--gk-green)}
.gk-faq details[open] summary::after{content:"−"}
.gk-faq details p{margin:0;padding:0 4px 22px;color:var(--gk-muted);max-width:44em}
.gk-sec a:focus-visible,.gk-faq summary:focus-visible,.gk-hero a:focus-visible{outline:3px solid var(--gk-nanohana);outline-offset:3px}

/* ---------- お問い合わせ ---------- */
.gk-cta{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1px;background:#426158;border:1px solid #426158}
.gk-cta > .wp-block-group__inner-container{display:contents}
.gk-cta__item{background:var(--gk-ink);padding:36px 32px;display:flex;flex-direction:column;gap:10px;align-items:flex-start;margin:0 !important}
.gk-cta__item > .wp-block-group__inner-container{display:contents}
.gk-cta__item > *,.gk-cta__item > .wp-block-group__inner-container > *{margin:0 !important}
.articleBody .gk-cta h3,.editor-styles-wrapper .gk-cta h3{font-family:var(--gk-f-body);font-size:15px;font-weight:600;color:var(--gk-nanohana)}
.gk-cta p{font-size:14px;color:#c5d3cd}
.gk-cta p.gk-bigtel{font-family:var(--gk-f-num);font-weight:600;font-size:clamp(34px,5vw,46px);line-height:1.1}
.articleBody .gk-cta p.gk-bigtel a,.gk-cta p.gk-bigtel a{color:var(--gk-white);text-decoration:none}

/* ---------- アクセス ---------- */
.gk-access{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px 56px;align-items:start}
.gk-access > .wp-block-group__inner-container{display:contents}
.gk-access > *,.gk-access > .wp-block-group__inner-container > *{margin:0 !important}
.gk-access .gk-facts{margin-top:0}
.gk-access .xw-block-google-map{--xw-google-map-height:320px;--xw-google-map-mobile-height:280px}

@media (max-width:820px){
  .gk-sec{padding-block:52px}
  .gk-sec--flush{padding-top:0}
  .gk-hero{grid-template-columns:1fr}
  .gk-hero::after{min-height:220px;order:-1}
  .gk-hero__text{padding:44px 20px}
  .articleBody ul.gk-cases li{grid-template-columns:1fr}
  .gk-profile{grid-template-columns:1fr}
  .gk-portrait{max-width:240px}
}

/* ---------- テーマ（XWRITE）の装飾を打ち消す ---------- */
body{--key-color:#1e5f50;--link-color:#1e5f50}
.articleBody .gk-h2,.articleBody .gk-hero__title,.articleBody .gk-sec h3{background:none !important;padding:0 !important;border:0 !important}
.articleBody .gk-h2{color:inherit !important;font-size:clamp(26px,3.4vw,36px) !important}
.articleBody .gk-hero .gk-hero__title{color:var(--gk-white) !important;font-size:clamp(28px,3.5vw,44px) !important}
.articleBody .gk-sec h3{color:inherit !important}
.articleBody .gk-service h3{font-size:20px !important}
.articleBody .gk-reason h3{font-size:22px !important;color:var(--gk-white) !important;padding-bottom:12px !important;border-bottom:1px solid #426158 !important}
.articleBody .gk-step h3{font-size:17px !important}
.articleBody .gk-voice h3{font-size:18px !important}
.articleBody .gk-cta h3{font-size:15px !important;color:var(--gk-nanohana) !important}
.articleBody .gk-facts table{border:0 !important;border-top:1px solid var(--gk-line) !important}
.articleBody .gk-facts td{border:0 !important;border-bottom:1px solid var(--gk-line) !important;padding:10px 12px 10px 0 !important;background:none !important}
.articleBody .gk-sec p,.articleBody .gk-hero p{line-height:1.9}
.articleBody .gk-service p,.articleBody .gk-step p{line-height:1.75}
.articleBody .gk-cta p.gk-bigtel{line-height:1.1}
.gk-btn .wp-block-button__link{border-radius:0 !important;padding:14px 26px !important;background-color:var(--gk-nanohana)}
.gk-btn--ghost .wp-block-button__link{background-color:transparent}
.gk-btn .wp-block-button__link:hover{background-color:var(--gk-white)}
.gk-btn--ghost .wp-block-button__link:hover{background-color:transparent}
.gk-sec .wp-block-group,.gk-hero .wp-block-group{margin-top:0}
.articleBody .gk-sec h3::before,.articleBody .gk-sec h3::after,.articleBody .gk-hero__title::before,.articleBody .gk-hero__title::after,.articleBody .gk-h2::after{content:none !important}
.gk-access .xw-block-google-map{--xw-google-map-height:320px !important;--xw-google-map-mobile-height:280px !important}
.gk-access iframe{height:320px}

/* ---------- サイドバーのあるページでは本文カラム内に収める ---------- */
body:not(.no-sidebar) .articleBody .gk-sec{width:auto;max-width:100%;margin:48px 0 0 !important;padding:40px 32px}
body:not(.no-sidebar) .articleBody .gk-sec .gk-cta__item{padding:28px 24px}
@media (max-width:820px){
  body:not(.no-sidebar) .articleBody .gk-sec{padding:32px 20px}
}

/* ---------- 本文中のリンクボタン（専門サイトへの案内など） ---------- */
.articleBody a.gk-linkbtn{display:inline-flex;align-items:center;gap:10px;margin:12px 0 0;padding:14px 26px;background:var(--gk-nanohana);border:2px solid var(--gk-nanohana);color:var(--gk-ink);font-weight:600;font-size:15px;line-height:1.4;text-decoration:none}
.articleBody a.gk-linkbtn::after{content:"→";font-family:var(--gk-f-num)}
.articleBody a.gk-linkbtn:hover{background:var(--gk-ink);border-color:var(--gk-ink);color:var(--gk-white)}

/* ---------- 業務ページ本文中の「流れ」と表 ---------- */
.articleBody > .gk-flow{margin:28px 0 36px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.articleBody .gk-step h3{border:0 !important;padding:0 !important;background:none !important;font-size:17px !important;margin:8px 0 6px !important}
.articleBody .gk-step h3::before,.articleBody .gk-step h3::after{content:none !important}
.articleBody > .gk-facts{margin:20px 0 28px}
.articleBody > .gk-facts td{font-size:15px}

/* ---------- ご挨拶ページの写真 ---------- */
.articleBody .gk-greet-photo{float:right;width:220px;max-width:42%;margin:4px 0 16px 28px}
.articleBody .gk-greet-photo img{display:block;width:100%;height:auto}
@media (max-width:560px){
  .articleBody .gk-greet-photo{float:none;width:200px;max-width:60%;margin:0 0 20px}
}
