.swing-261-body { background:#f3f6f5; }
.swing-261-page { color:#303b3b; font-family:"Noto Sans JP",sans-serif; font-size:16px; line-height:1.9; overflow-wrap:anywhere; }
.swing-261-page * { box-sizing:border-box; }
.swing-261-page a { text-underline-offset:3px; }
.swing-261-page-title { margin:0 0 18px; padding:17px 21px; border-left:7px solid #0b6b63; background:#fff; color:#213a3a; font-size:clamp(1.65rem,3.3vw,2.25rem); line-height:1.42; }
.swing-261-hero { margin:0 0 27px; overflow:hidden; border-radius:15px; background:#e6ecea; box-shadow:0 8px 24px rgba(24,54,52,.13); }
.swing-261-hero img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.swing-261-lead { margin:0 0 28px; padding:clamp(25px,4vw,42px); border:1px solid #ccdad6; border-radius:17px; background:linear-gradient(135deg,#f0fbf8 0,#fff 53%,#fff6e8 100%); }
.swing-261-eyebrow,.swing-261-label { margin:0 0 8px!important; color:#0b6b63; font-size:.78rem; font-weight:900; letter-spacing:.12em; }
.swing-261-lead h2,.swing-261-final-cta h2 { margin:0 0 17px; color:#213a3a; font-size:clamp(1.35rem,2.7vw,1.92rem); line-height:1.55; }
.swing-261-lead p { margin:0 0 14px; }
.swing-261-lead-actions,.swing-261-final-actions { display:flex; flex-wrap:wrap; gap:13px; margin-top:22px; }
.swing-261-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-261-button--primary { border-color:#0b6b63; background:#0b6b63; color:#fff!important; }
.swing-261-button--primary:hover,.swing-261-button--primary:focus-visible { border-color:#074940; background:#074940; color:#fff!important; transform:translateY(-1px); }
.swing-261-button--secondary { border-color:#b75a20; background:#b75a20; color:#fff!important; }
.swing-261-button--secondary:hover,.swing-261-button--secondary:focus-visible { border-color:#7e370f; background:#7e370f; color:#fff!important; transform:translateY(-1px); }
.swing-261-button--sample { border-color:#b66b00; background:#b66b00; color:#fff!important; }
.swing-261-button--sample:hover,.swing-261-button--sample:focus-visible { border-color:#794500; background:#794500; color:#fff!important; transform:translateY(-1px); }
.swing-261-button--estimate { border-color:#40565b; background:#40565b; color:#fff!important; }
.swing-261-button--estimate:hover,.swing-261-button--estimate:focus-visible { border-color:#27383c; background:#27383c; color:#fff!important; transform:translateY(-1px); }
.swing-261-understand { margin:0 0 28px; padding:25px; border:1px solid #d2dedb; border-radius:15px; background:#fff; }
.swing-261-understand>h2 { margin:0 0 19px; color:#213a3a; font-size:clamp(1.25rem,2.4vw,1.68rem); }
.swing-261-understand-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.swing-261-understand-grid article { display:grid; grid-template-columns:40px minmax(0,1fr); column-gap:13px; padding:18px; border-radius:12px; background:#eef7f5; }
.swing-261-understand-grid span { grid-row:1/3; display:flex; width:40px; height:40px; align-items:center; justify-content:center; border-radius:50%; background:#213a3a; color:#fff; font-weight:900; }
.swing-261-understand-grid h3 { margin:0 0 5px; color:#213a3a; font-size:1.04rem; }
.swing-261-understand-grid p { margin:0; font-size:.93rem; }
.swing-261-toc { margin:0 0 35px; padding:23px 26px; border-left:5px solid #0b6b63; background:#fff8ec; }
.swing-261-toc>p { margin:0 0 10px; color:#213a3a; font-weight:900; }
.swing-261-toc ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 28px; margin:0; padding-left:1.5em; }
.swing-261-toc a { color:#0b6b63; font-weight:700; }
.swing-261-section { margin:0 0 39px; padding:clamp(22px,3.5vw,35px); border:1px solid #d4dfdc; border-radius:16px; background:#fff; box-shadow:0 5px 19px rgba(29,58,56,.055); scroll-margin-top:20px; }
.swing-261-heading { display:flex; gap:15px; align-items:flex-start; margin:0 0 23px; padding-bottom:14px; border-bottom:2px solid #e0e8e6; }
.swing-261-heading>span { display:flex; flex:0 0 44px; height:44px; align-items:center; justify-content:center; border-radius:10px; background:#0b6b63; color:#fff; font-size:.83rem; font-weight:900; }
.swing-261-heading h2 { margin:1px 0 0; color:#213a3a; font-size:clamp(1.3rem,2.45vw,1.8rem); line-height:1.52; }
.swing-261-conclusion-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:22px; }
.swing-261-conclusion-grid article { padding:22px; border:1px solid #d3dfdb; border-radius:13px; background:#f7fbfa; }
.swing-261-conclusion-grid h3 { margin:9px 0 7px; color:#213a3a; font-size:1.08rem; }
.swing-261-conclusion-grid p { margin:0; }
.swing-261-chip { display:inline-block; padding:3px 9px; border-radius:999px; background:#dff1ed; color:#0b6b63; font-size:.72rem; font-weight:900; letter-spacing:.08em; }
.swing-261-note { margin-top:23px; padding:21px 23px; border:1px solid #e3c184; border-radius:12px; background:#fff8ec; }
.swing-261-note h3,.swing-261-check h3,.swing-261-warning h3 { margin:0 0 8px; color:#6c4610; font-size:1.08rem; }
.swing-261-note p,.swing-261-warning p { margin:0; }
.swing-261-condition-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:21px; }
.swing-261-condition-grid article { padding:19px; border-radius:12px; background:#eef7f5; }
.swing-261-condition-grid b { display:block; margin-bottom:6px; color:#0b6b63; font-size:1.03rem; }
.swing-261-condition-grid p { margin:0; }
.swing-261-check { margin-top:22px; padding:21px 23px; border:1px solid #c9ddd8; border-radius:12px; background:#f3faf8; }
.swing-261-check h3 { color:#0b6b63; }
.swing-261-check ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 25px; margin:0; padding-left:1.45em; }
.swing-261-table-wrap { width:100%; margin-top:20px; overflow-x:auto; border:1px solid #ccd9d6; border-radius:12px; background:#fff; -webkit-overflow-scrolling:touch; }
.swing-261-table { width:100%; min-width:800px; border-collapse:collapse; }
.swing-261-table caption { padding:14px 16px; background:#eaf4f1; color:#213a3a; font-weight:900; text-align:left; }
.swing-261-table th,.swing-261-table td { padding:14px 15px; border-top:1px solid #dce5e2; border-right:1px solid #e3eae8; vertical-align:top; text-align:left; }
.swing-261-table th:last-child,.swing-261-table td:last-child { border-right:0; }
.swing-261-table thead th { background:#213a3a; color:#fff; }
.swing-261-table tbody th { width:18%; background:#f1f7f5; color:#213a3a; }
.swing-261-guide-link { margin:22px 0 0!important; padding:16px 18px; border-radius:10px; background:#eef7f5; text-align:center; }
.swing-261-guide-link a { color:#0b6b63; font-weight:800; }
.swing-261-use-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:21px 0; }
.swing-261-use-grid article { padding:22px; border:1px solid #d5e0dd; border-radius:13px; background:#f9fcfb; }
.swing-261-use-grid h3 { margin:12px 0 7px; color:#213a3a; font-size:1.08rem; }
.swing-261-use-grid p { margin:0; }
.swing-261-use-icon { position:relative; width:62px; height:45px; }
.swing-261-use-icon::before { content:""; position:absolute; left:4px; bottom:4px; width:54px; height:10px; border-radius:3px; background:#9cb5af; box-shadow:0 -13px 0 #d6e5e1; }
.swing-261-use-icon::after { content:""; position:absolute; right:7px; top:2px; width:22px; height:22px; border:4px solid #0b6b63; background:#fff; }
.swing-261-use-icon--new::after { border-radius:50%; background:linear-gradient(135deg,#fff 0 47%,#f5c56d 48%); }
.swing-261-use-icon--register::after { width:28px; height:19px; border-radius:4px; transform:rotate(-4deg); }
.swing-261-use-icon--sale::after { border-color:#b75a20; background:linear-gradient(135deg,#fff 0 42%,#f2b997 43%); transform:rotate(4deg); }
.swing-261-flow { display:grid; gap:13px; margin:20px 0 0; padding:0; list-style:none; counter-reset:item; }
.swing-261-flow li { display:grid; grid-template-columns:88px minmax(0,1fr); gap:16px; padding:18px 20px; border-left:5px solid #0b6b63; border-radius:0 11px 11px 0; background:#eff8f6; }
.swing-261-flow li>span { display:flex; height:37px; align-items:center; justify-content:center; border-radius:999px; background:#0b6b63; color:#fff; font-size:.76rem; font-weight:900; letter-spacing:.05em; }
.swing-261-flow h3 { margin:0 0 5px; color:#213a3a; font-size:1.05rem; }
.swing-261-flow p { margin:0; }
.swing-261-warning { margin-top:22px; padding:21px 23px; border:1px solid #e7beb0; border-radius:12px; background:#fff6f1; }
.swing-261-warning h3 { color:#8b3518; }
.swing-261-support-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.swing-261-support-grid article { display:flex; min-width:0; flex-direction:column; padding:22px; border:1px solid #d4dfdc; border-radius:13px; background:#f8fbfa; }
.swing-261-support-grid h3 { margin:0 0 8px; color:#213a3a; font-size:1.1rem; }
.swing-261-support-grid p:not(.swing-261-label) { margin:0 0 12px; }
.swing-261-support-grid a { display:inline-block; margin-top:auto; color:#0b6b63; font-weight:900; }
.swing-261-common-guides { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:22px; }
.swing-261-common-guides a { display:flex; min-width:0; flex-direction:column; gap:5px; padding:16px 17px; border:1px solid #d4dfdc; border-radius:10px; background:#fff8ec; color:#213a3a; text-decoration:none; }
.swing-261-common-guides a:hover,.swing-261-common-guides a:focus-visible { border-color:#0b6b63; background:#eef8f5; color:#06483f; }
.swing-261-common-guides span { color:#5b6966; font-size:.88rem; }
.swing-261-related { margin-top:27px; padding-top:24px; border-top:2px solid #e0e8e6; }
.swing-261-related>h3 { margin:0 0 16px; color:#213a3a; font-size:1.15rem; }
.swing-261-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.swing-261-related-grid a { display:flex; min-width:0; flex-direction:column; gap:5px; padding:16px 17px; border:1px solid #d4dfdc; border-radius:10px; background:#fff; color:#213a3a; text-decoration:none; }
.swing-261-related-grid a:hover,.swing-261-related-grid a:focus-visible { border-color:#0b6b63; background:#eff8f6; color:#06483f; }
.swing-261-related-grid span { color:#5b6966; font-size:.89rem; }
.swing-261-faq details { margin-bottom:12px; border:1px solid #d2deda; border-radius:10px; background:#fff; }
.swing-261-faq summary { position:relative; padding:17px 49px 17px 19px; color:#213a3a; font-weight:800; cursor:pointer; list-style:none; }
.swing-261-faq summary::-webkit-details-marker { display:none; }
.swing-261-faq summary::after { content:"＋"; position:absolute; top:50%; right:18px; transform:translateY(-50%); color:#0b6b63; font-size:1.35rem; }
.swing-261-faq details[open] summary::after { content:"−"; }
.swing-261-faq details>div { padding:0 19px 18px; }
.swing-261-faq details p { margin:0; }
.swing-261-final-cta { margin:4px 0 12px; padding:clamp(25px,4vw,42px); border:1px solid #ccd9d6; border-radius:17px; background:linear-gradient(135deg,#effaf7,#fff 55%,#fff6e8); text-align:center; }
.swing-261-final-actions { justify-content:center; }
@media (max-width:900px) {
  .swing-261-condition-grid,.swing-261-support-grid,.swing-261-common-guides,.swing-261-related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:650px) {
  .swing-261-page-title { padding:15px 16px; }
  .swing-261-hero { border-radius:10px; }
  .swing-261-lead,.swing-261-section { padding:20px 16px; }
  .swing-261-understand { padding:18px 15px; }
  .swing-261-understand-grid,.swing-261-conclusion-grid,.swing-261-condition-grid,.swing-261-use-grid,.swing-261-support-grid,.swing-261-common-guides,.swing-261-related-grid { grid-template-columns:1fr; }
  .swing-261-toc { padding:18px 16px; }
  .swing-261-toc ol { grid-template-columns:1fr; }
  .swing-261-heading { gap:11px; }
  .swing-261-heading>span { flex-basis:38px; height:38px; }
  .swing-261-check ul { grid-template-columns:1fr; }
  .swing-261-flow li { grid-template-columns:1fr; gap:10px; }
  .swing-261-flow li>span { width:88px; }
  .swing-261-lead-actions,.swing-261-final-actions { display:grid; grid-template-columns:1fr; }
  .swing-261-button { width:100%; }
}
@media (max-width:480px) {
  .swing-261-understand-grid article { grid-template-columns:32px minmax(0,1fr); padding:14px; }
  .swing-261-understand-grid span { width:32px; height:32px; }
}
