/* Independent policy candidate. Shared files are read-only. */
header img,footer img{height:auto}.policy-kv{background:#f2f5f6;border-bottom:1px solid #d4dce1}.policy-kv .wrap{padding-top:20px;padding-bottom:42px}.policy-crumb{display:flex;align-items:baseline;gap:12px;font-size:11px;line-height:1.8;color:#526879}.policy-crumb span:last-child{min-width:0;overflow-wrap:anywhere}.policy-kv h1{font-size:42px;line-height:1.6;letter-spacing:.035em;margin-top:30px;max-width:1100px;line-break:strict}.policy-kv h1:before{content:'';display:block;width:38px;height:2px;background:#a7894f;margin-bottom:20px}.policy-kv.variant-b{background:#fff}.variant-b h1{border-left:3px solid #a7894f;padding-left:26px}.variant-b h1:before{display:none}.variant-b .wrap{padding-bottom:50px}.policy-body{max-width:900px;margin:auto;padding:52px 0 80px;color:#263f52;font-size:16px;line-height:2.1;line-break:strict;overflow-wrap:anywhere}.policy-body h2{font:500 24px/1.7 ToyoSans,sans-serif;letter-spacing:.02em;margin:42px 0 20px;padding-bottom:15px;border-bottom:1px solid #ced8de;color:#19354e}.policy-body p+p{margin-top:20px}.policy-body ol{list-style:decimal;padding-left:1.7em;margin:18px 0}.policy-body li{padding-left:.45em;margin:12px 0}.policy-body a{text-decoration:underline;text-underline-offset:4px}.policy-body .policy-intro{margin-bottom:34px}.kv-note{max-width:1200px;margin:24px auto;color:#526879;font-size:14px}.kv-note a{text-decoration:underline}footer .footer-policy{margin-left:auto}footer .footer-policy+a{margin-left:0}
@media(max-width:1279px){.policy-body{max-width:900px;margin-left:auto;margin-right:auto;width:calc(100% - 96px)}}
@media(max-width:980px){.policy-body{width:calc(100% - 64px)}.policy-kv h1{font-size:36px}.kv-note{margin:24px 32px}}
@media(min-width:601px) and (max-width:980px){footer{display:grid;grid-template-columns:220px 1fr;gap:20px 30px;align-items:center}footer p{margin:0}footer a{white-space:nowrap}footer .footer-policy{margin-left:0}}
@media(max-width:600px){.policy-kv .wrap{padding-top:16px;padding-bottom:28px}.policy-crumb{font-size:10px;gap:8px}.policy-kv h1{font-size:28px;line-height:1.65;letter-spacing:.02em;margin-top:24px}.policy-kv h1:before{width:28px;margin-bottom:16px}.variant-b h1{padding-left:18px}.variant-b .wrap{padding-bottom:32px}.policy-body{width:auto;margin:0 24px;padding:34px 0 54px;font-size:15px;line-height:2}.policy-body h2{font-size:20px;line-height:1.7;margin:32px 0 18px;padding-bottom:12px}.policy-body ol{padding-left:1.55em}.policy-body li{padding-left:.3em;margin:13px 0}.policy-body .policy-intro{margin-bottom:28px}.kv-note{margin:20px 24px;font-size:13px}}

.title-phrase{display:inline-block}

/* C132: existing brand motif, softly cropped in the title band only. */
.policy-kv{position:relative;isolation:isolate;overflow:hidden;background:#f5f6f6}
.policy-kv:after{content:'';position:absolute;z-index:-1;pointer-events:none;width:2000px;height:2043px;left:calc(50% - 1000px);top:-1100px;background:url('../f01_final_20261006/assets/brand-symbol.svg') no-repeat center / contain;opacity:.15}
.policy-kv h1:before{visibility:hidden}
@media(max-width:980px){.policy-kv:after{width:1500px;height:1532px;left:calc(50% - 740px);top:-800px}}
@media(max-width:600px){.policy-kv:after{width:1050px;height:1073px;left:calc(50% - 530px);top:-530px}}

/* C133: smaller motif reveals more of the original curve. */
.policy-kv:after{width:1400px;height:1430px;left:calc(50% - 660px);top:-660px}
@media(max-width:980px){.policy-kv:after{width:1050px;height:1073px;left:calc(50% - 490px);top:-460px}}
@media(max-width:600px){.policy-kv:after{width:720px;height:736px;left:calc(50% - 330px);top:-310px}}

/* C134: desktop only; retain the approved mobile placement. */
@media(min-width:981px){.policy-kv:after{left:calc(50% - 960px)}}

/* Six independent drafts: original copy and table relationships retained. */
.policy-body #content-wrap,.policy-body #content-wrap02{width:auto;max-width:none;margin:0;padding:0}
.policy-body h3{font:500 19px/1.8 ToyoSans,sans-serif;margin:30px 0 14px;color:#19354e}
.policy-body table{width:100%;border-collapse:collapse;margin:22px 0;font-size:15px;line-height:1.9;table-layout:fixed}
.policy-body th,.policy-body td{border:1px solid #ced8de;padding:18px 20px;vertical-align:top;text-align:left;overflow-wrap:anywhere}
.policy-body th{background:#f2f5f6;font-weight:500}.policy-body .text-r01,.policy-body .text-r02,.policy-body .basic-policy-txt{text-align:right;margin-top:24px}
.policy-body .toiawase-wrap{border-top:1px solid #ced8de;border-bottom:1px solid #ced8de;padding:6px 0 24px;margin:32px 0}
.policy-body .toiawase-wrap h3{margin-top:18px}.policy-body #content-wrap>br{display:none}
.policy-body .h2-title{margin-top:76px;padding-top:30px;border-top:2px solid #19354e;font-size:28px}
.policy-body .customer-oriented-table th:last-child,.policy-body .customer-oriented-table td:last-child{width:110px;text-align:center;white-space:nowrap}
.policy-body .table-scroll{overflow-x:auto;margin:20px 0;scrollbar-color:#879da9 #edf2f4}
.policy-body .table-scroll table{min-width:680px;margin:0}.table-scroll:focus-visible{outline:2px solid #19354e;outline-offset:4px}
.policy-body .points-remember>table th{width:120px}
.policy-links{max-width:900px;margin:0 auto 64px;border-top:1px solid #ced8de;padding-top:24px}
.policy-links h2{font:500 18px ToyoSans,sans-serif;margin-bottom:14px}.policy-links a{display:block;padding:10px 0;font-size:14px;line-height:1.8;text-decoration:underline;text-underline-offset:4px}.policy-links a[aria-current]{font-weight:700;text-decoration:none}
@media(max-width:980px){.policy-links{margin-left:32px;margin-right:32px}}
@media(max-width:600px){.policy-body th,.policy-body td{padding:13px 12px}.policy-body table{font-size:14px;line-height:1.85}.policy-body .customer-oriented-table th:last-child,.policy-body .customer-oriented-table td:last-child{width:66px}.policy-body h3{font-size:18px}.policy-body .h2-title{font-size:22px;margin-top:52px}.policy-links{margin:0 24px 44px}.policy-body .points-remember>table th{width:64px}.policy-kv h1 .title-phrase{max-width:100%}}

@media(max-width:600px){.policy-body .customer-oriented-table th:last-child,.policy-body .customer-oriented-table td:last-child{width:90px}.policy-body .points-remember>table th{width:84px}.table-scroll:before{content:'表は横にスクロールできます →';display:block;font-size:12px;color:#526879;margin-bottom:10px}.policy-kv h1 .title-phrase{letter-spacing:0}}

/* C140: contacts use spacing and aligned facts instead of repeated rules. */
.policy-body .contact-block{border:0;padding:0;margin:32px 0 44px}
.policy-body .contact-block h3{margin:0 0 18px;font-size:20px;line-height:1.7}
.policy-body .contact-line{display:block}.policy-body .contact-facts{margin:18px 0 0}
.policy-body .contact-facts>div{display:grid;grid-template-columns:90px minmax(0,1fr);column-gap:18px;margin:7px 0;align-items:baseline}
.policy-body .contact-facts dt,.policy-body .contact-facts dd{margin:0;padding:0}
.policy-body .contact-number,.policy-body .time-slots>span,.policy-body .contact-time{white-space:nowrap;font-variant-numeric:tabular-nums}
.policy-body .contact-number{font-weight:500;letter-spacing:.025em}
.policy-body .contact-hours{margin-top:22px}.policy-body .contact-hours p+p{margin-top:5px}
.policy-body .time-slots{display:flex;gap:12px 28px;flex-wrap:wrap}.policy-body .contact-note{font-size:14px;color:#526879;line-height:1.9}
.policy-body .contact-directory>div{margin:22px 0}.policy-body .association-contact{margin-top:26px}
@media(max-width:600px){.policy-body .contact-block h3{font-size:18px;margin-bottom:16px}.policy-body .contact-block{margin-top:28px;margin-bottom:36px}.policy-body .contact-facts>div{grid-template-columns:70px minmax(0,1fr);gap:12px}.policy-body .contact-directory>div{display:block;margin:24px 0}.policy-body .contact-directory dt{font-size:13px;color:#526879;margin-bottom:6px}.policy-body .contact-note{font-size:13px}.policy-body .contact-hours{margin-top:20px}.policy-body .time-slots{gap:6px 24px}}

/* C141: labels size to content; no fixed blank column after colon. */
.policy-body .contact-facts>div{grid-template-columns:max-content minmax(0,1fr);column-gap:4px}.policy-body .contact-hours .contact-hours-label{font-weight:500;margin-bottom:8px;color:#263f52}

/* C142: one contact format, labels above values and soft grouping. */
.policy-body .contact-block{background:#f1f5f6;border:0;padding:30px 32px;margin:28px 0 36px}
.policy-body .contact-block h3{font-size:20px;margin:0 0 12px;line-height:1.65}
.policy-body .contact-identity{line-height:1.85}
.policy-body .contact-facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:22px 32px;margin:22px 0 0}
.policy-body .contact-facts>div{display:block;margin:0;min-width:0}
.policy-body .contact-facts dt{font-size:13px;font-weight:500;color:#526879;line-height:1.6;margin:0 0 5px}
.policy-body .contact-facts dd{font-size:16px;line-height:1.8;margin:0}
.policy-body .contact-address{grid-column:1/-1}
.policy-body .time-slots{gap:0 18px;line-height:1.8}
.policy-body .contact-facts .contact-note{font-size:13px;margin-top:4px;line-height:1.65}
@media(max-width:600px){.policy-body .contact-block{padding:24px 20px;margin:24px 0 30px}.policy-body .contact-block h3{font-size:18px}.policy-body .contact-facts{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:20px}.policy-body .contact-facts dd{font-size:15px}.policy-body .contact-facts dt{margin-bottom:4px}.policy-body .time-slots{gap:0 16px}}
