/* ============================================================
   IYOSUI Theme - Quality group
   (quality / products / global-reach / safety / sustainability)
   ============================================================ */

/* ============================================================
   カンプ一次整合: 見出し配色・順序の調整（quality グループ各ページ）
   カンプでは「和文見出し(ティール)が上 / 欧文サブ(ゴールド系)が下」。
   global の .sec-head は欧文(ティール大文字)が上に出るため、各ページ
   ラッパークラス配下でのみ順序反転＆配色変更する。
   ============================================================ */
.quality-page .sec-head,
.products-page .sec-head,
.global-reach-page .sec-head,
.sustainability-page .sec-head,
.safety-page .sec-head {
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-start;
  gap: 6px;
}

/* 260714確定(05_1): グローバルヒーロー=DSC04856を添付構図(上端の照明から)でトリミング済み。
   上端基準で固定し、画面比が変わっても照明・パネル上部が切れないようにする */
.global-reach-page .page-hero__bg { background-position: center top; }

/* 260720: 商品紹介ヒーローは写真全体が見えるよう、ヒーロー高さを画像比率(1685:629)に合わせる。
   グラデーションマスクも削除し、位置オフセット・cover切抜きを解除 */
.products-page .page-hero {
  aspect-ratio: 1685 / 629;
  min-height: 0 !important;   /* base/≥1200pxのmin-height(写真を切る原因)を無効化 */
}
.products-page .page-hero::before { background: none; }   /* グラデーションマスク削除 */
.products-page .page-hero__bg { background-position: center !important; }

.quality-page .sec-head--center,
.products-page .sec-head--center,
.global-reach-page .sec-head--center,
.sustainability-page .sec-head--center,
.safety-page .sec-head--center {
  align-items: center;
}

/* 和文見出し: ゴールド #796428（Figma/.ai実測, 2026-06-26） */
.quality-page .sec-head__ja,
.products-page .sec-head__ja,
.global-reach-page .sec-head__ja,
.sustainability-page .sec-head__ja,
.safety-page .sec-head__ja {
  color: #796428;
  margin: 0;
  font-size: 23px;       /* .ai 16pt × 1.42536 = 22.8 */
}

/* 欧文サブ: ゴールド #796428・18pt→26px・大文字解除 */
.quality-page .sec-head__en,
.products-page .sec-head__en,
.global-reach-page .sec-head__en,
.sustainability-page .sec-head__en,
.safety-page .sec-head__en {
  color: #796428;
  text-transform: none;
  letter-spacing: .04em;
  font-size: 22px;       /* 260708校正: 英字「細く・小さく」(26→22) */
  font-weight: 300;
  margin: 0;
}

/* リード文をカンプに合わせ中央寄せ・ティール（各ページのリード節） */
.quality-page > .section:first-of-type .container--narrow > p,
.products-page > .section:first-of-type .container--narrow > p,
.global-reach-page > .section:first-of-type .container--narrow > p,
.sustainability-page > .section:first-of-type .container--narrow > p,
.safety-page > .section:first-of-type .container--narrow > p {
  text-align: center;
  color: var(--color-text-teal);
  line-height: 1.8;      /* 260708校正: Aboutリードに統一 */
  font-size: 16px;       /* 260708校正: Aboutリード(16px)にサイズ統一 */
  font-weight: 300;      /* 260708校正: Aboutリード(300)に統一 */
  padding-inline: 80px;  /* 左右余白 */
}

/* ============================================================
   Figma/.ai 照合 (2026-06-26) — quality群共通
   ・本文 10pt→14px / #007c8f（ブライトティール）
   ・キャッチ 12pt→17px / #007c8f / 標準ウェイト
   （px = .aiネイティブpt × 1.42536。content-col2 はquality群専用クラス）
   ============================================================ */
.content-col2 p {
  font-size: 14px;       /* .ai 10pt × 1.42536 = 14.3 */
  color: var(--color-text-teal); /* 260703校正: 本文の文字色濃く(#006a82に統一) */
  line-height: 1.9;
}

.content-col2 p.catch-block {
  font-size: 17px;       /* .ai 12pt × 1.42536 = 17.1 */
  color: var(--color-text-teal);
  font-weight: 400;
}

/* products の欧文サブは weight 400 */
.products-page .sec-head__en { font-weight: 400; }

/* Quality リード見出しの欧文サブは weight 300 */
.quality-lead-head .sec-head__en { font-weight: 300; }

/* 例外: products「加工形態」見出しは .ai実測でティール #007c8f（ゴールドでない） */
.sec-head--teal .sec-head__ja,
.sec-head--teal .sec-head__en {
  color: #007c8f;
}

