.swing-254-body { background:#f4f6f8; }
.swing-254-page { color:#303942; font-family:"Noto Sans JP",sans-serif; font-size:16px; line-height:1.9; overflow-wrap:anywhere; }
.swing-254-page * { box-sizing:border-box; }
.swing-254-page a { text-underline-offset:3px; }
.swing-254-page-title { margin:0 0 18px; padding:17px 21px; border-left:7px solid #c8161d; background:#fff; color:#24384d; font-size:clamp(1.65rem,3.3vw,2.25rem); line-height:1.42; }
.swing-254-hero { margin:0 0 27px; overflow:hidden; border-radius:15px; background:#e8edf1; box-shadow:0 8px 24px rgba(30,49,66,.12); }
.swing-254-hero img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.swing-254-lead { margin:0 0 28px; padding:clamp(25px,4vw,42px); border:1px solid #d4dde5; border-radius:17px; background:linear-gradient(135deg,#fff8f8 0,#fff 54%,#eef7fc 100%); }
.swing-254-eyebrow,.swing-254-label { margin:0 0 8px!important; color:#c8161d; font-size:.78rem; font-weight:900; letter-spacing:.12em; }
.swing-254-lead h2,.swing-254-final-cta h2 { margin:0 0 17px; color:#24384d; font-size:clamp(1.35rem,2.7vw,1.92rem); line-height:1.55; }
.swing-254-lead p { margin:0 0 14px; }
.swing-254-lead-actions,.swing-254-final-actions { display:flex; flex-wrap:wrap; gap:13px; margin-top:22px; }
.swing-254-button { display:inline-flex; min-height:50px; align-items:center; justify-content:center; padding:12px 23px; border:2px solid transparent; border-radius:9px; font-weight:800; line-height:1.45; text-align:center; text-decoration:none!important; transition:background-color .2s,color .2s,border-color .2s,transform .2s; }
.swing-254-button--primary { border-color:#c8161d; background:#c8161d; color:#fff!important; }
.swing-254-button--primary:hover,.swing-254-button--primary:focus-visible { border-color:#8f0c12; background:#8f0c12; color:#fff!important; transform:translateY(-1px); }
.swing-254-button--secondary { border-color:#146fa5; background:#146fa5; color:#fff!important; }
.swing-254-button--secondary:hover,.swing-254-button--secondary:focus-visible { border-color:#0c4d75; background:#0c4d75; color:#fff!important; transform:translateY(-1px); }
.swing-254-button--sample { border-color:#e09000; background:#e09000; color:#fff!important; }
.swing-254-button--sample:hover,.swing-254-button--sample:focus-visible { border-color:#a46400; background:#a46400; color:#fff!important; transform:translateY(-1px); }
.swing-254-button--estimate { border-color:#46586b; background:#46586b; color:#fff!important; }
.swing-254-button--estimate:hover,.swing-254-button--estimate:focus-visible { border-color:#293846; background:#293846; color:#fff!important; transform:translateY(-1px); }
.swing-254-understand { margin:0 0 28px; padding:25px; border:1px solid #d5dee5; border-radius:15px; background:#fff; }
.swing-254-understand>h2 { margin:0 0 19px; color:#24384d; font-size:clamp(1.25rem,2.4vw,1.68rem); }
.swing-254-understand-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.swing-254-understand-grid article { display:grid; grid-template-columns:40px minmax(0,1fr); column-gap:13px; padding:18px; border-radius:12px; background:#f1f6f9; }
.swing-254-understand-grid span { grid-row:1/3; display:flex; width:40px; height:40px; align-items:center; justify-content:center; border-radius:50%; background:#24384d; color:#fff; font-weight:900; }
.swing-254-understand-grid h3 { margin:0 0 5px; color:#24384d; font-size:1.04rem; }
.swing-254-understand-grid p { margin:0; font-size:.93rem; }
.swing-254-toc { margin:0 0 35px; padding:23px 26px; border-left:5px solid #c8161d; background:#fffaf0; }
.swing-254-toc>p { margin:0 0 10px; color:#24384d; font-weight:900; }
.swing-254-toc ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 28px; margin:0; padding-left:1.5em; }
.swing-254-toc a { color:#146fa5; font-weight:700; }
.swing-254-section { margin:0 0 39px; padding:clamp(22px,3.5vw,35px); border:1px solid #d6dfe6; border-radius:16px; background:#fff; box-shadow:0 5px 19px rgba(35,55,73,.055); scroll-margin-top:20px; }
.swing-254-heading { display:flex; gap:15px; align-items:flex-start; margin:0 0 23px; padding-bottom:14px; border-bottom:2px solid #e1e8ed; }
.swing-254-heading>span { display:flex; flex:0 0 44px; height:44px; align-items:center; justify-content:center; border-radius:10px; background:#c8161d; color:#fff; font-size:.83rem; font-weight:900; }
.swing-254-heading h2 { margin:1px 0 0; color:#24384d; font-size:clamp(1.3rem,2.45vw,1.8rem); line-height:1.52; }
.swing-254-basics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:21px; }
.swing-254-basics article { padding:22px; border:1px solid #d8e0e6; border-radius:13px; background:#f8fbfd; }
.swing-254-basics h3 { margin:12px 0 7px; color:#24384d; font-size:1.07rem; }
.swing-254-basics p { margin:0; }
.swing-254-basic-icon { position:relative; width:58px; height:46px; }
.swing-254-basic-icon--tab::before { content:""; position:absolute; top:12px; left:4px; width:48px; height:21px; border:3px solid #c8161d; border-radius:5px; background:#fff; box-shadow:6px 6px 0 #f2c6c8; }
.swing-254-basic-icon--arm::before { content:""; position:absolute; top:3px; left:8px; width:34px; height:37px; border-top:6px solid #c8161d; border-right:6px solid #c8161d; border-radius:0 20px 0 0; transform:rotate(12deg); }
.swing-254-basic-icon--face::before { content:""; position:absolute; top:1px; left:7px; width:43px; height:43px; border:4px solid #c8161d; border-radius:50%; background:linear-gradient(135deg,#fff 0 46%,#ffe5e6 47%); }
.swing-254-note { margin-top:23px; padding:21px 23px; border:1px solid #e3c58b; border-radius:12px; background:#fffaf0; }
.swing-254-note h3,.swing-254-check h3 { margin:0 0 8px; color:#6b4912; font-size:1.08rem; }
.swing-254-note p { margin:0; }
.swing-254-page-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; margin-top:21px; }
.swing-254-page-grid--five { grid-template-columns:repeat(5,minmax(0,1fr)); }
.swing-254-page-grid a { position:relative; display:flex; min-width:0; min-height:198px; flex-direction:column; padding:47px 18px 19px; border:1px solid #d4dee6; border-radius:13px; background:linear-gradient(180deg,#fff,#f8fbfd); color:#24384d; text-decoration:none; transition:border-color .2s,background-color .2s,transform .2s,box-shadow .2s; }
.swing-254-page-grid a:hover,.swing-254-page-grid a:focus-visible { border-color:#c8161d; background:#fff8f8; color:#7f1015; transform:translateY(-2px); box-shadow:0 8px 18px rgba(39,55,69,.09); }
.swing-254-card-no { position:absolute; top:14px; left:16px; color:#c8161d; font-size:.78rem; font-weight:900; letter-spacing:.08em; }
.swing-254-card-tag { position:absolute; top:12px; right:13px; padding:3px 8px; border-radius:999px; background:#e9f2f7; color:#146fa5; font-size:.7rem; font-weight:800; }
.swing-254-page-grid strong { margin-bottom:9px; font-size:1.03rem; line-height:1.58; }
.swing-254-page-grid small { margin-top:auto; color:#5a6570; font-size:.88rem; line-height:1.7; }
.swing-254-table-wrap { width:100%; margin-top:20px; overflow-x:auto; border:1px solid #ced9e1; border-radius:12px; background:#fff; -webkit-overflow-scrolling:touch; }
.swing-254-table { width:100%; min-width:760px; border-collapse:collapse; }
.swing-254-table caption { padding:14px 16px; background:#eef5f9; color:#24384d; font-weight:900; text-align:left; }
.swing-254-table th,.swing-254-table td { padding:14px 15px; border-top:1px solid #dce4ea; border-right:1px solid #e4eaee; vertical-align:top; text-align:left; }
.swing-254-table th:last-child,.swing-254-table td:last-child { border-right:0; }
.swing-254-table thead th { background:#24384d; color:#fff; }
.swing-254-table tbody th { width:20%; background:#f3f7fa; color:#24384d; }
.swing-254-table a { color:#146fa5; font-weight:800; }
.swing-254-check { margin-top:22px; padding:21px 23px; border:1px solid #e5c1c3; border-radius:12px; background:#fff7f7; }
.swing-254-check h3 { color:#8a2026; }
.swing-254-check ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 25px; margin:0; padding-left:1.45em; }
.swing-254-design-layout { display:grid; grid-template-columns:minmax(0,1.75fr) minmax(230px,.75fr); gap:25px; align-items:start; }
.swing-254-steps { display:grid; gap:13px; margin:20px 0 0; padding:0; list-style:none; }
.swing-254-steps li { display:grid; grid-template-columns:42px minmax(0,1fr); gap:14px; padding:17px 18px; border-left:5px solid #146fa5; border-radius:0 11px 11px 0; background:#f1f7fa; }
.swing-254-steps li>span { display:flex; width:36px; height:36px; align-items:center; justify-content:center; border-radius:50%; background:#146fa5; color:#fff; font-weight:900; }
.swing-254-steps h3 { margin:0 0 5px; color:#24384d; font-size:1.04rem; }
.swing-254-steps p { margin:0; }
.swing-254-design-layout aside { padding:21px; border:1px solid #d5dfe6; border-radius:12px; background:#fffaf0; }
.swing-254-design-layout aside h3 { margin:0 0 12px; color:#24384d; font-size:1.08rem; }
.swing-254-design-layout aside a { display:block; padding:11px 0; border-top:1px solid #eadab9; color:#146fa5; font-weight:800; }
.swing-254-design-layout aside a:first-of-type { border-top:0; }
.swing-254-guide-link { margin:22px 0 0!important; padding:16px 18px; border-radius:10px; background:#eef5f9; text-align:center; }
.swing-254-guide-link a { color:#146fa5; font-weight:800; }
.swing-254-support-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.swing-254-support-grid article { display:flex; min-width:0; flex-direction:column; padding:22px; border:1px solid #d6dfe6; border-radius:13px; background:#f8fbfd; }
.swing-254-support-grid h3 { margin:0 0 8px; color:#24384d; font-size:1.1rem; }
.swing-254-support-grid p:not(.swing-254-label) { margin:0 0 12px; }
.swing-254-support-grid a { display:inline-block; margin-top:auto; color:#146fa5; font-weight:900; }
.swing-254-related { margin-top:27px; padding-top:24px; border-top:2px solid #e1e7ec; }
.swing-254-related>h3 { margin:0 0 16px; color:#24384d; font-size:1.15rem; }
.swing-254-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.swing-254-related-grid a { display:flex; min-width:0; flex-direction:column; gap:5px; padding:16px 17px; border:1px solid #d5dfe6; border-radius:10px; background:#fff; color:#24384d; text-decoration:none; }
.swing-254-related-grid a:hover,.swing-254-related-grid a:focus-visible { border-color:#146fa5; background:#f1f7fa; color:#0b527c; }
.swing-254-related-grid span { color:#5e6871; font-size:.89rem; }
.swing-254-faq details { margin-bottom:12px; border:1px solid #d3dde5; border-radius:10px; background:#fff; }
.swing-254-faq summary { position:relative; padding:17px 49px 17px 19px; color:#24384d; font-weight:800; cursor:pointer; list-style:none; }
.swing-254-faq summary::-webkit-details-marker { display:none; }
.swing-254-faq summary::after { content:"＋"; position:absolute; top:50%; right:18px; transform:translateY(-50%); color:#c8161d; font-size:1.35rem; }
.swing-254-faq details[open] summary::after { content:"−"; }
.swing-254-faq details>div { padding:0 19px 18px; }
.swing-254-faq details p { margin:0; }
.swing-254-final-cta { margin:4px 0 12px; padding:clamp(25px,4vw,42px); border:1px solid #d1dce4; border-radius:17px; background:linear-gradient(135deg,#fff8f8,#fff 55%,#eef7fc); text-align:center; }
.swing-254-final-actions { justify-content:center; }
@media (max-width:1180px) {
  .swing-254-page-grid--five { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .swing-254-basics,.swing-254-page-grid,.swing-254-support-grid,.swing-254-related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .swing-254-design-layout { grid-template-columns:1fr; }
}
@media (max-width:650px) {
  .swing-254-page-title { padding:15px 16px; }
  .swing-254-hero { border-radius:10px; }
  .swing-254-lead,.swing-254-section { padding:20px 16px; }
  .swing-254-understand { padding:18px 15px; }
  .swing-254-understand-grid,.swing-254-basics,.swing-254-page-grid,.swing-254-page-grid--five,.swing-254-support-grid,.swing-254-related-grid { grid-template-columns:1fr; }
  .swing-254-toc { padding:18px 16px; }
  .swing-254-toc ol { grid-template-columns:1fr; }
  .swing-254-heading { gap:11px; }
  .swing-254-heading>span { flex-basis:38px; height:38px; }
  .swing-254-page-grid a { min-height:0; }
  .swing-254-check ul { grid-template-columns:1fr; }
  .swing-254-lead-actions,.swing-254-final-actions { display:grid; grid-template-columns:1fr; }
  .swing-254-button { width:100%; }
}
@media (max-width:480px) {
  .swing-254-understand-grid article { grid-template-columns:32px minmax(0,1fr); padding:14px; }
  .swing-254-understand-grid span { width:32px; height:32px; }
  .swing-254-steps li { grid-template-columns:36px minmax(0,1fr); padding:15px 13px; }
  .swing-254-steps li>span { width:32px; height:32px; }
}
