/*
Theme Name: Kifu Corporate Theme
Theme URI: https://kifu-corporation.com
Author: 株式会社季風
Author URI: https://kifu-corporation.com
Description: 株式会社季風 コーポレートサイト用ブロックテーマ。デザイン方針書v1(ネイビー#0A2548・ティール#47ACAE・ナチュラルグリーン#8CB369・サンドベージュ#E4DCC8)に準拠。
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: kifu-theme
*/

/* ==== 共通コンポーネント ==== */

.kifu-card{
  background:#fff;
  border:1px solid #EAE5D8;
  border-radius:12px;
  padding:20px 22px;
}

.kifu-cards-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
  gap:20px;
}

.kifu-badge{
  display:inline-block;
  background:var(--wp--preset--color--teal-tint, #E4F3F2);
  color:var(--wp--preset--color--teal);
  font-size:11px;
  padding:3px 12px;
  border-radius:20px;
  letter-spacing:.04em;
}

/* 事業カード・商品カードのホバー */
.kifu-card a{ text-decoration:none; }
.kifu-cards-grid .kifu-card{ transition:transform .15s ease, box-shadow .15s ease; }
.kifu-cards-grid .kifu-card:hover{ transform:translateY(-3px); box-shadow:0 6px 18px rgba(10,37,72,.08); }

/* ==== 沿革タイムライン ==== */
.kifu-timeline{
  display:flex;
  flex-wrap:wrap;
  gap:24px;
  list-style:none;
  margin:0;
  padding:0;
}
.kifu-timeline li{
  flex:1 1 160px;
  border-top:3px solid var(--wp--preset--color--teal);
  padding-top:10px;
}
.kifu-timeline .kifu-timeline-year{
  font-weight:700;
  color:var(--wp--preset--color--navy);
  font-size:14px;
}
.kifu-timeline .kifu-timeline-event{
  font-size:13px;
  color:var(--wp--preset--color--ink);
  margin-top:4px;
}

/* ==== 会社概要テーブル ==== */
.kifu-info-table{ width:100%; border-collapse:collapse; }
.kifu-info-table th,
.kifu-info-table td{
  border:1px solid #E0DCD2;
  padding:12px 16px;
  text-align:left;
  font-size:14px;
  vertical-align:top;
}
.kifu-info-table th{
  background:var(--wp--preset--color--navy-tint);
  color:var(--wp--preset--color--navy);
  width:180px;
  font-weight:600;
}

/* ==== ページ見出し帯 ==== */
.kifu-page-header{
  position:relative;
  background:var(--wp--preset--color--navy);
  background-size:cover;
  background-position:center;
  color:#fff;
  padding:56px 24px;
  text-align:center;
  overflow:hidden;
}
/* 背景写真を敷いた際に文字を読みやすくするネイビーの半透明オーバーレイ */
.kifu-page-header::before{
  content:'';
  position:absolute;
  inset:0;
  background:rgba(10,37,72,.72);
}
/* 下層ページ共通の控えめな円弧装飾(トップの風モチーフをトーンダウンして展開。方針書v4.1「30〜50%に抑える」に対応) */
.kifu-page-header::after{
  content:'';
  position:absolute;
  z-index:0;
  width:560px;
  height:230px;
  right:-170px;
  top:-76px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:50%;
  transform:rotate(-10deg);
  pointer-events:none;
}
.kifu-page-header h1{
  position:relative;
  z-index:1;
  color:#fff;
  margin:0;
}

/* 各事業紹介ページの見出し帯に、トップページの事業紹介カードと同じ写真を背景として設定
   (functions.phpのkifu_add_slug_body_class()でbodyにpage-{スラッグ}クラスを付与している) */
.page-medical-care-food .kifu-page-header{ background-image:url('/wp-content/themes/kifu-theme/assets/images/card-medical-care-food.jpg'); }
.page-ashitaba .kifu-page-header{ background-image:url('/wp-content/themes/kifu-theme/assets/images/card-ashitaba.jpg'); }
.page-stem-cell .kifu-page-header{ background-image:url('/wp-content/themes/kifu-theme/assets/images/card-stem-cell.jpg'); }
.page-health-products .kifu-page-header{ background-image:url('/wp-content/themes/kifu-theme/assets/images/card-health-products.jpg'); }
.page-inbound .kifu-page-header{ background-image:url('/wp-content/themes/kifu-theme/assets/images/card-inbound.jpg'); }

/* ==== ヘッダー・ナビ ==== */
/* position:stickyは、WordPressがテンプレートパーツを包む自動生成ラッパー
   <header class="wp-block-template-part"> 側に付ける。.kifu-site-header自体に付けると、
   直近の親(containing block)であるこのラッパーの高さがヘッダー自身の高さとぴったり同じになり、
   position:stickyが「動ける範囲」を持てず追従しなくなるため(実機検証済み)。
   header.wp-block-template-partはヘッダー用テンプレートパーツにしか付かない
   (フッターはfooter.wp-block-template-partでタグが違う)ので他要素への影響はない。 */
header.wp-block-template-part{
  position:sticky;
  top:0;
  z-index:100;
}
.kifu-site-header{
  border-bottom:1px solid #EAE5D8;
}
.kifu-site-header .wp-block-navigation{ font-size:14px; }
.kifu-site-header .wp-block-navigation a{ color:var(--wp--preset--color--navy); }

/* ハンバーガーメニュー展開時(モバイル)は、ネイビー地・白文字の全画面パネルにして視認性を確保する。
   overlayBackgroundColor/overlayTextColor(header.html側)を基本としつつ、
   上の .kifu-site-header .wp-block-navigation a{ color:navy } を必ず上書きする */
.wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay){
  background-color:var(--wp--preset--color--navy) !important;
}
.wp-block-navigation__responsive-container.is-menu-open a,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon{
  color:#fff !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg{
  fill:#fff;
}
/* 最上位メニュー項目: 大きめの文字+タップしやすい余白+項目間の区切り線 */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item{
  border-bottom:1px solid rgba(255,255,255,.18);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content{
  padding:16px 4px !important;
  font-size:18px;
  font-weight:700;
  letter-spacing:.02em;
}
/* サブメニュー(事業紹介の5事業)は、親項目より小さく・インデントして階層をはっきり見せる */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{
  border-top:1px solid rgba(255,255,255,.18);
  margin:0 0 4px;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
  padding:12px 4px 12px 20px !important;
  font-size:14.5px;
  font-weight:400;
  opacity:.82;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item{
  border-bottom:none;
}
/* 展開時は右寄せ(デスクトップ用のjustifyContent:right)を引き継がず、読み進めやすい左揃えにする */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{
  align-items:flex-start !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
  text-align:left;
  width:100%;
}

/* ==== フッター ==== */
.kifu-site-footer a{ color:#cfe3e0; }
.kifu-site-footer .wp-block-navigation a{ color:#cfe3e0; font-size:13px; }

/* ==== ボタン(ピル形状はtheme.jsonで既定) ==== */
.wp-block-button__link{ padding:10px 28px; }

/* ==== お問い合わせフォーム(Contact Form 7) ==== */
.kifu-form-row{ margin-bottom:20px; }
.kifu-form-row label, .kifu-form-row .kifu-form-label{
  display:block;
  font-size:14px;
  font-weight:600;
  color:var(--wp--preset--color--navy);
  margin-bottom:6px;
}
.kifu-form-required{
  display:inline-block;
  background:var(--wp--preset--color--teal);
  color:#fff;
  font-size:11px;
  font-weight:600;
  padding:1px 8px;
  border-radius:20px;
  margin-left:8px;
  vertical-align:middle;
}
.wpcf7-form-control.wpcf7-text,
.wpcf7-form-control.wpcf7-textarea{
  width:100%;
  font-family:inherit;
  font-size:15px;
  padding:11px 14px;
  border:1px solid #D9D2C0;
  border-radius:8px;
  background:#fff;
  color:var(--wp--preset--color--ink);
  box-sizing:border-box;
}
.wpcf7-form-control.wpcf7-textarea{ min-height:150px; resize:vertical; }
.wpcf7-form-control.wpcf7-text:focus,
.wpcf7-form-control.wpcf7-textarea:focus{
  outline:none;
  border-color:var(--wp--preset--color--teal);
  box-shadow:0 0 0 3px rgba(71,172,174,.15);
}
.wpcf7-acceptance .wpcf7-list-item{ margin:0; }
.wpcf7-acceptance label{ font-size:13px; font-weight:400; display:flex; align-items:center; gap:8px; }
.wpcf7-form-control.wpcf7-checkbox{ display:flex; flex-wrap:wrap; }
.wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0 16px 10px 0;
}
.wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item-label{
  font-size:14px;
  color:var(--wp--preset--color--ink);
}
.wpcf7-form-control.wpcf7-checkbox input[type="checkbox"]{
  width:16px;
  height:16px;
  accent-color:var(--wp--preset--color--teal);
}
.kifu-form-submit{ text-align:center; margin-top:28px; }
.wpcf7-form .wpcf7-submit{
  background:var(--wp--preset--color--teal);
  color:#fff;
  border:none;
  border-radius:999px;
  padding:12px 40px;
  font-size:15px;
  font-weight:600;
  cursor:pointer;
  transition:opacity .15s ease;
}
.wpcf7-form .wpcf7-submit:hover{ opacity:.85; }
.wpcf7-form .wpcf7-submit:disabled{ opacity:.5; cursor:not-allowed; }
.wpcf7-not-valid-tip{ color:#C1483C; font-size:12px; margin-top:4px; display:block; }
.wpcf7-response-output{
  border-radius:8px !important;
  font-size:13px;
  padding:12px 16px !important;
}

/* ==== レスポンシブ ==== */
@media (max-width:782px){
  .kifu-cards-grid{ grid-template-columns:1fr 1fr; }
  .kifu-info-table th{ width:120px; font-size:13px; }
}
@media (max-width:480px){
  .kifu-cards-grid{ grid-template-columns:1fr; }
}

/* ==== スクロール連動アニメーション(kifu-reveal) ==== */
.kifu-reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .7s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1);
  will-change:opacity, transform;
}
.kifu-reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}
/* グリッド内(カード等)を少しずつ時間差で出す */
.kifu-reveal-delay-1{ transition-delay:.08s; }
.kifu-reveal-delay-2{ transition-delay:.16s; }
.kifu-reveal-delay-3{ transition-delay:.24s; }

@media (prefers-reduced-motion:reduce){
  .kifu-reveal{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
}

/* ==== メインビジュアル(2026.08.14確定: 円形フォト+空気の層+光のヴェール。太い白い円弧は使用しない) ==== */
.kifu-hero{
  position:relative;
  min-height:640px;
  overflow:hidden;
  background:
    radial-gradient(circle at 76% 12%,rgba(255,255,255,.96),transparent 32%),
    linear-gradient(90deg,#fff 0 46%,#f1f8f7 62%,#d8ebed 100%);
  box-shadow:inset 0 -80px 110px rgba(10,37,72,.025);
}
/* ファーストビュー左側、コピー背後にうっすら重なる大きな円弧(固定・装飾) */
.kifu-hero::before,
.kifu-hero::after{
  content:'';
  position:absolute;
  border:1px solid rgba(71,172,174,.22);
  border-radius:50%;
  pointer-events:none;
}
.kifu-hero::before{
  width:820px;
  height:320px;
  left:-260px;
  top:70px;
  transform:rotate(-12deg);
  animation:kifu-background-air-1 8s ease-in-out infinite;
}
.kifu-hero::after{
  width:960px;
  height:380px;
  left:-230px;
  top:140px;
  transform:rotate(-12deg);
  animation:kifu-background-air-2 10s ease-in-out infinite;
}
/* 2026.08.14: 「動いているか分かりにくい」との指摘を受け、振れ幅を約2倍・周期を短縮してダイナミックに調整 */
@keyframes kifu-background-air-1{
  0%,100%{ transform:translate3d(-18px,4px,0) rotate(-13deg); opacity:.5; }
  50%{ transform:translate3d(66px,-16px,0) rotate(-9deg); opacity:1; }
}
@keyframes kifu-background-air-2{
  0%,100%{ transform:translate3d(26px,-6px,0) rotate(-11deg); opacity:.4; }
  50%{ transform:translate3d(-58px,20px,0) rotate(-14deg); opacity:.92; }
}

/* 円形写真+空気の層+光のヴェールをまとめたラッパー。デスクトップ/タブレットではヒーロー全体に重ねる絶対配置、
   スマホ(600px以下)ではテキストの直後に続く通常フローのブロックへ切り替える(→写真とテキストが離れて見える問題の対策) */
.kifu-hero-media{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
}
.kifu-hero-visual{
  position:absolute;
  inset:0 0 0 34%;
  overflow:hidden;
  clip-path:circle(62% at 74% 54%);
  background:#eaf2f7;
  filter:saturate(1.03) contrast(1.035) brightness(1.025);
}
.kifu-hero-slide{
  position:absolute;
  inset:0;
  z-index:0;
  background-size:cover;
  background-position:center;
  opacity:0;
  transform:scale(1.035);
  transition:opacity .4s ease, transform 7s ease;
}
.kifu-hero-slide::after{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(238,243,247,.50),rgba(238,243,247,.025) 29%,rgba(10,37,72,.045)),
    linear-gradient(180deg,rgba(255,255,255,.025),rgba(10,37,72,.08));
}
/* 表示中のスライドを常に最前面にする(非アクティブ側にもz-index:0を明示しているため、
   DOM順やブラウザ側の暗黙値に依存したティア(同値競合)が起こらない)。
   クロスフェードは.4sに短縮し、切替の瞬間に前の写真が透けて見える時間を最小化している。 */
.kifu-hero-slide.is-active{ opacity:1; transform:scale(1); z-index:2; }

/* 空気の層：線ではなく、半透明の幅を持つ帯を3層重ねる */
.kifu-hero-breeze{
  position:absolute;
  z-index:7;
  left:35%;
  right:-6%;
  top:102px;
  height:390px;
  pointer-events:none;
  overflow:visible;
  filter:drop-shadow(0 18px 30px rgba(49,141,143,.08));
}
.kifu-hero-breeze span{
  position:absolute;
  display:block;
  height:160px;
  border-radius:50%;
  transform:rotate(-10deg);
  opacity:.62;
  mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 84%,transparent 100%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 84%,transparent 100%);
  animation:kifu-air-drift 10s ease-in-out infinite;
}
.kifu-hero-breeze span::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:50%;
  border-top:34px solid rgba(255,255,255,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.56);
  backdrop-filter:blur(2px);
}
.kifu-hero-breeze span::after{
  content:'';
  position:absolute;
  left:12%;
  right:10%;
  top:12px;
  height:2px;
  border-radius:50%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),rgba(156,226,220,.6),transparent);
  filter:blur(.3px);
}
.kifu-hero-breeze span:nth-child(1){ width:92%; top:0; left:-2%; animation-duration:7s; }
.kifu-hero-breeze span:nth-child(2){ width:80%; top:108px; left:11%; opacity:.5; animation-duration:8s; animation-delay:-3.5s; }
.kifu-hero-breeze span:nth-child(2)::before{ border-top-width:46px; border-top-color:rgba(167,225,221,.18); }
.kifu-hero-breeze span:nth-child(3){ width:62%; top:215px; left:28%; opacity:.44; animation-duration:6s; animation-delay:-2s; }
.kifu-hero-breeze span:nth-child(3)::before{ border-top-width:22px; border-top-color:rgba(255,255,255,.3); }
/* 2026.08.14: 振れ幅を約2倍・周期短縮・ピーク不透明度を引き上げ、風が通り過ぎる動きを明確化 */
@keyframes kifu-air-drift{
  0%,100%{ transform:translate3d(-62px,16px,0) rotate(-13deg) scaleX(.93); opacity:.32; }
  48%{ opacity:.85; }
  58%{ transform:translate3d(88px,-18px,0) rotate(-7deg) scaleX(1.09); opacity:.78; }
}