/* 260720ユーザー指定: 商品紹介「加工形態」の説明文をPC(1200px以上)で16pxに */
@media (min-width: 1200px) {
  .products-page .sec-head--teal .sec-head__sub { font-size: 16px; }
}

/* 加工形態見出し: 加工形態→sub の順、EN(Processing Types)は不可視で最後に */
.sec-head--teal { flex-direction: column; }
.sec-head--teal .sec-head__ja  { order: 3; }
.sec-head--teal .sec-head__sub { order: 2; }
.sec-head--teal .sec-head__en  { order: 3; visibility: hidden; }

/* ---- 全幅フォトディバイダー（夕景の港） -------------------- */
.quality-photo-divider {
  width: 100%;
  height: auto;             /* 260720ユーザー指定: 固定420px→比率で高さ */
  aspect-ratio: 562 / 227;
  background: var(--color-primary-dark) center/cover no-repeat;
  background-image: url('../../images/quality-divider.jpg?v=5');
}

/* ---- Catch block (quote line) ---------------------------- */
.catch-block {
  font-size: 17px;       /* 260703校正: 「上と同じように小さく」(23→17で全セクション統一) */
  font-weight: 400;      /* 260703校正: やや細く(700→400) */
  color: var(--color-text-teal);
  line-height: 1.6;
  margin-bottom: 1.2em;
}

/* 養殖協働セクション: カンプの淡いブルー背景 */
#aquaculture {
  background: #cddfe2;
}

/* 鮮度流通セクション: カンプ準拠（白背景・2×2グリッド） */
#logistics {
  background: #fff;
}

/* 提案加工セクション: 260703校正で薄地をグリーン系に統一 */
#processing {
  background: var(--color-bg-light);
}

/* 世界発信セクション: 260703校正「背景地、白」 */
.quality-page #global {
  background: #fff;
}

/* 商品紹介「主な取扱魚種」: 背景を白に */
#sec-products-cards {
  background: #fff;
}

/* 260720: 旧-390px位置オフセットは廃止（比率合わせで全体表示するため中央固定） */

/* global-reach 成田ハブ: 中央見出し→全幅写真→本文（カンプ準拠） */
.hub-photo {
  margin: var(--sp-lg) auto;
}

.hub-photo img {
  display: block;
  width: 100%;
  height: auto;
}

.hub-body {
  max-width: 960px;
  margin-inline: auto;
  color: #007c8f;
}

.hub-body p { color: #007c8f; }

.hub-body p:not(.catch-block) {
  font-size: 14px;
  line-height: 1.9;
}

.hub-body p { margin-bottom: 1.4em; }

.hub-list {
  list-style: none;
  margin: 0 0 1.4em;
  padding: 0;
  color: #007c8f;
  font-size: 14px;
  line-height: 1.9;
}
.hub-list li {
  position: relative;
  padding-left: 1.2em;
}
.hub-list li::before {
  content: '・';
  position: absolute;
  left: 0;
}

/* 海外貿易実績国リスト */
.trade-country-list {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem 1.2rem;
  justify-content: center;
  list-style: none;
  padding: 0;
  margin: 0 auto;
  max-width: 960px;
  color: #007c8f;
  font-size: 14px;
}
.trade-country-list li { white-space: nowrap; }

/* 国際基準に基づく信頼性: 写真 + 認証ロゴ枠（カンプ準拠） */
.cert-block {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 1000px;
  margin: var(--sp-lg) auto 0;
  align-items: center;   /* 260720: 高さ揃え(stretch)を解除し写真を切らない */
}
.cert-block__photo {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1200 / 710;  /* 260720ユーザー指定: 写真全体が映るよう画像比率に */
}
.cert-block__photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.cert-block__logos {
  border: 1px solid #007c8f;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding: 32px 24px;
  aspect-ratio: 1200 / 710;  /* 260720ユーザー指定: 左の写真と同比率・同高さで横並びを揃える */
  box-sizing: border-box;
}
.cert-block__row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 34px;
}
.cert-logo { display: block; height: auto; }
.cert-logo--fssc  { width: 230px; }
.cert-logo--haccp { width: 150px; }
.cert-logo--brcs  { width: 108px; }
.cert-text-list {
  max-width: 1000px;
  margin: 14px auto 0;
  text-align: right;    /* 260721ユーザー確定: 右揃え（左揃え→調整） */
  padding-right: 0;
  color: var(--color-text-teal);
  font-size: 13px;
  font-weight: 300;     /* 260703校正: 細字(600→300) */
  line-height: 1.6;
}
@media (max-width: 760px) {
  .cert-block { grid-template-columns: 1fr; }
  .cert-text-list { text-align: left; }
}

