/* =========================

   Warakaikei Hero (minimal)

========================= */

.wk-hero{

  padding: 36px 0 24px;

}



.wk-hero__inner{

  max-width: 1100px;

  margin: 0 auto;

  padding: 0 16px;

}



.wk-hero__eyebrow{

  margin: 0 0 10px;

  font-size: 14px;

  letter-spacing: .08em;

  opacity: .8;

}



.wk-hero__title{

  margin: 0 0 12px;

  font-size: clamp(30px, 4vw, 46px);

  line-height: 1.15;

  letter-spacing: .01em;

}



.wk-hero__lead{

  margin: 0 0 18px;

  font-size: 16px;

  line-height: 1.9;

  max-width: 60ch;

  opacity: .92;

}



.wk-hero__cta{

  display: flex;

  flex-wrap: wrap;

  gap: 10px;

  margin: 0 0 14px;

}



/* Buttons */

.wk-btn{

  display: inline-block;

  padding: 12px 16px;

  border-radius: 12px;

  text-decoration: none;

  font-weight: 600;

  line-height: 1.2;

}



.wk-btn--primary{

  background: #1a73e8;

  color: #fff;

}



.wk-btn--ghost{

  border: 1px solid rgba(0,0,0,.18);

  color: #111;

  background: #fff;

}



.wk-hero__badges{

  list-style: none;

  display: flex;

  flex-wrap: wrap;

  gap: 8px;

  margin: 0;

  padding: 0;

}



.wk-hero__badges li{

  font-size: 13px;

  padding: 6px 10px;

  border: 1px solid rgba(0,0,0,.10);

  border-radius: 999px;

  background: rgba(0,0,0,.02);

}

/* セクションの区切りを明確に */

.wk-hero{

  margin-bottom: 56px;

}

/* =========================

   Section base (PwC-like)

========================= */

.wk-section{

  padding: 40px 0;

}



.wk-section__title{

  margin: 0 0 14px;

  font-size: clamp(22px, 3vw, 28px);

  line-height: 1.25;

  letter-spacing: .01em;

}



/* =========================

   Message

========================= */

.wk-message__inner{

  max-width: 1100px;

  margin: 0 auto;

  padding: 0 16px;

}



.wk-message__lead{

  margin: 0 0 18px;

  max-width: 70ch;

  line-height: 1.9;

  opacity: .95;

}



.wk-message__signature{

  margin: 0 0 10px;

}



.wk-message__name{

  margin: 0 0 2px;

}



.wk-message__meta{

  margin: 0;

  font-size: 14px;

  opacity: .7;

}



.wk-message__link{

  margin: 14px 0 0;

}



.wk-link{

  text-decoration: none;

  font-weight: 600;

}



.wk-link:hover{

  text-decoration: underline;

  text-underline-offset: 3px;

}

/* =========================================================

   Fix: content alignment + section rhythm (Radix)

========================================================= */



/* ページ本文の横幅と左右余白を統一 */

.page-wrapper main,

main .container,

main .region,

main .block{

  max-width: 1100px;

  margin-left: auto;

  margin-right: auto;

}



/* 代表メッセージ：確実に中央幅で表示（今これが効いてない） */

.wk-message,

.wk-message__inner{

  max-width: 1100px !important;

  margin-left: auto !important;

  margin-right: auto !important;

  padding-left: 16px !important;

  padding-right: 16px !important;

}



/* Heroのあとに“空気”を作る */

.wk-hero{

  margin-bottom: 56px !important;

  padding-bottom: 8px;

  border-bottom: 1px solid rgba(0,0,0,.06);

}



/* セクションの基本余白（代表メッセージなど） */

.wk-section{

  padding: 44px 0 !important;

}

/* 代表メッセージを“核”として強調 */

.wk-message{

  padding-top: 56px;

  padding-bottom: 56px;

}



/* 採用情報は一段トーンを落とす */

section[aria-label="採用情報"]{

  padding-top: 32px;

  padding-bottom: 32px;

  opacity: .95;

}

/* =========================

   Services (PwC-like)

========================= */

.wk-services__inner{

  max-width: 1100px;

  margin: 0 auto;

  padding: 0 16px;

}



.wk-services__item{

  margin-bottom: 28px;

}



.wk-services__heading{

  margin: 0 0 6px;

  font-size: 18px;

  line-height: 1.4;

}



.wk-services__text{

  margin: 0;

  max-width: 75ch;

  line-height: 1.9;

  opacity: .95;

}

/* =========================================================

   Polish: section rhythm + services readability

========================================================= */



/* 業務内容の各項目：間隔と区切りを追加 */

.wk-services__item{

  margin-bottom: 34px;

  padding-bottom: 18px;

  border-bottom: 1px solid rgba(0,0,0,.06);

}



/* 最後だけ線を消す */

.wk-services__item:last-child{

  border-bottom: 0;

  padding-bottom: 0;

  margin-bottom: 0;

}



/* 見出しの見え方（少し強める） */

.wk-services__heading{

  font-size: 19px;

  margin-bottom: 8px;

}



/* 本文の可読性を上げる（少し濃く） */

.wk-services__text{

  opacity: .98;

}



/* 代表メッセージと採用情報の間を整える（全体リズム） */

.wk-section{

  padding: 56px 0;

}

/* =========================

   Careers (PwC-like)

========================= */

.wk-careers__inner{

  max-width: 1100px;

  margin: 0 auto;

  padding: 0 16px;

}



.wk-careers__title{

  margin: 0 0 12px;

  font-size: clamp(26px, 4vw, 36px);

  line-height: 1.2;

  letter-spacing: .01em;

}



.wk-careers__lead{

  margin: 0 0 18px;

  max-width: 75ch;

  line-height: 1.9;

  opacity: .95;

}



