@charset "UTF-8";
/* =========================================================
   有限会社アサヒフィルタサービス
   Tone : DESIGN_STANDARD 05_minimal-mono-brand を土台に
          ブランドブルー #003F96（ロゴ実測）へ置換・製造業向けに再構成
   ---------------------------------------------------------
   ・白 × ネイビーブルー。面の切り替えは 1px罫線 と ドット地 と 斜めの帯
   ・見出しは「欧文Bold + 和文」の2段セット（.ttl）
   ・ボタンは2種類だけ（塗りの矩形 .btn / 下線リンク .btn-line）
   ・角丸は 2px まで。影は使わない（メーカーサイトの硬質感）
   ========================================================= */

/* ===== Design Tokens ===== */
:root{
  --navy:#003f96;          /* ブランド色（ロゴから実測） */
  --navy-d:#002b66;        /* 濃い面・フッター */
  --navy-l:#1b5fbf;        /* ホバー・図版 */
  --blue:#0b72d9;          /* アクセント（数字・アイコン） */
  --sky:#eef4fb;           /* 薄い面 */
  --sky-2:#dce8f6;         /* 罫線がわりの面 */
  --heat:#e0632b;          /* 遮熱シートだけに使う差し色 */
  --ink:#16202b;           /* 本文 */
  --ink-2:#000000;
  --gray:#69747f;          /* 補助テキスト */
  --gray-2:#98a3ae;
  --line:#d5dde6;
  --line-d:#16202b;
  --bg:#ffffff;
  --white:#ffffff;
  --content:1200px;
  --gutter:40px;
  --ease:cubic-bezier(0.32,0,0.15,1);
  --font-en:'Barlow',sans-serif;
  --font-ja:'Noto Sans JP','Hiragino Kaku Gothic ProN','Hiragino Sans',sans-serif;
}

/* ===== Reset / Base ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-size:62.5%;scroll-behavior:smooth;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);}
body{
  font-family:var(--font-ja);
  font-size:1.6rem;
  font-weight:500;
  line-height:1.9;
  color:var(--ink);
  background:var(--bg);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  word-break:normal;
  line-break:strict;
  overflow-wrap:anywhere;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;transition:all .4s ease;cursor:pointer;}
ul,ol{list-style:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
h1,h2,h3,h4{font-size:inherit;font-weight:inherit;line-height:inherit;}
table{border-collapse:collapse;width:100%;}
::selection{background:var(--navy);color:#fff;}

/* ===== Helpers ===== */
.inner{
  width:100%;max-width:calc(var(--content) + var(--gutter) * 2);
  margin-left:auto;margin-right:auto;
  padding-left:var(--gutter);padding-right:var(--gutter);
}
.inner--wide{--content:1440px;}
.sp{display:none !important;}
.pc{display:block;}
br.pc{display:inline;}
.u-en{font-family:var(--font-en);letter-spacing:.06em;}

/* ===== セクション見出し（欧文 + 和文の2段） ===== */
.ttl{display:block;}
.ttl__en{
  display:flex;align-items:center;gap:14px;
  font-family:var(--font-en);font-size:1.3rem;font-weight:600;
  letter-spacing:.22em;line-height:1;color:var(--navy);text-transform:uppercase;
}
.ttl__en::before{
  content:"";width:26px;height:2px;background:var(--navy);flex-shrink:0;
}
.ttl__ja{
  margin-top:20px;font-size:3.4rem;font-weight:700;line-height:1.45;letter-spacing:.04em;
}
.ttl__ja em{font-style:normal;color:var(--navy);}
.ttl__lead{
  margin-top:24px;font-size:1.6rem;font-weight:400;line-height:2.2;color:var(--gray);
}
.ttl--white .ttl__en,.ttl--white .ttl__ja{color:var(--white);}
.ttl--white .ttl__en::before{background:var(--white);}
.ttl--white .ttl__ja em{color:#9fc6ff;}
.ttl--center{text-align:center;}
.ttl--center .ttl__en{justify-content:center;}

/* ===== ボタン（2種類だけ） ===== */
.btn{
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:14px;
  min-width:260px;padding:20px 34px;
  background:var(--navy);color:var(--white);
  font-size:1.5rem;font-weight:700;letter-spacing:.06em;line-height:1.4;
  border:solid 1px var(--navy);overflow:hidden;
}
.btn i{font-size:1.2rem;transition:transform .4s var(--ease);}
.btn::before{
  content:"";position:absolute;inset:0;background:var(--navy-d);
  transform:scaleX(0);transform-origin:left center;transition:transform .45s var(--ease);z-index:0;
}
.btn > *{position:relative;z-index:1;}
.btn:hover::before{transform:scaleX(1);}
.btn:hover i{transform:translateX(5px);}
.btn--ghost{background:var(--white);color:var(--navy);}
.btn--ghost::before{background:var(--sky);}
.btn--shop{background:var(--blue);border-color:var(--blue);}
.btn--shop::before{background:#0959ab;}
.btn--white{background:var(--white);color:var(--navy);border-color:var(--white);}
.btn--white::before{background:var(--sky);}
.btn--lg{min-width:320px;padding:24px 40px;font-size:1.6rem;}

.btn-line{
  position:relative;display:inline-block;padding-bottom:6px;
  font-family:var(--font-en);font-size:1.4rem;font-weight:600;letter-spacing:.14em;
  color:var(--navy);
}
.btn-line::before{
  content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;
  background:var(--navy);transition:width .4s var(--ease);
}
.btn-line::after{
  position:absolute;right:-24px;top:50%;transform:translateY(-50%);
  font-family:"Font Awesome 6 Free";font-weight:900;content:"\f061";
  font-size:1.1rem;opacity:0;transition:all .4s var(--ease);
}
.btn-line:hover::before,
a:hover > .btn-line::before,
a:hover .btn-line::before{width:calc(100% + 28px);}
.btn-line:hover::after,
a:hover .btn-line::after{right:-28px;opacity:1;}
.btn-line--white{color:var(--white);}
.btn-line--white::before{background:var(--white);}

/* ===== Loading ===== */
.loading{
  position:fixed;inset:0;z-index:200;background:var(--white);
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:26px;
  transition:opacity .6s ease;
}
.loading__logo{width:150px;opacity:.9;}
.loading__bar{width:180px;height:2px;background:var(--line);overflow:hidden;}
.loading__bar span{display:block;width:100%;height:100%;background:var(--navy);transform:translateX(-100%);animation:load 1.4s var(--ease) infinite;}
@keyframes load{to{transform:translateX(100%);}}
.loading.is-hidden{opacity:0;pointer-events:none;}

/* =========================================================
   Header
   ========================================================= */
.af-header{
  position:fixed;top:0;left:0;width:100%;z-index:60;
  background:rgba(255,255,255,.94);
  border-bottom:solid 1px rgba(255,255,255,0);
  transition:background .4s ease,border-color .4s ease,transform .4s ease;
}
.af-header.is-top{background:transparent;}
.af-header.is-scrolled{border-bottom-color:var(--line);}
.af-header__bar{
  display:flex;align-items:stretch;gap:22px;height:88px;
  padding-left:var(--gutter);padding-right:0;
}
.af-header__logo{display:flex;align-items:center;flex-shrink:0;}
.af-header__logo img{width:172px;}
.af-header__logo-txt{
  margin-left:14px;padding-left:14px;border-left:solid 1px var(--line);
  font-size:1.4rem;font-weight:500;line-height:1.5;color:var(--gray);letter-spacing:.02em;
}
.af-header.is-top .af-header__logo img{filter:brightness(0) invert(1);}
.af-header.is-top .af-header__logo-txt{color:rgba(255,255,255,.82);border-left-color:rgba(255,255,255,.3);}

.af-gnav{display:flex;align-items:center;gap:22px;margin-left:auto;}
.af-gnav__link{
  position:relative;font-size:1.4rem;font-weight:700;letter-spacing:.01em;padding:6px 0;white-space:nowrap;
}
.af-gnav__link::after{
  content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--navy);transition:width .35s var(--ease);
}
.af-gnav__link:hover::after{width:100%;}
.af-header.is-top .af-gnav__link{color:var(--white);}
.af-header.is-top .af-gnav__link::after{background:var(--white);}

.af-header__act{display:flex;align-items:stretch;flex-shrink:0;}
.af-header__act a{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  width:118px;font-size:1.4rem;font-weight:700;letter-spacing:.04em;line-height:1.3;text-align:center;
}
.af-header__act i{font-size:1.7rem;}
.af-br-sp{display:none;}
.af-header__act .--shop{background:var(--blue);color:var(--white);}
.af-header__act .--shop:hover{background:#0959ab;}
.af-header__act .--contact{background:var(--navy);color:var(--white);}
.af-header__act .--contact:hover{background:var(--navy-d);}
.af-header__tel{
  display:flex;flex-direction:column;justify-content:center;flex-shrink:0;
  padding:0 20px;border-left:solid 1px var(--line);white-space:nowrap;
}
.af-header__tel span{font-size:1.4rem;font-weight:600;color:var(--gray);letter-spacing:.08em;}
.af-header__tel strong{
  font-family:var(--font-en);font-size:2.1rem;font-weight:600;letter-spacing:.02em;line-height:1.2;color:var(--navy);
}
.af-header.is-top .af-header__tel{border-left-color:rgba(255,255,255,.3);}
.af-header.is-top .af-header__tel span{color:rgba(255,255,255,.8);}
.af-header.is-top .af-header__tel strong{color:var(--white);}

/* ハンバーガー（SP） */
.af-navbar{position:relative;width:64px;height:88px;flex-shrink:0;background:var(--navy);}
.af-navbar span{
  position:absolute;left:50%;width:26px;height:2px;background:var(--white);
  transform:translateX(-50%);transition:.45s var(--ease);
}
.af-navbar span:nth-child(1){top:34px;}
.af-navbar span:nth-child(2){top:43px;}
.af-navbar span:nth-child(3){top:52px;}
.af-navbar.is-active span:nth-child(1){top:43px;transform:translateX(-50%) rotate(33deg);}
.af-navbar.is-active span:nth-child(2){opacity:0;}
.af-navbar.is-active span:nth-child(3){top:43px;transform:translateX(-50%) rotate(-33deg);}

/* オーバーレイナビ */
.af-nav{
  position:fixed;inset:0;z-index:55;background:var(--navy-d);
  opacity:0;visibility:hidden;transition:all .45s ease;overflow:auto;
  padding:110px var(--gutter) 60px;
}
.af-nav.is-open{opacity:1;visibility:visible;}
.af-nav__list{display:flex;flex-direction:column;}
.af-nav__list li{border-top:solid 1px rgba(255,255,255,.18);}
.af-nav__list li:last-child{border-bottom:solid 1px rgba(255,255,255,.18);}
.af-nav__link{
  display:flex;align-items:baseline;gap:14px;padding:18px 4px;color:var(--white);
}
.af-nav__link em{
  font-family:var(--font-en);font-style:normal;font-size:1.3rem;font-weight:600;
  letter-spacing:.16em;color:#8fb6ea;
}
.af-nav__link span{font-size:1.8rem;font-weight:700;}
.af-nav__btns{display:flex;flex-direction:column;gap:12px;margin-top:34px;}
.af-nav__btns .btn{width:100%;}
.af-nav__info{margin-top:34px;color:rgba(255,255,255,.8);font-size:1.4rem;line-height:2;}
.af-nav__info strong{
  display:block;font-family:var(--font-en);font-size:2.6rem;font-weight:600;color:var(--white);letter-spacing:.02em;
}
body.is-nav-open{overflow:hidden;}

/* =========================================================
   MV
   ========================================================= */
.af-mv{position:relative;width:100%;height:100vh;height:100svh;min-height:620px;overflow:hidden;}
.af-mv__slides{position:absolute;inset:0;overflow:hidden;}
.af-mv__slide{
  position:absolute;inset:0;opacity:0;overflow:hidden;transition:opacity 1.6s ease;
}
.af-mv__slide.is-current{opacity:1;}
.af-mv__slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 7.5s linear;}
.af-mv__slide.is-current img{transform:scale(1);}
.af-mv__veil{
  position:absolute;inset:0;z-index:2;
  background:
    linear-gradient(90deg,rgba(0,29,72,.9) 0%,rgba(0,40,100,.72) 34%,rgba(0,45,110,.18) 62%,rgba(0,45,110,.05) 100%),
    linear-gradient(180deg,rgba(0,25,64,.55) 0%,rgba(0,25,64,0) 34%);
}
.af-mv__grid{
  position:absolute;inset:0;z-index:3;pointer-events:none;
  background-image:linear-gradient(90deg,rgba(255,255,255,.09) 1px,rgba(255,255,255,0) 1px);
  background-size:calc(100% / 6) 100%;
}
.af-mv__inner{
  position:relative;z-index:4;height:100%;
  display:flex;flex-direction:column;justify-content:center;
  padding-top:88px;
}
.af-mv__en{
  font-family:var(--font-en);font-size:1.3rem;font-weight:600;letter-spacing:.3em;
  color:#a9c9f5;text-transform:uppercase;
}
.af-mv__catch{
  margin-top:26px;color:var(--white);
  font-size:clamp(3.4rem,4.6vw,6.4rem);font-weight:700;line-height:1.28;letter-spacing:.02em;
  text-shadow:0 2px 30px rgba(0,20,50,.45);
}
.af-mv__catch .--line{display:block;}
.af-mv__catch .--sub{
  display:block;margin-top:14px;font-size:clamp(1.9rem,2.2vw,3rem);font-weight:700;color:#bcd8ff;
}
.af-mv__desc{
  margin-top:32px;max-width:560px;color:rgba(255,255,255,.94);
  font-size:1.6rem;font-weight:500;line-height:2.1;
}
.af-mv__spec{
  display:flex;flex-wrap:wrap;gap:10px;margin-top:30px;
}
.af-mv__spec li{
  padding:9px 18px;border:solid 1px rgba(255,255,255,.55);color:var(--white);
  font-size:1.4rem;font-weight:700;letter-spacing:.04em;backdrop-filter:blur(2px);
}
.af-mv__scroll{
  position:absolute;right:calc(var(--gutter) + 4px);bottom:0;z-index:5;
  display:flex;flex-direction:column;align-items:center;gap:14px;
  font-family:var(--font-en);font-size:1.3rem;font-weight:600;letter-spacing:.22em;
  color:rgba(255,255,255,.85);writing-mode:vertical-rl;
}
.af-mv__scroll::after{
  content:"";width:1px;height:90px;background:rgba(255,255,255,.5);position:relative;overflow:hidden;
}
.af-mv__num{
  position:absolute;left:var(--gutter);bottom:34px;z-index:5;
  display:flex;align-items:center;gap:12px;
  font-family:var(--font-en);font-size:1.3rem;font-weight:600;letter-spacing:.14em;color:rgba(255,255,255,.8);
}
.af-mv__num button{
  width:34px;height:2px;background:rgba(255,255,255,.35);display:block;
}
.af-mv__num button.is-current{background:var(--white);}

/* MV直下の3つの入口 */
.af-entry{position:relative;z-index:10;margin-top:-72px;}
.af-entry__list{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:solid 1px var(--line);}
.af-entry__item{
  position:relative;display:flex;align-items:center;gap:20px;
  padding:30px 32px;background:var(--white);overflow:hidden;
}
.af-entry__item::before{
  content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:var(--navy);
  transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease);
}
.af-entry__item:hover::before{transform:scaleX(1);}
.af-entry__item:hover{background:var(--sky);}
.af-entry__icn{
  width:54px;height:54px;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  background:var(--sky);color:var(--navy);font-size:2.2rem;
}
.af-entry__txt em{
  display:block;font-family:var(--font-en);font-style:normal;font-size:1.3rem;font-weight:600;
  letter-spacing:.18em;color:var(--blue);
}
.af-entry__txt span{display:block;margin-top:4px;font-size:1.7rem;font-weight:700;letter-spacing:.02em;}
.af-entry__txt small{display:block;margin-top:4px;font-size:1.4rem;font-weight:400;color:var(--gray);line-height:1.7;}
.af-entry__item i.--arrow{margin-left:auto;color:var(--navy);font-size:1.3rem;transition:transform .4s var(--ease);}
.af-entry__item:hover i.--arrow{transform:translateX(5px);}

/* =========================================================
   Need（お困りごとから探す）
   ========================================================= */
