/* 業務用製品一覧ページ専用 */
.page-products{padding-top:0}
.page-products .site-header{position:relative}
.b-main{color:var(--navy);overflow:hidden}
.b-main>section,.b-list{max-width:1200px;margin:0 auto}

/* キービジュアル */
.b-hero{position:relative;height:520px}
.b-hero-fish{position:absolute;left:340px;top:0;width:240px}
.b-hero-text{position:absolute;left:88px;top:225px;z-index:1;}
.b-hero-text h1{font-family:"Shippori Mincho",serif;font-weight:800;line-height:1.2;margin:0 0 30px;letter-spacing:-.02em}
.b-hero-text p{font-family:"Shippori Mincho",serif;font-weight:700;font-size:var(--fs-lg);line-height:1.85;margin:0;text-shadow:var(--fuchi-wh);}
.b-hero-img{position:absolute;right:-20px;bottom:5%;width:50%;height:auto;object-fit:cover;border-radius:50% 40% 30% 50%/60% 50% 40% 40%}
.b-hero-v{position:absolute;right:62px;top:92px;margin:0;writing-mode:vertical-rl;font-family:"Shippori Mincho",serif;font-weight:700;font-size:var(--fs-2xl);line-height:1.35;color:#444;z-index:1;text-shadow:var(--fuchi-wh);}
.b-hero-v img {
	object-fit: fill;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}

/* 特長3つ */
.b-points{padding:0 88px}
.b-points ul{display:grid;grid-template-columns:repeat(3,1fr);background:#ececec;list-style:none;max-width:1100px;margin:0 auto;padding:12px 0}
.b-points li{padding:6px 24px;text-align:center}
.b-points li+li{border-left:1px solid #555}
.b-points h2{font-weight:700;margin:0 0 6px}
.b-points li>div{display:flex;align-items:center;gap:16px;justify-content:center;text-align:left}
.pt-ico{flex:none;width:68px;height:68px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:var(--fs-2xl)}
.b-points p{margin:0;font-size:var(--fs-sm);font-weight:500;line-height:1.7}

/* 製品リスト */
.b-list{padding:20px 88px 0}
.b-group{margin-bottom:46px}
.b-h2{display:flex;align-items:center;gap:14px;font-family:"Noto Serif JP",serif;font-weight:700;margin:24px 0 12px}
.b-h2::after{content:"";flex:1;border-top:1px solid var(--navy)}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;list-style:none;margin:0;padding:0}
.pcard{height:100%;border:1px solid #333;padding:9px 10px 8px;text-align:center;display:flex;flex-direction:column;background:#fff}
.pcard img{width:200px;height:210px;object-fit:cover;margin:0 auto 6px;display:block;background:#eee}
.pcard h3{font-weight:700;margin:0 0 4px}
.pcard p{flex:1;font-size:var(--fs-xs);font-weight:700;text-align:left;padding:0 20px;line-height:1.7;margin:0 0 8px}
.pcard-btn{display:flex;justify-content:center;align-items:center;gap:20px;border:1px solid var(--navy);padding:1px 0;color:var(--navy)}
.pcard-btn:hover{background:var(--navy);color:#fff}
.pcard-btn i{font-style:normal}

/* ご相談 */
.b-consult{position:relative;padding:0 88px 40px;display:grid;grid-template-columns:1fr 271px;grid-template-areas:"img badges" "img note";gap:0 8px;align-items:start;margin-top:10px}
.b-consult .section-back-bottom{height:auto;top:-150%;}
.b-consult-img{grid-area:img;position:relative;height:280px;overflow:hidden}
.b-consult-img img{width:100%;height:auto;object-fit:fill;display:block}
.b-consult .img-l{position:absolute;left:0;top:40%;width:45%;height:auto;object-fit:fill;display:block}
.b-consult-copy{position:absolute;left:54px;top:26px;margin:0;color:#fff;font-family:"Noto Serif JP",serif;font-size:var(--fs-xl);font-weight:700;line-height:1.55;text-shadow:var(--fuchi-nv);z-index:1;}
.b-consult-img .b-pill{position:absolute;right:5%;bottom:10%;z-index:1;}
.b-badges{grid-area:badges;list-style:none;margin:0;padding:0;display:grid;gap:5px}
.b-badges li{display:flex;align-items:center;gap:22px;background:var(--navy);color:#fff;font-weight:700;font-size:var(--fs-base);line-height:1.4;height:79px;padding:0 18px;text-shadow:none;}
.b-badges i{font-style:normal;font-size:var(--fs-3xl);flex:none;width:70px;text-align:center}
.b-badges small{display:block;font-weight:500;font-size:var(--fs-xs)}
.b-consult-note{grid-area:note;align-self:end;margin:34px 0 0 -300px;text-align:right;font-family:"Noto Serif JP",serif;font-weight:500;font-size:var(--fs-base);line-height:1.8;color:#444;z-index:1;}

/* 丸ボタン */
.b-pill{display:inline-flex;align-items:center;gap:20px;background:#fff;border:2px solid var(--navy);border-radius:999px;color:var(--navy);font-weight:700;padding:6px 26px;text-shadow:none;}
.b-pill--s{padding:4px 20px;gap:12px}
.b-pill i{font-style:normal}
.b-pill:hover{background:var(--navy);color:#fff}

/* バナー */
.b-banner{padding:20px 16px 50px}
.b-banner-in{position:relative;height:300px;padding:8px;}
.b-banner-in>img{width:100%;height:auto;border-radius:inherit;display:block}
.b-banner-txt{position:absolute;left:0;right:0;top:35%;text-align:center;color:#fff;text-shadow:0 1px 6px rgba(0,0,60,.5)}
.b-banner-txt h2{font-family:dnp-shuei-nshogomincho-std, sans-serif;font-weight:700;margin:0 0 22px;text-shadow:var(--fuchi-nv);}
.b-banner-txt p{font-family:"Noto Serif JP",serif;font-size:var(--fs-sm);line-height:1.7;margin:0;text-shadow:var(--fuchi-nv);}
.b-banner-in .b-pill{position:absolute;right:56px;bottom:5%;}

/* タブレット・スマホ */
@media (max-width:991.98px){
  .page-products .site-header{position:sticky;top:0}
  .b-hero{height:auto;flex-direction:column;padding:24px 16px;gap:16px;position:relative;}
  .b-hero>*{position:relative!important;left:auto!important;right:auto!important;top:auto!important}
  .b-hero-fish{display:none;}.b-hero-img{position:absolute !important;order:2;border-radius:30px;right:0 !important;bottom:0 !important;}
  .b-hero-v{writing-mode:horizontal-tb;order:3;margin-top: 30px;}
  .b-hero-v img{width:50%;transform: scaleY(-1);}
  .pgrid{grid-template-columns:1fr 1fr}
  .b-consult{grid-template-columns:1fr;grid-template-areas:"img" "badges" "note";padding-bottom:0;}
  .b-consult-copy{left:20px}
  .b-consult-img .b-pill{left:auto;right:12px;transform:none}
  .b-consult-img img{height:100%;object-fit:cover;}
  .b-consult .img-l{top:25%;min-width:300px;}
  .b-consult-note{margin:16px 0 0;text-align:left;}
  .b-badges{margin-top: 50px;}
  .b-banner-in{height:260px;border-radius:30px;padding:0;}
  .b-banner-txt{padding:0 12px;top:20%;}
  .b-banner-in .b-pill{right:16px;bottom:0;}
  .b-points{padding:0;}
}
@media (max-width:767px){
  .b-points,.b-list,.b-consult{padding-left:16px;padding-right:16px}
  .b-points li{text-align:left;}
  .b-points p{flex:1;}
  .b-points ul{grid-template-columns:1fr}.b-points li+li{border-left:0;border-top:1px solid #555}
}
@media (max-width:575.98px){
  /*.pgrid{grid-template-columns:1fr}*/
  .b-banner-txt p{text-shadow:none;color:var(--navy);padding-top:20px;font-weight:700;}
  .b-banner-in .b-pill{right:16px;bottom:-30px;}
}