.wk-careers__points{

  margin: 0 0 16px;

  padding-left: 1.2em;

}



.wk-careers__points li{

  margin-bottom: 6px;

}



.wk-careers__cta{

  margin: 10px 0 0;

}



.wk-careers__cta-sep{

  margin: 0 6px;

  opacity: .6;

}

/* =========================

   Footer menu (Radix)

========================= */

footer nav ul{

  display: flex;

  flex-wrap: wrap;

  gap: 10px 18px;

  margin: 0 0 12px;

  padding: 0;

  list-style: none;

}



footer nav a{

  text-decoration: none;

  font-weight: 500;

}



footer nav a:hover{

  text-decoration: underline;

  text-underline-offset: 3px;

}



footer .block-menu{

  border-top: 1px solid rgba(0,0,0,.08);

  padding-top: 28px;

  margin-top: 56px;

}

.wk-footer-copy{

  font-size: 14px;

  opacity: .7;

}

/* =========================

   Footer menu final (Radix)

========================= */



/* フッター全体の区切り */

footer{

  margin-top: 72px;

  padding-top: 32px;

  border-top: 1px solid rgba(0,0,0,.08);

}



/* メニューの黒丸を消す */

footer .block-menu ul{

  list-style: none;

  margin: 0 0 16px;

  padding: 0;

}



/* 横並び・中央寄せ */

footer .block-menu ul li{

  display: inline-block;

  margin: 0 10px 6px;

}



/* リンクの見た目（静か） */

footer .block-menu a{

  text-decoration: none;

  font-weight: 500;

  color: inherit;

}



footer .block-menu a:hover{

  text-decoration: underline;

  text-underline-offset: 3px;

}



/* コピーライト */

.wk-footer-copy{

  text-align: center;

  font-size: 14px;

  opacity: .7;

}

/* =========================

   Footer menu final adjust

   (Radix / warakaikei_radix)

========================= */



/* フッターと本文の区切り */

footer{

  margin-top: 72px;

  padding-top: 32px;

  border-top: 1px solid rgba(0,0,0,.08);

}



/* メニューの黒丸を消す */

footer .block-menu ul{

  list-style: none;

  margin: 0 0 16px;

  padding: 0;

}



/* 横並び・中央寄せ */

footer .block-menu ul{

  display: flex;

  flex-wrap: wrap;

  justify-content: center;

  gap: 10px 18px;

}



/* liの余計な装飾を無効化 */

footer .block-menu li{

  margin: 0;

  padding: 0;

}



/* リンクの見た目（静か） */

footer .block-menu a{

  text-decoration: none;

  font-weight: 500;

  color: inherit;

}



footer .block-menu a:hover{

  text-decoration: underline;

  text-underline-offset: 3px;

}



/* コピーライト（中央・控えめ） */

.wk-footer-copy{

  text-align: center;

  font-size: 14px;

  opacity: .7;

}

/* =========================

   FooterMenu1 (Radix) - final fixed selector

   Target: block-system-menu--warakaikei-radix-footermenu1

========================= */



footer .block-system-menu--warakaikei-radix-footermenu1 ul{

  list-style: none !important;

  margin: 0 0 16px !important;

  padding: 0 !important;



  display: flex !important;

  flex-wrap: wrap !important;

  justify-content: center !important;

  gap: 10px 18px !important;

}



footer .block-system-menu--warakaikei-radix-footermenu1 li{

  margin: 0 !important;

  padding: 0 !important;

}



footer .block-system-menu--warakaikei-radix-footermenu1 a{

  text-decoration: none !important;

  font-weight: 500 !important;

  color: inherit !important;

}



footer .block-system-menu--warakaikei-radix-footermenu1 a:hover{

  text-decoration: underline !important;

  text-underline-offset: 3px;

}

footer .block-system-menu--warakaikei-radix-footermenu1 ul.menu,

footer .block-system-menu--warakaikei-radix-footermenu1 .menu{

  display: flex !important;

  flex-wrap: wrap !important;

  justify-content: center !important;

  gap: 10px 18px !important;

}

/* =========================

   Footer menu FINAL FIX

   (Radix 6 / warakaikei_radix)

========================= */



/* 対象ブロックを完全特定 */

footer .block-system-menu--warakaikei-radix-footermenu1 ul.menu{

  list-style: none !important;

  margin: 0 0 16px !important;

  padding: 0 !important;



  display: flex !important;

  flex-wrap: wrap !important;

  justify-content: center !important;

  gap: 10px 18px !important;

}



/* li を横並び用に正規化 */

footer .block-system-menu--warakaikei-radix-footermenu1 ul.menu > li{

  margin: 0 !important;

  padding: 0 !important;

}



/* リンクの見た目（静か・企業系） */

footer .block-system-menu--warakaikei-radix-footermenu1 ul.menu a{

  text-decoration: none !important;

  font-weight: 500 !important;

  color: inherit !important;

}



footer .block-system-menu--warakaikei-radix-footermenu1 ul.menu a:hover{

  text-decoration: underline !important;

  text-underline-offset: 3px;

}

/* FINAL OVERRIDE */

footer .block-system-menu--warakaikei-radix-footermenu1 .menu{

  list-style: none !important;

  margin: 0 0 16px !important;

  padding: 0 !important;



  display: flex !important;

  flex-wrap: wrap !important;

  justify-content: center !important;

  gap: 10px 18px !important;

}



footer .block-system-menu--warakaikei-radix-footermenu1 .menu > li{

  margin: 0 !important;

  padding: 0 !important;

  display: block !important;

}



footer .block-system-menu--warakaikei-radix-footermenu1 .menu a{

  text-decoration: none !important;

  font-weight: 500 !important;

}