/* 海外貿易実績国: 世界地図 + 枠囲みリスト（カンプ準拠） */
.trade-map {
  max-width: 760px;
  margin: 0 auto var(--sp-xl);
}
.trade-map img { display: block; width: 100%; height: auto; }
.trade-box {
  border: 1px solid var(--color-text-teal);
  padding: 22px 30px;    /* 260703校正: 囲みも小さく(28/36→22/30) */
  margin: 0 auto;
  width: 760px;          /* 260708校正: 上の世界地図(trade-map 760px)と幅を揃える */
  max-width: 100%;
}
.trade-box__head {
  font-weight: 500;
  color: var(--color-text-teal);
  font-size: .92rem;     /* 260703校正: 字をやや小さく */
  letter-spacing: .02em;
  margin-bottom: .9em;
}
.trade-box__head span { margin-left: .35em; }
.trade-box__list {
  color: var(--color-text-teal);
  font-size: 12.5px;     /* 260703校正: 字をやや小さく(14→12.5) */
  line-height: 1.6;
}
.trade-box__note {
  font-size: 12px;
  color: #8a98a0;
  margin-left: 1.2em;
  white-space: nowrap;
}

/* 世界地図 */
.global-worldmap {
  margin: var(--sp-lg) auto 0;
  max-width: 760px;
}
.global-worldmap img { display: block; width: 100%; height: auto; }

/* 安全・安心: 中央ダッシュ副題 */
.safety-dash-sub {
  text-align: center;
  color: var(--color-text-teal);
  font-size: 18px;
  font-weight: 400;
  margin: 0 0 var(--sp-lg);  /* 260703校正: 英字とキャッチの間ややツメル(6→0) */
  white-space: nowrap;       /* 260721web校正07: キャッチを1行に(改行させない) */
}
@media (max-width: 480px) { .safety-dash-sub { white-space: normal; } } /* 極小幅は折返し許可 */

/* 安全・安心: 図版（工程図・認証ロゴ）はトリミングせず収める */
.safety-figure {
  display: flex;
  align-items: center;
  justify-content: center;
}
.safety-figure img { width: 100%; height: auto; display: block; }
#haccp .safety-figure img { max-width: 360px; margin-inline: auto; }

/* サステナ: 海・人・産業の調和（クラスター図 画像） */
.sustain-cluster-img {
  max-width: 560px;
  margin: 24px auto 0;
}
.sustain-cluster-img img { display: block; width: 100%; height: auto; }

/* 現地適応力 / 未来への挑戦 2カラム */
.global-twocol {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-xl);
}
/* 左右ガター（他グリッドと同じ・PCのみ80px） */
@media (min-width: 1200px) {
  .global-twocol { padding-inline: 80px; }
}
.global-twocol__item .sec-head { margin-bottom: 3rem; } /* 260721ユーザー確定(旧 var(--sp-sm)) */
.global-twocol__body {
  color: var(--color-text-teal);
  font-size: 14px;
  font-weight: 300;      /* 260703校正: 本文「細字」 */
  line-height: 1.9;
  margin-bottom: var(--sp-md);
}
.global-twocol__photo {
  aspect-ratio: 16 / 10;
  background: var(--color-bg-seafoam) center / cover no-repeat;
}

@media (max-width: 900px) {
  .global-twocol { grid-template-columns: 1fr; gap: var(--sp-lg); }
}

/* global-reach 輸出ネットワークの締め文（インライン直書きから移行） */
.global-export-note {
  text-align: center;
  max-width: 960px;
  margin: var(--sp-lg) auto 0;
  line-height: 2;
  color: var(--color-text-teal);
  font-size: 17px;       /* 260703校正: 締め段落「小さく」(23→17) */
  font-weight: 300;
}

/* 260703校正: 現地適応/未来への挑戦セクション = 背景白。
   260719確定(05_6「ラインの左右アケル」): 全幅border-top→コンテンツ幅の独立hr(.gold-divider)へ */
.global-reach-page #partnership {
  background: #fff;
}

.gold-divider {
  border: 0;
  border-top: 1px solid var(--color-gold);
  max-width: var(--container-max);
  width: calc(100% - var(--container-pad) * 2); /* 左右を切ってコンテンツ幅に */
  margin: 0 auto;
}

/* 260703校正: hub本文は細字＋統一ティール */
.hub-body p { color: var(--color-text-teal); font-weight: 300; }

/* 260703校正: サステナの2行英語見出しの行間ツメル */
.sustainability-page .sec-head__en { line-height: 1.25; }

/* 260703校正: サステナ #cycle / #resource セクション下にアキ */
.sustainability-page #cycle,
.sustainability-page #resource { padding-bottom: 140px; }

/* 260703校正: 商品紹介リード下は写真トル→金の罫線
   260719確定: 他の罫線(gold-divider)と同じく左右アキ付きのコンテンツ幅に */
