@charset "UTF-8";
/* WordPress用の補足（main.css / sub.css の後に読み込み） */

/* 管理バー表示中は固定ヘッダーを下げる */
.admin-bar .header{top:32px}
@media(max-width:782px){.admin-bar .header{top:46px}}

/* トップ：記事カードをリンクにしたため */
a.bcard{display:block;color:inherit}

/* ウィジェット（外観→ウィジェット で追加したもの） */
.widget>:not(.widget__h){padding:14px 18px}
.widget ul li+li{border-top:1px solid var(--line)}
.widget ul a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 2px;font-weight:700;color:var(--green-d);font-size:.94rem}
.widget ul a:hover{color:var(--pink)}
.widget.w-cta>*{padding:0}
.widget select,.widget input[type=search]{width:100%;padding:.6em .8em;border:1px solid var(--line);border-radius:8px}

/* ページ送り（paginate_links） */
.pager a,.pager span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);font-weight:700;color:var(--green-d);background:#fff}
.pager .current{background:var(--green-d);color:#fff;border-color:var(--green-d)}
.pager .dots{border:0;background:none}

/* 本文（固定ページ・記事の管理画面で書いた内容） */
.entry{color:var(--body);line-height:1.95}
.entry>*+*{margin-top:1.1em}
.entry h2{font-family:var(--serif);font-weight:700;color:var(--green-d);font-size:clamp(1.35rem,2.8vw,1.75rem);line-height:1.5;padding-left:16px;border-left:5px solid var(--pink);margin-top:2em}
.entry h3{font-family:var(--serif);font-weight:700;color:var(--green-d);font-size:1.2rem;margin-top:1.6em;padding-bottom:6px;border-bottom:1px solid var(--line)}
.entry h4{font-weight:700;color:var(--green-d);margin-top:1.4em}
.entry a{color:var(--green);text-decoration:underline;text-underline-offset:3px}
.entry ul{list-style:disc;padding-left:1.4em}
.entry ol{list-style:decimal;padding-left:1.4em}
.entry li+li{margin-top:.3em}
.entry img{height:auto;border-radius:12px}
.entry table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--shadow-s)}
.entry th,.entry td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.entry th{background:var(--green-l);color:var(--green-d);font-weight:700}
.entry blockquote{background:var(--green-l);border-radius:12px;padding:18px 22px}
.entry .wp-block-image,.entry figure{margin-left:0;margin-right:0}
.entry figcaption{font-size:.82rem;color:var(--sub);margin-top:6px}
.entry .aligncenter{margin-left:auto;margin-right:auto}
.entry__thumb{aspect-ratio:16/9;border-radius:var(--radius);margin-bottom:1.6em}
.entry-nav{display:flex;justify-content:space-between;gap:20px;margin-top:40px;padding-top:20px;border-top:1px solid var(--line);font-weight:700}
.entry-nav a{color:var(--green-d)}
.entry-nav__next{text-align:right;margin-left:auto}
.entry-back{text-align:center;margin-top:28px}