footer .block-system-menu--warakaikei-radix-footermenu1 .menu a:hover{

  text-decoration: underline !important;

  text-underline-offset: 3px;

}

/* =========================

   FooterMenu1 FINAL OVERRIDE (wins against Radix defaults)

========================= */



footer .block-system-menu--warakaikei-radix-footermenu1 .menu{

  list-style: none !important;

  margin: 0 0 16px !important;

  padding: 0 !important;



  display: flex !important;

  flex-wrap: wrap !important;

  justify-content: center !important;

  gap: 10px 18px !important;

}



footer .block-system-menu--warakaikei-radix-footermenu1 .menu > li{

  margin: 0 !important;

  padding: 0 !important;

}



/* 念のため、ul/ol両対応 */

footer .block-system-menu--warakaikei-radix-footermenu1 ul,

footer .block-system-menu--warakaikei-radix-footermenu1 ol{

  list-style: none !important;

  padding-left: 0 !important;

}



/* Link */

footer .block-system-menu--warakaikei-radix-footermenu1 a{

  text-decoration: none !important;

  font-weight: 500 !important;

  color: inherit !important;

}



footer .block-system-menu--warakaikei-radix-footermenu1 a:hover{

  text-decoration: underline !important;

  text-underline-offset: 3px;

}

/* =========================

   FooterMenu1 FINAL (exact to your DOM)

   - Uses: footer + block--system-menu + warakaikei-radix-footermenu1

========================= */



footer .block--system-menu[class*="warakaikei-radix-footermenu1"] ul{

  list-style: none !important;

  margin: 0 0 16px !important;

  padding: 0 !important;



  display: flex !important;

  flex-wrap: wrap !important;

  justify-content: center !important;

  gap: 10px 18px !important;

}



footer .block--system-menu[class*="warakaikei-radix-footermenu1"] li{

  margin: 0 !important;

  padding: 0 !important;

}



footer .block--system-menu[class*="warakaikei-radix-footermenu1"] a{

  text-decoration: none !important;

  font-weight: 500 !important;

  color: inherit !important;

}



footer .block--system-menu[class*="warakaikei-radix-footermenu1"] a:hover{

  text-decoration: underline !important;

  text-underline-offset: 3px;

}

footer{

  margin-top: 56px;  /* 72 → 56 */

  padding-top: 24px; /* 32 → 24 */

}

@media (max-width: 600px){

  footer .block--system-menu ul{

    gap: 8px 12px;

  }

}

/* =========================

   Header (minimal / PwC-like)

========================= */

header{

  border-bottom: 1px solid rgba(0,0,0,.06);

}



header .region-header{

  max-width: 1100px;

  margin: 0 auto;

  padding: 14px 16px;

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 16px;

}



/* Site branding */

header .site-branding__name a{

  text-decoration: none;

  font-weight: 800;

  letter-spacing: .01em;

}



/* Main nav */

header .menu{

  list-style: none;

  margin: 0;

  padding: 0;

  display: flex;

  gap: 14px;

  align-items: center;

}



header .menu a{

  text-decoration: none;

  font-weight: 600;

}



header .menu a:hover{

  text-decoration: underline;

  text-underline-offset: 3px;

}



/* Mobile: wrap naturally */

@media (max-width: 720px){

  header .region-header{

    flex-wrap: wrap;

  }

}

/* =========================

   Header FINAL (Radix)

========================= */



/* ヘッダー領域を“別物”にする */

header{

  border-bottom: 1px solid rgba(0,0,0,.06);

  margin-bottom: 24px;

}



/* 中身を横並びに */

header .region-header{

  max-width: 1100px;

  margin: 0 auto;

  padding: 14px 16px;

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 24px;

}



/* Site branding（サイト名） */

header .site-branding{

  flex-shrink: 0;

}



header .site-branding__name a{

  font-size: 18px;

  font-weight: 800;

  text-decoration: none;

  line-height: 1.2;

}



/* Main navigation（黒丸・縦並びを完全に殺す） */

header .block-menu ul,

header .menu{

  list-style: none !important;

  margin: 0 !important;

  padding: 0 !important;



  display: flex !important;

  gap: 16px !important;

  align-items: center !important;

}



/* li をインライン扱いに */

header .menu > li{

  margin: 0 !important;

  padding: 0 !important;

}



/* メニューリンク */

header .menu a{

  text-decoration: none;

  font-weight: 600;

  white-space: nowrap;

}



header .menu a:hover{

  text-decoration: underline;

  text-underline-offset: 3px;

}



/* モバイル：自然に折り返す */

@media (max-width: 768px){

  header .region-header{

    flex-wrap: wrap;

  }

}

/* =========================

   Header menu FINAL FIX (Radix)

========================= */



/* ヘッダー全体 */

header{

  border-bottom: 1px solid rgba(0,0,0,.06);

  margin-bottom: 24px;

}



/* Headerリージョンを横並び */

header .region-header{

  max-width: 1100px;

  margin: 0 auto;

  padding: 14px 16px;

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 24px;

}



/* Site branding（サイト名） */

header .site-branding{

  flex-shrink: 0;

}



header .site-branding a{

  font-size: 18px;

  font-weight: 800;

  text-decoration: none;

  line-height: 1.2;

}



/* ===== ここが決定打 ===== */

/* Header内の system menu を完全指定 */

header .block--system-menu ul{

  list-style: none !important;

  margin: 0 !important;

  padding: 0 !important;



  display: flex !important;

  gap: 16px !important;

  align-items: center !important;

}



/* li を横並び前提に */

header .block--system-menu li{

  margin: 0 !important;

  padding: 0 !important;

}



