[hidden]{display:none!important}

/* JS無し時フォールバック（html.js は BODY内JSが付与。JS不動なら下記で最終状態を保証） */
html:not(.js) #msLoader{ display:none !important; }
html:not(.js) .reveal, html:not(.js) [data-reveal]{ opacity:1 !important; transform:none !important; }
html:not(.js) .wm{ clip-path:none !important; }

/* === PageHero === */
@keyframes ph-up{ 0%{ opacity:0; transform:translateY(22px); } 100%{ opacity:1; transform:translateY(0); } }
  @keyframes ph-in{ 0%{ opacity:0; } 100%{ opacity:1; } }
  @keyframes ph-wipe{ 0%{ clip-path:inset(0 100% 0 0); } 100%{ clip-path:inset(0 0 0 0); } }
  @keyframes ph-bar{ 0%{ transform:scaleX(0); } 100%{ transform:scaleX(1); } }
  .ph-a{ opacity:0; animation:ph-up .8s cubic-bezier(.2,.7,.2,1) both; }
  @media(prefers-reduced-motion:reduce){ .ph-a,.ph-wm,.ph-bar{ animation:none !important; opacity:1 !important; transform:none !important; clip-path:none !important; } }

/* === header === */
.hdr-desk{ display:none; }
  .hdr-burger{ display:inline-flex; }
  @media(min-width:960px){ .hdr-desk{ display:flex; } .hdr-burger{ display:none; } .hdr-mnav{ display:none !important; } }
  .ms-hdr{ transition:background .3s ease, box-shadow .3s ease; }
  .hdr-desk .hdr-navlink{ white-space:nowrap; }
  .hdr-dd[open] .hdr-caret{ transform:rotate(180deg); }
  .ms-hdr.is-scrolled .hdr-caret{ color:#2A2E33 !important; }
  .ms-hdr .hdr-inner{ transition:padding .3s ease; }
  .ms-hdr.is-scrolled{ background:#fff !important; box-shadow:0 6px 24px rgba(15,32,52,.12); }
  .ms-hdr.is-scrolled .hdr-inner{ padding-top:14px !important; padding-bottom:14px !important; }
  .ms-hdr.is-scrolled .hdr-logo-en{ color:#1f3b66 !important; text-shadow:none !important; }
  .ms-hdr.is-scrolled .hdr-logo-jp{ color:#5a6b7a !important; text-shadow:none !important; }
  .ms-hdr.is-scrolled .hdr-navlink{ color:#2A2E33 !important; text-shadow:none !important; }
  @media(max-width:960px){ .ms-hdr .hdr-inner{ padding-left:18px !important; padding-right:18px !important; gap:12px; } }

/* === footer === */
.ft-link{ color:rgba(255,255,255,.92); text-decoration:none; font-size:14px; transition:color .2s ease; }
  .ft-link:hover{ color:#fff; }
  .ft-col-h{ font-family:'Manrope',sans-serif; font-weight:800; font-size:12px; letter-spacing:.2em; color:#fff; margin-bottom:16px; }
  @media(max-width:820px){ .ft-grid{ grid-template-columns:1fr 1fr !important; gap:36px 40px !important; } }
  @media(max-width:520px){ .ft-grid{ grid-template-columns:1fr !important; gap:44px !important; text-align:left; } .ft-bottom{ justify-content:flex-start !important; text-align:left; gap:6px 20px !important; } }

/* ===== 全ページ共通 base（旧・各ページ重複分を1本化） ===== */
:root{
    --blue:#3E97CE;         /* main accent */
    --blue-light:#5AA8D6;   /* light fill / secondary */
    --blue-num:#3366CC;     /* numbers section (concept-sheet spec) */
    --orange:#E8730C;       /* CTA / accent */
    --orange-2:#EA8F09;     /* stat unit / warm accent */
    --ink:#22303a;          /* heading ink */
    --body:#2A2E33;         /* body text */
    --mist:#f2f7fb;         /* light section bg */
  }
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ margin:0; font-family:'Noto Sans JP',-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif; color:var(--body); background:#fff; -webkit-font-smoothing:antialiased; }
a{ color:var(--blue); }
a:hover{ color:var(--orange); }
img{ max-width:100%; display:block; }
h1,h2,h3,h4,p,ul,figure,dl,dt,dd{ margin:0; }
ul{ list-style:none; padding:0; }
:focus-visible{ outline:3px solid var(--orange); outline-offset:2px; }

/* === index === */ .pg-index span.line-chunk{ display:inline-block; overflow-wrap:anywhere; word-break:normal; } .pg-index summary::-webkit-details-marker{ display:none; }
  @media(prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } .pg-index .svc-card, .pg-index .svc-bg img, .pg-index .svc-cta, .pg-index .svc-cta .ar, .pg-index .svc-body{ transition:none !important; } .pg-index .svc-card:hover{ transform:none !important; } .pg-index .svc-card:hover .svc-bg img{ transform:none !important; } }

  /* ===== layout ===== */ .pg-index .sec{ position:relative; overflow:hidden; padding:clamp(66px,9vw,112px) 20px; } .pg-index .wrap{ position:relative; max-width:1180px; margin:0 auto; } .pg-index .bg-sky{ background:linear-gradient(155deg,#D3EBF8 0%,#AEDAF0 100%); } .pg-index .bg-sky-deep{ background:linear-gradient(155deg,#8CCBEC 0%,#5CADDC 100%); } .pg-index .bg-mist{ background:#f2f7fb; } .pg-index .bg-white{ background:#ffffff; } .pg-index .reveal{ opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }

  /* ===== english watermark (base only; アニメCSSは site-anim.js に集約) ===== */ .pg-index .wm{ position:absolute; font-family:'Manrope',sans-serif; font-weight:800; font-style:italic; line-height:.78; pointer-events:none; user-select:none; white-space:nowrap; } .pg-index .wm-a{ letter-spacing:.02em; top:clamp(48px,7vw,100px); left:-8px; color:rgba(255,255,255,.28); font-size:clamp(56px,13vw,182px); }

  /* ===== headings ===== */ .pg-index .head-c{ text-align:center; margin-bottom:34px; } .pg-index .head-l2{ margin-bottom:clamp(30px,4vw,48px); padding-top:clamp(10px,2vw,20px); } .pg-index .head-c2{ text-align:center; margin-bottom:34px; } .pg-index .h2{ font-family:'Zen Kaku Gothic New',sans-serif; font-weight:700; letter-spacing:.02em; font-size:clamp(26px,3.8vw,38px); color:#22303a; margin:0; } .pg-index .lead{ font-size:clamp(15px,1.7vw,17px); color:#4a5560; line-height:2; margin:0; }

  /* ===== dot indicators / eyebrow row ===== */ .pg-index .dots{ display:inline-flex; gap:5px; align-items:center; } .pg-index .dots>span{ width:5px; height:5px; border-radius:50%; } .pg-index .dots-o>span{ background:var(--orange); } .pg-index .dots-w>span{ background:#fff; } .pg-index .eyebrow-row{ display:flex; align-items:center; gap:11px; margin-bottom:16px; } .pg-index .eyebrow-b{ font-family:'Manrope',sans-serif; font-weight:700; font-size:13.5px; letter-spacing:.24em; }

  /* ===== NUMBERS ===== */ .pg-index .stat-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; } .pg-index .stat-num{ font-family:'Manrope',sans-serif; font-weight:800; color:var(--blue-num); line-height:1; } .pg-index .stat-num-jp{ font-family:'Zen Kaku Gothic New',sans-serif; font-weight:900; letter-spacing:.02em; color:var(--blue-num); line-height:1.05; } .pg-index .stat-unit{ font-size:.44em; font-weight:800; color:var(--orange-2); margin-left:4px; }

  /* 主役：年間施工数・無事故 */ .pg-index .stat-hero{ position:relative; background:#fff; border:1px solid #dde9f6; border-top:5px solid var(--orange-2); border-radius:4px; padding:clamp(30px,3.6vw,44px) clamp(22px,2.8vw,34px) clamp(26px,3vw,34px); text-align:center; box-shadow:0 16px 38px rgba(51,102,204,.12); display:flex; flex-direction:column; align-items:center; } .pg-index .stat-hero .stat-tag{ display:inline-flex; align-items:center; gap:6px; align-self:center; background:var(--orange-2); color:#fff; font-family:'Manrope',sans-serif; font-weight:700; font-size:12px; letter-spacing:.14em; padding:5px 12px; border-radius:999px; margin-bottom:16px; } .pg-index .stat-hero .stat-cat{ font-family:'Zen Kaku Gothic New',sans-serif; font-weight:700; font-size:clamp(16px,2vw,19px); color:#22303a; margin-bottom:14px; } .pg-index .stat-hero .stat-num{ font-size:clamp(46px,6.6vw,68px); } .pg-index .stat-hero .stat-desc{ margin:18px auto 0; padding-top:16px; border-top:1px solid #e6eef7; max-width:340px; font-size:15px; line-height:1.85; color:#4a5a66; }

  /* 補足：対応エリア・お見積もり */ .pg-index .stat-sub{ background:#fff; border:1px solid #e3eef7; border-radius:4px; padding:clamp(18px,2.2vw,24px) clamp(22px,2.6vw,30px); display:flex; align-items:center; justify-content:space-between; gap:16px; } .pg-index .stat-sub .stat-cat{ font-family:'Zen Kaku Gothic New',sans-serif; font-weight:700; font-size:15px; color:#4a5a66; margin:0; text-align:left; line-height:1.5; } .pg-index .stat-sub .stat-num{ font-size:clamp(28px,3.4vw,38px); white-space:nowrap; } .pg-index .stat-sub .stat-num-jp{ font-size:clamp(24px,3vw,32px); white-space:nowrap; }
  @media (max-width:640px){ .pg-index .stat-grid{ grid-template-columns:1fr; } }

  /* ===== PROBLEM ===== */ .pg-index .prob-lead{ max-width:600px; margin:0 auto clamp(38px,5vw,52px); text-align:center; font-size:clamp(15px,1.7vw,16.5px); line-height:2; color:#4a5560; } .pg-index .prob-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(22px,2.4vw,30px) clamp(16px,1.6vw,22px); max-width:1180px; margin:0 auto; } .pg-index .prob-card{ position:relative; background:#fff; border-radius:20px; padding:clamp(22px,2.4vw,28px) clamp(20px,2.2vw,24px); display:flex; flex-direction:column; align-items:center; gap:16px; box-shadow:0 14px 34px rgba(31,59,102,.09); } .pg-index .prob-card::before{ content:''; position:absolute; left:50%; bottom:-12px; width:24px; height:24px; background:#fff; transform:translateX(-50%) rotate(45deg); box-shadow:5px 5px 12px rgba(31,59,102,.05); } .pg-index .prob-badge{ flex:0 0 auto; width:48px; height:48px; border-radius:50%; background:linear-gradient(140deg,var(--blue-light),var(--blue)); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Zen Kaku Gothic New',sans-serif; font-weight:900; font-size:25px; line-height:1; box-shadow:0 7px 16px rgba(62,140,187,.34); } .pg-index .prob-txt{ font-size:clamp(15px,1.7vw,16.5px); line-height:1.7; color:#33414c; font-weight:600; margin:0; text-align:center; } .pg-index .prob-close{ display:flex; flex-direction:column; align-items:center; margin-top:clamp(40px,5vw,56px); } .pg-index .prob-banner{ position:relative; display:inline-flex; align-items:center; gap:14px; background:linear-gradient(135deg,#F0912E 0%,var(--orange) 100%); border-radius:999px; padding:clamp(18px,2vw,24px) clamp(30px,4vw,54px); box-shadow:0 18px 42px rgba(232,115,12,.32); } .pg-index .prob-banner .msg{ font-family:'Zen Kaku Gothic New',sans-serif; font-weight:700; font-size:clamp(18px,2.4vw,26px); color:#fff; text-align:center; line-height:1.55; margin:0; letter-spacing:.02em; } .pg-index .prob-banner .msg em{ font-style:normal; color:#fff; }
  @media(max-width:960px){ .pg-index .prob-grid{ grid-template-columns:repeat(2,1fr); } }
  @media(max-width:560px){ .pg-index .prob-grid{ grid-template-columns:1fr; } }

  /* ===== REASONS ===== */ .pg-index .reason-grid{ display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:1fr; gap:18px; }
  @media(max-width:820px){ .pg-index .reason-grid{ grid-template-columns:repeat(2,1fr); } }
  @media(max-width:560px){ .pg-index .reason-grid{ grid-template-columns:1fr; } } .pg-index .reason-card{ position:relative; background:#fff; padding:44px 28px 32px; } .pg-index .reason-tag{ position:absolute; top:0; left:0; display:inline-flex; align-items:baseline; gap:7px; background:var(--orange); color:#fff; padding:7px 16px 8px; } .pg-index .reason-tag .lbl{ font-family:'Manrope',sans-serif; font-weight:800; font-size:12px; letter-spacing:.18em; } .pg-index .reason-tag .no{ font-family:'Manrope',sans-serif; font-weight:800; font-size:17px; line-height:1; letter-spacing:.02em; } .pg-index .reason-h{ font-family:'Zen Kaku Gothic New',sans-serif; font-weight:700; letter-spacing:.02em; font-size:18.5px; color:#22303a; margin:14px 0 14px; line-height:1.5; padding-bottom:14px; border-bottom:1px solid #e3ecf4; } .pg-index .reason-p{ font-size:15.5px; color:#556270; line-height:1.9; margin:0; }

  /* ===== SERVICE ===== */ .pg-index .svc-grid-main{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-bottom:12px; } .pg-index .svc-grid-sub{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:34px; }
  @media(max-width:820px){ .pg-index .svc-grid-sub{ grid-template-columns:repeat(2,1fr); } }
  @media(max-width:600px){ .pg-index .svc-grid-main, .pg-index .svc-grid-sub{ grid-template-columns:1fr; } } .pg-index .svc-card{ position:relative; display:flex; align-items:flex-end; text-decoration:none; overflow:hidden; min-height:268px; } .pg-index .svc-card.is-main{ min-height:340px; } .pg-index .svc-card:hover{ z-index:3; } .pg-index .svc-bg{ position:absolute; inset:0; z-index:0; overflow:hidden; } .pg-index .svc-bg img{ transition:transform .6s cubic-bezier(.2,.7,.2,1); } .pg-index .svc-card:hover .svc-bg img{ transform:scale(1.07); } .pg-index .svc-shade{ position:absolute; inset:0; z-index:1; background:linear-gradient(to top,rgba(13,28,46,.92) 0%,rgba(13,28,46,.6) 40%,rgba(13,28,46,.14) 78%,rgba(13,28,46,0) 100%); transition:opacity .3s ease; } .pg-index .svc-body{ position:relative; z-index:2; padding:24px 26px 26px; transition:transform .3s ease; } .pg-index .svc-card:hover .svc-body{ transform:translateY(-3px); } .pg-index .svc-card:hover .svc-shade{ opacity:.88; } .pg-index .svc-h{ font-family:'Zen Kaku Gothic New',sans-serif; font-weight:700; letter-spacing:.02em; font-size:20px; color:#fff; margin:0 0 8px; text-shadow:0 2px 10px rgba(0,0,0,.35); } .pg-index .svc-p{ font-size:15px; color:rgba(255,255,255,.92); line-height:1.8; margin:0 0 12px; text-shadow:0 1px 8px rgba(0,0,0,.3); } .pg-index .badge-main{ display:inline-block; margin-left:8px; background:var(--orange); color:#fff; font-size:12px; font-weight:700; padding:3px 9px; vertical-align:middle; } .pg-index .svc-cta{ display:inline-flex; align-items:center; gap:6px; margin-top:4px; padding:8px 16px; background:rgba(255,255,255,.14); border:1.5px solid rgba(255,255,255,.7); color:#fff; font-family:'Zen Kaku Gothic New',sans-serif; font-size:13px; font-weight:700; letter-spacing:.03em; backdrop-filter:blur(2px); transition:background .25s ease,border-color .25s ease; } .pg-index .svc-cta .ar{ transition:transform .25s ease; } .pg-index .svc-card:hover .svc-cta{ background:var(--orange); border-color:var(--orange); } .pg-index .svc-card:hover .svc-cta .ar{ transform:translateX(4px); }

  /* ===== FAQ ===== */ .pg-index .faq{ border:1px solid #e6eef4; overflow:hidden; margin-bottom:12px; } .pg-index .faq-q{ list-style:none; cursor:pointer; display:flex; gap:14px; align-items:flex-start; padding:20px 22px; font-weight:700; color:#22303a; font-size:15.5px; } .pg-index .faq-q::after{ content:''; flex:none; width:11px; height:11px; border-right:2px solid var(--orange); border-bottom:2px solid var(--orange); transform:rotate(45deg); transition:transform .28s ease; margin-left:14px; margin-top:5px; } .pg-index details[open] .faq-q::after{ transform:rotate(-135deg); } .pg-index .faq-q:hover{ background:#f7fafd; } .pg-index .faq-mark{ font-family:'Manrope',sans-serif; color:var(--orange); font-weight:800; flex:none; } .pg-index .faq-a{ padding:0 22px 20px 56px; color:#4a5560; font-size:15.5px; line-height:1.9; }

  /* ===== WORKS (before/after) ===== */ .pg-index .works-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
  @media(max-width:640px){ .pg-index .works-grid{ grid-template-columns:1fr; } } .pg-index .work-shot{ background:#fff; overflow:hidden; box-shadow:0 10px 30px rgba(31,59,102,.10); } .pg-index .work-shot img{ display:block; width:100%; aspect-ratio:16/10; object-fit:cover; } .pg-index .work-shot-cap{ padding:15px 18px 17px; } .pg-index .work-shot-cap h3{ font-family:'Zen Kaku Gothic New',sans-serif; font-size:16px; font-weight:700; color:#22303a; margin:0 0 3px; } .pg-index .work-shot-cap p{ font-size:12.5px; color:#7c8b97; margin:0; }

  /* ===== AREA ===== */ .pg-index .area2-bg{ position:absolute; inset:0; z-index:0; } .pg-index .area2-ovl{ position:absolute; inset:0; z-index:1; background:linear-gradient(135deg, rgba(38,96,133,.9) 0%, rgba(28,54,94,.88) 100%); } .pg-index .area2-prefs{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:0 auto 22px; } .pg-index .area2-pref{ text-align:center; padding:16px 10px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.3); } .pg-index .area2-pref .en{ display:block; font-family:'Manrope',sans-serif; font-weight:800; font-size:12px; letter-spacing:.14em; color:rgba(255,255,255,.78); margin-bottom:9px; } .pg-index .area2-pref .jp{ font-family:'Zen Kaku Gothic New',sans-serif; font-weight:700; font-size:clamp(17px,2vw,21px); color:#fff; } .pg-index .area2-main{ display:flex; align-items:center; justify-content:center; gap:13px; background:var(--orange-2); color:#fff; padding:16px 22px; text-align:center; } .pg-index .area2-main .pin{ width:11px; height:11px; border-radius:50%; background:#fff; flex:none; box-shadow:0 0 0 4px rgba(255,255,255,.32); } .pg-index .area2-main .txt{ font-family:'Zen Kaku Gothic New',sans-serif; font-weight:700; font-size:15.5px; line-height:1.55; }
  @media(max-width:640px){ .pg-index .area2-prefs{ grid-template-columns:repeat(2,1fr); } }

  /* ===== BLOG (parts228 cards) ===== */ .pg-index .parts228_post_wrap{ background:#fff; box-shadow:0 8px 24px rgba(31,59,102,.08); overflow:hidden; }
  @media(max-width:820px){ .pg-index .parts228_post_list{ grid-template-columns:repeat(2,1fr) !important; } }
  @media(max-width:560px){ .pg-index .parts228_post_list{ grid-template-columns:1fr !important; } }

  /* ===== ABOUT US（モバイルは画像→テキストの縦並び） ===== */
  @media(max-width:700px){ .pg-index .about-row{ display:flex !important; flex-direction:column !important; margin-bottom:44px !important; } .pg-index .about-img{ order:1; position:relative !important; width:100% !important; height:auto !important; aspect-ratio:4/3 !important; margin:0 !important; transform:none !important; } .pg-index .about-panel{ order:2; position:relative !important; width:100% !important; margin:0 !important; transform:none !important; box-sizing:border-box; min-height:372px; } .pg-index .about-imgbg{ display:block !important; order:3; position:relative !important; width:100% !important; height:56px !important; margin:0 !important; transform:none !important; }
  }
  @media(max-width:600px){ .pg-index .fv-draw{ stroke-width:6 !important; } .pg-index .fv-vert-service{ display:none !important; }
  }

  /* ===== buttons ===== */ .pg-index .btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; text-decoration:none; border-radius:999px; font-weight:700; } .pg-index .btn-blue{ min-height:54px; padding:0 34px; background:var(--blue-light); color:#fff; font-size:15.5px; box-shadow:0 10px 24px rgba(90,168,214,.36); } .pg-index .btn-blue:hover{ background:var(--blue); color:#fff; } .pg-index .btn-orange{ min-height:54px; padding:0 30px; background:var(--orange); color:#fff; font-size:15.5px; box-shadow:0 8px 20px rgba(232,115,12,.28); } .pg-index .btn-orange:hover{ background:#cf6208; color:#fff; } .pg-index .btn-outline{ min-height:52px; padding:0 30px; border:2px solid var(--blue-light); color:#2f6c8f; font-size:15.5px; } .pg-index .btn-outline:hover{ background:#f2f7fb; color:#2f6c8f; } .pg-index .btn-ghost{ min-height:52px; padding:0 34px; border:1.5px solid rgba(255,255,255,.85); color:#fff; font-size:15.5px; letter-spacing:.04em; } .pg-index .btn-ghost:hover{ background:rgba(255,255,255,.14); color:#fff; }

  /* ===== loading overlay ===== */ .pg-index #msLoader{ position:fixed; inset:0; z-index:9999; display:flex; align-items:center; justify-content:center; background:linear-gradient(155deg,#B4DBF0 0%,#93C7E6 100%); transition:opacity .6s ease, visibility .6s ease; } .pg-index #msLoader.is-hidden{ opacity:0; visibility:hidden; pointer-events:none; }
  @keyframes ms-logo-in{ 0%{ opacity:0; transform:translateY(14px); } 100%{ opacity:1; transform:translateY(0); } }
  @keyframes ms-wipe{ 0%{ transform:translateX(-120%); } 100%{ transform:translateX(500%); } }
  @keyframes ms-reveal{ 0%,30%{ clip-path:inset(0 100% 0 0); } 62%,100%{ clip-path:inset(0 0 0 0); } }
  @keyframes ms-line{ 0%{ transform:scaleX(0); } 100%{ transform:scaleX(1); } }
  @keyframes ms-tag-in{ 0%{ opacity:0; letter-spacing:.5em; } 100%{ opacity:1; letter-spacing:.34em; } }
  @keyframes ms-concept{ 0%,70%{ opacity:0; transform:translateY(8px); } 100%{ opacity:1; transform:translateY(0); } }
  @keyframes ms-dot{ 0%,80%,100%{ opacity:.25; transform:scale(.8); } 40%{ opacity:1; transform:scale(1); } }
  @keyframes ms-fv-up{ 0%{ opacity:0; transform:translateY(26px); } 100%{ opacity:1; transform:translateY(0); } }
  @keyframes ms-fv-in{ 0%{ opacity:0; } 100%{ opacity:1; } }
  @keyframes ms-draw{ 0%{ stroke-dashoffset:10000; } 100%{ stroke-dashoffset:0; } }
  @media(prefers-reduced-motion:reduce){ .pg-index #msLoader .ms-anim{ animation:none !important; opacity:1 !important; transform:none !important; clip-path:none !important; } .pg-index .fv-anim{ animation:none !important; opacity:1 !important; transform:none !important; } .pg-index .fv-draw{ animation:none !important; stroke-dashoffset:0 !important; } .pg-index .fv-veil{ animation:none !important; opacity:1 !important; } }

/* === work === */ .pg-work span.line-chunk{ display:inline-block; overflow-wrap:anywhere; word-break:normal; }
  @media(prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } } .pg-work .sec{ position:relative; overflow:hidden; padding:clamp(56px,8vw,104px) 20px; } .pg-work .sec.tight{ padding-top:clamp(40px,5vw,64px); padding-bottom:clamp(40px,5vw,64px); } .pg-work .wrap{ position:relative; max-width:1180px; margin:0 auto; } .pg-work .bg-mist{ background:var(--mist); } .pg-work .bg-white{ background:#fff; } .pg-work .wm{ position:absolute; top:clamp(40px,6vw,88px); left:-8px; font-family:'Manrope',sans-serif; font-weight:800; font-style:italic; line-height:.78; letter-spacing:.02em; color:#eaf2fa; font-size:clamp(52px,12vw,168px); pointer-events:none; user-select:none; white-space:nowrap; } .pg-work .eyebrow-row{ display:flex; align-items:center; gap:11px; margin-bottom:16px; } .pg-work .dots{ display:inline-flex; gap:5px; } .pg-work .dots>span{ width:5px; height:5px; border-radius:50%; background:var(--orange); } .pg-work .eyebrow-b{ font-family:'Manrope',sans-serif; font-weight:700; font-size:13px; letter-spacing:.24em; color:var(--orange); } .pg-work .h2{ font-family:'Zen Kaku Gothic New',sans-serif; font-weight:700; letter-spacing:.02em; font-size:clamp(24px,3.6vw,36px); color:var(--ink); margin:0 0 16px; } .pg-work .lead{ font-size:clamp(15px,1.7vw,17px); color:#4a5560; line-height:2; margin:0 0 28px; } .pg-work .body-p{ font-size:clamp(15px,1.7vw,16.5px); color:#4a5560; line-height:2.05; margin:0 0 16px; } .pg-work .btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; text-decoration:none; border-radius:999px; font-weight:700; } .pg-work .btn-orange{ min-height:54px; padding:0 30px; background:var(--orange); color:#fff; font-size:15.5px; box-shadow:0 8px 20px rgba(232,115,12,.28); } .pg-work .btn-outline, .pg-work .btn-ghost{ font-size:15.5px; } .pg-work .btn-orange:hover{ background:#cf6208; color:#fff; } .pg-work .btn-outline{ min-height:54px; padding:0 30px; border:2px solid var(--blue-light); color:#2f6c8f; font-size:15px; background:#fff; } .pg-work .btn-outline:hover{ background:var(--mist); } .pg-work .btn-ghost{ min-height:54px; padding:0 30px; border:1.5px solid rgba(255,255,255,.85); color:#fff; } .pg-work .btn-ghost:hover{ background:rgba(255,255,255,.16); color:#fff; } .pg-work .btn-row{ display:inline-grid; grid-auto-flow:column; grid-auto-columns:1fr; align-items:stretch; gap:12px; }
  @media(max-width:560px){ .pg-work .btn-row{ grid-auto-flow:row; } } .pg-work .btn-row .btn{ min-height:54px; } .pg-work .btn-sm{ min-height:46px !important; padding:0 22px; font-size:14.5px; } .pg-work .svc-cta{ margin-top:22px; } .pg-work .guide-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
  @media(max-width:600px){ .pg-work .guide-grid{ grid-template-columns:1fr; } } .pg-work .two-col{ display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:clamp(28px,5vw,56px); align-items:center; } .pg-work .media{ overflow:hidden; box-shadow:0 20px 50px rgba(31,59,102,.14); } .pg-work .media img{ display:block; width:100%; height:100%; } .pg-work .badge{ display:inline-block; background:var(--orange); color:#fff; font-size:12px; font-weight:700; padding:4px 12px; border-radius:999px; margin-bottom:12px; } .pg-work .badge.blue{ background:var(--blue-light); } .pg-work .svc-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:16px; } .pg-work .svc-card{ text-decoration:none; background:#fff; box-shadow:0 8px 24px rgba(31,59,102,.08); overflow:hidden; transition:box-shadow .3s ease, transform .3s ease; display:block; } .pg-work .svc-card:hover{ box-shadow:0 16px 40px rgba(31,59,102,.16); transform:translateY(-4px); } .pg-work .svc-card .media{ aspect-ratio:16/10; box-shadow:none; } .pg-work .svc-card .in{ padding:18px 20px 20px; } .pg-work .svc-card h3{ font-family:'Zen Kaku Gothic New',sans-serif; font-weight:700; font-size:17px; color:var(--ink); margin:0 0 6px; } .pg-work .svc-card p{ font-size:13.5px; color:#6a7681; line-height:1.8; margin:0; } .pg-work .svc-card .tag{ display:inline-block; margin-left:8px; background:var(--orange); color:#fff; font-size:11px; font-weight:700; padding:2px 8px; border-radius:999px; vertical-align:middle; } .pg-work .flow-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:14px; }
  @media(max-width:834px){ .pg-work .flow-grid{ grid-template-columns:1fr; gap:12px; } .pg-work .flow-card{ display:grid; grid-template-columns:76px 1fr; column-gap:18px; row-gap:4px; align-items:baseline; padding:20px 24px; } .pg-work .flow-card .step{ grid-column:1; grid-row:1 / span 2; align-self:center; } .pg-work .flow-card h3{ grid-column:2; grid-row:1; margin:0; } .pg-work .flow-card p{ grid-column:2; grid-row:2; margin:0; }
  } .pg-work .flow-card{ background:#fff; box-shadow:0 8px 24px rgba(31,59,102,.08); padding:24px 20px; } .pg-work .flow-card .step{ font-family:'Manrope',sans-serif; font-weight:800; font-size:14px; color:var(--orange); } .pg-work .flow-card h3{ font-family:'Zen Kaku Gothic New',sans-serif; font-size:17px; font-weight:700; color:var(--ink); margin:8px 0 6px; } .pg-work .flow-card p{ font-size:13px; color:#6a7681; line-height:1.8; margin:0; } .pg-work .cta{ position:relative; overflow:hidden; padding:clamp(64px,9vw,120px) 20px; background:#1f5685; } .pg-work .cta .bg{ position:absolute; inset:0; z-index:0; } .pg-work .cta .bg img{ display:block; width:100%; height:100%; object-fit:cover; } .pg-work .cta .ovl{ position:absolute; inset:0; z-index:1; background:linear-gradient(90deg, rgba(10,25,48,.92) 0%, rgba(10,25,48,.58) 52%, rgba(10,25,48,.14) 100%); } .pg-work .cta .frame{ position:absolute; inset:clamp(16px,2vw,26px); z-index:2; border:1px solid rgba(255,255,255,.32); pointer-events:none; }
  @media(max-width:600px){ .pg-work .cta .frame{ display:none; } } .pg-work .cta .wm{ position:absolute; right:-6px; bottom:-40px; z-index:1; font-family:'Manrope',sans-serif; font-weight:800; font-style:italic; font-size:clamp(84px,15vw,150px); line-height:.8; color:rgba(255,255,255,.1); pointer-events:none; } .pg-work .cta .eyebrow{ display:flex; align-items:center; gap:12px; margin-bottom:20px; } .pg-work .cta .eyebrow .bar{ width:34px; height:1px; background:#E8730C; } .pg-work .cta .eyebrow .lbl{ font-family:'Manrope',sans-serif; font-weight:700; font-size:12px; letter-spacing:.34em; color:#fff; } .pg-work .cta .in p{ max-width:520px; } .pg-work .cta .in{ position:relative; z-index:3; max-width:1180px; margin:0 auto; } .pg-work .cta h2{ font-family:'Zen Kaku Gothic New',sans-serif; font-weight:900; color:#fff; font-size:clamp(24px,4vw,40px); line-height:1.4; margin:0 0 14px; text-shadow:0 2px 14px rgba(10,30,54,.5); } .pg-work .cta p{ color:rgba(255,255,255,.94); font-size:clamp(15px,1.9vw,18px); line-height:1.9; margin:0 0 30px; } .pg-work .cta .btn-row{ justify-content:flex-start; } .pg-work .spec{ margin:24px 0 0; } .pg-work .spec-h{ font-family:'Zen Kaku Gothic New',sans-serif; font-weight:700; font-size:13px; letter-spacing:.12em; color:var(--ink); margin:0 0 13px; display:flex; align-items:center; gap:10px; } .pg-work .spec-h::before{ content:""; width:20px; height:2px; background:var(--orange); flex:none; } .pg-work .spec-list{ display:grid; grid-template-columns:repeat(2,1fr); gap:9px 22px; } .pg-work .spec-list li{ position:relative; padding-left:16px; font-size:14.5px; color:#4a5560; line-height:1.85; } .pg-work .spec-list li::before{ content:""; position:absolute; left:0; top:.74em; width:5px; height:5px; border-radius:50%; background:var(--blue-light); } .pg-work .strength{ margin:22px 0 0; font-size:15px; line-height:1.95; color:var(--ink); } .pg-work .strength-l{ display:inline-block; background:#fff; border:1px solid #d7e6f2; color:#2f6c8f; font-size:12px; font-weight:700; padding:3px 11px; border-radius:999px; margin-right:11px; }
  @media(max-width:600px){ .pg-work .svc-grid{ grid-template-columns:1fr; } .pg-work .spec-list{ grid-template-columns:1fr; } }

/* === blog-ex-instance === */ .pg-blogex .sec{ position:relative; overflow:hidden; padding:clamp(52px,7vw,96px) 20px; } .pg-blogex .sec.tight{ padding:clamp(36px,4vw,56px) 20px 0; } .pg-blogex .wrap{ position:relative; max-width:1180px; margin:0 auto; } .pg-blogex .bg-mist{ background:var(--mist); } .pg-blogex .bg-white{ background:#fff; } .pg-blogex .wm{ position:absolute; top:clamp(40px,6vw,88px); left:-8px; font-family:'Manrope',sans-serif; font-weight:800; font-style:italic; line-height:.78; letter-spacing:.02em; color:#eaf2fa; font-size:clamp(52px,12vw,168px); pointer-events:none; white-space:nowrap; } .pg-blogex .eyebrow-row{ display:flex; align-items:center; gap:11px; margin-bottom:14px; } .pg-blogex .dots{ display:inline-flex; gap:5px; } .pg-blogex .dots>span{ width:5px; height:5px; border-radius:50%; background:var(--orange); } .pg-blogex .eyebrow-b{ font-family:'Manrope',sans-serif; font-weight:700; font-size:13px; letter-spacing:.24em; color:var(--orange); } .pg-blogex .h2{ font-family:'Zen Kaku Gothic New',sans-serif; font-weight:700; letter-spacing:.02em; font-size:clamp(23px,3.6vw,34px); color:var(--ink); margin:0 0 12px; } .pg-blogex .lead{ font-size:clamp(15px,1.7vw,17px); color:#4a5560; line-height:2; margin:0 0 34px; } .pg-blogex .h3{ font-family:'Zen Kaku Gothic New',sans-serif; font-weight:700; font-size:clamp(19px,2.6vw,24px); color:var(--ink); margin:0 0 16px; } .pg-blogex .body-p{ font-size:clamp(14px,1.7vw,16px); color:#4a5560; line-height:2.05; margin:0 0 22px; } .pg-blogex .note{ display:block; font-size:12px; color:#a8b3bd; margin-top:8px; } .pg-blogex .tag{ display:inline-block; font-size:11px; font-weight:700; color:#2f6c8f; background:#fff; padding:4px 10px; border-radius:999px; margin-bottom:12px; } .pg-blogex .btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; text-decoration:none; border-radius:999px; font-weight:700; } .pg-blogex .btn-orange{ min-height:54px; padding:0 30px; background:var(--orange); color:#fff; font-size:16px; box-shadow:0 8px 20px rgba(232,115,12,.32); } .pg-blogex .btn-orange:hover{ background:#cf6208; color:#fff; } .pg-blogex .btn-outline{ min-height:48px; padding:0 22px; border:2px solid var(--blue-light); color:#2f6c8f; font-size:14.5px; background:#fff; } .pg-blogex .btn-outline:hover{ background:#fff; } .pg-blogex .btn-white{ min-height:54px; padding:0 30px; background:#fff; color:#1f3b66; font-size:16px; } .pg-blogex .btn-white:hover{ background:#eef3fc; color:#1f3b66; } .pg-blogex .btn-row{ display:inline-grid; grid-auto-flow:column; grid-auto-columns:1fr; align-items:stretch; gap:12px; }
  @media(max-width:560px){ .pg-blogex .btn-row{ grid-auto-flow:row; } } .pg-blogex .feat{ display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:clamp(24px,4vw,48px); align-items:center; margin-bottom:clamp(32px,5vw,52px); } .pg-blogex .feat-shot{ background:#fff; overflow:hidden; box-shadow:0 10px 30px rgba(31,59,102,.10); } .pg-blogex .feat-shot img{ display:block; width:100%; aspect-ratio:16/10; object-fit:cover; } .pg-blogex .feat-shot-cap{ padding:15px 18px 17px; } .pg-blogex .feat-shot-cap h3{ font-family:'Zen Kaku Gothic New',sans-serif; font-size:16px; font-weight:700; color:#22303a; margin:0 0 3px; } .pg-blogex .feat-shot-cap p{ font-size:12.5px; color:#7c8b97; margin:0; } .pg-blogex .cta-panel{ position:relative; overflow:hidden; max-width:1000px; margin:0 auto; background:linear-gradient(135deg,#1f3b66,#2f6c8f); padding:clamp(38px,4.5vw,52px) clamp(24px,3vw,44px); text-align:center; } .pg-blogex .cta-panel .wm{ position:absolute; right:-8px; bottom:-26px; z-index:0; font-family:'Manrope',sans-serif; font-weight:800; font-style:italic; font-size:clamp(80px,13vw,120px); line-height:.8; color:rgba(255,255,255,.08); pointer-events:none; } .pg-blogex .cta-panel .in{ position:relative; z-index:1; } .pg-blogex .cta-panel .free-row{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:18px; } .pg-blogex .cta-panel .free-row span{ display:inline-flex; align-items:center; gap:7px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.3); color:#fff; font-weight:700; font-size:13.5px; padding:7px 14px; } .pg-blogex .cta-panel .free-row b{ color:#FFB765; font-family:'Manrope',sans-serif; font-weight:800; } .pg-blogex .cta-panel h2{ font-family:'Zen Kaku Gothic New',sans-serif; font-weight:700; color:#fff; font-size:clamp(20px,3vw,28px); line-height:1.5; margin:0 0 12px; } .pg-blogex .cta-panel p{ color:#dbe6f2; font-size:clamp(14px,1.7vw,16px); line-height:1.9; margin:0 0 26px; } .pg-blogex .cta-panel .btn-row{ justify-content:center; } .pg-blogex .cta-panel .btn-tel{ min-height:56px; padding:0 30px; background:#fff; color:#1f3b66; font-family:'Manrope',sans-serif; font-weight:800; font-size:20px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; text-decoration:none; } .pg-blogex .parts228_wrap{ position:relative; max-width:1180px; margin:0 auto; } .pg-blogex .cat-tabs{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:30px; } .pg-blogex .cat-tab{ min-height:44px; padding:0 20px; border-radius:999px; border:1.5px solid #d7e0e7; background:#fff; color:#2f6c8f; font-weight:700; font-size:14px; cursor:pointer; font-family:inherit; } .pg-blogex .cat-tab[aria-selected="true"]{ border-color:var(--orange); background:var(--orange); color:#fff; } .pg-blogex .parts228_post_list{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:24px; } .pg-blogex .parts228_post_wrap{ background:#fff; border:1px solid #e6eef4; overflow:hidden; box-shadow:0 8px 24px rgba(31,59,102,.06); transition:box-shadow .3s ease, transform .3s ease; } .pg-blogex .parts228_post_wrap:hover{ box-shadow:0 16px 40px rgba(31,59,102,.14); transform:translateY(-4px); } .pg-blogex .parts228_post_img{ aspect-ratio:4/3; overflow:hidden; } .pg-blogex .parts228_post_img a{ display:flex; height:100%; } .pg-blogex .parts228_post_img span{ position:relative; flex:1; overflow:hidden; display:block; } .pg-blogex .parts228_post_img span:first-child{ border-right:2px solid #fff; } .pg-blogex .parts228_post_img img{ width:100%; height:100%; object-fit:cover; } .pg-blogex .parts228_post_img .ba{ position:absolute; bottom:8px; font-family:'Manrope',sans-serif; font-weight:800; font-size:10px; letter-spacing:.05em; padding:3px 8px; color:#fff; } .pg-blogex .parts228_post_img .ba.before{ left:8px; background:rgba(31,59,102,.85); } .pg-blogex .parts228_post_img .ba.after{ right:8px; background:var(--orange); } .pg-blogex .parts-blog-ex-tag_wrap{ display:flex; flex-wrap:wrap; gap:6px; margin:16px 18px 10px; } .pg-blogex .parts-blog-ex_tag{ font-size:11px; font-weight:700; color:#2f6c8f; background:#EEF3FC; padding:4px 10px; } .pg-blogex .parts228_post_status{ margin:0 18px 6px; } .pg-blogex .parts228_post_date{ font-family:'Manrope',sans-serif; font-weight:700; font-size:13px; color:#8a97a2; } .pg-blogex .parts228_post_title-excerpt{ margin:0 18px 18px; } .pg-blogex .parts228_post_title{ font-family:'Zen Kaku Gothic New',sans-serif; font-size:16px; font-weight:700; color:var(--ink); line-height:1.6; } .pg-blogex .cat-empty{ text-align:center; color:#8a97a2; font-size:14px; padding:40px 0; } .pg-blogex .parts228_pagenation{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px; margin-top:40px; } .pg-blogex .parts228_pagenation a{ min-width:44px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; padding:0 14px; border:1px solid #d7e0e7; color:var(--blue); text-decoration:none; font-weight:700; font-size:14px; font-family:'Manrope',sans-serif; border-radius:999px; } .pg-blogex .parts228_pagenation a.current{ background:var(--blue); color:#fff; border-color:var(--blue); } .pg-blogex .list-head{ position:relative; max-width:1180px; margin:0 auto; }

/* === information === */ .pg-information span.line-chunk{ display:inline-block; overflow-wrap:anywhere; word-break:normal; } .pg-information .sec{ position:relative; overflow:hidden; padding:clamp(56px,8vw,104px) 20px; } .pg-information .wrap{ position:relative; max-width:1180px; margin:0 auto; } .pg-information .bg-mist{ background:var(--mist); } .pg-information .bg-white{ background:#fff; } .pg-information .wm{ position:absolute; top:clamp(40px,6vw,88px); left:-8px; font-family:'Manrope',sans-serif; font-weight:800; font-style:italic; line-height:.78; letter-spacing:.02em; color:#eaf2fa; font-size:clamp(52px,12vw,168px); pointer-events:none; user-select:none; white-space:nowrap; } .pg-information .eyebrow-row{ display:flex; align-items:center; gap:11px; margin-bottom:16px; } .pg-information .dots{ display:inline-flex; gap:5px; } .pg-information .dots>span{ width:5px; height:5px; border-radius:50%; background:var(--orange); } .pg-information .eyebrow-b{ font-family:'Manrope',sans-serif; font-weight:700; font-size:13px; letter-spacing:.24em; color:var(--orange); } .pg-information .h2{ font-family:'Zen Kaku Gothic New',sans-serif; font-weight:700; letter-spacing:.02em; font-size:clamp(24px,3.6vw,36px); color:var(--ink); margin:0 0 16px; } .pg-information .lead{ font-size:clamp(15px,1.7vw,17px); color:#4a5560; line-height:2; margin:0 0 28px; } .pg-information .body-p{ font-size:clamp(15px,1.7vw,16.5px); color:#4a5560; line-height:2.1; margin:0 0 16px; } .pg-information .credo{ font-family:'Zen Kaku Gothic New',sans-serif; font-weight:900; font-size:clamp(22px,3.4vw,30px); color:#1f3b66; margin:0 0 14px; } .pg-information .sign{ font-size:14px; color:#7c8b97; } .pg-information .btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; text-decoration:none; border-radius:999px; font-weight:700; } .pg-information .btn-orange{ min-height:52px; padding:0 28px; background:var(--orange); color:#fff; font-size:15.5px; box-shadow:0 8px 20px rgba(232,115,12,.28); } .pg-information .btn-orange:hover{ background:#cf6208; color:#fff; } .pg-information .btn-outline{ min-height:52px; padding:0 26px; border:2px solid var(--blue-light); color:#2f6c8f; font-size:15px; background:#fff; } .pg-information .btn-outline:hover{ background:var(--mist); } .pg-information .btn-row{ display:inline-grid; grid-auto-flow:column; grid-auto-columns:1fr; align-items:stretch; gap:12px; }
  @media(max-width:560px){ .pg-information .btn-row{ grid-auto-flow:row; } } .pg-information .two-col{ display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:clamp(28px,5vw,56px); align-items:center; } .pg-information .media{ overflow:hidden; box-shadow:0 20px 50px rgba(31,59,102,.14); } .pg-information .media img{ display:block; width:100%; height:100%; object-fit:cover; } .pg-information .info-table{ background:#fff; box-shadow:0 8px 24px rgba(31,59,102,.06); } .pg-information .info-table .row{ display:grid; grid-template-columns:minmax(120px,180px) 1fr; border-bottom:1px solid #eef2f6; } .pg-information .info-table .row:last-child{ border-bottom:0; } .pg-information .info-table dt{ padding:18px 22px; font-weight:700; color:#1f3b66; font-size:14.5px; background:#f7fafd; } .pg-information .info-table dd{ padding:18px 22px; font-size:14.5px; color:#3a4650; }
  @media(max-width:520px){ .pg-information .info-table .row{ grid-template-columns:1fr; } .pg-information .info-table dt{ padding:14px 18px 6px; } .pg-information .info-table dd{ padding:0 18px 16px; } } .pg-information .cta{ position:relative; overflow:hidden; padding:clamp(64px,9vw,120px) 20px; background:#1f5685; } .pg-information .cta .bg{ position:absolute; inset:0; z-index:0; } .pg-information .cta .bg img{ display:block; width:100%; height:100%; object-fit:cover; } .pg-information .cta .ovl{ position:absolute; inset:0; z-index:1; background:linear-gradient(90deg, rgba(10,25,48,.92) 0%, rgba(10,25,48,.58) 52%, rgba(10,25,48,.14) 100%); } .pg-information .cta .frame{ position:absolute; inset:clamp(16px,2vw,26px); z-index:2; border:1px solid rgba(255,255,255,.32); pointer-events:none; }
  @media(max-width:600px){ .pg-information .cta .frame{ display:none; } } .pg-information .cta .wm{ position:absolute; right:-6px; bottom:-40px; z-index:1; font-family:'Manrope',sans-serif; font-weight:800; font-style:italic; font-size:clamp(84px,15vw,150px); line-height:.8; color:rgba(255,255,255,.1); pointer-events:none; } .pg-information .cta .eyebrow{ display:flex; align-items:center; gap:12px; margin-bottom:20px; } .pg-information .cta .eyebrow .bar{ width:34px; height:1px; background:#E8730C; } .pg-information .cta .eyebrow .lbl{ font-family:'Manrope',sans-serif; font-weight:700; font-size:12px; letter-spacing:.34em; color:#fff; } .pg-information .cta .in{ position:relative; z-index:3; max-width:1180px; margin:0 auto; } .pg-information .cta .in p{ max-width:520px; } .pg-information .cta h2{ font-family:'Zen Kaku Gothic New',sans-serif; font-weight:900; color:#fff; font-size:clamp(24px,3.6vw,34px); line-height:1.4; margin:0 0 14px; text-shadow:0 2px 14px rgba(10,30,54,.5); } .pg-information .cta p{ color:rgba(255,255,255,.94); font-size:clamp(14px,1.8vw,16.5px); line-height:1.9; margin:0 0 30px; } .pg-information .cta .btn-row{ justify-content:flex-start; } .pg-information .btn-white{ min-height:52px; padding:0 28px; background:#fff; color:#1f5685; font-size:15.5px; } .pg-information .btn-white:hover{ background:#eef3fc; color:#1f5685; } .pg-information .btn-ghost{ min-height:52px; padding:0 26px; border:1.5px solid rgba(255,255,255,.85); color:#fff; font-size:15px; } .pg-information .btn-ghost:hover{ background:rgba(255,255,255,.16); color:#fff; }

/* === staff === */ .pg-staff span.line-chunk{ display:inline-block; overflow-wrap:anywhere; word-break:normal; } .pg-staff .sec{ position:relative; overflow:hidden; padding:clamp(56px,8vw,104px) 20px; } .pg-staff .wrap{ position:relative; max-width:1180px; margin:0 auto; } .pg-staff .bg-mist{ background:var(--mist); } .pg-staff .bg-white{ background:#fff; } .pg-staff .wm{ position:absolute; top:clamp(40px,6vw,88px); left:-8px; font-family:'Manrope',sans-serif; font-weight:800; font-style:italic; line-height:.78; letter-spacing:.02em; color:#eaf2fa; font-size:clamp(52px,12vw,168px); pointer-events:none; user-select:none; white-space:nowrap; } .pg-staff .eyebrow-row{ display:flex; align-items:center; gap:11px; margin-bottom:16px; } .pg-staff .dots{ display:inline-flex; gap:5px; } .pg-staff .dots>span{ width:5px; height:5px; border-radius:50%; background:var(--orange); } .pg-staff .eyebrow-b{ font-family:'Manrope',sans-serif; font-weight:700; font-size:13px; letter-spacing:.24em; color:var(--orange); } .pg-staff .h2{ font-family:'Zen Kaku Gothic New',sans-serif; font-weight:700; letter-spacing:.02em; font-size:clamp(24px,3.6vw,36px); color:var(--ink); margin:0 0 16px; } .pg-staff .lead{ font-size:clamp(15px,1.7vw,17px); color:#4a5560; line-height:2; margin:0 0 28px; } .pg-staff .body-p{ font-size:clamp(15px,1.7vw,16.5px); color:#4a5560; line-height:2.1; margin:0 0 16px; } .pg-staff .quote-lead{ font-family:'Zen Kaku Gothic New',sans-serif; font-weight:700; font-size:clamp(16px,2vw,19px); color:#1f3b66; line-height:1.9; margin:0 0 18px; } .pg-staff .credo{ font-family:'Zen Kaku Gothic New',sans-serif; font-weight:900; font-size:clamp(22px,3.4vw,30px); color:#1f3b66; margin:0 0 14px; } .pg-staff .sign{ font-size:14px; color:#7c8b97; } .pg-staff .btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; text-decoration:none; border-radius:999px; font-weight:700; } .pg-staff .btn-orange{ min-height:52px; padding:0 28px; background:var(--orange); color:#fff; font-size:15.5px; box-shadow:0 8px 20px rgba(232,115,12,.28); } .pg-staff .btn-orange:hover{ background:#cf6208; color:#fff; } .pg-staff .btn-outline{ min-height:52px; padding:0 26px; border:2px solid var(--blue-light); color:#2f6c8f; font-size:15px; background:#fff; } .pg-staff .btn-outline:hover{ background:var(--mist); } .pg-staff .cta{ position:relative; overflow:hidden; padding:clamp(64px,9vw,120px) 20px; background:#1f5685; } .pg-staff .cta .bg{ position:absolute; inset:0; z-index:0; } .pg-staff .cta .bg img{ display:block; width:100%; height:100%; object-fit:cover; } .pg-staff .cta .ovl{ position:absolute; inset:0; z-index:1; background:linear-gradient(90deg, rgba(10,25,48,.92) 0%, rgba(10,25,48,.58) 52%, rgba(10,25,48,.14) 100%); } .pg-staff .cta .frame{ position:absolute; inset:clamp(16px,2vw,26px); z-index:2; border:1px solid rgba(255,255,255,.32); pointer-events:none; }
  @media(max-width:600px){ .pg-staff .cta .frame{ display:none; } } .pg-staff .cta .wm{ position:absolute; right:-6px; bottom:-40px; z-index:1; font-family:'Manrope',sans-serif; font-weight:800; font-style:italic; font-size:clamp(84px,15vw,150px); line-height:.8; color:rgba(255,255,255,.1); pointer-events:none; } .pg-staff .cta .eyebrow{ display:flex; align-items:center; gap:12px; margin-bottom:20px; } .pg-staff .cta .eyebrow .bar{ width:34px; height:1px; background:#E8730C; } .pg-staff .cta .eyebrow .lbl{ font-family:'Manrope',sans-serif; font-weight:700; font-size:12px; letter-spacing:.34em; color:#fff; } .pg-staff .cta .in{ position:relative; z-index:3; max-width:1180px; margin:0 auto; } .pg-staff .cta h2{ font-family:'Zen Kaku Gothic New',sans-serif; font-weight:900; color:#fff; font-size:clamp(24px,3.6vw,34px); line-height:1.4; margin:0 0 14px; text-shadow:0 2px 14px rgba(10,30,54,.5); } .pg-staff .cta p{ color:rgba(255,255,255,.94); font-size:clamp(14px,1.8vw,16.5px); line-height:1.9; margin:0 0 30px; max-width:520px; } .pg-staff .cta .btn-row{ justify-content:flex-start; } .pg-staff .btn-white{ min-height:52px; padding:0 28px; background:#fff; color:#1f5685; font-size:15.5px; } .pg-staff .btn-white:hover{ background:#eef3fc; color:#1f5685; } .pg-staff .btn-ghost{ min-height:52px; padding:0 26px; border:1.5px solid rgba(255,255,255,.85); color:#fff; font-size:15px; } .pg-staff .btn-ghost:hover{ background:rgba(255,255,255,.16); color:#fff; } .pg-staff .btn-row{ display:inline-grid; grid-auto-flow:column; grid-auto-columns:1fr; align-items:stretch; gap:12px; }
  @media(max-width:560px){ .pg-staff .btn-row{ grid-auto-flow:row; } } .pg-staff .two-col{ display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:clamp(28px,5vw,56px); align-items:center; } .pg-staff .media{ overflow:hidden; box-shadow:0 20px 50px rgba(31,59,102,.14); } .pg-staff .media img{ display:block; width:100%; height:100%; object-fit:cover; } .pg-staff .hero-media{ overflow:hidden; box-shadow:0 20px 50px rgba(31,59,102,.14); aspect-ratio:21/9; } .pg-staff .hero-media img{ display:block; width:100%; height:100%; object-fit:cover; } .pg-staff .m-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(20px,2.5vw,28px); align-items:stretch; }
  @media(max-width:820px){ .pg-staff .m-grid{ grid-template-columns:repeat(2,1fr); } }
  @media(max-width:560px){ .pg-staff .m-grid{ grid-template-columns:1fr; } } .pg-staff .m-card{ background:#fff; box-shadow:0 8px 24px rgba(31,59,102,.08); overflow:hidden; display:flex; flex-direction:column; } .pg-staff .m-card:last-child{ border-bottom:none; } .pg-staff .m-card .media{ aspect-ratio:4/3; box-shadow:none; min-height:0; } .pg-staff .m-card .in{ padding:22px 24px 24px; display:flex; flex-direction:column; justify-content:flex-start; flex:1; } .pg-staff .m-card .yrs{ font-family:'Manrope',sans-serif; font-weight:800; color:var(--orange); font-size:26px; line-height:1; } .pg-staff .m-card .yrs small{ font-size:13px; margin-left:3px; } .pg-staff .m-card h3{ font-family:'Zen Kaku Gothic New',sans-serif; font-size:17px; font-weight:700; color:var(--ink); margin:10px 0 8px; } .pg-staff .m-card p{ font-size:13.5px; color:#6a7681; line-height:1.9; margin:0; } .pg-staff .badge{ display:inline-block; background:var(--orange); color:#fff; font-size:12px; font-weight:700; padding:4px 12px; border-radius:999px; margin-bottom:12px; } .pg-staff .guide-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
  @media(max-width:560px){ .pg-staff .voice-2col{ grid-template-columns:1fr !important; } }
  @media(max-width:600px){ .pg-staff .guide-grid{ grid-template-columns:1fr; } }

/* === voice === */ .pg-voice span.line-chunk{ display:inline-block; overflow-wrap:anywhere; word-break:normal; } .pg-voice .sec{ position:relative; overflow:hidden; padding:clamp(56px,8vw,104px) 20px; } .pg-voice .wrap{ position:relative; max-width:1180px; margin:0 auto; } .pg-voice .bg-mist{ background:var(--mist); } .pg-voice .bg-white{ background:#fff; } .pg-voice .wm{ position:absolute; top:clamp(40px,6vw,88px); left:-8px; font-family:'Manrope',sans-serif; font-weight:800; font-style:italic; line-height:.78; letter-spacing:.02em; color:#eaf2fa; font-size:clamp(52px,12vw,168px); pointer-events:none; user-select:none; white-space:nowrap; } .pg-voice .eyebrow-row{ display:flex; align-items:center; gap:11px; margin-bottom:16px; } .pg-voice .dots{ display:inline-flex; gap:5px; } .pg-voice .dots>span{ width:5px; height:5px; border-radius:50%; background:var(--orange); } .pg-voice .eyebrow-b{ font-family:'Manrope',sans-serif; font-weight:700; font-size:13px; letter-spacing:.24em; color:var(--orange); } .pg-voice .h2{ font-family:'Zen Kaku Gothic New',sans-serif; font-weight:700; letter-spacing:.02em; font-size:clamp(24px,3.6vw,36px); color:var(--ink); margin:0 0 24px; } .pg-voice .hero-media{ overflow:hidden; box-shadow:0 20px 50px rgba(31,59,102,.14); aspect-ratio:21/9; } .pg-voice .hero-media img{ display:block; width:100%; height:100%; object-fit:cover; } .pg-voice .v-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:20px; } .pg-voice .v-card{ background:#fff; padding:30px 28px; box-shadow:0 8px 24px rgba(31,59,102,.08); } .pg-voice .v-card.mist{ background:var(--mist); box-shadow:none; } .pg-voice .v-card .quote{ font-family:'Manrope',serif; font-size:52px; font-weight:800; color:#cfe0ef; line-height:.6; display:block; margin-bottom:8px; } .pg-voice .v-card p.body{ font-size:15.5px; color:#3a4650; line-height:1.95; margin:0 0 18px; } .pg-voice .v-card .who{ display:flex; align-items:center; gap:12px; } .pg-voice .v-card .who .ph{ width:44px; height:44px; border-radius:50%; overflow:hidden; flex:none; } .pg-voice .v-card .who .ph img{ display:block; width:100%; height:100%; object-fit:cover; } .pg-voice .v-card .who span{ font-size:13px; color:#7c8b97; font-weight:700; } .pg-voice .note{ font-size:12px; color:#a8b3bd; margin-top:14px; } .pg-voice .btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; text-decoration:none; border-radius:999px; font-weight:700; } .pg-voice .btn-orange{ min-height:54px; padding:0 30px; background:var(--orange); color:#fff; font-size:15.5px; box-shadow:0 8px 20px rgba(232,115,12,.28); } .pg-voice .btn-orange:hover{ background:#cf6208; color:#fff; } .pg-voice .btn-ghost{ min-height:54px; padding:0 30px; border:1.5px solid rgba(255,255,255,.85); color:#fff; font-size:16px; } .pg-voice .btn-ghost:hover{ background:rgba(255,255,255,.16); color:#fff; } .pg-voice .btn-row{ display:inline-grid; grid-auto-flow:column; grid-auto-columns:1fr; align-items:stretch; gap:12px; }
  @media(max-width:560px){ .pg-voice .btn-row{ grid-auto-flow:row; } } .pg-voice .cta{ position:relative; overflow:hidden; padding:clamp(64px,9vw,120px) 20px; background:#1f5685; } .pg-voice .cta .bg{ position:absolute; inset:0; z-index:0; } .pg-voice .cta .bg img{ display:block; width:100%; height:100%; object-fit:cover; } .pg-voice .cta .ovl{ position:absolute; inset:0; z-index:1; background:linear-gradient(90deg, rgba(10,25,48,.92) 0%, rgba(10,25,48,.58) 52%, rgba(10,25,48,.14) 100%); } .pg-voice .cta .frame{ position:absolute; inset:clamp(16px,2vw,26px); z-index:2; border:1px solid rgba(255,255,255,.32); pointer-events:none; }
  @media(max-width:600px){ .pg-voice .cta .frame{ display:none; } } .pg-voice .cta .wm{ position:absolute; right:-6px; bottom:-40px; z-index:1; font-family:'Manrope',sans-serif; font-weight:800; font-style:italic; font-size:clamp(84px,15vw,150px); line-height:.8; color:rgba(255,255,255,.1); pointer-events:none; } .pg-voice .cta .eyebrow{ display:flex; align-items:center; gap:12px; margin-bottom:20px; } .pg-voice .cta .eyebrow .bar{ width:34px; height:1px; background:#E8730C; } .pg-voice .cta .eyebrow .lbl{ font-family:'Manrope',sans-serif; font-weight:700; font-size:12px; letter-spacing:.34em; color:#fff; } .pg-voice .cta .in p{ max-width:520px; } .pg-voice .cta .in{ position:relative; z-index:3; max-width:1180px; margin:0 auto; } .pg-voice .cta h2{ font-family:'Zen Kaku Gothic New',sans-serif; font-weight:900; color:#fff; font-size:clamp(23px,3.6vw,36px); line-height:1.45; margin:0 0 16px; text-shadow:0 2px 14px rgba(10,30,54,.5); } .pg-voice .cta p{ color:rgba(255,255,255,.95); font-size:clamp(15px,1.9vw,18px); line-height:1.95; margin:0 0 30px; } .pg-voice .cta .btn-row{ justify-content:flex-start; }

/* === faq === */ .pg-faq span.line-chunk{ display:inline-block; overflow-wrap:anywhere; word-break:normal; } .pg-faq summary::-webkit-details-marker{ display:none; } .pg-faq .sec{ position:relative; overflow:hidden; padding:clamp(56px,8vw,104px) 20px; } .pg-faq .wrap{ position:relative; max-width:880px; margin:0 auto; } .pg-faq .bg-mist{ background:var(--mist); } .pg-faq .bg-white{ background:#fff; } .pg-faq .wm{ position:absolute; top:clamp(40px,6vw,88px); left:-8px; font-family:'Manrope',sans-serif; font-weight:800; font-style:italic; line-height:.78; letter-spacing:.02em; color:#eaf2fa; font-size:clamp(52px,12vw,168px); pointer-events:none; user-select:none; white-space:nowrap; } .pg-faq .eyebrow-row{ display:flex; align-items:center; gap:11px; margin-bottom:16px; } .pg-faq .dots{ display:inline-flex; gap:5px; } .pg-faq .dots>span{ width:5px; height:5px; border-radius:50%; background:var(--orange); } .pg-faq .eyebrow-b{ font-family:'Manrope',sans-serif; font-weight:700; font-size:13px; letter-spacing:.24em; color:var(--orange); } .pg-faq .h2{ font-family:'Zen Kaku Gothic New',sans-serif; font-weight:700; letter-spacing:.02em; font-size:clamp(24px,3.6vw,36px); color:var(--ink); margin:0 0 16px; } .pg-faq .lead{ font-size:clamp(15px,1.7vw,17px); color:#4a5560; line-height:2; margin:0 0 28px; } .pg-faq .btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; text-decoration:none; border-radius:999px; font-weight:700; } .pg-faq .btn-orange{ min-height:56px; padding:0 32px; background:var(--orange); color:#fff; font-size:16px; box-shadow:0 10px 24px rgba(232,115,12,.28); } .pg-faq .btn-orange:hover{ background:#cf6208; color:#fff; } .pg-faq .cta{ position:relative; overflow:hidden; padding:clamp(64px,9vw,120px) 20px; background:#1f5685; } .pg-faq .cta .bg{ position:absolute; inset:0; z-index:0; } .pg-faq .cta .bg img{ display:block; width:100%; height:100%; object-fit:cover; } .pg-faq .cta .ovl{ position:absolute; inset:0; z-index:1; background:linear-gradient(90deg, rgba(10,25,48,.92) 0%, rgba(10,25,48,.58) 52%, rgba(10,25,48,.14) 100%); } .pg-faq .cta .frame{ position:absolute; inset:clamp(16px,2vw,26px); z-index:2; border:1px solid rgba(255,255,255,.32); pointer-events:none; }
  @media(max-width:600px){ .pg-faq .cta .frame{ display:none; } } .pg-faq .cta .cwm{ position:absolute; right:-6px; bottom:-40px; z-index:1; font-family:'Manrope',sans-serif; font-weight:800; font-style:italic; font-size:clamp(84px,15vw,150px); line-height:.8; color:rgba(255,255,255,.1); pointer-events:none; } .pg-faq .cta .eyebrow{ display:flex; align-items:center; gap:12px; margin-bottom:20px; } .pg-faq .cta .eyebrow .bar{ width:34px; height:1px; background:#E8730C; } .pg-faq .cta .eyebrow .lbl{ font-family:'Manrope',sans-serif; font-weight:700; font-size:12px; letter-spacing:.34em; color:#fff; } .pg-faq .cta .in{ position:relative; z-index:3; max-width:1180px; margin:0 auto; } .pg-faq .cta h2{ font-family:'Zen Kaku Gothic New',sans-serif; font-weight:900; color:#fff; font-size:clamp(24px,3.6vw,34px); line-height:1.4; margin:0 0 14px; text-shadow:0 2px 14px rgba(10,30,54,.5); } .pg-faq .cta p{ color:rgba(255,255,255,.94); font-size:clamp(14px,1.8vw,16.5px); line-height:1.9; margin:0 0 30px; max-width:520px; } .pg-faq .cta .btn-row{ display:inline-grid; grid-auto-flow:column; grid-auto-columns:1fr; align-items:stretch; gap:14px; }
  @media(max-width:560px){ .pg-faq .cta .btn-row{ grid-auto-flow:row; } } .pg-faq .btn-white{ min-height:56px; padding:0 32px; background:#fff; color:#1f5685; font-size:16px; } .pg-faq .btn-white:hover{ background:#eef3fc; color:#1f5685; } .pg-faq .btn-ghost{ min-height:56px; padding:0 30px; border:1.5px solid rgba(255,255,255,.85); color:#fff; font-size:15px; } .pg-faq .btn-ghost:hover{ background:rgba(255,255,255,.16); color:#fff; } .pg-faq .faq-cat{ font-family:'Zen Kaku Gothic New',sans-serif; font-weight:700; font-size:clamp(17px,2vw,20px); letter-spacing:.02em; color:var(--blue); margin:40px 0 16px; line-height:1.4; } .pg-faq .faq-cat:first-of-type{ margin-top:0; } .pg-faq details.faq{ border:1px solid #e6eef4; margin-bottom:12px; background:#fff; } .pg-faq details.faq summary{ list-style:none; cursor:pointer; display:flex; gap:14px; align-items:flex-start; padding:20px 22px; font-weight:700; color:var(--ink); font-size:15.5px; } .pg-faq details.faq summary::before{ content:'Q'; font-family:'Manrope',sans-serif; color:var(--orange); font-weight:800; flex:none; } .pg-faq details.faq summary::after{ content:''; margin-left:auto; flex:none; width:11px; height:11px; border-right:2px solid var(--orange); border-bottom:2px solid var(--orange); transform:rotate(45deg); transition:transform .28s ease; margin-top:5px; } .pg-faq details.faq[open] summary::after{ transform:rotate(-135deg); } .pg-faq details.faq summary:hover{ background:#f7fafd; } .pg-faq details.faq p{ padding:0 22px 20px 56px; color:#4a5560; font-size:15.5px; line-height:1.95; } .pg-faq .cta-panel{ position:relative; overflow:hidden; background:linear-gradient(135deg,#1f3b66,#2f6c8f); padding:clamp(38px,4.5vw,52px) clamp(24px,3vw,44px); text-align:center; margin-top:40px; } .pg-faq .cta-panel .wm{ position:absolute; right:-8px; bottom:-26px; z-index:0; font-family:'Manrope',sans-serif; font-weight:800; font-style:italic; font-size:clamp(80px,13vw,120px); line-height:.8; color:rgba(255,255,255,.08); pointer-events:none; } .pg-faq .cta-panel .in{ position:relative; z-index:1; } .pg-faq .cta-panel .free-row{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:18px; } .pg-faq .cta-panel .free-row span{ display:inline-flex; align-items:center; gap:7px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.3); color:#fff; font-weight:700; font-size:13.5px; padding:7px 14px; } .pg-faq .cta-panel .free-row b{ color:#FFB765; font-family:'Manrope',sans-serif; font-weight:800; } .pg-faq .cta-panel h2{ font-family:'Zen Kaku Gothic New',sans-serif; font-weight:700; font-size:clamp(20px,2.8vw,28px); color:#fff; line-height:1.5; margin:0 0 26px; } .pg-faq .cta-panel .btn-row{ display:inline-grid; grid-auto-flow:column; grid-auto-columns:1fr; align-items:stretch; gap:14px; justify-content:center; }
  @media(max-width:560px){ .pg-faq .cta-panel .btn-row{ grid-auto-flow:row; } } .pg-faq .cta-panel .btn-tel{ min-height:56px; padding:0 30px; background:#fff; color:#1f3b66; font-family:'Manrope',sans-serif; font-weight:800; font-size:20px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; text-decoration:none; }

/* === area === */ .pg-area span.line-chunk{ display:inline-block; overflow-wrap:anywhere; word-break:normal; } .pg-area .sec{ position:relative; overflow:hidden; padding:clamp(56px,8vw,104px) 20px; } .pg-area .wrap{ position:relative; max-width:1180px; margin:0 auto; } .pg-area .wrap.narrow{ max-width:880px; } .pg-area .bg-mist{ background:var(--mist); } .pg-area .bg-white{ background:#fff; } .pg-area .wm{ position:absolute; top:clamp(40px,6vw,88px); left:-8px; font-family:'Manrope',sans-serif; font-weight:800; font-style:italic; line-height:.78; letter-spacing:.02em; color:#eaf2fa; font-size:clamp(52px,12vw,168px); pointer-events:none; user-select:none; white-space:nowrap; } .pg-area .eyebrow-row{ display:flex; align-items:center; gap:11px; margin-bottom:16px; } .pg-area .dots{ display:inline-flex; gap:5px; } .pg-area .dots>span{ width:5px; height:5px; border-radius:50%; background:var(--orange); } .pg-area .eyebrow-b{ font-family:'Manrope',sans-serif; font-weight:700; font-size:13px; letter-spacing:.24em; color:var(--orange); } .pg-area .h2{ font-family:'Zen Kaku Gothic New',sans-serif; font-weight:700; letter-spacing:.02em; font-size:clamp(24px,3.6vw,36px); color:var(--ink); margin:0 0 16px; } .pg-area .lead{ font-size:clamp(15px,1.7vw,17px); color:#4a5560; line-height:2; margin:0 0 28px; } .pg-area .body-p{ font-size:clamp(15px,1.7vw,16.5px); color:#4a5560; line-height:2.05; margin:0 0 16px; } .pg-area .btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; text-decoration:none; border-radius:999px; font-weight:700; } .pg-area .btn-orange{ min-height:54px; padding:0 30px; background:var(--orange); color:#fff; font-size:15.5px; box-shadow:0 8px 20px rgba(232,115,12,.28); } .pg-area .btn-orange:hover{ background:#cf6208; color:#fff; } .pg-area .btn-ghost{ min-height:54px; padding:0 30px; border:1.5px solid rgba(255,255,255,.85); color:#fff; font-size:16px; } .pg-area .btn-ghost:hover{ background:rgba(255,255,255,.16); color:#fff; } .pg-area .btn-row{ display:inline-grid; grid-auto-flow:column; grid-auto-columns:1fr; align-items:stretch; gap:12px; }
  @media(max-width:560px){ .pg-area .btn-row{ grid-auto-flow:row; } } .pg-area .two-col{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:clamp(28px,5vw,56px); align-items:center; } .pg-area .media{ overflow:hidden; box-shadow:0 20px 50px rgba(31,59,102,.14); } .pg-area .media img{ display:block; width:100%; height:100%; object-fit:cover; } .pg-area .area-diagram{ position:relative; aspect-ratio:16/11; width:100%; display:flex; align-items:center; justify-content:center; background:var(--mist); border-radius:16px; box-shadow:0 20px 50px rgba(31,59,102,.14); } .pg-area .map-grid{ display:grid; width:64%; aspect-ratio:0.92; gap:12px; grid-template-columns:1.1fr 1fr 0.85fr; grid-template-rows:1fr 1fr 0.85fr; } .pg-area .piece{ clip-path:polygon(16% 0%, 100% 0%, 100% 84%, 84% 100%, 0% 100%, 0% 16%); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:#fff; font-weight:900; font-size:clamp(14px,1.7vw,18px); letter-spacing:.02em; filter:drop-shadow(0 10px 18px rgba(31,59,102,.22)); } .pg-area .piece-saitama{ grid-column:1/3; grid-row:1/2; background:var(--blue-light); } .pg-area .piece-tokyo{ grid-column:2/3; grid-row:2/4; background:var(--orange); z-index:2; gap:6px; } .pg-area .piece-kanagawa{ grid-column:1/2; grid-row:3/4; background:var(--orange-2); } .pg-area .piece-chiba{ grid-column:3/4; grid-row:1/4; background:var(--blue); } .pg-area .piece-sub{ font-size:clamp(11px,1.2vw,13px); font-weight:700; background:rgba(255,255,255,.24); padding:4px 10px; border-radius:999px; }
  @media(max-width:560px){ .pg-area .map-grid{ width:88%; } .pg-area .piece{ font-size:13px; } } .pg-area .pref-chips{ display:flex; flex-wrap:wrap; gap:10px; } .pg-area .pref-chips span{ background:#EEF3FC; color:#1f3b66; font-weight:700; font-size:14px; padding:9px 18px; border-radius:999px; } .pg-area .coverage-solo{ max-width:900px; } .pg-area .coverage-solo .h2{ font-size:clamp(27px,4.2vw,42px); margin:0 0 20px; } .pg-area .coverage-solo .body-p{ font-size:clamp(16.5px,2vw,19px); line-height:2.05; margin:0 0 30px; } .pg-area .coverage-solo .pref-chips{ gap:12px; } .pg-area .coverage-solo .pref-chips span{ font-size:16px; padding:12px 24px; } .pg-area .area-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; } .pg-area .area-item{ background:#fff; padding:16px 18px; font-weight:700; color:#1f3b66; font-size:15px; border-left:4px solid var(--blue-light); box-shadow:0 6px 18px rgba(31,59,102,.06); } .pg-area .area-item.main{ border-left-color:var(--orange-2); } .pg-area .note{ font-size:12.5px; color:#a8b3bd; margin-top:14px; } .pg-area .callout{ background:#EEF3FC; padding:clamp(28px,4vw,44px); } .pg-area .outarea-card{ position:relative; background:#fff; border-top:4px solid var(--orange); box-shadow:0 18px 44px rgba(31,59,102,.1); padding:clamp(30px,4vw,52px); overflow:hidden; } .pg-area .outarea-grid{ position:relative; display:grid; grid-template-columns:1.35fr 1fr; gap:clamp(26px,4vw,48px); align-items:center; }
  @media(max-width:720px){ .pg-area .outarea-grid{ grid-template-columns:1fr; } } .pg-area .out-pts{ list-style:none; margin:0; padding:clamp(22px,3vw,28px); display:flex; flex-direction:column; gap:14px; background:#EEF3FC; } .pg-area .out-pt{ display:flex; align-items:flex-start; gap:12px; font-size:14.5px; color:#26313b; line-height:1.7; font-weight:600; } .pg-area .out-pt::before{ content:''; flex:none; width:10px; height:10px; margin-top:6px; background:var(--orange-2); } .pg-area .cta{ position:relative; overflow:hidden; padding:clamp(64px,9vw,120px) 20px; background:#1f5685; } .pg-area .cta .bg{ position:absolute; inset:0; z-index:0; } .pg-area .cta .bg img{ display:block; width:100%; height:100%; object-fit:cover; } .pg-area .cta .ovl{ position:absolute; inset:0; z-index:1; background:linear-gradient(90deg, rgba(10,25,48,.92) 0%, rgba(10,25,48,.58) 52%, rgba(10,25,48,.14) 100%); } .pg-area .cta .frame{ position:absolute; inset:clamp(16px,2vw,26px); z-index:2; border:1px solid rgba(255,255,255,.32); pointer-events:none; }
  @media(max-width:600px){ .pg-area .cta .frame{ display:none; } } .pg-area .cta .wm{ position:absolute; right:-6px; bottom:-40px; z-index:1; font-family:'Manrope',sans-serif; font-weight:800; font-style:italic; font-size:clamp(84px,15vw,150px); line-height:.8; color:rgba(255,255,255,.1); pointer-events:none; } .pg-area .cta .eyebrow{ display:flex; align-items:center; gap:12px; margin-bottom:20px; } .pg-area .cta .eyebrow .bar{ width:34px; height:1px; background:#E8730C; } .pg-area .cta .eyebrow .lbl{ font-family:'Manrope',sans-serif; font-weight:700; font-size:12px; letter-spacing:.34em; color:#fff; } .pg-area .cta .in p{ max-width:520px; } .pg-area .cta .in{ position:relative; z-index:3; max-width:1180px; margin:0 auto; } .pg-area .cta h2{ font-family:'Zen Kaku Gothic New',sans-serif; font-weight:900; color:#fff; font-size:clamp(23px,3.8vw,38px); line-height:1.4; margin:0 0 14px; text-shadow:0 2px 14px rgba(10,30,54,.5); } .pg-area .cta p{ color:rgba(255,255,255,.94); font-size:clamp(15px,1.9vw,18px); line-height:1.9; margin:0 0 30px; } .pg-area .cta .btn-row{ justify-content:flex-start; }

/* === blog === */ .pg-blog .parts222_section{ position:relative; overflow:hidden; padding:clamp(56px,8vw,104px) 20px; background:#fff; } .pg-blog .parts222_section .wm{ position:absolute; top:clamp(40px,6vw,88px); left:-8px; font-family:'Manrope',sans-serif; font-weight:800; font-style:italic; line-height:.78; letter-spacing:.02em; color:#eaf2fa; font-size:clamp(52px,12vw,168px); pointer-events:none; white-space:nowrap; } .pg-blog .blog-head{ position:relative; max-width:1180px; margin:0 auto 30px; } .pg-blog .eyebrow-row{ display:flex; align-items:center; gap:11px; margin-bottom:14px; } .pg-blog .dots{ display:inline-flex; gap:5px; } .pg-blog .dots>span{ width:5px; height:5px; border-radius:50%; background:var(--orange); } .pg-blog .eyebrow-b{ font-family:'Manrope',sans-serif; font-weight:700; font-size:13px; letter-spacing:.24em; color:var(--orange); } .pg-blog .blog-head h2{ font-family:'Zen Kaku Gothic New',sans-serif; font-weight:700; letter-spacing:.02em; font-size:clamp(24px,3.6vw,34px); color:var(--ink); } .pg-blog .parts222_wrap{ position:relative; max-width:1180px; margin:0 auto; display:flex; flex-wrap:wrap; gap:clamp(28px,4vw,48px); align-items:flex-start; } .pg-blog .parts222_main{ flex:3 1 460px; min-width:0; } .pg-blog .parts222_post_list{ display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:22px; } .pg-blog .parts222_post_wrap{ background:#fff; border:1px solid #e6eef4; overflow:hidden; box-shadow:0 8px 24px rgba(31,59,102,.06); transition:box-shadow .3s ease, transform .3s ease; } .pg-blog .parts222_post_wrap:hover{ box-shadow:0 16px 40px rgba(31,59,102,.14); transform:translateY(-4px); } .pg-blog .parts222_post_wrap a{ text-decoration:none; display:block; color:inherit; } .pg-blog .parts222_post_img{ aspect-ratio:16/10; overflow:hidden; } .pg-blog .parts222_post_img img{ width:100%; height:100%; object-fit:cover; } .pg-blog .parts222_post_body{ padding:16px 18px 18px; } .pg-blog .parts222_post_status{ display:flex; align-items:center; gap:10px; margin:16px 18px 8px; } .pg-blog .parts222_post_date{ font-family:'Manrope',sans-serif; font-weight:700; font-size:12.5px; color:#8a97a2; } .pg-blog .parts222_post_category{ font-size:11px; font-weight:700; color:#2f6c8f; background:#EEF3FC; padding:3px 9px; } .pg-blog .parts222_post_title-excerpt{ margin:0 18px 18px; } .pg-blog .parts222_post_title{ font-family:'Zen Kaku Gothic New',sans-serif; font-size:16px; font-weight:700; color:var(--ink); line-height:1.6; } .pg-blog .parts222_pagenation{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px; margin-top:36px; } .pg-blog .parts222_pagenation a{ min-width:44px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; padding:0 12px; border:1px solid #d7e0e7; color:var(--blue); text-decoration:none; font-weight:700; font-size:13px; font-family:'Manrope',sans-serif; border-radius:999px; } .pg-blog .parts222_pagenation a.current{ background:var(--blue); color:#fff; border-color:var(--blue); } .pg-blog .parts222_sidebar{ flex:1 1 260px; max-width:320px; } .pg-blog .parts222_sidebar_wrap{ margin-bottom:28px; } .pg-blog .parts222_sidebar_wrap h3{ font-family:'Zen Kaku Gothic New',sans-serif; font-size:15px; font-weight:700; color:#fff; background:var(--blue); padding:12px 16px; margin:0; } .pg-blog .parts222_sidebar_wrap ul{ border:1px solid #e6eef4; border-top:0; } .pg-blog .parts222_sidebar_wrap li{ border-bottom:1px solid #eef2f6; } .pg-blog .parts222_sidebar_wrap li:last-child{ border-bottom:0; } .pg-blog .parts222_sidebar_wrap li a{ display:block; padding:14px 16px; text-decoration:none; } .pg-blog .category_post_count li a{ display:flex; align-items:center; justify-content:space-between; gap:10px; } .pg-blog .parts222_sidebar_date{ font-family:'Manrope',sans-serif; font-weight:700; font-size:12px; color:#8a97a2; } .pg-blog .parts222_sidebar_post_title{ font-size:13.5px; color:var(--ink); line-height:1.6; margin-top:4px; } .pg-blog .parts222_sidebar_post_category{ font-size:13.5px; color:var(--ink); margin:0; } .pg-blog .parts222_sidebar_post_category_count{ font-family:'Manrope',sans-serif; font-size:12px; font-weight:700; color:var(--blue); border:1px solid #cfe0ef; min-width:28px; text-align:center; padding:2px 6px; }
  @media(max-width:834px){ .pg-blog .parts222_main{ flex:1 1 100%; } .pg-blog .parts222_sidebar{ flex:1 1 100%; max-width:none; } .pg-blog .parts222_post_list{ grid-template-columns:repeat(2,1fr); }
  }
  @media(max-width:520px){ .pg-blog .parts222_post_list{ grid-template-columns:1fr; } }

/* === form-inquiry === */ .pg-forminquiry span.line-chunk{ display:inline-block; overflow-wrap:anywhere; word-break:normal; } .pg-forminquiry .sec{ position:relative; overflow:hidden; padding:clamp(52px,7vw,88px) 20px; } .pg-forminquiry .wrap{ position:relative; max-width:1180px; margin:0 auto; } .pg-forminquiry .bg-mist{ background:var(--mist); } .pg-forminquiry .bg-white{ background:#fff; } .pg-forminquiry .wm{ position:absolute; top:clamp(36px,5vw,80px); left:-8px; font-family:'Manrope',sans-serif; font-weight:800; font-style:italic; line-height:.78; letter-spacing:.02em; color:#eaf2fa; font-size:clamp(48px,11vw,150px); pointer-events:none; white-space:nowrap; } .pg-forminquiry .eyebrow-row{ display:flex; align-items:center; gap:11px; margin-bottom:14px; } .pg-forminquiry .eyebrow-row.center{ justify-content:center; } .pg-forminquiry .dots{ display:inline-flex; gap:5px; } .pg-forminquiry .dots>span{ width:5px; height:5px; border-radius:50%; background:var(--orange); } .pg-forminquiry .eyebrow-b{ font-family:'Manrope',sans-serif; font-weight:700; font-size:13px; letter-spacing:.24em; color:var(--orange); } .pg-forminquiry .h2{ font-family:'Zen Kaku Gothic New',sans-serif; font-weight:700; letter-spacing:.02em; font-size:clamp(24px,3.6vw,36px); color:var(--ink); margin:0 0 16px; } .pg-forminquiry .flow-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:12px; }
  @media(max-width:834px){ .pg-forminquiry .flow-grid{ grid-template-columns:1fr; gap:12px; } .pg-forminquiry .flow-card{ display:grid; grid-template-columns:76px 1fr; column-gap:18px; row-gap:4px; align-items:baseline; } .pg-forminquiry .flow-card .step{ grid-column:1; grid-row:1 / span 2; align-self:center; } .pg-forminquiry .flow-card h3{ grid-column:2; grid-row:1; margin:0; } .pg-forminquiry .flow-card p{ grid-column:2; grid-row:2; margin:0; }
  } .pg-forminquiry .flow-card{ background:#fff; box-shadow:0 8px 24px rgba(31,59,102,.08); padding:22px 18px; } .pg-forminquiry .flow-card .step{ font-family:'Manrope',sans-serif; font-weight:800; font-size:13px; color:var(--orange); } .pg-forminquiry .flow-card h3{ font-family:'Zen Kaku Gothic New',sans-serif; font-size:16px; font-weight:700; color:var(--ink); margin:6px 0 4px; } .pg-forminquiry .flow-card p{ font-size:12.5px; color:#6a7681; line-height:1.8; margin:0; } .pg-forminquiry .ch-panel{ display:grid; grid-template-columns:repeat(2,1fr); background:#fff; box-shadow:0 12px 34px rgba(31,59,102,.1); overflow:hidden; }
  @media(max-width:720px){ .pg-forminquiry .ch-panel{ grid-template-columns:1fr; } } .pg-forminquiry .ch-item{ padding:34px 28px; text-align:center; display:flex; flex-direction:column; align-items:center; } .pg-forminquiry .ch-item .lbl{ font-size:13px; font-weight:700; color:#7c8b97; letter-spacing:.08em; margin-bottom:0; } .pg-forminquiry .ch-item .mid{ flex:1; display:flex; align-items:center; justify-content:center; min-height:78px; } .pg-forminquiry .ch-item .tel{ font-family:'Manrope',sans-serif; font-weight:800; font-size:clamp(24px,3.4vw,32px); color:#1f3b66; text-decoration:none; line-height:1.2; } .pg-forminquiry .ch-item .note{ font-size:13px; color:#6a7681; margin:0; } .pg-forminquiry .ch-item .free{ font-family:'Manrope',sans-serif; font-weight:800; font-size:clamp(28px,4vw,36px); color:var(--orange); line-height:1.1; } .pg-forminquiry .btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; text-decoration:none; border-radius:999px; font-weight:700; } .pg-forminquiry .btn-line{ min-height:52px; padding:0 28px; background:#06C755; color:#fff; font-size:15.5px; } .pg-forminquiry .btn-line:hover{ background:#05a648; color:#fff; } .pg-forminquiry .ch-item + .ch-item{ border-left:1px solid #e6eef4; }
  @media(max-width:720px){ .pg-forminquiry .ch-item + .ch-item{ border-left:0; border-top:1px solid #e6eef4; } } .pg-forminquiry .form-intro{ max-width:760px; margin:0 auto; text-align:center; } .pg-forminquiry .form-intro p{ font-size:15px; color:#4a5560; line-height:2; } .pg-forminquiry .parts213_section_form{ max-width:760px; margin:0 auto; } .pg-forminquiry form dl{ margin-bottom:24px; } .pg-forminquiry form dt{ font-weight:700; font-size:14.5px; color:var(--ink); margin-bottom:8px; display:flex; align-items:flex-start; justify-content:space-between; gap:10px; flex-wrap:wrap; } .pg-forminquiry .required{ font-size:11px; font-weight:700; color:#fff; background:var(--orange); padding:2px 8px; border-radius:999px; flex:none; }
  @media(max-width:600px){ .pg-forminquiry form dt{ justify-content:flex-start; align-items:center; } } .pg-forminquiry .attention{ display:block; font-weight:400; font-size:12px; color:#d64545; margin-top:4px; } .pg-forminquiry .f-input{ width:100%; font-family:inherit; font-size:16px; color:var(--body); padding:13px 14px; border:1px solid #cdd8e1; border-radius:8px; background:#fff; } .pg-forminquiry .f-input:focus{ border-color:var(--blue-light); outline:none; box-shadow:0 0 0 3px rgba(90,168,214,.2); } .pg-forminquiry form dd label{ display:flex; align-items:center; gap:10px; font-size:15px; color:#3a4650; min-height:44px; cursor:pointer; } .pg-forminquiry form dd label input{ width:20px; height:20px; accent-color:var(--orange); } .pg-forminquiry .error{ color:#d64545; font-size:12.5px; margin-top:6px; } .pg-forminquiry .error:empty{ display:none; } .pg-forminquiry .contact_submit{ text-align:center; } .pg-forminquiry .contact_submit input[type=submit]{ font-family:inherit; min-height:56px; padding:0 48px; background:var(--blue); color:#fff; font-weight:700; font-size:16.5px; border:0; border-radius:999px; cursor:pointer; } .pg-forminquiry .contact_submit input[type=submit]:hover{ background:#3183ba; } .pg-forminquiry .contact_submit p{ font-size:12.5px; color:#8a97a2; margin-top:14px; }

/* === privacypolicy === */ .pg-privacypolicy .sec{ position:relative; overflow:hidden; padding:clamp(56px,8vw,96px) 20px; } .pg-privacypolicy .wrap{ position:relative; max-width:820px; margin:0 auto; } .pg-privacypolicy .bg-white{ background:#fff; } .pg-privacypolicy .wm{ position:absolute; top:clamp(32px,5vw,72px); left:-8px; font-family:'Manrope',sans-serif; font-weight:800; font-style:italic; line-height:.78; letter-spacing:.02em; color:#eaf2fa; font-size:clamp(44px,10vw,132px); pointer-events:none; user-select:none; white-space:nowrap; } .pg-privacypolicy .pp-block{ margin-bottom:36px; } .pg-privacypolicy .pp-block h2{ font-family:'Zen Kaku Gothic New',sans-serif; font-weight:700; font-size:clamp(18px,2.4vw,22px); color:#1f3b66; margin:0 0 12px; padding-left:14px; border-left:4px solid var(--orange); } .pg-privacypolicy .pp-block p{ font-size:15px; color:#4a5560; line-height:2.05; } .pg-privacypolicy .info-box{ background:var(--mist); padding:28px 26px; } .pg-privacypolicy .info-box h2{ font-family:'Zen Kaku Gothic New',sans-serif; font-weight:700; font-size:clamp(17px,2.2vw,20px); color:#1f3b66; margin:0 0 16px; } .pg-privacypolicy .info-box dl{ display:grid; gap:10px; } .pg-privacypolicy .info-box .row{ display:flex; gap:12px; } .pg-privacypolicy .info-box dt{ min-width:96px; font-weight:700; color:var(--blue); font-size:14px; } .pg-privacypolicy .info-box dd{ font-size:14.5px; color:#3a4650; }

/* BASlider（before/after スライダー・BODY内JSが .ms-ba-range を監視して clip-path/left を更新） */
.ms-ba-range{ -webkit-appearance:none; appearance:none; background:transparent; }
.ms-ba-range::-webkit-slider-thumb{ -webkit-appearance:none; width:44px; height:100%; cursor:ew-resize; }
.ms-ba-range::-moz-range-thumb{ width:44px; height:100%; border:0; background:transparent; cursor:ew-resize; }


/* ===== 22_override.css ===== */
/* ============================================================
   案件override（skin不採用：受領CSSが .parts222/228/213 系を自前styleしているため。cz-judgment §3）
   ここには「CueZilla自動生成CSSに勝つ必要がある最小の調整」だけを書く。
   ============================================================ */
/* CueZilla自動パンくず（parts###_breadcrumb）を非表示。各ページのPageHeroに独自パンくずがあるため重複回避。 */
[class*="_breadcrumb"]{ display:none !important; }

/* KEEP: 受領 add.css / add-dynamic-lower.css の取り込み。CueZillaが pg-* スコープの外に描画する動的パーツ（design-parts-52 / parts131415 / parts222 / parts228 / parts213）へ当てる唯一のCSS。消すと動的パーツが全て無装飾に戻る（2026-07-29 実機実測で確認） */

/* ===== 受領 add.css（TOP動的パーツ）取り込み ===== */
/* 株式会社エムズサービス｜TOP 動的セクション用スタイル
   theme_default.css の後に読み込む（後勝ち）。固有IDに依存させず [class*="..."] で当てる。
   配色：メイン青 #5AA8D6 / 濃青 #3E8CBB / 数値青 #1f3b66 / アクセント橙 #E8730C / 淡青 #f2f7fb */

/* ---------------------------------------------------------------
   1) NEWS帯（design-parts-52 系）横1行帯型
   元パーツ直値の上書き：ラベル背景 #bf172e → #E8730C ／ 帯背景 #dddddd → #f2f7fb
--------------------------------------------------------------- */
section[class*="design-parts-52"].bg-color,
section[class*="design-parts-52"] {
  background: #f2f7fb !important;
}
section[class*="design-parts-52"] .container {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
}
section[class*="design-parts-52"] .content {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;   /* stretch にしない（ラベルが行数分に伸びるのを防ぐ） */
  gap: 16px !important;
  padding: 14px 0 !important;
}
section[class*="design-parts-52"] .banner-area {
  display: inline-flex !important;
  align-items: center !important;
  background: #E8730C !important;   /* 直値 #bf172e を上書き */
  color: #fff !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
  font-size: 13px !important;
  padding: 9px 18px !important;
  border-radius: 8px !important;
  flex: none !important;
  margin: 0 !important;
}
section[class*="design-parts-52"] ul {
  flex: 1 1 300px !important;
  min-width: 0 !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
section[class*="design-parts-52"] li a {
  text-decoration: none !important;
  display: block !important;
  padding: 6px 0 !important;
}
section[class*="design-parts-52"] .parts-52-textarea {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  gap: 8px 18px !important;
  min-height: 44px !important;      /* タップ対象確保 */
}
section[class*="design-parts-52"] .parts-52-textarea .date {
  font-weight: 700 !important;
  color: #3E8CBB !important;
  font-size: 14px !important;
  flex: none !important;
}
section[class*="design-parts-52"] .parts-52-textarea .d-inline-block {
  color: #2A2E33 !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
}
/* PC（≥992px）で NEWSラベルと記事を横1行に */
@media (min-width: 992px) {
  section[class*="design-parts-52"] .content { flex-wrap: nowrap !important; }
  section[class*="design-parts-52"] .parts-52-textarea { flex-wrap: nowrap !important; }
}

/* ---------------------------------------------------------------
   2) 記事カード（parts131415_blog 系）3列カードグリッド
   元パーツ直値の上書き：見出し h2 #ffffff → #22303a ／ bg-img 背景画像 → 淡青ベタ
   カード内表示順（固定）：h5.card-title → p.card-text → 写真（order で担保）
--------------------------------------------------------------- */
section[class*="parts131415_blog"].bg-img,
section[class*="parts131415_blog"] {
  background-image: none !important;   /* 元サイト固有背景画像を消す */
  background: #f2f7fb !important;
  padding: clamp(56px, 8vw, 100px) 20px !important;
}
section[class*="parts131415_blog"] .container-lg {
  max-width: 1180px !important;
  margin: 0 auto !important;
}
section[class*="parts131415_blog"] [class*="_title_wrap"] {
  margin-bottom: 32px !important;
}
section[class*="parts131415_blog"] [class*="_title_wrap"] h2 {
  color: #22303a !important;           /* 直値 #ffffff を上書き */
  font-weight: 700 !important;
  font-size: clamp(24px, 3.8vw, 36px) !important;
  margin: 0 0 8px !important;
}
section[class*="parts131415_blog"] [class*="_title_wrap"] p {
  color: #4a5560 !important;
  font-size: clamp(14px, 1.6vw, 16px) !important;
  line-height: 1.9 !important;
  margin: 0 !important;
}
/* Bootstrap row-cols を土台に、余白のみ調整（列数はBootstrap任せ） */
section[class*="parts131415_blog"] .row {
  --bs-gutter-x: 22px !important;
  --bs-gutter-y: 22px !important;
}
section[class*="parts131415_blog"] .card {
  background: #fff !important;
  border: 0 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 8px 24px rgba(31, 59, 102, .08) !important;
  height: 100% !important;
}
section[class*="parts131415_blog"] .card-body {
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
}
/* 表示順：写真(0) → タイトル(1) → カード見出し(2) → リンク(3) の視覚順に整える
   ※構造の並びは変えず order で見た目のみ制御 */
section[class*="parts131415_blog"] .parts131415_blog_thumbnail { order: 0 !important; overflow: hidden !important; }
section[class*="parts131415_blog"] .card-body .card-text { order: 1 !important; }
section[class*="parts131415_blog"] .card-body .card-title { order: 2 !important; }
section[class*="parts131415_blog"] .card-body > a { order: 3 !important; }
section[class*="parts131415_blog"] .parts131415_blog_thumbnail img {
  width: 100% !important;
  height: 240px !important;
  object-fit: cover !important;
  display: block !important;
}
section[class*="parts131415_blog"] .card-title {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #3E8CBB !important;
  letter-spacing: .04em !important;
  padding: 16px 18px 0 !important;
  margin: 0 !important;
  text-align: left !important;
}
section[class*="parts131415_blog"] .card-text {
  font-size: 15.5px !important;
  font-weight: 700 !important;
  color: #22303a !important;
  line-height: 1.6 !important;
  padding: 8px 18px 18px !important;
  margin: 0 !important;
}
@media (max-width: 991px) { section[class*="parts131415_blog"] .parts131415_blog_thumbnail img { height: 215px !important; } }
@media (max-width: 575px) { section[class*="parts131415_blog"] .parts131415_blog_thumbnail img { height: 205px !important; } }

/* ===== 受領 add-dynamic-lower.css（下層動的パーツ）取り込み ===== */
/* 株式会社エムズサービス｜下層 動的ページ用スタイル（施工実績 / ブログ / お問い合わせ）
   theme_default.css の後に読み込む（後勝ち）。固有IDに依存させず [class*="..."] で当てる。
   配色：青 #5AA8D6 / 濃青 #3E8CBB / 紺 #1f3b66 / 橙 #E8730C / 淡青 #f2f7fb / 罫 #e6eef4 */

/* =====================================================================
   1) 施工実績一覧（parts228 系）— PC3列 / タブ2列 / スマホ1列
===================================================================== */
[class*="parts228_section"] { padding: clamp(44px,6vw,80px) 20px !important; background:#fff !important; }
[class*="parts228_wrap"] { max-width:1180px !important; margin:0 auto !important; }
[class*="parts228_post_list"] {
  display:grid !important;
  grid-template-columns:repeat(3, 1fr) !important;
  gap:24px !important;
}
[class*="parts228_post_wrap"] {
  background:#fff !important; border:1px solid #e6eef4 !important; border-radius:14px !important;
  overflow:hidden !important; box-shadow:0 8px 24px rgba(31,59,102,.06) !important;
}
[class*="parts228_post_img"] { aspect-ratio:4/3 !important; overflow:hidden !important; }
[class*="parts228_post_img"] img { width:100% !important; height:100% !important; object-fit:cover !important; }
[class*="parts-blog-ex-tag_wrap"] { display:flex !important; flex-wrap:wrap !important; gap:6px !important; margin:16px 18px 0 !important; }
[class*="parts-blog-ex_tag"] { font-size:11px !important; font-weight:700 !important; color:#2f6c8f !important; background:#EEF3FC !important; padding:4px 10px !important; border-radius:6px !important; }
[class*="parts228_post_status"] { margin:8px 18px 0 !important; }
[class*="parts228_post_date"] { font-weight:700 !important; font-size:13px !important; color:#8a97a2 !important; }
[class*="parts228_post_title-excerpt"] { margin:4px 18px 18px !important; }
[class*="parts228_post_title"] { font-size:16px !important; font-weight:700 !important; color:#22303a !important; line-height:1.6 !important; }
[class*="parts228_post_excerpt"] { margin:0 18px 18px !important; font-size:13.5px !important; color:#6a7681 !important; line-height:1.8 !important; }
@media (max-width: 820px){ [class*="parts228_post_list"]{ grid-template-columns:repeat(2, 1fr) !important; } }
@media (max-width: 575px){ [class*="parts228_post_list"]{ grid-template-columns:1fr !important; } }

/* ページネーション（parts228 / parts222 共通見た目） */
[class*="_pagenation"] { display:flex !important; flex-wrap:wrap !important; justify-content:center !important; align-items:center !important; gap:8px !important; margin-top:40px !important; }
[class*="_pagenation"] a { min-width:44px !important; min-height:44px !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; padding:0 12px !important; border:1px solid #d7e0e7 !important; border-radius:8px !important; color:#3E8CBB !important; text-decoration:none !important; font-weight:700 !important; }
[class*="_pagenation"] .pagination_num.current { background:#3E8CBB !important; color:#fff !important; border-color:#3E8CBB !important; }

/* =====================================================================
   2) ブログ一覧＋サイドバー（parts222 系）
      左：記事一覧（PC2列）／右：サイドバー。narrow で縦積み
===================================================================== */
[class*="parts222_section"] { padding: clamp(44px,6vw,80px) 20px !important; background:#fff !important; }
[class*="parts222_wrap"] {
  max-width:1180px !important; margin:0 auto !important;
  display:flex !important; flex-wrap:wrap !important; gap:clamp(28px,4vw,48px) !important; align-items:flex-start !important;
}
[class*="parts222_main"] { flex:3 1 460px !important; min-width:0 !important; }
[class*="parts222_sidebar"] { flex:1 1 260px !important; max-width:320px !important; }
[class*="parts222_post_list"] { display:grid !important; grid-template-columns:repeat(2, 1fr) !important; gap:22px !important; }
[class*="parts222_post_wrap"] { border:1px solid #e6eef4 !important; border-radius:14px !important; overflow:hidden !important; box-shadow:0 8px 24px rgba(31,59,102,.06) !important; }
[class*="parts222_post_wrap"] > a { text-decoration:none !important; display:block !important; }
[class*="parts222_post_img"] { aspect-ratio:16/10 !important; overflow:hidden !important; }
[class*="parts222_post_img"] img { width:100% !important; height:100% !important; object-fit:cover !important; }
[class*="parts222_post_status"] { display:flex !important; align-items:center !important; gap:10px !important; margin:16px 18px 8px !important; }
[class*="parts222_post_date"] { font-weight:700 !important; font-size:12.5px !important; color:#8a97a2 !important; }
[class*="parts222_post_category"] { font-size:11px !important; font-weight:700 !important; color:#2f6c8f !important; background:#EEF3FC !important; padding:3px 9px !important; border-radius:6px !important; }
[class*="parts222_post_title-excerpt"] { margin:0 18px 18px !important; }
[class*="parts222_post_title"] { font-size:16px !important; font-weight:700 !important; color:#22303a !important; line-height:1.6 !important; }
/* サイドバー */
[class*="parts222_sidebar_wrap"] { margin-bottom:28px !important; }
[class*="parts222_sidebar_wrap"] > h3 { font-size:15px !important; font-weight:700 !important; color:#fff !important; background:#3E8CBB !important; padding:12px 16px !important; border-radius:10px 10px 0 0 !important; margin:0 !important; }
[class*="parts222_sidebar_wrap"] > ul { border:1px solid #e6eef4 !important; border-top:0 !important; border-radius:0 0 10px 10px !important; list-style:none !important; padding:0 !important; margin:0 !important; }
[class*="parts222_sidebar_wrap"] li { border-bottom:1px solid #eef2f6 !important; }
[class*="parts222_sidebar_wrap"] li:last-child { border-bottom:0 !important; }
[class*="parts222_sidebar_wrap"] li a { display:block !important; padding:14px 16px !important; text-decoration:none !important; }
[class*="parts222_sidebar_date"] { font-weight:700 !important; font-size:12px !important; color:#8a97a2 !important; }
[class*="parts222_sidebar_post_title"] { font-size:13.5px !important; color:#22303a !important; line-height:1.6 !important; margin-top:4px !important; }
[class*="category_post_count"] li a { display:flex !important; align-items:center !important; justify-content:space-between !important; gap:10px !important; }
[class*="parts222_sidebar_post_category"] { font-size:13.5px !important; color:#22303a !important; margin:0 !important; }
[class*="parts222_sidebar_post_category_count"] { font-size:12px !important; font-weight:700 !important; color:#3E8CBB !important; border:1px solid #cfe0ef !important; border-radius:6px !important; min-width:28px !important; text-align:center !important; padding:2px 6px !important; }
@media (max-width: 767px){ [class*="parts222_post_list"]{ grid-template-columns:1fr !important; } [class*="parts222_sidebar"]{ max-width:none !important; } }

/* =====================================================================
   3) お問い合わせフォーム（parts213 系）
      装飾枠を足さないフラット設計。ラベルと入力欄を縦に並べるだけ。
===================================================================== */
.contact_section { background:#fff !important; padding: clamp(36px,5vw,64px) 20px clamp(56px,7vw,88px) !important; }
.contact_section .parts213_section_form { max-width:760px !important; margin:0 auto !important; }
.contact_section dl { margin:0 0 24px !important; }
.contact_section dt { font-weight:700 !important; font-size:14.5px !important; color:#22303a !important; margin-bottom:8px !important; }
.contact_section dd { margin:0 !important; }
.contact_section input[type="text"],
.contact_section input[type="email"],
.contact_section textarea {
  width:100% !important; font-family:inherit !important; font-size:16px !important; color:#2A2E33 !important;
  padding:13px 14px !important; border:1px solid #cdd8e1 !important; border-radius:6px !important; background:#fff !important;
}
.contact_section input:focus, .contact_section textarea:focus { border-color:#5AA8D6 !important; outline:none !important; box-shadow:0 0 0 3px rgba(90,168,214,.2) !important; }
.contact_section .required { font-size:11px !important; font-weight:700 !important; color:#fff !important; background:#E8730C !important; padding:2px 8px !important; border-radius:4px !important; margin-left:8px !important; }
.contact_section .attention { display:block !important; font-weight:400 !important; font-size:12px !important; color:#d64545 !important; margin-top:4px !important; }
.contact_section .error { color:#d64545 !important; font-size:12.5px !important; margin-top:6px !important; }
.contact_section .contact_submit { text-align:center !important; }
.contact_section .contact_submit input[type="submit"] {
  min-height:56px !important; padding:0 48px !important; background:#3E8CBB !important; color:#fff !important;
  font-weight:700 !important; font-size:16.5px !important; border:0 !important; border-radius:10px !important; cursor:pointer !important; width:auto !important;
}
.contact_section .contact_submit input[type="submit"]:hover { background:#357aa3 !important; }
/* /KEEP */

/* KEEP: 実機実測で判明した個別修正（2026-07-29）。消すと(a)見出し中央寄せ・(b)器と実パーツの二重余白が再発する */

/* (a) /blog の見出し「記事一覧」が中央寄せになる問題の修正
   本文側（pg-blog内）の器のh2がCueZillaテーマのh2からtext-align:centerを受けている（実測）。
   .blog-head自体はtextAlign=startで正しいためh2だけ戻す。 */
.pg-blog [class*="blog-head"] h2{ text-align:left; }
/* ※ /blog-ex/instance の器の h2 は class="h2" を持ち .pg-blogex .h2 が当たるため
   実測で textAlign=start（中央寄せは起きない）。同種の修正は不要と確認済み（2026-07-29 実機実測）。 */

/* (b) /blog で器（見出しだけの器）と直後の実パーツの間で padding が二重に効き、無駄な余白が空く問題の修正
   器側の下paddingだけを詰める。実パーツ側（pg-*の外）のpaddingは削らない。
   実測: 器 padding-bottom:104px ＋ 実パーツ padding-top:100px ＝ 204px の空白。
   ※ /blog-ex/instance の器は .sec.tight.bg-white（padding-bottom:0・実パーツとの差0px）で
      この問題が起きないため対象外（2026-07-29 実機実測）。 */
.pg-blog [class*="parts222_section"]{ padding-bottom:0 !important; }
/* /KEEP */

/* KEEP: 実機実測で判明した動的パーツの崩れ修正（2026-07-29 第2次）。
   CueZillaが自動付与する値（flex用のwidth:%、dl:flex、type=telの未カバー等）と
   受領CSSの相互作用で崩れる箇所。消すとカード潰れ・フォーム横並びが再発する。 */

/* A. 記事カード／事例カードが極小に潰れ、画像がはみ出す問題の修正
   CueZillaがflexレイアウト用に付けているwidth:47.735% / max-width:32.465%が
   受領CSSのgridセル幅にさらに掛かって二重に縮む（実測）。 */
[class*="parts222_post_wrap"],
[class*="parts228_post_wrap"]{ width:100% !important; max-width:none !important; }
[class*="parts222_post_img"],
[class*="parts228_post_img"]{ width:100% !important; }
[class*="parts222_post_img"] img,
[class*="parts228_post_img"] img{ width:100% !important; height:100% !important; object-fit:cover !important; }

/* B. お問い合わせフォームが横並びになり、必須バッジが浮く問題の修正
   CueZillaテーマのdl:flex（dt幅345px）が残り、縦積み前提の受領CSSと逆の横並びになる（実測）。 */
.contact_section dl{ display:block !important; }
.contact_section dt{ display:block !important; width:auto !important; max-width:none !important; }
.contact_section dd{ width:auto !important; max-width:none !important; }

/* C. 電話番号の入力欄だけ灰色で短い問題の修正
   受領CSSがinput[type="text"]とinput[type="email"]にしか当たっておらずtelが漏れている（実測）。 */
.contact_section input[type="tel"]{
  width:100% !important; font-family:inherit !important; font-size:16px !important; color:#2A2E33 !important;
  padding:13px 14px !important; border:1px solid #cdd8e1 !important; border-radius:6px !important; background:#fff !important;
}

/* D. 入力欄・チェックボックスのタップ領域が不足（R-19：44px）の修正 */
.contact_section input[type="text"],
.contact_section input[type="email"],
.contact_section input[type="tel"]{ min-height:48px !important; }
.contact_section dd label{ display:inline-flex !important; align-items:center !important; gap:8px !important; min-height:44px !important; margin-right:20px !important; }
.contact_section input[type="checkbox"]{ width:18px !important; height:18px !important; flex:none !important; margin:0 !important; }

/* E. /blog の見出しが二重に出る問題の修正
   本文側の器の見出しの下にCueZillaパーツが中央寄せ・青のh2「ブログ」を追加で出している（実測）。
   ※ /blog-ex/instance のparts228はセクション直下にh2を持たないため対象外。 */
[class*="parts222_section"] > h2{ display:none !important; }

/* F. 記事カードのカテゴリバッジが2行に折り返す問題の修正 */
[class*="parts222_post_category"]{ white-space:nowrap !important; }

/* G. サイドバーのカテゴリ件数バッジが灰色で間延びする問題の修正 */
[class*="parts222_sidebar_post_category_count"]{ background:#fff !important; flex:none !important; width:auto !important; }

/* H. TOPのNEWS帯だけ内容が20px内側にずれる問題の修正
   .containerのpadding:0 20pxで中身が下のセクション内容（左端189px）より20px内側になる（実測）。
   paddingは残したまま外枠を広げて内容幅を合わせる。 */
section[class*="design-parts-52"] .container{ max-width:1220px !important; }

/* I. TOPのBLOGカードの見出しが中央寄せになる問題の修正
   自前セクションはすべて左揃え見出しのため統一する。 */
section[class*="parts131415_blog"] [class*="_title_wrap"]{ text-align:left !important; }
/* /KEEP */

/* KEEP: /blog 右カラム（サイドバー）を受領データの体裁に戻す（2026-07-29 ディレクター指示）。
   一度サイトのカード意匠（白地見出し＋オレンジバー＋角丸14px＋影）へ寄せたが、
   受領データ（受領データ/blog.html の helmet CSS ＋ add-dynamic-lower.css）の
   「青ベタ見出し帯＋角丸なしのリスト」が正であるため差し戻す。
   ※ 上の受領CSS取り込み（210〜233行）を打ち消していた指定を、受領値に戻す形で明示する。 */

/* 見出し：受領どおり 青ベタ＋白文字。カード化（角丸14px・影・左オレンジバー）は行わない */
[class*="parts222_sidebar_wrap"]{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
  margin-bottom:28px !important;
}
[class*="parts222_sidebar_wrap"] > h3{
  background:#3E8CBB !important;
  color:#fff !important;
  font-size:15px !important;
  font-weight:700 !important;
  letter-spacing:normal !important;
  padding:12px 16px !important;
  border:0 !important;
  border-radius:10px 10px 0 0 !important;
  margin:0 !important;
}
/* リスト：受領どおり 上辺なしの枠＋下側だけ角丸 */
[class*="parts222_sidebar_wrap"] > ul{
  border:1px solid #e6eef4 !important;
  border-top:0 !important;
  border-radius:0 0 10px 10px !important;
  overflow:hidden !important;
}
/* 各項目（最近の投稿・カテゴリ）の左右に出る濃い縦線を消す
   実測: CueZillaテーマが li に border-left/right:1px solid #666（濃いグレー）を付けており、
   下辺の #eef2f6（受領指定）だけが薄いため、左右だけ黒い縦線に見えていた。
   左右・上を消して、下の薄い線だけを残す。 */
[class*="parts222_sidebar_wrap"] li{
  border-left:0 !important;
  border-right:0 !important;
  border-top:0 !important;
  border-bottom:1px solid #eef2f6 !important;
}
[class*="parts222_sidebar_wrap"] li:last-child{ border-bottom:0 !important; }
[class*="parts222_sidebar_wrap"] li a{ padding:14px 16px !important; }
[class*="parts222_sidebar_wrap"] li a:hover{ background:#f7fbfe !important; }
/* 件数バッジ：受領どおり 白地＋青枠＋角丸6px（CueZillaの灰背景と間延びだけ打ち消す） */
[class*="parts222_sidebar_post_category_count"]{
  background:#fff !important;
  border:1px solid #cfe0ef !important;
  border-radius:6px !important;
  color:#3E8CBB !important;
  padding:2px 6px !important;
  min-width:28px !important;
  flex:none !important;
  width:auto !important;
  text-align:center !important;
}
/* /KEEP */

/* KEEP: TOPのBLOGカード（parts131415_blog）の残存paddingを打ち消す（2026-07-29 実機実測）。
   受領CSSは max-width と装飾しか書いておらず、CueZillaテーマの padding が残っていた。
   消すとカードが右に50pxずれ、画像がカード幅いっぱいに出なくなる。 */

/* J. カードの左端が他セクションより50px内側にずれる
   実測: 自前 .wrap は左端279pxなのに、.card は329px。
   原因は .container-lg に残る padding:0 50px（max-width:1180px は効いているが中身が50px内側に入る）。
   セクション側に padding:… 20px があるのでスマホでも端に張り付かない。 */
section[class*="parts131415_blog"] .container-lg{ padding-left:0 !important; padding-right:0 !important; }

/* K. サムネイルがカード幅いっぱいにならず、上に大きな余白ができる
   実測: .card に padding:45px 30px 40px が残り、カード345pxに対し画像が285pxしか無かった。
   カード内の余白は card-title / card-text 側の padding（受領CSSで指定済み）が持つ。 */
section[class*="parts131415_blog"] .card{ padding:0 !important; }
/* /KEEP */

/* KEEP: 一覧カードの高さ揃え・カテゴリバッジ・必須バッジの修正（2026-07-29 第3次・実機実測）。
   消すとカード高さが不揃いに戻り、バッジに枠線が出て、必須バッジの文字が上寄りになる。 */

/* L. 一覧カードの高さが揃わない（ブログ）
   実測: 同じ行（top=719で一致）・中身も同寸（a=314 / 画像240 / status25 / title26）なのに
   カード高さが 334 と 389 でばらつく。grid の stretch が効かずコンテンツ高さのままになるため、
   height:100% でセル高さいっぱいに引き伸ばす（注入検証で 412/412 に一致することを確認済み）。
   施工事例（parts228）にも同じ構造なので同時に当てる。 */
[class*="parts222_post_wrap"],
[class*="parts228_post_wrap"]{ height:100% !important; }
[class*="parts222_post_wrap"] > a,
[class*="parts228_post_wrap"] > a{ height:100% !important; display:flex !important; flex-direction:column !important; }
/* 本文ブロックを下方向に伸ばして、カード下端を揃える（タイトル行数が違っても崩れない） */
[class*="parts222_post_title-excerpt"],
[class*="parts228_post_title-excerpt"]{ flex:1 1 auto !important; }

/* M. 記事カードのカテゴリ（お知らせ）に濃い縦線が出る
   実測: CueZillaテーマの border 1px solid #3E97CE が全辺に付いていた（左右が線に見える）。
   受領データ（受領データ/blog.html）の指定は「淡青地＋青文字・枠線なし」なのでその値に戻す。 */
[class*="parts222_post_category"]{
  border:0 !important;
  background:#EEF3FC !important;
  color:#2f6c8f !important;
  font-size:11px !important;
  font-weight:700 !important;
  padding:3px 9px !important;
  border-radius:0 !important;
  white-space:nowrap !important;
}

/* N. お問い合わせの「必須」バッジで文字が上に寄る
   実測: バッジ高30pxに対し 上余白2px / 下余白12px（10pxの偏り）。
   inline-block + baseline のため。inline-flex で天地中央に揃える。 */
.contact_section .required{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
}
/* /KEEP */

/* KEEP: カード類の角丸を落として直角にする（2026-07-29 ディレクター指示）。
   受領データ（受領データ/blog.html・blog-ex-instance.html）はカード・サイドバーいずれも
   border-radius を持たない＝直角が正。角丸(14px/10px/6px)は add-dynamic-lower.css で
   後から付いたものなので、受領の見た目に戻す。消すと角丸が復活する。 */

/* O. 一覧カード（ブログ／施工実績）を直角に */
[class*="parts222_post_wrap"],
[class*="parts228_post_wrap"]{ border-radius:0 !important; }
/* 内側の画像枠も角丸のクリップを解除（overflow:hidden との合わせ技で角が丸く見えるため） */
[class*="parts222_post_img"],
[class*="parts228_post_img"]{ border-radius:0 !important; }

/* P. TOPのブログカードを直角に */
section[class*="parts131415_blog"] .card{ border-radius:0 !important; }
section[class*="parts131415_blog"] [class*="_thumbnail"],
section[class*="parts131415_blog"] [class*="_thumbnail"] img{ border-radius:0 !important; }

/* Q. ブログ右カラム（サイドバー）を直角に
   受領: h3 は角丸なしの青ベタ帯／ul は上辺なしの枠のみ／件数バッジも角丸なし */
[class*="parts222_sidebar_wrap"] > h3{ border-radius:0 !important; }
[class*="parts222_sidebar_wrap"] > ul{ border-radius:0 !important; }
[class*="parts222_sidebar_post_category_count"]{ border-radius:0 !important; }
/* /KEEP */

/* KEEP: 角丸を受領データ（受領HTMLのhelmet CSS）の値へ全面的に揃える（2026-07-29）。
   受領HTMLを機械比較したところ、角丸の設計は次のとおりだった:
     カード類（post_wrap / card / sidebar_wrap）… 指定なし＝直角（上の O〜Q で対応済み）
     バッジ・ボタン・ページ送り …………………… border-radius:999px（丸ピル）
     フォーム入力欄 ………………………………… border-radius:8px
   実機用の add-dynamic-lower.css / add.css では 6px・8px・4px・10px に置き換わっていたため、
   受領HTMLの値に戻す。消すと中途半端な角丸に戻る。 */

/* R. 施工実績カードのタグ … 受領 .tag は 999px（丸ピル） */
[class*="parts-blog-ex_tag"]{ border-radius:999px !important; }

/* S. ページ送り … 受領 .parts222_pagenation a / .parts228_pagenation a は 999px（丸ピル） */
[class*="_pagenation"] a{ border-radius:999px !important; }

/* T. お問い合わせの必須バッジ … 受領 .required は 999px（丸ピル） */
.contact_section .required{ border-radius:999px !important; }

/* U. お問い合わせの入力欄 … 受領 .f-input は 8px（6pxではない） */
.contact_section input[type="text"],
.contact_section input[type="email"],
.contact_section input[type="tel"],
.contact_section textarea{ border-radius:8px !important; }

/* V. 送信ボタン … 受領 .contact_submit input[type=submit] は 999px（丸ピル） */
.contact_section .contact_submit input[type="submit"]{ border-radius:999px !important; }
/* /KEEP */