.page-message{--amber:#8B7355;--amber-dark:#6B5444;--gold:#a68968;--ink:#3d3d3d;--bg:#f5f3f0;--paper:#fff;--line:#e8e0d4;--serif:'Noto Serif JP', serif;--gothic:'Hiragino Kaku Gothic ProN', 'Yu Gothic', Arial, sans-serif}.page-message .reveal{opacity:0;transform:translateY(36px);transition:opacity .9s cubic-bezier(.25,.46,.45,.94),transform .9s cubic-bezier(.25,.46,.45,.94)}.page-message .reveal.is-visible{opacity:1;transform:translateY(0)}.page-message .msg-hero{position:relative;padding:180px 60px 110px;background:linear-gradient(180deg,#efece7 0%,var(--bg) 100%);overflow:hidden}.page-message .msg-hero::before{content:'MESSAGE';position:absolute;top:110px;right:-20px;font-family:var(--serif);font-size:170px;letter-spacing:14px;color:rgb(139 115 85 / .06);font-weight:600;line-height:1;pointer-events:none;user-select:none}.page-message .msg-hero-inner{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1fr 340px;gap:80px;align-items:center}.page-message .hero-eyebrow{font-size:13px;letter-spacing:5px;color:var(--gold);font-weight:600;text-transform:uppercase;display:flex;align-items:center;gap:16px;margin-bottom:30px}.page-message .hero-eyebrow::after{content:'';width:56px;height:1px;background:var(--gold)}.page-message .hero-eyebrow .jp{font-family:var(--serif);letter-spacing:3px;font-size:13px;color:var(--amber)}.page-message .msg-hero h1{font-family:var(--serif);font-size:38px;font-weight:600;line-height:1.8;letter-spacing:2px;margin:0 0 36px;color:var(--ink)}.page-message .msg-hero h1 .accent{color:var(--amber)}.page-message .hero-name{display:flex;align-items:baseline;gap:18px;font-family:var(--serif)}.page-message .hero-name .company{font-size:14px;letter-spacing:2px;color:#777}.page-message .hero-name .name{font-size:24px;font-weight:600;letter-spacing:4px;color:var(--ink)}.page-message .portrait{aspect-ratio:3/4;background:#fff0;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.page-message .portrait img{width:100%;height:100%;object-fit:contain;object-position:top;display:block}.page-message .lead-quote{padding:110px 40px;background:var(--paper);text-align:center;position:relative}.page-message .lead-quote .q-inner{max-width:860px;margin:0 auto;position:relative;padding:0 40px}.page-message .lead-quote .q-mark{font-family:var(--serif);font-size:90px;line-height:1;color:rgb(139 115 85 / .18);display:block;margin-bottom:-30px;user-select:none}.page-message .lead-quote p{font-family:var(--serif);font-size:23px;line-height:2.3;letter-spacing:2px;color:var(--ink);margin:0 0 28px;font-weight:500}.page-message .lead-quote .q-sub{font-family:var(--serif);font-size:15px;letter-spacing:2px;color:var(--gold)}.page-message .lead-quote .q-sub::before{content:'';display:block;width:40px;height:1px;background:var(--gold);margin:0 auto 22px}.page-message .toc{padding:96px 40px;background:var(--bg)}.page-message .toc-inner{max-width:860px;margin:0 auto}.page-message .toc .eyebrow{font-size:12px;letter-spacing:4px;color:var(--gold);font-weight:600;text-transform:uppercase;text-align:center;margin-bottom:14px}.page-message .toc h2{font-family:var(--serif);font-size:26px;font-weight:600;text-align:center;letter-spacing:3px;margin:0 0 48px}.page-message .toc ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 48px;border-top:1px solid var(--line)}.page-message .toc li{border-bottom:1px solid var(--line)}.page-message .toc a{display:flex;align-items:baseline;gap:20px;padding:20px 8px;color:var(--ink);font-size:15px;letter-spacing:.5px;transition:all .3s;text-decoration:none}.page-message .toc a .no{font-family:var(--serif);font-size:13px;letter-spacing:2px;color:var(--gold);flex-shrink:0}.page-message .toc a:hover{color:var(--amber);padding-left:16px}.page-message .msg-section{padding:110px 40px}.page-message .msg-section.alt{background:var(--paper)}.page-message .msg-section.dark{background:var(--ink);color:#e9e4dc}.page-message .msg-inner{max-width:720px;margin:0 auto}.page-message .sec-head{margin-bottom:52px}.page-message .sec-no{font-family:var(--serif);font-size:14px;letter-spacing:4px;color:var(--gold);display:flex;align-items:center;gap:16px;margin-bottom:20px}.page-message .sec-no::after{content:'';width:48px;height:1px;background:var(--gold)}.page-message .msg-section h2{font-family:var(--serif);font-size:29px;font-weight:600;line-height:1.7;letter-spacing:2px;margin:0}.page-message .msg-section.dark h2{color:#f5f3f0}.page-message .msg-section p{font-size:15.5px;color:#4a4a4a;margin:0 0 1.6em;line-height:2}.page-message .msg-section.dark p{color:#cfc9c0}.page-message .msg-section p:last-child{margin-bottom:0}.page-message .msg-section[id]{scroll-margin-top:90px}.page-message .pull{margin:44px 0;padding:34px 38px;background:#faf8f5;border-left:3px solid var(--amber)}.page-message .msg-section.alt .pull{background:var(--bg)}.page-message .pull p{font-family:var(--serif);font-size:18px;line-height:2.1;letter-spacing:1px;color:var(--amber-dark);margin:0;font-weight:500}.page-message .msg-section.dark .pull{background:rgb(255 255 255 / .05);border-left-color:var(--gold)}.page-message .msg-section.dark .pull p{color:#e6d9c8}.page-message .value-list{list-style:none;margin:36px 0;padding:0}.page-message .value-list li{font-family:var(--serif);font-size:16.5px;letter-spacing:1px;padding:16px 0 16px 34px;border-bottom:1px solid var(--line);position:relative;color:var(--ink)}.page-message .value-list li::before{content:'';position:absolute;left:6px;top:50%;transform:translateY(-50%) rotate(45deg);width:7px;height:7px;background:var(--gold)}.page-message .value-list li:first-child{border-top:1px solid var(--line)}.page-message .towns{font-family:var(--serif);font-size:17px;letter-spacing:3px;line-height:2.4;text-align:center;color:var(--amber-dark);margin:0 0 40px;padding:26px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.page-message .grand-quote{margin:56px 0;text-align:center}.page-message .grand-quote .bar{width:1px;height:48px;background:var(--gold);margin:0 auto 30px}.page-message .grand-quote p{font-family:var(--serif);font-size:24px;line-height:2.1;letter-spacing:2.5px;color:#f0e8db;margin:0;font-weight:600}.page-message .signature{padding:100px 40px 120px;background:var(--paper);text-align:center}.page-message .signature .sig-rule{width:1px;height:56px;background:var(--gold);margin:0 auto 36px}.page-message .signature .promise{font-family:var(--serif);font-size:19px;letter-spacing:2px;line-height:2.4;margin:0 0 48px;color:var(--ink)}.page-message .signature .company{font-family:var(--serif);font-size:14px;letter-spacing:3px;color:#777;margin:0 0 10px}.page-message .signature .name{font-family:var(--serif);font-size:30px;font-weight:600;letter-spacing:8px;color:var(--ink);margin:0}.page-message .signature .name small{font-size:15px;letter-spacing:2px;color:var(--gold);margin-right:18px;font-weight:500}.page-message .concept-cta{background:var(--ink);color:#fff;text-align:center;padding:96px 40px}.page-message .concept-cta .eyebrow{font-size:12px;letter-spacing:4px;color:#e6bfab;font-weight:600;text-transform:uppercase;margin-bottom:18px}.page-message .concept-cta .eyebrow::after{content:'';display:block;width:40px;height:1px;background:#e6bfab;margin:16px auto 0}.page-message .concept-cta h2{font-family:var(--serif);font-size:28px;font-weight:600;letter-spacing:2px;line-height:1.8;margin:0 0 18px;color:#f5f3f0}.page-message .concept-cta p{color:#b8b0a6;font-size:14.5px;margin:0 0 40px}.page-message .btn-concept{display:inline-flex;align-items:center;gap:14px;white-space:nowrap;font-family:var(--serif);font-size:15px;letter-spacing:2px;color:#f5f3f0;border:1px solid #f5f3f0;padding:18px 52px;text-decoration:none;transition:all .35s cubic-bezier(.25,.46,.45,.94)}.page-message .btn-concept::after{content:'\2192';transition:transform .35s}.page-message .btn-concept:hover{background:#f5f3f0;color:var(--ink)}.page-message .btn-concept:hover::after{transform:translateX(6px)}@media (max-width:1000px){.page-message .msg-hero{padding:130px 24px 80px}.page-message .msg-hero-inner{grid-template-columns:1fr;gap:48px}.page-message .portrait{max-width:300px}.page-message .msg-hero h1{font-size:28px}.page-message .msg-hero::before{font-size:90px;top:80px}.page-message .toc ol{grid-template-columns:1fr}.page-message .msg-section{padding:72px 24px}.page-message .msg-section h2{font-size:23px}.page-message .lead-quote{padding:72px 24px}.page-message .lead-quote p{font-size:19px}.page-message .pull{padding:26px 24px}.page-message .grand-quote p{font-size:20px}}