/* メニューリンク */

header .block--system-menu a{

  text-decoration: none;

  font-weight: 600;

  white-space: nowrap;

}



header .block--system-menu a:hover{

  text-decoration: underline;

  text-underline-offset: 3px;

}



/* モバイル：自然に折り返す */

@media (max-width: 768px){

  header .region-header{

    flex-wrap: wrap;

  }

}

/* Header: emphasize contact like a button */

header .block--system-menu a[href*="contact"]{

  padding: 8px 12px;

  border: 1px solid rgba(0,0,0,.18);

  border-radius: 999px;

  text-decoration: none;

}



header .block--system-menu a[href*="contact"]:hover{

  text-decoration: none;

  border-color: rgba(0,0,0,.35);

}

@media (max-width: 768px){

  header .block--system-menu{

    width: 100%;

  }

  header .block--system-menu ul{

    justify-content: flex-start;

    gap: 10px 12px;

  }

}

/* =========================

   Column page refinement

========================= */



/* 本文幅を読み物サイズに */

.path-column main,

.node--type-column main{

  max-width: 860px;

}



/* 段落の行間を広げる */

.path-column p{

  line-height: 1.9;

  margin-bottom: 1.2em;

}

/* コラムタイトルを“見出し”に戻す */

.path-column h1 a{

  color: inherit;

  text-decoration: none;

}



.path-column h1{

  line-height: 1.25;

  margin-bottom: 0.8em;

}

/* 見出し前の装飾を無効化 */

.path-column h2::before,

.path-column h3::before{

  content: none !important;

}

/* タグと続きを読むを控えめに */

.path-column .field--name-field-tags,

.path-column .read-more{

  margin-top: 2.5em;

  font-size: 0.9em;

  opacity: .75;

}

.wk-column-lead{

  font-size: 1.05em;

  line-height: 1.9;

  opacity: .9;

}

/* =========================

   Column list (/ja/column) polish

========================= */



/* 一覧ページの本文幅を読み物サイズに */

.path-column main{

  max-width: 860px;

}



/* 記事ごとの区切り（余白＋薄い線） */

.path-column .views-row{

  padding: 26px 0;

  border-bottom: 1px solid rgba(0,0,0,.06);

}



/* 最後の線は消す */

.path-column .views-row:last-child{

  border-bottom: 0;

}



/* タイトルの“リンクっぽさ”を消す */

.path-column .views-row h2 a{

  color: inherit;

  text-decoration: none;

}



.path-column .views-row h2{

  margin: 0 0 10px;

  line-height: 1.25;

}



.path-column .views-row h2 a:hover{

  text-decoration: underline;

  text-underline-offset: 3px;

}



/* 本文抜粋の可読性 */

.path-column .views-row p{

  line-height: 1.9;

  margin: 0 0 12px;

}



/* タグは控えめに */

.path-column .field--name-field-tags,

.path-column .views-row .field--name-field-tags{

  margin-top: 12px;

  font-size: 0.9em;

  opacity: .75;

}



/* 続きを見るは控えめに */

.path-column .views-row .read-more,

.path-column .views-row a[href*="read"],

.path-column .views-row a:has(span):not(.wk-link){

  font-weight: 600;

}

/* =========================

   Column detail (single article) – final polish

========================= */



/* 1) 本文幅を“読み物サイズ”に固定 */

.node--type-article main,

.node--type-article .region-content{

  max-width: 860px;

}



/* 2) 見出しの階層を明確に（硬さを消す） */

.node--type-article h1{

  line-height: 1.25;

  margin-bottom: 0.8em;

}

.node--type-article h2{

  margin-top: 2.2em;

  margin-bottom: 0.6em;

  line-height: 1.3;

}

.node--type-article h3{

  margin-top: 1.6em;

  margin-bottom: 0.4em;

}



/* 3) 見出し前の装飾（■ 等）を無効化 */

.node--type-article h2::before,

.node--type-article h3::before{

  content: none !important;

}



/* 4) 段落の行間と段落間（読み疲れ防止） */

.node--type-article p{

  line-height: 1.9;

  margin-bottom: 1.2em;

}



/* 5) 箇条書きを“読み物寄り”に */

.node--type-article ul,

.node--type-article ol{

  margin: 1.2em 0 1.4em 1.2em;

}

.node--type-article li{

  margin-bottom: 0.4em;

}



/* 6) 引用は控えめに強調 */

.node--type-article blockquote{

  margin: 1.6em 0;

  padding-left: 1em;

  border-left: 3px solid rgba(0,0,0,.12);

  opacity: .9;

}



/* 7) タグは本文の“後ろで静かに” */

.node--type-article .field--name-field-tags{

  margin-top: 3em;

  font-size: 0.9em;

  opacity: .75;

}



/* 8) 次の記事への導線（続きを読む等）を控えめに */

.node--type-article .links{

  margin-top: 2.5em;

  font-weight: 600;

}

.wk-column-lead{

  font-size: 1.05em;

  line-height: 1.9;

  opacity: .9;

  margin-bottom: 1.6em;

}

/* NEWS list title looks like heading */

.path-news h2 a{

  color: inherit;

  text-decoration: none;

}

.path-news h2 a:hover{

  text-decoration: underline;

  text-underline-offset: 3px;

}

/* NEWS list: show date above title */

.path-news .node__meta{

  display: block;

  font-size: 0.85em;

  opacity: .7;

  margin-bottom: 6px;

}

/* NEWS list: remove bullet from read more */

.path-news ul,

.path-news li{

  list-style: none;

  padding-left: 0;

  margin-left: 0;

}

/* NEWS list spacing */

.path-news .views-row{

  margin-bottom: 1.6em;

}