.products-lead-rule {
  border: 0;
  border-top: 1px solid var(--color-gold);
  margin: var(--sp-lg) auto 0;
  max-width: var(--container-max);
  width: calc(100% - var(--container-pad) * 2);
}

.logistics-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-md);
  align-items: start;
}

.logistics-grid .content-col2__img {
  position: static;     /* 460px固定/left:-3pxを解除しセルいっぱいに */
  left: 0;
  width: auto;
  aspect-ratio: 150 / 97;  /* 260720ユーザー指定 */
}

.logistics-grid__text {
  color: #007c8f; /* 260704指示（変数primary-darkは#006a82のため直値） */
  font-size: 14px;
}

@media (min-width: 1200px) {
  .logistics-grid { padding-inline: 80px; }
}

@media (max-width: 900px) {
  .logistics-grid { grid-template-columns: 1fr; }
}

/* 写真は全て角丸なし（四角） */
.content-col2__img,
.fish-card__img,
.fish-card__img img,
.export-card,
.export-card__img,
.world-map-box,
.haccp-box {
  border-radius: 0;
}

/* ---- Content 2-column (text + photo) --------------------- */
.content-col2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-md);     /* 列間を約1/3に（旧 --sp-xl 96px → 32px） */
  align-items: start;    /* 260703校正: 本文と写真の天ソロエル */
}

/* グリッド/カード系の左右ガター（PCのみ150px・タブレット以下は通常） */
@media (min-width: 1200px) {
  .content-col2,
  .fish-card-grid,
  .export-card-grid {
    padding-inline: 80px;
  }
}

.content-col2--wide-text { grid-template-columns: 1.25fr 1fr; }

/* 世界発信(--rev --wide-text): 列間をさらに詰める（現状32pxの約1/3） */
.content-col2--rev.content-col2--wide-text { gap: 11px; }

/* 260721ユーザー確定: 世界発信の列比率（左テキストやや狭く・右写真やや広く） */
#global .content-col2--wide-text { grid-template-columns: 1.1fr 1.25fr; }

.content-col2--rev > :first-child { order: 2; }
.content-col2--rev > :last-child  { order: 1; }

.content-col2__photos {
  display: flex;
  flex-direction: column;
  gap: var(--sp-md);
}

.content-col2__img {
  aspect-ratio: 400 / 259;  /* 260720ユーザー指定(旧 4/3) */
  border-radius: 0;
  background: var(--color-bg-seafoam) center / cover no-repeat;
  box-shadow: var(--shadow-sm);
  position: relative;
  left: -3px;
  width: 460px;
}

.content-col2__photos .content-col2__img:nth-child(2) { aspect-ratio: 16/10; }

/* ---- Integrated Network: カンプ画像で表現（DOM版から差し替え） ---- */
#business-model {
  background: #c8dbe0;   /* 図画像の背景色に合わせ継ぎ目をなくす */
}

.quality-network-field {
  margin: 24px auto 0;
  max-width: 820px;
}

.quality-network-img {
  display: block;
  width: 100%;
  height: auto;
}

/* 中心 IYOSUI（濃い中心の上に白） */
.qnet-center {
  position: absolute;
  top: 300px; left: 380px;
  transform: translate(-50%, -50%);
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: center;
}

.qnet-center__logo {
  font-family: var(--font-en);
  font-size: 44px;
  font-weight: 800;
  letter-spacing: .04em;
  color: #fff;
}

/* ブロブ共通: 放射グラデでソフトエッジ・中心座標で配置 */
.qnet-pillar,
.qnet-node {
  position: absolute;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.3;
}

/* 内側4本柱: 濃ティールの大きめブロブ・薄白文字 */
.qnet-pillar {
  z-index: 3;
  width: 172px;
  height: 124px;
  background: radial-gradient(ellipse at center, rgba(0,108,156,.74) 0%, rgba(61,157,173,.36) 52%, rgba(61,157,173,0) 74%);
  color: rgba(255,255,255,.95);
  font-size: 20px;       /* .ai 13.99pt × 1.42536 = 19.9（養殖協業/鮮度流通など柱） */
  font-weight: 600;
  letter-spacing: .04em;
}

.qnet-pillar--aqua   { top: 250px; left: 300px; }
.qnet-pillar--export { top: 250px; left: 470px; }
.qnet-pillar--logi   { top: 362px; left: 300px; }
.qnet-pillar--proc   { top: 362px; left: 470px; }

/* 外周ノード: ソフトな小ブロブ・濃色文字 */
.qnet-node {
  z-index: 2;
  width: 128px;
  height: 92px;
  font-size: 17px;       /* .ai 12.24pt × 1.42536 = 17.4（種苗/活魚など外周ノード） */
  font-weight: 600;
  color: #2c4a4a;
  letter-spacing: .04em;
}

