:root{--base: #1A3550;--sub01: #2E4860;--sub02: #6F7F8C;--accent01: #B85C3A;--accent01-deep: #8E4528;--accent01-soft: #E5B098;--accent01-pale: #F5DDD0;--accent02: #1F4F7A;--accent02-deep: #0F3050;--accent02-pale: #D8E2EB;--gold: #C99650;--gold-deep: #A87A3A;--border: #C9D0D8;--border-soft: #E5E8EC;--bg01: #F7F2E8;--bg02: #EDE5D2;--bg03: #1F4F7A;--bg04: #D8E2EB;--paper: #FFFFFF;--paper-2: #FCFCFC;--paper-3: #FAFAFA;--ink: #1A3550;--ink-soft: #2E4860;--ink-light: #6F7F8C;--navy: #1A3550;--line-height-en: 1;--line-height-head: 1.55;--line-height-base: 1.95;--ls-en: .05em;--ls-head: .08em;--ls-base: .08em;--content-w: 1180px;--content-w-padded: 1280px;--pad-side: 56px;--grad-text: linear-gradient(120deg, #1A3550 0%, #1F4F7A 100%);--grad-soft: linear-gradient(180deg, #FFFFFF 0%, #F7F2E8 100%)}*{box-sizing:border-box;margin:0;padding:0}html{font-size:62.5%;scroll-behavior:smooth}body{font-family:Noto Sans JP,ヒラギノ角ゴ ProN W3,Meiryo,sans-serif;color:var(--base);font-size:1.55rem;font-weight:400;line-height:var(--line-height-base);letter-spacing:var(--ls-base);background:var(--paper-2);-webkit-font-smoothing:antialiased;overflow-x:hidden}@media(min-width:768px){body{font-size:1.6rem}}a{color:inherit;text-decoration:none;transition:color .3s}img{max-width:100%;display:block;height:auto;vertical-align:bottom}h1,h2,h3,h4,h5,h6{font-family:Shippori Mincho B1,"Noto Serif JP",serif;font-weight:600;line-height:var(--line-height-head);letter-spacing:var(--ls-head);color:var(--ink)}.u-font-en{font-family:Cormorant Garamond,serif;font-style:italic;letter-spacing:.04em}.u-font-serif{font-family:Shippori Mincho B1,serif}.u-font-klee{font-family:Klee One,Klee,Shippori Mincho B1,serif}.u-uppercase{text-transform:uppercase}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;background:#fffffff0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border-soft);transition:padding .3s,background .3s,box-shadow .3s;padding:14px 36px;display:flex;align-items:center;justify-content:space-between;gap:24px}.site-header.shrink{padding:9px 36px;background:#fffffffa;box-shadow:0 4px 18px #1a355012}.header-info,.header-logo{display:flex;align-items:center;gap:12px}.header-logo-mark{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:#fff;border-radius:10px;box-shadow:0 2px 10px #1a35501a}.header-logo-text{display:flex;flex-direction:column;line-height:1.2}.header-logo-jp{font-family:Shippori Mincho B1,serif;font-weight:600;font-size:15px;letter-spacing:.06em;color:var(--ink)}.header-logo-en{font-family:Cormorant Garamond,serif;font-style:italic;font-weight:400;font-size:10px;letter-spacing:.2em;color:var(--gold-deep);margin-top:2px;text-transform:uppercase}.main-nav{display:flex;align-items:center;gap:14px;white-space:nowrap}.main-nav a{font-family:Noto Sans JP,sans-serif;font-weight:500;font-size:12.5px;letter-spacing:.04em;color:var(--ink);position:relative;padding:6px 0}.main-nav a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--accent02);transition:width .3s ease}.main-nav a:hover:after{width:100%}.main-nav a:hover{color:var(--accent02-deep)}.nav-toggle{display:none;width:44px;height:44px;background:transparent;border:1.5px solid var(--ink);border-radius:50%;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:4px}.nav-toggle span{display:block;width:18px;height:1.6px;background:var(--ink);transition:all .3s}main{min-height:60vh;padding-top:78px;position:relative}.hero-full{position:relative;width:100%;height:100vh;min-height:100vh;overflow:hidden;margin-top:-78px}.hero-full .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}.hero-full .hero-overlay{position:absolute;inset:0;background:linear-gradient(120deg,#0f30509e,#0f305059,#1f4f7a4d);z-index:2}.hero-full .hero-bridge{position:absolute;bottom:0;left:0;right:0;z-index:3;pointer-events:none;opacity:.55}.hero-full .hero-bridge svg{width:100%;height:auto;display:block}.hero-full .hero-copy{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:0 24px;color:#fff}.hero-full .copy-en{font-family:Cormorant Garamond,serif;font-style:italic;font-size:clamp(14px,1.5vw,18px);letter-spacing:.34em;color:#ffffffd9;margin-bottom:18px;text-transform:uppercase}.hero-full h1{font-family:Shippori Mincho B1,serif;font-weight:600;font-size:clamp(28px,4.6vw,56px);line-height:1.5;color:#fff;letter-spacing:.06em;margin-bottom:24px;text-shadow:0 2px 20px rgba(15,48,80,.4)}.hero-full h1 .accent{color:var(--gold)}.hero-full .copy-lead{font-family:Noto Sans JP,sans-serif;font-size:clamp(13px,1.3vw,15.5px);line-height:2;color:#ffffffeb;max-width:720px;margin:0 auto 32px;font-weight:400}.hero-full .hero-actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 30px;border-radius:100px;font-family:Noto Sans JP,sans-serif;font-weight:500;font-size:13.5px;letter-spacing:.08em;transition:all .3s;cursor:pointer;border:none}.btn-primary{background:var(--accent01);color:#fff;box-shadow:0 6px 18px #b85c3a52}.btn-primary:hover{background:var(--accent01-deep);transform:translateY(-2px);box-shadow:0 10px 24px #b85c3a6b}.btn-outline{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.7)}.btn-outline:hover{background:#ffffff1a;border-color:#fff}.btn-gold{background:var(--gold);color:#fff;box-shadow:0 6px 18px #c9965052}.btn-gold:hover{background:var(--gold-deep);transform:translateY(-2px)}.block{width:100%;padding:100px 24px;position:relative}.block.paper{background:var(--paper)}.block.paper2{background:var(--paper-2)}.block.paper3,.block.washi{background:var(--bg01)}.inner{max-width:var(--content-w);margin:0 auto}.section-head{text-align:center;margin-bottom:60px}.section-head .sec-en{font-family:Cormorant Garamond,serif;font-style:italic;font-size:14px;letter-spacing:.34em;color:var(--gold-deep);margin-bottom:12px;text-transform:uppercase}.section-head h2{font-family:Shippori Mincho B1,serif;font-size:clamp(26px,3.2vw,36px);font-weight:600;color:var(--ink);line-height:1.5;letter-spacing:.08em}.section-head h2 .accent{color:var(--accent02)}.section-head .sec-lead{margin-top:24px;font-family:Noto Sans JP,sans-serif;font-size:15px;line-height:2;color:var(--sub01);max-width:720px;margin-left:auto;margin-right:auto}.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.svc-card{background:var(--paper);border:1px solid var(--border-soft);border-radius:14px;padding:36px 28px;transition:all .4s;position:relative}.svc-card:hover{transform:translateY(-6px);box-shadow:0 22px 48px -16px #1f4f7a33;border-color:var(--accent02-pale)}.svc-card .svc-num{font-family:Cormorant Garamond,serif;font-style:italic;font-size:48px;font-weight:400;color:var(--gold);line-height:1;margin-bottom:16px;opacity:.85}.svc-card h3{font-family:Shippori Mincho B1,serif;font-size:19px;font-weight:600;color:var(--ink);margin-bottom:14px;letter-spacing:.06em}.svc-card p{font-size:14px;line-height:1.95;color:var(--sub01)}.svc-card .svc-link{display:inline-flex;align-items:center;gap:6px;margin-top:18px;font-size:13px;font-weight:500;color:var(--accent02-deep)}.svc-card .svc-link:hover{color:var(--accent01)}@media(max-width:980px){.svc-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.svc-grid{grid-template-columns:1fr}}.table-styled{width:100%;border-collapse:collapse;background:var(--paper);border-radius:10px;overflow:hidden;box-shadow:0 4px 14px #1a35500f}.table-styled th,.table-styled td{padding:16px 22px;text-align:left;border-bottom:1px solid var(--border-soft);font-size:14.5px;line-height:1.85}.table-styled th{background:var(--bg01);color:var(--ink);font-family:Shippori Mincho B1,serif;font-weight:600;width:32%;letter-spacing:.06em}.table-styled td{color:var(--sub01)}.table-styled tr:last-child th,.table-styled tr:last-child td{border-bottom:none}.site-footer{background:var(--accent02-deep);color:#e0e8f0;padding:80px 24px 30px}.footer-inner{max-width:var(--content-w);margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:40px}.footer-brand .footer-script{font-family:Cormorant Garamond,serif;font-style:italic;font-size:28px;color:var(--gold);letter-spacing:.14em;margin-bottom:6px}.footer-brand .footer-name{font-family:Shippori Mincho B1,serif;font-weight:600;font-size:16px;color:#fff;margin-bottom:14px;letter-spacing:.06em}.footer-brand .footer-tag{font-size:13px;line-height:1.95;color:#e0e8f0d6;margin-bottom:22px}.footer-brand .footer-addr{font-size:12.5px;line-height:1.85;color:#e0e8f0c7;margin-bottom:12px}.footer-brand .footer-addr strong{color:var(--gold);font-weight:500;letter-spacing:.06em}.footer-col-title{font-family:Cormorant Garamond,serif;font-style:italic;font-size:13px;letter-spacing:.2em;color:var(--gold);margin-bottom:18px;text-transform:uppercase}.footer-col a{display:block;font-size:13px;color:#e0e8f0d6;margin-bottom:10px;transition:color .3s}.footer-col a:hover{color:var(--gold)}.footer-area{font-size:12.5px;color:#e0e8f0d1;line-height:1.85;margin-bottom:8px}.footer-area strong{color:var(--gold);font-weight:500;letter-spacing:.06em}.footer-area-note{font-size:11.5px;color:#e0e8f09e;line-height:1.7;margin-top:8px}.footer-bottom{max-width:var(--content-w);margin:60px auto 0;padding-top:24px;border-top:1px solid rgba(224,232,240,.16);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}.footer-copy,.footer-note{font-family:Cormorant Garamond,serif;font-style:italic;font-size:11.5px;color:#e0e8f09e;letter-spacing:.1em}@media(max-width:980px){.footer-inner{grid-template-columns:1fr 1fr}}@media(max-width:640px){.footer-inner{grid-template-columns:1fr}}.reveal,.reveal-up,.reveal-scale{opacity:0;transform:translateY(20px);transition:opacity .8s,transform .8s cubic-bezier(.16,.84,.44,1)}.reveal.in,.reveal-up.in,.reveal-scale.in{opacity:1;transform:translateY(0)}@media(max-width:980px){.nav-toggle{display:flex}.main-nav{position:fixed;top:0;right:-100%;width:320px;height:100vh;background:#fff;flex-direction:column;align-items:flex-start;padding:80px 30px 30px;transition:right .4s;box-shadow:-10px 0 40px #1a35501f;overflow-y:auto}.main-nav.open{right:0}.main-nav a{font-size:14px;padding:10px 0;width:100%;border-bottom:1px solid var(--border-soft)}}@media(max-width:640px){.site-header{padding:12px 18px}.block{padding:70px 18px}.hero-full h1{font-size:28px;line-height:1.55}}