.path-news p{

  line-height: 1.8;

}

/* NEWS title looks like heading */

.path-news h2{

  margin: 0 0 6px;

  line-height: 1.3;

}



.path-news h2 a{

  color: inherit;

  text-decoration: none;

}



.path-news h2 a:hover{

  text-decoration: underline;

  text-underline-offset: 3px;

}

/* NEWS excerpt readability */

.path-news p{

  line-height: 1.8;

  margin-bottom: 0.8em;

}

/* Remove bullets around read more */

.path-news ul,

.path-news li{

  list-style: none;

  margin-left: 0;

  padding-left: 0;

}



.path-news a[href*="node"]{

  font-weight: 600;

}

/* =========================

   Top: Latest NEWS block

========================= */

.wk-latest-news{

  padding: 44px 0;

  border-top: 1px solid rgba(0,0,0,.06);

}



.wk-latest-news h2{

  margin: 0 0 14px;

}



/* Views block spacing */

.wk-latest-news .views-row{

  padding: 14px 0;

  border-bottom: 1px solid rgba(0,0,0,.06);

}

.wk-latest-news .views-row:last-child{

  border-bottom: 0;

}

.wk-news-more{

  margin-top: 12px;

  text-align: right;

}

/* NEWS read more – clean */

.path-frontpage .views-row ul,

.path-frontpage .views-row li{

  list-style: none;

  margin: 0;

  padding: 0;

}

.wk-latest-news{

  margin-top: 36px;

  padding-top: 20px;

}

/* =========================

   Yuko section head

========================= */

.wk-yuko-head__inner{

  max-width: 1100px;

  margin: 0 auto;

  padding: 0 16px;

}



.wk-yuko-head__lead{

  margin: 0 0 10px;

  max-width: 70ch;

  opacity: .9;

  line-height: 1.9;

}



.wk-yuko-head__cta{

  margin: 0;

}

/* =========================

   Yuko featured on top

========================= */

.wk-yuko-feature{

  padding: 20px 24px;

  border: 1px solid rgba(0,0,0,.08);

  border-radius: 12px;

  background: #fafafa;

  margin-bottom: 24px;

}



.wk-yuko-feature h3{

  margin-top: 0;

  font-size: 1.2rem;

}



.wk-yuko-feature p{

  line-height: 1.9;

}

/* =========================

   Yuko section separation

========================= */

.wk-yuko-head{

  margin: 48px 0 24px;

  padding-top: 32px;

  border-top: 2px solid rgba(0,0,0,.08);

}

/* =========================

   Yuko featured card

========================= */

.wk-yuko-feature{

  background: #fafafa;

  border: 1px solid rgba(0,0,0,.08);

  border-radius: 14px;

  padding: 24px 28px;

  margin-bottom: 32px;

}



.wk-yuko-feature h3{

  margin-top: 0;

  font-size: 1.25rem;

  line-height: 1.4;

}



.wk-yuko-feature p{

  line-height: 1.9;

}

/* Yuko read more */

.wk-yuko-feature .read-more a{

  font-weight: 600;

  text-decoration: underline;

  text-underline-offset: 3px;

}

/* Space between Yuko and NEWS */

.wk-latest-news{

  margin-top: 56px;

}

.wk-yuko-feature{

  box-shadow: 0 6px 18px rgba(0,0,0,.06);

}

.wk-latest-news{

  margin-top: 64px;

}

/* Careers CTA emphasize */

.wk-careers-cta{

  margin-top: 80px;        /* 上の余白を増やす */

  padding: 56px 20px;      /* 内側を少し広く */

  background: #f3f6fb;     /* ほんのり色を変える */

}

.wk-careers-mid-cta{

  margin: 32px 0;

  text-align: center;

}

.wk-careers-mid-cta .wk-btn{

  box-shadow: 0 6px 14px rgba(37,99,235,.25);

}

/* =========================

   Webform: force labels for no-label fields

   (because .form-no-label => no <label> is rendered)

========================= */



/* 共通：擬似ラベルの見た目 */

.webform-submission-form .form-no-label::before{

  display: block;

  margin: 0 0 6px;

  font-weight: 600;

  opacity: .85;

  color: #111;

  font-size: 14px;

}



/* フィールド別：表示文言（あなたのキーに合わせています） */

.webform-submission-form .js-form-item-shi-ming.form-no-label::before{

  content: "氏名";

}



.webform-submission-form .js-form-item-meru.form-no-label::before{

  content: "メールアドレス";

}



.webform-submission-form .js-form-item-dian-hua-fan_hao.form-no-label::before{

  content: "電話番号（任意）";

}



/* 採用の追加項目（必要なら） */

.webform-submission-form .js-form-item-job_type.form-no-label::before{

  content: "希望職種";

}



.webform-submission-form .js-form-item-exp_years.form-no-label::before{

  content: "会計・税務の経験";

}



/* 余白を整える */

.webform-submission-form .form-item{

  margin-bottom: 14px;

}

.webform-submission-form .js-form-item-dian-hua-fan-hao.form-no-label::before{content:"電話番号（任意）";}

/* Webform polish */

.webform-submission-form{

  max-width: 760px;

}



.webform-submission-form .form-item{

  margin-bottom: 16px;

}



/* ラジオの余白 */

.webform-submission-form .form-radios{

  margin-top: 8px;

}



/* 送信ボタンを少しだけ今どきに */

.webform-submission-form input[type="submit"],

.webform-submission-form button[type="submit"]{

  padding: 10px 16px;

  border-radius: 10px;

  border: 1px solid rgba(0,0,0,.18);

  font-weight: 600;

}

.webform-submission-form .js-form-item-message.form-no-label::before{content:"お問い合わせ内容";}


