/* PLUS v20: responsive legal and returns pages, checkout disclosure */
.policy-v20{background:#faf9f5;color:#2c352e}.policy-hero{padding:80px 0 65px;position:relative;overflow:hidden}
.policy-hero-grid{display:grid;grid-template-columns:minmax(0,1.33fr) minmax(270px,.72fr);gap:60px;align-items:center}
.policy-kicker,.policy-section-num{font-family:Arial,sans-serif;font-size:11px;letter-spacing:.2em;font-weight:750;color:#ad8d59;display:block}
.policy-hero h1{font-family:Georgia,'Noto Serif JP',serif;font-size:clamp(32px,4.3vw,60px);line-height:1.5;letter-spacing:.02em;font-weight:500;margin:25px 0 22px}
.policy-hero p{font-size:15px;line-height:2.1;max-width:580px;color:#59675b}.policy-breadcrumb{font-size:11px;letter-spacing:.1em;margin-top:35px;color:#697b6d}.policy-breadcrumb a{color:inherit}
.policy-hero-side{border:1px solid rgba(194,151,100,.55);border-radius:150px 150px 7px 7px;min-height:310px;padding:52px 26px 40px;text-align:center;display:flex;flex-direction:column;gap:18px;justify-content:center;background:rgba(255,255,255,.5);box-shadow:0 22px 50px rgba(46,53,44,.04)}
.policy-hero-side span{font-size:9px;letter-spacing:.2em;color:#a8875b}.policy-hero-side strong{font-family:Georgia,'Noto Serif JP',serif;font-size:26px;line-height:1.6;letter-spacing:.02em;font-weight:500}.policy-hero-side small{font-size:12px;line-height:1.8;color:#747f73}
.returns-hero{background:linear-gradient(110deg,#f5efe6,#fbfaf7)}.legal-hero{background:linear-gradient(115deg,#e9ede5,#f7f4ec)}.privacy-hero{background:linear-gradient(110deg,#f0ece5,#f7f7f1)}
.policy-v20-content{padding:68px 0 105px}.policy-v20-layout{max-width:1120px}.policy-draft{border-left:4px solid #c9956f;background:#fff5e9;padding:18px 22px;color:#61513f;font-size:13px;line-height:1.9;margin-bottom:39px}.policy-draft b{font-weight:800}
.policy-lead{font-family:Georgia,'Noto Serif JP',serif;font-size:clamp(22px,2.3vw,30px);margin:0 0 33px;line-height:1.5;letter-spacing:.02em}
.policy-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 58px}.policy-cards article{padding:27px;background:white;border:1px solid #e8e2d8;min-width:0}.policy-cards article>span{color:#ae8a5d;font-size:10px;letter-spacing:.16em}.policy-cards h2{font-family:Georgia,'Noto Serif JP',serif;font-size:22px;margin:18px 0 14px;font-weight:500}.policy-cards p{font-size:12px;line-height:2;color:#667065}
.policy-long{max-width:930px;margin:auto}.policy-part{padding:45px 0 46px;border-top:1px solid #d9ded4;scroll-margin-top:100px}.policy-part h2{font-family:Georgia,'Noto Serif JP',serif;font-weight:500;font-size:clamp(21px,2.2vw,29px);line-height:1.6;letter-spacing:.02em;margin:17px 0 23px}.policy-part p,.policy-part li{font-size:14px;line-height:2.05;color:#505a52;margin:0 0 15px}.policy-part strong{color:#294f3b}.policy-part a{color:#2f6045;text-underline-offset:4px}.policy-part ul{padding-left:23px;margin:18px 0}.policy-part li{padding-left:4px;margin:5px 0}
.policy-highlight,.policy-soft-warning{padding:21px 25px;border:1px solid #e0d5bd;background:#faf3e7;color:#665539;line-height:1.9;font-size:13px;margin-top:22px}.policy-soft-warning{background:#eef2eb;border-color:#d5e2d5;color:#315440}.policy-mini{font-size:12px;line-height:1.9;color:#777f72;padding:23px 0}.policy-table-wrap{overflow-x:auto}.policy-table{width:100%;border-collapse:collapse;font-size:13px}.policy-table th{background:#edf1eb;color:#355641;width:27%;text-align:left;font-weight:750}.policy-table td{background:white}.policy-table th,.policy-table td{padding:18px 22px;border:1px solid #e5e8e0;vertical-align:top;line-height:1.8;overflow-wrap:anywhere}.policy-table td small{font-size:11px;color:#788077}.policy-action-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:27px}.policy-action-links a,.policy-link-button{background:#304e3c;color:white!important;text-decoration:none!important;padding:12px 18px;font-size:12px;display:inline-block;border-radius:3px}.policy-action-links a:hover,.policy-link-button:hover{background:#43634e}
.checkout-policy-v20{margin:15px 0 25px;background:#f7f5ed;border:1px solid #e3dbc9;border-radius:9px;padding:25px 28px}.checkout-policy-header>span{color:#a58054;font-size:10px;letter-spacing:.14em}.checkout-policy-header h2{font-family:Georgia,'Noto Serif JP',serif;margin:10px 0 15px;font-size:21px}.checkout-policy-v20 p{line-height:1.85;font-size:12px;color:#526354}.checkout-policy-links{display:flex;flex-wrap:wrap;gap:12px 20px;margin:14px 0}.checkout-policy-links a{font-size:12px;color:#315f43;text-decoration:underline;text-underline-offset:4px}.checkout-policy-checkbox{display:flex;align-items:flex-start;gap:10px;font-size:12px;font-weight:750;line-height:1.7;margin:18px 0 6px;color:#2e4b38;cursor:pointer}.checkout-policy-checkbox input{accent-color:#355b42;width:18px;height:18px;flex:0 0 18px;margin-top:2px}.checkout-policy-checkbox input.is-invalid{outline:2px solid #b6504c;outline-offset:2px}.checkout-policy-v20 small{font-size:11px;color:#77756d}.checkout-policy-review{border:1px solid #d8dfd2;background:#f4f7f2;padding:19px 22px;margin:15px 0 20px;font-size:13px;line-height:1.8}.checkout-policy-review p{color:#536455;line-height:1.8;margin:6px 0}.checkout-policy-review a{color:#315f43}.checkout-policy-review-note{font-size:11px}.cart-policy-hint{margin:24px auto;max-width:1200px;background:#f1f4ed;border:1px solid #e1e5db;padding:16px 20px;font-size:12px;line-height:1.8;color:#416049}.cart-policy-hint a{font-weight:bold;color:#2d6444;text-underline-offset:3px}
@media(max-width:800px){.policy-hero-grid{grid-template-columns:1fr;gap:28px}.policy-hero{padding:55px 0 45px}.policy-hero-side{min-height:auto;border-radius:7px;flex-direction:column;padding:22px}.policy-hero-side strong{font-size:19px}.policy-v20-content{padding:42px 0 75px}.policy-cards{grid-template-columns:1fr;gap:9px}.policy-cards article{padding:22px}.policy-part{padding:31px 0}.policy-table th,.policy-table td{padding:11px 13px;font-size:12px}.policy-table th{width:32%}.checkout-policy-v20{padding:20px 18px}}
@media(max-width:480px){.policy-hero h1{font-size:32px}.policy-hero p{font-size:13px}.policy-v20-layout{padding-left:19px;padding-right:19px}.policy-table th{min-width:108px}.policy-table td{min-width:220px}.policy-breadcrumb{margin-top:24px}.policy-long{width:100%}.policy-part p{font-size:13px}.policy-part h2{font-size:22px}.policy-cards h2{font-size:20px}}
