:root{--ink: #0F1726;--ink-soft: #4A5568;--ink-mute: #8290A4;--navy: #14233F;--indigo: #1F3756;--copper: #A66A3B;--copper-soft: #C8A876;--paper: #FFFFFF;--paper-warm: #F5F2EC;--paper-cream: #FAF6EE;--line: #D8D4C8;--line-soft: #E8E3D5;--line-dark: #C4BFB0}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Noto Sans JP,Inter,sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"palt" 1}.intro{position:fixed;inset:0;z-index:9999;background:var(--paper);display:flex;align-items:center;justify-content:center;pointer-events:none}.intro-svg{width:min(520px,70vw);height:min(520px,70vw);position:relative}.intro-vline{position:absolute;left:50%;top:50%;width:1px;background:var(--navy);transform:translate(-50%) scaleY(0);transform-origin:center bottom;height:240px;margin-top:-120px;opacity:0}.intro-hline{position:absolute;left:50%;top:50%;height:1px;background:var(--copper);transform:translate(-50%,-50%) scaleX(0);transform-origin:center center;width:280px;opacity:0}.intro-text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;gap:14px}.intro-eng{font-family:Cormorant Garamond,serif;font-weight:500;font-size:clamp(44px,6vw,64px);letter-spacing:.18em;color:var(--navy);line-height:1}.intro-rule{width:56px;height:1px;background:var(--copper)}.intro-jp{font-family:"Noto Serif JP",serif;font-weight:600;font-size:clamp(15px,1.8vw,18px);letter-spacing:.32em;color:var(--ink)}.intro-en-sub{font-family:Inter,sans-serif;font-style:italic;font-weight:400;font-size:11px;letter-spacing:.22em;color:var(--ink-mute);text-transform:uppercase}body.intro-active .intro-vline{animation:vlineGrow 1.2s cubic-bezier(.25,.1,.25,1) forwards}body.intro-active .intro-hline{animation:hlineGrow 1s .2s cubic-bezier(.25,.1,.25,1) forwards}body.intro-active .intro-vline,body.intro-active .intro-hline{animation-fill-mode:forwards}body.intro-active .intro-text{animation:textFadeIn .9s 1.6s cubic-bezier(.25,.1,.25,1) forwards}body.intro-active .intro{animation:introExit .5s 2.5s cubic-bezier(.25,.1,.25,1) forwards}@keyframes vlineGrow{0%{transform:translate(-50%) scaleY(0);opacity:0}20%{opacity:1}70%{transform:translate(-50%) scaleY(1);opacity:1}to{transform:translate(-50%) scaleY(1);opacity:0}}@keyframes hlineGrow{0%{transform:translate(-50%,-50%) scaleX(0);opacity:0}25%{opacity:1}80%{transform:translate(-50%,-50%) scaleX(1);opacity:1}to{transform:translate(-50%,-50%) scaleX(1);opacity:0}}@keyframes textFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes introExit{to{opacity:0;visibility:hidden}}.site-header{position:sticky;top:0;z-index:100;background:#fffffff5;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line-soft);transition:padding .25s ease,background .25s ease}.header-inner{max-width:1280px;margin:0 auto;padding:22px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;transition:padding .25s ease}body.scrolled .header-inner{padding:14px 32px}.brand{display:flex;flex-direction:column;text-decoration:none;color:var(--navy)}.brand-en{font-family:Cormorant Garamond,serif;font-weight:500;font-size:22px;letter-spacing:.18em;color:var(--navy);line-height:1}.brand-jp{font-family:"Noto Serif JP",serif;font-weight:600;font-size:11.5px;letter-spacing:.18em;color:var(--ink-soft);margin-top:5px}.nav{display:flex;align-items:center;gap:28px}.nav a{font-family:"Noto Serif JP",serif;font-weight:500;font-size:13px;letter-spacing:.14em;color:var(--ink);text-decoration:none;position:relative;padding:6px 0;transition:color .2s ease}.nav a:hover{color:var(--copper)}.nav a.cta{background:var(--navy);color:#fff;padding:10px 20px;letter-spacing:.12em}.nav a.cta:hover{background:var(--copper);color:#fff}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:8px 12px;cursor:pointer;font-family:Inter,sans-serif;font-size:11px;letter-spacing:.18em;color:var(--ink)}@media(max-width:880px){.menu-toggle{display:block}.nav{position:absolute;top:100%;left:0;right:0;background:var(--paper);flex-direction:column;align-items:flex-start;padding:22px 32px;gap:14px;border-bottom:1px solid var(--line);transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.nav.open{opacity:1;transform:translateY(0);pointer-events:auto}.nav a{font-size:14px;padding:8px 0;width:100%}.nav a.cta{padding:12px 18px}}main{min-height:60vh}.container{max-width:1280px;margin:0 auto;padding:0 32px}.container-narrow{max-width:980px;margin:0 auto;padding:0 32px}section{padding:110px 0}@media(max-width:880px){section{padding:70px 0}.container,.container-narrow{padding:0 22px}}section.bg-warm{background:var(--paper-warm)}section.bg-cream{background:var(--paper-cream)}.eyebrow{display:inline-block;font-family:Inter,sans-serif;font-size:11px;font-weight:500;letter-spacing:.3em;color:var(--copper);text-transform:uppercase;margin-bottom:18px}.eyebrow:before{content:"";display:inline-block;width:22px;height:1px;background:var(--copper);vertical-align:middle;margin-right:12px;margin-bottom:3px}h1.page-title,.page-title{font-family:"Noto Serif JP",serif;font-weight:600;font-size:clamp(34px,4.6vw,52px);letter-spacing:.04em;line-height:1.3;color:var(--navy);margin-bottom:22px}.page-title-en{font-family:Cormorant Garamond,serif;font-style:italic;font-weight:400;font-size:clamp(28px,3.6vw,40px);letter-spacing:.04em;color:var(--copper);margin-bottom:8px;line-height:1.2}h2.section-title,.section-title{font-family:"Noto Serif JP",serif;font-weight:600;font-size:clamp(26px,3.4vw,38px);letter-spacing:.04em;line-height:1.4;color:var(--navy);margin-bottom:22px}.section-title-en{font-family:Cormorant Garamond,serif;font-style:italic;font-weight:400;font-size:clamp(24px,2.8vw,32px);letter-spacing:.04em;color:var(--copper);line-height:1.2;margin-bottom:6px}h3{font-family:"Noto Serif JP",serif;font-weight:600;font-size:clamp(18px,2vw,22px);letter-spacing:.03em;line-height:1.5;color:var(--navy);margin-bottom:14px}h4{font-family:"Noto Serif JP",serif;font-weight:600;font-size:16px;letter-spacing:.03em;color:var(--navy);margin-bottom:8px}p{color:var(--ink-soft)}p.lead{font-family:"Noto Serif JP",serif;font-weight:400;font-size:clamp(15px,1.5vw,18px);line-height:2;color:var(--ink)}strong{color:var(--navy);font-weight:600}a{color:var(--navy);text-decoration:underline;text-decoration-color:var(--copper-soft);text-underline-offset:4px}a:hover{color:var(--copper)}.btn{display:inline-flex;align-items:center;gap:12px;font-family:"Noto Serif JP",serif;font-weight:500;font-size:13.5px;letter-spacing:.16em;padding:16px 28px;text-decoration:none;border:1px solid var(--navy);background:var(--navy);color:#fff;transition:background .2s ease,color .2s ease,border-color .2s ease}.btn:hover{background:var(--copper);border-color:var(--copper);color:#fff}.btn-outline{background:transparent;color:var(--navy)}.btn-outline:hover{background:var(--navy);color:#fff}.btn .arrow{width:18px;height:1px;background:currentColor;position:relative}.btn .arrow:after{content:"";position:absolute;right:0;top:50%;width:6px;height:6px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:translateY(-50%) rotate(45deg)}.div-rule{width:100%;height:1px;background:var(--line);margin:60px 0}.div-rule-thin{width:56px;height:1px;background:var(--copper);margin:16px 0 28px}table.fee-table{width:100%;border-collapse:collapse;font-family:Noto Sans JP,sans-serif;font-size:14.5px}table.fee-table th,table.fee-table td{padding:18px 20px;border:1px solid var(--line);text-align:left;vertical-align:top}table.fee-table thead th{background:var(--paper-warm);font-family:"Noto Serif JP",serif;font-weight:600;color:var(--navy);letter-spacing:.06em;font-size:14px}table.fee-table tbody tr{transition:background .2s ease}table.fee-table tbody tr:hover{background:var(--paper-warm)}table.fee-table td:first-child{font-family:"Noto Serif JP",serif;font-weight:500;color:var(--navy);width:32%}table.fee-table td .price{font-family:Cormorant Garamond,serif;font-weight:500;font-size:18px;color:var(--copper);margin-right:4px}.site-footer{background:var(--paper-warm);border-top:1px solid var(--line);padding:60px 0 32px;color:var(--ink-soft)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;margin-bottom:40px}@media(max-width:720px){.footer-grid{grid-template-columns:1fr;gap:28px}}.footer-brand-en{font-family:Cormorant Garamond,serif;font-weight:500;font-size:26px;letter-spacing:.16em;color:var(--navy);line-height:1;margin-bottom:8px}.footer-brand-jp{font-family:"Noto Serif JP",serif;font-weight:600;color:var(--ink);font-size:14px;letter-spacing:.14em;margin-bottom:16px}.footer h5{font-family:"Noto Serif JP",serif;font-weight:600;font-size:13px;color:var(--navy);letter-spacing:.18em;margin-bottom:14px}.footer ul{list-style:none}.footer ul li{font-size:13px;margin-bottom:8px;color:var(--ink-soft)}.footer ul li a{color:var(--ink-soft);text-decoration:none;transition:color .2s}.footer ul li a:hover{color:var(--copper)}.footer-bottom{border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;font-family:Inter,sans-serif;font-size:11px;letter-spacing:.18em;color:var(--ink-mute);text-transform:uppercase}@media(max-width:720px){.footer-bottom{flex-direction:column;gap:8px}}.reveal{opacity:0;transform:translateY(16px);transition:opacity .9s cubic-bezier(.25,.1,.25,1),transform .9s cubic-bezier(.25,.1,.25,1)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}.photo-pro{filter:grayscale(15%) saturate(.95) contrast(1.02);transition:filter .5s ease,transform .5s ease}.photo-pro:hover{filter:grayscale(0%) saturate(1) contrast(1)}.photo-zoom{overflow:hidden;background:var(--paper-warm)}.photo-zoom img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.photo-zoom:hover img{transform:scale(1.02)}
