body.legal-page{background:#fff;color:#161616}
body.legal-page main,body.legal-page .legal-hero,body.legal-page .legal-layout{background:#fff}
body.legal-page .site-header,
body.legal-page .site-header.is-scrolled{background:#fff;color:#161616;border-bottom-color:#dedede;box-shadow:none;backdrop-filter:none}
body.legal-page .site-menu{background:#fff;color:#161616;box-shadow:-18px 0 50px rgba(0,0,0,.12)}
body.legal-page .site-menu::backdrop{background:rgba(0,0,0,.32);backdrop-filter:none}
body.legal-page .site-menu-head{border-bottom-color:#dedede}
body.legal-page .site-menu-head p{color:#555}
body.legal-page .site-menu-close{background:#fff;color:#161616;border:1px solid #dedede}
body.legal-page .site-menu-primary a{border-bottom-color:#dedede}
body.legal-page .site-menu-primary a span{color:#666}
body.legal-page .site-menu-primary a:hover,body.legal-page .site-menu-primary a:focus-visible{background:#f6f6f6}
body.legal-page .site-menu-legal a{color:#333;border-bottom-color:#dedede}
body.legal-page .site-menu :focus-visible{outline-color:#161616}

.legal-hero{max-width:880px;margin:0 auto;padding:72px 32px 42px;border-bottom:1px solid #dedede}
.legal-hero .section-no{display:none}
.legal-hero h1{margin:0;color:#161616;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:clamp(32px,4vw,46px);font-weight:700;line-height:1.35;letter-spacing:.01em}
.legal-hero p:last-child{margin:16px 0 0;color:#666;font-size:13px}

.legal-layout{max-width:880px;margin:0 auto;padding:0 32px 96px}
.legal-toc{margin:0;padding:24px 0;display:flex;flex-wrap:wrap;gap:6px 26px;background:#fff;border-bottom:1px solid #dedede}
.legal-toc a{min-height:44px;display:inline-flex;align-items:center;color:#333;font-size:13px;font-weight:600;text-decoration:none}
.legal-toc a:hover,.legal-toc a:focus-visible{color:#000;text-decoration:underline;text-underline-offset:5px}

.legal-content{max-width:760px;margin:0 auto}
.legal-content section{padding:38px 0;border-bottom:1px solid #e2e2e2;scroll-margin-top:110px}
.legal-content section:last-child{border-bottom:0}
.legal-content h2{margin:0 0 18px;color:#161616;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:21px;font-weight:700;line-height:1.6}
.legal-content h3{margin:26px 0 8px;color:#222;font-size:15px}
.legal-content p,.legal-content li,.legal-table th,.legal-table td{color:#252525;font-size:14px;line-height:1.9}
.legal-content p{margin:10px 0}.legal-content ol,.legal-content ul{margin:12px 0;padding-left:1.5em}.legal-content li+li{margin-top:8px}
.legal-content a,.legal-table a{color:#161616;text-decoration:underline;text-underline-offset:4px}

.legal-note{margin:22px 0 0;padding:20px 0;background:#fff;border-top:1px solid #dedede;border-bottom:1px solid #dedede}
.legal-table-wrap{overflow-x:auto;background:#fff}
.legal-table{width:100%;border-collapse:collapse;min-width:620px}
.legal-table th,.legal-table td{padding:17px 0;text-align:left;vertical-align:top;border-bottom:1px solid #dedede}
.legal-table tr:last-child th,.legal-table tr:last-child td{border-bottom:0}
.legal-table th{width:190px;padding-right:28px;background:#fff;font-weight:700}

.company-list{margin:0;border-top:1px solid #dedede}
.company-list>div{display:grid;grid-template-columns:180px 1fr;gap:28px;padding:22px 0;border-bottom:1px solid #dedede}
.company-list dt{font-weight:700}.company-list dd{margin:0;line-height:1.9}.company-list a{color:#161616;text-decoration:underline;text-underline-offset:4px}

.legal-contact{margin-top:22px;padding:20px 0;background:#fff;color:#161616;border-top:1px solid #dedede;border-bottom:1px solid #dedede}
.legal-contact p{margin:0;color:#252525}
.legal-contact a{min-height:44px;margin-top:6px;display:inline-flex;align-items:center;color:#161616;font-weight:600}

body.legal-page footer.legal-footer{display:block;padding:32px max(24px,calc((100vw - 816px)/2));background:#fff;color:#333;border-top:1px solid #dedede}
body.legal-page footer.legal-footer nav{display:flex;flex-wrap:wrap;gap:8px 24px}
body.legal-page footer.legal-footer a{min-height:44px;display:inline-flex;align-items:center;color:#333;font-size:13px;text-decoration:none}
body.legal-page footer.legal-footer a:hover,body.legal-page footer.legal-footer a:focus-visible{text-decoration:underline;text-underline-offset:4px}
body.legal-page footer.legal-footer small{display:block;margin-top:22px;color:#6b6b6b;font-size:11px}

.completion-main{min-height:calc(100svh - 78px);display:grid;place-items:center}
.payment-complete{width:min(760px,100%);padding:88px 32px 120px}
.payment-complete .completion-kicker{margin:0 0 18px;color:#8a6b34;font-size:12px;font-weight:800;letter-spacing:.2em}
.payment-complete h1{max-width:14em;margin:0;color:#161616;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:clamp(32px,4vw,46px);font-weight:700;line-height:1.4;letter-spacing:.01em}
.payment-complete>p:not(.completion-kicker){max-width:34em;margin:24px 0 36px;color:#333;font-size:15px;line-height:1.9}

@media(min-width:721px){
  .payment-complete{width:min(920px,100%)}
  .payment-complete h1{max-width:none;font-size:42px;white-space:nowrap}
  .payment-complete>p:not(.completion-kicker){max-width:none;white-space:nowrap}
}

@media(max-width:720px){
  .legal-hero{padding:48px 20px 30px}.legal-hero h1{font-size:30px}.legal-hero p:last-child{font-size:12px}
  .legal-layout{padding:0 20px 64px}.legal-toc{padding:16px 0;gap:2px 18px}
  .legal-content section{padding:30px 0;scroll-margin-top:88px}.legal-content h2{font-size:19px}
  .legal-content p,.legal-content li,.legal-table th,.legal-table td{font-size:13px}
  .legal-table{min-width:0}.legal-table tr{display:grid}.legal-table th,.legal-table td{width:auto;padding:12px 0}.legal-table th{padding-bottom:0;border-bottom:0}
  .company-list>div{grid-template-columns:1fr;gap:6px;padding:18px 0}
  body.legal-page footer.legal-footer{padding:28px 20px}body.legal-page footer.legal-footer nav{display:grid;gap:0}
  .completion-main{min-height:calc(100svh - 68px);place-items:start center}
  .payment-complete{padding:72px 20px 88px}.payment-complete h1{font-size:30px}.payment-complete>p:not(.completion-kicker){font-size:14px}
}
