*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
    color: #1F2A24;
    font-size: 18px;
    line-height: 1.9;
    background: #FFFFFF;
    -webkit-font-smoothing: antialiased;
    overflow-x: clip /* 教訓 body-overflowx-hidden-kills-sticky */;
  }
h1, h2, h3, h4 { font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif; text-wrap: pretty; }
p, li { text-wrap: pretty; }
a { color: #3B8560; text-decoration: none; }
a:hover { color: #4E9E77; text-decoration: underline; }
header a:hover, footer a:hover, nav a:hover { text-decoration: none; }
footer a:hover { color: rgb(193, 255, 215); }
a:focus-visible, button:focus-visible { outline: 3px solid #3E86B5; outline-offset: 3px; }
img { max-width: 100%; }
[data-nav-pc] { display: none; }
[data-nav-btn] { display: inline-flex; }
[data-split] { display: grid; grid-template-columns: 1fr; }
[data-split-r] { display: grid; grid-template-columns: 1fr; }
[data-hero-cta] { grid-auto-flow: row; width: 100%; max-width: 420px; }
@media (min-width: 600px) {
    [data-hero-tags] { gap: 10px; }
    [data-hero-tags] > span { min-width: 150px; min-height: 40px; }
  }
@media (min-width: 600px) {
    [data-hero-cta] { grid-auto-flow: column; grid-auto-columns: 1fr; width: max-content; max-width: 100%; }
  }
[data-hero-frame] { padding: 0 20px 50px; }
@media (min-width: 600px) {
    [data-hero-frame] { padding: 0 50px 50px; }
  }
[data-hero-pad] { padding-bottom: clamp(36px, 7vw, 88px); }
@media (min-width: 992px) {
    [data-split] { grid-template-columns: 1.02fr 1fr; }
    [data-split-r] { grid-template-columns: 1fr 1.02fr; }
  }
@keyframes nk-fade-up { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes nk-h1-sweep { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes nk-h1-fill { from { -webkit-text-fill-color: #fff; } to { -webkit-text-fill-color: transparent; } }
@keyframes nk-wave-l { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes nk-wave-r { from { transform: translateX(-50%); } to { transform: translateX(0); } }
[data-overlap-card] { margin-top: clamp(-90px, -13vw, -32px); }
@media (min-width: 768px) { [data-overlap-card] { margin-top: clamp(-260px, -22vw, -80px); } }
@media (min-width: 992px) { [data-overlap-card] { margin-top: clamp(-520px, -32vw, -140px); } }
@media (max-width: 991px) {
    [data-split] > *, [data-split-r] > * { min-width: 0; }
  }
@media (max-width: 599px) {
    [data-cta-actions] { flex-direction: column; }
    [data-cta-actions] > a { width: 100%; min-width: 0 !important; }
    table { display: block; width: 100%; overflow-x: auto; }
  }
@media (prefers-reduced-motion: reduce) { .nk-wave { animation: none !important; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
[data-work-grid] { grid-template-columns: 1fr; }
@media (min-width: 600px) {
    [data-work-grid] { grid-template-columns: repeat(2, 1fr); }
  }
@media (min-width: 1360px) {
    [data-work-grid] { grid-template-columns: repeat(4, 1fr); }
    [data-nav-pc] { display:flex; }
    [data-nav-btn] { display:none; }
  }
[data-sc-name="SiteHeader"] { display: contents; }
/* KEEP: 受領 index.html 由来の「1カラム時は画像を先に出す」指定（<992px）。
   素のままだと全ページに効き、2分割切替が860pxの5ページでは 860〜991px の2列表示のときに
   画像だけ左カラムへ移ってしまう（受領と違う並び）。TOPの切替点(992px)に限定する。
   ★同じ挙動を全ページへ共通化する対応は下の「1カラム時の画像先出し」節に集約（ディレクター判断 2026-08-05）。 */
@media (max-width: 991.98px) {
    body:has([data-hero-frame]) [data-split] > *:last-child:has(image-slot),
    body:has([data-hero-frame]) [data-split] > *:last-child:has(img) { order: -1; }
  }
/* /KEEP */
[data-foot-split] { display: grid; grid-template-columns: 1fr; }
[data-foot-nav] { display: grid; grid-template-columns: 1fr; justify-content: start; }
[data-foot-nav] a { white-space: nowrap; }
@media (min-width: 600px) {
    [data-foot-nav] { grid-template-columns: repeat(2, max-content); }
  }
@media (min-width: 1100px) {
    [data-foot-split] { grid-template-columns: minmax(260px, 300px) 1fr; }
  }
@media (min-width: 1360px) {
    [data-foot-nav] { grid-template-columns: repeat(4, max-content); }
  }
[data-mobile-nav][hidden]{display:none!important;}
body { margin:0; font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif; color:#1F2A24; font-size:18px; line-height:1.9; background:#FFFFFF; -webkit-font-smoothing:antialiased; }
h1, h2, h3, h4 { font-family:"Zen Kaku Gothic New","Noto Sans JP",sans-serif; text-wrap:pretty; }
a { color:#3B8560; text-decoration:none; }
a:hover { color:#4E9E77; text-decoration:underline; }
header a:hover, footer a:hover, nav a:hover { text-decoration:none; }
footer a:hover { color: rgb(193,255,215); }
a:focus-visible, button:focus-visible { outline:3px solid #3E86B5; outline-offset:3px; }
img { max-width:100%; }
span.line-chunk { display:inline-block; overflow-wrap:anywhere; word-break:normal; }
[data-nav-pc] { display:none; }
[data-nav-btn] { display:inline-flex; }
[data-split] { display:grid; grid-template-columns:1fr; }
[data-split-r] { display:grid; grid-template-columns:1fr; }
@media (min-width: 860px) {
    [data-split] { grid-template-columns:1.02fr 1fr; }
    [data-split-r] { grid-template-columns:1fr 1.02fr; }
  }
@media (min-width: 1360px) {
    [data-nav-pc] { display:flex; }
    [data-nav-btn] { display:none; }
  }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } }
@media (max-width: 859.98px) {
    [data-split] > *:last-child:has(image-slot), [data-split] > *:last-child:has(img) { order: -1; }
  }
/* KEEP: 受領 about.html だけが持っていたブレークポイント。
   元はここに [data-nav-pc]/[data-nav-btn] の切替（1200px）も入っており、ヘッダーは全ページ共通markupなのに
   **全ページのPCナビが1200pxから出る**状態になっていた（他12ページの受領値は1360px）。
   ディレクター判断（2026-08-05）で**ナビ切替は1360pxに統一**＝その2行をここから外した。
   [data-split] の2行は下の「ページ限定の復元」節と同値なので残置（無害）。 */
@media (min-width: 1200px) {
    [data-split] { grid-template-columns:1.02fr 1fr; }
    [data-split-r] { grid-template-columns:1fr 1.02fr; }
  }
/* /KEEP */
[data-step] { display:grid; grid-template-columns:1fr; }
@media (min-width: 992px) {
    [data-step] { grid-template-columns:1fr 1fr; }
  }
[data-check6] { grid-template-columns: 1fr; }
@media (min-width: 600px) {
    [data-check6] { grid-template-columns: repeat(2, 1fr); }
  }
@media (min-width: 860px) {
    [data-check6] { grid-template-columns: repeat(3, 1fr); }
  }
/* KEEP: ここには受領 guide/business.html 固有の青リンク（a{color:#0045A5} / a:hover{color:#009BFF}）があった。
   CueZillaは全ページへ1枚のCSSを配るため、この2行が最後に来ることで**全ページのリンク色を青に支配**していた
   （2026-08-05 実機実測: ヘッダー「受付8:00〜17:00 090-…」とフッター電話が青、hoverで #009BFF）。
   本文リンクは全て nk-sNN で色指定済み＝この2行が効くのは共通ヘッダー/フッターの色未指定リンクだけ。
   共通パーツの色をページごとに変える意味が無いため、ディレクター判断（2026-08-05）で
   **全ページ緑（L19-20 の #3B8560 / #4E9E77）に統一**。business固有の青は復元しない。
   ★この2行を戻すと全ページのリンクが青くなる。戻さないこと。 */
/* /KEEP */
[data-info-row] { display:grid; grid-template-columns:1fr; gap:2px 0; padding:clamp(14px,1.8vw,20px) 0; border-bottom:1px solid #e9f5e0; }
@media (min-width: 768px) {
    [data-info-row] { grid-template-columns:230px 1fr; gap:0 clamp(16px,3vw,40px); }
  }
a:focus-visible, button:focus-visible, summary:focus-visible { outline:3px solid #3E86B5; outline-offset:3px; }
summary { list-style:none; cursor:pointer; }
summary::-webkit-details-marker { display:none; }
details[open] [data-faq-mark] { transform:rotate(45deg); }
/* 受領 form/inquiry.html だけ outline-offset が 2px だった（他12ページは3px）。
   最後に置かれるため全ページが2pxになっていたので、共通挙動として 3px に統一（input/textarea への適用範囲は維持）。 */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline:3px solid #3E86B5; outline-offset:3px; }

/* ===== ページ限定の復元（2026-08-05）=====
   受領デザインはページ単位のHTMLだったため [data-split] の2分割ブレークポイントがページごとに違う
   （TOP=992px / about=1200px / work・guide・personal・business・company=860px）。
   CueZillaは1枚のCSSを全ページへ配るので、素のままでは 860px が全ページを支配し、
   TOP も about も 860px 時点で2分割＝受領より早く分割されていた。
   ページ固有の目印で「そのページだけ1カラムに戻す」形で受領の切替点を復元する。
   ★目印の依存関係: TOP=[data-hero-frame]（FV枠・TOP専用） / about=.nk-s180（about本文専用クラス）。
     HTMLを作り直してクラス番号が変わったらここも直す。 */
@media (min-width: 860px) and (max-width: 991.98px) {
  body:has([data-hero-frame]) [data-split],
  body:has([data-hero-frame]) [data-split-r] { grid-template-columns: 1fr; }
}
@media (min-width: 860px) and (max-width: 1199.98px) {
  body:has(.nk-s180) [data-split],
  body:has(.nk-s180) [data-split-r] { grid-template-columns: 1fr; }
}

/* ===== 1カラム時の画像先出し（2026-08-05・全ページ共通化・ディレクター判断）=====
   「[data-split] が1カラムに畳まれたら画像を文章より先に出す」挙動を全ページで揃える。
   発火点は受領どおり各ページの2分割切替に連動（TOP=992px / about=1200px / 他5ページ=860px）。
   ・他5ページ（860px）＝上の @media (max-width: 859.98px) がそのまま担当
   ・TOP（992px）＝[data-sc-name="SiteHeader"] 直後のKEEPブロックが担当
   ・about（1200px）＝受領 about.html にこの指定が無く、1カラムでも画像が文章の後ろに残る
     （他6ページと不揃い＝受領側の欠落と判断）ため、ここで補う */
@media (max-width: 1199.98px) {
  body:has(.nk-s180) [data-split] > *:last-child:has(image-slot),
  body:has(.nk-s180) [data-split] > *:last-child:has(img) { order: -1; }
}

/* ===== KEEP: CueZillaテーマの html,body{height:100%} を打ち消す（2026-08-05・実機実測で追加）=====
   テーマCSS（cdn.cuezilla-cms.com/css/site/theme/1481/theme_default.css）の先頭に
     html, body { height: 100%; margin: 0; padding: 0; font-family: "メイリオ", … }
   があり、これが body の高さを**1画面分ちょうど**に固定する（実測: body.offsetHeight = 859px / 実際の中身は 10648px）。
   `position: sticky` は containing block（= body）の箱の中でしか止まれないため、
   **1画面スクロールした時点で固定ヘッダーが箱から出て、そのまま上へ流れて消える**（実測:
   scrollY 1500 で headerTop -725、4000 で -3225、8000 で -8873）。
   デザイナー納品HTMLを単体で開くとこのテーマCSSが無いので**絶対に再現しない**＝実機でしか出ない不具合。
   打ち消すと body.offsetHeight が 10648px（中身の実高さ）になり sticky が全域で効く（実機で確認）。
   min-height は、テーマが height:100% で担保していた「短いページでも1画面分の高さ」を維持するため
   （html を auto にすると body の % 指定は解決できないので dvh/vh で置き換える）。
   ★この2行を消すと固定ヘッダーが再び1画面で消える。消さないこと。 */
html { height: auto; }
body { height: auto; min-height: 100vh; min-height: 100dvh; }
/* /KEEP */

/* ===== KEEP: ヘッダーナビの下層メニュー（2026-08-06追加）=====
   受領HTMLは PC の `.nk-s7`（∨アイコン付き）とモバイルの「＋」ボタンだけがあり、
   **開く対象のパネルが6箇所とも空**だった（子ページ6枚がヘッダーからたどれない状態）。
   02_header.html にパネルを追加し、ここでスタイルを当てる。
   ・PC はホバー／キーボードフォーカス（:focus-within）で開く＝JS不要。
   ・**疑似要素は使わない**（AddCssInfo が `content` を落とすため／教訓 cuezilla-addcss-sanitizes-content-filter）。
     そのため「リンクとパネルの間の隙間でホバーが切れる」対策は、`top:100%` の密着配置＋
     パネル内側の padding で見た目を作る方式にしている（Y方向のずらしアニメは入れない）。
   ・モバイルは「＋」ボタンの aria-controls で対応するパネルを開閉（JSは BODY内スクリプトに追加済み）。 */
/* ★値は Claude Design の SiteHeader.dc.html（デザイナー正本）から転記。数値を発明していない。 */
.nk-s5 > .nk-s7 { align-items: center; }
/* 外枠＝リンクと白箱の隙間を埋める透明な橋（padding-top）。ここが無いとホバーが途切れる。 */
.nk-s7 > .nk-sub {
  position: absolute; top: 100%; left: 50%; transform: translateX(-50%);
  padding-top: 16px; z-index: 60;
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .18s ease, visibility .18s ease;
}
.nk-s7:hover > .nk-sub,
.nk-s7:focus-within > .nk-sub { opacity: 1; visibility: visible; pointer-events: auto; }
@media (prefers-reduced-motion: reduce) { .nk-s7 > .nk-sub { transition: none; } }
/* 白箱 */
.nk-sub__box {
  position: relative; background: #FFFFFF; border-radius: 16px;
  box-shadow: 0 14px 34px rgba(31, 42, 36, .20); padding: 10px;
}
.nk-sub--work .nk-sub__box { min-width: 230px; }
.nk-sub--guide .nk-sub__box { min-width: 210px; }
.nk-sub--company .nk-sub__box { min-width: 220px; }
/* 吹き出しの三角＝16x16を45度回した白い角丸四角。疑似要素ではなく実要素なので AddCssInfo でも消えない。 */
.nk-sub__tip {
  position: absolute; top: -7px; left: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 16px; height: 16px; background: #FFFFFF; border-radius: 4px;
}
/* 子リンク（position:relative で三角より前面に出す） */
.nk-sub__a {
  position: relative; display: flex; align-items: center;
  min-height: 48px; padding: 0 16px; border-radius: 11px;
  font-size: 15px; color: #1F2A24; white-space: nowrap; text-decoration: none;
}
.nk-sub__a:hover { background: #F6FBF8; color: #3B8560; text-decoration: none; }
.nk-sub__a--blue:hover { background: #F4F8FB; color: #0045A5; }
.nk-sub__a:focus-visible { outline: 3px solid #3E86B5; outline-offset: -2px; }

/* モバイルナビの下層メニュー（Design準拠：└マーク＋薄緑地） */
.nk-subm { display: grid; gap: 2px; }
.nk-subm[hidden] { display: none; }
.nk-subm__a {
  display: flex; align-items: center; gap: 10px;
  min-height: 50px; padding-left: 29px;
  font-size: 16px; color: #3B8560; background: #F6FBF8;
  border-bottom: 1px solid #EAF4EE; text-decoration: none;
}
.nk-subm__a--blue { color: #0045A5; background: #F4F8FB; }
.nk-subm__mark { color: #4E9E77; }
.nk-subm__mark--blue { color: #3E86B5; }
.nk-subm__a:hover { text-decoration: none; }
/* /KEEP */

/* --- 2. ホバー等の共通クラス（受領 .scpN を意味のある名前へ統合） --- */
.nk-hv-fade.nk-hv-fade:hover{opacity:.88!important;}
.nk-hv-green.nk-hv-green:hover{color:#3B8560!important;}
.nk-hv-mint.nk-hv-mint:hover{color:#C1FFD7!important;}
.nk-hv-softgreen.nk-hv-softgreen:hover{background:#F6FBF8!important;color:#3B8560!important;}
.nk-hv-softblue.nk-hv-softblue:hover{background:#F4F8FB!important;color:#0045A5!important;}
.nk-hv-deepgreen.nk-hv-deepgreen:hover{background:#006200!important;}
.nk-hv-deepblue.nk-hv-deepblue:hover{background:#0045A5!important;}
.nk-hv-bd-green.nk-hv-bd-green:hover{border-color:#4E9E77!important;}
.nk-hv-bd-blue.nk-hv-bd-blue:hover{border-color:#3E86B5!important;}
.nk-hv-bg-softgreen.nk-hv-bg-softgreen:hover{background:#F6FBF8!important;}
.nk-hv-bg-mint.nk-hv-bg-mint:hover{background:#EAF4EE!important;}
.nk-hv-bg-blue.nk-hv-bg-blue:hover{background:#E4EFFA!important;}

/* --- 3. 追加ルール --- */
/* ===== R-27: h1 スイープ（::before/::after の content は AddCssInfo が落とすため実要素化） ===== */
.nk-h1s__g,.nk-h1s__w{position:absolute;inset:.14em 0;display:block;transform-origin:left center;}
.nk-h1s__g{z-index:-2;background:linear-gradient(102deg,#008200 0%,#77C600 100%);}
.nk-h1s__w{z-index:-1;background:#FFFFFF;}
.nk-h1s--1 .nk-h1s__g{animation:.6s cubic-bezier(.6,0,.2,1) 0s 1 normal both running nk-h1-sweep;}
.nk-h1s--1 .nk-h1s__w{animation:.5s cubic-bezier(.6,0,.2,1) 1.1s 1 normal both running nk-h1-sweep;}
.nk-h1s--2 .nk-h1s__g{animation:.6s cubic-bezier(.6,0,.2,1) .2s 1 normal both running nk-h1-sweep;}
.nk-h1s--2 .nk-h1s__w{animation:.5s cubic-bezier(.6,0,.2,1) 1.3s 1 normal both running nk-h1-sweep;}
@media (prefers-reduced-motion: reduce){
  .nk-h1s__g,.nk-h1s__w{animation:none!important;transform:none!important;}
}

/* ===== R-10a: ページHTML内にパンくずを内包しているため CueZilla 自動パンくずは非表示 ===== */
.parts231_breadcrumb{display:none!important;}

/* ===== TOP：BLOGパーツ直下の「記事一覧を見る」帯（05c） ===== */
[class*="parts131415_blog"]{padding-bottom:0!important;}
.nk-blogmore{background:#E9F5E0;padding:clamp(32px,4vw,52px) clamp(20px,4vw,64px) clamp(56px,8vw,96px);display:flex;justify-content:center;}

/* --- 4. インラインstyle抽出（290クラス／セレクタ3重＝インライン相当の強さ・R-7） --- */
.nk-s1.nk-s1.nk-s1{position: sticky; top: 0px; z-index: 50; background: rgb(233, 245, 224); box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px; transition: background 0.28s, box-shadow 0.28s;}
.nk-s2.nk-s2.nk-s2{max-width: 1500px; margin: 0px auto; padding: 0px clamp(16px, 3vw, 40px); height: clamp(64px, 8vw, 84px); display: flex; align-items: center; justify-content: space-between; gap: 16px;}
.nk-s3.nk-s3.nk-s3{display: flex; flex-direction: column; gap: 2px; text-decoration: none;}
.nk-s4.nk-s4.nk-s4{display: block; height: clamp(42px, 5.6vw, 62px); width: auto;}
.nk-s5.nk-s5.nk-s5{align-items: center; gap: clamp(14px, 1.8vw, 30px);}
.nk-s6.nk-s6.nk-s6{display: inline-flex; align-items: center; gap: 7px; font-size: 15px; color: rgb(31, 42, 36); font-weight: 500;}
.nk-s7.nk-s7.nk-s7{position: relative; display: inline-flex;}
.nk-s8.nk-s8.nk-s8{display: flex; flex-direction: column; line-height: 1.25; padding-left: clamp(8px, 1.2vw, 18px); border-left: 1px solid rgb(220, 231, 224);}
.nk-s9.nk-s9.nk-s9{font-size: 11px; letter-spacing: 0.1em; color: rgb(91, 102, 96);}
.nk-s10.nk-s10.nk-s10{font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 700; font-size: 19px; color: rgb(59, 133, 96); letter-spacing: 0.02em;}
.nk-s11.nk-s11.nk-s11{display: inline-flex; align-items: center; min-height: 48px; padding: 0px 22px; border-radius: 999px; background: linear-gradient(102deg, rgb(0, 130, 0) 0%, rgb(119, 198, 0) 100%); color: rgb(255, 255, 255); font-weight: 700; font-size: 15px; text-decoration: none;}
.nk-s12.nk-s12.nk-s12{position: relative; z-index: 120; align-items: center; justify-content: center; gap: 8px; width: auto; min-width: 48px; min-height: 48px; padding: 0px 14px; border: 1px solid rgb(220, 231, 224); border-radius: 12px; background: rgb(255, 255, 255); cursor: pointer; font-family: inherit; font-size: 12px; letter-spacing: 0.08em; color: rgb(59, 133, 96);}
.nk-s13.nk-s13.nk-s13{display: flex; flex-direction: column; gap: 4px; width: 18px;}
.nk-s14.nk-s14.nk-s14{display: block; height: 2px; background: rgb(59, 133, 96); border-radius: 2px;}
.nk-s15.nk-s15.nk-s15{position: fixed; inset: 0px; z-index: 110; height: 100dvh; background: rgb(255, 255, 255); overflow-y: auto; overscroll-behavior: contain; padding: calc(16px + clamp(64px, 8vw, 84px)) clamp(16px, 4vw, 32px) 40px; display: flex; flex-direction: column; gap: 2px;}
.nk-s16.nk-s16.nk-s16{display: flex; align-items: center; gap: 10px; min-height: 52px; font-size: 17px; color: rgb(31, 42, 36); border-bottom: 1px solid rgb(234, 244, 238);}
.nk-s17.nk-s17.nk-s17{display: flex; align-items: center; gap: 10px; min-height: 52px; border-bottom: 1px solid rgb(234, 244, 238);}
.nk-s18.nk-s18.nk-s18{display: flex; align-items: center; gap: 10px; flex: 1 1 0%; min-height: 52px; font-size: 17px; color: rgb(31, 42, 36);}
.nk-s19.nk-s19.nk-s19{flex: 0 0 auto; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; border: 1px solid rgb(220, 231, 224); border-radius: 10px; background: rgb(255, 255, 255); color: rgb(59, 133, 96); font-size: 16px; line-height: 1; cursor: pointer;}
.nk-s20.nk-s20.nk-s20{display: flex; flex-direction: column; gap: 12px; margin-top: 18px;}
.nk-s21.nk-s21.nk-s21{display: flex; align-items: center; justify-content: center; min-height: 56px; border-radius: 999px; background: linear-gradient(102deg, rgb(0, 130, 0) 0%, rgb(119, 198, 0) 100%); color: rgb(255, 255, 255); font-weight: 700; text-decoration: none;}
.nk-s22.nk-s22.nk-s22{display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 56px; border-radius: 999px; border: 2px solid rgb(78, 158, 119); color: rgb(59, 133, 96); font-weight: 700; text-decoration: none;}
.nk-s23.nk-s23.nk-s23{background: rgb(59, 133, 96); color: rgb(255, 255, 255); padding: clamp(48px, 7vw, 88px) clamp(20px, 4vw, 64px) clamp(28px, 4vw, 44px);}
.nk-s24.nk-s24.nk-s24{max-width: 1500px; margin: 0px auto;}
.nk-s25.nk-s25.nk-s25{gap: clamp(32px, 5vw, 72px); align-items: start; margin: 0px 0px clamp(32px, 4vw, 52px);}
.nk-s26.nk-s26.nk-s26{display: block; height: clamp(30px, 3.6vw, 40px); width: auto; margin: 0px 0px 10px;}
.nk-s27.nk-s27.nk-s27{margin: 0px 0px 22px; font-size: 15px; color: rgb(255, 255, 255);}
.nk-s28.nk-s28.nk-s28{margin: 0px 0px 22px; font-size: 16px; color: rgb(255, 255, 255); line-height: 1.9;}
.nk-s29.nk-s29.nk-s29{margin: 0px; font-size: 15px; color: rgb(255, 255, 255); line-height: 1.9;}
.nk-s30.nk-s30.nk-s30{gap: clamp(20px, 2.4vw, 32px) clamp(20px, 3vw, 40px); align-items: start;}
.nk-s31.nk-s31.nk-s31{display: flex; flex-direction: column;}
.nk-s32.nk-s32.nk-s32{display: flex; align-items: center; min-height: 46px; color: rgb(255, 255, 255); font-size: 16px; font-weight: 700; transition: color 0.2s;}
.nk-s33.nk-s33.nk-s33{display: flex; align-items: center; gap: 8px; min-height: 44px; padding-left: 14px; color: rgba(255, 255, 255, 0.88); font-size: 15px; transition: color 0.2s;}
.nk-s34.nk-s34.nk-s34{display: flex; align-items: center; min-height: 44px; color: rgba(255, 255, 255, 0.88); font-size: 15px; transition: color 0.2s;}
.nk-s35.nk-s35.nk-s35{margin: 0px; padding-top: clamp(18px, 2vw, 26px); border-top: 1px solid rgba(255, 255, 255, 0.22); font-size: 14px; color: rgb(255, 255, 255);}
.nk-s36.nk-s36.nk-s36{background: rgb(233, 245, 224); padding: 0px clamp(12px, 3vw, 50px) clamp(24px, 4vw, 50px);}
.nk-s37.nk-s37.nk-s37{position: relative; width: 100%; min-height: clamp(220px, 28vw, 340px); display: flex; align-items: flex-end; overflow: hidden; border-radius: 24px; background: rgb(234, 244, 238);}
.nk-s38.nk-s38.nk-s38{position: absolute; inset: 0px;}
.nk-s39.nk-s39.nk-s39{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;}
.nk-s40.nk-s40.nk-s40{position: absolute; inset: 0px; background: linear-gradient(rgba(31, 42, 36, 0.1) 0%, rgba(31, 42, 36, 0.55) 100%);}
.nk-s41.nk-s41.nk-s41{position: relative; width: 100%; max-width: 1500px; margin: 0px auto; padding: clamp(50px, 8vw, 100px) clamp(20px, 4vw, 64px) clamp(24px, 3.4vw, 44px);}
.nk-s42.nk-s42.nk-s42{margin: 0px 0px 10px; font-size: 13px; letter-spacing: 0.16em; color: rgb(255, 255, 255); font-weight: 700;}
.nk-s43.nk-s43.nk-s43{margin: 0px; font-size: clamp(26px, 4vw, 46px); font-weight: 900; color: rgb(255, 255, 255); line-height: 1.4; letter-spacing: 0.02em;}
.nk-s44.nk-s44.nk-s44{max-width: 1500px; margin: 0px auto; padding: 14px clamp(8px, 2vw, 16px) 0px; font-size: 13px; color: rgb(91, 102, 96);}
.nk-s45.nk-s45.nk-s45{color: rgb(59, 133, 96);}
.nk-s46.nk-s46.nk-s46{padding: 0px 8px;}
.nk-s47.nk-s47.nk-s47{background: rgb(233, 245, 224);}
.nk-s48.nk-s48.nk-s48{position: relative; width: 100%; height: calc(-50px + 100dvh - clamp(64px, 8vw, 84px)); min-height: 540px; display: flex; align-items: flex-end; overflow: hidden; border-radius: 24px; background: rgb(234, 244, 238);}
.nk-s49.nk-s49.nk-s49{position: relative; width: 100%; max-width: 1500px; margin: 0px auto; padding-left: clamp(20px, 4vw, 64px); padding-right: clamp(20px, 4vw, 64px); padding-top: clamp(80px, 12vw, 140px); animation: 0.9s ease 0s 1 normal both running nk-fade-up;}
.nk-s50.nk-s50.nk-s50{margin: 0px 0px clamp(18px, 2.6vw, 28px); font-size: clamp(28px, 5.1vw, 60px); line-height: 1.6; font-weight: 900; letter-spacing: 0.02em;}
.nk-s51.nk-s51.nk-s51{position: relative; display: inline-block; margin: 0.12em 0px; padding: 0.06em 0.3em 0.08em; background-image: linear-gradient(102deg, rgb(0, 130, 0) 0%, rgb(119, 198, 0) 100%); background-clip: text; -webkit-text-fill-color: rgb(255, 255, 255); animation: 0.5s ease 1.3s 1 normal both running nk-h1-fill;}
.nk-s52.nk-s52.nk-s52{position: relative; display: inline-block; margin: 0.12em 0px; padding: 0.06em 0.3em 0.08em; background-image: linear-gradient(102deg, rgb(0, 130, 0) 0%, rgb(119, 198, 0) 100%); background-clip: text; -webkit-text-fill-color: rgb(255, 255, 255); animation: 0.5s ease 1.5s 1 normal both running nk-h1-fill;}
.nk-s53.nk-s53.nk-s53{margin: 0px 0px clamp(22px, 3vw, 32px); font-size: clamp(15px, 1.4vw, 18px); line-height: 1.95; color: rgb(255, 255, 255); max-width: 44em; text-shadow: rgba(0, 0, 0, 0.95) 0px 0px 6px, rgba(0, 0, 0, 0.9) 0px 0px 16px, rgba(0, 0, 0, 0.8) 0px 0px 34px, rgba(0, 0, 0, 0.6) 0px 0px 60px;}
.nk-s54.nk-s54.nk-s54{display: flex; flex-wrap: nowrap; gap: 8px; margin: 0px 0px clamp(24px, 3vw, 34px);}
.nk-s55.nk-s55.nk-s55{display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 0px clamp(10px, 2.6vw, 18px); border-radius: 999px; background: rgba(255, 255, 255, 0.94); color: rgb(59, 133, 96); font-size: clamp(12px, 3vw, 15px); font-weight: 700; white-space: nowrap;}
.nk-s56.nk-s56.nk-s56{display: grid; gap: 14px; max-width: 100%;}
.nk-s57.nk-s57.nk-s57{display: inline-flex; align-items: center; justify-content: center; min-height: 60px; padding: 0px clamp(26px, 3vw, 40px); border-radius: 999px; background: linear-gradient(102deg, rgb(0, 130, 0) 0%, rgb(119, 198, 0) 100%); color: rgb(255, 255, 255); font-weight: 700; font-size: clamp(16px, 1.7vw, 18px); text-decoration: none;}
.nk-s58.nk-s58.nk-s58{display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 60px; padding: 0px clamp(26px, 3vw, 40px); border-radius: 999px; background: linear-gradient(102deg, rgb(0, 69, 165) 0%, rgb(0, 155, 255) 100%); color: rgb(255, 255, 255); font-weight: 700; font-size: clamp(16px, 1.7vw, 18px); text-decoration: none;}
.nk-s59.nk-s59.nk-s59{padding: 0px 0px clamp(56px, 8vw, 104px); background: rgb(233, 245, 224);}
.nk-s60.nk-s60.nk-s60{position: relative; width: 100%; aspect-ratio: 16 / 7; overflow: hidden;}
.nk-s61.nk-s61.nk-s61{max-width: 1500px; margin: 0px auto; padding: 0px clamp(20px, 4vw, 64px);}
.nk-s62.nk-s62.nk-s62{background: rgb(255, 255, 255); border-radius: clamp(16px, 3vw, 32px); padding: clamp(32px, 5vw, 72px); position: relative; align-items: center; gap: clamp(28px, 4vw, 60px);}
.nk-s63.nk-s63.nk-s63{margin: 0px 0px clamp(20px, 3vw, 30px); font-size: clamp(25px, 3.6vw, 44px); line-height: 1.55; font-weight: 700; color: rgb(59, 133, 96);}
.nk-s64.nk-s64.nk-s64{margin: 0px 0px 20px; font-size: clamp(16px, 1.35vw, 19px);}
.nk-s65.nk-s65.nk-s65{margin: 0px; font-size: clamp(16px, 1.35vw, 19px);}
.nk-s66.nk-s66.nk-s66{position: relative; width: 100%; aspect-ratio: 4 / 3; border-radius: clamp(14px, 2vw, 22px); overflow: hidden;}
.nk-s67.nk-s67.nk-s67{padding: 0px clamp(20px, 4vw, 64px) clamp(64px, 9vw, 120px); background: rgb(233, 245, 224);}
.nk-s68.nk-s68.nk-s68{max-width: 1240px; margin: 0px auto;}
.nk-s69.nk-s69.nk-s69{margin: 0px 0px clamp(28px, 4vw, 48px); font-size: clamp(25px, 3.6vw, 44px); line-height: 1.55; font-weight: 700; color: rgb(59, 133, 96); text-align: center;}
.nk-s70.nk-s70.nk-s70{list-style: none; margin: 0px 0px clamp(30px, 4vw, 44px); padding: 0px; display: flex; flex-wrap: wrap; justify-content: center; gap: clamp(14px, 2vw, 22px);}
.nk-s71.nk-s71.nk-s71{position: relative; flex: 1 1 320px; max-width: 420px; border-radius: 6px; padding: 26px 24px 26px 62px; font-size: 17px; line-height: 31px; color: rgb(31, 42, 36); border: 1px solid rgb(226, 232, 222); background-color: rgb(255, 255, 255); background-image: repeating-linear-gradient(rgb(255, 255, 255) 0px, rgb(255, 255, 255) 30px, rgb(217, 228, 236) 30px, rgb(217, 228, 236) 31px), linear-gradient(rgb(237, 162, 172), rgb(237, 162, 172)); background-size: 100% 31px, 1px 100%; background-position: 0px 26px, 46px 0px; background-repeat: repeat-y, no-repeat;}
.nk-s72.nk-s72.nk-s72{position: absolute; left: 14px; top: 16%; width: 13px; height: 13px; border-radius: 50%; background: rgb(233, 245, 224); border: 1px solid rgb(203, 213, 198);}
.nk-s73.nk-s73.nk-s73{position: absolute; left: 14px; top: 47%; width: 13px; height: 13px; border-radius: 50%; background: rgb(233, 245, 224); border: 1px solid rgb(203, 213, 198);}
.nk-s74.nk-s74.nk-s74{position: absolute; left: 14px; top: 78%; width: 13px; height: 13px; border-radius: 50%; background: rgb(233, 245, 224); border: 1px solid rgb(203, 213, 198);}
.nk-s75.nk-s75.nk-s75{max-width: 64em; margin: 0px auto; text-align: center;}
.nk-s76.nk-s76.nk-s76{margin: 0px 0px 16px; font-size: clamp(16px, 1.35vw, 19px);}
.nk-s77.nk-s77.nk-s77{position: absolute; left: 0px; right: 0px; top: -14%; height: 114%;}
.nk-s78.nk-s78.nk-s78{background: rgb(255, 255, 255); border-radius: clamp(16px, 3vw, 32px); padding: clamp(32px, 5vw, 72px); position: relative; align-items: stretch; gap: clamp(28px, 4vw, 60px);}
.nk-s79.nk-s79.nk-s79{margin: 0px 0px clamp(22px, 3vw, 32px); font-size: clamp(25px, 3.6vw, 44px); line-height: 1.55; font-weight: 700; color: rgb(59, 133, 96);}
.nk-s80.nk-s80.nk-s80{margin: 0px 0px clamp(30px, 4vw, 48px);}
.nk-s81.nk-s81.nk-s81{margin: 0px 0px 18px; font-size: clamp(16px, 1.35vw, 19px);}
.nk-s82.nk-s82.nk-s82{display: inline-flex; align-items: center; gap: 12px; min-height: 56px; padding: 0px clamp(24px, 3vw, 36px); border-radius: 999px; background: linear-gradient(102deg, rgb(0, 130, 0) 0%, rgb(119, 198, 0) 100%); color: rgb(255, 255, 255); font-weight: 700; font-size: 17px; text-decoration: none;}
.nk-s83.nk-s83.nk-s83{font-size: 15px;}
.nk-s84.nk-s84.nk-s84{display: grid; grid-auto-rows: 1fr; gap: clamp(16px, 2vw, 24px);}
.nk-s85.nk-s85.nk-s85{flex: 1 1 0px; display: flex; flex-direction: column; justify-content: center; padding: clamp(22px, 2.4vw, 30px); background: rgb(62, 134, 181); border-radius: 18px;}
.nk-s86.nk-s86.nk-s86{margin: 0px 0px 12px; font-size: clamp(18px, 1.7vw, 22px); color: rgb(255, 255, 255); font-weight: 700; line-height: 1.6;}
.nk-s87.nk-s87.nk-s87{margin: 0px; font-size: clamp(15px, 1.25vw, 17px); color: rgb(255, 255, 255);}
.nk-s88.nk-s88.nk-s88{padding: clamp(64px, 9vw, 120px) clamp(20px, 4vw, 64px); background: rgb(233, 245, 224);}
.nk-s89.nk-s89.nk-s89{margin: 0px 0px clamp(30px, 4vw, 52px); font-size: clamp(25px, 3.6vw, 44px); line-height: 1.55; font-weight: 700; color: rgb(59, 133, 96); text-align: center;}
.nk-s90.nk-s90.nk-s90{display: grid; gap: clamp(20px, 2.6vw, 34px); margin: 0px 0px clamp(30px, 4vw, 44px);}
.nk-s91.nk-s91.nk-s91{position: relative; width: 100%; aspect-ratio: 4 / 3; border-radius: 18px; overflow: hidden; margin-bottom: 20px;}
.nk-s92.nk-s92.nk-s92{margin: 0px 0px 12px; font-size: clamp(19px, 1.8vw, 23px); color: rgb(59, 133, 96); font-weight: 700; line-height: 1.55;}
.nk-s93.nk-s93.nk-s93{margin: 0px; font-size: clamp(15px, 1.25vw, 17px);}
.nk-s94.nk-s94.nk-s94{margin: 0px auto clamp(24px, 3vw, 34px); max-width: 64em; font-size: clamp(16px, 1.35vw, 19px); text-align: center;}
.nk-s95.nk-s95.nk-s95{display: flex; width: max-content; margin: 0px auto; align-items: center; gap: 12px; min-height: 56px; padding: 0px clamp(24px, 3vw, 36px); border-radius: 999px; background: linear-gradient(102deg, rgb(0, 130, 0) 0%, rgb(119, 198, 0) 100%); color: rgb(255, 255, 255); font-weight: 700; font-size: 17px; text-decoration: none;}
.nk-s96.nk-s96.nk-s96{position: relative; padding: clamp(64px, 9vw, 124px) clamp(20px, 4vw, 64px); background: rgb(31, 42, 36); overflow: hidden;}
.nk-s97.nk-s97.nk-s97{position: absolute; inset: 0px; overflow: hidden;}
.nk-s98.nk-s98.nk-s98{position: absolute; left: 0px; right: 0px; top: -18%; height: 136%; will-change: transform;}
.nk-s99.nk-s99.nk-s99{position: absolute; inset: 0px; background: rgba(0, 0, 0, 0.58); pointer-events: none;}
.nk-s100.nk-s100.nk-s100{position: relative; max-width: 1240px; margin: 0px auto;}
.nk-s101.nk-s101.nk-s101{margin: 0px 0px clamp(30px, 4vw, 52px); font-size: clamp(25px, 3.6vw, 44px); line-height: 1.55; font-weight: 700; color: rgb(255, 255, 255); text-align: center;}
.nk-s102.nk-s102.nk-s102{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: clamp(16px, 2.4vw, 28px); margin: 0px 0px clamp(32px, 4vw, 48px);}
.nk-s103.nk-s103.nk-s103{background: rgba(255, 255, 255, 0.96); border-radius: 20px; padding: clamp(24px, 3vw, 34px); text-align: center;}
.nk-s104.nk-s104.nk-s104{display: block; font-family: 'Zen Kaku Gothic New', sans-serif; font-size: clamp(34px, 4.6vw, 54px); font-weight: 900; line-height: 1.2; color: rgb(59, 133, 96); letter-spacing: 0.01em;}
.nk-s105.nk-s105.nk-s105{display: block; margin-top: 8px; font-size: 16px; color: rgb(91, 102, 96);}
.nk-s106.nk-s106.nk-s106{display: block; font-family: 'Zen Kaku Gothic New', sans-serif; font-size: clamp(30px, 4vw, 48px); font-weight: 900; line-height: 1.2; color: rgb(59, 133, 96); letter-spacing: 0.01em;}
.nk-s107.nk-s107.nk-s107{max-width: 60em; margin: 0px auto; text-align: center;}
.nk-s108.nk-s108.nk-s108{margin: 0px 0px 16px; font-size: clamp(16px, 1.35vw, 19px); color: rgb(255, 255, 255);}
.nk-s109.nk-s109.nk-s109{margin: 0px; font-size: clamp(16px, 1.35vw, 19px); color: rgb(255, 255, 255);}
.nk-s110.nk-s110.nk-s110{padding: clamp(64px, 9vw, 120px) 0px; background: rgb(233, 245, 224);}
.nk-s111.nk-s111.nk-s111{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: clamp(20px, 2.6vw, 32px); max-width: 1500px; margin: 0px auto; padding: 0px clamp(20px, 4vw, 64px);}
.nk-s112.nk-s112.nk-s112{display: flex; flex-direction: column; text-decoration: none; color: rgb(31, 42, 36); border-radius: clamp(16px, 2vw, 26px); overflow: hidden; background: rgb(246, 251, 248); border: 1px solid rgb(220, 231, 224);}
.nk-s113.nk-s113.nk-s113{position: relative; width: 100%; aspect-ratio: 16 / 10; overflow: hidden;}
.nk-s114.nk-s114.nk-s114{position: absolute; left: 20px; top: 20px; display: inline-flex; align-items: center; min-height: 38px; padding: 0px 18px; border-radius: 999px; background: linear-gradient(102deg, rgb(0, 130, 0) 0%, rgb(119, 198, 0) 100%); color: rgb(255, 255, 255); font-size: 14px; font-weight: 700; letter-spacing: 0.06em; pointer-events: none;}
.nk-s115.nk-s115.nk-s115{padding: clamp(24px, 3vw, 38px); display: flex; flex-direction: column; gap: 16px;}
.nk-s116.nk-s116.nk-s116{margin: 0px; font-size: clamp(15px, 1.25vw, 18px);}
.nk-s117.nk-s117.nk-s117{display: inline-flex; align-items: center; gap: 10px; min-height: 52px; margin-top: 4px; color: rgb(59, 133, 96); font-weight: 700; font-size: 17px;}
.nk-s118.nk-s118.nk-s118{display: flex; flex-direction: column; text-decoration: none; color: rgb(31, 42, 36); border-radius: clamp(16px, 2vw, 26px); overflow: hidden; background: rgb(244, 248, 251); border: 1px solid rgb(214, 228, 238);}
.nk-s119.nk-s119.nk-s119{position: absolute; left: 20px; top: 20px; display: inline-flex; align-items: center; min-height: 38px; padding: 0px 18px; border-radius: 999px; background: linear-gradient(102deg, rgb(0, 69, 165) 0%, rgb(0, 155, 255) 100%); color: rgb(255, 255, 255); font-size: 14px; font-weight: 700; letter-spacing: 0.06em; pointer-events: none;}
.nk-s120.nk-s120.nk-s120{display: inline-flex; align-items: center; gap: 10px; min-height: 52px; margin-top: 4px; color: rgb(47, 109, 149); font-weight: 700; font-size: 17px;}
.nk-s121.nk-s121.nk-s121{position: relative; padding: clamp(64px, 9vw, 120px) clamp(20px, 4vw, 64px); background: rgb(255, 255, 255);}
.nk-s122.nk-s122.nk-s122{position: absolute; left: 0px; right: 0px; bottom: calc(100% - 1px); height: clamp(36px, 5vw, 80px); line-height: 0; overflow: hidden; pointer-events: none;}
.nk-s123.nk-s123.nk-s123{display: block; width: 200%; height: 100%; animation: 22s linear 0s infinite normal none running nk-wave-l;}
.nk-s124.nk-s124.nk-s124{position: absolute; left: 0px; right: 0px; bottom: 0px; height: min(48%, 520px); overflow: hidden; pointer-events: none; line-height: 0;}
.nk-s125.nk-s125.nk-s125{display: block; width: 200%; height: 100%;}
.nk-s126.nk-s126.nk-s126{animation: 26s linear 0s infinite normal none running nk-wave-l;}
.nk-s127.nk-s127.nk-s127{animation: 19s linear 0s infinite normal none running nk-wave-r;}
.nk-s128.nk-s128.nk-s128{position: relative; max-width: 1500px; margin: 0px auto; align-items: start; gap: clamp(28px, 4vw, 60px);}
.nk-s129.nk-s129.nk-s129{margin: 0px 0px clamp(24px, 3vw, 36px); font-size: clamp(25px, 3.6vw, 44px); line-height: 1.55; font-weight: 700; color: rgb(59, 133, 96);}
.nk-s130.nk-s130.nk-s130{margin: 0px 0px clamp(24px, 3vw, 34px); font-size: clamp(16px, 1.35vw, 19px);}
.nk-s131.nk-s131.nk-s131{list-style: none; margin: 0px; padding: 0px; display: flex; flex-direction: column; align-items: stretch; gap: 0px;}
.nk-s132.nk-s132.nk-s132{background: rgb(62, 134, 181); border-radius: 16px; padding: clamp(16px, 1.8vw, 22px) clamp(20px, 2.2vw, 26px); display: flex; align-items: center; gap: clamp(14px, 2vw, 24px);}
.nk-s133.nk-s133.nk-s133{flex: 0 0 auto; font-family: 'Cormorant Garamond', serif; font-size: 15px; letter-spacing: 0.22em; color: rgb(214, 233, 245);}
.nk-s134.nk-s134.nk-s134{font-family: 'Zen Kaku Gothic New', sans-serif; font-size: clamp(17px, 1.5vw, 20px); font-weight: 700; color: rgb(255, 255, 255); line-height: 1.55;}
.nk-s135.nk-s135.nk-s135{display: flex; justify-content: center; align-items: center; color: rgb(78, 158, 119); font-size: 20px; line-height: 1; padding: 8px 0px;}
.nk-s136.nk-s136.nk-s136{background: rgb(255, 255, 255); border-radius: clamp(16px, 3vw, 32px); margin-top: clamp(-320px, -17vw, -56px); padding: clamp(32px, 5vw, 72px); position: relative; align-items: center; gap: clamp(28px, 4vw, 60px);}
.nk-s137.nk-s137.nk-s137{margin: 0px 0px clamp(24px, 3vw, 36px); font-size: clamp(24px, 3.4vw, 42px); line-height: 1.6; font-weight: 700; color: rgb(59, 133, 96);}
.nk-s138.nk-s138.nk-s138{margin: 0px 0px clamp(26px, 3vw, 38px); font-size: clamp(16px, 1.35vw, 19px);}
.nk-s139.nk-s139.nk-s139{position: relative; padding: clamp(56px, 7vw, 96px) clamp(20px, 4vw, 64px) clamp(64px, 9vw, 110px); background: rgb(246, 251, 248); overflow: hidden;}
.nk-s140.nk-s140.nk-s140{position: relative; max-width: 1240px; margin: 0px auto; border-radius: clamp(18px, 3vw, 32px); overflow: hidden; background: rgb(255, 255, 255);}
.nk-s141.nk-s141.nk-s141{position: relative; padding: clamp(36px, 6vw, 80px) clamp(24px, 5vw, 72px); text-align: center;}
.nk-s142.nk-s142.nk-s142{margin: 0px 0px clamp(20px, 3vw, 28px); font-size: clamp(23px, 3.4vw, 42px); line-height: 1.55; font-weight: 700; color: rgb(59, 133, 96);}
.nk-s143.nk-s143.nk-s143{margin: 0px auto 12px; max-width: 52em; font-size: clamp(16px, 1.35vw, 19px); text-align: center;}
.nk-s144.nk-s144.nk-s144{margin: 0px auto clamp(18px, 2.4vw, 26px); max-width: 52em; font-size: clamp(16px, 1.35vw, 19px); text-align: center;}
.nk-s145.nk-s145.nk-s145{display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; align-items: stretch;}
.nk-s146.nk-s146.nk-s146{display: inline-flex; align-items: center; justify-content: center; min-height: 62px; min-width: min(100%, clamp(260px, 26vw, 340px)); padding: 0px clamp(28px, 3vw, 44px); border-radius: 999px; background: linear-gradient(102deg, rgb(0, 130, 0) 0%, rgb(119, 198, 0) 100%); color: rgb(255, 255, 255); font-weight: 700; font-size: clamp(16px, 1.6vw, 19px); text-decoration: none;}
.nk-s147.nk-s147.nk-s147{display: inline-flex; align-items: center; justify-content: center; min-height: 62px; min-width: min(100%, clamp(260px, 26vw, 340px)); padding: 0px clamp(28px, 3vw, 44px); border-radius: 999px; background: linear-gradient(102deg, rgb(0, 69, 165) 0%, rgb(0, 155, 255) 100%); color: rgb(255, 255, 255); font-weight: 700; font-size: clamp(17px, 1.7vw, 21px); text-decoration: none; letter-spacing: 0.02em;}
.nk-s148.nk-s148.nk-s148{display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 62px; min-width: min(100%, clamp(260px, 26vw, 340px)); padding: 0px clamp(28px, 3vw, 44px); border-radius: 999px; background: linear-gradient(102deg, rgb(0, 130, 0) 0%, rgb(119, 198, 0) 100%); color: rgb(255, 255, 255); font-weight: 700; font-size: clamp(16px, 1.6vw, 19px); text-decoration: none;}
.nk-s149.nk-s149.nk-s149{position: relative; width: 100%; min-height: clamp(260px, 34vw, 420px); display: flex; align-items: flex-end; overflow: hidden; border-radius: 24px; background: rgb(234, 244, 238);}
.nk-s150.nk-s150.nk-s150{position: relative; width: 100%; max-width: 1500px; margin: 0px auto; padding: clamp(60px, 10vw, 120px) clamp(20px, 4vw, 64px) clamp(28px, 4vw, 48px);}
.nk-s151.nk-s151.nk-s151{padding: clamp(56px, 8vw, 110px) clamp(20px, 4vw, 64px);}
.nk-s152.nk-s152.nk-s152{max-width: 1500px; margin: 0px auto; gap: clamp(28px, 4vw, 64px); align-items: center;}
.nk-s153.nk-s153.nk-s153{margin: 0px 0px 12px; font-size: 13px; letter-spacing: 0.16em; color: rgb(78, 158, 119); font-weight: 700;}
.nk-s154.nk-s154.nk-s154{margin: 0px 0px clamp(18px, 2.4vw, 28px); font-size: clamp(22px, 2.8vw, 36px); font-weight: 900; color: rgb(59, 133, 96); line-height: 1.5;}
.nk-s155.nk-s155.nk-s155{padding: clamp(56px, 8vw, 110px) clamp(20px, 4vw, 64px); background: rgb(233, 245, 224);}
.nk-s156.nk-s156.nk-s156{margin: 0px 0px clamp(24px, 3vw, 40px); font-size: clamp(22px, 2.8vw, 36px); font-weight: 900; color: rgb(59, 133, 96); line-height: 1.5;}
.nk-s157.nk-s157.nk-s157{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: clamp(18px, 2.4vw, 28px); margin: 0px 0px clamp(24px, 3vw, 36px);}
.nk-s158.nk-s158.nk-s158{background: rgb(255, 255, 255); border-radius: clamp(14px, 2vw, 22px); overflow: hidden;}
.nk-s159.nk-s159.nk-s159{position: relative; width: 100%; aspect-ratio: 16 / 10;}
.nk-s160.nk-s160.nk-s160{padding: clamp(20px, 2.4vw, 28px);}
.nk-s161.nk-s161.nk-s161{margin: 0px 0px 12px; font-size: clamp(18px, 1.6vw, 22px); color: rgb(59, 133, 96); font-weight: 700;}
.nk-s162.nk-s162.nk-s162{margin: 0px; padding-left: 1.2em; font-size: 16px;}
.nk-s163.nk-s163.nk-s163{margin: 0px 0px clamp(28px, 3.4vw, 48px); font-size: clamp(22px, 2.8vw, 36px); font-weight: 900; color: rgb(59, 133, 96); line-height: 1.5;}
.nk-s164.nk-s164.nk-s164{gap: clamp(28px, 4vw, 64px); align-items: center; margin: 0px 0px clamp(36px, 4.6vw, 64px);}
.nk-s165.nk-s165.nk-s165{margin: 0px 0px 16px; font-size: clamp(19px, 1.8vw, 25px); color: rgb(78, 158, 119); font-weight: 700;}
.nk-s166.nk-s166.nk-s166{gap: clamp(28px, 4vw, 64px); align-items: center;}
.nk-s167.nk-s167.nk-s167{margin: 0px 0px clamp(20px, 2.4vw, 28px); font-size: clamp(16px, 1.35vw, 19px);}
.nk-s168.nk-s168.nk-s168{background: rgb(255, 255, 255); border-radius: clamp(14px, 2vw, 20px); padding: clamp(20px, 2.4vw, 30px);}
.nk-s169.nk-s169.nk-s169{margin: 0px 0px 10px; font-weight: 700; color: rgb(59, 133, 96);}
.nk-s170.nk-s170.nk-s170{background: rgb(246, 251, 248); border-radius: clamp(14px, 2vw, 20px); padding: clamp(20px, 2.4vw, 30px); margin: 0px 0px 14px;}
.nk-s171.nk-s171.nk-s171{margin: 0px; font-size: 14px; color: rgb(91, 102, 96);}
.nk-s172.nk-s172.nk-s172{max-width: 1100px; margin: 0px auto;}
.nk-s173.nk-s173.nk-s173{display: flex; flex-direction: column; gap: 12px;}
.nk-s174.nk-s174.nk-s174{display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 60px; padding: 0px clamp(20px, 2.4vw, 28px); border-radius: 14px; background: rgb(246, 251, 248); color: rgb(31, 42, 36); font-size: clamp(15px, 1.3vw, 18px);}
.nk-s175.nk-s175.nk-s175{color: rgb(59, 133, 96); font-weight: 700;}
.nk-s176.nk-s176.nk-s176{display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 60px; padding: 0px clamp(20px, 2.4vw, 28px); border-radius: 14px; background: rgb(244, 248, 251); color: rgb(31, 42, 36); font-size: clamp(15px, 1.3vw, 18px);}
.nk-s177.nk-s177.nk-s177{color: rgb(0, 69, 165); font-weight: 700;}
.nk-s178.nk-s178.nk-s178{position: relative; padding: clamp(32px, 5vw, 64px) clamp(20px, 4vw, 56px);}
.nk-s179.nk-s179.nk-s179{margin: 0px 0px clamp(14px, 1.8vw, 20px); font-size: clamp(22px, 2.8vw, 36px); font-weight: 700; color: rgb(59, 133, 96); text-align: center;}
.nk-s180.nk-s180.nk-s180{gap: clamp(28px, 4vw, 64px); align-items: center; margin: 0px 0px clamp(28px, 3.4vw, 44px);}
.nk-s181.nk-s181.nk-s181{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: clamp(16px, 2vw, 24px);}
.nk-s182.nk-s182.nk-s182{background: rgb(255, 255, 255); border-radius: clamp(14px, 2vw, 20px); padding: clamp(22px, 2.6vw, 32px);}
.nk-s183.nk-s183.nk-s183{margin: 0px 0px 10px; font-size: clamp(17px, 1.5vw, 21px); color: rgb(59, 133, 96); font-weight: 700;}
.nk-s184.nk-s184.nk-s184{margin: 0px; font-size: 16px;}
.nk-s185.nk-s185.nk-s185{background: rgb(246, 251, 248); border-radius: clamp(14px, 2vw, 20px); padding: clamp(20px, 2.4vw, 30px);}
.nk-s186.nk-s186.nk-s186{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: clamp(14px, 1.8vw, 22px);}
.nk-s187.nk-s187.nk-s187{background: rgb(255, 255, 255); border-radius: clamp(14px, 2vw, 20px); padding: clamp(22px, 2.6vw, 32px); text-align: center;}
.nk-s188.nk-s188.nk-s188{margin: 0px 0px 6px; font-family: 'Zen Kaku Gothic New', sans-serif; font-size: clamp(26px, 3vw, 38px); font-weight: 900; color: rgb(59, 133, 96); line-height: 1.2;}
.nk-s189.nk-s189.nk-s189{margin: 0px; font-size: 15px; color: rgb(91, 102, 96);}
.nk-s190.nk-s190.nk-s190{max-width: 1000px; margin: 0px auto; text-align: center;}
.nk-s191.nk-s191.nk-s191{max-width: 1200px; margin: 0px auto; display: flex; flex-direction: column; gap: clamp(20px, 2.6vw, 32px);}
.nk-s192.nk-s192.nk-s192{background: rgb(255, 255, 255); border-radius: clamp(16px, 2.2vw, 24px); padding: clamp(24px, 3vw, 40px);}
.nk-s193.nk-s193.nk-s193{display: flex; align-items: baseline; gap: 14px; margin: 0px 0px clamp(14px, 1.8vw, 20px);}
.nk-s194.nk-s194.nk-s194{font-family: 'Zen Kaku Gothic New', sans-serif; font-size: clamp(13px, 1.1vw, 15px); letter-spacing: 0.14em; color: rgb(119, 198, 0); font-weight: 700;}
.nk-s195.nk-s195.nk-s195{font-family: 'Zen Kaku Gothic New', sans-serif; font-size: clamp(34px, 4vw, 52px); line-height: 1; font-weight: 900; color: rgb(119, 198, 0);}
.nk-s196.nk-s196.nk-s196{margin: 0px; font-size: clamp(20px, 2.4vw, 30px); font-weight: 900; color: rgb(59, 133, 96); line-height: 1.4;}
.nk-s197.nk-s197.nk-s197{gap: clamp(20px, 3vw, 44px); align-items: start;}
.nk-s198.nk-s198.nk-s198{margin: 0px 0px 14px; font-size: clamp(16px, 1.35vw, 19px);}
.nk-s199.nk-s199.nk-s199{background: rgb(246, 251, 248); border-radius: clamp(12px, 1.6vw, 18px); padding: clamp(18px, 2.2vw, 26px);}
.nk-s200.nk-s200.nk-s200{margin: 0px; font-size: clamp(16px, 1.35vw, 19px); font-weight: 700; color: rgb(59, 133, 96);}
.nk-s201.nk-s201.nk-s201{margin: 0px; padding-left: 1.3em; font-size: 16px;}
.nk-s202.nk-s202.nk-s202{list-style: none; margin: 0px 0px clamp(24px, 3vw, 36px); padding: 0px; display: flex; flex-direction: column; gap: 12px;}
.nk-s203.nk-s203.nk-s203{background: rgb(255, 255, 255); border-radius: 14px; padding: clamp(16px, 2vw, 22px) clamp(18px, 2.2vw, 28px); font-size: clamp(16px, 1.35vw, 19px);}
.nk-s204.nk-s204.nk-s204{margin: 0px 0px 12px; font-size: clamp(16px, 1.35vw, 19px);}
.nk-s205.nk-s205.nk-s205{margin: 0px 0px clamp(24px, 3vw, 40px); font-size: clamp(16px, 1.35vw, 19px);}
.nk-s206.nk-s206.nk-s206{display: grid; gap: clamp(16px, 2.2vw, 26px);}
.nk-s207.nk-s207.nk-s207{background: rgb(255, 255, 255); border-radius: clamp(14px, 2vw, 20px); padding: clamp(22px, 2.6vw, 30px);}
.nk-s208.nk-s208.nk-s208{margin: 0px 0px 8px; font-size: clamp(17px, 1.5vw, 21px); color: rgb(59, 133, 96); font-weight: 700;}
.nk-s209.nk-s209.nk-s209{margin: 0px 0px clamp(24px, 3vw, 36px); font-size: clamp(16px, 1.35vw, 19px);}
.nk-s210.nk-s210.nk-s210{gap: clamp(20px, 2.6vw, 32px); align-items: stretch;}
.nk-s211.nk-s211.nk-s211{background: rgb(246, 251, 248); border-radius: clamp(14px, 2vw, 20px); padding: clamp(22px, 2.6vw, 32px);}
.nk-s212.nk-s212.nk-s212{background: rgb(233, 245, 224); border-radius: clamp(14px, 2vw, 20px); padding: clamp(22px, 2.6vw, 32px);}
.nk-s213.nk-s213.nk-s213{margin: 0px 0px 12px; font-size: 16px;}
.nk-s214.nk-s214.nk-s214{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: clamp(16px, 2.2vw, 26px);}
.nk-s215.nk-s215.nk-s215{margin: 0px 0px 8px; font-size: clamp(18px, 1.6vw, 22px); color: rgb(59, 133, 96); font-weight: 700;}
.nk-s216.nk-s216.nk-s216{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: clamp(18px, 2.4vw, 28px);}
.nk-s217.nk-s217.nk-s217{background: rgb(255, 255, 255); border-radius: clamp(14px, 2vw, 22px); overflow: hidden; display: flex; flex-direction: column;}
.nk-s218.nk-s218.nk-s218{position: relative; width: 100%; aspect-ratio: 16 / 9;}
.nk-s219.nk-s219.nk-s219{padding: clamp(22px, 2.6vw, 32px); display: flex; flex-direction: column; gap: 16px; flex: 1 1 0%;}
.nk-s220.nk-s220.nk-s220{margin: 0px; font-size: clamp(19px, 1.8vw, 24px); color: rgb(59, 133, 96); font-weight: 700;}
.nk-s221.nk-s221.nk-s221{margin: 0px; font-size: 16px; flex: 1 1 0%;}
.nk-s222.nk-s222.nk-s222{display: inline-flex; align-items: center; justify-content: center; min-height: 56px; padding: 0px clamp(20px, 2.4vw, 28px); border-radius: 999px; background: linear-gradient(102deg, rgb(0, 130, 0) 0%, rgb(119, 198, 0) 100%); color: rgb(255, 255, 255); font-weight: 700; font-size: clamp(15px, 1.4vw, 17px); text-decoration: none;}
.nk-s223.nk-s223.nk-s223{margin: 0px; font-size: clamp(19px, 1.8vw, 24px); color: rgb(0, 69, 165); font-weight: 700;}
.nk-s224.nk-s224.nk-s224{display: inline-flex; align-items: center; justify-content: center; min-height: 56px; padding: 0px clamp(20px, 2.4vw, 28px); border-radius: 999px; background: linear-gradient(102deg, rgb(0, 69, 165) 0%, rgb(0, 155, 255) 100%); color: rgb(255, 255, 255); font-weight: 700; font-size: clamp(15px, 1.4vw, 17px); text-decoration: none;}
.nk-s225.nk-s225.nk-s225{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr)); gap: clamp(16px, 2.2vw, 26px);}
.nk-s226.nk-s226.nk-s226{background: rgb(246, 251, 248); border-radius: clamp(14px, 2vw, 22px); padding: clamp(22px, 2.6vw, 32px);}
.nk-s227.nk-s227.nk-s227{margin: 0px 0px 10px; font-size: clamp(18px, 1.6vw, 22px); color: rgb(59, 133, 96); font-weight: 700;}
.nk-s228.nk-s228.nk-s228{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: clamp(16px, 2.2vw, 26px);}
.nk-s229.nk-s229.nk-s229{background: rgb(234, 241, 248); padding: 0px clamp(12px, 3vw, 50px) clamp(24px, 4vw, 50px);}
.nk-s230.nk-s230.nk-s230{position: relative; width: 100%; min-height: clamp(260px, 34vw, 420px); display: flex; align-items: flex-end; overflow: hidden; border-radius: 24px; background: rgb(228, 239, 250);}
.nk-s231.nk-s231.nk-s231{position: absolute; inset: 0px; background: linear-gradient(rgba(14, 28, 48, 0.12) 0%, rgba(14, 28, 48, 0.58) 100%);}
.nk-s232.nk-s232.nk-s232{color: rgb(0, 69, 165);}
.nk-s233.nk-s233.nk-s233{margin: 0px 0px 12px; font-size: 13px; letter-spacing: 0.16em; color: rgb(62, 134, 181); font-weight: 700;}
.nk-s234.nk-s234.nk-s234{margin: 0px 0px clamp(18px, 2.4vw, 28px); font-size: clamp(22px, 2.8vw, 36px); font-weight: 900; color: rgb(0, 69, 165); line-height: 1.5;}
.nk-s235.nk-s235.nk-s235{padding: clamp(56px, 8vw, 110px) clamp(20px, 4vw, 64px); background: rgb(234, 241, 248);}
.nk-s236.nk-s236.nk-s236{margin: 0px 0px clamp(24px, 3vw, 40px); font-size: clamp(22px, 2.8vw, 36px); font-weight: 900; color: rgb(0, 69, 165); line-height: 1.5;}
.nk-s237.nk-s237.nk-s237{background: rgb(255, 255, 255); border-radius: clamp(14px, 2vw, 22px); padding: clamp(22px, 2.6vw, 32px);}
.nk-s238.nk-s238.nk-s238{margin: 0px 0px 10px; font-size: clamp(18px, 1.6vw, 22px); color: rgb(0, 69, 165); font-weight: 700;}
.nk-s239.nk-s239.nk-s239{background: rgb(244, 248, 251); border-radius: clamp(14px, 2vw, 20px); padding: clamp(20px, 2.4vw, 30px);}
.nk-s240.nk-s240.nk-s240{margin: 0px 0px 10px; font-weight: 700; color: rgb(0, 69, 165);}
.nk-s241.nk-s241.nk-s241{list-style: none; margin: 0px; padding: 0px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: 0px clamp(16px, 2vw, 28px);}
.nk-s242.nk-s242.nk-s242{display: flex; align-items: flex-start; gap: 8px; padding: 7px 0px; border-bottom: 1px solid rgba(0, 69, 165, 0.1); font-size: 16px; line-height: 1.6;}
.nk-s243.nk-s243.nk-s243{flex: 0 0 auto; width: 6px; height: 6px; margin-top: 9px; border-radius: 50%; background: rgb(62, 134, 181);}
.nk-s244.nk-s244.nk-s244{position: relative; padding: clamp(56px, 7vw, 96px) clamp(20px, 4vw, 64px) clamp(64px, 9vw, 110px); background: rgb(244, 248, 251); overflow: hidden;}
.nk-s245.nk-s245.nk-s245{margin: 0px 0px clamp(14px, 1.8vw, 20px); font-size: clamp(22px, 2.8vw, 36px); font-weight: 700; color: rgb(0, 69, 165); text-align: center;}
.nk-s246.nk-s246.nk-s246{display: inline-flex; align-items: center; justify-content: center; min-height: 62px; min-width: min(100%, clamp(260px, 26vw, 340px)); padding: 0px clamp(28px, 3vw, 44px); border-radius: 999px; background: linear-gradient(102deg, rgb(0, 69, 165) 0%, rgb(0, 155, 255) 100%); color: rgb(255, 255, 255); font-weight: 700; font-size: clamp(16px, 1.6vw, 19px); text-decoration: none;}
.nk-s247.nk-s247.nk-s247{display: inline-flex; align-items: center; justify-content: center; min-height: 62px; min-width: min(100%, clamp(260px, 26vw, 340px)); padding: 0px clamp(28px, 3vw, 44px); border-radius: 999px; background: linear-gradient(102deg, rgb(0, 130, 0) 0%, rgb(119, 198, 0) 100%); color: rgb(255, 255, 255); font-weight: 700; font-size: clamp(17px, 1.7vw, 21px); text-decoration: none; letter-spacing: 0.02em;}
.nk-s248.nk-s248.nk-s248{margin: 0px 0px clamp(18px, 2.2vw, 26px); font-size: clamp(16px, 1.35vw, 19px);}
.nk-s249.nk-s249.nk-s249{position: relative; padding: clamp(64px, 9vw, 120px) clamp(20px, 4vw, 64px); background: rgb(59, 133, 96); overflow: hidden;}
.nk-s250.nk-s250.nk-s250{position: absolute; inset: 0px; opacity: 0.28;}
.nk-s251.nk-s251.nk-s251{display:block;width:100%;height:100%;object-fit:cover;background:#DCE7E0;}
.nk-s252.nk-s252.nk-s252{position: relative; max-width: 960px; margin: 0px auto; text-align: center;}
.nk-s253.nk-s253.nk-s253{margin: 0px 0px 12px; font-size: 13px; letter-spacing: 0.16em; color: rgba(255, 255, 255, 0.85); font-weight: 700;}
.nk-s254.nk-s254.nk-s254{margin: 0px 0px clamp(22px, 3vw, 36px); font-size: clamp(24px, 3.4vw, 44px); font-weight: 900; color: rgb(255, 255, 255); line-height: 1.5;}
.nk-s255.nk-s255.nk-s255{margin: 0px 0px 6px; font-weight: 700; font-size: 15px; letter-spacing: 0.04em; color: rgb(59, 133, 96);}
.nk-s256.nk-s256.nk-s256{display: flex; align-items: flex-start; gap: 8px; padding: 7px 0px; border-bottom: 1px solid rgba(59, 133, 96, 0.14); font-size: 16px; line-height: 1.6;}
.nk-s257.nk-s257.nk-s257{flex: 0 0 auto; width: 6px; height: 6px; margin-top: 9px; border-radius: 50%; background: rgb(78, 158, 119);}
.nk-s258.nk-s258.nk-s258{margin: 0px 0px 16px; font-size: clamp(20px, 2.2vw, 28px); font-weight: 900; color: rgb(59, 133, 96); font-family: 'Zen Kaku Gothic New', sans-serif;}
.nk-s259.nk-s259.nk-s259{display: inline-flex; align-items: center; justify-content: center; min-height: 56px; padding: 0px clamp(24px, 3vw, 40px); border-radius: 999px; border: 2px solid rgb(59, 133, 96); color: rgb(59, 133, 96); font-weight: 700; font-size: clamp(15px, 1.4vw, 17px); text-decoration: none;}
.nk-s260.nk-s260.nk-s260{max-width: 1000px; margin: 0px auto;}
.nk-s261.nk-s261.nk-s261{border-top: 2px solid rgb(59, 133, 96);}
.nk-s262.nk-s262.nk-s262{margin: 0px; font-weight: 700; color: rgb(59, 133, 96);}
.nk-s263.nk-s263.nk-s263{margin: 0px;}
.nk-s264.nk-s264.nk-s264{padding: clamp(48px, 7vw, 90px) clamp(20px, 4vw, 64px) clamp(24px, 3vw, 40px);}
.nk-s265.nk-s265.nk-s265{padding: clamp(24px, 3vw, 40px) clamp(20px, 4vw, 64px) clamp(56px, 8vw, 110px);}
.nk-s266.nk-s266.nk-s266{max-width: 1000px; margin: 0px auto; display: flex; flex-direction: column; gap: clamp(32px, 4vw, 56px);}
.nk-s267.nk-s267.nk-s267{margin: 0px 0px clamp(14px, 2vw, 22px); font-size: clamp(19px, 2vw, 26px); font-weight: 900; color: rgb(59, 133, 96); padding-bottom: 12px; border-bottom: 2px solid rgb(233, 245, 224);}
.nk-s268.nk-s268.nk-s268{background: rgb(246, 251, 248); border-radius: 14px; overflow: hidden;}
.nk-s269.nk-s269.nk-s269{display: flex; align-items: center; gap: 14px; min-height: 60px; padding: 14px clamp(18px, 2.2vw, 26px); font-weight: 700; font-size: clamp(16px, 1.4vw, 19px); color: rgb(31, 42, 36);}
.nk-s270.nk-s270.nk-s270{flex: 0 0 auto; font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 900; color: rgb(119, 198, 0); font-size: 20px;}
.nk-s271.nk-s271.nk-s271{flex: 1 1 0%;}
.nk-s272.nk-s272.nk-s272{flex: 0 0 auto; width: 24px; height: 24px; position: relative; transition: transform 0.2s; color: rgb(59, 133, 96); font-size: 22px; line-height: 24px; text-align: center;}
.nk-s273.nk-s273.nk-s273{padding: 0px clamp(18px, 2.2vw, 26px) clamp(18px, 2.2vw, 26px) clamp(44px, 4vw, 58px);}
.nk-s274.nk-s274.nk-s274{margin: 0px 0px 10px; font-size: 16px;}
.nk-s275.nk-s275.nk-s275{background: rgb(233, 245, 224); padding: clamp(28px, 5vw, 56px) clamp(12px, 3vw, 50px) clamp(24px, 4vw, 40px);}
.nk-s276.nk-s276.nk-s276{max-width: 1000px; margin: 0px auto; padding: 0px clamp(8px, 2vw, 16px);}
.nk-s277.nk-s277.nk-s277{margin: 0px 0px 8px; font-size: 13px; letter-spacing: 0.16em; color: rgb(78, 158, 119); font-weight: 700;}
.nk-s278.nk-s278.nk-s278{margin: 0px; font-size: clamp(24px, 3.4vw, 40px); font-weight: 900; color: rgb(59, 133, 96); line-height: 1.4;}
.nk-s279.nk-s279.nk-s279{padding: 14px 0px 0px; font-size: 13px; color: rgb(91, 102, 96);}
.nk-s280.nk-s280.nk-s280{padding: clamp(48px, 7vw, 96px) clamp(20px, 4vw, 64px) clamp(64px, 9vw, 110px);}
.nk-s281.nk-s281.nk-s281{max-width: 900px; margin: 0px auto;}
.nk-s282.nk-s282.nk-s282{margin: 0px 0px clamp(32px, 4vw, 48px); font-size: clamp(16px, 1.35vw, 19px);}
.nk-s283.nk-s283.nk-s283{display: flex; flex-direction: column; gap: clamp(28px, 3.4vw, 44px);}
.nk-s284.nk-s284.nk-s284{margin: 0px 0px 12px; font-size: clamp(19px, 1.8vw, 24px); font-weight: 700; color: rgb(59, 133, 96); padding-bottom: 10px; border-bottom: 2px solid rgb(233, 245, 224);}
.nk-s285.nk-s285.nk-s285{margin: 0px; font-size: clamp(16px, 1.35vw, 18px);}
.nk-s286.nk-s286.nk-s286{margin: 0px 0px 12px; font-size: clamp(16px, 1.35vw, 18px);}
.nk-s287.nk-s287.nk-s287{margin: 0px; padding-left: 1.2em; font-size: clamp(16px, 1.35vw, 18px);}
.nk-s288.nk-s288.nk-s288{background: rgb(246, 251, 248); border-radius: clamp(14px, 2vw, 20px); padding: clamp(20px, 2.4vw, 30px); font-size: clamp(16px, 1.35vw, 18px);}
.nk-s289.nk-s289.nk-s289{margin: 0px 0px 6px; font-weight: 700; color: rgb(59, 133, 96);}
.nk-s290.nk-s290.nk-s290{margin: 0px 0px 4px;}


/* ===== override.css ===== */
/* 受領 add.css（動的パーツ用）。.contact_section ラッパは実機に無いため parts213 実DOMへ詰め替え済み */
/* === add.css 貼り付け ここから === */

/* ---------------------------------------------------------------
   NISHIYAMAKAITAI  トップページ 動的セクション用 上書きCSS
   1) 新着情報（NEWS帯）        [class*="design-parts-52"]
   2) 記事カード（BLOG 3列）    [class*="parts131415_blog"]
   固有IDサフィックスに依存しないセレクタで指定
   --------------------------------------------------------------- */

/* =============================================================
   1) 新着情報（NEWS帯）  design-parts-52 系
   ============================================================= */

[class*="design-parts-52"] {
  background: #e9f5e0 !important;
  padding: 0 0 50px !important;
  border: none !important;
}
[class*="design-parts-52"].bg-color,
[class*="design-parts-52"] .bg-color {
  background: #e9f5e0 !important;
}
[class*="design-parts-52"] .container {
  width: 100% !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 0 clamp(20px, 4vw, 48px) !important;
}
[class*="design-parts-52"] .content {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 8px 24px !important;
  background: #FFFFFF !important;
  border-radius: 14px !important;
  padding: 14px 20px !important;
}
[class*="design-parts-52"] h4.banner-area {
  margin: 0 !important;
  flex: 0 0 auto !important;
  background: #4E9E77 !important;
  color: #FFFFFF !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  line-height: 1 !important;
  padding: 10px 18px !important;
  border-radius: 999px !important;
  white-space: nowrap !important;
}
[class*="design-parts-52"] ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 1 1 auto !important;
  width: 100% !important;
}
[class*="design-parts-52"] li { margin: 0 !important; }
[class*="design-parts-52"] li a {
  display: block !important;
  min-height: 44px !important;
  padding: 6px 0 !important;
  color: #1F2A24 !important;
  text-decoration: none !important;
}
[class*="design-parts-52"] li a:hover .parts-52-textarea span.d-inline-block {
  color: #3B8560 !important;
  text-decoration: underline !important;
}
[class*="design-parts-52"] li a:focus-visible {
  outline: 3px solid #3E86B5 !important;
  outline-offset: 2px !important;
}
[class*="design-parts-52"] .parts-52-textarea {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 2px 18px !important;
  min-height: 44px !important;
  justify-content: center !important;
}
[class*="design-parts-52"] .parts-52-textarea span.date {
  flex: 0 0 auto !important;
  color: #5B6660 !important;
  font-size: 15px !important;
  letter-spacing: .04em !important;
  font-variant-numeric: tabular-nums !important;
}
[class*="design-parts-52"] .parts-52-textarea span.d-inline-block {
  font-size: 17px !important;
  line-height: 1.6 !important;
  font-weight: 500 !important;
}

@media (min-width: 992px) {
  [class*="design-parts-52"] .content {
    flex-direction: row !important;
    align-items: center !important;
    padding: 12px 28px !important;
  }
  [class*="design-parts-52"] li a {
    min-height: 60px !important;
    display: flex !important;
    align-items: center !important;
  }
  [class*="design-parts-52"] .parts-52-textarea {
    flex-direction: row !important;
    align-items: center !important;
    min-height: 60px !important;
  }
}

/* =============================================================
   2) 記事カード（BLOG／3列カードグリッド）  parts131415_blog 系
   ============================================================= */

[class*="parts131415_blog"] {
  background: #e9f5e0 !important;
  background-image: none !important;
  padding: clamp(56px, 8vw, 96px) 0 !important;
}
[class*="parts131415_blog"].bg-img,
[class*="parts131415_blog"] .bg-img {
  background-image: none !important;
}
[class*="parts131415_blog"] .container-lg {
  width: 100% !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 0 clamp(20px, 4vw, 48px) !important;
}
[class*="parts131415_blog"] .parts131415_blog_title_wrap {
  margin: 0 0 clamp(24px, 3vw, 36px) !important;
  padding: 0 !important;
  text-align: center !important;
}
[class*="parts131415_blog"] .parts131415_blog_title_wrap h2 {
  color: #3B8560 !important;
  font-size: clamp(26px, 4vw, 38px) !important;
  letter-spacing: .14em !important;
  font-weight: 700 !important;
  margin: 0 0 6px !important;
  border: none !important;
  padding: 0 !important;
}
[class*="parts131415_blog"] .parts131415_blog_title_wrap p {
  color: #5B6660 !important;
  font-size: 16px !important;
  margin: 0 !important;
}

[class*="parts131415_blog"] .card {
  background: #FFFFFF !important;
  border: 1px solid #DCE7E0 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  height: 100% !important;
  transition: border-color .25s ease, transform .25s ease !important;
}
[class*="parts131415_blog"] .card:hover {
  transform: translateY(-3px) !important;
  border-color: #4E9E77 !important;
}
[class*="parts131415_blog"] .card-body {
  padding: 20px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}
[class*="parts131415_blog"] h5.card-title {
  order: 1 !important;
  margin: 0 !important;
  align-self: flex-start !important;
  background: #EAF4EE !important;
  color: #3B8560 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  line-height: 1 !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  text-align: left !important;
}
[class*="parts131415_blog"] .card-body > a {
  order: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  text-decoration: none !important;
  color: #1F2A24 !important;
  min-height: 44px !important;
}
[class*="parts131415_blog"] .card-body > a:hover p.card-text {
  color: #3B8560 !important;
  text-decoration: underline !important;
}
[class*="parts131415_blog"] .card-body > a:focus-visible {
  outline: 3px solid #3E86B5 !important;
  outline-offset: 3px !important;
}
[class*="parts131415_blog"] p.card-text {
  margin: 0 !important;
  font-size: 18px !important;
  line-height: 1.65 !important;
  font-weight: 700 !important;
  color: #1F2A24 !important;
  text-wrap: pretty !important;
}
[class*="parts131415_blog"] .parts131415_blog_thumbnail {
  width: 100% !important;
  height: 205px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 10px !important;
  background: #EAF4EE !important;
}
[class*="parts131415_blog"] .parts131415_blog_thumbnail img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

@media (min-width: 576px) {
  [class*="parts131415_blog"] .parts131415_blog_thumbnail { height: 215px !important; }
}
@media (min-width: 992px) {
  [class*="parts131415_blog"] .parts131415_blog_thumbnail { height: 240px !important; }
}

/* Bootstrapグリッドの最低保証（theme側が無い場合のフォールバック） */
[class*="parts131415_blog"] .row {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 24px !important;
  margin: 0 !important;
}
@media (min-width: 576px) {
  [class*="parts131415_blog"] .row { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (min-width: 992px) {
  [class*="parts131415_blog"] .row { grid-template-columns: repeat(3, 1fr) !important; }
}
[class*="parts131415_blog"] .col { width: auto !important; padding: 0 !important; }

@media (prefers-reduced-motion: reduce) {
  [class*="parts131415_blog"] .card { transition: none !important; }
  [class*="parts131415_blog"] .card:hover { transform: none !important; }
}
/* =============================================================
   3) ブログ一覧＋サイドバー  parts222 系（/blog）
   ============================================================= */

.parts222_section {
  background: #FFFFFF !important;
  padding: clamp(48px, 7vw, 96px) clamp(20px, 4vw, 64px) clamp(64px, 9vw, 110px) !important;
}
.parts222_section > h2 {
  max-width: 1320px !important;
  margin: 0 auto clamp(24px, 3vw, 40px) !important;
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif !important;
  font-size: clamp(24px, 3vw, 36px) !important;
  font-weight: 900 !important;
  letter-spacing: .14em !important;
  color: #3B8560 !important;
  border: none !important;
  padding: 0 !important;
}
.parts222_wrap {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: clamp(40px, 5vw, 64px) !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
}
@media (min-width: 992px) {
  .parts222_wrap { grid-template-columns: minmax(0, 1fr) 300px !important; gap: clamp(32px, 4vw, 56px) !important; }
}
.parts222_main { min-width: 0 !important; }
.parts222_post_list {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: clamp(20px, 2.6vw, 32px) !important;
  margin: 0 0 clamp(36px, 4.4vw, 56px) !important;
  padding: 0 !important;
  list-style: none !important;
}
@media (min-width: 576px) {
  .parts222_post_list { grid-template-columns: repeat(2, 1fr) !important; }
}
.parts222_post_wrap {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  background: #FFFFFF !important;
  border: 1px solid #DCE7E0 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  padding: 0 0 20px !important;
  color: #1F2A24 !important;
  text-decoration: none !important;
  transition: border-color .25s ease, transform .25s ease !important;
}
.parts222_post_wrap:hover { border-color: #4E9E77 !important; transform: translateY(-3px) !important; text-decoration: none !important; }
.parts222_post_wrap:focus-visible { outline: 3px solid #3E86B5 !important; outline-offset: 3px !important; }
.parts222_post_img {
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  height: auto !important;
  overflow: hidden !important;
  background: #EAF4EE !important;
}
.parts222_post_img img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
.parts222_post_status {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px 14px !important;
  margin: 0 !important;
  padding: 0 20px !important;
}
.parts222_post_date {
  margin: 0 !important;
  font-size: 15px !important;
  color: #5B6660 !important;
  letter-spacing: .04em !important;
  font-variant-numeric: tabular-nums !important;
}
.parts222_post_category {
  margin: 0 !important;
  background: #EAF4EE !important;
  color: #3B8560 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
}
.parts222_post_title-excerpt { padding: 0 20px !important; }
.parts222_post_title {
  margin: 0 !important;
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif !important;
  font-size: 18px !important;
  line-height: 1.65 !important;
  font-weight: 700 !important;
  color: #1F2A24 !important;
  text-wrap: pretty !important;
}
.parts222_post_wrap:hover .parts222_post_title { color: #3B8560 !important; }
.parts222_post_excerpt { display: none !important; }

.parts222_pagenation {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.parts222_pagenation a,
.parts222_pagenation .page-item {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 44px !important;
  min-height: 44px !important;
  padding: 0 14px !important;
  border: 1px solid #DCE7E0 !important;
  border-radius: 8px !important;
  color: #3B8560 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  background: #FFFFFF !important;
}
.parts222_pagenation a:hover,
.parts222_pagenation .page-item:hover { background: #F6FBF8 !important; border-color: #4E9E77 !important; text-decoration: none !important; }
.parts222_pagenation .pagination_num.current {
  background: #3B8560 !important;
  border-color: #3B8560 !important;
  color: #FFFFFF !important;
}
.parts222_pagenation a:focus-visible { outline: 3px solid #3E86B5 !important; outline-offset: 2px !important; }

.parts222_sidebar { min-width: 0 !important; display: flex !important; flex-direction: column !important; gap: clamp(24px, 3vw, 36px) !important; }
.parts222_sidebar_wrap { margin: 0 !important; }
.parts222_sidebar_wrap > h3 {
  margin: 0 0 4px !important;
  padding: 12px 16px !important;
  background: #e9f5e0 !important;
  color: #3B8560 !important;
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  border: none !important;
  border-radius: 8px !important;
}
.parts222_sidebar_wrap ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.parts222_sidebar_wrap li { margin: 0 !important; border-bottom: 1px solid #DCE7E0 !important; }
.parts222_sidebar_wrap li a {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  min-height: 44px !important;
  justify-content: center !important;
  padding: 12px 8px !important;
  color: #1F2A24 !important;
  text-decoration: none !important;
}
.parts222_sidebar_wrap li a:hover { background: #F6FBF8 !important; color: #3B8560 !important; text-decoration: none !important; }
.parts222_sidebar_wrap li a:focus-visible { outline: 3px solid #3E86B5 !important; outline-offset: -2px !important; }
.parts222_sidebar_date { font-size: 13px !important; color: #5B6660 !important; letter-spacing: .04em !important; font-variant-numeric: tabular-nums !important; }
.parts222_sidebar_post_title { margin: 0 !important; font-size: 15px !important; line-height: 1.6 !important; font-weight: 500 !important; }
.parts222_sidebar_wrap.category_post_count li a { flex-direction: row !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important; }
.parts222_sidebar_post_category { margin: 0 !important; font-size: 15px !important; font-weight: 500 !important; }
.parts222_sidebar_post_category_count {
  flex: 0 0 auto !important;
  min-width: 30px !important;
  padding: 2px 8px !important;
  border: 1px solid #DCE7E0 !important;
  border-radius: 6px !important;
  text-align: center !important;
  font-size: 13px !important;
  color: #5B6660 !important;
  font-variant-numeric: tabular-nums !important;
}

@media (prefers-reduced-motion: reduce) {
  .parts222_post_wrap { transition: none !important; }
  .parts222_post_wrap:hover { transform: none !important; }
}

/* =============================================================
   4) お問い合わせ  parts210（導入文）＋ parts213（フォーム）系
   ============================================================= */

.parts210_section_content {
  background: #FFFFFF !important;
  padding: clamp(48px, 7vw, 90px) clamp(20px, 4vw, 64px) clamp(24px, 3vw, 40px) !important;
}
.parts210_content_wrap { max-width: 860px !important; margin: 0 auto !important; }
.parts210_content h2 {
  margin: 0 0 clamp(14px, 2vw, 22px) !important;
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif !important;
  font-size: clamp(21px, 2.6vw, 32px) !important;
  font-weight: 900 !important;
  color: #3B8560 !important;
  line-height: 1.5 !important;
  border: none !important;
  padding: 0 !important;
}
.parts210_content p { margin: 0 0 12px !important; font-size: clamp(16px, 1.35vw, 19px) !important; line-height: 1.9 !important; }
.contact_tel_box {
  margin: clamp(20px, 2.6vw, 32px) 0 0 !important;
  padding: clamp(20px, 2.4vw, 28px) !important;
  background: #F6FBF8 !important;
  border-radius: 16px !important;
  text-align: center !important;
}
.contact_tel_label { margin: 0 0 6px !important; font-size: 14px !important; font-weight: 700 !important; color: #3B8560 !important; letter-spacing: .08em !important; }
.contact_tel_num {
  display: inline-block !important;
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif !important;
  font-size: clamp(28px, 3.6vw, 40px) !important;
  font-weight: 900 !important;
  color: #3B8560 !important;
  letter-spacing: .02em !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
  min-height: 44px !important;
}
.contact_tel_num:hover { color: #4E9E77 !important; text-decoration: underline !important; }
.contact_tel_note { margin: 4px 0 0 !important; font-size: 14px !important; color: #5B6660 !important; }

[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] {
  background: #FFFFFF !important;
  padding: clamp(24px, 3vw, 40px) clamp(20px, 4vw, 64px) clamp(64px, 9vw, 110px) !important;
  border: none !important;
  box-shadow: none !important;
}
[class*="parts213"][class*="_section_form"] { background: transparent !important; padding: 0 !important; border: none !important; box-shadow: none !important; }
[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] {
  max-width: 860px !important;
  margin: 0 auto !important;
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] dl {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
  margin: 0 0 clamp(20px, 2.4vw, 28px) !important;
  padding: 0 !important;
  border: none !important;
}
[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] dt {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #1F2A24 !important;
}
[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] dd { margin: 0 !important; }
[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] .required {
  flex: 0 0 auto !important;
  background: #C0392B !important;
  color: #FFFFFF !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  padding: 5px 9px !important;
  border-radius: 4px !important;
}
[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] .attention { display: block !important; font-size: 13px !important; font-weight: 400 !important; color: #C0392B !important; line-height: 1.7 !important; }
[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] .form_text_dt { align-items: flex-start !important; }
[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] input[type="text"],
[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] input[type="email"],
[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] input[type="tel"],
[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] textarea {
  width: 100% !important;
  min-height: 52px !important;
  padding: 12px 14px !important;
  font-family: inherit !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  color: #1F2A24 !important;
  background: #FFFFFF !important;
  border: 1px solid #B9C7BF !important;
  border-radius: 6px !important;
}
[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] textarea { min-height: 200px !important; resize: vertical !important; }
[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] input[type="text"]:focus,
[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] input[type="email"]:focus,
[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] textarea:focus { border-color: #3B8560 !important; }
[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] dd label {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 44px !important;
  font-size: 16px !important;
  cursor: pointer !important;
}
[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] dd input[type="checkbox"] { width: 20px !important; height: 20px !important; accent-color: #3B8560 !important; margin: 0 !important; }
[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] .error { margin: 6px 0 0 !important; font-size: 14px !important; color: #C0392B !important; }
[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] .contact_submit { margin: clamp(28px, 3.4vw, 44px) 0 0 !important; text-align: center !important; }
[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] .contact_submit input[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 56px !important;
  min-width: 260px !important;
  padding: 0 40px !important;
  font-family: inherit !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #3B8560 !important;
  background: #FFFFFF !important;
  border: 2px solid #3B8560 !important;
  border-radius: 999px !important;
  cursor: pointer !important;
}
[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] .contact_submit input[type="submit"]:hover { background: #F6FBF8 !important; }
[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] .contact_submit input[type="submit"]:focus-visible { outline: 3px solid #3E86B5 !important; outline-offset: 3px !important; }
/* === add.css 貼り付け ここまで === */

/* =============================================================
   5) 実機テーマ対策（教訓 cuezilla-parts213-form-css-loses-to-theme／O00480 実測）
      受領HTMLには無い実機固有の当たり負けを先回りで潰す。
      ============================================================= */

/* テーマ既定 dl{display:flex} で dt/dd が半幅化するのを解除（add.css の grid を確実に効かせる） */
[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] > dl{display:grid!important;grid-template-columns:1fr!important;}

/* 必須バッジ：テーマが margin をリセットしてラベルに密着する */
[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] dt .required{margin-left:12px!important;}
/* ≤1024px ではテーマが .required に width/height を固定して箱化する（PC幅では出ないので見落とす） */
@media (max-width:1024px){
  [class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] dt .required{width:auto!important;height:auto!important;padding:5px 9px!important;margin-left:12px!important;}
}

/* 送信ボタンを囲む div に地色が乗る場合の打ち消し（ボタン自身の色は維持） */
[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] .contact_submit{background:transparent!important;}
/* 送信完了画面は別採番（parts243-245）＝入力画面だけ直すと完了画面に地色が残る */
[class*="_complete_form"] .contact_submit{background:none!important;}

/* 入力欄は type を網羅（R-28：tel/number/url を漏らすと素のグレーのまま残る） */
[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] input[type="tel"],
[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] input[type="number"],
[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] input[type="url"]{
  width:100%!important;min-height:52px!important;padding:12px 14px!important;
  font-family:inherit!important;font-size:16px!important;line-height:1.7!important;
  color:#1F2A24!important;background:#FFFFFF!important;border:1px solid #B9C7BF!important;border-radius:6px!important;
}
[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] input[type="tel"]:focus,
[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] input[type="number"]:focus,
[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] input[type="url"]:focus{border-color:#3B8560!important;}

/* 一覧カード・サイドバーの既定 max-width:% で1/3幅に潰れるのを解除（R-28） */
[class*="parts222"][class*="_post_wrap"],
[class*="parts222"][class*="_sidebar"],
[class*="parts222"][class*="_post_category"]{max-width:none!important;}

/* ==========================================================================
   KEEP: ディレクター指摘対応（2026-08-06・実機実測にもとづく）
   ※必ずこのファイル末尾に置く。先行する同セレクタの !important に後勝ちさせるため。
   ========================================================================== */

/* ① TOP「NEWS帯」：白箱の天地を広げ、薄緑の帯の天地中央に置く
   ★真因（2026-08-06 実機のパーツCSSを採取して判明）:
      CueZillaのパーツ自動CSS（当社の追加CSSより後に読まれる）が帯の高さを固定していた。
        @media screen and (min-width:992px)                       -> .design-parts-52_XXX { height: 60px }
        @media screen and (min-width:521px) and (max-width:991px) -> .design-parts-52_XXX { height: 85px }
      `* { box-sizing: border-box }` のため、この固定高さの内側に上下paddingを入れると
      **中身の入る余地（content box）が潰れ、白箱が帯からはみ出す**。これが「天地が揃わない」の正体。
      （当初は「FV枠が下50pxを持ち帯は上0だから上寄り」と見ていたが、それだけでは説明できなかった。
        パーツ自動CSSを採取して初めて固定高さが見えた。）
   対処:
      ・帯の高さは中身で決まるようにする（height:auto で固定高さを打ち消す）
      ・上下の余白は padding で持たせる。ディレクター指定の「帯172px」に合わせて 20px
        （20 + 白箱132 + 20 = 172px）。固定高さにしないので記事タイトルが2行になっても崩れない
        ※高さを変えたいときは **この padding だけ**を触る（(希望の高さ − 132) ÷ 2）。
          パーツCSS側の height を直接書き換えると、タイトルが2行になった時に中身がはみ出す
      ・FV枠が内側に持っていた下50pxは帯側へ移す（上下の余白を帯が一元管理する）
      ・白箱の天地は 12px → 30px に広げる（狭幅は 22px） */
[data-hero-frame] { padding-bottom: 0 !important; }
/* 帯172px ＝ 上下padding56px ＋ 白箱60px */
[class*="design-parts-52"] { height: auto !important; padding: 56px 0 !important; }
@media (min-width: 992px) {
  /* 白箱60px ＝ padding8px×2 ＋ 中身44px。
     中身は受領CSSが li a に min-height:60px＋padding:6px 0（＝72px）を掛けているので、
     44pxに詰める（NEWSピルは34pxなので収まる）。 */
  [class*="design-parts-52"] .content { padding: 8px 28px !important; }
  [class*="design-parts-52"] li a { min-height: 44px !important; padding: 0 !important; }
  [class*="design-parts-52"] .parts-52-textarea { min-height: 44px !important; }
}
@media (max-width: 991.98px) {
  /* 狭幅はNEWSピルと本文が縦積みになるため、詰めすぎないよう受領寄りの値を残す */
  [class*="design-parts-52"] .content { padding: 16px 20px !important; }
}

/* ④-1 お問い合わせ「必須」バッジの位置
      実測: バッジが dt 内 left+295（dt幅345）＝右端に張り付いていた。
      真因: 当社CSSが dt に justify-content を指定しておらず、CueZillaテーマの
            justify-content:space-between が生き残ってラベルとバッジが両端に離れていた。
            さらに dt .required に margin-left:12px があり dt の gap:10px と二重。
      対処: justify-content を先頭寄せに固定し、余分な margin-left を打ち消して gap だけにする。 */
[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] dt {
  justify-content: flex-start !important;
}
[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] dt .required {
  margin-left: 0 !important;
}

/* ④-2 「必須」バッジ内の文字が天地センターに揃っていない
      実測: バッジ 50x30 / display:block / line-height:12px ＝行ボックスが上寄りで下に余白が残る
      対処: inline-flex で縦横センタリングし、高さは min-height で確保する。 */
[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] .required {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 24px !important;
  padding: 0 10px !important;
  line-height: 1 !important;
}

/* ④-3 「確認画面へ」ボタンの下に余白が無く窮屈
      実測: ボタン下端 2707px ＝ フッター上端 2707px（間隔 0px）
            .contact_submit の margin が 44px 0 0（下0）で、フォームsectionの padding も 0
      対処: ボタンの下に余白を追加（フッター直前なので他セクションの下端余白に合わせる）。 */
/* ④-4「確認画面へ」ボタンがコンテンツ幅の中央に来ていない（2026-08-06）
      実測: ボタン中心がコンテンツ中心より **200px 左**（器 .contact_submit が親860pxに対し460px・左寄せ）
      真因: **上の④-3 の修正が原因**。CueZillaテーマは
              .parts213_section_form .contact_submit { width:220px; display:block; margin:0 auto; }
            で中央寄せしていたのに、下余白を足すため `margin: 44px 0 80px` と**一括指定**したため
            `margin:0 auto` の auto（左右中央寄せ）を消してしまっていた。
      対処: 左右を auto に戻す（3値指定＝上／左右／下）。あわせて器の幅220pxの制約を解除し、
            ボタン自身は内容幅（min-width:260px）に戻す。 */
[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] .contact_submit {
  margin: clamp(28px, 3.4vw, 44px) auto clamp(48px, 6vw, 80px) !important;
  width: 100% !important;
  max-width: none !important;
  display: block !important;
  text-align: center !important;
}
[class*="parts213"][class*="_section_form"] [class*="parts213"][class*="_form_wrap"] .contact_submit input[type="submit"] {
  width: auto !important;
}
/* 確認・完了画面のボタンにも同じ下余白を効かせる（同じ .contact_submit を使う） */
[class*="_complete_form"] .contact_submit {
  margin-bottom: clamp(48px, 6vw, 80px) !important;
}
/* /KEEP */

/* ⑥ ブログ一覧サイドバー「カテゴリ」の左右に黒い縦罫線が出る（2026-08-06）
      実測: li に 左右1px rgb(102,102,102)=#666（上0・下1px）
      真因: CueZillaテーマが li に4辺の枠を持っており、当社CSSは **下辺だけ** #DCE7E0 に
            置き換えていたため、左右の #666 がそのまま残っていた。
            （教訓「テーマが既に枠を持つ要素に枠を重ねない・色だけ変える」の取りこぼし）
      対処: 左右（と上）を明示的に消す。下辺の薄緑罫線と、カウント枠の #DCE7E0 は意図した意匠なので残す。 */
.parts222_sidebar_wrap li,
[class*="parts222"][class*="_sidebar"] ul li {
  border-left: 0 !important;
  border-right: 0 !important;
  border-top: 0 !important;
}
/* /KEEP */

/* ② /guide SECTION08・/work の画像枠が「元画像の比率」で伸びて左右の高さが揃わない（2026-08-06）
      実測（/guide・枠幅589px）:
        左 split-personal 1400x788（1.78）→ 331px ／ 右 split-business 1400x1024（1.37）→ 433px
        ＝ aspect-ratio:16/9 の枠（331px）が画像の高さに押し広げられていた。
      真因: aspect-ratio だけを持つ枠に対して子 img の height:100% が解決できず intrinsic 高さで描画され、
            枠に overflow 指定が無いと中身が枠を押し広げる。
            受領CSSは aspect-ratio を持つ枠6つのうち nk-s60/nk-s66/nk-s91/nk-s113 には overflow:hidden を
            持たせているのに、**nk-s159（/work 3箇所）と nk-s218（/guide 2箇所）だけ抜けていた**＝受領側の不統一。
      対処: 枠で切り、img を枠いっぱいに絶対配置する（object-fit:cover で中央トリミング）。
            これで左右は必ず同じ高さになり、元画像の比率差はトリミングで吸収される。
            ※枠の比率（16/9・16/10）は受領のまま変えていない。 */
.nk-s159.nk-s159.nk-s159,
.nk-s218.nk-s218.nk-s218 { overflow: hidden !important; }
.nk-s159 > img,
.nk-s218 > img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 50% 50% !important;
}
/* /KEEP */