/* お問い合わせ（Contact Form 7） */
.wpcf7 form{display:flex;flex-direction:column;gap:16px}
.wpcf7 label{display:block;font-weight:700;color:var(--green-d)}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 input[type=date],.wpcf7 select,.wpcf7 textarea{
  width:100%;margin-top:6px;padding:.8em 1em;border:1.5px solid var(--line);border-radius:10px;font:inherit;font-weight:500;background:#fff}
.wpcf7 input:focus,.wpcf7 select:focus,.wpcf7 textarea:focus{outline:0;border-color:var(--green)}
.wpcf7 input[type=submit]{align-self:center;background:var(--pink);color:#fff;border:0;border-radius:999px;padding:1em 3em;font-weight:700;font-size:1rem;cursor:pointer}
.wpcf7 input[type=submit]:hover{background:var(--pink-d)}
.wpcf7-not-valid-tip{font-size:.82rem}


/* ヘッダーのロゴを縮ませない（メニュー項目が多い場合も消えないように） */
.header__logo{flex-shrink:0}
.header__logo img{width:auto;max-width:none}
.gnav{min-width:0}
.gnav ul{flex-wrap:wrap;justify-content:flex-end;row-gap:4px}

/* ---------- 旧テーマ（Cocoon）で書かれた本文の表示 ---------- */
.entry .white_box{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-s);padding:clamp(18px,3vw,28px);margin-top:1.4em}
.entry .white_box>p:empty{display:none}
.entry .column-wrap{display:flex;gap:20px;align-items:flex-start}
.entry .column-wrap>*{flex:1;min-width:0}
.entry .column-wrap>*:empty{display:none}
.entry .column-2-3-1-2>.column-left{flex:2}
.entry .column-2-3-1-2>.column-right{flex:1}
.entry .blank-box{border:2px solid var(--line);border-radius:12px;padding:16px 20px}
.entry .blank-box.bb-green{border-color:var(--green-l2);background:var(--green-l)}
.entry h5,.entry h6{font-weight:700;color:var(--green-d);margin-top:1.4em;font-size:1.05rem}
.entry hr{border:0;border-top:1px solid var(--line);margin:2em 0}
.entry .link-button-wrap{text-align:center}
.entry a.link-button{color:#fff;text-decoration:none}
@media(max-width:600px){.entry .column-wrap{flex-direction:column}}

/* 司法書士紹介：本文から生成したカード（縦長の顔写真を上寄せでトリミング） */
.staff-card>.media img{object-position:50% 20%}

/* サイドバー：ウィジェットが多いと追従（sticky）で下の方（提携企業など）が見えなくなるため、追従させない */
.sidebar{position:static}
.widget img{max-width:100%;height:auto;margin-inline:auto}
.widget .textwidget a+br+a,.widget .textwidget img+img{margin-top:10px}
.widget_nav_menu a:hover{color:var(--pink)}
.widget_nav_menu a::after{content:"\203A";color:var(--pink);font-weight:900}
/* 検索ブロック（ウィジェット） */
.widget .wp-block-search__label{display:block;font-weight:700;color:var(--green-d);margin-bottom:8px}
.widget .wp-block-search__inside-wrapper{display:flex;gap:8px}
.widget .wp-block-search__input{flex:1;min-width:0;height:44px;padding:0 .9em;border:1px solid var(--line);border-radius:10px;font:inherit}
.widget .wp-block-search__button{height:44px;padding:0 1.1em;border:0;border-radius:10px;background:var(--green-d);color:#fff;font-weight:700;white-space:nowrap;writing-mode:horizontal-tb;cursor:pointer}
.widget .wp-block-search__button:hover{background:var(--pink)}
/* ブロックウィジェットの見出し（最近の投稿・カテゴリー等）を他のウィジェット見出しと揃える */
.widget_block{padding:0}
.widget_block>.wp-block-group{padding:0!important}
.widget_block h2,.widget_block .wp-block-heading{background:var(--green-l);color:var(--green-d);font-family:var(--serif);font-weight:700;font-size:1rem;padding:14px 18px;margin:0}
.widget_block h2+*{padding:10px 18px 14px}
/* 最近の投稿：小さなアイキャッチ付き */
.widget .wp-block-latest-posts{list-style:none;margin:0}
.widget .wp-block-latest-posts li{display:grid;grid-template-columns:72px 1fr;column-gap:12px;align-content:start;padding:12px 0;margin:0;border-top:1px solid var(--line)}
.widget .wp-block-latest-posts li:first-child{border-top:0}
.widget .wp-block-latest-posts__featured-image{grid-row:1/3;width:72px;height:72px;margin:0!important;float:none!important;border-radius:10px;overflow:hidden;background:var(--green-l)}
.widget .wp-block-latest-posts__featured-image img{width:72px!important;height:72px!important;object-fit:cover;max-width:none}
.widget .wp-block-latest-posts__post-title{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;padding:0;font-size:.86rem;line-height:1.55;font-weight:700;color:var(--green-d)}
.widget .wp-block-latest-posts__post-title:hover{color:var(--pink)}
.widget .wp-block-latest-posts__post-date{display:block;font-size:.74rem;color:var(--sub);margin-top:4px}
.widget .wp-block-latest-posts li>a,.widget .wp-block-latest-posts li>div{min-width:0}

/* ---------- トップ：Instagram（Smash Balloon Instagram Feed をサイトの色に合わせる） ---------- */
.sns__head{text-align:center;margin-bottom:clamp(20px,3vw,32px)}
.sns__head .en{display:block;font-family:var(--serif);letter-spacing:.2em;color:var(--green);font-size:.78rem;font-weight:600}
.sns__head h2{font-family:var(--serif);font-weight:700;color:var(--green-d);font-size:clamp(1.5rem,3.4vw,2rem);margin-top:4px}
.sns__item+.sns__item{margin-top:24px}
.sns .textwidget>p:empty{display:none}
.sns #sb_instagram{max-width:1000px;margin:0 auto;padding-bottom:0!important;background:transparent!important}
.sns #sb_instagram .sb_instagram_header{display:none}
.sns #sb_instagram .sbi_photo_wrap,.sns #sb_instagram .sbi_photo{border-radius:14px;overflow:hidden}
.sns #sb_instagram .sbi_photo img{transition:transform .3s}
.sns #sb_instagram .sbi_photo:hover img{transform:scale(1.04)}
.sns #sb_instagram #sbi_load{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:20px}
.sns #sb_instagram #sbi_load .sbi_load_btn,.sns #sb_instagram .sbi_follow_btn a{display:inline-flex;align-items:center;gap:.5em;margin:0!important;padding:.9em 2em!important;border-radius:999px!important;font-weight:700!important;font-size:.95rem!important;box-shadow:none!important}
.sns #sb_instagram #sbi_load .sbi_load_btn{background:#fff!important;color:var(--green-d)!important;border:1.5px solid var(--line)!important}
.sns #sb_instagram .sbi_follow_btn a{background:var(--pink)!important;color:#fff!important}
.sns #sb_instagram .sbi_follow_btn a:hover{background:var(--pink-d)!important}

/* ---------- トップページ：お知らせ（ファーストビューの下。外観→ウィジェット「トップページ：お知らせ」） ---------- */
.notice{padding:clamp(22px,3vw,30px) 0 clamp(28px,3.4vw,36px)}
.notice__item{display:flex;align-items:center;gap:10px 20px;padding:16px 24px;background:var(--pink-l);border:1px solid #f5cdd7;border-radius:14px}
.notice__item+.notice__item{margin-top:12px}
.notice__label{flex:none;padding:.35em 1.2em;border-radius:999px;background:var(--pink);color:#fff;font-weight:700;font-size:.85rem;letter-spacing:.08em}
.notice .textwidget{color:var(--ink);font-weight:700;font-size:1.05rem;line-height:1.7}
.notice .textwidget p{margin:0}
.notice .textwidget p+p{margin-top:.3em}
.notice .textwidget a{color:var(--pink-d);text-decoration:underline}
@media (max-width:600px){.notice__item{flex-direction:column;align-items:flex-start;padding:14px 18px}}

/* ---------- 本文の「写真＋役職＋名前（見出し5）」の段組み＝人物カード（司法書士紹介など）。誰の写真か分かるよう1人ずつ枠で囲む ---------- */
.entry .column-wrap:has(h5){align-items:stretch;margin-bottom:20px}
.entry .column-wrap>*:has(h5){background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 18px 16px;text-align:center;box-shadow:var(--shadow-s)}
.entry .column-wrap>*:has(h5) img{display:block;width:100%;max-width:240px;aspect-ratio:6/7;object-fit:cover;object-position:center top;margin:0 auto 12px}  /* 写真の大きさ・縦横比をそろえる（元画像の比率が違っても同じ枠に） */
.entry .column-wrap>*:has(h5) h5{margin:.2em 0 0;color:var(--green-d)}
.entry .column-wrap>*:has(h5):not(:has(img))::before{content:"写真準備中";display:grid;place-items:center;width:100%;max-width:240px;aspect-ratio:6/7;margin:0 auto 12px;border-radius:12px;background:var(--green-l);color:var(--sub);font-size:.85rem;letter-spacing:.1em}  /* 写真がない人も同じ形に */
@media (max-width:600px){
  .entry .column-wrap:has(h5){flex-direction:row;gap:12px;margin-bottom:12px}
  .entry .column-wrap>*:has(h5){padding:10px 10px 12px}
  .entry .column-wrap>*:has(h5) span[style*="font-size"]{font-size:.8rem!important}
  .entry .column-wrap>*:has(h5) h5 span[style*="font-size"]{font-size:1.15rem!important}
}

/* ---------- 本文の表（見出しセル＋データセルの2列：料金表・事務所概要など）：スマホでは1行ずつ「項目名→内容」の縦並びに ---------- */
@media (max-width:600px){
  .entry table:has(tr>th+td),.entry table:has(tr>th+td)>tbody{display:block}
  .entry table:has(tr>th+td) tr{display:block;padding:12px 16px;border-bottom:1px solid var(--line)}
  .entry table:has(tr>th+td) tr:last-child{border-bottom:0}
  .entry table:has(tr>th+td) th,.entry table:has(tr>th+td) td{display:block;width:auto;padding:0;border:0;background:none}
  .entry table:has(tr>th+td) tr>th{color:var(--green-d);font-size:.92rem;line-height:1.6}
  .entry table:has(tr>th+td) tr>td{margin-top:4px;color:var(--ink);font-weight:700;line-height:1.7}
  /* 見出し行（例：手続き｜報酬（基準額））は帯にして左右に */
  .entry table:has(tr>th+td) tr:not(:has(td)){display:flex;justify-content:space-between;gap:12px;background:var(--green-l)}
  .entry table:has(tr>th+td) tr:not(:has(td))>th{font-size:.82rem}
}

/* 閉じているスマホメニュー（画面右の外に待機）で横スクロールが出ないように */
html,body{overflow-x:clip}

/* 本文の表：エディターで表の端をドラッグすると幅・高さが直接書き込まれ、表が縮む。常に横いっぱい・高さは自動に固定 */
.entry table{width:100%!important;height:auto!important}
.entry table tr,.entry table th,.entry table td{height:auto!important}
/* 見出し行つきの料金表などは、表ごとに列の幅がバラバラにならないよう左列を固定 */
@media (min-width:601px){.entry table:has(tr:first-child>th+th):has(tr>th+td) tr>*:first-child{width:55%}}
