:root{--ink: #1e3a5f;--ink-deep: #142944;--ink-soft: #3a5274;--cream: #f5ede0;--cream-warm: #faf3e6;--cream-deep: #ebe0cc;--paper: #fcf8f0;--sakura: #f0c4c4;--sakura-deep: #8f4f54;--muted: #5f5a52;--line: rgba(30, 58, 95, .15);--line-soft: rgba(30, 58, 95, .08);--font-serif: "Cormorant Garamond", "Hiragino Mincho ProN", "Yu Mincho", serif;--font-sans: "Inter", -apple-system, sans-serif;--font-jp: "Noto Sans JP", "Hiragino Sans", sans-serif;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 64px;--s-9: 80px;--s-10: 96px;--s-11: 120px;--s-12: 160px}*{box-sizing:border-box}html,body{margin:0;padding:0;overflow-x:hidden}html{scroll-behavior:smooth;scroll-padding-top:86px}body{font-family:var(--font-sans);color:var(--ink);background:var(--cream);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{max-width:100%;display:block}.hero-seo-image{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.app-fallback{min-height:100svh;display:grid;place-content:center;gap:var(--s-3);padding:var(--s-6);text-align:center;background:var(--cream);color:var(--ink)}.app-fallback h1{font-family:var(--font-serif);font-size:clamp(2rem,6vw,3.2rem);margin:0}.app-fallback p{max-width:460px;margin:0 auto;color:var(--ink-soft)}.app-fallback a{color:var(--ink);font-weight:600;text-underline-offset:3px}.material-symbols-rounded.icon{display:inline-flex;align-items:center;justify-content:center;font-family:Material Symbols Rounded;width:1em;height:1em;line-height:1;font-weight:400;font-style:normal;letter-spacing:normal;text-transform:none;white-space:nowrap;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.container{width:100%;max-width:1240px;margin:0 auto;padding:0 var(--s-6)}.display{font-family:var(--font-serif);font-weight:500;font-size:clamp(2.6rem,6.5vw,5.4rem);line-height:1.04;letter-spacing:-.015em;text-wrap:balance}.h-display{font-family:var(--font-serif);font-weight:500;font-size:clamp(2rem,4.2vw,3.4rem);line-height:1.08;letter-spacing:-.012em;text-wrap:balance;margin:0}.h-medium{font-family:var(--font-serif);font-weight:500;font-size:clamp(1.4rem,2.4vw,1.85rem);line-height:1.2;margin:0}.lead{font-size:1.05rem;line-height:1.75;color:var(--ink-soft);margin:0 0 var(--s-4);text-wrap:pretty}p{text-wrap:pretty}.kicker{font-family:var(--font-sans);font-size:.72rem;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--muted);display:inline-flex;align-items:center;gap:var(--s-3)}.kicker-num{color:var(--ink);font-weight:600}.kicker-line{display:inline-block;width:36px;height:1px;background:var(--line)}.jp-sub{font-family:var(--font-jp);font-style:italic;color:var(--sakura-deep);font-size:clamp(1rem,1.6vw,1.25rem);font-weight:300;margin-top:var(--s-3);letter-spacing:.04em}.btn{display:inline-flex;align-items:center;gap:var(--s-2);padding:14px 26px;font-family:var(--font-sans);font-size:.92rem;font-weight:500;letter-spacing:.05em;border:1px solid transparent;border-radius:999px;cursor:pointer;transition-property:background-color,border-color,color,transform;transition-duration:.25s;transition-timing-function:ease;text-decoration:none;color:inherit}.btn-primary{background:var(--ink);color:var(--cream)}.btn-primary:hover{background:var(--ink-deep);transform:translateY(-1px)}.hero-actions .btn-primary{background:linear-gradient(135deg,#fbf1e3,#f5d7cf);color:var(--ink);border-color:#ffffffb8;box-shadow:0 14px 34px #040e1c6b,0 0 0 1px #ffffff2e inset}.hero-actions .btn-primary:hover{background:linear-gradient(135deg,#fff7ea,#f8c8c1);border-color:#ffffffe6;box-shadow:0 18px 42px #040e1c80,0 0 0 1px #ffffff47 inset;transform:translateY(-2px)}.btn-ghost-light{background:transparent;color:#fff;border-color:#fff9}.btn-ghost-light:hover{background:#ffffff1a}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn-ghost:hover{background:var(--line-soft)}.go-top{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:90;width:52px;height:52px;display:inline-flex;align-items:center;justify-content:center;color:var(--cream);background:var(--ink);border:1px solid rgba(245,237,224,.42);border-radius:999px;box-shadow:0 18px 42px #040e1c47;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(12px) scale(.94);transition-property:opacity,transform,background-color,border-color,color;transition-duration:.24s;transition-timing-function:ease}.go-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.go-top:hover{color:var(--ink);background:var(--cream);border-color:#1e3a5f3d;transform:translateY(-2px) scale(1)}.section{position:relative;padding:var(--s-12) 0;overflow:hidden}.app.dense .section{padding:var(--s-10) 0}.section-cream{background:var(--cream);color:var(--ink)}.section-warm{background:var(--cream-warm);color:var(--ink)}.section-paper{background:var(--paper);color:var(--ink)}.section-ink{background:var(--ink-deep);color:var(--cream)}.section-ink .lead{color:#f5ede0cc}.section-ink .kicker{color:#f5ede08c}.section-ink .kicker-num{color:var(--cream)}.section-ink .kicker-line{background:#f5ede040}.section-ink .jp-sub{color:var(--sakura)}.section-wedding{position:relative;padding:var(--s-12) 0;overflow:hidden;min-height:600px;display:flex;align-items:center}.hero-section{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;color:#fff;background:#1a2538}.hero-bg,.hero-glow,.hero-shade{position:absolute;inset:0}.hero-bg{background-size:cover;background-position:center 42%;filter:saturate(1.06) contrast(1.02) brightness(1.03);transform:scale(1.02)}.hero-glow{background:linear-gradient(90deg,#081220b8,#08122061,#08122014 72%,#08122005),linear-gradient(180deg,#f5b48c00,#0e1c301a 42%,#0a182bad)}.hero-shade{top:auto;height:52%;background:linear-gradient(180deg,#0d1a2e00,#0d1a2e9e 70%,#0d1a2ee0)}.hero-container{position:relative;z-index:2;padding-top:var(--s-10);padding-bottom:var(--s-12)}.hero-copy{width:min(860px,100%)}.hero-kicker{color:#ffffffe0;margin-bottom:var(--s-4)}.hero-kicker-line{display:inline-block;width:36px;height:1px;background:#ffffffb8;margin-right:14px}.hero-title{color:#fff;margin:0;max-width:100%;overflow-wrap:normal;text-shadow:0 2px 22px rgba(4,14,28,.58)}.hero-title em{color:var(--sakura);font-style:italic}.hero-sub-jp{font-family:var(--font-jp);font-size:1.05rem;color:#fffc;margin-top:var(--s-4);letter-spacing:.05em;font-style:italic;overflow-wrap:anywhere;text-shadow:0 2px 14px rgba(4,14,28,.55)}.hero-sub{color:#ffffffe6;font-size:1.15rem;line-height:1.7;max-width:600px;margin:var(--s-6) 0 0;text-wrap:pretty;text-shadow:0 2px 14px rgba(4,14,28,.55)}.hero-actions{display:flex;gap:var(--s-3);margin-top:var(--s-7);flex-wrap:wrap}.hero-branch{position:absolute;pointer-events:none}.hero-branch-top{top:0;right:0;opacity:.55}.hero-branch-bottom{bottom:60px;left:-40px;opacity:.4}.hero-scroll{position:absolute;bottom:24px;left:50%;transform:translate(-50%);z-index:2;color:#ffffff9e;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11px;letter-spacing:.3em;text-transform:uppercase}.nav{position:fixed;top:0;left:0;right:0;z-index:100;transition-property:background-color,box-shadow,padding;transition-duration:.3s;transition-timing-function:ease;padding:var(--s-4) 0;background:transparent}.nav:not(.nav-scrolled){background-color:#081220b8;background-image:linear-gradient(180deg,#081220b8,#0812206b);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.nav-scrolled{background:#f5ede0eb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line-soft);padding:var(--s-3) 0}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--s-6);min-width:0}.nav-brand{display:flex;align-items:center;gap:var(--s-3);background:none;border:none;cursor:pointer;padding:0;color:var(--ink);text-decoration:none}.nav-brand-logo{width:52px;height:52px;display:inline-grid;place-items:center;overflow:hidden;flex:0 0 auto;position:relative}.nav-brand-logo-img{width:100%;height:100%;object-fit:contain;transform:translate(-2px) scale(1.22);transform-origin:center;display:block;grid-area:1 / 1;transition:opacity .2s ease}.nav-brand-logo-img-negative{opacity:0}.nav:not(.nav-scrolled) .nav-brand-logo-img-normal{opacity:0}.nav:not(.nav-scrolled) .nav-brand-logo-img-negative{opacity:1}.nav-scrolled .nav-brand,.nav-scrolled .nav-link,.nav-scrolled .lang-btn,.nav-scrolled .nav-mobile-toggle{color:var(--ink)}.nav:not(.nav-scrolled) .nav-brand,.nav:not(.nav-scrolled) .nav-link,.nav:not(.nav-scrolled) .lang-btn,.nav:not(.nav-scrolled) .nav-mobile-toggle{color:#fff}.nav:not(.nav-scrolled) .nav-brand :is(svg){color:#fff}.nav:not(.nav-scrolled) .nav-brand svg circle,.nav:not(.nav-scrolled) .nav-brand svg path:not([fill="#faf6ec"]):not([fill="#c98284"]){stroke:#fff}.nav-brand-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1}.nav-brand-main{font-family:var(--font-serif);font-size:1.1rem;font-weight:600;letter-spacing:.18em}.nav-brand-sub{font-family:var(--font-serif);font-style:italic;font-size:.95rem;font-weight:400;margin-top:2px;opacity:.85}.nav-links{display:flex;gap:var(--s-6)}.nav-link{background:none;border:none;cursor:pointer;font-family:var(--font-sans);font-size:.85rem;font-weight:500;letter-spacing:.04em;padding:14px 0;position:relative;transition:opacity .2s;text-decoration:none}.nav-link:hover{opacity:.7}.mobile-link{padding:14px 0}.nav-actions{display:flex;align-items:center;gap:var(--s-3);flex-shrink:0}.nav-mobile-toggle{display:none;background:none;border:none;cursor:pointer;width:48px;height:48px;padding:0;align-items:center;justify-content:center;border-radius:999px;color:inherit}.lang-switcher{position:relative}.lang-switcher summary,.mobile-nav-details summary{list-style:none}.lang-switcher summary::-webkit-details-marker,.mobile-nav-details summary::-webkit-details-marker{display:none}.lang-btn{display:inline-flex;align-items:center;gap:var(--s-2);padding:12px 16px;background:#ffffff2e;border:1px solid rgba(255,255,255,.5);border-radius:999px;font-family:var(--font-sans);font-size:.78rem;font-weight:500;letter-spacing:.05em;cursor:pointer;color:inherit;transition-property:background-color,border-color,color,transform;transition-duration:.2s}.nav-scrolled .lang-btn{background:var(--cream-deep);border-color:var(--line)}.lang-btn:hover{transform:translateY(-1px)}.lang-current{white-space:nowrap}.lang-switcher:not([open]) .lang-menu{display:none}.lang-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px #1429441f;overflow:hidden;min-width:160px;z-index:50}.lang-option{display:flex;align-items:center;gap:var(--s-3);width:100%;padding:10px 16px;background:none;border:none;font-family:var(--font-sans);font-size:.88rem;cursor:pointer;color:var(--ink);text-align:left;text-decoration:none}.lang-option:hover{background:var(--cream-deep)}.lang-option.active{background:var(--ink);color:var(--cream)}.mobile-nav-details{display:flex;flex:0 0 auto}.mobile-nav-details:not([open]) .mobile-menu{display:none}.menu-icon-close{display:none}.menu-icon-open,.menu-icon-close{width:30px;height:30px;align-items:center;justify-content:center}.menu-icon-open{display:inline-flex}.nav-mobile-toggle .icon{font-size:30px!important}.mobile-nav-details[open] .menu-icon-open{display:none}.mobile-nav-details[open] .menu-icon-close{display:inline-flex}.mobile-menu{display:none;background:var(--cream);border-top:1px solid var(--line);margin-top:var(--s-3);padding:var(--s-4) var(--s-6);flex-direction:column;gap:var(--s-3)}.mobile-link{background:none;border:none;text-align:left;font-family:var(--font-sans);font-size:1rem;padding:10px 0;color:var(--ink);cursor:pointer;border-bottom:1px solid var(--line-soft);text-decoration:none}.scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,rgba(255,255,255,.7),transparent);animation:scroll-pulse 2s ease-in-out infinite}@keyframes scroll-pulse{0%,to{transform:scaleY(.3);transform-origin:top;opacity:.4}50%{transform:scaleY(1);transform-origin:top;opacity:1}}.big-quote{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.35;color:var(--ink);max-width:900px;margin:0;text-align:center;text-wrap:balance}.divider-line{width:60px;height:1px;background:var(--ink);opacity:.4;margin:var(--s-7) auto 0}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-9);align-items:center}.story-text p{font-size:1.08rem;line-height:1.8;color:var(--ink-soft);margin:0 0 var(--s-5)}.story-image{position:relative}.story-image img,.story-poster img{width:100%;max-width:100%;height:auto;aspect-ratio:1 / 1;object-fit:cover;border-radius:4px;filter:saturate(.95)}.story-poster{width:min(100%,520px);max-width:100%;margin:0 auto;position:relative}.story-poster:after{content:"";position:absolute;inset:0;border:1px solid rgba(245,237,224,.6);border-radius:4px;pointer-events:none}.image-caption{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:var(--s-4);font-family:var(--font-serif);font-size:clamp(1.6rem,3vw,2.4rem);color:var(--ink);background:#f5ede08c;font-weight:500;pointer-events:none}.caption-x{font-style:italic;opacity:.6;font-size:.8em}.etymology{margin-top:var(--s-11);padding:var(--s-9) var(--s-7);background:var(--paper);border:1px solid var(--line-soft);border-radius:4px;text-align:center}.ety-row{display:flex;align-items:center;justify-content:center;gap:var(--s-5);flex-wrap:wrap;margin-bottom:var(--s-6)}.ety-word{display:flex;flex-direction:column;align-items:center}.ety-term{font-family:var(--font-serif);font-size:clamp(1.8rem,3vw,2.6rem);font-weight:500;color:var(--ink)}.ety-term.ety-jp{font-family:var(--font-jp);font-weight:400}.ety-mean{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:var(--s-2)}.ety-plus,.ety-eq{font-family:var(--font-serif);font-size:1.6rem;color:var(--sakura-deep);font-weight:300;padding-bottom:28px}.ety-result-word{font-family:var(--font-serif);font-size:clamp(2.2rem,4vw,3.2rem);font-weight:600;color:var(--ink)}.ety-result-word:after{content:"";display:block;width:40px;height:1px;background:var(--sakura-deep);margin:6px auto 0}.ety-desc{font-family:var(--font-serif);font-style:italic;font-size:1.1rem;color:var(--ink-soft);max-width:540px;margin:0 auto;line-height:1.6}.founder-grid{display:grid;grid-template-columns:minmax(360px,496px) minmax(0,1fr);gap:var(--s-10);align-items:start}.founder-portrait{position:relative;position:sticky;top:100px;width:100%;max-width:496px}.founder-portrait img{width:100%;height:auto;aspect-ratio:4 / 5;object-fit:cover;object-position:center top;border-radius:4px;filter:brightness(.9) saturate(.92)}.founder-portrait-art{width:100%;aspect-ratio:3 / 4;border-radius:4px;background:radial-gradient(ellipse at 30% 25%,rgba(240,196,196,.18) 0%,transparent 55%),linear-gradient(160deg,#1a3050,#0d1a2e);border:1px solid rgba(245,237,224,.08);position:relative;display:grid;grid-template-rows:1fr auto auto auto 1fr;align-items:center;justify-items:center;padding:var(--s-9) var(--s-7);overflow:hidden}.founder-portrait-art:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,rgba(245,237,224,.04) 0 1px,transparent 1px 80px);pointer-events:none}.founder-portrait-mark{grid-row:2;opacity:.92}.founder-portrait-monogram{grid-row:3;font-family:var(--font-serif);font-style:italic;font-size:clamp(3.6rem,7vw,5.4rem);font-weight:400;color:var(--sakura);line-height:1;margin-top:var(--s-5);letter-spacing:-.04em}.founder-portrait-rule{grid-row:4;width:36px;height:1px;background:var(--sakura-deep);margin:var(--s-4) 0 0}.founder-portrait-tag{grid-row:5;align-self:end;font-family:var(--font-sans);font-size:.7rem;letter-spacing:.32em;color:#f5ede08c;font-weight:500}.founder-card{position:absolute;bottom:-28px;left:-28px;background:var(--cream);color:var(--ink);padding:var(--s-5) var(--s-6);border-radius:4px;box-shadow:0 20px 40px #0000004d;min-width:240px}.founder-card-name{font-family:var(--font-serif);font-size:1.4rem;font-weight:600}.founder-card-role{font-style:italic;color:var(--ink-soft);margin-top:2px;font-size:.95rem}.founder-card-jp{font-family:var(--font-jp);font-size:.78rem;color:var(--muted);margin-top:var(--s-2)}.founder-text p{font-size:1.05rem;line-height:1.85;color:#f5ede0d9;margin:0 0 var(--s-5)}.pull-quote{font-family:var(--font-serif);font-style:italic;font-size:1.4rem;line-height:1.45;color:var(--sakura);border-left:2px solid var(--sakura);padding-left:var(--s-5);margin:var(--s-7) 0 0;max-width:640px}.services-showcase{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.62fr);gap:var(--s-9);align-items:center;margin-bottom:var(--s-9)}.services-showcase .lead{max-width:720px;margin-bottom:0}.services-art{width:min(100%,560px);max-width:100%;margin:0 auto;position:relative}.services-art img{width:100%;max-width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;border-radius:4px;border:1px solid var(--line-soft);box-shadow:0 24px 70px #1429441f}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-5)}.service-card{position:relative;padding:var(--s-7) var(--s-6);background:var(--paper);border:1px solid var(--line-soft);border-radius:4px;transition-property:border-color,box-shadow,transform;transition-duration:.3s;transition-timing-function:ease;overflow:hidden}.service-card:hover{transform:translateY(-4px);box-shadow:0 24px 60px #1429441a;border-color:var(--sakura-deep)}.service-icon{width:52px;height:52px;border-radius:50%;background:var(--cream);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;margin-bottom:var(--s-5)}.service-tag{font-size:.68rem;letter-spacing:.32em;text-transform:uppercase;color:var(--sakura-deep);font-weight:600;margin-bottom:var(--s-3)}.service-title{font-family:var(--font-serif);font-weight:500;font-size:1.45rem;margin:0 0 var(--s-3);line-height:1.2}.service-desc{font-size:.95rem;line-height:1.6;color:var(--ink-soft);margin:0}.service-num{position:absolute;top:var(--s-5);right:var(--s-6);font-family:var(--font-serif);font-size:.85rem;color:var(--muted);letter-spacing:.1em}.wedding-grid{max-width:640px}.wedding-grid-2col{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,496px);gap:var(--s-9);align-items:center}.wedding-text{max-width:560px}.wedding-photo{width:100%;max-width:100%;margin:0 auto}.wedding-photo img{width:100%;max-width:100%;height:auto;aspect-ratio:4 / 5;object-fit:cover;border-radius:4px;box-shadow:0 30px 60px #14294426}.split-img{display:grid;grid-template-columns:1fr 1fr;gap:4px;aspect-ratio:1 / 1}.split-img img{width:100%;height:100%;object-fit:cover;border-radius:4px}.story-split{position:relative}.split-labels{margin-top:var(--s-3);display:flex;justify-content:space-between;font-family:var(--font-serif);font-size:1.15rem;color:var(--ink);letter-spacing:.04em;padding:0 var(--s-3)}.split-x{color:var(--sakura-deep);font-style:italic}@media(max-width:960px){.wedding-grid-2col{grid-template-columns:1fr;gap:var(--s-7)}}.check-list{list-style:none;padding:0;margin:var(--s-6) 0 0}.check-list li{display:flex;align-items:flex-start;gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--line-soft);color:var(--ink-soft);line-height:1.5}.check-mark{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;margin-top:3px}.journey-showcase{display:grid;grid-template-columns:minmax(360px,496px) minmax(0,1fr);gap:var(--s-7);align-items:stretch}.journey-art{width:100%;max-width:100%;margin:0 auto;min-height:0}.journey-art img{width:100%;max-width:100%;height:auto;aspect-ratio:4 / 5;min-height:0;object-fit:cover;border-radius:4px;border:1px solid var(--line-soft);box-shadow:0 24px 70px #1429441f}.flight-card{background:var(--paper);border:1px solid var(--line-soft);border-radius:4px;padding:var(--s-7)}.flight-legs{display:flex;flex-direction:column;gap:var(--s-5)}.flight-leg{display:grid;grid-template-columns:32px 36px 1fr auto;align-items:center;gap:var(--s-4);padding:var(--s-4) 0;border-bottom:1px dashed var(--line-soft);position:relative}.flight-leg:last-child{border-bottom:none}.flight-leg-num{font-family:var(--font-serif);font-size:1rem;color:var(--muted);letter-spacing:.08em}.flight-leg-icon{width:36px;height:36px;border-radius:50%;background:var(--cream);display:flex;align-items:center;justify-content:center}.flight-leg-route{display:flex;align-items:baseline;gap:var(--s-3);font-family:var(--font-serif);font-size:1.15rem;font-weight:500;flex-wrap:wrap}.flight-arrow{color:var(--sakura-deep);font-size:.95rem}.flight-leg-time{font-family:var(--font-sans);font-size:.92rem;font-weight:500;color:var(--ink);letter-spacing:.04em}.flight-leg-note{grid-column:3 / -1;font-size:.82rem;color:var(--muted);margin-top:2px}.flight-total{margin-top:var(--s-5);padding-top:var(--s-5);border-top:2px solid var(--ink);display:flex;align-items:center;gap:var(--s-4)}.flight-total-label{font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}.flight-total-time{font-family:var(--font-serif);font-size:1.6rem;font-weight:500;color:var(--ink)}.flight-total-note{font-size:.85rem;color:var(--muted);font-style:italic;font-weight:400}.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-5);position:relative}.step{position:relative;padding-top:var(--s-5)}.step-num{font-family:var(--font-serif);font-size:.85rem;letter-spacing:.18em;color:var(--sakura-deep);font-weight:600;margin-bottom:var(--s-3)}.step-line{display:flex;align-items:center;margin-bottom:var(--s-4);height:8px}.step-dot{width:8px;height:8px;border-radius:50%;background:var(--ink);flex-shrink:0}.step-bar{flex:1;height:1px;background:var(--line);margin-left:6px}.step-title{font-family:var(--font-serif);font-size:1.25rem;font-weight:500;margin:0 0 var(--s-3)}.step-desc{font-size:.92rem;line-height:1.55;color:var(--ink-soft);margin:0}.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-5);margin-top:var(--s-7)}.why-card{padding:var(--s-7) var(--s-5);border:1px solid rgba(245,237,224,.15);border-radius:4px;background:#f5ede008;transition-property:background-color,border-color,transform;transition-duration:.3s;transition-timing-function:ease}.why-card:hover{background:#f5ede014;border-color:var(--sakura);transform:translateY(-3px)}.why-icon{width:56px;height:56px;border-radius:50%;border:1px solid var(--sakura);display:flex;align-items:center;justify-content:center;margin-bottom:var(--s-5)}.why-title{font-family:var(--font-serif);font-size:1.3rem;font-weight:500;margin:0 0 var(--s-3);color:var(--cream)}.why-desc{font-size:.92rem;line-height:1.6;color:#f5ede0b3;margin:0}.geo-section{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.geo-shell{display:grid;grid-template-columns:minmax(0,.92fr) minmax(320px,.7fr);gap:var(--s-9);align-items:start}.geo-lead{max-width:640px;margin-bottom:var(--s-5)}.geo-definition{max-width:780px;margin:0;padding-top:var(--s-5);border-top:1px solid var(--line);font-size:clamp(1.08rem,1.8vw,1.32rem);line-height:1.72;color:var(--ink)}.geo-quotables{display:grid;gap:var(--s-4);padding-top:var(--s-6)}.geo-quote{margin:0;padding:var(--s-5) 0 var(--s-5) var(--s-5);border-left:2px solid var(--sakura-deep);font-family:var(--font-serif);font-size:clamp(1.15rem,2vw,1.5rem);font-style:italic;line-height:1.42;color:var(--ink);text-wrap:balance}.geo-faq-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-6) var(--s-8);margin-top:var(--s-9)}.geo-faq-item{display:grid;grid-template-columns:44px minmax(0,1fr);gap:var(--s-4);padding-top:var(--s-5);border-top:1px solid var(--line)}.geo-faq-num{font-family:var(--font-serif);font-size:.95rem;letter-spacing:.18em;color:var(--sakura-deep)}.geo-faq-question{margin:0 0 var(--s-3);font-family:var(--font-serif);font-size:clamp(1.22rem,2vw,1.5rem);font-weight:500;line-height:1.2;color:var(--ink);text-wrap:balance}.geo-faq-answer{margin:0;color:var(--ink-soft);font-size:.98rem;line-height:1.72}.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:var(--s-9);align-items:start}.contact-form{background:var(--paper);padding:var(--s-7);border-radius:4px;border:1px solid var(--line-soft);display:flex;flex-direction:column;gap:var(--s-5)}.field{display:flex;flex-direction:column;gap:var(--s-2)}.field label{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:500}.field input,.field select,.field textarea{padding:12px 14px;background:var(--cream-warm);border:1px solid var(--line);border-radius:4px;font-family:var(--font-sans);font-size:.98rem;color:var(--ink);outline:none;transition:border-color .2s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink)}.field textarea{resize:vertical;font-family:var(--font-sans)}.sent-msg{padding:var(--s-3) var(--s-4);background:#1e3a5f14;border-left:3px solid var(--ink);font-size:.92rem;color:var(--ink)}.contact-side{padding:var(--s-6) var(--s-6);position:sticky;top:100px}.contact-closing{font-family:var(--font-serif);font-style:italic;font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.45;color:var(--ink);text-align:center;max-width:820px;margin:var(--s-9) auto 0;text-wrap:balance}.contact-or{font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--s-4)}.contact-direct{display:flex;flex-direction:column;gap:var(--s-3)}.contact-link{display:flex;align-items:center;gap:var(--s-3);padding:12px 16px;background:var(--paper);border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--ink);font-size:.95rem;transition-property:color,background-color,border-color,transform,box-shadow;transition-duration:.2s}.contact-link:hover{background:var(--ink);color:var(--cream);border-color:var(--ink);transform:translate(4px)}.contact-link .icon,.btn .icon{color:currentColor!important;flex:0 0 auto}.footer-meta a{color:inherit;text-decoration:none}.footer-meta a:hover{text-decoration:underline;text-underline-offset:3px}.footer{background:#0d1a2e;color:var(--cream);padding:var(--s-10) 0 var(--s-6)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--s-9);padding-bottom:var(--s-8);border-bottom:1px solid rgba(245,237,224,.12)}.footer-brand{display:flex;flex-direction:column;gap:var(--s-3)}.footer-name{font-family:var(--font-serif);font-size:1.6rem;font-weight:500;letter-spacing:.15em;margin-top:var(--s-2)}.footer-name em{font-style:italic;font-weight:400;letter-spacing:.04em}.footer-tagline{font-size:.95rem;line-height:1.6;color:#f5ede0bf;max-width:480px;margin:var(--s-3) 0 0}.footer-tagline-jp{font-family:var(--font-jp);font-size:.85rem;color:#f5ede080;margin:var(--s-2) 0 0;line-height:1.6}.footer-meta{display:flex;flex-direction:column;gap:var(--s-2);font-size:.92rem;color:#f5ede0bf}.footer-meta strong{font-family:var(--font-serif);font-weight:500;font-size:1.15rem;color:var(--cream);display:block;margin-bottom:2px;letter-spacing:.05em}.footer-meta-row{display:flex;flex-direction:column}.footer-meta-row:first-child{margin-bottom:var(--s-3)}.footer-bottom{display:flex;justify-content:space-between;margin-top:var(--s-5);font-size:.78rem;letter-spacing:.1em;color:#f5ede080}@media(max-width:960px){.nav-links{display:none}.nav-mobile-toggle{display:flex}.nav-actions{gap:var(--s-2)}.mobile-menu{display:flex;position:absolute;top:100%;left:0;right:0;margin-top:0;padding-bottom:var(--s-5)}.nav-brand-text{display:none}.story-grid,.founder-grid,.services-showcase,.journey-showcase,.geo-shell,.contact-grid,.footer-grid{grid-template-columns:1fr;gap:var(--s-7)}.founder-portrait{position:static;width:min(496px,100%);margin:0 auto}.wedding-photo,.journey-art{width:min(496px,100%)}.founder-portrait img{aspect-ratio:4 / 5;height:auto}.founder-card{position:relative;left:auto;bottom:auto;width:min(520px,calc(100% - var(--s-6)));min-width:0;margin:calc(var(--s-6) * -1) auto 0;z-index:2}.services-grid,.why-grid,.steps-grid{grid-template-columns:repeat(2,1fr)}.geo-faq-list{grid-template-columns:1fr}.contact-side{position:static;padding:0}.footer-bottom{flex-direction:column;gap:var(--s-2)}.section{padding:var(--s-10) 0}}@media(max-width:600px){:root{font-size:15px}.container{padding:0 var(--s-4)}.display{font-size:clamp(2.05rem,8.7vw,2.35rem);line-height:1.08;letter-spacing:0}.hero-title{max-width:calc(100vw - 32px);overflow-wrap:break-word}.hero-title em{display:inline}.hero-section{min-height:100svh;min-height:100dvh}.hero-bg{background-position:42% center;transform:scale(1.03)}.hero-glow{background:linear-gradient(90deg,#08122094,#08122047 60%,#f5e2de14),linear-gradient(180deg,#f5b48c00,#0d1a2e70 42%,#0d1a2ef0)}.hero-container{padding-top:var(--s-10);padding-bottom:var(--s-10)}.hero-sub-jp{font-size:.93rem;line-height:1.6}.hero-sub{font-size:1rem;line-height:1.62;max-width:100%}.hero-actions{margin-top:var(--s-6);gap:var(--s-2)}.hero-actions .btn{padding:13px 20px;font-size:.86rem}.go-top{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));width:46px;height:46px}.hero-scroll{bottom:18px}.hero-branch-top{right:-118px;opacity:.42}.hero-branch-bottom{left:-92px;bottom:54px;opacity:.32}.nav-inner{gap:var(--s-3)}.lang-btn{padding:10px 11px;gap:6px}.nav-mobile-toggle{width:48px;height:48px}.lang-current{max-width:44px;overflow:hidden}.services-grid,.why-grid,.steps-grid{grid-template-columns:1fr}.geo-shell{gap:var(--s-6)}.geo-definition{font-size:1rem;line-height:1.68}.geo-quotables{padding-top:0}.geo-quote{padding:var(--s-4) 0 var(--s-4) var(--s-4);font-size:1.12rem;line-height:1.5;text-wrap:pretty}.geo-faq-list{gap:var(--s-5);margin-top:var(--s-7)}.geo-faq-item{grid-template-columns:34px minmax(0,1fr);gap:var(--s-3)}.geo-faq-question{font-size:1.14rem;text-wrap:pretty}.geo-faq-answer{font-size:.94rem;line-height:1.68}.founder-grid{gap:var(--s-6)}.founder-portrait{width:100%}.founder-portrait img{aspect-ratio:4 / 5;height:auto}.story-poster img,.services-art img,.wedding-photo img,.journey-art img{width:100%;max-width:100%;height:auto;min-height:0;object-fit:cover}.founder-card{width:calc(100% - var(--s-5));margin-top:calc(var(--s-5) * -1);padding:var(--s-5)}.founder-card-name{font-size:1.24rem}.founder-card-role{font-size:.95rem;line-height:1.4}.founder-card-jp{font-size:.82rem;line-height:1.45}.founder-text p{font-size:1rem;line-height:1.75}.pull-quote{font-size:1.08rem;line-height:1.62;padding-left:var(--s-4);margin-top:var(--s-6);max-width:none;text-wrap:pretty}.contact-form{padding:var(--s-5)}.contact-closing{font-size:1.24rem;line-height:1.55;margin-top:var(--s-7);text-align:left}.contact-or{margin-bottom:var(--s-3);text-align:center}.ety-row{flex-direction:column;gap:var(--s-3)}.ety-plus,.ety-eq{padding-bottom:0}.flight-card{padding:var(--s-5)}.flight-legs{gap:var(--s-4)}.flight-leg{grid-template-columns:30px 40px 1fr;gap:var(--s-3);padding:var(--s-4) 0}.flight-leg-num{font-size:.86rem;text-align:center}.flight-leg-icon{width:40px;height:40px}.flight-leg-route{grid-column:1 / -1;justify-content:center;gap:10px;width:100%;font-size:clamp(1.22rem,5.5vw,1.38rem);line-height:1.15;flex-wrap:nowrap;white-space:nowrap}.flight-arrow{font-size:.9rem}.flight-leg-time{grid-column:1 / -1;padding-left:0;text-align:center;font-size:1rem}.flight-leg-note{grid-column:1 / -1;text-align:center;font-size:.86rem;line-height:1.45}.flight-total{align-items:flex-start;gap:var(--s-3)}.flight-total-time{font-size:1.38rem;line-height:1.1}.flight-total-note{display:block;margin-top:4px}.image-caption{font-size:1.6rem}.section{padding:var(--s-9) 0}}:where(button,a,input,select,textarea):focus-visible{outline:2px solid var(--sakura-deep);outline-offset:3px;border-radius:3px}.btn:focus-visible{outline-offset:4px}.nav:not(.nav-scrolled) :where(button,a):focus-visible{outline-color:#fff}.contact-link:focus-visible,.lang-option:focus-visible{outline-offset:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.scroll-line{animation:none;opacity:.6}.service-card:hover,.why-card:hover,.contact-link:hover,.lang-btn:hover{transform:none}}
