/* 旧コンテンツ（リニューアル前からある固定ページ）を新デザインの中で読めるようにする最小スタイル */
.u-legacy .page-hero--legacy{
  --page-bg:none;
  background:var(--u-ink,#12151a);
  padding:clamp(6rem,12vw,9rem) 5vw clamp(3rem,6vw,4rem);
}
.u-legacy__in{
  max-width:1080px;margin:0 auto;padding:clamp(3rem,7vw,5rem) 5vw clamp(4rem,9vw,6rem);
  font-size:1.05rem;line-height:2;color:var(--u-body,#2a2f38);
}
.u-legacy__in > *:first-child{margin-top:0}
.u-legacy__in h1,.u-legacy__in h2,.u-legacy__in h3,.u-legacy__in h4{
  line-height:1.5;margin:2.4em 0 .8em;font-weight:700;color:var(--u-ink,#12151a);
}
.u-legacy__in h1{font-size:clamp(1.6rem,3.4vw,2.1rem)}
.u-legacy__in h2{font-size:clamp(1.4rem,3vw,1.8rem);padding-bottom:.5em;border-bottom:1px solid rgba(0,0,0,.12)}
.u-legacy__in h3{font-size:clamp(1.2rem,2.4vw,1.4rem)}
.u-legacy__in p{margin:0 0 1.6em}
.u-legacy__in ul,.u-legacy__in ol{margin:0 0 1.6em;padding-left:1.6em}
.u-legacy__in li{margin:0 0 .6em}
.u-legacy__in a{color:var(--u-accent,#8a6b3a);text-decoration:underline;text-underline-offset:.2em}
.u-legacy__in img{max-width:100%;height:auto}
.u-legacy__in figure{margin:0 0 1.6em}
.u-legacy__in table{width:100%;border-collapse:collapse;margin:0 0 1.6em;font-size:.95em}
.u-legacy__in th,.u-legacy__in td{border:1px solid rgba(0,0,0,.14);padding:.7em 1em;text-align:left;vertical-align:top}
.u-legacy__in th{background:rgba(0,0,0,.04);font-weight:700;white-space:nowrap}
.u-legacy__in blockquote{margin:0 0 1.6em;padding:1em 1.4em;border-left:3px solid var(--u-accent,#8a6b3a);background:rgba(0,0,0,.03)}
.u-legacy__in iframe,.u-legacy__in video{max-width:100%}
/* 旧テーマ（SWELL）前提の横並びが崩れないように最低限だけ支える */
.u-legacy__in .wp-block-columns{display:flex;flex-wrap:wrap;gap:1.5rem}
.u-legacy__in .wp-block-column{flex:1 1 260px;min-width:0}
@media (max-width:781px){.u-legacy__in .wp-block-columns{display:block}.u-legacy__in .wp-block-column{margin-bottom:1.5rem}}
.u-legacy__in .wp-block-image{margin:0 0 1.6em}
/* 記事一覧が空のとき */
.u-colidx__empty{padding:2rem 0;opacity:.7}

/* ===== Contact Form 7 を新サイトのフォームデザインに合わせる ===== */
.contact-form .wpcf7-form{display:grid;gap:16px}
.contact-form .wpcf7-form > p{margin:0;display:grid;gap:16px}
.contact-form label{display:grid;gap:7px;color:var(--text);font-size:.9rem}
.contact-form .wpcf7-form-control-wrap{display:block}
.contact-form input[type=text],.contact-form input[type=email],.contact-form input[type=tel],
.contact-form textarea,.contact-form select{
  width:100%;border:1px solid var(--line);border-radius:0;padding:12px 13px;
  background:var(--paper);font:inherit;color:var(--text);
}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{
  outline:2px solid var(--navy,#01275b);outline-offset:1px;
}
.contact-form textarea{min-height:150px;resize:vertical}
.contact-form .wpcf7-not-valid-tip{color:#b3261e;font-size:.8rem;margin-top:4px}
.contact-form .wpcf7-response-output{
  margin:0;padding:.9em 1.1em;border:1px solid var(--line);font-size:.88rem;background:var(--paper);
}
.contact-form .wpcf7-spinner{display:block;margin:8px auto 0}
.contact-form .btn,.contact-form input[type=submit]{justify-self:start;cursor:pointer}
.contact-form .contact-note{margin:0}
/* 必須の目印 */
.contact-form .wpcf7-form-control-wrap:has(.wpcf7-validates-as-required)::after{content:""}

/* ===== 旧ページに残っている入力欄・見出しがスマホで画面をはみ出さないようにする ===== */
.u-legacy__in input[type=text],.u-legacy__in input[type=email],.u-legacy__in input[type=tel],
.u-legacy__in input[type=url],.u-legacy__in input[type=number],.u-legacy__in input[type=date],
.u-legacy__in input[type=search],.u-legacy__in textarea,.u-legacy__in select{
  width:100%;max-width:100%;box-sizing:border-box;
  border:1px solid rgba(0,0,0,.2);border-radius:0;padding:10px 12px;
  font:inherit;background:#fff;color:inherit;
}
.u-legacy__in textarea{min-height:140px;resize:vertical}
.u-legacy__in .wpcf7-form-control-wrap{display:block;max-width:100%}
.u-legacy__in .wpcf7-list-item{margin-left:0}
.u-legacy__in .wpcf7-response-output{margin:1em 0;padding:.8em 1em;font-size:.9em}
.u-legacy__in label{display:block;max-width:100%}
.u-legacy__in input[type=submit],.u-legacy__in button{
  max-width:100%;cursor:pointer;padding:12px 24px;font:inherit;
}
.u-legacy__in iframe,.u-legacy__in embed,.u-legacy__in object{max-width:100%}
.u-legacy__in pre{overflow-x:auto;max-width:100%}
/* 長い見出し・URLの折り返し */
.page-hero--legacy h1,.u-legacy__in h1,.u-legacy__in h2,.u-legacy__in h3,.u-legacy__in h4{
  word-break:break-word;overflow-wrap:anywhere;
}
.u-legacy__in a{overflow-wrap:anywhere}
/* 表は枠内でスクロールさせる（ページ全体を横に伸ばさない） */
.u-legacy__in table{display:block;overflow-x:auto;max-width:100%}

/* ===== 送信ボタン =====
   _shared.css の「.contact-form input」（type指定なし）が、Contact Form 7 の
   <input type="submit"> にも当たって白背景・白文字になっていたので、ここで打ち消す。 */
.contact-form input[type=submit],
.contact-form .wpcf7-submit{
  width:auto;min-width:200px;min-height:48px;
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 28px;border-radius:4px;
  background:var(--grad-primary,linear-gradient(90deg,#01275b,#0a4a9b));
  color:var(--white,#fff);border:1px solid var(--navy,#01275b);
  font:inherit;font-weight:700;letter-spacing:.04em;cursor:pointer;
  transition:background .2s ease,opacity .2s ease;
}
.contact-form input[type=submit]:hover,
.contact-form .wpcf7-submit:hover{background:var(--navy-dark,#011c42)}
.contact-form input[type=submit]:disabled{opacity:.6;cursor:progress}
@media (max-width:520px){
  .contact-form input[type=submit],.contact-form .wpcf7-submit{width:100%}
}

/* 注記（送信前の案内）は1行のかたまりとして出す */
.contact-form .contact-note{
  display:block;margin:0;color:var(--muted,#6b6257);font-size:.82rem;line-height:1.9;
}
.contact-form .contact-note a{color:var(--navy,#01275b);text-decoration:underline;text-underline-offset:.2em}

/* ===== ブロックエディタ化の補正（最重要） =====
   WordPress の wp:group ブロックは、中身を
   <div class="wp-block-group__inner-container"> で包んで出力する。
   この入れ子が1段はさまると、元デザインの「直接の子」を前提にしたグリッド／フレックスが
   すべて外れ、ページが縦に伸びて崩れる。
   display:contents にすると、この箱は無かったことになり、子が元どおり親の直接の子として並ぶ。 */
.wp-block-group__inner-container{
  display:contents;
}
