/* Specialist themes; no rules outside .sx. */
.sx { color:#222e40; font:400 16px/1.85 "Noto Sans JP",sans-serif; overflow-wrap:anywhere; }
.sx * { box-sizing:border-box; }
.sx :where(h1,h2,h3,p,figure,ol,ul) { margin:0; }
.sx .sx-wrap { width:min(1080px,calc(100% - 64px)); margin-inline:auto; }
.sx .sx-crumb { display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:14px; padding:124px 0 8px; }
.sx .sx-crumb a { display:inline-flex; align-items:center; min-height:44px; }
@media(max-width:1310px) { .sx .sx-crumb { padding-top:72px; } }
.sx a { color:#102b60; text-decoration:underline; text-underline-offset:.22em; }
.sx :is(a,summary):focus-visible { outline:3px solid #ad6500; outline-offset:3px; }
.sx .sx-hero,.sx .sx-end { background:#102747; color:#fff; }
.sx .sx-hero { padding-block:clamp(40px,6vw,84px); border-bottom:4px solid #c6a45e; }
.sx .sx-pair,.sx .sx-split { display:grid; gap:clamp(24px,5vw,66px); align-items:start; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); }
.sx .sx-split { grid-template-columns:minmax(0,1fr) minmax(0,1.7fr); }
.sx .sx-tag { font-size:13px; letter-spacing:.1em; font-weight:700; color:#536582; margin-bottom:12px; }
.sx .sx-hero .sx-tag,.sx .sx-end .sx-tag { color:#eed197; }
.sx :is(h1,h2,figcaption) { font-family:"Noto Serif JP","Yu Mincho",serif; line-height:1.48; font-weight:700; }
.sx h1 { font-size:clamp(30px,3.45vw,50px); color:inherit; }
.sx h2 { color:#102747; font-size:clamp(24px,2.6vw,36px); margin-bottom:20px; }
.sx h3 { font-size:20px; margin:24px 0 8px; }
.sx .sx-lead { margin:18px 0 0; }
.sx .sx-cta { display:inline-flex; align-items:center; justify-content:space-between; gap:16px; margin-top:22px; min-height:46px; max-width:100%; padding:12px 18px; background:white; color:#102747; text-decoration:none; font-weight:700; }
.sx .sx-cta:hover { text-decoration:underline; }
.sx .sx-sheet { background:#faf8f1; color:#233550; padding:clamp(20px,3vw,34px); border-top:3px solid #c6a45e; }
.sx .sx-sheet .sx-tag { color:#67562e; }
.sx figcaption { font-size:23px; }
.sx .sx-sheet ol,.sx .sx-cards { list-style:none; padding:0; margin:16px 0 0; }
.sx .sx-sheet li { display:flex; gap:14px; padding:12px 0; border-top:1px solid #cdc7b8; font-size:15px; }
.sx .sx-sheet li>span { color:#725c27; flex:none; white-space:nowrap; font-variant-numeric:tabular-nums; }
.sx .sx-sheet li:last-child { padding-bottom:0; }
.sx .sx-block { padding-block:clamp(38px,5.5vw,75px); }
.sx .sx-band { background:#f1f4f7; }
.sx ul { list-style:disc; padding-inline-start:1.45em; margin-block:12px; }
.sx li+li { margin-top:6px; }
.sx .sx-cards,.sx .sx-evidence { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.sx .sx-cards { counter-reset:step; }
.sx .sx-cards li,.sx .sx-evidence>div { margin:0; padding:20px; background:white; border-top:2px solid #a78a4d; }
.sx .sx-cards li::before { counter-increment:step; content:counter(step,decimal-leading-zero); display:block; color:#6a5426; font-weight:700; margin-bottom:6px; }
.sx .sx-evidence { grid-template-columns:repeat(2,minmax(0,1fr)); }
.sx .sx-evidence>div { background:#f4f6f8; }
.sx .sx-evidence h3 { margin-top:0; }
.sx details { border-top:1px solid #b9c3cf; padding:12px 0; }
.sx summary { cursor:pointer; padding:8px 0; font-weight:700; }
.sx details p { margin:8px 0; }
.sx .sx-end h2 { color:inherit; }
@media(max-width:767px) {
  .sx .sx-wrap { width:calc(100% - 36px); }
  .sx .sx-pair,.sx .sx-split,.sx .sx-cards,.sx .sx-evidence { grid-template-columns:minmax(0,1fr); }
}

.sx h1 { text-wrap: balance; }
.sx h1 span { display:inline-block; white-space:nowrap; }
.sx .sx-sample { width:100%; table-layout:fixed; margin-block:18px; border-collapse:collapse; }
.sx .sx-sample caption { text-align:left; font-weight:700; margin-bottom:8px; }
.sx .sx-sample :is(th,td) { padding:clamp(6px,1.4vw,15px); border:1px solid #b9c3cf; text-align:left; vertical-align:top; }
.sx .sx-sample thead { background:#edf1f5; }
.sx .sx-sample thead th:first-child { width:23%; }
@media (max-width:767px) {
  .sx h1 { font-size:clamp(26px,7.35vw,32px); letter-spacing:0; }
}

@media (max-width: 40em) {
  .sx .sx-sample { display: none; }
  .sx .sx-scene-cards { display: block; margin: 1.25rem 0; }
  .sx-scene-cards > h4 { margin: 0 0 .6rem; font-size: 1rem; font-weight: 700; }
  .sx-scene-card { background: #fff; border: 1px solid #bdcbd7; }
  .sx-scene-card + .sx-scene-card { margin-top: .875rem; }
  .sx-scene-card h5 { margin: 0; padding: .65rem .875rem; background: #edf1f5; color: #173657; font-size: 1.0625rem; font-weight: 700; }
  .sx-scene-card dl { margin: 0; padding: .875rem; line-height: 1.65; }
  .sx-scene-card dt { color: #294860; font-weight: 700; }
  .sx-scene-card dd { margin: .125rem 0 0; overflow-wrap: normal; }
  .sx-scene-card dd + dt { margin-top: .75rem; }
}
