
/* ===== Structure ===== */
.structure{padding:110px 0;background:var(--off)}
.structure-header{text-align:center;margin-bottom:56px}
.structure-header .sec-desc{margin:0 auto}
.structure-visual{max-width:800px;margin:0 auto}
.struct-card{background:#fff;border-radius:var(--radius-xl);padding:40px;border:1px solid rgba(0,0,0,.04);transition:var(--ease);position:relative;overflow:hidden}
.struct-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--red),var(--gold))}
.struct-card:hover{box-shadow:var(--shadow-md)}
.struct-partners{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:32px}
.struct-partner{text-align:center;padding:24px 16px;border-radius:var(--radius-lg);background:var(--off);border:1px solid transparent;transition:var(--ease)}
.struct-partner:hover{border-color:var(--red-light);background:var(--red-lighter);transform:translateY(-2px)}
.struct-partner .sp-role{font-size:12px;font-weight:600;color:var(--red);background:var(--red-light);padding:3px 10px;border-radius:100px;display:inline-block;margin-bottom:10px}
.struct-partner h4{font-family:'Noto Serif SC',serif;font-size:16px;font-weight:700;margin-bottom:4px;line-height:1.4}
.struct-partner p{font-size:12px;color:var(--text3)}
.struct-connector{display:flex;justify-content:center;margin:20px 0}
.struct-connector .line{width:2px;height:32px;background:linear-gradient(to bottom,var(--red),var(--red-light))}
.struct-desc{text-align:center;padding:24px;background:var(--red-lighter);border-radius:var(--radius);border-left:4px solid var(--red)}
.struct-desc p{font-size:16px;color:var(--text2);line-height:1.9;font-weight:500}

/* ===== Info Cards ===== */
.info-section{padding:110px 0;background:var(--white)}
.info-header{text-align:center;margin-bottom:56px}
.info-header .sec-desc{margin:0 auto}
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.info-card{background:var(--off);border-radius:var(--radius-xl);padding:36px 32px;border:1px solid transparent;transition:var(--ease);position:relative;overflow:hidden}
.info-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--red),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform var(--ease)}
.info-card:hover{border-color:var(--red-light);box-shadow:var(--shadow-md)}
.info-card:hover::before{transform:scaleX(1)}
.info-card .ic-icon{width:52px;height:52px;border-radius:14px;background:var(--red-light);display:flex;align-items:center;justify-content:center;margin-bottom:20px;transition:var(--ease)}
.info-card:hover .ic-icon{background:var(--red)}
.info-card .ic-icon svg{width:24px;height:24px;stroke:var(--red);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:var(--ease)}
.info-card:hover .ic-icon svg{stroke:#fff}
.info-card h4{font-family:'Noto Serif SC',serif;font-size:18px;font-weight:700;margin-bottom:12px;transition:var(--ease)}
.info-card:hover h4{color:var(--red)}
.info-card p{font-size:16px;color:var(--text2);line-height:1.9;font-weight:500}

/* ===== Service Target ===== */
.service-target{padding:80px 0;background:var(--off)}
.target-card{background:linear-gradient(135deg,var(--red),var(--red-dark));border-radius:var(--radius-xl);padding:48px;color:#fff;text-align:center;position:relative;overflow:hidden}
.target-card::before{content:'';position:absolute;top:-60px;right:-60px;width:200px;height:200px;background:radial-gradient(circle,rgba(255,255,255,.06),transparent 70%);pointer-events:none}
.target-card::after{content:'';position:absolute;bottom:-40px;left:-40px;width:160px;height:160px;background:radial-gradient(circle,rgba(201,169,110,.12),transparent 70%);pointer-events:none}
.target-card .sec-label{color:rgba(255,255,255,.6);justify-content:center}
.target-card .sec-label::before{background:rgba(255,255,255,.4)}
.target-card h2{font-family:'Noto Serif SC',serif;font-size:28px;font-weight:700;margin-bottom:16px;line-height:1.4}
.target-card p{font-size:16px;color:rgba(255,255,255,.8);line-height:2;max-width:640px;margin:0 auto}
.target-card .target-tag{display:inline-flex;align-items:center;gap:8px;margin-top:24px;padding:10px 24px;border-radius:100px;border:1px solid rgba(255,255,255,.25);font-size:16px;color:rgba(255,255,255,.9)}
.target-card .target-tag svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2}

@media(max-width:768px){
  .biz-detail-grid,.info-grid{grid-template-columns:1fr;gap:32px}
  .struct-partners{grid-template-columns:1fr}
  .target-card{padding:32px 20px}
}
