/* Legal content only: do not override the shared body, header, footer or generic headings. */
.legal-main{width:min(100%,1040px);margin:0 auto;padding:76px 40px 104px;color:#17201d;font-family:"Noto Sans JP",sans-serif;line-height:1.9;overflow-wrap:anywhere}
.legal-main,.legal-main *{box-sizing:border-box}
.legal-main a{color:var(--accent,#147d68);text-underline-offset:4px}
.legal-main a:hover{text-decoration-thickness:2px}
.legal-main a:focus-visible,.legal-main button:focus-visible,.legal-main input:focus-visible{outline:2px solid var(--accent,#147d68);outline-offset:4px}
.legal-main .legal-title{padding-bottom:36px;border-bottom:1px solid #dceee6;margin-bottom:44px}
.legal-main .eyebrow{font-family:"Inter","Noto Sans JP",sans-serif;font-size:12px;font-weight:600;letter-spacing:.12em;color:var(--accent,#147d68);margin:0 0 18px}
.legal-main h1{font-size:clamp(28px,3.6vw,38px);font-weight:600;letter-spacing:.02em;line-height:1.55;margin:0 0 20px}
.legal-main .intro{font-size:15px;line-height:2;color:#4c5851;max-width:760px;margin:0}
.legal-main .legal-body{max-width:800px}
.legal-main .legal-body section{margin:0 0 38px}
.legal-main .legal-body h2{font-size:19px;font-weight:600;margin:0 0 14px;line-height:1.8}
.legal-main .legal-body p,.legal-main .legal-body li{font-size:14px;line-height:2;color:#4c5851}
.legal-main .legal-body p{margin:0 0 15px}
.legal-main .legal-body ul{margin:0 0 16px;padding-left:22px}
.legal-main .legal-body li+li{margin-top:5px}
.legal-main .legal-body .effective{font-size:12px;margin:0 0 34px;color:#718078}
.legal-main .contact-card{padding:26px;background:#f4f8f6;border:1px solid #dceee6;border-radius:12px;margin:28px 0}
.legal-main .contact-card .contact-address{font-size:16px;line-height:1.9;color:#17201d;margin:0}
.legal-main .contact-address strong{font-weight:600}
.legal-main .contact-card p{margin:12px 0 0}
.legal-main .contact-card picture{display:block}
.legal-main .contact-card .contact-inquiry-image{display:block;width:100%;max-width:600px;height:auto}
.legal-main .legal-body [lang=en]{border-top:1px solid #dceee6;margin-top:56px;padding-top:40px}
.legal-main .legal-body>section:first-child p:last-child>a.line-cta{display:inline-flex;align-items:center;justify-content:center;min-height:52px;margin-top:8px;padding:12px 30px;border:1px solid var(--accent,#147d68);border-radius:999px;background:var(--accent,#147d68);color:#fff;font-size:14px;font-weight:600;text-decoration:none}
.legal-main .legal-body>section:first-child p:last-child>a.line-cta:hover{background:var(--accent-strong,#0f6756);border-color:var(--accent-strong,#0f6756)}
@media(max-width:640px){
  .legal-main{padding:46px 22px 72px}
  .legal-main .legal-title{padding-bottom:28px;margin-bottom:32px}
  .legal-main h1{font-size:28px;line-height:1.6;overflow-wrap:normal}
  .legal-main .intro{font-size:14px}
  .legal-main .legal-body section{margin-bottom:30px}
  .legal-main .legal-body h2{font-size:17px;line-height:1.8}
  .legal-main .legal-body p,.legal-main .legal-body li{font-size:13px}
  .legal-main .contact-card{padding:22px 16px}
  .legal-main .contact-card .contact-inquiry-image{max-width:270px!important}
  .legal-main .legal-body [lang=en]{margin-top:42px;padding-top:30px}
}