/* 光のヴェール：薄い光の面が写真をゆっくり横切る */
.kifu-hero-streak{
  position:absolute;
  z-index:8;
  top:-18%;
  bottom:-18%;
  left:28%;
  width:31%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.09) 18%,rgba(255,255,255,.46) 48%,rgba(218,246,242,.24) 67%,transparent);
  filter:blur(10px);
  transform:translate3d(-155%,0,0) skewX(-16deg);
  opacity:0;
  animation:kifu-veil-pass 7s cubic-bezier(.45,.05,.55,.95) infinite;
  pointer-events:none;
}
.kifu-hero-streak::after{
  content:'';
  position:absolute;
  inset:10% 25%;
  background:rgba(255,255,255,.28);
  filter:blur(20px);
}
/* 2026.08.14: 周期短縮+待機区間の圧縮で、光が通過する頻度を上げてダイナミックに */
@keyframes kifu-veil-pass{
  0%,8%{ transform:translate3d(-155%,0,0) skewX(-16deg); opacity:0; }
  22%{ opacity:.8; }
  60%{ transform:translate3d(255%,0,0) skewX(-16deg); opacity:.38; }
  72%,100%{ transform:translate3d(255%,0,0) skewX(-16deg); opacity:0; }
}

.kifu-hero-sideword{
  position:absolute;
  z-index:5;
  right:26px;
  top:100px;
  color:#fff;
  font-family:var(--wp--preset--font-family--heading);
  font-size:14px;
  font-weight:600;
  letter-spacing:.35em;
  writing-mode:vertical-rl;
  -webkit-text-stroke:.35px rgba(10,37,72,.9);
  text-shadow:0 1px 3px rgba(10,37,72,.95), 0 0 10px rgba(10,37,72,.75);
}

/* 右下、スライドに連動する事業案内カード */
.kifu-hero-note{
  position:absolute;
  z-index:8;
  right:48px;
  bottom:40px;
  width:250px;
  min-height:100px;
  padding:16px 20px;
  background:rgba(250,247,242,.9);
  border:1px solid rgba(255,255,255,.72);
  backdrop-filter:blur(10px);
  color:var(--wp--preset--color--navy);
  font-size:12px;
  line-height:1.7;
  box-shadow:0 22px 60px rgba(10,37,72,.14);
}
.kifu-hero-note-item{ display:none; }
.kifu-hero-note-item.is-active{ display:block; }
.kifu-hero-note-item strong{
  display:block;
  margin-bottom:4px;
  color:#1d7f83;
  font-family:var(--wp--preset--font-family--heading);
  font-size:15px;
  font-weight:500;
}

.kifu-hero-inner{
  position:relative;
  z-index:3;
  min-height:640px;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  align-items:center;
  max-width:1300px;
  margin:0 auto;
  padding:0 32px;
  box-sizing:border-box;
}
.kifu-hero-copy{ position:relative; z-index:3; padding:56px 30px 72px 0; }
.kifu-hero-kicker{
  display:flex;
  align-items:center;
  gap:14px;
  color:#1d7f83;
  font-size:11px;
  font-weight:700;
  letter-spacing:.2em;
}
.kifu-hero-kicker::before{ content:''; width:40px; height:1px; background:var(--wp--preset--color--teal); }

.kifu-hero-message-stage{ position:relative; min-height:300px; margin-top:24px; }
/* 見出しメッセージも写真と同じ絶対配置の重ね書きのため、切替中は新旧2つのメッセージが同時に
   半透明で重なって見えていた(特に文字は隙間が多く、写真以上に「二重に見える」ちらつきとして
   目立ちやすい)。写真側と同様にz-indexを明示し、フェード時間も.7s→.35sへ大幅短縮して
   重なって見える時間を最小化する。 */
.kifu-hero-message{
  position:absolute;
  inset:0;
  z-index:0;
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  transition:opacity .35s ease, transform .35s ease, visibility .35s;
}
.kifu-hero-message.is-active{ opacity:1; visibility:visible; transform:none; z-index:1; }
.kifu-hero-message h1{
  margin:0 0 20px;
  color:var(--wp--preset--color--navy);
  font-family:var(--wp--preset--font-family--heading);
  font-size:clamp(30px, 4.2vw, 46px);
  font-weight:500;
  line-height:1.5;
  letter-spacing:.03em;
}
.kifu-hero-message h1.compact-title{ font-size:clamp(29px, 3.8vw, 42px); }
.kifu-hero-message h1 em{ font-style:normal; color:#1d7f83; }
.kifu-hero-lead{ max-width:460px; margin:0; color:#42545b; font-size:14.5px; }
.kifu-hero-actions{ display:flex; align-items:center; gap:18px; margin-top:30px; flex-wrap:wrap; }
.kifu-hero-primary{
  display:inline-flex;
  align-items:center;
  gap:14px;
  padding:13px 20px 13px 24px;
  background:var(--wp--preset--color--navy);
  border-radius:999px;
  color:#fff;
  font-size:13px;
  font-weight:700;
  letter-spacing:.04em;
  text-decoration:none;
  box-shadow:0 12px 28px rgba(10,37,72,.18);
}
.kifu-hero-primary span{
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  background:var(--wp--preset--color--teal);
  border-radius:50%;
}
.kifu-hero-secondary{
  color:var(--wp--preset--color--navy);
  font-size:13px;
  font-weight:700;
  border-bottom:1px solid rgba(10,37,72,.3);
  text-decoration:none;
}

.kifu-hero-dots{
  position:absolute;
  z-index:10;
  left:50%;
  bottom:26px;
  display:flex;
  gap:10px;
  transform:translateX(-50%);
}
.kifu-hero-dot{
  width:10px;
  height:10px;
  padding:0;
  border:1px solid rgba(10,37,72,.5);
  border-radius:50%;
  background:rgba(255,255,255,.65);
  cursor:pointer;
  transition:background .2s ease, transform .2s ease;
}
.kifu-hero-dot.is-active{
  background:var(--wp--preset--color--teal);
  border-color:var(--wp--preset--color--teal);
  transform:scale(1.25);
}

@media (max-width:960px){
  .kifu-hero{ min-height:680px; }
  .kifu-hero-inner{ min-height:680px; display:block; padding:0 24px; }
  .kifu-hero-copy{ width:60%; padding-top:80px; }
  .kifu-hero-visual{ left:40%; }
  .kifu-hero-breeze{ left:31%; right:-12%; }
  .kifu-hero-note{ right:24px; }
}
/* スマホ(600px以下): 絶対配置の重ね表示をやめ、テキスト→写真→事業案内→ドットの順に
   通常のブロックとして縦に積む(実際のテキスト量に依存する隙間・ズレが出ない構成) */
@media (max-width:600px){
  .kifu-hero{
    position:relative;
    min-height:0;
    overflow:hidden;
    background:var(--wp--preset--color--warm-white);
  }
  .kifu-hero::before,
  .kifu-hero::after{ display:none; } /* 左側背景の大きな円弧装飾は縦積み時は非表示(誤って写真に重ならないようにする) */

  .kifu-hero-inner{ position:static; min-height:0; padding:0 24px; }
  .kifu-hero-copy{ width:100%; padding:44px 0 0; }
  .kifu-hero-message-stage{ position:static; min-height:0; margin-top:18px; }
  .kifu-hero-message{ position:static; opacity:1; visibility:hidden; transform:none; height:0; overflow:hidden; padding:0; transition:none; }
  .kifu-hero-message.is-active{ visibility:visible; height:auto; overflow:visible; }
  .kifu-hero-message h1{ font-size:28px; line-height:1.5; }
  .kifu-hero-lead{ font-size:13px; max-width:none; }
  .kifu-hero-actions{ gap:12px; margin-top:20px; }

  /* 写真+空気の層+光のヴェール: テキストの直後に続く、高さを持った通常フローの要素 */
  .kifu-hero-media{
    position:relative;
    inset:auto;
    z-index:0;
    height:230px;
    margin:24px 0 0;
    overflow:hidden;
  }
  .kifu-hero-visual{ position:absolute; inset:0; left:0; clip-path:circle(68% at 66% 46%); }
  .kifu-hero-breeze{ left:-10%; right:-22%; top:12px; height:205px; }
  .kifu-hero-breeze span{ height:78px; }
  .kifu-hero-breeze span::before{ border-top-width:18px; }
  .kifu-hero-breeze span:nth-child(1){ top:0; }
  .kifu-hero-breeze span:nth-child(2){ top:63px; }
  .kifu-hero-breeze span:nth-child(2)::before{ border-top-width:24px; }
  .kifu-hero-breeze span:nth-child(3){ top:125px; }
  .kifu-hero-breeze span:nth-child(3)::before{ border-top-width:12px; }
  .kifu-hero-streak{ top:-30%; bottom:-30%; left:18%; width:38%; }
  .kifu-hero-sideword{ right:12px; top:14px; font-size:12px; }

  /* 事業案内カード・ドットは写真の下に通常フローで配置(オーバーレイをやめる) */
  .kifu-hero-note{
    position:static;
    width:auto;
    margin:16px 24px 0;
    box-shadow:0 10px 26px rgba(10,37,72,.1);
  }
  .kifu-hero-dots{
    position:static;
    left:auto; bottom:auto; transform:none;
    justify-content:center;
    margin:18px 0 32px;
  }
}
@media (prefers-reduced-motion:reduce){
  .kifu-hero-slide,
  .kifu-hero-message{ transition:none; }
  .kifu-hero::before,
  .kifu-hero::after,
  .kifu-hero-breeze span,
  .kifu-hero-streak{ animation:none; }
  .kifu-hero-streak{ display:none; }
}

/* ==== 事業紹介カード(背景写真つき) ==== */
.kifu-card-photo{
  position:relative;
  display:flex;
  align-items:flex-end;
  min-height:230px;
  border-radius:12px;
  overflow:hidden;
  background-size:cover;
  background-position:center;
  text-decoration:none;
  box-shadow:0 1px 2px rgba(10,37,72,.08);
  transition:transform .2s ease, box-shadow .2s ease;
}
.kifu-card-photo::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(10,37,72,0) 35%, rgba(10,37,72,.88) 100%);
  transition:background .25s ease;
}
.kifu-card-photo:hover,
.kifu-card-photo:focus-visible{
  transform:translateY(-4px);
  box-shadow:0 12px 26px rgba(10,37,72,.2);
}
.kifu-card-photo:hover::before,
.kifu-card-photo:focus-visible::before{
  background:linear-gradient(180deg, rgba(71,172,174,0) 20%, rgba(38,120,122,.92) 100%);
}
.kifu-card-photo-inner{
  position:relative;
  z-index:1;
  padding:20px 22px;
  width:100%;
  box-sizing:border-box;
}
.kifu-card-photo-title{
  display:block;
  color:#fff;
  font-weight:700;
  font-size:16px;
  margin-bottom:6px;
}
.kifu-card-photo-desc{
  display:block;
  color:rgba(255,255,255,.92);
  font-size:13px;
  line-height:1.6;
  margin-bottom:10px;
}
.kifu-card-photo-link{
  display:inline-block;
  color:#fff;
  font-size:12px;
  font-weight:600;
  padding:4px 12px;
  border:1px solid rgba(255,255,255,.7);
  border-radius:20px;
  transition:background .2s ease, color .2s ease;
}
.kifu-card-photo:hover .kifu-card-photo-link,
.kifu-card-photo:focus-visible .kifu-card-photo-link{
  background:#fff;
  color:var(--wp--preset--color--teal);
  border-color:#fff;
}