/* 緑系（供給・地域・人） */
.qnet-node--seisansha,
.qnet-node--kaigai,
.qnet-node--chiiki,
.qnet-node--gaishoku {
  background: radial-gradient(ellipse at center, rgba(140,192,178,.55) 0%, rgba(162,203,196,.18) 55%, transparent 76%);
}

/* 青系（物流・形態・市場） */
.qnet-node--shiryo,
.qnet-node--seika,
.qnet-node--sengyo,
.qnet-node--reito,
.qnet-node--katsugyo,
.qnet-node--reito2,
.qnet-node--kokunai,
.qnet-node--ryohan {
  background: radial-gradient(ellipse at center, rgba(107,178,209,.52) 0%, rgba(150,198,222,.18) 55%, transparent 76%);
}

/* 配置（中心座標 / カンプ準拠） */
.qnet-node--seisansha { top: 150px; left: 150px; }  /* 生産者 緑 */
.qnet-node--kaigai    { top: 150px; left: 610px; }  /* 海外市場 緑 */
.qnet-node--shiryo    { top: 248px; left: 128px; }  /* 飼料 青 */
.qnet-node--seika     { top: 322px; left: 118px; }  /* 種苗 青 */
.qnet-node--katsugyo  { top: 392px; left: 158px; }  /* 活魚 青 */
.qnet-node--sengyo    { top: 250px; left: 636px; }  /* 貿易 青 */
.qnet-node--reito     { top: 322px; left: 648px; }  /* 冷凍 青 */
.qnet-node--reito2    { top: 392px; left: 636px; }  /* 冷蔵 青 */
.qnet-node--chiiki    { top: 470px; left: 152px; }  /* 地域社会 緑 */
.qnet-node--gaishoku  { top: 432px; left: 650px; }  /* 外食 緑 */
.qnet-node--kokunai   { top: 478px; left: 598px; }  /* 国内市場 青 */
.qnet-node--ryohan    { top: 500px; left: 468px; }  /* 量販 青 */

/* ---- Fish cards (products / カンプ準拠の薄青カード) -------- */
.fish-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-md);
}

.fish-card {
  display: flex;
  flex-direction: column;
  background: var(--color-bg-seafoam);
  border-radius: var(--radius-lg);
  padding: var(--sp-md);
  transition: box-shadow var(--transition), transform var(--transition);
}

.fish-card:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); }

.fish-card__head {
  text-align: center;
  margin-bottom: var(--sp-sm);
  line-height: 1.25;     /* 4行（魚名/ローマ字/英名/学名）の行間を詰める */
}

.fish-card__ja {
  font-size: 20px;       /* .ai 14pt × 1.42536 = 20.0 */
  font-weight: 700;
  color: #007c8f;        /* Figma実測 */
  margin-bottom: .15em;
}

.fish-card__romaji {
  font-family: var(--font-en);
  font-size: 17px;       /* .ai 12pt × 1.42536 = 17.1 */
  color: #007c8f;
  margin-bottom: 0;
}

.fish-card__en {
  font-family: var(--font-en);
  font-size: 17px;       /* .ai 12pt × 1.42536 = 17.1 */
  font-weight: 400;
  color: #007c8f;
  margin-bottom: .15em;
}

.fish-card__latin {
  font-family: var(--font-en);
  font-style: italic;
  font-size: 14px;       /* .ai 10pt × 1.42536 = 14.3 */
  color: #666464;        /* Figma実測のグレー */
  margin-bottom: 0;
}

.fish-card__img {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 130px;
  margin-bottom: var(--sp-sm);
  border-radius: var(--radius);
  overflow: hidden;
}

.fish-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--radius);
}

.fish-card__body {
  font-size: 14px;       /* .ai 10pt × 1.42536 = 14.3 */
  line-height: 1.6;
  color: #007c8f;
}

/* ---- Processing list (products) -------------------------- */
/* 260714携帯校正「太い??」: SVG背景の破線は直線部の線幅が半分クリップされ
   角丸部だけ全幅表示→角が2倍太く見えるため、太さが均一なCSS破線ボーダーへ変更
   （太さ2px・角丸20px・#007c8f。260703の破線間隔調整はborder-dashedの標準間隔で代替） */
.processing-list {
  border: 2px dashed #007c8f;
  border-radius: 20px;
  padding: var(--sp-md) var(--sp-lg);
  display: flex;
  flex-direction: column;
}

.processing-item {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: var(--sp-md);
  align-items: center;
  padding-block: 1rem;
  border-bottom: none;
}

.processing-item:last-child { border-bottom: none; }

.processing-item__icon {
  color: var(--color-primary);
}