.af-need{padding:130px 0 120px;position:relative;}
.af-need::before{
  content:"";position:absolute;left:0;top:0;width:min(46%,620px);height:100%;
  background:var(--sky);z-index:-1;
}
.af-need__head{display:flex;align-items:flex-end;gap:60px;}
.af-need__head .ttl{flex:1;}
.af-need__list{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  margin-top:56px;background:var(--line);border:solid 1px var(--line);
}
.af-need__item{
  position:relative;display:block;background:var(--white);padding:38px 32px 34px;overflow:hidden;
}
.af-need__item::after{
  content:"";position:absolute;right:-40px;bottom:-40px;width:120px;height:120px;
  background:var(--sky);border-radius:50%;transition:transform .5s var(--ease);
}
.af-need__item:hover::after{transform:scale(2.4);}
.af-need__item > *{position:relative;z-index:1;}
.af-need__no{
  font-family:var(--font-en);font-size:1.3rem;font-weight:600;letter-spacing:.2em;color:var(--blue);
}
.af-need__q{
  margin-top:14px;font-size:1.9rem;font-weight:700;line-height:1.6;letter-spacing:.01em;
}
.af-need__q span{
  display:inline;background:linear-gradient(transparent 62%,#cfe2f8 62%);
}
.af-need__a{margin-top:16px;font-size:1.4rem;font-weight:400;line-height:2;color:var(--gray);}
.af-need__go{
  display:inline-flex;align-items:center;gap:8px;margin-top:20px;
  font-size:1.4rem;font-weight:700;color:var(--navy);
}
.af-need__go i{font-size:1.1rem;transition:transform .4s var(--ease);}
.af-need__item:hover .af-need__go i{transform:translateX(5px);}

/* =========================================================
   Product（製品一覧）
   ========================================================= */
.af-product{padding:120px 0 130px;background:var(--white);position:relative;}
.af-product__head{display:flex;align-items:flex-end;gap:40px;}
.af-product__head .btn-line{margin-left:auto;margin-bottom:8px;}
.af-product__grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  margin-top:54px;background:var(--line);border-top:solid 2px var(--line-d);border-left:solid 1px var(--line);border-right:solid 1px var(--line);border-bottom:solid 1px var(--line);
}
.af-product__card{background:var(--white);padding:40px 30px 36px;display:flex;flex-direction:column;transition:background .4s ease;}
.af-product__card:hover{background:var(--sky);}
.af-product__no{
  font-family:var(--font-en);font-size:1.3rem;font-weight:600;letter-spacing:.2em;color:var(--gray-2);
}
.af-product__name{margin-top:10px;font-size:1.9rem;font-weight:700;line-height:1.5;letter-spacing:.01em;}
.af-product__en{
  margin-top:6px;font-family:var(--font-en);font-size:1.3rem;font-weight:600;
  letter-spacing:.14em;color:var(--blue);text-transform:uppercase;
}
.af-product__img{position:relative;margin-top:22px;overflow:hidden;background:var(--sky);}
.af-product__img img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .5s var(--ease);}
.af-product__card:hover .af-product__img img{transform:scale(1.05);}
.af-product__desc{margin-top:20px;font-size:1.4rem;font-weight:400;line-height:2;color:var(--gray);}
.af-product__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px;}
.af-product__tags span{
  padding:4px 10px;background:var(--sky);color:var(--navy);
  font-size:1.4rem;font-weight:700;letter-spacing:.02em;
}
.af-product__card .btn-line{margin-top:auto;padding-top:22px;align-self:flex-start;}

.af-product__band{
  display:flex;align-items:center;gap:40px;margin-top:70px;
  border:solid 1px var(--line);background:var(--sky);padding:36px 40px;
}
.af-product__band-img{width:300px;flex-shrink:0;}
.af-product__band-txt{flex:1;}
.af-product__band-ttl{font-size:2.2rem;font-weight:700;line-height:1.5;}
.af-product__band-ttl em{font-style:normal;color:var(--navy);}
.af-product__band-desc{margin-top:12px;font-size:1.45rem;line-height:2;color:var(--gray);}
.af-product__band-btns{display:flex;gap:12px;flex-shrink:0;flex-direction:column;}

/* =========================================================
   Anemo（看板商品）
   ========================================================= */
.af-anemo{position:relative;padding:120px 0 130px;background:var(--navy-d);color:var(--white);overflow:hidden;}
.af-anemo::before{
  content:"";position:absolute;right:-160px;top:-160px;width:620px;height:620px;
  border:solid 1px rgba(255,255,255,.14);border-radius:50%;
}
.af-anemo::after{
  content:"";position:absolute;right:-60px;top:-60px;width:420px;height:420px;
  border:solid 1px rgba(255,255,255,.12);border-radius:50%;
}
.af-anemo__inner{position:relative;z-index:2;}
.af-anemo__head{display:flex;align-items:flex-end;gap:50px;}
.af-anemo__head .ttl{flex:1;min-width:0;}
.af-anemo__head .ttl__ja{line-height:1.4;}
.af-anemo__badge{
  display:inline-flex;align-items:center;gap:8px;padding:8px 16px;margin-bottom:18px;
  background:var(--white);color:var(--navy);font-size:1.4rem;font-weight:700;letter-spacing:.08em;
}
.af-anemo__lead{
  max-width:520px;margin-left:auto;font-size:1.5rem;line-height:2.2;color:rgba(255,255,255,.86);
}
.af-anemo__list{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:56px;
  background:rgba(255,255,255,.2);border:solid 1px rgba(255,255,255,.2);
}
.af-anemo__item{background:var(--navy-d);padding:32px 26px 30px;transition:background .4s ease;}
.af-anemo__item:hover{background:#00234f;}
.af-anemo__img{background:var(--white);overflow:hidden;}
.af-anemo__img img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .5s var(--ease);}
.af-anemo__item:hover .af-anemo__img img{transform:scale(1.05);}
.af-anemo__type{
  margin-top:22px;font-size:1.9rem;font-weight:700;letter-spacing:.02em;
}
.af-anemo__use{
  margin-top:12px;padding-top:12px;border-top:solid 1px rgba(255,255,255,.22);
  font-size:1.4rem;line-height:1.9;color:rgba(255,255,255,.82);
}
.af-anemo__use dt{font-size:1.3rem;font-weight:700;letter-spacing:.14em;color:#8fb6ea;font-family:var(--font-en);}
.af-anemo__btns{display:flex;gap:14px;justify-content:center;margin-top:56px;flex-wrap:wrap;}
.af-anemo__note{margin-top:26px;text-align:center;font-size:1.4rem;color:rgba(255,255,255,.6);}

/* =========================================================
   Reason（5つのこだわり）
   ========================================================= */
.af-reason{padding:130px 0;background:var(--white);position:relative;}
.af-reason__bg{
  position:absolute;right:0;top:60px;font-family:var(--font-en);font-size:13rem;font-weight:700;
  line-height:1;letter-spacing:.02em;color:#f4f8fd;z-index:0;white-space:nowrap;pointer-events:none;
}
.af-reason__inner{position:relative;z-index:2;}
.af-reason__list{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:56px;}
.af-reason__item{
  position:relative;padding:36px 30px 32px;border:solid 1px var(--line);background:var(--white);
  transition:border-color .4s ease,transform .4s var(--ease);
}
.af-reason__item:hover{border-color:var(--navy);transform:translateY(-4px);}
.af-reason__item:nth-child(1),.af-reason__item:nth-child(2){grid-column:span 1;}
.af-reason__no{
  position:absolute;top:-16px;left:28px;
  display:flex;align-items:center;justify-content:center;width:44px;height:32px;
  background:var(--navy);color:var(--white);
  font-family:var(--font-en);font-size:1.5rem;font-weight:600;letter-spacing:.06em;
}
.af-reason__ttl{margin-top:14px;font-size:1.9rem;font-weight:700;line-height:1.6;}
.af-reason__ttl em{font-style:normal;color:var(--navy);}
.af-reason__txt{margin-top:14px;font-size:1.4rem;line-height:2;color:var(--gray);}
.af-reason__fig{
  margin-top:18px;padding-top:16px;border-top:solid 1px var(--line);
  display:flex;align-items:baseline;gap:8px;
}
.af-reason__fig strong{
  font-family:var(--font-en);font-size:4.2rem;font-weight:700;line-height:1;color:var(--navy);letter-spacing:.01em;
}
.af-reason__fig span{font-size:1.4rem;font-weight:700;color:var(--gray);}

/* =========================================================
   Barrier（遮熱シート）
   ========================================================= */
.af-barrier{position:relative;padding:0;background:var(--sky);}
.af-barrier__top{position:relative;height:420px;overflow:hidden;}
.af-barrier__top img{width:100%;height:100%;object-fit:cover;}
.af-barrier__top::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(0,25,64,.82) 0%,rgba(0,35,84,.5) 45%,rgba(0,40,96,.1) 100%);
}
.af-barrier__catch{
  position:absolute;left:0;top:50%;transform:translateY(-50%);z-index:2;width:100%;
}
.af-barrier__catch .ttl__ja{color:var(--white);font-size:3.6rem;}
.af-barrier__catch .ttl__en{color:#ffc9ac;}
.af-barrier__catch .ttl__en::before{background:var(--heat);}
.af-barrier__catch p{
  margin-top:20px;max-width:560px;color:rgba(255,255,255,.94);font-size:1.5rem;line-height:2.1;
}
.af-barrier__body{padding:80px 0 120px;}
.af-barrier__grid{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:start;}
.af-barrier__types{display:flex;flex-direction:column;gap:1px;background:var(--line);border:solid 1px var(--line);}
.af-barrier__type{
  display:flex;align-items:center;gap:24px;background:var(--white);padding:26px 28px;
}
.af-barrier__type dt{
  font-family:var(--font-en);font-size:2.2rem;font-weight:700;color:var(--navy);
  letter-spacing:.04em;width:120px;flex-shrink:0;position:relative;
}
.af-barrier__type dt::after{content:"";position:absolute;right:0;top:50%;width:1px;height:30px;background:var(--line);transform:translateY(-50%);}
.af-barrier__type dd{font-size:1.45rem;line-height:1.9;}
.af-barrier__type dd small{display:block;margin-top:4px;font-size:1.4rem;color:var(--gray);}
.af-barrier__effect{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:28px;background:var(--line);border:solid 1px var(--line);}
.af-barrier__effect li{background:var(--white);padding:24px 18px;text-align:center;}
.af-barrier__effect i{font-size:2.4rem;color:var(--heat);}
.af-barrier__effect span{display:block;margin-top:12px;font-size:1.4rem;font-weight:700;line-height:1.6;}
.af-barrier__side{position:relative;}
.af-barrier__side img{width:100%;}
.af-barrier__note{
  margin-top:24px;padding:26px 28px;background:var(--white);border-left:solid 4px var(--heat);
}
.af-barrier__note strong{display:block;font-size:1.7rem;font-weight:700;line-height:1.6;}
.af-barrier__note p{margin-top:10px;font-size:1.4rem;line-height:2;color:var(--gray);}
.af-barrier__note .btn{margin-top:20px;width:100%;}

/* =========================================================
   Works（施工事例）
   ========================================================= */
.af-works{padding:120px 0;background:var(--white);}
.af-works__head{display:flex;align-items:flex-end;gap:40px;}
.af-works__head .btn-line{margin-left:auto;margin-bottom:8px;}
.af-works__list{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 28px;margin-top:54px;}
.af-works__item{display:block;}
.af-works__img{position:relative;overflow:hidden;aspect-ratio:4/3;background:var(--sky);}
.af-works__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);}
.af-works__item:hover .af-works__img img{transform:scale(1.06);}
.af-works__cat{
  position:absolute;left:0;top:0;z-index:2;padding:7px 14px;
  background:var(--navy);color:var(--white);font-size:1.4rem;font-weight:700;letter-spacing:.06em;
}
.af-works__ttl{margin-top:18px;font-size:1.7rem;font-weight:700;line-height:1.6;}
.af-works__meta{margin-top:8px;font-size:1.4rem;color:var(--gray);}

/* =========================================================
   Flow（お見積り〜納品まで）
   ========================================================= */
.af-flow{padding:120px 0;background:var(--sky);position:relative;}
.af-flow__list{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;margin-top:54px;background:var(--line);border:solid 1px var(--line);}
.af-flow__item{background:var(--white);padding:34px 24px 30px;position:relative;}
.af-flow__step{
  display:inline-flex;align-items:baseline;gap:6px;
  font-family:var(--font-en);font-size:1.3rem;font-weight:600;letter-spacing:.16em;color:var(--blue);
}
.af-flow__step strong{font-size:2.6rem;font-weight:700;line-height:1;color:var(--navy);}
.af-flow__ttl{margin-top:14px;font-size:1.7rem;font-weight:700;line-height:1.5;}
.af-flow__txt{margin-top:12px;font-size:1.4rem;line-height:1.95;color:var(--gray);}
.af-flow__item:not(:last-child)::after{
  content:"";position:absolute;right:-9px;top:50%;transform:translateY(-50%) rotate(45deg);
  width:16px;height:16px;background:var(--white);border-top:solid 1px var(--line);border-right:solid 1px var(--line);z-index:3;
}

/* =========================================================
   Column（コラム）
   ========================================================= */
.af-column{padding:120px 0;background:var(--white);}
.af-column__head{display:flex;align-items:flex-end;gap:40px;}
.af-column__head .btn-line{margin-left:auto;margin-bottom:8px;}
.af-column__list{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:54px;}
.af-column__item{
  display:flex;flex-direction:column;border:solid 1px var(--line);padding:32px 30px 30px;
  transition:border-color .4s ease,background .4s ease;
}
.af-column__item:hover{border-color:var(--navy);background:var(--sky);}
.af-column__cat{
  align-self:flex-start;padding:5px 12px;background:var(--navy);color:var(--white);
  font-size:1.4rem;font-weight:700;letter-spacing:.04em;
}
.af-column__ttl{margin-top:18px;font-size:1.8rem;font-weight:700;line-height:1.65;}
.af-column__txt{margin-top:14px;font-size:1.4rem;line-height:2;color:var(--gray);}
.af-column__more{margin-top:auto;padding-top:22px;}

/* =========================================================
   Company
   ========================================================= */