/* トップページ 事業紹介セクション(隙間なく写真で横枠いっぱいに敷き詰める) */
.kifu-business-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
  gap:0;
}
.kifu-business-grid .kifu-card-photo{
  border-radius:0;
  box-shadow:none;
  min-height:260px;
  outline:1px solid rgba(255,255,255,.35);
  outline-offset:-1px;
}
.kifu-business-grid .kifu-card-photo:hover,
.kifu-business-grid .kifu-card-photo:focus-visible{
  transform:none; /* 隙間なく敷き詰めるため、ホバー時の浮き上がりは無効化 */
}

/* 事業カード 個別背景画像 */
.kifu-card-bg-medical{ background-image:url('/wp-content/themes/kifu-theme/assets/images/card-medical-care-food.jpg'); }
.kifu-card-bg-ashitaba{ background-image:url('/wp-content/themes/kifu-theme/assets/images/card-ashitaba.jpg'); }
.kifu-card-bg-stemcell{ background-image:url('/wp-content/themes/kifu-theme/assets/images/card-stem-cell.jpg'); }
/* 背景画像が明るいため共通オーバーレイだけでは白文字が読みにくかった。このカードのみオーバーレイを強める */
.kifu-card-photo.kifu-card-bg-stemcell::before{
  background:linear-gradient(180deg, rgba(10,37,72,0) 5%, rgba(10,37,72,.6) 55%, rgba(10,37,72,.93) 100%);
}
.kifu-card-bg-health{ background-image:url('/wp-content/themes/kifu-theme/assets/images/card-health-products.jpg'); }
/* 元画像は左側に手前のバスタブがぼかされて写っており、カードの横長トリミングだと
   画面の半分近くが不鮮明な余白に見えてしまっていた。位置とサイズを調整し、
   製品(De/Pert本体・TECOパネル)がはっきり見えるようにトリミングする */
.kifu-card-bg-health{ background-size:120% auto; background-position:62% 40%; }
.kifu-card-bg-inbound{ background-image:url('/wp-content/themes/kifu-theme/assets/images/card-inbound.jpg'); }