.processing-item__icon svg { width: 56px; height: 28px; }
/* 260705: 支給SVG(余白なし)に差替→切り出し(cover)をやめ全体表示(contain) */
.processing-item__icon {
  width: 200px;
  height: 50px;
  overflow: hidden;
}
.processing-item__icon img {
  width: 200px;
  height: 50px;
  object-fit: contain;
  object-position: center;
  display: block;
}

.processing-item__name {
  font-size: 16px;       /* カンプ: JA・EN とも同サイズの太字 */
  font-weight: 700;
  color: #007c8f;
  margin-bottom: .2em;
}

.processing-item__name em {
  font-style: normal;
  font-family: var(--font-en);
  font-size: 16px;
  font-weight: 700;
  color: #007c8f;
  margin-left: .15em;
}

.processing-item__desc { font-size: 14px; color: #007c8f; }

/* ---- Export cards (global-reach) ------------------------- */
.export-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-md);
}

.export-card {
  display: flex;
  flex-direction: column;
  background: var(--color-bg);
  border-radius: 0;
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}

.export-card__img {
  aspect-ratio: 16/10;
  background: var(--color-bg-seafoam) center/cover no-repeat;
}

.export-card__img img { width: 100%; height: 100%; object-fit: cover; }

.export-card__body { padding: var(--sp-md); }

.export-card__en {
  display: block;
  font-family: var(--font-en);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--color-primary);
  margin-bottom: .2em;
}

.export-card__ja {
  display: block;
  font-size: 1.15rem;
  font-weight: 700;
  margin-bottom: .6em;
}

.export-card__desc { font-size: .85rem; line-height: 1.85; color: var(--color-text-sub); }

/* カンプ準拠: 濃ティールのヘッダー帯（和文白）→説明文白→写真下 */
.export-card--teal {
  background: var(--color-primary-dark);
  box-shadow: var(--shadow-sm);
}

.export-card--teal .export-card__head {
  padding: 22px 20px 18px;
  color: #fff;
}

.export-card--teal .export-card__ja {
  display: block;
  font-size: 20px;       /* .ai 14pt × 1.42536 = 20.0 */
  font-weight: 500;      /* 260703校正: カード見出し「やや細く」(700→500) */
  color: #fff;
  margin-bottom: 10px;
  text-align: center;
}

.export-card--teal .export-card__desc {
  color: rgba(255,255,255,.88);
  font-size: 13px;
  line-height: 1.8;
  margin: 0;
}

.export-card--teal .export-card__img {
  aspect-ratio: 700/454;   /* 260721 Web校正 05グローバル2: 書出し写真(700×454)を全体表示（マスク/トリミングなし） */
  height: auto;
  background: var(--color-bg-seafoam) center/cover no-repeat;
}

/* ---- World map box --------------------------------------- */
.world-map-box {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}

.world-map-box img { width: 100%; height: auto; }

/* ---- Certification logos --------------------------------- */
.cert-logos {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-block: 1.2em;
}

.cert-logo-item {
  display: inline-flex;
  align-items: center;
  padding: .5em 1.1em;
  background: var(--color-bg);
  border: 1px solid var(--color-primary);
  border-radius: 2em;
  font-family: var(--font-en);
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .04em;
  color: var(--color-primary);
}

.cert-note { font-size: .78rem; color: var(--color-text-sub); }

/* ---- HACCP box ------------------------------------------- */
.haccp-box {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-bg-seafoam);
  border-radius: var(--radius-lg);
  overflow: hidden;
  padding: var(--sp-md);
}

.haccp-box img { width: min(100%, 440px); height: auto; }

/* ---- Quality flow (process steps) ------------------------ */
.quality-flow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem;
  margin-block: 1.2em;
}

.quality-flow__step {
  display: inline-flex;
  align-items: center;
  padding: .4em .9em;
  background: var(--color-primary);
  color: #fff;
  font-size: .8rem;
  font-weight: 600;
  border-radius: var(--radius);
  white-space: nowrap;
}

.quality-flow__arrow { color: var(--color-primary); font-weight: 700; }

/* ---- Safety 品質管理サイクル（円環ノード / カンプ準拠） ----
   カンプは工程ノード(丸)が楕円状に並ぶ循環図。1200px設計で
   400px角フィールドに円周配置で再現する（9ノード）。           */
.safety-flow-ring {
  position: relative;
  width: 400px;
  height: 400px;
  max-width: 100%;
  margin-inline: auto;
}

.safety-flow-ring__node {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 76px;
  height: 76px;
  margin: -38px 0 0 -38px; /* 中心合わせ */
  border-radius: 50%;
  background: var(--color-primary);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  text-align: center;
  line-height: 1.25;
  box-shadow: var(--shadow-sm);
}