.af-company{position:relative;padding:130px 0;background:var(--sky);overflow:hidden;}
.af-company__grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.af-company__txt .ttl__ja{font-size:3rem;}
.af-company__msg{margin-top:26px;font-size:1.5rem;line-height:2.3;}
.af-company__sign{margin-top:22px;font-size:1.4rem;color:var(--gray);}
.af-company__sign strong{font-size:1.8rem;color:var(--ink);margin-left:8px;}
.af-company__data{
  margin-top:34px;border-top:solid 1px var(--line);
}
.af-company__data dl{display:flex;gap:20px;padding:14px 4px;border-bottom:solid 1px var(--line);font-size:1.4rem;}
.af-company__data dt{width:110px;flex-shrink:0;font-weight:700;color:var(--navy);}
.af-company__data dd{flex:1;line-height:1.9;}
.af-company__btns{margin-top:34px;}
.af-company__imgs{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.af-company__imgs img{width:100%;}
.af-company__imgs .--main{grid-column:1 / 2;grid-row:1 / 3;height:100%;object-fit:cover;}
.af-company__badge{
  position:absolute;left:-24px;bottom:-24px;z-index:3;
  background:var(--navy);color:var(--white);padding:20px 24px;max-width:240px;
}
.af-company__badge em{font-style:normal;font-family:var(--font-en);font-size:1.3rem;letter-spacing:.18em;color:#9fc6ff;font-weight:600;}
.af-company__badge span{display:block;margin-top:6px;font-size:1.55rem;font-weight:700;line-height:1.6;}

/* =========================================================
   News
   ========================================================= */
.af-news{padding:110px 0;background:var(--white);}
.af-news__wrap{display:flex;gap:80px;align-items:flex-start;}
.af-news__head{width:280px;flex-shrink:0;}
.af-news__head .btn-line{margin-top:34px;}
.af-news__list{flex:1;border-top:solid 1px var(--line);}
.af-news__link{
  position:relative;display:flex;align-items:center;gap:26px;
  padding:26px 8px;border-bottom:solid 1px var(--line);
}
.af-news__link::before{
  content:"";position:absolute;left:0;bottom:-1px;width:0;height:2px;background:var(--navy);transition:width .45s var(--ease);
}
.af-news__link:hover::before{width:100%;}
.af-news__date{font-family:var(--font-en);font-size:1.4rem;font-weight:600;color:var(--gray);flex-shrink:0;}
.af-news__cat{
  flex-shrink:0;padding:4px 12px;border:solid 1px var(--navy);color:var(--navy);
  font-size:1.4rem;font-weight:700;letter-spacing:.04em;
}
.af-news__ttl{
  flex:1;font-size:1.55rem;font-weight:500;line-height:1.7;
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;
}
.af-news__link i{color:var(--navy);font-size:1.2rem;opacity:0;transform:translateX(-6px);transition:all .4s var(--ease);}
.af-news__link:hover i{opacity:1;transform:translateX(0);}

/* =========================================================
   CTA
   ========================================================= */
.af-cta{position:relative;background:var(--navy);color:var(--white);overflow:hidden;}
.af-cta__bg{position:absolute;inset:0;opacity:.11;}
.af-cta__bg img{width:100%;height:100%;object-fit:cover;}
.af-cta__inner{position:relative;z-index:2;padding:100px var(--gutter) 96px;text-align:center;}
.af-cta__ttl{font-size:3.2rem;font-weight:700;line-height:1.5;letter-spacing:.03em;}
.af-cta__lead{margin-top:20px;font-size:1.55rem;line-height:2.1;color:rgba(255,255,255,.9);}
.af-cta__list{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px;text-align:left;
}
.af-cta__item{background:rgba(255,255,255,.08);border:solid 1px rgba(255,255,255,.28);padding:32px 30px;display:flex;flex-direction:column;}
.af-cta__item em{font-style:normal;font-family:var(--font-en);font-size:1.3rem;font-weight:600;letter-spacing:.18em;color:#9fc6ff;}
.af-cta__item strong{display:block;margin-top:10px;font-size:2rem;font-weight:700;line-height:1.5;}
.af-cta__item p{margin-top:12px;font-size:1.4rem;line-height:1.9;color:rgba(255,255,255,.82);}
.af-cta__item .btn{margin-top:auto;width:100%;min-width:0;}
.af-cta__tel{
  display:block;margin-top:16px;font-family:var(--font-en);font-size:3.4rem;font-weight:600;
  letter-spacing:.02em;line-height:1.2;color:var(--white);
}
.af-cta__tel small{display:block;font-family:var(--font-ja);font-size:1.4rem;font-weight:500;letter-spacing:.02em;color:rgba(255,255,255,.8);}

/* =========================================================
   Footer
   ========================================================= */
.af-footer{background:var(--navy-d);color:rgba(255,255,255,.86);padding:90px 0 30px;}
.af-footer__top{display:flex;gap:70px;align-items:flex-start;}
.af-footer__brand{width:320px;flex-shrink:0;}
.af-footer__logo{width:200px;filter:brightness(0) invert(1);}
.af-footer__addr{margin-top:26px;font-size:1.4rem;line-height:2;}
.af-footer__tel{
  display:block;margin-top:16px;font-family:var(--font-en);font-size:2.6rem;font-weight:600;color:var(--white);letter-spacing:.02em;
}
.af-footer__sns{display:flex;gap:14px;margin-top:24px;}
.af-footer__sns a{
  width:42px;height:42px;display:flex;align-items:center;justify-content:center;
  border:solid 1px rgba(255,255,255,.35);color:var(--white);font-size:1.6rem;
}
.af-footer__sns a:hover{background:var(--white);color:var(--navy-d);}
.af-footer__nav{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;}
.af-footer__col h3{
  font-family:var(--font-en);font-size:1.3rem;font-weight:600;letter-spacing:.18em;color:#8fb6ea;
  padding-bottom:12px;border-bottom:solid 1px rgba(255,255,255,.22);
}
.af-footer__col ul{margin-top:16px;display:flex;flex-direction:column;gap:12px;}
.af-footer__col a{font-size:1.4rem;font-weight:500;}
.af-footer__col a:hover{color:#9fc6ff;}
.af-footer__col a i{margin-left:6px;font-size:1rem;}
.af-footer__bottom{
  display:flex;align-items:center;gap:24px;flex-wrap:wrap;
  margin-top:60px;padding-top:24px;border-top:solid 1px rgba(255,255,255,.2);
}
.af-footer__bottom a{font-size:1.4rem;}
.af-footer__copy{margin-left:auto;font-size:1.4rem;color:rgba(255,255,255,.6);}

/* =========================================================
   追従バナー（PC右下 / SP下部4分割）
   ========================================================= */
.af-fixed{
  position:fixed;right:0;bottom:56px;z-index:70;
  display:flex;flex-direction:column;gap:1px;
  opacity:0;transform:translateX(20px);pointer-events:none;transition:all .5s var(--ease);
}
.af-fixed.is-show{opacity:1;transform:translateX(0);pointer-events:auto;}
.af-fixed a{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  width:96px;height:96px;color:var(--white);text-align:center;
  font-size:1.4rem;font-weight:700;letter-spacing:.02em;line-height:1.4;
}
.af-fixed a i{font-size:2rem;}
.af-fixed .--catalog{background:var(--navy);}
.af-fixed .--catalog:hover{background:var(--navy-d);}
.af-fixed .--shop{background:var(--blue);}
.af-fixed .--shop:hover{background:#0959ab;}
.af-fixed .--contact{background:var(--heat);}
.af-fixed .--contact:hover{background:#c14f1d;}

.af-spbar{display:none;}

/* ===== Page Top ===== */
.af-pagetop{
  position:fixed;right:24px;bottom:24px;z-index:69;width:48px;height:48px;
  display:flex;align-items:center;justify-content:center;
  background:var(--white);border:solid 1px var(--navy);color:var(--navy);
  opacity:0;pointer-events:none;transition:all .4s var(--ease);
}
.af-pagetop.is-show{opacity:1;pointer-events:auto;}
.af-pagetop:hover{background:var(--navy);color:var(--white);}

/* ===== Scroll Animation ===== */
.inView{opacity:0;transform:translateY(24px);}
.inView.is-view{animation:fadeUp 1.1s var(--ease) forwards;}
.inView.--d1{animation-delay:.12s;}
.inView.--d2{animation-delay:.24s;}
.inView.--d3{animation-delay:.36s;}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}
@media (prefers-reduced-motion:reduce){
  .inView{opacity:1;transform:none;}
  *{animation-duration:.01ms !important;transition-duration:.01ms !important;}
}

/* =========================================================
   Responsive
   ========================================================= */
@media screen and (max-width:1440px){
  .af-gnav{gap:18px;}
  .af-gnav__link{font-size:1.4rem;}
  .af-header__act a{width:104px;}
}
@media screen and (max-width:1240px){
  :root{--gutter:28px;}
  .af-header__logo-txt{display:none;}
  .af-header__tel{display:none;}
  .af-reason__bg{font-size:11rem;}
  .af-product__grid{grid-template-columns:repeat(2,1fr);}
  .af-anemo__list{grid-template-columns:repeat(2,1fr);}
  .af-flow__list{grid-template-columns:repeat(3,1fr);}
  .af-flow__item:not(:last-child)::after{display:none;}
  .af-need__list{grid-template-columns:repeat(2,1fr);}
  .af-works__list{grid-template-columns:repeat(2,1fr);}
  .af-column__list{grid-template-columns:repeat(2,1fr);}
  .af-footer__top{flex-direction:column;gap:50px;}
  .af-footer__brand{width:100%;}
  .af-footer__nav{width:100%;}
}
@media screen and (max-width:1024px){
  .af-gnav{display:none;}
  .af-header__bar{height:72px;}
  .af-navbar{height:72px;}
  .af-header__act a{width:96px;font-size:1.4rem;}
  .af-mv__inner{padding-top:72px;}
  .af-entry__list{grid-template-columns:1fr;}
  .af-entry{margin-top:-40px;}
  .af-need::before{width:100%;height:340px;}
  .af-need__head{flex-direction:column;align-items:flex-start;gap:24px;}
  .af-barrier__grid{grid-template-columns:1fr;gap:40px;}
  .af-company__grid{grid-template-columns:1fr;gap:50px;}
  .af-company__badge{left:auto;right:0;bottom:-16px;}
  .af-news__wrap{flex-direction:column;gap:34px;}
  .af-news__head{width:100%;display:flex;align-items:flex-end;justify-content:space-between;}
  .af-news__head .btn-line{margin-top:0;margin-bottom:6px;}
  .af-cta__list{grid-template-columns:1fr;}
  .af-product__band{flex-direction:column;align-items:stretch;gap:26px;}
  .af-product__band-img{width:100%;}
  .af-product__band-btns{flex-direction:row;}
  .af-product__band-btns .btn{flex:1;min-width:0;}
  .af-fixed{display:none;}
  .af-pagetop{bottom:80px;}
  body{padding-bottom:64px;}
  .af-spbar{
    display:grid;grid-template-columns:repeat(4,1fr);
    position:fixed;left:0;right:0;bottom:0;z-index:80;
    background:var(--navy-d);border-top:solid 1px rgba(255,255,255,.2);
  }
  .af-spbar a{
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
    padding:9px 4px 8px;color:var(--white);font-size:1.4rem;font-weight:700;line-height:1.3;
    border-left:solid 1px rgba(255,255,255,.16);
  }
  .af-spbar a:first-child{border-left:none;}
  .af-spbar a i{font-size:1.7rem;}
  .af-spbar .--shop{background:var(--blue);}
  .af-spbar .--contact{background:var(--heat);}
}
@media screen and (max-width:740px){
  :root{--gutter:16px;}
  body{font-size:1.5rem;}
  .sp{display:block !important;}
  .pc{display:none;}
  br.pc{display:none;}

  .ttl__ja{font-size:2.4rem;margin-top:16px;}
  .ttl__lead{font-size:1.45rem;margin-top:18px;}
  .btn{min-width:0;width:100%;padding:18px 24px;font-size:1.45rem;}
  .btn--lg{min-width:0;padding:20px 24px;}
  /* ホバー時の矢印はSPでは出番がない。右にはみ出すので消す */
  .btn-line::after{display:none;}

  .af-header__bar{gap:10px;}
  .af-header__logo{min-width:0;}
  .af-header__logo img{width:132px;}
  .af-header__act a{width:66px;font-size:1rem;gap:3px;letter-spacing:0;}
  .af-header__act i{font-size:1.4rem;}
  /* 「お問い合わせ」1行だと66px幅に文字がぴったりで余白0 → オンラインショップと同じ2行に */
  .af-br-sp{display:inline;}
  .af-navbar{width:52px;}
  .af-navbar span{width:22px;}

  .af-mv{min-height:560px;}
  .af-mv__veil{background:linear-gradient(180deg,rgba(0,25,64,.72) 0%,rgba(0,32,80,.6) 50%,rgba(0,32,80,.85) 100%);}
  .af-mv__grid{background-size:calc(100% / 3) 100%;}
  .af-mv__catch{margin-top:20px;}
  .af-mv__desc{margin-top:22px;font-size:1.45rem;}
  .af-mv__spec{margin-top:22px;gap:8px;}
  .af-mv__spec li{padding:7px 12px;font-size:1.4rem;}
  .af-mv__scroll{display:none;}
  .af-mv__num{bottom:22px;}

  .af-entry{margin-top:0;}
  .af-entry__item{padding:22px 18px;gap:14px;}
  .af-entry__icn{width:46px;height:46px;font-size:1.8rem;}
  .af-entry__txt span{font-size:1.55rem;}

  .af-need{padding:70px 0;}
  .af-need::before{height:280px;}
  .af-need__list{grid-template-columns:1fr;margin-top:34px;}
  .af-need__item{padding:28px 20px 26px;}
  .af-need__q{font-size:1.7rem;}

  .af-product{padding:70px 0 80px;}
  .af-product__head{flex-direction:column;align-items:flex-start;gap:20px;}
  .af-product__head .btn-line{margin-left:0;margin-bottom:0;}
  .af-product__grid{grid-template-columns:1fr;margin-top:34px;}
  .af-product__card{padding:28px 20px;}
  .af-product__band{margin-top:44px;padding:24px 18px;}
  .af-product__band-ttl{font-size:1.9rem;}
  .af-product__band-btns{flex-direction:column;}

  .af-anemo{padding:70px 0 80px;}
  .af-anemo__head{flex-direction:column;align-items:flex-start;gap:20px;}
  .af-anemo__lead{margin-left:0;font-size:1.45rem;}
  .af-anemo__list{grid-template-columns:1fr;margin-top:34px;}
  .af-anemo__item{padding:24px 20px;}
  .af-anemo__btns{margin-top:34px;flex-direction:column;}
  .af-anemo::before,.af-anemo::after{display:none;}

  .af-reason{padding:70px 0;}
  .af-reason__bg{display:none;}
  .af-reason__list{grid-template-columns:1fr;gap:34px;margin-top:44px;}

  .af-barrier__top{height:320px;}
  .af-barrier__catch .ttl__ja{font-size:2.4rem;}
  .af-barrier__catch p{font-size:1.4rem;margin-top:14px;}
  .af-barrier__body{padding:50px 0 70px;}
  .af-barrier__type{flex-direction:column;align-items:flex-start;gap:10px;padding:20px;}
  .af-barrier__type dt{width:auto;}
  .af-barrier__type dt::after{display:none;}
  .af-barrier__effect{grid-template-columns:1fr;}
  .af-barrier__effect li{display:flex;align-items:center;gap:16px;text-align:left;padding:18px 20px;}
  .af-barrier__effect span{margin-top:0;}

  .af-works{padding:70px 0;}
  .af-works__head{flex-direction:column;align-items:flex-start;gap:18px;}
  .af-works__head .btn-line{margin-left:0;margin-bottom:0;}
  .af-works__list{grid-template-columns:1fr;gap:28px;margin-top:34px;}

  .af-flow{padding:70px 0;}
  .af-flow__list{grid-template-columns:1fr;margin-top:34px;}
  .af-flow__item{padding:24px 20px;}

  .af-column{padding:70px 0;}
  .af-column__head{flex-direction:column;align-items:flex-start;gap:18px;}
  .af-column__head .btn-line{margin-left:0;margin-bottom:0;}
  .af-column__list{grid-template-columns:1fr;gap:20px;margin-top:34px;}
  .af-column__item{padding:26px 20px;}

  .af-company{padding:70px 0;}
  .af-company__txt .ttl__ja{font-size:2.3rem;}
  .af-company__msg{font-size:1.45rem;margin-top:20px;}
  .af-company__data dl{flex-direction:column;gap:4px;}
  .af-company__data dt{width:auto;}
  .af-company__badge{position:relative;left:auto;right:auto;bottom:auto;max-width:100%;margin-top:16px;}
  .af-company__imgs .--main{grid-column:1 / 3;grid-row:auto;}

  .af-news{padding:60px 0 70px;}
  .af-news__link{flex-wrap:wrap;gap:10px 14px;padding:20px 4px;}
  .af-news__ttl{width:100%;flex:none;-webkit-line-clamp:2;font-size:1.5rem;}
  .af-news__link i{display:none;}

  .af-cta__inner{padding:64px var(--gutter) 70px;}
  .af-cta__ttl{font-size:2.3rem;}
  .af-cta__lead{font-size:1.45rem;}
  .af-cta__list{margin-top:32px;gap:14px;}
  .af-cta__item{padding:24px 20px;}
  .af-cta__tel{font-size:2.8rem;}

  .af-footer{padding:60px 0 20px;}
  .af-footer__nav{grid-template-columns:1fr;gap:26px;}
  .af-footer__bottom{margin-top:40px;gap:14px;}
  .af-footer__copy{margin-left:0;width:100%;}
  .af-pagetop{right:12px;bottom:72px;width:42px;height:42px;}
}

/* =========================================================
   WordPress 化に伴う追加（TOP）
   ========================================================= */
html{scroll-padding-top:110px;}
.screen-reader-text{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}
.af-gnav__link[aria-current="page"]::after{width:100%;}
.af-header.is-scrolled{background:rgba(255,255,255,.97);}
.af-barrier__note--navy{border-left-color:var(--navy);}
.af-sec-more{margin-top:48px;text-align:center;}
.af-sec-more.sp{margin-top:34px;}
.af-cta__en{font-size:1.3rem;font-weight:600;letter-spacing:.3em;color:#9fc6ff;margin-bottom:16px;}
.af-news__empty{padding:26px 8px;color:var(--gray);border-bottom:solid 1px var(--line);}
.af-nav__info a{color:inherit;}
.af-works__meta{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.af-column__txt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}


/* ヘッダー：PCは全項目がナビに出ているのでハンバーガーは1024px以下だけ */
@media screen and (min-width:1025px){
  .af-navbar{display:none;}
}
@media screen and (max-width:1560px){
  .af-header__logo-txt{display:none;}
}
@media screen and (max-width:1340px){
  .af-header__tel{display:none;}
  .af-gnav{gap:16px;}
}
@media screen and (max-width:740px){
  .af-header__act a{font-size:1.1rem;}
}

/* =========================================================
   下層ページ 共通
   ========================================================= */
body.is-sub{padding-top:88px;}

/* ----- ページヒーロー ----- */
.pg-hero{
  position:relative;overflow:hidden;color:var(--white);
  background:var(--navy-d) var(--hero,none) center/cover no-repeat;
  min-height:400px;display:flex;align-items:center;
}
.pg-hero::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(90deg,rgba(0,29,72,.94) 0%,rgba(0,40,100,.8) 42%,rgba(0,45,110,.38) 78%,rgba(0,45,110,.22) 100%);
}
.pg-hero::after{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background-image:linear-gradient(90deg,rgba(255,255,255,.08) 1px,rgba(255,255,255,0) 1px);
  background-size:calc(100% / 6) 100%;
}
.pg-hero__inner{position:relative;z-index:3;padding-top:70px;padding-bottom:70px;}
.pg-hero__en{
  display:flex;align-items:center;gap:14px;
  font-family:var(--font-en);font-size:1.4rem;font-weight:600;letter-spacing:.3em;color:#a9c9f5;text-transform:uppercase;
}
.pg-hero__en::before{content:"";width:30px;height:2px;background:#a9c9f5;}
.pg-hero__ttl{
  display:flex;align-items:center;gap:20px;margin-top:20px;
  font-size:clamp(3rem,3.6vw,4.6rem);font-weight:700;line-height:1.35;letter-spacing:.04em;
}
.pg-hero__ttl--sm{font-size:clamp(2.6rem,2.6vw,3.4rem);}
.pg-hero__icn{
  width:64px;height:64px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;
  background:var(--white);color:var(--navy);font-size:2.6rem;
}
.pg-hero__lead{margin-top:24px;max-width:680px;font-size:1.6rem;line-height:2.1;color:rgba(255,255,255,.92);}
.pg-hero__tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;}
.pg-hero__tags li{padding:8px 16px;border:solid 1px rgba(255,255,255,.55);font-size:1.4rem;font-weight:700;letter-spacing:.04em;}
.pg-hero--simple{min-height:320px;background:var(--navy-d);}
.pg-hero--post{min-height:260px;}
.pg-hero--post .pg-hero__inner{padding-top:50px;padding-bottom:50px;}
.pg-hero--heat .pg-hero__en{color:#ffc9ac;}
.pg-hero--heat .pg-hero__en::before{background:var(--heat);}
.pg-hero--heat .pg-hero__icn{color:var(--heat);}

/* ----- ページ内ナビ ----- */
.pg-anchor{position:sticky;top:88px;z-index:40;background:var(--white);border-bottom:solid 1px var(--line);}
.pg-anchor__list{display:flex;gap:0;overflow-x:auto;scrollbar-width:none;}
.pg-anchor__list::-webkit-scrollbar{display:none;}
.pg-anchor__list a{
  position:relative;display:flex;align-items:center;gap:10px;flex-shrink:0;
  padding:20px 24px;font-size:1.45rem;font-weight:700;white-space:nowrap;color:var(--ink);
}
.pg-anchor__list a i{color:var(--blue);font-size:1.4rem;}
.pg-anchor__list a::after{content:"";position:absolute;left:24px;right:24px;bottom:-1px;height:3px;background:var(--navy);transform:scaleX(0);transition:transform .35s var(--ease);}
.pg-anchor__list a:hover::after,.pg-anchor__list a.is-current::after{transform:scaleX(1);}
.pg-anchor__list a.is-current{color:var(--navy);}

/* ----- セクション ----- */
.pg-sec{position:relative;padding:110px 0;background:var(--white);}
.pg-sec--sky{background:var(--sky);}
.pg-sec--dot{background-color:var(--white);background-image:radial-gradient(#d5e2f2 1px,transparent 1px);background-size:18px 18px;}
.pg-sec--navy{background:var(--navy-d);color:var(--white);overflow:hidden;}
.pg-sec--navy .ttl__en,.pg-sec--navy .ttl__ja{color:var(--white);}
.pg-sec--navy .ttl__en::before{background:var(--white);}
.pg-sec--navy .ttl__ja em{color:#9fc6ff;}
.pg-sec--navy .ttl__lead{color:rgba(255,255,255,.8);}
.pg-sec--navy::before{
  content:"";position:absolute;right:-180px;top:-180px;width:560px;height:560px;
  border:solid 1px rgba(255,255,255,.12);border-radius:50%;
}
.pg-sec--tight{padding:80px 0;}
.pg-sec__head{display:flex;align-items:flex-end;gap:50px;margin-bottom:56px;}
.pg-sec__head .ttl{flex:1;min-width:0;}
.pg-sec__head-txt{max-width:520px;font-size:1.5rem;line-height:2.1;color:var(--gray);}
.pg-sec--navy .pg-sec__head-txt{color:rgba(255,255,255,.82);}
.pg-sec .ttl + .pg-body{margin-top:44px;}
.pg-num-bg{
  position:absolute;right:0;top:50px;font-family:var(--font-en);font-size:12rem;font-weight:700;line-height:1;
  color:#f2f6fc;white-space:nowrap;pointer-events:none;z-index:0;
}
.pg-sec > .inner{position:relative;z-index:1;}

.ttl__ja--sm{font-size:2.8rem;}
.pg-sec--navy .pg-intro__img img{box-shadow:-18px 18px 0 rgba(255,255,255,.08);}
.pg-sec--navy .pg-intro__img figcaption{color:rgba(255,255,255,.75);}

/* ----- 本文テキスト ----- */
.pg-txt p + p{margin-top:1.2em;}
.pg-txt p{font-size:1.6rem;line-height:2.1;}
.pg-txt strong{color:var(--navy);}
.pg-lead{font-size:1.8rem;font-weight:700;line-height:1.9;letter-spacing:.02em;}
.pg-lead em{font-style:normal;color:var(--navy);background:linear-gradient(transparent 64%,#cfe2f8 64%);}
.pg-small{font-size:1.4rem;color:var(--gray);line-height:1.9;}

/* ----- イントロ（左テキスト／右写真） ----- */
.pg-intro{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center;}
.pg-intro__img{position:relative;}
.pg-intro__img img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.pg-intro__img img{box-shadow:-18px 18px 0 var(--sky-2);}
.pg-intro__img figcaption{margin-top:30px;font-size:1.4rem;color:var(--gray);}
.pg-intro .pg-lead{margin-top:30px;}
.pg-intro .pg-txt{margin-top:22px;}

/* ----- アイコンカード ----- */
.pg-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:solid 1px var(--line);}
.pg-cards--2{grid-template-columns:repeat(2,1fr);}
.pg-cards--4{grid-template-columns:repeat(4,1fr);}
.pg-card{position:relative;background:var(--white);padding:40px 32px 36px;overflow:hidden;}
.pg-card::after{content:"";position:absolute;right:-50px;bottom:-50px;width:120px;height:120px;border-radius:50%;background:var(--sky);transition:transform .5s var(--ease);}
.pg-card:hover::after{transform:scale(2.2);}
.pg-card > *{position:relative;z-index:1;}
.pg-card__icn{width:58px;height:58px;display:flex;align-items:center;justify-content:center;background:var(--navy);color:var(--white);font-size:2.3rem;}
.pg-card__no{position:absolute;right:28px;top:28px;font-family:var(--font-en);font-size:3.6rem;font-weight:700;line-height:1;color:var(--sky-2);}
.pg-card__ttl{margin-top:22px;font-size:2rem;font-weight:700;line-height:1.55;}
.pg-card__ttl em{font-style:normal;color:var(--navy);}
.pg-card__txt{margin-top:14px;font-size:1.5rem;line-height:2;color:var(--gray);}
.pg-card__list{margin-top:16px;display:flex;flex-direction:column;gap:6px;}
.pg-card__list li{position:relative;padding-left:22px;font-size:1.45rem;line-height:1.8;}
.pg-card__list li::before{content:"\f00c";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;left:0;top:.15em;color:var(--blue);font-size:1.2rem;}
.pg-sec--navy .pg-cards{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.2);}
.pg-sec--navy .pg-card{background:var(--navy-d);}
.pg-sec--navy .pg-card::after{background:#00234f;}
.pg-sec--navy .pg-card__icn{background:var(--white);color:var(--navy);}
.pg-sec--navy .pg-card__no{color:rgba(255,255,255,.12);}
.pg-sec--navy .pg-card__txt{color:rgba(255,255,255,.82);}
.pg-card--heat .pg-card__icn{background:var(--heat);}

/* ----- 左右交互ブロック ----- */
.pg-zz{display:flex;flex-direction:column;gap:90px;}
.pg-zz__row{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.pg-zz__row:nth-child(even) .pg-zz__img{order:2;}
.pg-zz__img{position:relative;}
.pg-zz__img img{width:100%;aspect-ratio:3/2;object-fit:cover;background:var(--sky);}
.pg-zz__img--contain img{object-fit:contain;background:var(--white);border:solid 1px var(--line);padding:20px;}
.pg-zz__label{position:absolute;left:0;top:0;padding:10px 18px;background:var(--navy);color:var(--white);font-family:var(--font-en);font-size:1.4rem;font-weight:600;letter-spacing:.14em;}
.pg-zz__en{font-family:var(--font-en);font-size:1.3rem;font-weight:600;letter-spacing:.2em;color:var(--blue);text-transform:uppercase;}
.pg-zz__ttl{margin-top:10px;font-size:2.6rem;font-weight:700;line-height:1.5;letter-spacing:.02em;}
.pg-zz__ttl small{display:block;margin-top:6px;font-size:1.5rem;font-weight:700;color:var(--gray);}
.pg-zz__txt{margin-top:20px;font-size:1.55rem;line-height:2.1;}
.pg-zz__btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;}

/* ----- 仕様リスト（dl） ----- */
.pg-spec{margin-top:24px;border-top:solid 1px var(--line);}
.pg-spec > div{display:flex;gap:20px;padding:14px 4px;border-bottom:solid 1px var(--line);}
.pg-spec dt{width:120px;flex-shrink:0;font-size:1.45rem;font-weight:700;color:var(--navy);}
.pg-spec dt i{margin-right:8px;color:var(--blue);}
.pg-spec dd{flex:1;font-size:1.45rem;line-height:1.9;}
.pg-spec--wide dt{width:190px;}

/* ----- タグ ----- */
.pg-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;}
.pg-tags span{padding:6px 12px;background:var(--sky);color:var(--navy);font-size:1.4rem;font-weight:700;}
.pg-sec--sky .pg-tags span{background:var(--white);}

/* ----- 表 ----- */
.pg-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:solid 1px var(--line);background:var(--white);}
.pg-table{width:100%;min-width:760px;border-collapse:collapse;}
.pg-table th,.pg-table td{padding:18px 20px;border:solid 1px var(--line);font-size:1.45rem;line-height:1.8;vertical-align:top;text-align:left;}
.pg-table thead th{background:var(--navy);color:var(--white);font-weight:700;border-color:rgba(255,255,255,.25);}
.pg-table tbody th{width:200px;background:var(--sky);color:var(--navy);font-weight:700;}
.pg-table td strong{color:var(--navy);font-size:1.6rem;}
.pg-table-note{margin-top:12px;font-size:1.4rem;color:var(--gray);}
.pg-table-note i{margin-right:6px;}

/* ----- 内訳バー（粒子サイズ・効率の可視化） ----- */
.pg-bars{display:flex;flex-direction:column;gap:22px;}
.pg-bar{display:grid;grid-template-columns:220px 1fr 160px;gap:24px;align-items:center;}
.pg-bar__name{font-size:1.6rem;font-weight:700;line-height:1.5;}
.pg-bar__name small{display:block;font-size:1.4rem;font-weight:500;color:var(--gray);}
.pg-bar__track{position:relative;height:16px;background:var(--sky-2);overflow:hidden;}
.pg-bar__fill{position:absolute;left:0;top:0;bottom:0;width:var(--w,50%);background:linear-gradient(90deg,var(--navy-l),var(--navy));transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease);}
.inView.is-view .pg-bar__fill,.pg-bars.is-view .pg-bar__fill{transform:scaleX(1);}
.pg-bar__val{font-family:var(--font-en);font-size:2.4rem;font-weight:700;color:var(--navy);line-height:1.1;}
.pg-bar__val small{display:block;font-family:var(--font-ja);font-size:1.4rem;font-weight:700;color:var(--gray);}

/* ----- ステップ（縦タイムライン） ----- */
.pg-steps{position:relative;display:flex;flex-direction:column;gap:0;}
.pg-steps::before{content:"";position:absolute;left:43px;top:20px;bottom:20px;width:2px;background:var(--sky-2);}
.pg-step{position:relative;display:grid;grid-template-columns:88px 1fr 320px;gap:36px;align-items:start;padding:34px 0;}
.pg-step + .pg-step{border-top:dashed 1px var(--line);}
.pg-step__no{
  position:relative;z-index:1;width:88px;height:88px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:var(--navy);color:var(--white);font-family:var(--font-en);line-height:1;
}
.pg-step__no small{font-size:1.3rem;font-weight:600;letter-spacing:.16em;}
.pg-step__no strong{margin-top:4px;font-size:3.2rem;font-weight:700;}
.pg-step__ttl{display:flex;align-items:center;gap:12px;font-size:2.2rem;font-weight:700;line-height:1.5;}
.pg-step__ttl i{color:var(--blue);font-size:2rem;}
.pg-step__txt{margin-top:14px;font-size:1.55rem;line-height:2.05;}
.pg-step__point{margin-top:16px;padding:14px 18px;background:var(--sky);border-left:solid 3px var(--navy);font-size:1.45rem;line-height:1.9;}
.pg-step__point strong{color:var(--navy);}
.pg-step__img img{width:100%;aspect-ratio:4/3;object-fit:cover;}

/* ----- チェックリスト ----- */
.pg-check{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 30px;}
.pg-check li{position:relative;padding:18px 20px 18px 58px;background:var(--white);border:solid 1px var(--line);font-size:1.55rem;font-weight:700;line-height:1.7;}
.pg-check li small{display:block;margin-top:4px;font-size:1.4rem;font-weight:500;color:var(--gray);}
.pg-check li::before{
  content:"\f00c";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;left:18px;top:18px;
  width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:var(--navy);color:var(--white);font-size:1.2rem;
}
.pg-check--3{grid-template-columns:repeat(3,1fr);}

/* ----- 情報パネル（数字） ----- */
.pg-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:solid 1px var(--line);}
.pg-fact{background:var(--white);padding:30px 26px;}
.pg-fact__icn{color:var(--blue);font-size:2.2rem;}
.pg-fact__val{margin-top:14px;font-family:var(--font-en);font-size:4rem;font-weight:700;line-height:1;color:var(--navy);}
.pg-fact__val span{font-family:var(--font-ja);font-size:1.6rem;font-weight:700;margin-left:4px;}
.pg-fact__label{margin-top:10px;font-size:1.5rem;font-weight:700;line-height:1.6;}
.pg-fact__txt{margin-top:8px;font-size:1.4rem;line-height:1.85;color:var(--gray);}
.pg-sec--navy .pg-facts{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.2);}
.pg-sec--navy .pg-fact{background:var(--navy-d);}
.pg-sec--navy .pg-fact__val{color:var(--white);}
.pg-sec--navy .pg-fact__icn{color:#9fc6ff;}
.pg-sec--navy .pg-fact__txt{color:rgba(255,255,255,.75);}

/* ----- ギャラリー ----- */
.pg-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 26px;}
.pg-gallery--4{grid-template-columns:repeat(4,1fr);gap:26px 20px;}
.pg-gallery--5{grid-template-columns:repeat(5,1fr);gap:22px 16px;}
.pg-gallery__item{position:relative;}
.pg-gallery__img{position:relative;overflow:hidden;background:var(--sky);}
.pg-gallery__img img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .6s var(--ease);}
.pg-gallery__item:hover .pg-gallery__img img{transform:scale(1.05);}
.pg-gallery__img--contain img{object-fit:contain;background:var(--white);}
.pg-gallery__mark{position:absolute;left:0;top:0;z-index:2;padding:6px 12px;background:var(--navy);color:var(--white);font-size:1.4rem;font-weight:700;}
.pg-gallery__mark--heat{background:var(--heat);}
.pg-gallery__ttl{margin-top:14px;display:flex;align-items:center;gap:10px;font-size:1.7rem;font-weight:700;line-height:1.5;}
.pg-gallery__ttl i{color:var(--blue);font-size:1.5rem;}
.pg-gallery__txt{margin-top:8px;font-size:1.45rem;line-height:1.9;color:var(--gray);}
.pg-sec--navy .pg-gallery__txt{color:rgba(255,255,255,.78);}

/* ----- 注意・補足ボックス ----- */
.pg-note{display:flex;gap:22px;padding:28px 30px;background:var(--white);border:solid 1px var(--line);border-left:solid 4px var(--navy);}
.pg-note__icn{width:48px;height:48px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--sky);color:var(--navy);font-size:2rem;}
.pg-note__ttl{font-size:1.75rem;font-weight:700;line-height:1.6;}
.pg-note__txt{margin-top:8px;font-size:1.5rem;line-height:2;color:var(--gray);}
.pg-note--heat{border-left-color:var(--heat);}
.pg-note--heat .pg-note__icn{color:var(--heat);background:#fdeee6;}

/* ----- 帯（中間CTA） ----- */
.pg-band{display:flex;align-items:center;gap:34px;padding:36px 40px;background:var(--white);border:solid 1px var(--line);border-top:solid 3px var(--navy);}
.pg-band__icn{width:70px;height:70px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--sky);color:var(--navy);font-size:2.8rem;}
.pg-band__txt{flex:1;}
.pg-band__ttl{font-size:2rem;font-weight:700;line-height:1.55;}
.pg-band__txt p:not(.pg-band__ttl){margin-top:8px;font-size:1.5rem;line-height:2;color:var(--gray);}
.pg-band .btn{flex-shrink:0;}
.pg-band--heat{border-top-color:var(--heat);}
.pg-band--heat .pg-band__icn{color:var(--heat);background:#fdeee6;}

/* ----- チップ（サイズ・取扱メーカー） ----- */
.pg-chips{display:flex;flex-wrap:wrap;gap:10px;}
.pg-chips li > span,.pg-chips li > a{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:var(--white);border:solid 1px var(--line);font-size:1.5rem;font-weight:700;}
.pg-chips li i{color:var(--blue);font-size:1.3rem;}
.pg-chips li small{margin-left:4px;padding:1px 8px;background:var(--sky);color:var(--navy);font-size:1.4rem;}
.pg-chips--size li > span{font-family:var(--font-en);font-size:1.9rem;letter-spacing:.02em;color:var(--navy);min-width:86px;justify-content:center;}
.pg-chips--size li > span small{font-family:var(--font-ja);background:none;padding:0;margin:0;font-size:1.4rem;color:var(--gray);}
.pg-chips--main li > span{border-color:var(--navy);color:var(--navy);}

/* ----- 製品カテゴリ（目次カード） ----- */
.pg-catnav{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:solid 1px var(--line);border-left:solid 1px var(--line);}
.pg-catnav a{position:relative;display:flex;align-items:center;gap:18px;padding:24px 26px;background:var(--white);transition:background .4s ease;border-right:solid 1px var(--line);border-bottom:solid 1px var(--line);}
.pg-catnav a:hover{background:var(--sky);}
.pg-catnav__no{font-family:var(--font-en);font-size:1.4rem;font-weight:600;letter-spacing:.14em;color:var(--blue);}
.pg-catnav__img{width:74px;height:56px;flex-shrink:0;overflow:hidden;background:var(--sky);}
.pg-catnav__img img{width:100%;height:100%;object-fit:cover;}
.pg-catnav__txt{flex:1;min-width:0;}
.pg-catnav__txt strong{display:block;font-size:1.65rem;font-weight:700;line-height:1.5;}
.pg-catnav__txt small{display:block;font-size:1.4rem;color:var(--gray);line-height:1.6;}
.pg-catnav a > i{color:var(--navy);font-size:1.3rem;transition:transform .4s var(--ease);}
.pg-catnav a:hover > i{transform:translateY(4px);}

/* ----- 比較表（アネモ4タイプ） ----- */
.pg-compare{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.2);border:solid 1px rgba(255,255,255,.2);}
.pg-compare__col{background:var(--navy-d);padding:30px 24px 30px;display:flex;flex-direction:column;}
.pg-compare__img{background:var(--white);overflow:hidden;}
.pg-compare__img img{width:100%;aspect-ratio:1/1;object-fit:cover;}
.pg-compare__ttl{margin-top:20px;font-size:2.1rem;font-weight:700;}
.pg-compare__ttl small{display:block;font-family:var(--font-en);font-size:1.3rem;font-weight:600;letter-spacing:.16em;color:#8fb6ea;}
.pg-compare dl{margin-top:16px;border-top:solid 1px rgba(255,255,255,.22);}
.pg-compare dl > div{padding:12px 0;border-bottom:solid 1px rgba(255,255,255,.16);}
.pg-compare dt{font-size:1.4rem;font-weight:700;color:#9fc6ff;}
.pg-compare dd{margin-top:4px;font-size:1.45rem;line-height:1.85;color:rgba(255,255,255,.9);}
.pg-compare__note{margin-top:auto;padding-top:16px;font-size:1.4rem;line-height:1.8;color:rgba(255,255,255,.65);}

/* ----- ダウンロード ----- */
.pg-dl{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.pg-dl a{display:flex;align-items:center;gap:22px;padding:26px 28px;background:var(--white);border:solid 1px var(--line);transition:border-color .4s ease,background .4s ease;}
.pg-dl a:hover{border-color:var(--navy);background:var(--sky);}
.pg-dl__icn{width:60px;height:60px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#c62f2f;color:var(--white);font-size:2.6rem;}
.pg-dl__txt strong{display:block;font-size:1.75rem;font-weight:700;}
.pg-dl__txt small{display:block;margin-top:4px;font-size:1.4rem;color:var(--gray);}
.pg-dl a > i{margin-left:auto;color:var(--navy);font-size:1.6rem;}

/* ----- FAQ ----- */
.pg-faq{display:flex;flex-direction:column;gap:56px;}
.pg-faq__group-ttl{display:flex;align-items:center;gap:14px;font-size:2rem;font-weight:700;line-height:1.5;padding-bottom:16px;border-bottom:solid 2px var(--line-d);}
.pg-faq__group-ttl i{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:var(--navy);color:var(--white);font-size:1.7rem;}
.pg-faq__group-ttl small{margin-left:auto;font-family:var(--font-en);font-size:1.4rem;font-weight:600;letter-spacing:.1em;color:var(--gray);}
.pg-faq__list{display:flex;flex-direction:column;}
.pg-faq__item{border-bottom:solid 1px var(--line);background:var(--white);}
.pg-faq__item summary{
  position:relative;display:flex;align-items:flex-start;gap:18px;padding:24px 70px 24px 6px;cursor:pointer;list-style:none;
  font-size:1.7rem;font-weight:700;line-height:1.65;transition:color .3s ease;
}
.pg-faq__item summary::-webkit-details-marker{display:none;}
.pg-faq__item summary:hover{color:var(--navy);}
.pg-faq__q,.pg-faq__a-mark{
  width:36px;height:36px;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  font-family:var(--font-en);font-size:1.8rem;font-weight:700;line-height:1;
}
.pg-faq__q{background:var(--navy);color:var(--white);}
.pg-faq__a-mark{background:var(--sky);color:var(--navy);}
.pg-faq__qtxt{padding-top:2px;}
.pg-faq__toggle{position:absolute;right:10px;top:24px;width:38px;height:38px;border:solid 1px var(--navy);}
.pg-faq__toggle::before,.pg-faq__toggle::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;background:var(--navy);transform:translate(-50%,-50%);transition:transform .35s var(--ease);}
.pg-faq__toggle::after{transform:translate(-50%,-50%) rotate(90deg);}
.pg-faq__item[open] .pg-faq__toggle{background:var(--navy);}
.pg-faq__item[open] .pg-faq__toggle::before{background:var(--white);}
.pg-faq__item[open] .pg-faq__toggle::after{background:var(--white);transform:translate(-50%,-50%) rotate(0deg);}
.pg-faq__body{display:flex;gap:18px;padding:0 70px 28px 6px;animation:faqOpen .45s var(--ease);}
.pg-faq__atxt{padding-top:3px;font-size:1.55rem;line-height:2.05;}
.pg-faq__atxt a{color:var(--navy);text-decoration:underline;text-underline-offset:3px;}
.pg-faq__atxt img{margin-top:14px;max-width:100%;}
@keyframes faqOpen{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:none;}}

/* ----- 手順写真（アネモ取付） ----- */
.pg-howto{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;counter-reset:howto;}
.pg-howto li{position:relative;background:var(--white);border:solid 1px var(--line);counter-increment:howto;}
.pg-howto li img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.pg-howto li::before{
  content:counter(howto,decimal-leading-zero);position:absolute;left:0;top:0;z-index:2;
  padding:8px 14px;background:var(--navy);color:var(--white);font-family:var(--font-en);font-size:1.6rem;font-weight:700;letter-spacing:.06em;
}
.pg-howto p{padding:18px 20px 20px;font-size:1.5rem;line-height:1.9;font-weight:700;}

/* ----- 会社：代表プロフィール ----- */
.pg-profile{display:grid;grid-template-columns:420px 1fr;gap:70px;align-items:start;}
.pg-profile__photo{position:relative;}
.pg-profile__photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:30% center;}
.pg-profile__photo::before{content:"";position:absolute;right:-20px;top:-20px;width:70%;height:70%;border:solid 2px var(--navy);z-index:-1;}
.pg-profile__card{position:absolute;left:-24px;bottom:-26px;background:var(--navy);color:var(--white);padding:22px 28px;min-width:250px;}
.pg-profile__card small{display:block;font-size:1.4rem;color:#9fc6ff;font-weight:700;letter-spacing:.06em;}
.pg-profile__card strong{display:block;margin-top:4px;font-size:2.4rem;font-weight:700;letter-spacing:.12em;}
.pg-profile__card span{display:block;font-family:var(--font-en);font-size:1.3rem;letter-spacing:.2em;color:#9fc6ff;}
.pg-profile__msg{margin-top:30px;}
.pg-profile__msg p{font-size:1.6rem;line-height:2.25;}
.pg-profile__msg p + p{margin-top:1.3em;}
.pg-profile__sign{margin-top:28px;text-align:right;font-size:1.5rem;color:var(--gray);}
.pg-profile__sign strong{margin-left:12px;font-size:2.2rem;color:var(--ink);letter-spacing:.12em;}

/* ----- 会社：認定・宣言 ----- */
.pg-cert{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.pg-cert__item{background:var(--white);border:solid 1px var(--line);display:flex;flex-direction:column;}
.pg-cert__img{background:#f6f8fb;display:flex;align-items:center;justify-content:center;padding:18px;aspect-ratio:4/3;overflow:hidden;}
.pg-cert__img img{max-height:100%;width:auto;object-fit:contain;}
.pg-cert__body{padding:24px 26px 28px;}
.pg-cert__badge{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;background:var(--navy);color:var(--white);font-size:1.4rem;font-weight:700;}
.pg-cert__ttl{margin-top:14px;font-size:1.9rem;font-weight:700;line-height:1.55;}
.pg-cert__txt{margin-top:10px;font-size:1.45rem;line-height:1.95;color:var(--gray);}

/* ----- 会社概要テーブル ----- */
.pg-outline{border-top:solid 2px var(--line-d);}
.pg-outline > div{display:flex;gap:30px;padding:22px 8px;border-bottom:solid 1px var(--line);}
.pg-outline dt{width:200px;flex-shrink:0;display:flex;align-items:center;gap:12px;font-size:1.55rem;font-weight:700;color:var(--navy);}
.pg-outline dt i{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--sky);color:var(--navy);font-size:1.4rem;}
.pg-outline dd{flex:1;font-size:1.55rem;line-height:2;}
.pg-outline dd a{color:var(--navy);}

/* ----- 地図 ----- */
.pg-map{display:grid;grid-template-columns:1fr 1.4fr;gap:0;border:solid 1px var(--line);background:var(--white);}
.pg-map__info{padding:40px 38px;}
.pg-map__info h3{font-size:2rem;font-weight:700;}
.pg-map__info ul{margin-top:20px;display:flex;flex-direction:column;gap:14px;}
.pg-map__info li{display:flex;gap:14px;font-size:1.5rem;line-height:1.85;}
.pg-map__info li i{width:20px;flex-shrink:0;margin-top:.35em;color:var(--blue);}
.pg-map__frame{position:relative;min-height:380px;}
.pg-map__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.2);}

/* ----- 写真3枚（会社） ----- */
.pg-photos{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:16px;}
.pg-photos img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;}
.pg-photos figure{position:relative;}
.pg-photos figcaption{position:absolute;left:0;bottom:0;padding:8px 14px;background:rgba(0,43,102,.86);color:var(--white);font-size:1.4rem;font-weight:700;}

/* ----- お問い合わせ ----- */
.pg-ways{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:solid 1px var(--line);}
.pg-way{background:var(--white);padding:34px 30px;display:flex;flex-direction:column;}
.pg-way__icn{width:54px;height:54px;display:flex;align-items:center;justify-content:center;background:var(--sky);color:var(--navy);font-size:2.2rem;}
.pg-way__en{margin-top:18px;font-family:var(--font-en);font-size:1.3rem;font-weight:600;letter-spacing:.2em;color:var(--blue);}
.pg-way__ttl{margin-top:6px;font-size:1.9rem;font-weight:700;}
.pg-way__txt{margin-top:10px;font-size:1.45rem;line-height:1.9;color:var(--gray);}
.pg-way__big{display:block;margin-top:14px;font-family:var(--font-en);font-size:3rem;font-weight:600;color:var(--navy);line-height:1.2;letter-spacing:.02em;}
.pg-way .btn{margin-top:auto;min-width:0;width:100%;}
.pg-way__txt + .btn,.pg-way__big + .btn{margin-top:20px;}

.pg-form{display:grid;grid-template-columns:340px 1fr;gap:60px;align-items:start;}
.pg-form__side{position:sticky;top:120px;}
.pg-form__side-box{padding:30px 28px;background:var(--sky);border-top:solid 3px var(--navy);}
.pg-form__side-box h3{display:flex;align-items:center;gap:10px;font-size:1.8rem;font-weight:700;}
.pg-form__side-box h3 i{color:var(--navy);}
.pg-form__side-box ul{margin-top:16px;display:flex;flex-direction:column;gap:10px;}
.pg-form__side-box li{position:relative;padding-left:22px;font-size:1.45rem;line-height:1.85;}
.pg-form__side-box li::before{content:"\f00c";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;left:0;top:.2em;color:var(--blue);font-size:1.2rem;}
.pg-form__side-box p{margin-top:16px;font-size:1.4rem;line-height:1.9;color:var(--gray);}
.pg-form__side-box + .pg-form__side-box{margin-top:20px;}
.pg-form__main{background:var(--white);border:solid 1px var(--line);padding:50px 50px 46px;}

.md-form-lead{margin:0 0 32px;font-size:1.55rem;line-height:2;font-weight:500;color:var(--ink);}
.md-form-row{margin-bottom:26px;}
.md-form-row > label,.md-form-row > .md-form-label-wrap{display:block;}
.md-form-label{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:1.55rem;font-weight:700;color:var(--ink);}
.md-form-required{padding:3px 10px;background:#c90012;color:#fff;font-size:1.4rem;font-weight:700;line-height:1.5;}
.md-form-optional{padding:3px 10px;background:#6b7580;color:#fff;font-size:1.4rem;font-weight:700;line-height:1.5;}
.md-form-row input[type="text"],.md-form-row input[type="email"],.md-form-row input[type="tel"],.md-form-row select,.md-form-row textarea{
  width:100%;padding:16px 18px;border:solid 1px #c8d2dd;border-radius:2px;font-family:inherit;font-size:1.6rem;background:#f7f9fc;color:var(--ink);
  transition:border-color .3s ease,background .3s ease;
}
.md-form-row input:focus,.md-form-row select:focus,.md-form-row textarea:focus{outline:none;border-color:var(--navy);background:var(--white);}
.md-form-row textarea{min-height:200px;line-height:1.8;}
.md-form-row .wpcf7-checkbox,.md-form-row .wpcf7-radio{display:flex;flex-wrap:wrap;gap:10px;}
.md-form-row .wpcf7-list-item{margin:0;}
.md-form-row .wpcf7-list-item label{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:solid 1px #c8d2dd;background:#f7f9fc;font-size:1.5rem;font-weight:500;cursor:pointer;}
.md-form-row .wpcf7-list-item input{accent-color:var(--navy);width:18px;height:18px;}
.md-form-row .wpcf7-file{font-size:1.5rem;}
.md-form-files{display:grid;grid-template-columns:1fr;gap:8px;}
.md-form-file{display:flex;align-items:center;gap:14px;padding:12px 16px;border:dashed 1px #c8d2dd;background:#f7f9fc;}
.md-form-file > span:first-child{flex-shrink:0;width:72px;font-size:1.4rem;font-weight:700;color:var(--navy);}
.md-form-file .wpcf7-form-control-wrap{flex:1;min-width:0;}
.md-form-file input[type="file"]{width:100%;font-size:1.4rem;}
.md-form-hint{margin-top:8px;font-size:1.4rem;color:var(--gray);line-height:1.8;}
.md-form-2col{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;}
.md-form-agree{margin-top:10px;padding:20px 22px;background:var(--sky);font-size:1.45rem;line-height:1.9;}
.md-form-agree a{color:var(--navy);text-decoration:underline;}
.md-form-submit{text-align:center;margin-top:34px;}
.md-form-submit input[type="submit"]{
  width:min(380px,100%);height:68px;border:none;border-radius:0;background:var(--navy);color:#fff;
  font-family:inherit;font-size:1.8rem;font-weight:700;letter-spacing:.08em;cursor:pointer;transition:background .3s ease;
}
.md-form-submit input[type="submit"]:hover{background:var(--navy-d);}
.wpcf7-not-valid-tip{margin-top:6px;font-size:1.4rem;color:#c90012;}
.wpcf7 form .wpcf7-response-output{margin:24px 0 0;padding:16px 20px;font-size:1.5rem;border-width:2px;}
.wpcf7-spinner{display:block;margin:14px auto 0;}

/* ----- 個人情報保護方針（IL規定フォーマット） ----- */
.page-container{background:var(--white);}
.priv-content{max-width:900px;margin:0 auto;padding:90px 20px 100px;}
.section-title-center{text-align:center;font-size:2.6rem;font-weight:700;line-height:1.5;margin-bottom:40px;}
.section-title-center::after{content:"";display:block;width:40px;height:3px;background:var(--navy);margin:20px auto 0;}
.priv-lead-txt{margin-bottom:48px;line-height:2.1;font-size:1.6rem;}
.priv-section{margin-bottom:40px;}
.priv-section h3{font-size:1.8rem;font-weight:700;color:var(--navy);border-left:4px solid var(--navy);padding-left:14px;margin-bottom:14px;line-height:1.5;}
.priv-section p{font-size:1.6rem;line-height:2.05;}
.priv-list{padding-left:1.5em;line-height:2;font-size:1.6rem;}
.priv-list li{list-style:disc;margin-bottom:4px;}
.priv-footer-info{margin-top:60px;padding-top:32px;border-top:1px solid var(--line);font-size:1.5rem;line-height:2;color:var(--gray);}

/* ----- 一覧（施工事例／コラム／お知らせ） ----- */
.pg-archive-head{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-bottom:46px;padding-bottom:26px;border-bottom:solid 1px var(--line);}
.pg-archive-head__count{display:flex;align-items:center;gap:10px;font-size:1.55rem;font-weight:700;}
.pg-archive-head__count i{color:var(--blue);}
.pg-archive-head__count strong{font-family:var(--font-en);font-size:3rem;color:var(--navy);line-height:1;}
.pg-archive-head .pg-chips li > span{padding:7px 12px;font-size:1.4rem;}
.pg-workslist{margin-top:0;}
.pg-postgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 28px;}
.pg-postgrid--rel{margin-top:46px;}
.pg-postcard{display:flex;flex-direction:column;background:var(--white);border:solid 1px var(--line);transition:border-color .4s ease,transform .4s var(--ease);}
.pg-postcard:hover{border-color:var(--navy);transform:translateY(-4px);}
.pg-postcard__img{position:relative;overflow:hidden;aspect-ratio:16/10;background:var(--sky);}
.pg-postcard__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);}
.pg-postcard:hover .pg-postcard__img img{transform:scale(1.05);}
.pg-postcard__cat{position:absolute;left:0;top:0;padding:6px 12px;background:var(--navy);color:var(--white);font-size:1.4rem;font-weight:700;}
.pg-postcard__body{flex:1;display:flex;flex-direction:column;padding:24px 24px 26px;}
.pg-postcard__date{font-family:var(--font-en);font-size:1.4rem;font-weight:600;color:var(--gray);}
.pg-postcard__ttl{margin-top:8px;font-size:1.75rem;font-weight:700;line-height:1.6;}
.pg-postcard__txt{margin-top:10px;font-size:1.45rem;line-height:1.9;color:var(--gray);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.pg-postcard .btn-line{margin-top:auto;padding-top:18px;align-self:flex-start;}
.pg-postcard__body .btn-line{margin-top:auto;}
.pg-newslist{max-width:1000px;margin:0 auto;}
.pg-pager{margin-top:60px;display:flex;justify-content:center;gap:8px;flex-wrap:wrap;}
.pg-pager .page-numbers{min-width:48px;height:48px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;border:solid 1px var(--line);font-family:var(--font-en);font-size:1.6rem;font-weight:600;color:var(--navy);}
.pg-pager .page-numbers.current{background:var(--navy);border-color:var(--navy);color:var(--white);}
.pg-pager a.page-numbers:hover{border-color:var(--navy);background:var(--sky);}
.pg-empty{padding:60px 0;text-align:center;color:var(--gray);}

/* ----- 投稿詳細 ----- */
.pg-sec--post{padding-top:70px;}
.pg-post{max-width:900px;margin:0 auto;padding:0 var(--gutter);}
.pg-post__meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.pg-post__meta time{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-en);font-size:1.5rem;font-weight:600;color:var(--gray);}
.pg-post__label{padding:5px 12px;background:var(--navy);color:var(--white);font-size:1.4rem;font-weight:700;}
.pg-post__ttl{margin-top:18px;font-size:3rem;font-weight:700;line-height:1.55;letter-spacing:.02em;padding-bottom:26px;border-bottom:solid 2px var(--line-d);}
.pg-post__eyecatch{margin-top:36px;}
.pg-post__eyecatch img{width:100%;max-height:560px;object-fit:cover;}
.entry{margin-top:40px;font-size:1.6rem;line-height:2.1;}
.entry > * + *{margin-top:1.4em;}
.entry h2{margin-top:2.4em;padding:14px 20px;background:var(--sky);border-left:solid 4px var(--navy);font-size:2.2rem;font-weight:700;line-height:1.55;}
.entry h3{margin-top:2em;padding-bottom:10px;border-bottom:solid 2px var(--line);font-size:1.9rem;font-weight:700;line-height:1.6;}
.entry h3::before{content:"";display:inline-block;width:10px;height:10px;margin-right:12px;background:var(--navy);vertical-align:middle;transform:translateY(-2px);}
.entry h4{margin-top:1.8em;font-size:1.7rem;font-weight:700;color:var(--navy);}
.entry a{color:var(--navy);text-decoration:underline;text-underline-offset:3px;}
.entry ul,.entry ol{padding-left:0;}
.entry ul li{position:relative;padding-left:24px;}
.entry ul li::before{content:"";position:absolute;left:4px;top:.85em;width:8px;height:8px;background:var(--blue);}
.entry ol{counter-reset:ol;}
.entry ol li{position:relative;padding-left:34px;counter-increment:ol;}
.entry ol li::before{content:counter(ol);position:absolute;left:0;top:.3em;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--navy);color:var(--white);font-family:var(--font-en);font-size:1.4rem;font-weight:700;line-height:1;}
.entry li + li{margin-top:.5em;}
.entry img{max-width:100%;height:auto;}
.entry figure{margin-left:0;margin-right:0;}
.entry figcaption{margin-top:8px;font-size:1.4rem;color:var(--gray);}
.entry .entry-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.entry .entry-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.entry table{width:100%;border-collapse:collapse;}
.entry th,.entry td{padding:12px 16px;border:solid 1px var(--line);font-size:1.5rem;}
.entry th{background:var(--sky);color:var(--navy);}
.entry blockquote{padding:20px 24px;background:var(--sky);border-left:solid 4px var(--navy);}
.pg-post__cta{margin-top:70px;padding:40px 44px;background:var(--navy-d);color:var(--white);position:relative;overflow:hidden;}
.pg-post__cta::before{content:"";position:absolute;right:-90px;top:-90px;width:260px;height:260px;border:solid 1px rgba(255,255,255,.14);border-radius:50%;}
.pg-post__cta-en{font-size:1.3rem;font-weight:600;letter-spacing:.24em;color:#9fc6ff;}
.pg-post__cta-ttl{margin-top:10px;font-size:2.2rem;font-weight:700;line-height:1.5;}
.pg-post__cta-txt{margin-top:12px;font-size:1.5rem;line-height:2;color:rgba(255,255,255,.86);}
.pg-post__cta-btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px;}
.pg-post__cta-btns .btn{min-width:0;}
.pg-post__cta .btn{background:var(--white);color:var(--navy);border-color:var(--white);}
.pg-post__cta .btn::before{background:var(--sky);}
.pg-post__cta .btn--ghost{background:transparent;color:var(--white);border-color:rgba(255,255,255,.6);}
.pg-post__cta .btn--ghost::before{background:rgba(255,255,255,.12);}
.pg-post__nav{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:60px;background:var(--line);border:solid 1px var(--line);}
.pg-post__nav-item{background:var(--white);min-height:20px;}
.pg-post__nav-item a{display:block;height:100%;padding:22px 24px;transition:background .3s ease;}
.pg-post__nav-item a:hover{background:var(--sky);}
.pg-post__nav-item small{display:flex;align-items:center;gap:8px;font-size:1.4rem;font-weight:700;color:var(--blue);}
.pg-post__nav-item span{display:block;margin-top:6px;font-size:1.5rem;font-weight:700;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.pg-post__nav-item.--next{text-align:right;}
.pg-post__nav-item.--next small{justify-content:flex-end;}
.pg-post__back{margin-top:40px;text-align:center;}

/* ----- 404 ----- */
.pg-linkgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:solid 1px var(--line);}
.pg-linkgrid a{display:flex;flex-direction:column;align-items:center;gap:14px;padding:40px 20px;background:var(--white);font-size:1.6rem;font-weight:700;}
.pg-linkgrid a i{font-size:2.6rem;color:var(--navy);}
.pg-linkgrid a:hover{background:var(--sky);}


/* ----- 製品カタログ（絞り込み付き一覧） ----- */
.pg-lineup-dl{margin-bottom:40px;padding:26px 28px;background:var(--white);border:solid 1px var(--line);border-top:solid 3px var(--navy);}
.pg-lineup-dl__ttl{display:flex;align-items:center;gap:10px;margin-bottom:18px;font-size:1.65rem;font-weight:700;}
.pg-lineup-dl__ttl i{color:var(--navy);}
.pg-lineup-dl .pg-dl a{background:var(--sky);border-color:var(--sky-2);}
.pg-filter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px;}
.pg-filter__btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border:solid 1px var(--line);background:var(--white);font-size:1.5rem;font-weight:700;color:var(--ink);transition:all .3s ease;}
.pg-filter__btn small{padding:1px 8px;background:var(--sky);color:var(--navy);font-size:1.4rem;}
.pg-filter__btn:hover{border-color:var(--navy);color:var(--navy);}
.pg-filter__btn.is-active{background:var(--navy);border-color:var(--navy);color:var(--white);}
.pg-filter__btn.is-active small{background:rgba(255,255,255,.18);color:var(--white);}
.pg-catalog{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:solid 1px var(--line);border-left:solid 1px var(--line);}
.pg-catalog__item{display:flex;flex-direction:column;background:var(--white);border-right:solid 1px var(--line);border-bottom:solid 1px var(--line);}
.pg-catalog__item[hidden]{display:none !important;}
.pg-catalog__img{background:#fff;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;padding:16px;border-bottom:solid 1px var(--line);overflow:hidden;}
.pg-catalog__img img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .5s var(--ease);}
.pg-catalog__item:hover .pg-catalog__img img{transform:scale(1.05);}
.pg-catalog__body{flex:1;display:flex;flex-direction:column;padding:18px 20px 20px;}
.pg-catalog__cat{align-self:flex-start;padding:3px 10px;background:var(--sky);color:var(--navy);font-size:1.4rem;font-weight:700;}
.pg-catalog__name{margin-top:10px;font-size:1.65rem;font-weight:700;line-height:1.55;}
.pg-catalog__use{margin-top:6px;font-size:1.4rem;line-height:1.8;color:var(--gray);}
.pg-catalog__link{margin-top:auto;padding-top:14px;display:inline-flex;align-items:center;gap:8px;font-size:1.4rem;font-weight:700;color:var(--navy);}
.pg-catalog__link i{font-size:1.2rem;transition:transform .3s var(--ease);}
.pg-catalog__link:hover i{transform:translateX(4px);}
.pg-catalog-more{margin-top:30px;text-align:center;}
.pg-catalog-more[hidden]{display:none;}
.pg-catnav__all .pg-catnav__img{display:flex;align-items:center;justify-content:center;background:var(--navy);color:var(--white);font-size:2.2rem;}
.pg-catnav__all{background:var(--sky) !important;}

/* ----- アネモのサイズの測り方 ----- */
.pg-measure{display:grid;grid-template-columns:1fr 1.15fr;gap:60px;align-items:start;}
.pg-measure__steps{margin-top:28px;display:flex;flex-direction:column;gap:14px;counter-reset:ms;}
.pg-measure__steps li{position:relative;padding:18px 20px 18px 66px;background:var(--sky);font-size:1.45rem;line-height:1.85;color:var(--gray);counter-increment:ms;}
.pg-measure__steps li::before{content:counter(ms);position:absolute;left:18px;top:18px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--navy);color:var(--white);font-family:var(--font-en);font-size:1.6rem;font-weight:700;}
.pg-measure__steps strong{display:block;font-size:1.65rem;color:var(--ink);}
.pg-measure__note{margin-top:20px;display:flex;gap:12px;padding:16px 18px;border:solid 1px #f3c7b2;background:#fdf3ee;font-size:1.45rem;line-height:1.85;}
.pg-measure__note i{color:var(--heat);margin-top:.3em;}
.pg-measure__svg{width:100%;height:auto;border:solid 1px var(--line);background:#fff;}
.pg-measure__photos{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;}
.pg-measure__photos img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.pg-measure__photos figcaption{margin-top:6px;font-size:1.4rem;color:var(--gray);}
.pg-measure-sizes{margin-top:40px;padding:28px 30px;border:solid 1px var(--line);background:var(--white);}
.pg-measure-sizes__ttl{font-size:1.6rem;font-weight:700;color:var(--navy);margin-bottom:14px;}
.pg-measure-sizes .pg-small{margin-top:14px;}
.pg-measure-sizes .pg-chips--size li > span{background:var(--sky);border-color:var(--sky-2);}
.pg-faq__atxt a{white-space:nowrap;}
@media screen and (max-width:1240px){
  .pg-catalog{grid-template-columns:repeat(3,1fr);}
}
@media screen and (max-width:1024px){
  .pg-measure{grid-template-columns:1fr;gap:40px;}
}
@media screen and (max-width:740px){
  .pg-catalog{grid-template-columns:repeat(2,1fr);}
  .pg-catalog__body{padding:14px 12px 16px;}
  .pg-catalog__name{font-size:1.5rem;}
  .pg-filter{gap:8px;}
  .pg-filter__btn{padding:10px 14px;font-size:1.4rem;}
  .pg-measure-sizes{padding:22px 16px;}
}


/* ----- フォーム：種類に応じた入力欄・サイズ入力・ドロップ ----- */
.md-cond{margin:0 0 30px;padding:26px 26px 4px;background:#f3f7fc;border:solid 1px var(--sky-2);border-left:solid 4px var(--navy);animation:faqOpen .4s var(--ease);}
.md-cond[hidden]{display:none !important;}
.md-cond__head{display:flex;align-items:center;gap:10px;margin-bottom:20px;font-size:1.6rem;font-weight:700;color:var(--navy);}
.md-cond .md-form-row input[type="text"],.md-cond .md-form-row input[type="number"]{background:var(--white);}
.md-form-row input[type="number"]{width:100%;padding:16px 14px;border:solid 1px #c8d2dd;border-radius:2px;font-family:var(--font-en);font-size:1.7rem;background:#f7f9fc;color:var(--ink);}
.md-size{display:flex;align-items:center;flex-wrap:wrap;gap:10px;}
.md-size label{display:flex;align-items:center;gap:8px;}
.md-size label > span{font-size:1.4rem;font-weight:700;color:var(--gray);}
.md-size .wpcf7-form-control-wrap{width:110px;}
.md-size em{font-style:normal;font-family:var(--font-en);font-size:1.5rem;font-weight:600;color:var(--gray);}
.md-size > i{font-style:normal;font-size:1.6rem;color:var(--gray-2);}
.md-form-row--short{max-width:320px;}
.md-form-row .wpcf7-list-item label:has(input:checked){border-color:var(--navy);background:var(--navy);color:var(--white);}
.md-form-row .wpcf7-list-item label:has(input:checked) input{accent-color:#fff;}
.md-drop{position:relative;padding:30px 24px 24px;border:dashed 2px #b9c7d8;background:#f7f9fc;text-align:center;transition:all .3s ease;}
.md-drop.is-over{border-color:var(--navy);background:var(--sky);}
.md-drop__icn{font-size:3.4rem;color:var(--navy);}
.md-drop__txt{margin-top:10px;font-size:1.5rem;color:var(--gray);}
.md-drop__txt strong{display:block;font-size:1.7rem;color:var(--ink);}
.md-drop__btn{margin-top:12px;padding:12px 26px;background:var(--navy);color:var(--white);font-size:1.5rem;font-weight:700;}
.md-drop__btn:hover{background:var(--navy-d);}
.md-drop__note{margin-top:12px;font-size:1.4rem;color:var(--gray);}
.md-drop__list{margin-top:14px;display:flex;flex-direction:column;gap:8px;text-align:left;}
.md-drop__list:empty{display:none;}
.md-drop__list li{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--white);border:solid 1px var(--line);font-size:1.45rem;}
.md-drop__list li span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.md-drop__list li small{font-family:var(--font-en);font-size:1.4rem;color:var(--gray);}
.md-drop__list li i{color:var(--navy);}
.md-drop__list li button{width:30px;height:30px;color:var(--gray);}
.md-drop__list li button:hover{color:#c90012;}
.is-drop-ready .md-form-files{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
@media screen and (max-width:740px){
  .md-cond{padding:20px 14px 2px;}
  .md-size .wpcf7-form-control-wrap{width:84px;}
  .md-size{gap:6px;}
  .md-form-row--short{max-width:none;}
}

/* =========================================================
   下層 Responsive
   ========================================================= */
@media screen and (max-width:1240px){
  .pg-cards--4,.pg-facts{grid-template-columns:repeat(2,1fr);}
  .pg-gallery--5{grid-template-columns:repeat(3,1fr);}
  .pg-gallery--4{grid-template-columns:repeat(3,1fr);}
  .pg-compare{grid-template-columns:repeat(2,1fr);}
  .pg-step{grid-template-columns:88px 1fr 260px;gap:28px;}
  .pg-profile{grid-template-columns:360px 1fr;gap:56px;}
  .pg-form{grid-template-columns:300px 1fr;gap:40px;}
  .pg-catnav{grid-template-columns:repeat(2,1fr);}
  .pg-postgrid{grid-template-columns:repeat(2,1fr);}
  .pg-num-bg{font-size:9rem;}
}
@media screen and (max-width:1024px){
  body.is-sub{padding-top:72px;}
  .pg-anchor{top:72px;}
  html{scroll-padding-top:150px;}
  .pg-hero{min-height:340px;}
  .pg-intro{grid-template-columns:1fr;gap:50px;}
  .pg-intro__img img{box-shadow:-10px 10px 0 var(--sky-2);}
  .pg-zz__row{grid-template-columns:1fr;gap:30px;}
  .pg-zz__row:nth-child(even) .pg-zz__img{order:0;}
  .pg-zz{gap:70px;}
  .pg-cards{grid-template-columns:repeat(2,1fr);}
  .pg-step{grid-template-columns:72px 1fr;gap:24px;}
  .pg-step__no{width:72px;height:72px;}
  .pg-steps::before{left:35px;}
  .pg-step__img{grid-column:2 / 3;}
  .pg-step__img img{max-width:420px;}
  .pg-check--3{grid-template-columns:repeat(2,1fr);}
  .pg-profile{grid-template-columns:1fr;gap:60px;}
  .pg-profile__photo{max-width:440px;}
  .pg-cert{grid-template-columns:repeat(2,1fr);}
  .pg-map{grid-template-columns:1fr;}
  .pg-ways{grid-template-columns:1fr;}
  .pg-form{grid-template-columns:1fr;}
  .pg-form__side{position:static;}
  .pg-sec__head{flex-direction:column;align-items:flex-start;gap:20px;}
  .pg-sec__head-txt{max-width:none;}
  .pg-bar{grid-template-columns:180px 1fr 120px;gap:18px;}
  .pg-band{flex-wrap:wrap;}
  .pg-band .btn{width:100%;}
  .pg-linkgrid{grid-template-columns:repeat(2,1fr);}
}
@media screen and (max-width:740px){
  html{scroll-padding-top:140px;}
  .pg-hero{min-height:300px;}
  .pg-hero__inner{padding-top:50px;padding-bottom:50px;}
  .pg-hero__ttl{gap:14px;font-size:2.7rem;}
  .pg-hero__ttl--sm{font-size:2.3rem;}
  .pg-hero__icn{width:48px;height:48px;font-size:2rem;}
  .pg-hero__lead{font-size:1.45rem;margin-top:18px;}
  .pg-hero__en{font-size:1.3rem;}
  .pg-hero__tags li{font-size:1.4rem;padding:6px 12px;}
  .pg-hero::before{background:linear-gradient(180deg,rgba(0,29,72,.86) 0%,rgba(0,40,100,.78) 100%);}
  .pg-anchor__list a{padding:16px 16px;font-size:1.4rem;}
  .pg-anchor__list a::after{left:16px;right:16px;}
  .pg-sec{padding:70px 0;}
  .pg-sec--tight{padding:56px 0;}
  .pg-sec__head{margin-bottom:36px;}
  .pg-sec__head-txt{font-size:1.45rem;}
  .pg-num-bg{display:none;}
  .pg-lead{font-size:1.65rem;}
  .ttl__ja--sm{font-size:2.2rem;}
  .pg-txt p{font-size:1.5rem;}
  .pg-cards,.pg-cards--2,.pg-cards--4{grid-template-columns:1fr;}
  .pg-card{padding:28px 22px 26px;}
  .pg-card__ttl{font-size:1.8rem;}
  .pg-zz__ttl{font-size:2.1rem;}
  .pg-zz__txt{font-size:1.5rem;}
  .pg-zz__btns .btn{width:100%;}
  .pg-spec > div{flex-direction:column;gap:4px;}
  .pg-spec dt{width:auto;}
  .pg-table th,.pg-table td{padding:14px 14px;font-size:1.4rem;}
  .pg-table tbody th{width:140px;}
  .pg-bar{grid-template-columns:1fr auto;gap:8px 14px;}
  .pg-bar__name{grid-column:1 / 3;}
  .pg-bar__track{grid-column:1 / 2;}
  .pg-bar__val{font-size:2rem;text-align:right;}
  .pg-step{grid-template-columns:56px 1fr;gap:16px;padding:26px 0;}
  .pg-step__no{width:56px;height:56px;}
  .pg-step__no strong{font-size:2.4rem;}
  .pg-step__no small{font-size:1.3rem;letter-spacing:.06em;}
  .pg-steps::before{left:27px;}
  .pg-step__ttl{font-size:1.85rem;}
  .pg-step__txt{font-size:1.5rem;}
  .pg-step__img{grid-column:1 / 3;}
  .pg-step__img img{max-width:none;}
  .pg-check,.pg-check--3{grid-template-columns:1fr;}
  .pg-facts{grid-template-columns:1fr 1fr;}
  .pg-fact{padding:22px 16px;}
  .pg-fact__val{font-size:3.2rem;}
  .pg-gallery,.pg-gallery--4,.pg-gallery--5{grid-template-columns:repeat(2,1fr);gap:22px 12px;}
  .pg-gallery__ttl{font-size:1.5rem;}
  .pg-gallery__txt{font-size:1.4rem;}
  .pg-note{flex-direction:column;gap:14px;padding:22px 20px;}
  .pg-band{padding:26px 20px;gap:18px;}
  .pg-band__ttl{font-size:1.75rem;}
  .pg-catnav{grid-template-columns:1fr;}
  .pg-catnav a{padding:18px 16px;gap:14px;}
  .pg-compare{grid-template-columns:1fr;}
  .pg-dl{grid-template-columns:1fr;}
  .pg-dl a{padding:20px 18px;gap:16px;}
  .pg-faq{gap:44px;}
  .pg-faq__group-ttl{font-size:1.75rem;}
  .pg-faq__item summary{padding:20px 52px 20px 0;gap:12px;font-size:1.55rem;}
  .pg-faq__toggle{right:0;top:20px;width:34px;height:34px;}
  .pg-faq__q,.pg-faq__a-mark{width:30px;height:30px;font-size:1.5rem;}
  .pg-faq__body{padding:0 0 22px 0;gap:12px;}
  .pg-faq__atxt{font-size:1.5rem;}
  .pg-howto{grid-template-columns:repeat(2,1fr);gap:14px;}
  .pg-howto p{padding:12px 12px 14px;font-size:1.4rem;}
  .pg-profile__card{left:0;bottom:-20px;min-width:0;padding:16px 20px;}
  .pg-profile__photo::before{right:-10px;top:-10px;}
  .pg-profile__msg p{font-size:1.5rem;}
  .pg-cert{grid-template-columns:1fr;}
  .pg-outline > div{flex-direction:column;gap:8px;padding:18px 4px;}
  .pg-outline dt{width:auto;}
  .pg-outline dd{font-size:1.5rem;}
  .pg-map__info{padding:28px 20px;}
  .pg-map__frame{min-height:300px;}
  .pg-photos{grid-template-columns:1fr 1fr;}
  .pg-photos figure:first-child{grid-column:1 / 3;}
  .pg-way{padding:26px 20px;}
  .pg-form__main{padding:30px 18px 28px;}
  .md-form-2col{grid-template-columns:1fr;}
  .pg-archive-head{gap:16px;}
  .pg-postgrid{grid-template-columns:1fr;gap:22px;}
  .pg-post__ttl{font-size:2.3rem;}
  .entry{font-size:1.5rem;}
  .entry h2{font-size:1.85rem;padding:12px 16px;}
  .entry h3{font-size:1.7rem;}
  .entry .entry-gallery{grid-template-columns:1fr;}
  .pg-post__cta{padding:30px 22px;}
  .pg-post__cta-btns .btn{width:100%;}
  .pg-post__nav{grid-template-columns:1fr;}
  .pg-post__nav-item.--next{text-align:left;}
  .pg-post__nav-item.--next small{justify-content:flex-start;}
  .priv-content{padding:60px 0 70px;}
  .section-title-center{font-size:2.2rem;}
}


/* =========================================================
   商品カタログ（一覧・詳細）  ※2026-10-09 サンプル
   ========================================================= */
.ct-mock{position:relative;z-index:5;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;background:#fff6d6;color:#6b5200;font-size:1.4rem;font-weight:700;border-bottom:solid 1px #f0dc92;}
.ct-cats{background:var(--white);border-bottom:solid 1px var(--line);}
.ct-cats .inner{display:flex;align-items:center;gap:20px;padding-top:18px;padding-bottom:18px;}
.ct-cats__label{flex-shrink:0;font-size:1.4rem;font-weight:700;color:var(--gray);}
.ct-cats__list{display:flex;flex-wrap:wrap;gap:8px;}
.ct-cats__list a{display:inline-block;padding:7px 14px;border:solid 1px var(--line);font-size:1.4rem;font-weight:700;color:var(--ink);background:var(--white);transition:all .3s ease;}
.ct-cats__list a:hover{border-color:var(--navy);color:var(--navy);}
.ct-cats__list a.is-current{background:var(--navy);border-color:var(--navy);color:var(--white);}
.ct-list-sec{padding-top:60px;}
.ct-uses{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:22px 26px;background:var(--white);border:solid 1px var(--line);}
.ct-uses__ttl{display:flex;align-items:center;gap:8px;font-size:1.55rem;font-weight:700;color:var(--navy);}
.ct-uses__btns{display:flex;flex-wrap:wrap;gap:10px;}
.ct-uses__btns a{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:var(--sky);color:var(--navy);font-size:1.45rem;font-weight:700;border:solid 1px var(--sky-2);}
.ct-uses__btns a:hover{background:var(--navy);color:var(--white);}
.ct-uses__btns a.is-disabled{opacity:.45;pointer-events:none;}
.ct-group{margin-top:60px;}
.ct-group__head{display:flex;align-items:flex-end;gap:24px;flex-wrap:wrap;padding-bottom:16px;border-bottom:solid 2px var(--navy);}
.ct-group__ttl{display:flex;align-items:baseline;gap:12px;font-size:2.4rem;font-weight:700;}
.ct-group__ttl small{font-size:1.4rem;font-weight:700;color:var(--blue);}
.ct-group__desc{font-size:1.5rem;color:var(--gray);}
.ct-items{display:flex;flex-direction:column;gap:12px;margin-top:20px;}
.ct-item{display:grid;grid-template-columns:150px 1fr 430px 200px;gap:26px;align-items:center;padding:20px 24px;background:var(--white);border:solid 1px var(--line);transition:border-color .3s ease,box-shadow .3s ease;}
.ct-item:hover{border-color:var(--navy);box-shadow:0 6px 20px rgba(0,63,150,.08);}
.ct-item__img{aspect-ratio:4/3;background:#f4f6f9;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.ct-item__img img{width:100%;height:100%;object-fit:cover;}
.ct-noimg{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:1.4rem;color:var(--gray-2);}
.ct-noimg i{font-size:2.4rem;}
.ct-item__maker{font-size:1.4rem;color:var(--gray);}
.ct-item__name{margin-top:2px;font-family:var(--font-en);font-size:2.8rem;font-weight:700;line-height:1.2;color:var(--ink);letter-spacing:.02em;}
.ct-item__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
.ct-item__tags span{padding:3px 10px;background:var(--sky);color:var(--navy);font-size:1.4rem;font-weight:700;}
.ct-item__spec{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:solid 1px var(--line);}
.ct-item__spec > div{background:#fafcfe;padding:10px 8px;text-align:center;}
.ct-item__spec dt{font-size:1.4rem;color:var(--gray);line-height:1.4;}
.ct-item__spec dd{margin-top:4px;font-family:var(--font-en);font-size:2rem;font-weight:700;color:var(--navy);line-height:1.2;}
.ct-item__spec dd small{margin-left:2px;font-size:1.3rem;color:var(--gray);}
.ct-item__act{display:flex;flex-direction:column;gap:8px;}
.ct-item__act .btn{min-width:0;width:100%;padding:13px 14px;font-size:1.4rem;}

.ct-detail-top{padding:40px 0 70px;background:linear-gradient(180deg,#f2f7fd 0%,#fff 100%);}
.ct-back{display:inline-flex;align-items:center;gap:8px;font-size:1.4rem;font-weight:700;color:var(--navy);}
.ct-head{display:grid;grid-template-columns:1fr 1.05fr;gap:60px;margin-top:24px;align-items:start;}
.ct-head__img{aspect-ratio:1/1;background:#fff;border:solid 1px var(--line);overflow:hidden;}
.ct-head__img img{width:100%;height:100%;object-fit:cover;}
.ct-head__cap{margin-top:10px;font-size:1.4rem;color:var(--gray);}
.ct-head__path{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:1.4rem;font-weight:700;color:var(--blue);}
.ct-head__path i{font-size:1.1rem;color:var(--gray-2);}
.ct-head__name{margin-top:12px;font-family:var(--font-en);font-size:5.4rem;font-weight:700;line-height:1.05;letter-spacing:.02em;color:var(--ink);}
.ct-head__sub{margin-top:10px;font-size:1.6rem;font-weight:700;color:var(--gray);}
.ct-head__tags{margin-top:16px;}
.ct-head__lead{margin-top:22px;font-size:1.6rem;line-height:2;}
.ct-keys{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:26px;background:var(--line);border:solid 1px var(--line);}
.ct-keys > div{background:var(--white);padding:16px 10px;text-align:center;}
.ct-keys dt{font-size:1.4rem;color:var(--gray);}
.ct-keys dd{margin-top:6px;font-family:var(--font-en);font-size:2.8rem;font-weight:700;color:var(--navy);line-height:1.1;}
.ct-keys dd small{margin-left:2px;font-size:1.4rem;color:var(--gray);}
.ct-head__act{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;}
.ct-head__act .btn{min-width:0;flex:1;}
.ct-pdf{display:flex;align-items:center;gap:14px;margin-top:14px;padding:14px 18px;border:solid 1px var(--line);background:var(--white);color:var(--ink);transition:border-color .3s ease;}
.ct-pdf:hover{border-color:var(--navy);}
.ct-pdf > i:first-child{font-size:2.6rem;color:#c62f2f;}
.ct-pdf span{flex:1;display:flex;flex-direction:column;}
.ct-pdf strong{font-size:1.55rem;}
.ct-pdf small{font-size:1.4rem;color:var(--gray);}
.ct-pdf > i:last-child{color:var(--navy);}
.ct-spec{margin-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:0 40px;border-top:solid 2px var(--navy);}
.ct-spec > div{display:flex;gap:20px;padding:16px 6px;border-bottom:solid 1px var(--line);background:transparent;}
.ct-spec dt{width:130px;flex-shrink:0;font-size:1.5rem;font-weight:700;color:var(--navy);}
.ct-spec dd{flex:1;font-size:1.55rem;line-height:1.8;}
.ct-ok{display:inline-flex;align-items:center;gap:4px;margin-right:10px;padding:1px 10px;background:#e3f4ea;color:#1c7a45;font-size:1.4rem;font-weight:700;}
.ct-series{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:40px;}
.ct-series__item{position:relative;display:flex;flex-direction:column;gap:4px;padding:22px 20px;border:solid 1px var(--line);background:var(--white);transition:border-color .3s ease;}
.ct-series__item:hover{border-color:var(--navy);}
.ct-series__item strong{font-family:var(--font-en);font-size:2.4rem;font-weight:700;margin-bottom:6px;}
.ct-series__item span{font-size:1.45rem;color:var(--gray);}
.ct-series__item.is-current{border:solid 2px var(--navy);background:var(--sky);}
.ct-series__item em{position:absolute;right:12px;top:12px;font-style:normal;padding:2px 8px;background:var(--navy);color:var(--white);font-size:1.4rem;font-weight:700;}
.ct-equiv{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:40px;}
.ct-equiv li{display:flex;flex-direction:column;gap:6px;padding:22px 20px;background:var(--white);border:solid 1px var(--line);border-top:solid 3px var(--blue);}
.ct-equiv__maker{font-size:1.45rem;font-weight:700;color:var(--gray);}
.ct-equiv__maker small{margin-left:6px;font-size:1.4rem;color:var(--blue);}
.ct-equiv strong{font-family:var(--font-en);font-size:2.6rem;font-weight:700;color:var(--ink);}
.ct-equiv__alias{font-size:1.4rem;color:var(--gray);}
.ct-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:40px;counter-reset:ws;}
.ct-steps li{position:relative;padding:50px 20px 22px;background:var(--white);border:solid 1px var(--line);font-size:1.45rem;line-height:1.85;color:var(--gray);counter-increment:ws;}
.ct-steps li::before{content:counter(ws);position:absolute;left:20px;top:16px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--navy);color:var(--white);font-family:var(--font-en);font-weight:700;font-size:1.5rem;}
.ct-steps strong{display:block;margin-bottom:6px;font-size:1.65rem;color:var(--ink);}
.ct-related{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px;}
.ct-related a{display:flex;flex-direction:column;background:var(--white);border:solid 1px var(--line);transition:border-color .3s ease;}
.ct-related a:hover{border-color:var(--navy);}
.ct-related img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.ct-related strong{padding:14px 18px 0;font-family:var(--font-en);font-size:2.2rem;}
.ct-related span{padding:4px 18px 16px;font-size:1.4rem;color:var(--gray);}
@media screen and (max-width:1240px){
  .ct-item{grid-template-columns:130px 1fr 360px;}
  .ct-item__act{grid-column:1 / -1;flex-direction:row;}
  .ct-equiv,.ct-series,.ct-steps{grid-template-columns:repeat(2,1fr);}
}
@media screen and (max-width:1024px){
  .ct-head{grid-template-columns:1fr;gap:34px;}
  .ct-head__img{max-width:480px;}
  .ct-spec{grid-template-columns:1fr;}
  .ct-item{grid-template-columns:120px 1fr;}
  .ct-item__spec{grid-column:1 / -1;}
}
@media screen and (max-width:740px){
  .ct-cats .inner{flex-direction:column;align-items:flex-start;gap:10px;}
  .ct-cats__list{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:4px;}
  .ct-cats__list a{white-space:nowrap;}
  .ct-uses{padding:18px 16px;}
  .ct-group__ttl{font-size:2rem;}
  .ct-item{grid-template-columns:96px 1fr;gap:14px;padding:16px 14px;}
  .ct-item__name{font-size:2.2rem;}
  .ct-item__spec{grid-template-columns:repeat(2,1fr);}
  .ct-item__act{flex-direction:column;}
  .ct-head__name{font-size:4rem;}
  .ct-keys{grid-template-columns:repeat(2,1fr);}
  .ct-keys dd{font-size:2.4rem;}
  .ct-head__act .btn{flex:none;width:100%;}
  .ct-spec dt{width:110px;}
  .ct-equiv,.ct-series,.ct-steps,.ct-related{grid-template-columns:1fr;}
}

/* =========================================================
   明るめトーン（2026-10-08 先方要望「全体的に暗い」→ 白ベース＋青アクセント）
   濃紺の大きな面を、白〜淡い青の面に置き換える。元に戻すときはこのブロックごと消す
   ========================================================= */
:root{--brand-grad:linear-gradient(135deg,#1767d1 0%,#003f96 100%);}

/* MV・下層ヒーロー：黒に近い紺から、ブランドの青寄りへ */
.af-mv__veil{
  background:
    linear-gradient(90deg,rgba(0,52,128,.82) 0%,rgba(0,63,150,.58) 36%,rgba(0,63,150,.12) 64%,rgba(0,63,150,0) 100%),
    linear-gradient(180deg,rgba(0,40,100,.35) 0%,rgba(0,40,100,0) 30%);
}
.pg-hero{background-color:#0d4fae;}
.pg-hero::before{background:linear-gradient(90deg,rgba(0,58,140,.9) 0%,rgba(0,63,150,.72) 42%,rgba(0,63,150,.3) 78%,rgba(0,63,150,.12) 100%);}
.pg-hero--simple{background:var(--brand-grad);}

/* 濃紺の帯（アネモ・特徴・納期など）→ 淡い青の面 */
.pg-sec--navy,.af-anemo{background:linear-gradient(180deg,#f2f7fd 0%,#e6f0fb 100%);color:var(--ink);}
.pg-sec--navy::before,.af-anemo::before,.af-anemo::after{border-color:rgba(0,63,150,.1);}
.pg-sec--navy .ttl__en,.af-anemo .ttl--white .ttl__en{color:var(--navy);}
.pg-sec--navy .ttl__en::before,.af-anemo .ttl--white .ttl__en::before{background:var(--navy);}
.pg-sec--navy .ttl__ja,.af-anemo .ttl--white .ttl__ja{color:var(--ink);}
.pg-sec--navy .ttl__ja em,.af-anemo .ttl--white .ttl__ja em{color:var(--navy);}
.pg-sec--navy .ttl__lead,.pg-sec--navy .pg-sec__head-txt,.af-anemo__lead{color:var(--gray);}
.pg-sec--navy .pg-cards,.pg-sec--navy .pg-facts{background:var(--line);border-color:var(--line);}
.pg-sec--navy .pg-card,.pg-sec--navy .pg-fact{background:var(--white);}
.pg-sec--navy .pg-card::after{background:var(--sky);}
.pg-sec--navy .pg-card__icn{background:var(--navy);color:var(--white);}
.pg-sec--navy .pg-card__no{color:var(--sky-2);}
.pg-sec--navy .pg-card__txt,.pg-sec--navy .pg-fact__txt,.pg-sec--navy .pg-gallery__txt{color:var(--gray);}
.pg-sec--navy .pg-fact__val{color:var(--navy);}
.pg-sec--navy .pg-fact__icn{color:var(--blue);}
.pg-sec--navy .pg-card__list strong{color:var(--navy) !important;}
.pg-sec--navy .pg-intro__img img{box-shadow:-18px 18px 0 var(--sky-2);}
.pg-sec--navy .pg-intro__img figcaption{color:var(--gray);}
.pg-sec--navy .pg-zz__txt{color:var(--ink) !important;}
.pg-sec--navy .pg-small{color:var(--gray) !important;}

.af-anemo__badge{background:var(--navy);color:var(--white);}
.af-anemo__list{background:var(--line);border-color:var(--line);}
.af-anemo__item{background:var(--white);}
.af-anemo__item:hover{background:var(--sky);}
.af-anemo__type{color:var(--ink);}
.af-anemo__use{border-top-color:var(--line);color:var(--gray);}
.af-anemo__use dt{color:var(--blue);}
.af-anemo__note{color:var(--gray);}
.af-anemo .btn--white{background:var(--white);color:var(--navy);border-color:var(--navy);}

.pg-compare{background:var(--line);border-color:var(--line);}
.pg-compare__col{background:var(--white);}
.pg-compare__img{border:solid 1px var(--line);}
.pg-compare__ttl{color:var(--ink);}
.pg-compare__ttl small{color:var(--blue);}
.pg-compare dl{border-top-color:var(--line);}
.pg-compare dl > div{border-bottom-color:var(--line);}
.pg-compare dt{color:var(--navy);}
.pg-compare dd{color:var(--ink);}
.pg-compare__note{color:var(--gray);}

/* CTA：濃紺ベタ → ブランドの青のグラデーション */
.af-cta{background:var(--brand-grad);}
.af-cta__bg{opacity:.08;}
.af-cta__item{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.35);}
.pg-post__cta{background:var(--brand-grad);}

/* フッター：濃紺 → 白に近い淡色 */
.af-footer{background:#f4f7fb;color:var(--ink);border-top:solid 4px var(--navy);}
.af-footer__logo{filter:none;}
.af-footer__tel{color:var(--navy);}
.af-footer__sns a{border-color:var(--line);color:var(--navy);background:var(--white);}
.af-footer__sns a:hover{background:var(--navy);color:var(--white);}
.af-footer__col h3{color:var(--navy);border-bottom-color:var(--line);}
.af-footer__col a:hover{color:var(--navy);}
.af-footer__bottom{border-top-color:var(--line);}
.af-footer__copy{color:var(--gray);}

/* メニュー・SP固定バー */
.af-nav{background:#003a8c;}
.af-spbar{background:#003a8c;}

/* =========================================================
   TOPのMVを白基調に（2026-10-21 先方「まだトップが暗い」）
   左側の青の網掛けを白のうすい面に変え、文字を紺に。ヘッダーも最初から白地
   元に戻すときはこのブロックごと消す
   ========================================================= */
.af-mv{background:#eef1f4;}
.af-mv__veil{
  background:
    linear-gradient(90deg,rgba(255,255,255,.88) 0%,rgba(255,255,255,.7) 34%,rgba(255,255,255,.12) 60%,rgba(255,255,255,0) 100%);
}
.af-mv__grid{background-image:linear-gradient(90deg,rgba(0,63,150,.07) 1px,rgba(0,63,150,0) 1px);}
.af-mv__slide--products img{object-position:100% 50%;}
.af-mv__en{color:var(--blue);}
.af-mv__catch{color:var(--navy);text-shadow:none;}
.af-mv__catch .--sub{color:var(--blue);}
.af-mv__desc{color:var(--ink);}
.af-mv__spec li{border-color:var(--navy);color:var(--navy);background:rgba(255,255,255,.75);}
.af-mv__scroll{color:var(--navy);}
.af-mv__scroll::after{background:rgba(0,63,150,.4);}
.af-mv__num{color:var(--navy);}
.af-mv__num button{background:rgba(0,63,150,.25);}
.af-mv__num button.is-current{background:var(--navy);}

.af-header.is-top{background:rgba(255,255,255,.94);}
.af-header.is-top .af-header__logo img{filter:none;}
.af-header.is-top .af-header__logo-txt{color:var(--gray);border-left-color:var(--line);}
.af-header.is-top .af-gnav__link{color:var(--ink);}
.af-header.is-top .af-gnav__link::after{background:var(--navy);}
.af-header.is-top .af-header__tel{border-left-color:var(--line);}
.af-header.is-top .af-header__tel span{color:var(--gray);}
.af-header.is-top .af-header__tel strong{color:var(--navy);}

@media screen and (max-width:740px){
  .af-mv__veil{background:linear-gradient(180deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,.78) 55%,rgba(255,255,255,.55) 100%);}
  .af-mv__slide--products img{object-position:70% 50%;}
}

/* =========================================================
   スマホのMVを組み替え（2026-10-29 オーナー「SPのファーストビューがヒドイ」）
   写真の上に文字を重ねるのをやめ、写真を上にはっきり見せて、その下に短い文字だけ置く。
   説明文と英字のラインはSPでは出さない。PCは変えていない。元に戻すときはこのブロックごと消す
   ========================================================= */
/* ハンバーガー：PCのナビ（margin-left:auto で右寄せを担っていた）を隠すとボタン群が左に詰まる */
@media screen and (max-width:1024px){
  .af-header__act{margin-left:auto;}
}
@media screen and (max-width:740px){
  .af-mv{height:auto;min-height:0;padding-top:72px;background:var(--white);}
  .af-mv__slides{position:relative;inset:auto;width:100%;aspect-ratio:1/1;}
  .af-mv__slide--products img{object-position:92% 60%;}
  .af-mv__veil,.af-mv__grid,.af-mv__en,.af-mv__desc{display:none;}
  .af-mv__inner{height:auto;padding-top:24px;padding-bottom:28px;justify-content:flex-start;}
  .af-mv__catch{margin-top:0;font-size:2.9rem;line-height:1.35;}
  .af-mv__catch .--sub{margin-top:8px;font-size:1.6rem;}
  /* 枠付きのタグはボタンに見えるので、SPはチェック付きの一覧にする */
  .af-mv__spec{display:grid;grid-template-columns:1fr;gap:4px;margin-top:16px;}
  .af-mv__spec li{position:relative;padding:0 0 0 22px;border:none;background:none;backdrop-filter:none;font-size:1.4rem;line-height:1.7;letter-spacing:.02em;}
  .af-mv__spec li::before{content:"";position:absolute;left:2px;top:.55em;width:11px;height:6px;border-left:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(-45deg);}
  .af-mv__num{top:calc(72px + 100vw - 26px);bottom:auto;left:16px;}
}

/* オンラインショップ誘導バナー（2026-11-02）af_shop_banner() / [af_shop_banner] */
.af-shopbnr{max-width:1000px;margin:72px auto 0;}
.af-shopbnr__link{position:relative;display:grid;grid-template-columns:minmax(0,400px) minmax(0,1fr);background:var(--navy-d);color:var(--white);text-decoration:none;overflow:hidden;}
.af-shopbnr__imgs{display:grid;grid-template-columns:1fr 1fr;gap:2px;}
.af-shopbnr__img{position:relative;display:block;overflow:hidden;background:var(--white);}
.af-shopbnr__img img{display:block;width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .8s var(--ease);}
.af-shopbnr__img small{position:absolute;left:0;bottom:0;padding:5px 10px;background:var(--navy-d);color:var(--white);font-size:1.3rem;font-weight:700;letter-spacing:.06em;line-height:1.4;}
.af-shopbnr__body{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:44px 52px;}
.af-shopbnr__body::after{content:"SHOP";position:absolute;right:-6px;bottom:-30px;font-family:var(--font-en);font-size:13rem;font-weight:700;line-height:1;letter-spacing:.02em;color:rgba(255,255,255,.05);pointer-events:none;}
.af-shopbnr__en{display:flex;align-items:center;gap:12px;font-family:var(--font-en);font-size:1.4rem;font-weight:600;letter-spacing:.22em;color:#9cc6f2;}
.af-shopbnr__en::before{content:"";width:28px;height:1px;background:#9cc6f2;}
.af-shopbnr__ttl{display:block;margin-top:14px;font-size:2.5rem;font-weight:700;line-height:1.55;letter-spacing:.04em;}
.af-shopbnr__txt{display:block;word-break:keep-all;overflow-wrap:anywhere;margin-top:12px;font-size:1.5rem;line-height:1.85;color:rgba(255,255,255,.8);}
.af-shopbnr__btn{position:relative;z-index:1;display:inline-flex;align-items:center;gap:14px;margin-top:26px;padding:17px 30px;background:var(--blue);font-size:1.5rem;font-weight:700;letter-spacing:.06em;transition:background .3s var(--ease);}
.af-shopbnr__btn i{font-size:1.3rem;transition:transform .3s var(--ease);}
.af-shopbnr__link:hover .af-shopbnr__img img{transform:scale(1.06);}
.af-shopbnr__link:hover .af-shopbnr__btn{background:#0959ab;}
.af-shopbnr__link:hover .af-shopbnr__btn i{transform:translate(2px,-2px);}
.pg-post .af-shopbnr{margin-top:56px;}
.pg-post .af-shopbnr__link{grid-template-columns:minmax(0,300px) minmax(0,1fr);}
.pg-post .af-shopbnr__body{padding:36px 40px;}
.pg-post .af-shopbnr__ttl{font-size:2.2rem;}
.pg-catalog__link.pg-catalog__link--shop{margin-top:0;padding-top:8px;color:var(--blue);}
@media screen and (max-width:740px){
  .af-shopbnr{margin-top:48px;}
  .af-shopbnr__link,.pg-post .af-shopbnr__link{grid-template-columns:1fr;}
  .af-shopbnr__imgs{grid-template-columns:repeat(4,1fr);}
  .af-shopbnr__img small{padding:3px 6px;font-size:1.1rem;letter-spacing:0;}
  .af-shopbnr__body,.pg-post .af-shopbnr__body{padding:28px 22px 26px;}
  .af-shopbnr__body::after{font-size:9rem;bottom:-20px;}
  .af-shopbnr__ttl,.pg-post .af-shopbnr__ttl{font-size:2rem;}
  .af-shopbnr__txt{font-size:1.45rem;}
  .af-shopbnr__btn{align-self:stretch;justify-content:center;padding:17px 20px;}
}