/* ==== v4: トップAbout(左「季風」/右OUR PHILOSOPHY) ==== */
.kifu-about{
  display:grid;
  grid-template-columns:36% 64%;
  min-height:300px;
}
.kifu-about-brand{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:54px 34px;
}
.kifu-about-jp{
  font-family:var(--wp--preset--font-family--heading);
  font-size:54px;
  line-height:1;
  color:var(--wp--preset--color--navy);
  letter-spacing:.08em;
  margin:0;
}
.kifu-about-en{
  margin-top:22px;
  color:#65778a;
  font-size:11px;
  letter-spacing:.22em;
}
.kifu-about-message{
  position:relative;
  padding:56px 54px 56px 22px;
  overflow:hidden;
  border-left:1px dashed #D8D2C4;
}
.kifu-about-message::after{
  content:'KIFU';
  position:absolute;
  right:-8px;
  top:4px;
  color:rgba(10,37,72,.035);
  font-family:var(--wp--preset--font-family--heading);
  font-size:145px;
  line-height:1;
  pointer-events:none;
}
.kifu-about-eyebrow{
  position:relative;
  z-index:1;
  color:#1d7f83;
  font-size:11px;
  font-weight:700;
  letter-spacing:.22em;
  margin-bottom:10px;
}
.kifu-about-message h2{
  position:relative;
  z-index:1;
  font-size:clamp(24px, 3vw, 30px);
  line-height:1.65;
  margin:0 0 20px;
  color:var(--wp--preset--color--navy);
}
.kifu-about-message h2 em{
  font-style:normal;
  color:#328f92;
}
.kifu-about-message p{
  position:relative;
  z-index:1;
  font-size:14px;
  color:#64707b;
  max-width:620px;
  margin:0 0 12px;
}
.kifu-about-cta{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-top:14px;
  color:var(--wp--preset--color--navy);
  font-weight:700;
  font-size:14px;
  text-decoration:none;
}
.kifu-about-cta i{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border:1px solid #D8D2C4;
  border-radius:50%;
  font-style:normal;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.kifu-about-cta:hover i{
  background:var(--wp--preset--color--teal);
  color:#fff;
  border-color:var(--wp--preset--color--teal);
}
@media (max-width:720px){
  .kifu-about{ grid-template-columns:1fr; min-height:0; }
  .kifu-about-brand{ padding:34px 24px 8px; }
  .kifu-about-jp{ font-size:42px; }
  .kifu-about-message{ padding:16px 24px 40px; border-left:none; }
  .kifu-about-message::after{ font-size:100px; top:2px; }
}

/* ==== v4: 事業紹介(主力3+補助2) ==== */
/* トップページ・事業一覧ページで共用。2026.08.14: 主力3事業(医療食卸/新品種明日葉/幹細胞培養上清液)を
   横3列均等表示に変更(旧: 医療食卸を大きく見せる非対称グリッド)。補助2事業は引き続き下段均等2列 */
.kifu-business-core{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:20px;
}
.kifu-business-core .kifu-card-photo{
  border-radius:12px;
  min-height:220px;
}
.kifu-business-secondary{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-top:20px;
}
.kifu-core-badge{
  display:inline-block;
  border:1px solid rgba(255,255,255,.65);
  border-radius:12px;
  padding:2px 10px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  margin-bottom:8px;
}
@media (max-width:720px){
  .kifu-business-core,
  .kifu-business-secondary{ grid-template-columns:1fr; }
}

/* ==== v4: 会社概要 行動基準(5項目) ==== */
.kifu-behavior-grid{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:12px;
}
.kifu-behavior-grid .kifu-card{
  text-align:center;
  padding:18px 12px;
}
@media (max-width:782px){
  .kifu-behavior-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:480px){
  .kifu-behavior-grid{ grid-template-columns:1fr; }
}

/* ==== v4: 新品種明日葉 用途紹介 写真プレースホルダー(16:10・実写差し替え待ち) ==== */
.kifu-usage-photo{
  aspect-ratio:16/10;
  border-radius:10px 10px 0 0;
  margin:-1px -1px 12px;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  box-sizing:border-box;
  padding:8px 12px;
  color:var(--wp--preset--color--navy);
  font-size:11px;
  font-weight:700;
}
.kifu-usage-photo-raw{
  background:repeating-linear-gradient(45deg, var(--wp--preset--color--navy-tint), var(--wp--preset--color--navy-tint) 10px, var(--wp--preset--color--green) 10px, var(--wp--preset--color--green) 11px, var(--wp--preset--color--navy-tint) 11px, var(--wp--preset--color--navy-tint) 20px);
}
.kifu-usage-photo-aseave{
  background:repeating-linear-gradient(45deg, var(--wp--preset--color--sand), var(--wp--preset--color--sand) 10px, var(--wp--preset--color--teal-tint, #E4F3F2) 10px, var(--wp--preset--color--teal-tint, #E4F3F2) 20px);
}
.kifu-usage-photo-solar{
  background:repeating-linear-gradient(45deg, var(--wp--preset--color--navy), var(--wp--preset--color--navy) 10px, #123761 10px, #123761 20px);
  color:#fff;
}

/* ==== 会社概要ページ専用(2026.08.14 デザインモック「会社概要ページ_セクション背景デザイン案_v1.html」のニュアンス反映) ====
   すべて .page-company (functions.php の kifu_add_slug_body_class() で自動付与) の配下に閉じており、
   他の固定ページ・汎用 page.html には一切影響しない。専用テンプレート templates/page-company.html を使用。 */

/* 各セクション共通の上下余白(PC 90px前後 / スマホ 70px前後) */
.page-company .kifu-company-band{
  padding-top:90px;
  padding-bottom:90px;
}
@media (max-width:600px){
  .page-company .kifu-company-band{
    padding-top:70px;
    padding-bottom:70px;
  }
}

/* 企業理念: ウォームホワイト帯・上下に細い境界線(強い反転や大きな背景文字は使用しない)
   2026.08.15: 中央寄せ指定はユーザー確認の上で撤回し、他セクションと同じ左揃え・通常幅に戻した */
.page-company .kifu-company-philosophy{
  border-top:1px solid rgba(10,37,72,.08);
  border-bottom:1px solid rgba(10,37,72,.08);
}

/* 代表挨拶: 署名の代表者名をやや大きく強調 */
.page-company .kifu-company-message .kifu-company-signature-name{
  font-size:19px;
  font-weight:700;
  color:var(--wp--preset--color--navy);
}

/* 行動基準: カード上端に細いティール線、影はごく控えめ、角丸も控えめ(既存デスクトップ5列/スマホ1列のグリッドはそのまま流用) */
.page-company .kifu-company-standards .kifu-behavior-grid .kifu-card{
  border:1px solid rgba(10,37,72,.06);
  border-top:2px solid var(--wp--preset--color--teal);
  border-radius:8px;
}

/* 会社情報: 添付モック風(2026.08.15) — セル罫線・th背景色をやめ、上部にネイビーの罫線、
   各行の下端にのみ薄いネイビーグレーの区切り線。表の内容・行数・列幅は無改変 */
.page-company .kifu-company-profile .kifu-info-table{
  border-top:2px solid var(--wp--preset--color--navy);
}
.page-company .kifu-company-profile .kifu-info-table th,
.page-company .kifu-company-profile .kifu-info-table td{
  border:none;
  border-bottom:1px solid rgba(10,37,72,.13);
  padding:19px 8px;
  background:transparent;
}
.page-company .kifu-company-profile .kifu-info-table th{
  color:var(--wp--preset--color--navy);
  font-weight:700;
}
.page-company .kifu-company-profile .kifu-info-table td{
  color:#53646d;
}
.page-company .kifu-company-profile .kifu-info-table tr:last-child th,
.page-company .kifu-company-profile .kifu-info-table tr:last-child td{
  border-bottom:none;
}

/* 沿革: 添付モック風(2026.08.15) — 横並びflexカードから、左に年月・縦の線+ティールのドット・
   項目間に薄い横罫線を持つ縦のタイムラインへ変更。post_content(8件の年表データ)は無改変、
   既存DOM(ul.kifu-timeline > li > div.kifu-timeline-year + div.kifu-timeline-event)のまま
   CSSのみで組み替えている */
.page-company .kifu-company-history .kifu-timeline{
  display:block;
  position:relative;
  max-width:820px;
}
.page-company .kifu-company-history .kifu-timeline::before{
  content:'';
  position:absolute;
  left:84px;
  top:6px;
  bottom:6px;
  width:1px;
  background:rgba(71,172,174,.45);
}
.page-company .kifu-company-history .kifu-timeline li{
  position:relative;
  display:grid;
  grid-template-columns:72px 1fr;
  gap:28px;
  flex:none;
  border-top:none;
  padding-top:0;
}
.page-company .kifu-company-history .kifu-timeline li::before{
  content:'';
  position:absolute;
  left:79px;
  top:3px;
  width:11px;
  height:11px;
  border:3px solid #F8F7F4;
  border-radius:50%;
  background:var(--wp--preset--color--teal);
  box-shadow:0 0 0 1px var(--wp--preset--color--teal);
}
/* 2026.08.15: 「2010.10」等の日付が列幅より広く、丸ドットと文字が重なっていた不具合を修正。
   列幅を拡大した上で日付を右揃え+折り返し禁止にし、必ずドットの左側で止まるようにした */
.page-company .kifu-company-history .kifu-timeline-year{
  color:var(--wp--preset--color--teal);
  padding-top:0;
  text-align:right;
  white-space:nowrap;
}
.page-company .kifu-company-history .kifu-timeline-event{
  color:var(--wp--preset--color--navy);
  margin-top:0;
  padding-bottom:22px;
  border-bottom:1px solid rgba(10,37,72,.13);
}
.page-company .kifu-company-history .kifu-timeline li:last-child .kifu-timeline-event{
  border-bottom:none;
  padding-bottom:0;
}
@media (max-width:600px){
  /* 2026.08.15: ドットの枠線(border)+外周のbox-shadowぶん見た目の直径が数値より大きく、
     日付列の右端・本文列の左端の両方に接触していた不具合を修正。
     列幅・余白(gap)・ドットサイズを見直し、両側に確実な隙間ができる数値に調整した */
  .page-company .kifu-company-history .kifu-timeline::before{ left:68px; }
  .page-company .kifu-company-history .kifu-timeline li{
    grid-template-columns:56px 1fr;
    gap:26px;
  }
  .page-company .kifu-company-history .kifu-timeline li::before{
    left:62px;
    width:7px;
    height:7px;
    border-width:2px;
  }
  .page-company .kifu-company-history .kifu-timeline-year{ font-size:13px; }
}

/* アクセス: 地図(左)+所在地・最寄り駅の白カード(右)の2カラム。既存のwp:columns標準の
   モバイル自動スタック(約782px以下で縦積み)により、スマホでは地図→情報カードの順に自然に並ぶ */
.page-company .kifu-company-access-map{
  border-radius:12px;
  overflow:hidden;
}
.page-company .kifu-company-access-map iframe{
  display:block;
}
.page-company .kifu-company-access-card{
  background:#fff;
  border-radius:12px;
  padding:26px 30px;
  box-shadow:0 6px 18px rgba(10,37,72,.05);
}
.page-company .kifu-company-access-card > *:first-child{ margin-top:0; }
.page-company .kifu-company-access-card ul{ margin-top:8px; }
.page-company .kifu-company-access-card li{ font-size:13.5px; }

/* ==== 医療食卸ページ専用(2026.08.14 デザインモック「医療食卸ページ_デザインモックアップ_v1.html」を反映) ====
   すべて .page-medical-care-food (functions.php の kifu_add_slug_body_class() で自動付与) の配下に閉じており、
   他の固定ページ・共用テンプレート page-business.html には一切影響しない。専用テンプレート templates/page-medical-care-food.html を使用。
   スラッグ・画像ファイル名は旧称 medical-care-food のまま(front-page.html・page-business-list.html のリンク先、
   127行目の .page-medical-care-food .kifu-page-header 背景ルールと連動しているため変更しない。同ルールはこのページでは
   使用しなくなるが、テンプレートを page-business に戻した際の保険として削除しない)。
   多カラムレイアウトは原則 wp:columns の標準レスポンシブ(782px以下で自動縦積み)に任せ、本ブロックでは
   余白・配色・タイポグラフィなど見た目のみを上書きする。 */

.page-medical-care-food .kifu-medical-section{
  padding-top:96px;
  padding-bottom:96px;
}
@media (max-width:600px){
  .page-medical-care-food .kifu-medical-section{
    padding-top:64px;
    padding-bottom:64px;
  }
}

/* ---- ヒーロー ---- */
.page-medical-care-food .kifu-medical-hero{
  background:radial-gradient(circle at 12% 20%, rgba(71,172,174,.14), transparent 32%), linear-gradient(135deg, #fff 0%, #f9fbf8 55%, #eef6f0 100%);
}
.page-medical-care-food .kifu-medical-hero-inner{
  padding-top:64px;
  padding-bottom:76px;
}
.page-medical-care-food .kifu-medical-crumb{
  color:#7b8a90;
  font-size:11px;
  letter-spacing:.06em;
  margin-bottom:28px !important;
}
.page-medical-care-food .kifu-medical-eyebrow{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--wp--preset--color--teal);
  font-size:11px;
  font-weight:800;
  letter-spacing:.2em;
  text-transform:uppercase;
  margin-bottom:8px !important;
}
.page-medical-care-food .kifu-medical-eyebrow::before{
  content:"";
  width:32px;
  height:1px;
  background:var(--wp--preset--color--teal);
}
.page-medical-care-food .kifu-medical-hero-title{
  font-size:clamp(38px,4.6vw,58px);
  line-height:1.3;
  letter-spacing:.05em;
  margin:6px 0 18px !important;
}
.page-medical-care-food .kifu-medical-hero-lead{
  font-family:var(--wp--preset--font-family--heading);
  font-size:clamp(19px,2vw,25px);
  line-height:1.75;
  color:var(--wp--preset--color--navy);
  margin:0 0 18px !important;
}
.page-medical-care-food .kifu-medical-hero-lead em{
  color:var(--wp--preset--color--teal);
  font-style:normal;
}
.page-medical-care-food .kifu-medical-hero-text{
  max-width:460px;
  color:#63737b;
  font-size:14px;
}
.page-medical-care-food .kifu-medical-hero-media{
  position:relative;
}
.page-medical-care-food .kifu-medical-hero-media::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:-6% -12% -6% 8%;
  border:1px solid rgba(10,37,72,.14);
  border-radius:50%;
  pointer-events:none;
}
.page-medical-care-food .kifu-medical-hero-photo{
  position:relative;
  z-index:1;
  margin:0 !important;
  overflow:hidden;
  border-radius:28px;
  box-shadow:0 30px 70px rgba(10,37,72,.16);
}
.page-medical-care-food .kifu-medical-hero-photo img{
  border-radius:28px;
  aspect-ratio:6/5;
  object-fit:cover;
}
@media (max-width:782px){
  .page-medical-care-food .kifu-medical-hero-inner{ padding-top:44px; padding-bottom:36px; }
  .page-medical-care-food .kifu-medical-hero-media{ margin-top:32px; }
  .page-medical-care-food .kifu-medical-hero-media::before{ display:none; }
}

/* ---- アンカーナビ ---- */
.page-medical-care-food .kifu-medical-anchor-nav{
  background:#fff;
  border-top:1px solid #E7E2D4;
  border-bottom:1px solid #E7E2D4;
}
.page-medical-care-food .kifu-medical-anchor-nav .wp-block-column{
  border-right:1px solid #E7E2D4;
  text-align:center;
}
.page-medical-care-food .kifu-medical-anchor-nav .wp-block-column:last-child{ border-right:0; }
.page-medical-care-food .kifu-medical-anchor-nav a{
  display:block;
  padding:22px 10px;
  color:var(--wp--preset--color--navy);
  font-family:var(--wp--preset--font-family--heading);
  font-size:16px;
  font-weight:700;
  letter-spacing:.03em;
  text-decoration:none;
}
.page-medical-care-food .kifu-medical-anchor-no{
  display:block;
  margin-bottom:6px;
  color:var(--wp--preset--color--teal);
  font:12px/1 Georgia, serif;
  letter-spacing:.14em;
}
@media (max-width:782px){
  .page-medical-care-food .kifu-medical-anchor-nav .wp-block-columns{ flex-wrap:wrap; }
  .page-medical-care-food .kifu-medical-anchor-nav .wp-block-column{ flex-basis:50% !important; }
  .page-medical-care-food .kifu-medical-anchor-nav .wp-block-column:nth-child(2){ border-right:0; }
  .page-medical-care-food .kifu-medical-anchor-nav .wp-block-column:nth-child(-n+2){ border-bottom:1px solid #E7E2D4; }
}

/* ---- セクション見出し共通 ---- */
.page-medical-care-food .kifu-medical-section-head{
  margin-bottom:44px !important;
}
.page-medical-care-food .kifu-medical-section-no{
  display:block;
  margin-bottom:10px;
  color:var(--wp--preset--color--teal);
  font:600 12px/1.4 Georgia, serif;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.page-medical-care-food .kifu-medical-section-head h2{
  margin:0 0 14px !important;
}
.page-medical-care-food .kifu-medical-section-head p{
  max-width:640px;
  margin:0 !important;
  color:#63737b;
}
.page-medical-care-food .kifu-medical-value .kifu-medical-section-no,
.page-medical-care-food .kifu-medical-value .kifu-medical-section-head h2{
  color:#fff !important;
}

/* ---- 01 拡大する在宅需要 ---- */
.page-medical-care-food .kifu-medical-stats .wp-block-column{
  background:#fff;
  border:1px solid #E7E2D4;
  padding:26px;
}
.page-medical-care-food .kifu-medical-stat-num{
  display:block;
  color:var(--wp--preset--color--teal);
  font:600 clamp(36px,4vw,54px)/1 Georgia, serif;
  letter-spacing:-.02em;
}
.page-medical-care-food .kifu-medical-stat-num small{ font-size:.4em; margin-left:2px; }
.page-medical-care-food .kifu-medical-stat-label{
  display:block;
  margin-top:10px;
  color:var(--wp--preset--color--navy);
  font-size:13.5px;
  font-weight:700;
}
.page-medical-care-food .kifu-medical-stat-sub{
  display:block;
  margin-top:3px;
  color:#63737b;
  font-size:11px;
}
.page-medical-care-food .kifu-medical-source{
  margin-top:14px !important;
  padding-left:12px;
  border-left:2px solid var(--wp--preset--color--sand);
  color:#79878c;
  font-size:10.5px;
  line-height:1.7;
}
.page-medical-care-food .kifu-medical-partner-tag{
  display:inline-flex;
  margin-top:14px !important;
  padding:9px 15px;
  color:var(--wp--preset--color--teal);
  background:#E4F3F2;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
}

/* ---- 02 在宅の食卓の課題 ---- */
.page-medical-care-food .kifu-medical-issue{ background:var(--wp--preset--color--warm-white); }
.page-medical-care-food .kifu-medical-issue-photo{
  margin:0 !important;
  border-radius:0 96px 0 0;
  overflow:hidden;
  box-shadow:0 20px 60px rgba(10,37,72,.12);
}
.page-medical-care-food .kifu-medical-issue-photo img{ border-radius:0 96px 0 0; aspect-ratio:4/3.4; object-fit:cover; }
.page-medical-care-food .kifu-medical-problem{
  display:grid;
  grid-template-columns:36px 1fr;
  gap:14px;
  align-items:start;
  padding:18px 20px !important;
  margin-bottom:12px !important;
  border-left:3px solid var(--wp--preset--color--sand) !important;
  box-shadow:0 8px 24px rgba(10,37,72,.05);
}
.page-medical-care-food .kifu-medical-problem-num{
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--wp--preset--color--teal);
  background:#E4F3F2;
  border-radius:50%;
  font:600 12px Georgia, serif;
}
.page-medical-care-food .kifu-medical-problem strong{
  display:block;
  margin-bottom:4px;
  color:var(--wp--preset--color--navy);
  font-size:15px;
}
.page-medical-care-food .kifu-medical-problem p{
  margin:0 !important;
  color:#63737b;
  font-size:12.5px;
  line-height:1.75;
}
.page-medical-care-food .kifu-medical-solution{
  padding:20px 22px !important;
  color:#fff;
  background:var(--wp--preset--color--navy);
}
.page-medical-care-food .kifu-medical-solution strong{ color:#9FE0D8; }
.page-medical-care-food .kifu-medical-solution p{ margin:0 !important; }

/* ---- 03 商品ラインナップ ---- */
.page-medical-care-food .kifu-medical-product{
  padding:0 !important;
  overflow:hidden;
}
.page-medical-care-food .kifu-medical-product-visual{ margin:0 !important; }
.page-medical-care-food .kifu-medical-product-visual img{ aspect-ratio:16/10.5; object-fit:contain; background:#fff; }
.page-medical-care-food .kifu-medical-product-visual img.wp-image-89{ aspect-ratio:1280/464; }
.page-medical-care-food .kifu-medical-product-visual img.wp-image-90{ aspect-ratio:535/196; }
.page-medical-care-food .kifu-medical-product-body{ padding:28px 30px 32px; }
.page-medical-care-food .kifu-medical-product-kicker{
  color:var(--wp--preset--color--teal);
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
}
.page-medical-care-food .kifu-medical-product-body h3{ margin:8px 0 12px !important; font-size:24px; }
.page-medical-care-food .kifu-medical-product-body p{ margin:0 !important; color:#63737b; font-size:13.5px; }
.page-medical-care-food .kifu-medical-product-points{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:18px !important;
}
.page-medical-care-food .kifu-medical-product-points span{
  padding:6px 11px;
  color:var(--wp--preset--color--teal);
  background:#E4F3F2;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
}
.page-medical-care-food .kifu-medical-lineup-note{
  margin-top:24px !important;
  color:#63737b;
  text-align:center;
  font-size:13px;
}

/* ---- 04 ふたつの安心 ---- */
.page-medical-care-food .kifu-medical-value{
  color:#fff;
  background:linear-gradient(135deg,#071d36,#173f64);
}
.page-medical-care-food .kifu-medical-dual-intro{
  max-width:700px;
  margin:-8px 0 36px !important;
  color:rgba(255,255,255,.76);
  text-align:left;
}
.page-medical-care-food .kifu-medical-audience{ padding:34px 32px !important; }
.page-medical-care-food .kifu-medical-audience-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--wp--preset--color--teal);
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
}
.page-medical-care-food .kifu-medical-audience-label::before{
  content:"";
  width:22px;
  height:1px;
  background:var(--wp--preset--color--teal);
}
.page-medical-care-food .kifu-medical-audience h3{ margin:12px 0 20px !important; font-size:21px; }
.page-medical-care-food .kifu-medical-benefit{
  display:grid;
  grid-template-columns:26px 1fr;
  gap:10px;
  padding:14px 0;
  border-top:1px solid #E0DCD2;
}
.page-medical-care-food .kifu-medical-benefit:first-of-type{ border-top:0; padding-top:0; }
.page-medical-care-food .kifu-medical-benefit-num{
  width:24px;
  height:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:var(--wp--preset--color--teal);
  border-radius:50%;
  font:600 10px Georgia, serif;
}
.page-medical-care-food .kifu-medical-benefit strong{ display:block; color:var(--wp--preset--color--navy); font-size:13.5px; }
/* .kifu-medical-benefit p ではなく内側の wp:group 配下だけを対象にする(数字バッジ.kifu-medical-benefit-numも
   <p>要素のため、.kifu-medical-benefit pという広いdescendantセレクタだと詳細度勝ちでバッジの白文字色を
   薄いグレー(#63737b)に上書きしてしまい、数字が読みにくくなっていた) */
.page-medical-care-food .kifu-medical-benefit > .wp-block-group p{ margin:3px 0 0 !important; color:#63737b; font-size:12px; line-height:1.7; text-align:left; }
/* 説明文ブロックがWordPressコアの.is-layout-constrainedにより中央寄せされ、丸数字の横から
   ずれて表示されていたため、幅を100%にして丸数字のすぐ横に揃える */
.page-medical-care-food .kifu-medical-benefit > .wp-block-group{ width:100%; max-width:100%; margin:0 !important; }
.page-medical-care-food .kifu-medical-benefit > .wp-block-group{ text-align:left; }
.page-medical-care-food .kifu-medical-logistics{
  display:grid;
  grid-template-columns:190px 1fr auto;
  gap:24px;
  align-items:center;
  margin-top:20px !important;
  padding:26px 30px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
}
/* 「工場直送冷凍でお届け」と「約1年」のフォントサイズ・色を統一(以前はミント色27px/白38pxとバラバラで
   サイズも配色もアンバランスだった)。どちらも白地に近い高コントラストの白文字・同系サイズに揃える。 */
.page-medical-care-food .kifu-medical-logistics strong{
  display:block;
  color:#fff;
  font-family:var(--wp--preset--font-family--heading);
  font-size:26px;
  line-height:1.3;
}
.page-medical-care-food .kifu-medical-logistics p{ margin:0 !important; color:rgba(255,255,255,.78); font-size:13px; }
.page-medical-care-food p.kifu-medical-logistics-year{
  color:#fff;
  font:600 26px/1.3 var(--wp--preset--font-family--heading);
  white-space:nowrap;
  text-align:center;
}
.page-medical-care-food .kifu-medical-logistics-year small{
  display:block;
  margin-top:6px;
  color:rgba(255,255,255,.85);
  font-size:11px;
  font-weight:400;
}
@media (max-width:782px){
  .page-medical-care-food .kifu-medical-logistics{ grid-template-columns:1fr; text-align:center; }
}

/* ---- 05 ご検討からお届けまで ---- */
.page-medical-care-food .kifu-medical-support{ background:var(--wp--preset--color--navy-tint); }
.page-medical-care-food .kifu-medical-flow-step{ padding:26px 22px !important; min-height:150px; }
.page-medical-care-food .kifu-medical-flow-label{
  display:block;
  color:var(--wp--preset--color--teal);
  font:600 11px Georgia, serif;
  letter-spacing:.1em;
}
.page-medical-care-food .kifu-medical-flow-step h3{ margin:12px 0 6px !important; font-size:16px; color:var(--wp--preset--color--navy); }
.page-medical-care-food .kifu-medical-flow-step p{ margin:0 !important; color:#63737b; font-size:12px; line-height:1.75; }
@media (min-width:601px) and (max-width:960px){
  .page-medical-care-food .kifu-medical-support .wp-block-columns{ flex-wrap:wrap; }
  .page-medical-care-food .kifu-medical-support .wp-block-column{ flex-basis:50% !important; }
}

/* ---- CTA ---- */
.page-medical-care-food .kifu-medical-cta{
  color:#fff;
  text-align:center;
  background:linear-gradient(120deg,#071d36,#174e6d);
}
.page-medical-care-food .kifu-medical-cta h2{ color:#fff !important; margin:12px 0 14px !important; }
.page-medical-care-food .kifu-medical-cta p{ color:rgba(255,255,255,.72); max-width:560px; margin:0 auto 28px !important; }
.page-medical-care-food .kifu-medical-cta .kifu-medical-eyebrow{ justify-content:flex-start; color:#9FE0D8; margin-bottom:0 !important; }
.page-medical-care-food .kifu-medical-cta .kifu-medical-eyebrow::before{ background:#9FE0D8; }
.page-medical-care-food .kifu-medical-cta .wp-block-button__link{
  background:#fff !important;
  color:var(--wp--preset--color--navy) !important;
  min-width:280px;
}


/* ==== 新品種明日葉ページ専用(2026.08.15 デザインモック「新品種明日葉ページ_デザインモックアップ_v1.html」を反映) ====
   すべて .page-ashitaba (functions.php の kifu_add_slug_body_class() で自動付与) の配下に閉じており、
   他の固定ページ・共用テンプレート page-business.html には一切影響しない。専用テンプレート templates/page-ashitaba.html を使用。
   医療食卸ページ(.page-medical-care-food)と同じ設計方針: 独自:root変数は作らず theme.json のプリセット
   var(--wp--preset--color--*) をそのまま使い、多カラムは wp:columns 標準レスポンシブ(782px以下で自動縦積み)に任せる。
   ashitabaページは「green(明日葉グリーン)」を主アクセント、「teal」を副アクセントとして使い分ける。 */

.page-ashitaba .kifu-ashitaba-section{
  padding-top:96px;
  padding-bottom:96px;
}
@media (max-width:600px){
  .page-ashitaba .kifu-ashitaba-section{
    padding-top:64px;
    padding-bottom:64px;
  }
}

/* ---- ヒーロー ---- */
.page-ashitaba .kifu-ashitaba-hero{
  background:radial-gradient(circle at 12% 20%, rgba(140,179,105,.16), transparent 32%), linear-gradient(135deg, #fff 0%, #fbfcf8 52%, #eef4e9 100%);
}
.page-ashitaba .kifu-ashitaba-hero-inner{
  padding-top:64px;
  padding-bottom:72px;
}
.page-ashitaba .kifu-ashitaba-crumb{
  color:#7b8a90;
  font-size:11px;
  letter-spacing:.06em;
  margin-bottom:26px !important;
}
.page-ashitaba .kifu-ashitaba-eyebrow{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--wp--preset--color--green);
  font-size:11px;
  font-weight:800;
  letter-spacing:.2em;
  text-transform:uppercase;
  margin-bottom:8px !important;
}
.page-ashitaba .kifu-ashitaba-eyebrow::before{
  content:"";
  width:32px;
  height:1px;
  background:currentColor;
}
.page-ashitaba .kifu-ashitaba-hero-title{
  font-size:clamp(36px,4.8vw,58px);
  line-height:1.3;
  letter-spacing:.04em;
  margin:6px 0 18px !important;
}
.page-ashitaba .kifu-ashitaba-hero-lead{
  font-family:var(--wp--preset--font-family--heading);
  font-size:clamp(19px,2.1vw,27px);
  line-height:1.78;
  color:var(--wp--preset--color--navy);
  margin:0 0 18px !important;
}
.page-ashitaba .kifu-ashitaba-hero-lead em{
  color:var(--wp--preset--color--green);
  font-style:normal;
}
.page-ashitaba .kifu-ashitaba-hero-text{
  max-width:460px;
  color:#5c6d72;
  font-size:14px;
}
.page-ashitaba .kifu-ashitaba-hero-media{
  position:relative;
}
.page-ashitaba .kifu-ashitaba-hero-media::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:-6% -10% -6% 6%;
  border:1px solid rgba(10,37,72,.14);
  border-radius:50%;
  pointer-events:none;
}
.page-ashitaba .kifu-ashitaba-hero-media::after{
  content:"";
  position:absolute;
  z-index:0;
  inset:4% 0 4% 14%;
  border:1px solid rgba(140,179,105,.24);
  border-radius:50%;
  pointer-events:none;
}
.page-ashitaba .kifu-ashitaba-hero-photo{
  position:relative;
  z-index:1;
  margin:0 !important;
  overflow:hidden;
  border-radius:28px;
  box-shadow:0 30px 70px rgba(10,37,72,.16);
}
.page-ashitaba .kifu-ashitaba-hero-photo img{
  border-radius:28px;
  aspect-ratio:6/5;
  object-fit:cover;
}
.page-ashitaba .kifu-ashitaba-hero-caption{
  position:relative;
  z-index:1;
  margin-top:18px !important;
  padding:14px 18px !important;
  color:var(--wp--preset--color--navy);
  background:#fff;
  border-left:3px solid var(--wp--preset--color--green);
  box-shadow:0 16px 40px rgba(10,37,72,.1);
  font-size:12px;
}
.page-ashitaba .kifu-ashitaba-hero-caption strong{
  display:block;
  color:var(--wp--preset--color--green);
  font-size:10px;
  letter-spacing:.1em;
  margin-bottom:3px;
}
@media (max-width:782px){
  .page-ashitaba .kifu-ashitaba-hero-inner{ padding-top:44px; padding-bottom:36px; }
  .page-ashitaba .kifu-ashitaba-hero-media{ margin-top:32px; }
  .page-ashitaba .kifu-ashitaba-hero-media::before,
  .page-ashitaba .kifu-ashitaba-hero-media::after{ display:none; }
}

/* ---- ページ内アンカーナビ ---- */
.page-ashitaba .kifu-ashitaba-anchor-nav{
  background:#fff;
  border-top:1px solid #E7E2D4;
  border-bottom:1px solid #E7E2D4;
}
.page-ashitaba .kifu-ashitaba-anchor-nav .wp-block-column{
  border-right:1px solid #E7E2D4;
  text-align:center;
}
.page-ashitaba .kifu-ashitaba-anchor-nav .wp-block-column:last-child{ border-right:0; }
.page-ashitaba .kifu-ashitaba-anchor-nav a{
  display:block;
  padding:22px 10px;
  color:var(--wp--preset--color--navy);
  font-family:var(--wp--preset--font-family--heading);
  font-size:16px;
  font-weight:700;
  letter-spacing:.03em;
  text-decoration:none;
}
.page-ashitaba .kifu-ashitaba-anchor-nav a:focus-visible{
  outline:2px solid var(--wp--preset--color--teal);
  outline-offset:-2px;
}
.page-ashitaba .kifu-ashitaba-anchor-no{
  display:block;
  margin-bottom:6px;
  color:var(--wp--preset--color--green);
  font:12px/1 Georgia, serif;
  letter-spacing:.14em;
}
@media (max-width:782px){
  /* wp:columns標準のflex-wrapベースの折返し(medical-care-foodと同じ方式)を試したところ、この環境では
     flex-basis/flex-grow/flex-shrinkをすべてインラインstyle+importantで強制してもなお1列ずつ縦積みになる
     現象をCDPで実測確認した(WP coreが挿入する生成レイアウト用stylesheetとの干渉が疑われるが、原因の完全特定は
     困難だったため深追いしない)。display:gridに切り替えることで確実に2×2配置になることをCDP実測で検証済み。 */
  .page-ashitaba .kifu-ashitaba-anchor-nav .wp-block-columns.wp-block-columns{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:0 !important;
  }
  .page-ashitaba .kifu-ashitaba-anchor-nav .wp-block-column:nth-child(2){ border-right:0; }
  .page-ashitaba .kifu-ashitaba-anchor-nav .wp-block-column:nth-child(-n+2){ border-bottom:1px solid #E7E2D4; }
}

/* ---- セクション見出し共通 ---- */
.page-ashitaba .kifu-ashitaba-section-head{
  margin-bottom:44px !important;
}
.page-ashitaba .kifu-ashitaba-section-no{
  display:block;
  margin-bottom:10px;
  color:var(--wp--preset--color--green);
  font:600 12px/1.4 Georgia, serif;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.page-ashitaba .kifu-ashitaba-section-head h2{
  margin:0 0 14px !important;
}
.page-ashitaba .kifu-ashitaba-section-head p{
  max-width:680px;
  margin:0 !important;
  color:#63737b;
}
.page-ashitaba .kifu-ashitaba-rights .kifu-ashitaba-section-no,
.page-ashitaba .kifu-ashitaba-rights .kifu-ashitaba-section-head h2{
  color:#fff !important;
}
.page-ashitaba .kifu-ashitaba-rights .kifu-ashitaba-section-head p{
  color:rgba(255,255,255,.72) !important;
}

/* ---- 01 新品種明日葉とは ---- */
.page-ashitaba .kifu-ashitaba-about{ background:#fff; }
.page-ashitaba .kifu-ashitaba-intro-photo{
  margin:0 !important;
  position:relative;
  overflow:hidden;
  border-radius:0 96px 0 0;
  box-shadow:0 20px 60px rgba(10,37,72,.12);
}
.page-ashitaba .kifu-ashitaba-intro-photo img{
  border-radius:0 96px 0 0;
  aspect-ratio:4/3.6;
  object-fit:cover;
}
.page-ashitaba .kifu-ashitaba-intro-caption{
  margin-top:10px !important;
  color:#7b8a90;
  font-size:12px;
}
.page-ashitaba .kifu-ashitaba-intro-copy h3{
  margin:0 0 16px !important;
}
.page-ashitaba .kifu-ashitaba-intro-note{
  margin-top:22px !important;
  padding:16px 18px !important;
  color:#4c6a5c;
  background:var(--wp--preset--color--navy-tint);
  border-left:3px solid var(--wp--preset--color--teal);
  font-size:12.5px;
}
@media (max-width:782px){
  .page-ashitaba .kifu-ashitaba-intro-photo{ margin-bottom:8px !important; }
}
.page-ashitaba .kifu-ashitaba-feature-grid{ margin-top:16px !important; }
.page-ashitaba .kifu-ashitaba-feature{
  height:100%;
  padding:26px 24px !important;
  background:#fff;
  border:1px solid #E7E2D4;
}
.page-ashitaba .kifu-ashitaba-feature-no{
  display:block;
  margin-bottom:10px;
  color:var(--wp--preset--color--green);
  font:12px Georgia, serif;
  letter-spacing:.12em;
}
.page-ashitaba .kifu-ashitaba-feature strong{
  display:block;
  margin-bottom:8px !important;
  color:var(--wp--preset--color--navy);
  font-family:var(--wp--preset--font-family--heading);
  font-size:19px;
  line-height:1.4;
}
.page-ashitaba .kifu-ashitaba-feature p{
  margin:0 !important;
  color:#63737b;
  font-size:12.5px;
  line-height:1.75;
}

/* ---- 02 健康素材から、環境価値まで。広がる明日葉の可能性 ---- */
.page-ashitaba .kifu-ashitaba-possibility{ background:var(--wp--preset--color--warm-white); }
.page-ashitaba .kifu-ashitaba-possibility-grid{ margin-top:16px !important; }
.page-ashitaba .kifu-ashitaba-possibility-card{
  height:100%;
  overflow:hidden;
  background:#fff;
  border:1px solid #E7E2D4;
  box-shadow:0 14px 40px rgba(10,37,72,.06);
}
.page-ashitaba .kifu-ashitaba-possibility-visual{
  margin:0 !important;
  position:relative;
  overflow:hidden;
}
.page-ashitaba .kifu-ashitaba-possibility-visual img{
  aspect-ratio:4/3;
  object-fit:cover;
}
.page-ashitaba .kifu-ashitaba-possibility-visual.is-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  aspect-ratio:4/3;
  position:relative;
  overflow:hidden;
  background:linear-gradient(145deg,#f6f1df,#e9f2e5);
}
.page-ashitaba .kifu-ashitaba-possibility-visual.is-placeholder::before{
  content:"ASEAVE";
  color:rgba(10,37,72,.14);
  font:600 clamp(30px,4vw,46px)/1 Georgia, serif;
  letter-spacing:.06em;
}
.page-ashitaba .kifu-ashitaba-possibility-visual.is-placeholder::after{
  content:"";
  position:absolute;
  width:130px;
  height:130px;
  border:1px solid rgba(140,179,105,.25);
  border-radius:50%;
  box-shadow:0 0 0 22px rgba(140,179,105,.06);
}
.page-ashitaba .kifu-ashitaba-possibility-body{
  padding:26px 24px 28px !important;
}
.page-ashitaba .kifu-ashitaba-possibility-kicker{
  display:block;
  color:var(--wp--preset--color--green);
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:8px;
}
.page-ashitaba .kifu-ashitaba-possibility-body p:first-of-type{
  margin-top:0 !important;
}
.page-ashitaba .kifu-ashitaba-possibility-body p{
  margin:0 !important;
  color:#63737b;
  font-size:13px;
}
.page-ashitaba .kifu-ashitaba-possibility-body strong{
  display:block;
  margin-bottom:12px !important;
  color:var(--wp--preset--color--navy);
  font-family:var(--wp--preset--font-family--heading);
  font-size:21px;
  line-height:1.4;
}
.page-ashitaba .kifu-ashitaba-tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:16px !important;
}
.page-ashitaba .kifu-ashitaba-tags span{
  padding:5px 10px;
  color:var(--wp--preset--color--green);
  background:#EEF4E7;
  border-radius:999px;
  font-size:10px;
  font-weight:700;
}
.page-ashitaba .kifu-ashitaba-research-note{
  margin-top:28px !important;
  padding:18px 20px !important;
  color:#5f7075;
  background:#fff;
  border:1px solid #E7E2D4;
  font-size:11px;
  line-height:1.85;
}

/* ---- 03 人が集うあらゆる空間に、明日葉という緑を ---- */
.page-ashitaba .kifu-ashitaba-green{ background:linear-gradient(135deg,#f7fbf7,#edf7f3); }
.page-ashitaba .kifu-ashitaba-green-copy h3{ margin:0 0 16px !important; }
.page-ashitaba .kifu-ashitaba-green-points{ margin-top:22px !important; }
.page-ashitaba .kifu-ashitaba-green-point{
  display:flex;
  align-items:center;
  gap:10px;
  height:100%;
  box-sizing:border-box;
  padding:14px 15px !important;
  background:#fff;
  border:1px solid #E7E2D4;
  font-size:12px;
  font-weight:700;
  color:var(--wp--preset--color--navy);
}
.page-ashitaba .kifu-ashitaba-green-point b{
  display:inline-grid;
  flex:0 0 auto;
  place-items:center;
  width:24px;
  height:24px;
  color:#fff;
  background:var(--wp--preset--color--green);
  border-radius:50%;
  font:500 11px Georgia, serif;
}
.page-ashitaba .kifu-ashitaba-green-visual{
  position:relative;
  min-height:320px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:120px 0 0 0;
  background:linear-gradient(150deg,#0a2548,#1c4a3f);
  box-shadow:0 24px 60px rgba(10,37,72,.18);
}
.page-ashitaba .kifu-ashitaba-green-visual::before,
.page-ashitaba .kifu-ashitaba-green-visual::after{
  content:"";
  position:absolute;
  border:1px solid rgba(255,255,255,.26);
  border-radius:50%;
  pointer-events:none;
}
.page-ashitaba .kifu-ashitaba-green-visual::before{ width:280px; height:280px; top:-70px; left:-70px; }
.page-ashitaba .kifu-ashitaba-green-visual::after{ width:190px; height:190px; bottom:-55px; right:-40px; }
.page-ashitaba .kifu-ashitaba-green-visual-copy{
  position:relative;
  z-index:1;
  max-width:280px;
  padding:24px;
  text-align:center;
  color:#fff;
}
.page-ashitaba .kifu-ashitaba-green-visual-copy strong{
  display:block;
  margin-bottom:8px;
  color:var(--wp--preset--color--teal);
  font-size:11px;
  letter-spacing:.1em;
}
.page-ashitaba .kifu-ashitaba-green-visual-copy span{
  display:block;
  font-size:12.5px;
  line-height:1.75;
  color:rgba(255,255,255,.86);
}
@media (max-width:782px){
  .page-ashitaba .kifu-ashitaba-green-visual{ margin-top:32px; border-radius:64px 0 0 0; min-height:240px; }
}
.page-ashitaba .kifu-ashitaba-space-grid{ margin-top:40px !important; }
.page-ashitaba .kifu-ashitaba-space{
  position:relative;
  overflow:hidden;
  min-height:220px;
  height:100%;
  padding:22px !important;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  color:#fff;
  background-size:cover;
  background-position:center;
}
/* 4空間それぞれの実写を背景に敷き、以前は色帯のみだった::beforeのグラデーションは
   半透明のトーンオーバーレイとして写真の上に重ね、白文字の可読性を保つ */
.page-ashitaba .kifu-ashitaba-space.is-office{ background-image:url('/wp-content/themes/kifu-theme/assets/images/ashitaba-space-office.jpg'); }
.page-ashitaba .kifu-ashitaba-space.is-residence{ background-image:url('/wp-content/themes/kifu-theme/assets/images/ashitaba-space-residence.jpg'); }
.page-ashitaba .kifu-ashitaba-space.is-hotel{ background-image:url('/wp-content/themes/kifu-theme/assets/images/ashitaba-space-hotel.jpg'); }
.page-ashitaba .kifu-ashitaba-space.is-hospital{ background-image:url('/wp-content/themes/kifu-theme/assets/images/ashitaba-space-hospital.jpg'); }
.page-ashitaba .kifu-ashitaba-space::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.55;
}
.page-ashitaba .kifu-ashitaba-space.is-office::before{ background:linear-gradient(155deg,#708b79,#102f44 70%); }
.page-ashitaba .kifu-ashitaba-space.is-residence::before{ background:linear-gradient(155deg,#a2a986,#173848 72%); }
.page-ashitaba .kifu-ashitaba-space.is-hotel::before{ background:linear-gradient(155deg,#b59972,#243f4d 72%); }
.page-ashitaba .kifu-ashitaba-space.is-hospital::before{ background:linear-gradient(155deg,#8ca7a3,#12334d 72%); }
.page-ashitaba .kifu-ashitaba-space::after{
  content:"";
  position:absolute;
  right:-32px;
  top:-32px;
  width:120px;
  height:120px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  pointer-events:none;
}
.page-ashitaba .kifu-ashitaba-space > *{ position:relative; z-index:1; }
.page-ashitaba .kifu-ashitaba-space-label{
  display:block;
  color:rgba(255,255,255,.8);
  font:11px/1 Georgia, serif;
  letter-spacing:.12em;
  margin-bottom:8px;
}
.page-ashitaba .kifu-ashitaba-space strong{
  display:block;
  margin-bottom:8px !important;
  color:#fff;
  font-family:var(--wp--preset--font-family--heading);
  font-size:19px;
}
.page-ashitaba .kifu-ashitaba-space p{
  margin:0 !important;
  color:rgba(255,255,255,.8);
  font-size:11.5px;
  line-height:1.75;
}
.page-ashitaba .kifu-ashitaba-support{
  margin-top:28px !important;
  padding:26px 28px !important;
  background:#fff;
  border:1px solid #E7E2D4;
}
.page-ashitaba .kifu-ashitaba-support strong{
  display:block;
  margin-bottom:8px !important;
  color:var(--wp--preset--color--green);
  font-family:var(--wp--preset--font-family--heading);
  font-size:18px;
}
.page-ashitaba .kifu-ashitaba-support p{
  margin:0 !important;
  color:#63737b;
  font-size:12.5px;
}

/* ---- 04 季風だけが持つ、栽培と流通の権利 ---- */
.page-ashitaba .kifu-ashitaba-rights{
  color:#fff;
  background:linear-gradient(135deg,#061a32,#173f62);
}
.page-ashitaba .kifu-ashitaba-rights-copy h3{
  color:#fff;
  margin:0 0 16px !important;
}
.page-ashitaba .kifu-ashitaba-rights-copy p{
  color:rgba(255,255,255,.75) !important;
  margin:0 0 14px !important;
}
.page-ashitaba .kifu-ashitaba-registration{
  display:inline-flex;
  align-items:baseline;
  gap:10px;
  margin-top:14px !important;
  padding:12px 16px !important;
  color:#fff;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.07);
}
.page-ashitaba .kifu-ashitaba-registration span{
  color:var(--wp--preset--color--teal);
  font-size:10px;
  letter-spacing:.08em;
}
.page-ashitaba .kifu-ashitaba-registration strong{
  font:500 17px/1 Georgia, serif;
  color:#fff;
}
.page-ashitaba .kifu-ashitaba-flow-step{
  display:flex;
  gap:18px;
  align-items:center;
  padding:22px 24px !important;
  margin-bottom:16px !important;
  background:#fff;
  color:var(--wp--preset--color--ink);
}
.page-ashitaba .kifu-ashitaba-flow-step:last-child{ margin-bottom:0 !important; }
.page-ashitaba .kifu-ashitaba-flow-no{
  flex:0 0 auto;
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  margin-left:0 !important;
  margin-right:0 !important;
  color:#fff;
  background:var(--wp--preset--color--green);
  border-radius:50%;
  font:500 12px Georgia, serif;
}
/* .kifu-ashitaba-flow-stepもWordPressコアの「constrained」レイアウト用グループのため、
   直接の子要素(番号バッジ.kifu-ashitaba-flow-noと本文の内側wp:group)にコア側から
   margin-left/right:auto !importantが付与され、まとまりごと行の右寄りにセンタリングされてしまう
   (stem-cellページの04説明文と同根の問題)。両方に明示的にmargin:0を指定して左詰めに固定する。 */
.page-ashitaba .kifu-ashitaba-flow-step > .wp-block-group{
  margin-left:0 !important;
  margin-right:0 !important;
  max-width:none !important;
}
.page-ashitaba .kifu-ashitaba-flow-step strong{
  display:block;
  color:var(--wp--preset--color--navy);
  font-size:14px;
}
.page-ashitaba .kifu-ashitaba-flow-step p{
  margin:4px 0 0 !important;
  color:#63737b;
  font-size:11.5px;
  line-height:1.7;
}
@media (max-width:480px){
  .page-ashitaba .kifu-ashitaba-flow-step{ gap:14px; padding:18px !important; }
  .page-ashitaba .kifu-ashitaba-flow-no{ width:38px; height:38px; font-size:11px; }
}

/* ---- お問い合わせCTA ---- */
.page-ashitaba .kifu-ashitaba-cta{
  text-align:center;
  color:#fff;
  position:relative;
  overflow:hidden;
  background:linear-gradient(120deg,#061a32,#123a34);
  padding:80px 24px !important;
}
.page-ashitaba .kifu-ashitaba-cta::before,
.page-ashitaba .kifu-ashitaba-cta::after{
  content:"";
  position:absolute;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
  pointer-events:none;
}
.page-ashitaba .kifu-ashitaba-cta::before{ width:520px; height:200px; left:-140px; top:-140px; transform:rotate(-8deg); }
.page-ashitaba .kifu-ashitaba-cta::after{ width:420px; height:160px; right:-100px; bottom:-110px; transform:rotate(8deg); }
.page-ashitaba .kifu-ashitaba-cta > *{ position:relative; z-index:1; }
.page-ashitaba .kifu-ashitaba-cta .kifu-ashitaba-eyebrow{
  justify-content:flex-start;
  color:var(--wp--preset--color--teal);
  margin-bottom:14px !important;
}
.page-ashitaba .kifu-ashitaba-cta h2{
  color:#fff;
  margin:0 0 14px !important;
  font-size:clamp(26px,3.4vw,38px);
}
.page-ashitaba .kifu-ashitaba-cta p{
  color:rgba(255,255,255,.75) !important;
  margin:0 auto 26px !important;
  max-width:520px;
}
.page-ashitaba .kifu-ashitaba-cta .wp-block-button__link{
  background:#fff !important;
  color:var(--wp--preset--color--navy) !important;
  font-weight:800;
}
.page-ashitaba .kifu-ashitaba-cta .wp-block-button__link:hover{
  background:var(--wp--preset--color--teal) !important;
  color:#fff !important;
}

/* ==== 幹細胞培養上清液ページ専用(2026.08.15 デザインモック「幹細胞培養上清液ページ_デザインモックアップ_v1.html」を反映)
   すべて .page-stem-cell (functions.php の kifu_add_slug_body_class() で自動付与) の配下に閉じており、
   他の固定ページ・共用テンプレート page-business.html には一切影響しない。専用テンプレート templates/page-stem-cell.html を使用。
   129行目の .page-stem-cell .kifu-page-header 背景ルールはテンプレートを万一 page-business に戻した際の保険として残す。
   ヒーローはTOPページのヒーロースライダー3枚目と同じ hero-stem-cell-final.png を使用し、ブランドの統一感を優先する。
   アンカーナビは新品種明日葉ページで判明した wp:columns の flex-wrap 折返し不具合を踏まえ、PC・モバイル問わず
   最初から display:grid で実装する(flex-wrapは使用しない)。 ==== */

/* ---- ヒーロー ----
   以前は.kifu-stem-heroの背景全面に写真を敷く単一カラム構成だったが、医療食卸・新品種明日葉ページと
   見せ方を揃えるため「左テキスト+右に写真カラム」の2カラム構成に変更。写真は新規取得せず、
   TOPページのヒーロースライダー3枚目と同じhero-stem-cell-final.pngを右カラムでそのまま再利用する。 */
.page-stem-cell .kifu-stem-hero{
  position:relative;
  overflow:hidden;
  color:#fff;
  background:linear-gradient(135deg,#061a32 0%,#0d2d4f 55%,#123a52 100%);
}
.page-stem-cell .kifu-stem-hero-inner{
  position:relative;
  z-index:1;
  padding-top:96px !important;
  padding-bottom:88px !important;
}
.page-stem-cell .kifu-stem-hero-media{
  position:relative;
}
.page-stem-cell .kifu-stem-hero-media::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:-6% -10% -6% 8%;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  pointer-events:none;
}
.page-stem-cell .kifu-stem-hero-photo{
  position:relative;
  z-index:1;
  margin:0 !important;
  overflow:hidden;
  border-radius:28px;
  box-shadow:0 30px 70px rgba(0,0,0,.35);
}
.page-stem-cell .kifu-stem-hero-photo img{
  border-radius:28px;
  aspect-ratio:6/5;
  object-fit:cover;
}
@media (max-width:782px){
  .page-stem-cell .kifu-stem-hero-media{ margin-top:32px; }
  .page-stem-cell .kifu-stem-hero-media::before{ display:none; }
}
.page-stem-cell .kifu-stem-crumb{
  margin:0 0 40px !important;
  color:rgba(255,255,255,.6);
  font-size:11px;
  letter-spacing:.05em;
}
.page-stem-cell .kifu-stem-eyebrow{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 10px !important;
  color:#9be2e2;
  font-size:11px;
  font-weight:800;
  letter-spacing:.24em;
  text-transform:uppercase;
}
.page-stem-cell .kifu-stem-eyebrow::before{
  content:"";
  width:32px;
  height:1px;
  background:currentColor;
}
.page-stem-cell .kifu-stem-hero-title{
  max-width:660px;
  margin:0 0 22px !important;
  color:#fff;
  font-size:clamp(34px,4.6vw,56px);
  line-height:1.35;
}
.page-stem-cell .kifu-stem-hero-lead{
  max-width:600px;
  margin:0 0 22px !important;
  color:#fff;
  font-family:var(--wp--preset--font-family--heading);
  font-size:clamp(19px,2.1vw,27px);
  line-height:1.75;
}
.page-stem-cell .kifu-stem-hero-lead em{
  color:var(--wp--preset--color--teal);
  font-style:normal;
}
.page-stem-cell .kifu-stem-hero-text{
  max-width:500px;
  margin:0 !important;
  color:rgba(255,255,255,.8);
  font-size:14px;
  line-height:1.9;
}
@media (max-width:600px){
  .page-stem-cell .kifu-stem-hero-inner{ padding-top:60px !important; padding-bottom:52px !important; }
  .page-stem-cell .kifu-stem-crumb{ margin-bottom:28px !important; }
}

/* ---- ページ内アンカーナビ ---- */
.page-stem-cell .kifu-stem-anchor-nav{
  background:#fff;
  border-top:1px solid #E7E2D4;
  border-bottom:1px solid #E7E2D4;
}
.page-stem-cell .kifu-stem-anchor-nav .wp-block-columns{
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:0 !important;
}
.page-stem-cell .kifu-stem-anchor-nav .wp-block-column{
  border-right:1px solid #E7E2D4;
  text-align:center;
}
.page-stem-cell .kifu-stem-anchor-nav .wp-block-column:last-child{ border-right:0; }
.page-stem-cell .kifu-stem-anchor-nav a{
  display:block;
  padding:22px 10px;
  color:var(--wp--preset--color--navy);
  font-family:var(--wp--preset--font-family--heading);
  font-size:16px;
  font-weight:700;
  letter-spacing:.03em;
  text-decoration:none;
}
.page-stem-cell .kifu-stem-anchor-nav a:focus-visible{
  outline:2px solid var(--wp--preset--color--teal);
  outline-offset:-2px;
}
.page-stem-cell .kifu-stem-anchor-no{
  display:block;
  margin-bottom:6px;
  color:var(--wp--preset--color--teal);
  font:12px/1 Georgia, serif;
  letter-spacing:.14em;
}
@media (max-width:782px){
  .page-stem-cell .kifu-stem-anchor-nav .wp-block-columns{
    grid-template-columns:1fr 1fr !important;
  }
  .page-stem-cell .kifu-stem-anchor-nav .wp-block-column:nth-child(2){ border-right:0; }
  .page-stem-cell .kifu-stem-anchor-nav .wp-block-column:nth-child(-n+2){ border-bottom:1px solid #E7E2D4; }
}

/* 医療食卸(.kifu-medical-section)・新品種明日葉(.kifu-ashitaba-section)には各セクション自体の
   上下padding(96px/モバイル64px)を与える共通クラスがあるが、幹細胞培養上清液ページには対応するクラスが
   存在せず、セクション同士がほぼ密着していた(「01/ ABOUTなどの見出しとセクションの境界が狭い」の原因)。
   他2ページと同じ余白になるよう追加する。 */
.page-stem-cell .kifu-stem-section{
  padding-top:96px;
  padding-bottom:96px;
}
@media (max-width:600px){
  .page-stem-cell .kifu-stem-section{
    padding-top:64px;
    padding-bottom:64px;
  }
}

/* ---- セクション見出し共通 ---- */
.page-stem-cell .kifu-stem-section-head{
  margin-bottom:44px !important;
}
.page-stem-cell .kifu-stem-section-no{
  display:block;
  margin-bottom:10px;
  color:var(--wp--preset--color--teal);
  font:600 12px/1.4 Georgia, serif;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.page-stem-cell .kifu-stem-section-head h2{
  margin:0 0 14px !important;
  max-width:760px;
}
.page-stem-cell .kifu-stem-section-head p{
  max-width:680px;
  margin:0 !important;
  color:#63737b;
}
.page-stem-cell .kifu-stem-beauty .kifu-stem-section-no,
.page-stem-cell .kifu-stem-beauty .kifu-stem-section-head h2{
  color:#fff !important;
}
.page-stem-cell .kifu-stem-beauty .kifu-stem-section-head p{
  color:rgba(255,255,255,.72) !important;
}

/* ---- 01 幹細胞培養上清液とは(成分概念図) ---- */
.page-stem-cell .kifu-stem-about{
  background:#fff;
}
.page-stem-cell .kifu-stem-about-copy .kifu-stem-lead{
  margin:0 0 20px !important;
  color:var(--wp--preset--color--navy);
  font-family:var(--wp--preset--font-family--heading);
  font-size:21px;
  line-height:1.9;
}
.page-stem-cell .kifu-stem-about-copy p{
  color:var(--wp--preset--color--ink);
}
.page-stem-cell .kifu-stem-diagram{
  position:relative;
  min-height:clamp(360px,38vw,460px);
  max-width:440px;
  margin:0 auto !important;
}
.page-stem-cell .kifu-stem-diagram-orbit{
  position:absolute;
  inset:38px;
  border:1px solid rgba(10,37,72,.14);
  border-radius:50%;
}
.page-stem-cell .kifu-stem-diagram-orbit::before{
  content:"";
  position:absolute;
  inset:54px;
  border:1px dashed rgba(71,172,174,.3);
  border-radius:50%;
}
.page-stem-cell .kifu-stem-diagram-core{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:172px;
  height:172px;
  display:grid;
  place-items:center;
  padding:18px;
  text-align:center;
  color:#fff;
  background:radial-gradient(circle at 35% 30%, var(--wp--preset--color--teal), #1c5f61 70%);
  border:12px solid #fff;
  border-radius:50%;
  box-shadow:0 26px 60px rgba(10,37,72,.22);
  font-family:var(--wp--preset--font-family--heading);
  font-size:18px;
  line-height:1.5;
}
.page-stem-cell .kifu-stem-diagram-node{
  position:absolute;
  width:116px;
  height:116px;
  display:grid;
  place-items:center;
  padding:12px;
  text-align:center;
  color:var(--wp--preset--color--navy);
  background:rgba(255,255,255,.96);
  border:1px solid rgba(71,172,174,.26);
  border-radius:50%;
  box-shadow:0 14px 36px rgba(10,37,72,.1);
  font-family:var(--wp--preset--font-family--heading);
  font-size:13px;
  line-height:1.4;
}
.page-stem-cell .kifu-stem-diagram-node small{
  display:block;
  margin-bottom:2px;
  color:var(--wp--preset--color--teal);
  font-family:var(--wp--preset--font-family--body);
  font-size:8.5px;
  letter-spacing:.05em;
}
.page-stem-cell .kifu-stem-diagram-node.is-c1{ top:0; left:50%; transform:translateX(-50%); }
.page-stem-cell .kifu-stem-diagram-node.is-c2{ left:4px; bottom:34px; }
.page-stem-cell .kifu-stem-diagram-node.is-c3{ right:4px; bottom:34px; }
.page-stem-cell .kifu-stem-diagram-note{
  position:absolute;
  left:0;
  right:0;
  bottom:-6px;
  margin:0 !important;
  color:#7b8a90;
  font-size:11px;
  text-align:center;
}
@media (max-width:782px){
  .page-stem-cell .kifu-stem-diagram{ margin-top:40px !important; }
}
@media (max-width:600px){
  .page-stem-cell .kifu-stem-diagram{ transform:scale(.86); margin:32px auto -24px !important; }
}
/* CSS描画の概念図の代わりに実写真を使う場合の見た目(幹細胞培養上清とはセクション右側) */
.page-stem-cell .kifu-stem-about-visual{
  margin:0 !important;
  max-width:440px;
  margin-left:auto !important;
  margin-right:auto !important;
  overflow:hidden;
  border-radius:20px;
  box-shadow:0 26px 60px rgba(10,37,72,.16);
}
.page-stem-cell .kifu-stem-about-visual img{
  width:100%;
  aspect-ratio:1815/867;
  object-fit:contain;
  background:#fff;
}

/* ---- 02 培養上清液を選ぶポイント ---- */
.page-stem-cell .kifu-stem-select{
  background:var(--wp--preset--color--navy-tint);
}
.page-stem-cell .kifu-stem-question-grid{
  margin-bottom:40px !important;
}
/* WHERE/MATERIAL/CONTENTSの3ボックスの代わりに1枚の画像を使う場合の見た目 */
.page-stem-cell .kifu-stem-selection-visual{
  margin:0 auto 40px !important;
  overflow:hidden;
  border-radius:12px;
  box-shadow:0 20px 60px rgba(10,37,72,.1);
}
.page-stem-cell .kifu-stem-selection-visual img{
  width:100%;
  object-fit:cover;
}
.page-stem-cell .kifu-stem-question{
  position:relative;
  min-height:190px;
  padding:30px 26px !important;
  background:#fff;
  border-top:3px solid var(--wp--preset--color--teal);
  box-shadow:0 14px 40px rgba(10,37,72,.06);
}
.page-stem-cell .kifu-stem-question-tag{
  display:block;
  color:var(--wp--preset--color--teal);
  font-size:11px;
  font-weight:800;
  letter-spacing:.15em;
}
.page-stem-cell .kifu-stem-question h3{
  margin:18px 0 0 !important;
  color:var(--wp--preset--color--navy);
  font-family:var(--wp--preset--font-family--heading);
  font-size:18px;
  line-height:1.6;
}
/* 以前はoverflow:hiddenと写真側min-height:300pxの固定によって、本文が長い場合にテキスト側が
   グリッド行の高さに収まりきらず下部が見切れることがあった(「KIFU Quality Policyの右の欄の文字が
   切れている」の原因)。overflow:hiddenを外し、写真側はalign-self:stretchで本文側の実際の高さに
   自然に追従させることで、テキスト量に関わらず全文が確実に表示されるようにする。 */
.page-stem-cell .kifu-stem-approach{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  align-items:stretch;
  background:var(--wp--preset--color--navy);
  box-shadow:0 24px 70px rgba(10,37,72,.11);
}
.page-stem-cell .kifu-stem-approach-photo{
  margin:0 !important;
  align-self:stretch;
}
.page-stem-cell .kifu-stem-approach-photo img{
  width:100%;
  height:100%;
  min-height:300px;
  object-fit:cover;
}
.page-stem-cell .kifu-stem-approach-body{
  box-sizing:border-box;
  padding:44px 48px !important;
  color:#fff;
}
.page-stem-cell .kifu-stem-mini{
  display:block;
  margin-bottom:12px !important;
  color:#7fd5d6;
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.page-stem-cell .kifu-stem-approach-body h3{
  margin:0 0 16px !important;
  color:#fff;
}
.page-stem-cell .kifu-stem-approach-body p{
  margin:0 !important;
  color:rgba(255,255,255,.78);
  font-size:14px;
  line-height:1.9;
}
.page-stem-cell .kifu-stem-regulatory-note{
  margin-top:26px !important;
  padding:20px 22px !important;
  background:#fff;
  border:1px solid #E7E2D4;
}
.page-stem-cell .kifu-stem-regulatory-note p{
  margin:0 !important;
  color:#5f7075;
  font-size:11.5px;
  line-height:1.95;
}
.page-stem-cell .kifu-stem-regulatory-note a{
  color:var(--wp--preset--color--teal);
}
@media (max-width:782px){
  .page-stem-cell .kifu-stem-approach{ grid-template-columns:1fr; }
  .page-stem-cell .kifu-stem-approach-photo{ min-height:220px; }
}

/* ---- 03 品質への考え方 ---- */
.page-stem-cell .kifu-stem-quality{
  background:#fff;
}
.page-stem-cell .kifu-stem-trust-layout{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  align-items:stretch;
}
.page-stem-cell .kifu-stem-trust-photo{
  margin:0 !important;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(10,37,72,.11);
  display:flex;
}
/* WordPressコア標準のfigure.wp-block-imageは既定でmargin-bottomを持つため、写真の下に
   意図しない白い余白(隙間)ができていた。ここで明示的に0にして解消する。 */
.page-stem-cell .kifu-stem-trust-photo .wp-block-image{
  margin:0 !important;
  width:100%;
}
.page-stem-cell .kifu-stem-trust-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.page-stem-cell .kifu-stem-trust-point{
  display:flex;
  gap:20px;
  padding:24px 0;
  border-bottom:1px solid #E2DED1;
}
.page-stem-cell .kifu-stem-trust-point:first-child{ border-top:1px solid #E2DED1; }
/* is-layout-constrained(親のwp:group)の直接の子要素にWordPressコアがmargin-left/right:autoを
   強制付与するため、display:flexの行内でテキストの塊(strong+pを包む内側のwp:group)が右寄りに
   センタリングされ、「一部だけ右から始まる」ように見えていた。打ち消して左揃えに固定する。 */
.page-stem-cell .kifu-stem-trust-point > .wp-block-group{
  margin-left:0 !important;
  margin-right:0 !important;
  max-width:none !important;
}
.page-stem-cell .kifu-stem-trust-num{
  flex:0 0 auto;
  color:var(--wp--preset--color--teal);
  font:16px/1 Georgia, serif;
}
.page-stem-cell .kifu-stem-trust-point strong{
  display:block;
  margin-bottom:7px;
  color:var(--wp--preset--color--navy);
  font-family:var(--wp--preset--font-family--heading);
  font-size:18px;
}
.page-stem-cell .kifu-stem-trust-point p{
  margin:0 !important;
  color:#63737b;
  font-size:13px;
  line-height:1.85;
  text-align:left;
}
@media (max-width:782px){
  .page-stem-cell .kifu-stem-trust-layout{ grid-template-columns:1fr; gap:32px; }
}

/* ---- 04 美容分野での活用 ---- */
.page-stem-cell .kifu-stem-beauty{
  color:#fff;
  background:linear-gradient(135deg,#061a32,#173f62);
}
.page-stem-cell .kifu-stem-beauty-layout{
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  overflow:hidden;
  background:#fff;
  box-shadow:0 24px 70px rgba(10,37,72,.11);
}
.page-stem-cell .kifu-stem-device-photo{
  position:relative;
  display:grid;
  place-items:center;
  min-height:380px;
  padding:40px;
  overflow:hidden;
  background:linear-gradient(145deg,var(--wp--preset--color--navy-tint) 0%,#fff 62%);
}
.page-stem-cell .kifu-stem-device-photo::before,
.page-stem-cell .kifu-stem-device-photo::after{
  content:"";
  position:absolute;
  border:1px solid rgba(71,172,174,.2);
  border-radius:50%;
  pointer-events:none;
}
.page-stem-cell .kifu-stem-device-photo::before{ width:300px; height:300px; }
.page-stem-cell .kifu-stem-device-photo::after{ width:206px; height:206px; }
.page-stem-cell .kifu-stem-device-visual{
  position:relative;
  z-index:1;
  max-width:260px;
  text-align:center;
}
.page-stem-cell .kifu-stem-device-icon{
  position:relative;
  width:88px;
  height:158px;
  margin:0 auto 26px;
  background:rgba(255,255,255,.6);
  border:2px solid var(--wp--preset--color--navy);
  border-radius:42px 42px 16px 16px;
}
.page-stem-cell .kifu-stem-device-icon-tip{
  position:absolute;
  top:-26px;
  left:50%;
  width:18px;
  height:36px;
  transform:translateX(-50%);
  border:2px solid var(--wp--preset--color--navy);
  border-bottom:0;
  border-radius:9px 9px 0 0;
}
.page-stem-cell .kifu-stem-device-icon::after{
  content:"AIR";
  position:absolute;
  top:58px;
  left:0;
  right:0;
  color:var(--wp--preset--color--teal);
  font-size:10px;
  font-weight:800;
  letter-spacing:.22em;
  text-align:center;
}
/* 実機写真を配置する場合の見た目(以前のCSS抽象アイコン.kifu-stem-device-iconの代替) */
.page-stem-cell .kifu-stem-device-image{
  position:relative;
  z-index:1;
  max-width:220px;
  margin:0 auto 26px;
  overflow:hidden;
  border-radius:16px;
  box-shadow:0 20px 50px rgba(10,37,72,.18);
}
.page-stem-cell .kifu-stem-device-image img{
  width:100%;
  display:block;
  object-fit:cover;
}
.page-stem-cell .kifu-stem-device-visual strong{
  display:block;
  color:var(--wp--preset--color--navy);
  font-family:var(--wp--preset--font-family--heading);
  font-size:18px;
}
.page-stem-cell .kifu-stem-device-caption{
  display:block;
  margin-top:8px;
  color:#63737b;
  font-size:11px;
  line-height:1.8;
}
.page-stem-cell .kifu-stem-device-copy{
  padding:52px 48px !important;
  color:var(--wp--preset--color--ink);
}
.page-stem-cell .kifu-stem-device-copy .kifu-stem-mini{ color:var(--wp--preset--color--teal); }
.page-stem-cell .kifu-stem-device-copy h3{
  margin:14px 0 18px !important;
  color:var(--wp--preset--color--navy);
}
.page-stem-cell .kifu-stem-device-copy p{
  margin:0 !important;
  color:var(--wp--preset--color--ink);
  font-size:14px;
  line-height:1.9;
}
.page-stem-cell .kifu-stem-feature-list{
  margin-top:26px !important;
  border-top:1px solid #E7E2D4;
}
.page-stem-cell .kifu-stem-feature{
  display:flex;
  align-items:center;
  gap:16px;
  padding:16px 0;
  border-bottom:1px solid #E7E2D4;
}
.page-stem-cell .kifu-stem-feature-no{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  margin-left:0 !important;
  margin-right:0 !important;
  color:#fff;
  background:var(--wp--preset--color--teal);
  border-radius:50%;
  font-size:11px;
}
/* .kifu-stem-featureはWordPressコアの「constrained」レイアウト用グループでもあるため、
   直接の子要素(番号バッジ.kifu-stem-feature-noと本文<p>)にコア側から
   margin-left:auto !important; margin-right:auto !important; が付与され、
   バッジ+本文のまとまりごと行の右寄りにセンタリングされてしまっていた
   (「04のエアーDeショットについての説明文が左揃えになっていない」の実際の原因)。
   両方に明示的にmargin:0を指定して左詰めに固定する。 */
.page-stem-cell .kifu-stem-feature p{
  margin:0 !important;
  max-width:none !important;
  text-align:left;
}
.page-stem-cell .kifu-stem-feature strong{
  display:block;
  color:var(--wp--preset--color--navy);
  font-family:var(--wp--preset--font-family--heading);
  font-size:15px;
  font-weight:500;
  text-align:left;
}
@media (max-width:782px){
  .page-stem-cell .kifu-stem-beauty-layout{ grid-template-columns:1fr; }
  .page-stem-cell .kifu-stem-device-photo{ min-height:300px; }
}
.page-stem-cell .kifu-stem-recommend{
  margin-top:56px !important;
  padding:38px 42px !important;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.14);
}
.page-stem-cell .kifu-stem-recommend h3{
  margin:0 0 22px !important;
  color:#fff;
}
.page-stem-cell .kifu-stem-recommend-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 32px;
}
.page-stem-cell .kifu-stem-recommend-item{
  position:relative;
  margin:0 !important;
  padding:14px 0 14px 28px;
  border-top:1px solid rgba(255,255,255,.14);
  color:rgba(255,255,255,.85);
  font-size:13.5px;
}
.page-stem-cell .kifu-stem-recommend-item::before{
  content:"";
  position:absolute;
  top:21px;
  left:2px;
  width:11px;
  height:6px;
  border-bottom:2px solid #7dd3d4;
  border-left:2px solid #7dd3d4;
  transform:rotate(-45deg);
}
@media (max-width:480px){
  .page-stem-cell .kifu-stem-recommend-grid{ grid-template-columns:1fr; }
}

/* ---- お問い合わせCTA・免責文 ---- */
.page-stem-cell .kifu-stem-cta{
  position:relative;
  overflow:hidden;
  text-align:center;
  color:#fff;
  background:linear-gradient(120deg,#061a32,#1c4a4a);
  padding:86px 24px !important;
}
.page-stem-cell .kifu-stem-cta::before,
.page-stem-cell .kifu-stem-cta::after{
  content:"";
  position:absolute;
  border:1px solid rgba(255,255,255,.14);
  border-radius:50%;
  pointer-events:none;
}
.page-stem-cell .kifu-stem-cta::before{ width:520px; height:520px; top:-260px; left:-160px; }
.page-stem-cell .kifu-stem-cta::after{ width:460px; height:460px; right:-140px; bottom:-260px; }
.page-stem-cell .kifu-stem-cta > *{ position:relative; z-index:1; }
.page-stem-cell .kifu-stem-cta .kifu-stem-eyebrow{
  justify-content:flex-start;
  color:var(--wp--preset--color--teal);
  margin-bottom:14px !important;
}
.page-stem-cell .kifu-stem-cta h2{
  margin:0 0 16px !important;
  color:#fff;
  font-size:clamp(26px,3.4vw,38px);
}
.page-stem-cell .kifu-stem-cta p{
  max-width:600px;
  margin:0 auto 28px !important;
  color:rgba(255,255,255,.78);
}
.page-stem-cell .kifu-stem-cta .wp-block-button__link{
  background:#fff !important;
  color:var(--wp--preset--color--navy) !important;
  font-weight:800;
}
.page-stem-cell .kifu-stem-cta .wp-block-button__link:hover{
  background:var(--wp--preset--color--teal) !important;
  color:#fff !important;
}
.page-stem-cell .kifu-stem-disclaimer{
  padding:18px 20px !important;
  background:var(--wp--preset--color--sand);
  text-align:center;
}
.page-stem-cell .kifu-stem-disclaimer p{
  margin:0 !important;
  color:#6c5f4a;
  font-size:10.5px;
  line-height:1.8;
}


/* 会社概要: 代表挨拶本文（写真削除後、中央寄せで幅を整えてバランスを調整） */
.kifu-company-message .wp-block-column{
  max-width:760px;
  margin:0 auto;
}