/* 9ノードを 200,200 中心・半径160 の円周上に配置（上始まり時計回り） */
.safety-flow-ring__node:nth-child(1) { left: 200px; top: 40px;  }   /* 環境 上 */
.safety-flow-ring__node:nth-child(2) { left: 303px; top: 73px;  }   /* 種苗 */
.safety-flow-ring__node:nth-child(3) { left: 352px; top: 169px; }   /* 飼料 */
.safety-flow-ring__node:nth-child(4) { left: 333px; top: 276px; }   /* 養殖管理 */
.safety-flow-ring__node:nth-child(5) { left: 252px; top: 345px; }   /* 水揚げ */
.safety-flow-ring__node:nth-child(6) { left: 148px; top: 345px; }   /* 輸送 */
.safety-flow-ring__node:nth-child(7) { left: 67px;  top: 276px; }   /* 保管 */
.safety-flow-ring__node:nth-child(8) { left: 48px;  top: 169px; }   /* 加工 */
.safety-flow-ring__node:nth-child(9) { left: 97px;  top: 73px;  }   /* 販売 */

/* 緑のフォトディバイダー（調達セクション直前） */
.safety-photo-divider {
  width: 100%;
  height: 340px;
  background: var(--color-accent-green) center/cover no-repeat;
  background-image: url('../../images/safety-divider.jpg?v=5');
}

/* ---- Safety list ----------------------------------------- */
.safety-list {
  list-style: none;
  margin-block: 1em;
  display: flex;
  flex-direction: column;
  gap: .6rem;
}

.safety-list li {
  position: relative;
  padding-left: 1.5em;
  font-size: .9rem;
  line-height: 1.8;
  color: var(--color-text-sub);
}

.safety-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: .65em;
  width: .5em;
  height: .5em;
  background: var(--color-primary);
  border-radius: 50%;
}

/* ---- Photo divider --------------------------------------- */
.photo-divider {
  height: 380px;
  background: var(--color-primary-dark) center/cover no-repeat;
  background-image: url('../../images/section-sustainability-1.jpg');
}

/* サステナ用 全幅フォトディバイダー（水面） */
.sustainability-photo-divider {
  width: 100%;
  height: 360px;
  background: var(--color-primary-dark) center/cover no-repeat;
  background-image: url('../../images/sustainability-divider.jpg');
}

/* ---- Sustain soft cluster (カンプ準拠の淡い発光ブロブ) -----
   カンプは「未来」が上、「産業・人・海」が下に並ぶ淡い発光円。
   ハードなVennではなくぼかした円で表現する。                   */
.sustain-cluster {
  position: relative;
  width: 460px;
  height: 320px;
  max-width: 100%;
  margin: 24px auto 0;
}

.sustain-cluster__node {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .12em;
  color: var(--color-primary-dark);
  text-align: center;
}

/* 未来: 上部・大きめ・緑グロー＋白文字（カンプ準拠） */
.sustain-cluster__node--future {
  top: 8px; left: 50%; transform: translateX(-50%);
  width: 220px; height: 132px;
  font-size: 20px;       /* .ai 14pt × 1.42536 = 20.0（未来） */
  color: #fff;
  background: radial-gradient(ellipse at center,
              rgba(24,138,108,.62) 0%, rgba(56,160,128,.26) 50%, rgba(56,160,128,0) 76%);
}

/* 下段3つ: 産業・人・海（青グロー・濃色文字） */
.sustain-cluster__node--industry,
.sustain-cluster__node--people,
.sustain-cluster__node--ocean {
  width: 140px; height: 100px;
  bottom: 40px;
  color: #2c4a64;
  background: radial-gradient(ellipse at center,
              rgba(86,134,196,.46) 0%, rgba(120,162,210,.18) 54%, rgba(120,162,210,0) 78%);
}

.sustain-cluster__node--industry { left: 22px; }
.sustain-cluster__node--people   { left: 50%; transform: translateX(-50%); bottom: 10px; }
.sustain-cluster__node--ocean    { right: 22px; }

/* ---- SDGs goals ------------------------------------------ */
.sdgs-goals {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}

.sdgs-goal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  background: var(--color-primary);
  color: #fff;
  font-family: var(--font-en);
  font-size: 1.3rem;
  font-weight: 800;
  border-radius: var(--radius);
}

/* ---- Responsive ------------------------------------------ */
@media (max-width: 900px) {
  .content-col2,
  .content-col2--wide-text {
    grid-template-columns: 1fr;
    gap: var(--sp-lg);
  }
  .content-col2--rev > :first-child { order: 0; }
  .content-col2--rev > :last-child  { order: 0; }
  .fish-card-grid,
  .export-card-grid { grid-template-columns: repeat(2, 1fr); }
}

