.shero{padding:76px 0 70px;border-bottom:1px solid var(--line)}
.shero h1{font-size:clamp(32px,4.2vw,48px);font-weight:800;letter-spacing:-.035em;line-height:1.25;margin:16px 0 18px}
.shero .lead{font-size:18px;color:var(--ink2);max-width:780px;line-height:1.75}
.sec{padding:104px 0}
.shead{max-width:860px;margin-bottom:52px}
.sum3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.sum{background:#fff;border:1px solid var(--line);border-radius:6px;padding:28px 26px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:border-color .2s,transform .2s,box-shadow .2s}
.sum::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--red);transform:scaleY(0);transform-origin:top;transition:transform .25s}
.sum:hover{border-color:#D9D6D2;transform:translateY(-4px);box-shadow:0 14px 34px rgba(23,24,28,.07)}
.sum:hover::before{transform:scaleY(1)}
.sum .no{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--ink3)}
.sum h3{font-size:18px;font-weight:800;letter-spacing:-.02em;margin:10px 0 11px;line-height:1.35}
.sum p{font-size:14px;color:var(--ink2);line-height:1.75;flex:1}
.sumline{margin-top:28px;border-left:4px solid var(--red);background:#fff;border:1px solid var(--line);border-left:4px solid var(--red);border-radius:6px;padding:20px 26px;font-size:16px;font-weight:700;letter-spacing:-.01em}
.sumline em{font-style:normal;color:var(--red)}
.cmpwrap{overflow-x:auto;border:1px solid var(--line);border-radius:6px;background:#fff}
table.cmp{width:100%;border-collapse:collapse;min-width:780px;font-size:14px}
.cmp th,.cmp td{padding:13px 18px;border-top:1px solid var(--line);text-align:left;vertical-align:top;line-height:1.6}
.cmp thead th{border-top:0;background:var(--mist);font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;color:var(--ink3)}
.cmp thead th:nth-child(3){color:var(--red)}
.cmp td:first-child{font-weight:700;width:128px}
.cmp td:nth-child(2){color:var(--ink2)}
.cmp td:nth-child(3){background:var(--red-tint)}
.cmpintro{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:22px}
.cmpcell{background:#fff;border:1px solid var(--line);border-radius:6px;padding:28px 26px;font-size:14px;color:var(--ink2);line-height:1.75;position:relative;overflow:hidden;transition:border-color .2s,transform .2s,box-shadow .2s}
.cmpcell::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--red);transform:scaleY(0);transform-origin:top;transition:transform .25s}
.cmpcell:hover{border-color:#D9D6D2;transform:translateY(-4px);box-shadow:0 14px 34px rgba(23,24,28,.07)}
.cmpcell:hover::before{transform:scaleY(1)}
.cmpcell .t{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;display:block;margin-bottom:8px;color:var(--ink3)}
.cmpcell.act{border-left:4px solid var(--red)}
.cmpcell.act .t{color:var(--red)}
.cmpcell b{color:var(--ink)}
.shift6{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.shift{background:#fff;border:1px solid var(--line);border-radius:6px;padding:28px 26px;position:relative;overflow:hidden;transition:border-color .2s,transform .2s,box-shadow .2s}
.shift::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--red);transform:scaleY(0);transform-origin:top;transition:transform .25s}
.shift:hover{border-color:#D9D6D2;transform:translateY(-4px);box-shadow:0 14px 34px rgba(23,24,28,.07)}
.shift:hover::before{transform:scaleY(1)}
.shift .no{font-family:var(--mono);font-size:10.5px;color:var(--ink3);letter-spacing:.12em}
.shift h3{font-size:18px;font-weight:800;letter-spacing:-.02em;margin:10px 0 11px;line-height:1.35}
.shift p{font-size:14px;color:var(--ink2);line-height:1.75}
.val8{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.val{background:#fff;border:1px solid var(--line);border-radius:6px;padding:28px 26px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:border-color .2s,transform .2s,box-shadow .2s}
.val::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--red);transform:scaleY(0);transform-origin:top;transition:transform .25s}
.val:hover{border-color:#D9D6D2;transform:translateY(-4px);box-shadow:0 14px 34px rgba(23,24,28,.07)}
.val:hover::before{transform:scaleY(1)}
.val .no{width:30px;height:30px;border-radius:50%;background:var(--red);color:#fff;font-weight:800;font-size:13.5px;display:flex;align-items:center;justify-content:center;font-family:var(--mono)}
.val h3{font-size:18px;font-weight:800;margin:14px 0 4px;letter-spacing:-.02em;line-height:1.35}
.val .subt{font-size:12.5px;color:var(--red);font-weight:700}
.val p{font-size:14px;color:var(--ink2);margin-top:10px;line-height:1.75;flex:1}
.catintro{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:26px}
.catnum{font-family:var(--mono);font-size:14px;color:var(--red);font-weight:700;letter-spacing:.06em}
.catnote{font-size:13.5px;color:var(--ink3)}
.agwave{background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-bottom:18px}
.agwave .wh{padding:18px 26px;background:var(--mist);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.agwave .wh .k{font-family:var(--mono);font-size:12px;color:var(--red);font-weight:700;letter-spacing:.14em}
.agwave .wh h3{font-size:17.5px;font-weight:800;letter-spacing:-.015em}
.agwave .wh .cnt{font-family:var(--mono);font-size:11.5px;color:var(--ink3);margin-left:auto}
.agrow{display:grid;grid-template-columns:62px 240px 1fr;gap:20px;padding:17px 26px;border-top:1px solid #F1EFED;align-items:start;transition:background .15s}
.agrow:hover{background:var(--red-tint)}
.agrow .code{font-family:var(--mono);font-size:12px;color:var(--ink3);font-weight:700;padding-top:2px}
.agrow:hover .code{color:var(--red)}
.agrow .nm b{font-size:15px;font-weight:800;letter-spacing:-.01em;display:block}
.agrow .nm .en{font-family:var(--mono);font-size:10.5px;color:var(--ink3);letter-spacing:.02em;display:block;margin-top:3px}
.agrow .dx{font-size:13.5px;color:var(--ink2);line-height:1.65}
.agrow .tp{display:inline-block;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;color:var(--red);background:#fff;border:1px solid #F0D9D8;border-radius:99px;padding:2px 9px;margin-right:8px;transform:translateY(-1px)}
.concl h2{font-size:clamp(24px,3vw,34px);font-weight:800;letter-spacing:-.03em;line-height:1.4;max-width:900px}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px}
.trio .t{background:#fff;border:1px solid var(--line);border-radius:6px;padding:20px 22px;font-size:15.5px;font-weight:700;letter-spacing:-.01em}
.trio .t em{font-style:normal;color:var(--red)}
.closing{margin-top:36px;font-size:17px;color:var(--ink2);border-top:1px solid var(--line);padding-top:26px;max-width:900px;line-height:1.75}
.closing b{color:var(--ink)}
@media(max-width:1020px){
  .sum3,.shift6,.trio,.xl{grid-template-columns:1fr 1fr}
  .val8{grid-template-columns:1fr 1fr}
  .cmpintro{grid-template-columns:1fr}
  .agrow{grid-template-columns:56px 1fr;gap:12px}
  .agrow .dx{grid-column:1 / -1}
  .f{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .menu,.nav .btn{display:none}
  .hamb{display:block;background:none;border:0;font-size:24px;cursor:pointer;color:var(--ink)}
  .sec{padding:76px 0}
  .sum3,.shift6,.val8,.trio,.xl{grid-template-columns:1fr}
  .band .wrap{grid-template-columns:1fr}
  .f{grid-template-columns:1fr}
}