/* NEWS heading block (border should be above heading) */

.wk-news-head{

  margin-top: 56px;

  padding-top: 28px;

  border-top: 2px solid rgba(0,0,0,.10);

  margin-bottom: 14px;

}

/* NEWS list block */

.path-frontpage .block-warakaikei-radix-views-block-news-block-1-2{

  margin-top: 0;

  padding-top: 0;

  border-top: 0;

}

/* =========================

   Fix double dividers around NEWS

========================= */



/* NEWS見出しの下の線を消す（不要な2本目） */

.wk-news-head{

  border-bottom: 0 !important;

}



/* NEWSブロック本体の線も完全に消す（保険） */

.path-frontpage .block-warakaikei-radix-views-block-news-block-1-2{

  border-top: 0 !important;

  border-bottom: 0 !important;

  padding-top: 0 !important;

  margin-top: 0 !important;

}



/* もしNEWS一覧がhrを出しているなら消す（保険） */

.path-frontpage .block-warakaikei-radix-views-block-news-block-1-2 hr{

  display: none !important;

}

.path-frontpage .block-warakaikei-radix-views-block-news-block-1-2 .views-row{

  border-top: 0 !important;

}

/* =========================

   Divider tune: match content width & soften

========================= */



/* ゆうこ→NEWSの区切り線（wk-news-headの上の線）を整える */

.wk-news-head{

  max-width: 860px;                 /* 本文幅に合わせる */

  margin-left: auto;

  margin-right: auto;

  padding-top: 22px;                /* 少し詰める */

  margin-top: 44px;                 /* 少し詰める */

  border-top: 1px solid rgba(0,0,0,.08) !important;  /* 薄くする */

}



/* NEWSブロックも本文幅に合わせる（見た目の統一） */

.path-frontpage .block-warakaikei-radix-views-block-news-block-1-2{

  max-width: 860px;

  margin-left: auto;

  margin-right: auto;

}

.wk-news-head{

  border-top-color: rgba(0,0,0,.06) !important;

}

.path-frontpage .block-warakaikei-radix-views-block-news-block-1-2{

  padding-bottom: 8px;

}

.wk-access{ max-width: 860px; margin: 0 auto; padding: 0 16px; }

.wk-lead{ opacity:.9; line-height:1.9; margin: 0 0 18px; }