/* 放射状ネットワーク: 狭幅では絶対配置を解除して縦並びに */
@media (max-width: 800px) {
  .quality-network-field {
    height: auto;
    background: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 24px 0;
  }
  .qnet-center,
  .qnet-pillar,
  .qnet-node {
    position: static;
    transform: none;
    width: auto;
    height: auto;
    padding: 8px 14px;
    border-radius: 20px;
    background: rgba(255,255,255,.7);
  }
  .qnet-center { order: -1; flex-basis: 100%; background: none; }
  .qnet-center__logo { color: var(--color-primary-dark); }
  .qnet-pillar { background: var(--color-primary); color: #fff; }
  .qnet-node { color: var(--color-primary); }
}

/* Safety 円環: 狭幅では円配置を解除しフロー的に縦並び */
@media (max-width: 480px) {
  .safety-flow-ring {
    height: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    padding: 8px 0;
  }
  .safety-flow-ring__node {
    position: static;
    margin: 0;
    width: 68px;
    height: 68px;
  }
}

@media (max-width: 600px) {
  .fish-card-grid,
  .export-card-grid { grid-template-columns: 1fr; }
  .processing-item { grid-template-columns: 44px 1fr; gap: var(--sp-sm); }
  .sustain-cluster { width: 100%; }
}

/* サステナビリティのみ: 中央見出しの英字を通常位置・通常太さに */
.sustainability-page .sec-head.sec-head--center span.sec-head__en {
  order: 0;
  font-weight: 400;
}

/* サステナ 国際基準: 認証書画像（トリミングせず収める） */
.sustain-cert-img { width: 100%; height: auto; display: block; }

/* サステナ SDGs: 上部全幅の水面写真（カンプ準拠） */
/* 260720ユーザー指定: SDGs上部写真を全幅ブリードに（元画像1686:707の比率保持） */
.sdgs-photo {
  width: 100vw;
  margin-inline: calc(50% - 50vw);
  margin-bottom: var(--sp-xl);
}
.sdgs-photo img { display: block; width: 100%; height: auto; }

/* サステナ: セクション背景の個別指定（ユーザー目視調整 2026-06-29） */
.sustainability-page #cycle    { background: #fff; }
.sustainability-page #community { background: var(--color-bg-light); }
.sustainability-page #resource { background: #fff; }

/* サステナ SDGs: 上部写真を section 上端に密着（padding-top除去） */
section#sec-sustainability-sdgs { padding-top: 0; }

/* サステナ SDGs: 見出しを左揃え（本文pと左端を揃える） */
#sec-sustainability-sdgs .sec-head--center {
  align-items: flex-start;
  text-align: left;
}

/* 安全・安心のみ: 中央見出しの英字を通常位置・細字に */
.safety-page .sec-head.sec-head--center span.sec-head__en {
  order: 0;
  font-weight: 300;
}

/* 品質管理のみ: 中央見出しの英字を通常位置・通常太さに */
.quality-page .sec-head.sec-head--center span.sec-head__en {
  order: 0;
  font-weight: 400;
}

/* 加工形態(products)のみ: 中央見出しの英字を通常位置・通常太さに */
.products-page .sec-head.sec-head--center span.sec-head__en {
  order: 0;
  font-weight: 400;
}

/* 世界発信(global-reach)のみ: 中央見出しの英字を後ろ・太字に */
.global-reach-page .sec-head.sec-head--center span.sec-head__en {
  order: 1;
  font-weight: 700;
}

/* サステナ 国際基準(cert)節のみ: 見出しを左詰めに */
#sec-sustainability-cert .sec-head--center {
  align-items: flex-start;
  text-align: left;
}
/* 見出しの左端を本文(content-col2 の80pxガター)に揃える */
@media (min-width: 1200px) {
  #sec-sustainability-cert .sec-head { padding-left: 80px; }
}

/* サステナ 国際基準(cert)節: 本文・箇条書きも左詰めに */
#sec-sustainability-cert .content-col2 p,
#sec-sustainability-cert .content-col2 .hub-list {
  text-align: left;
}

/* サステナ #cycle / #resource: 本文を左へ寄せる（テキスト列を広げて左へ） */
#cycle .content-col2--wide-text,
#resource .content-col2--wide-text {
  grid-template-columns: 1fr 1.5fr;
  gap: 40px; /* 260705指示: テキストと写真の間を少し開ける */
}

/* グローバル展開のみ: 中央見出しの英字を上・細字に */
.global-reach-page .sec-head.sec-head--center span.sec-head__en {
  order: 0;
  font-weight: 300;
}

/* 260721ユーザー確定: 安全・安心(page-id-14)のセクション見出し下マージン */
.page-id-14 .sec-head { margin-bottom: 2rem; }