.wk-card{ border:1px solid rgba(0,0,0,.08); border-radius:14px; padding:20px 22px; margin: 18px 0; background:#fff; }

.wk-dl{ margin:0; }

.wk-dl > div{ display:grid; grid-template-columns: 8em 1fr; gap:12px; padding:10px 0; border-top:1px solid rgba(0,0,0,.06); }

.wk-dl > div:first-child{ border-top:0; }

.wk-dl dt{ font-weight:700; }

.wk-dl dd{ margin:0; }

.wk-map{ border-radius:12px; overflow:hidden; border:1px solid rgba(0,0,0,.08); }

.wk-map iframe{ width:100%; height:340px; border:0; display:block; }

.wk-small{ margin:10px 0 0; font-size:.95em; }

.wk-cta{ margin: 26px 0 0; padding: 18px 20px; background:#f6f8fa; border-radius:14px; text-align:center; }

.wk-btn{ display:inline-block; padding:10px 16px; border-radius:999px; font-weight:700; text-decoration:none; border:1px solid rgba(0,0,0,.18); }

/* Access page */

.wk-access{ max-width: 860px; margin: 0 auto; padding: 0 16px; }

.wk-lead{ opacity:.9; line-height:1.9; margin: 0 0 18px; }



.wk-card{

  border:1px solid rgba(0,0,0,.08);

  border-radius:14px;

  padding:20px 22px;

  margin: 18px 0;

  background:#fff;

}



.wk-dl{ margin:0; }

.wk-dl > div{

  display:grid;

  grid-template-columns: 8em 1fr;

  gap:12px;

  padding:10px 0;

  border-top:1px solid rgba(0,0,0,.06);

}

.wk-dl > div:first-child{ border-top:0; }

.wk-dl dt{ font-weight:700; }

.wk-dl dd{ margin:0; }



.wk-map{

  border-radius:12px;

  overflow:hidden;

  border:1px solid rgba(0,0,0,.08);

}

.wk-map iframe{

  width:100%;

  height:360px;

  border:0;

  display:block;

}



.wk-small{ margin:10px 0 0; font-size:.95em; }



.wk-cta{

  margin: 26px 0 0;

  padding: 18px 20px;

  background:#f6f8fa;

  border-radius:14px;

  text-align:center;

}

.wk-btn{

  display:inline-block;

  padding:10px 16px;

  border-radius:999px;

  font-weight:700;

  text-decoration:none;

  border:1px solid rgba(0,0,0,.18);

}

.wk-map iframe{ height: 420px; }

.wk-small{ text-align: right; }

.wk-yuko-head__row{

  display:flex;

  align-items:baseline;

  justify-content:space-between;

  gap:16px;

  flex-wrap:wrap;

}



.wk-yuko-head__link{

  font-weight:600;

  text-decoration:none;

}



.wk-yuko-head__link:hover{

  text-decoration:underline;

  text-underline-offset:3px;

}

.wk-yuko-head__link{

  padding: 6px 10px;

  border: 1px solid rgba(0,0,0,.18);

  border-radius: 999px;

}


.wk-service{ max-width: 860px; margin: 0 auto; padding: 0 16px; }

.wk-service .wk-lead{ opacity:.9; line-height:1.9; margin: 0 0 18px; }

.wk-service ul{ margin: 10px 0 20px 1.2em; }

.wk-service li{ margin: 0 0 6px; }

.wk-btn{ display:inline-block; padding:10px 16px; border-radius:999px; font-weight:700; text-decoration:none; border:1px solid rgba(0,0,0,.18); }

.wk-services{ max-width: 960px; margin: 0 auto; padding: 0 16px; }

.wk-lead{ opacity:.9; line-height:1.9; margin: 0 0 18px; }

.wk-grid{ display:grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap:16px; }

.wk-card{ display:block; padding:18px 18px; border:1px solid rgba(0,0,0,.08); border-radius:14px; text-decoration:none; color:inherit; background:#fff; }

.wk-card h2{ margin:0 0 8px; font-size:1.1rem; }

.wk-card p{ margin:0 0 10px; line-height:1.7; opacity:.9; }

.wk-link{ font-weight:700; text-decoration:underline; text-underline-offset:3px; }

.wk-cta{ margin: 22px 0 0; padding: 18px 20px; background:#f6f8fa; border-radius:14px; text-align:center; }

.wk-btn{ display:inline-block; padding:10px 16px; border-radius:999px; font-weight:700; text-decoration:none; border:1px solid rgba(0,0,0,.18); }

/* ServiceMenu: make it feel like selectable cards */

.path-serviceMenu main,

.path-servicemenu main {

  max-width: 980px;

}



.path-serviceMenu .wk-card,

.path-servicemenu .wk-card{

  transition: transform .12s ease, box-shadow .12s ease;

}



.path-serviceMenu .wk-card:hover,

.path-servicemenu .wk-card:hover{

  transform: translateY(-1px);

  box-shadow: 0 10px 26px rgba(0,0,0,.08);

}

.path-serviceMenu .wk-link,

.path-servicemenu .wk-link{

  display: inline-block;

  font-weight: 700;

  text-underline-offset: 3px;

}

.wk-profile{ max-width: 980px; margin: 0 auto; padding: 0 16px; }



.wk-profile__hero{

  display: grid;

  grid-template-columns: 140px 1fr;

  gap: 18px;

  align-items: start;

  margin: 18px 0 22px;

}



.wk-profile__photo img{

  width: 120px; height: 120px;

  border-radius: 999px;

  object-fit: cover;

  border: 1px solid rgba(0,0,0,.10);

}



.wk-profile__title{ margin:0 0 6px; }

.wk-profile__name{ margin:0 0 10px; }

.wk-profile__lead{ margin:0 0 14px; line-height:1.9; opacity:.92; max-width: 75ch; }



.wk-profile__quick{

  display:flex; flex-wrap:wrap; gap: 10px 14px;

  font-size: .95em; opacity: .85;

}

.wk-profile__quick > div{

  border:1px solid rgba(0,0,0,.08);

  border-radius: 999px;

  padding: 6px 10px;

  background: rgba(0,0,0,.02);

}

.wk-profile__quick span{ margin-right:6px; opacity:.7; }



.wk-card{ border:1px solid rgba(0,0,0,.08); border-radius:14px; padding:20px 22px; margin: 18px 0; background:#fff; }

.wk-list{ margin: 8px 0 14px 1.2em; }

.wk-list li{ margin: 0 0 6px; }

.wk-muted{ opacity:.8; line-height:1.8; margin: 6px 0 14px; }



.wk-cta--wide{ margin: 22px 0 0; padding: 18px 20px; background:#f6f8fa; border-radius:14px; text-align:center; }

.wk-cta__sep{ margin: 0 8px; opacity: .6; }



@media (max-width: 680px){

  .wk-profile__hero{ grid-template-columns: 1fr; }

}

/* =========================

   Representative message (with photo) – FINAL (120px)

========================= */

.wk-rep{

  max-width: 980px;

  margin: 0 auto;

  padding: 0 16px;

}



.wk-rep__card{

  border: 1px solid rgba(0,0,0,.08);

  border-radius: 16px;

  padding: 24px;

  background: #fff;

}



.wk-rep__grid{

  display: grid;

  grid-template-columns: 130px 1fr; /* 120px photo + breathing room */

  gap: 18px;

  align-items: start;

}



.wk-rep__photo{

  margin: 0;

}



.wk-rep__photo img{

  width: 120px;

  height: 120px;

  border-radius: 999px;

  object-fit: cover;

  border: 1px solid rgba(0,0,0,.10);

  display: block;

}



.wk-rep__title{

  margin: 0 0 10px;

  font-size: 1.35rem;

  font-weight: 800;

}



.wk-rep__text{

  margin: 0 0 12px;

  line-height: 1.9;

  opacity: .92;

}



.wk-rep__name{

  margin: 0 0 6px;

}



.wk-rep__meta{

  margin: 0 0 12px;

  font-size: .95em;

  opacity: .75;

}



.wk-rep__cta{

  margin: 0;

}



.wk-rep__link{

  font-weight: 600;

  text-decoration: none;

}

.wk-rep__link:hover{

  text-decoration: underline;

  text-underline-offset: 3px;

}



/* mobile */

@media (max-width: 680px){

  .wk-rep__grid{

    grid-template-columns: 1fr;

  }

  .wk-rep__photo{

    display: flex;

    justify-content: flex-start;

  }

}

.wk-rep__grid{ align-items: center; }

.wk-rep__card{ padding: 22px; }

.wk-rep__link{ color: inherit; }

/* Profile page */

.wk-profile{ max-width: 980px; margin: 0 auto; padding: 0 16px; }

.wk-profile__hero{

  display: grid;

  grid-template-columns: 160px 1fr;

  gap: 18px;

  align-items: start;

  margin: 18px 0 22px;

}

.wk-profile__photo img{

  width: 140px; height: 140px;

  border-radius: 999px;

  object-fit: cover;

  border: 1px solid rgba(0,0,0,.10);

  display:block;

}

.wk-profile__title{ margin:0 0 6px; font-weight:800; }

.wk-profile__name{ margin:0 0 10px; }

.wk-profile__lead{ margin:0 0 14px; line-height:1.9; opacity:.92; max-width: 75ch; }

.wk-profile__quick{ display:flex; flex-wrap:wrap; gap:10px 14px; font-size:.95em; opacity:.85; }

.wk-profile__quick > div{ border:1px solid rgba(0,0,0,.08); border-radius:999px; padding:6px 10px; background: rgba(0,0,0,.02); }

.wk-profile__quick span{ margin-right:6px; opacity:.7; }

.wk-profile__links{ margin: 12px 0 0; }



@media (max-width: 680px){

  .wk-profile__hero{ grid-template-columns: 1fr; }

}


.wk-rep__name a{ color: inherit; text-decoration: none; }

.wk-rep__name a:hover{ text-decoration: underline; text-underline-offset: 3px; }

/* =========================

   Force main navigation visible in header (Radix)

========================= */



/* ヘッダー内のメインメニューを必ず表示 */

header nav.menu--main,

header .block-menu.menu--main,

header .block-menu.navigation,

header .block-menu{

  display: block !important;

  visibility: visible !important;

}



/* メニューのulが隠れている場合も表示 */

header nav.menu--main ul,

header .menu--main ul{

  display: flex !important;

  flex-wrap: wrap;

  gap: 10px 14px;

  list-style: none;

  padding: 0;

  margin: 0;

}



/* サブメニュー（私たちについて配下）は hover で表示 */

header nav.menu--main li{ position: relative; }

header nav.menu--main li > ul{

  display: none !important;

  position: absolute;

  top: 100%;

  left: 0;

  min-width: 220px;

  background: #fff;

  border: 1px solid rgba(0,0,0,.10);

  border-radius: 10px;

  padding: 10px;

  margin-top: 8px;

  box-shadow: 0 10px 26px rgba(0,0,0,.08);

  z-index: 999;

}

header nav.menu--main li:hover > ul{

  display: block !important;

}

header nav.menu--main li > ul a{

  display: block;

  padding: 6px 8px;

  text-decoration: none;

}

/* Main navigation when placed in Content: make it horizontal + dropdown */

.block-menu ul.menu{

  list-style: none;

  margin: 0;

  padding: 0;

}



/* 1階層目 */

.block-menu > ul.menu{

  display: flex;

  flex-wrap: wrap;

  gap: 10px 14px;

}



/* リンク */

.block-menu ul.menu a{

  text-decoration: none;

  font-weight: 600;

  color: inherit;

}

.block-menu ul.menu a:hover{

  text-decoration: underline;

  text-underline-offset: 3px;

}



/* ドロップダウン（2階層目） */

.block-menu ul.menu li{

  position: relative;

}



/* 初期は隠す */

.block-menu ul.menu li > ul{

  display: none;

  position: absolute;

  top: 100%;

  left: 0;

  min-width: 220px;

  background: #fff;

  border: 1px solid rgba(0,0,0,.12);

  border-radius: 10px;

  padding: 10px;

  margin-top: 8px;

  box-shadow: 0 10px 26px rgba(0,0,0,.08);

  z-index: 999;

}



/* hoverで表示（PC） */

.block-menu ul.menu li:hover > ul{

  display: block;

}



/* 子リンクの並び */

.block-menu ul.menu li > ul a{

  display: block;

  padding: 6px 8px;

}

/* =========================

   Main menu (content region) – FINAL

   Target: block--warakaikei-radix-main-menu

========================= */



.block--warakaikei-radix-main-menu ul.menu{

  list-style: none !important;

  margin: 0 !important;

  padding: 0 !important;

}



/* 1階層目（ここがポイント：.content の中にある ul.menu を狙う） */

.block--warakaikei-radix-main-menu .content > ul.menu,

.block--warakaikei-radix-main-menu .content ul.menu:first-child,

.block--warakaikei-radix-main-menu ul.menu.menu-level-0,

.block--warakaikei-radix-main-menu ul.menu{

  display: flex !important;

  flex-wrap: wrap !important;

  align-items: center !important;

  gap: 10px 14px !important;

}



/* 1階層目の各項目 */

.block--warakaikei-radix-main-menu ul.menu > li{

  position: relative !important;

  margin: 0 !important;

}



/* リンク */

.block--warakaikei-radix-main-menu a{

  display: inline-block !important;

  font-weight: 600 !important;

  text-decoration: none !important;

  color: inherit !important;

  padding: 6px 10px !important;

  border-radius: 10px !important;

}

.block--warakaikei-radix-main-menu a:hover{

  background: rgba(0,0,0,.03) !important;

  text-decoration: underline !important;

  text-underline-offset: 3px !important;

}



/* 2階層目（ドロップダウン） */

.block--warakaikei-radix-main-menu ul.menu > li > ul.menu{

  display: none !important;

  position: absolute !important;

  top: 100% !important;

  left: 0 !important;

  min-width: 220px !important;

  background: #fff !important;

  border: 1px solid rgba(0,0,0,.12) !important;

  border-radius: 12px !important;

  padding: 10px !important;

  margin-top: 8px !important;

  box-shadow: 0 10px 26px rgba(0,0,0,.08) !important;

  z-index: 999 !important;

}



/* hoverで子を表示（PC） */

.block--warakaikei-radix-main-menu ul.menu > li:hover > ul.menu{

  display: block !important;

}



/* 子リンクの並び */

.block--warakaikei-radix-main-menu ul.menu > li > ul.menu a{

  display: block !important;

  padding: 8px 10px !important;

}

