:root{--ink: #0F1A29;--ink-soft: #3A4858;--ink-mute: #7F8B9A;--steel: #1F3A5C;--steel-deep: #16294A;--ocean: #4A8A88;--ocean-soft: #7BAEAC;--gold: #C5A86E;--gold-soft: #DCC59A;--paper: #FFFFFF;--paper-cloud: #F4F6FA;--paper-off: #F9F9F6;--line: #D7DCE3;--line-soft: #E6EAEF;--line-dark: #BEC5D0}*{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-stage{width:min(560px,78vw);height:min(560px,78vw);position:relative}.intro-tower{position:absolute;bottom:50%;left:50%;background:var(--steel);opacity:0;transform-origin:center bottom;transform:translate(-50%) translateY(0) scaleY(0)}.intro-tower.t1{width:26px;height:110px;margin-left:-78px}.intro-tower.t2{width:34px;height:170px;margin-left:-17px}.intro-tower.t3{width:24px;height:92px;margin-left:60px}.intro-orn{position:absolute;left:50%;top:50%;width:76px;height:76px;border:1px solid var(--ocean);transform:translate(-50%,-50%) rotate(0) scale(0);opacity:0}.intro-orn:before,.intro-orn:after{content:"";position:absolute;inset:0;border:1px solid var(--ocean)}.intro-orn:before{transform:rotate(45deg)}.intro-orn:after{width:8px;height:8px;background:var(--gold);border:none;left:50%;top:50%;transform:translate(-50%,-50%) rotate(45deg)}.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:Tenor Sans,serif;font-weight:400;font-size:clamp(44px,6vw,64px);letter-spacing:.22em;color:var(--steel);line-height:1}.intro-rule{width:56px;height:1px;background:var(--ocean)}.intro-jp{font-family:"Noto Serif JP",serif;font-weight:600;font-size:clamp(14px,1.7vw,17px);letter-spacing:.3em;color:var(--ink)}.intro-en-sub{font-family:Inter,sans-serif;font-style:normal;font-weight:400;font-size:11px;letter-spacing:.24em;color:var(--ink-mute);text-transform:uppercase}body.intro-active .intro-tower.t1{animation:towerGrow 1s .05s cubic-bezier(.25,.1,.25,1) forwards}body.intro-active .intro-tower.t2{animation:towerGrow 1.15s .15s cubic-bezier(.25,.1,.25,1) forwards}body.intro-active .intro-tower.t3{animation:towerGrow .95s .25s cubic-bezier(.25,.1,.25,1) forwards}body.intro-active .intro-orn{animation:ornAppear 1s .35s cubic-bezier(.25,.1,.25,1) 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 towerGrow{0%{transform:translate(-50%) translateY(0) scaleY(0);opacity:0}25%{opacity:1}75%{transform:translate(-50%) translateY(0) scaleY(1);opacity:1}to{transform:translate(-50%) translateY(0) scaleY(1);opacity:0}}@keyframes ornAppear{0%{transform:translate(-50%,-50%) rotate(0) scale(0);opacity:0}35%{opacity:1}70%{transform:translate(-50%,-50%) rotate(45deg) scale(1);opacity:1}to{transform:translate(-50%,-50%) rotate(90deg) scale(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(--steel)}.brand-en{font-family:Tenor Sans,serif;font-weight:400;font-size:22px;letter-spacing:.22em;color:var(--steel);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:24px}.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(--ocean)}.nav a.cta{background:var(--steel);color:#fff;padding:10px 20px;letter-spacing:.12em}.nav a.cta:hover{background:var(--ocean);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:920px){.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-cloud{background:var(--paper-cloud)}section.bg-off{background:var(--paper-off)}.eyebrow{display:inline-block;font-family:Inter,sans-serif;font-size:11px;font-weight:500;letter-spacing:.3em;color:var(--ocean);text-transform:uppercase;margin-bottom:18px}.eyebrow:before{content:"";display:inline-block;width:22px;height:1px;background:var(--ocean);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(--steel);margin-bottom:22px}.page-title-en{font-family:Tenor Sans,serif;font-style:normal;font-weight:400;font-size:clamp(28px,3.6vw,40px);letter-spacing:.18em;color:var(--ocean);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(--steel);margin-bottom:22px}.section-title-en{font-family:Tenor Sans,serif;font-style:normal;font-weight:400;font-size:clamp(22px,2.6vw,30px);letter-spacing:.18em;color:var(--ocean);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(--steel);margin-bottom:14px}h4{font-family:"Noto Serif JP",serif;font-weight:600;font-size:16px;letter-spacing:.03em;color:var(--steel);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(--steel);font-weight:600}a{color:var(--steel);text-decoration:underline;text-decoration-color:var(--gold-soft);text-underline-offset:4px}a:hover{color:var(--ocean)}.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(--steel);background:var(--steel);color:#fff;transition:background .2s ease,color .2s ease,border-color .2s ease}.btn:hover{background:var(--ocean);border-color:var(--ocean);color:#fff}.btn-outline{background:transparent;color:var(--steel)}.btn-outline:hover{background:var(--steel);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(--ocean);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-cloud);font-family:"Noto Serif JP",serif;font-weight:600;color:var(--steel);letter-spacing:.06em;font-size:14px}table.fee-table tbody tr{transition:background .2s ease}table.fee-table tbody tr:hover{background:var(--paper-cloud)}table.fee-table td:first-child{font-family:"Noto Serif JP",serif;font-weight:500;color:var(--steel);width:32%}table.fee-table td .price{font-family:Tenor Sans,serif;font-weight:400;font-size:18px;color:var(--ocean);margin-right:4px;letter-spacing:.05em}.site-footer{background:var(--paper-cloud);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:Tenor Sans,serif;font-weight:400;font-size:26px;letter-spacing:.22em;color:var(--steel);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(--steel);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(--ocean)}.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-cloud)}.photo-zoom img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.photo-zoom:hover img{transform:scale(1.02)}.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;padding:100px 0}@media(max-width:980px){.hero-grid{grid-template-columns:1fr;gap:40px;padding:60px 0}}.hero-image-frame{aspect-ratio:4/5;overflow:hidden;border:1px solid var(--line);background:var(--paper-cloud)}.hero-image-frame img{width:100%;height:100%;object-fit:cover}.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}@media(max-width:880px){.svc-grid{grid-template-columns:1fr}}.svc-card{background:var(--paper);border:1px solid var(--line-soft);padding:38px 30px;transition:border-color .25s ease,transform .25s ease;position:relative}.svc-card:hover{border-color:var(--ocean);transform:translateY(-2px)}.svc-num{font-family:Tenor Sans,serif;font-size:14px;letter-spacing:.2em;color:var(--gold);margin-bottom:14px}.accent-band{background:var(--paper-cloud);border-left:3px solid var(--ocean);padding:22px 28px;margin:30px 0}.block{padding:110px 0}.block.paper{background:var(--paper)}.block.paper2{background:var(--paper-cloud)}.block.paper3{background:var(--paper-off)}.block .container,.block>.container-narrow{max-width:1180px;margin:0 auto;padding:0 32px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:28px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}@media(max-width:880px){.grid-2,.grid-3{grid-template-columns:1fr}}.card{background:#fff;border:1px solid var(--line);padding:28px}.card-num{font-family:Tenor Sans,serif;color:var(--ocean);font-size:18px;letter-spacing:.2em;margin-bottom:8px}.section-deco{width:56px;height:1px;background:var(--ocean);margin:12px 0 28px}.list-clean{list-style:none;padding:0}.list-clean li{padding:14px 0;border-bottom:1px solid var(--line-soft);font-size:14.5px;line-height:1.95;color:var(--ink-soft)}.timeline{list-style:none;padding:0}.timeline li{padding:16px 0;border-bottom:1px solid var(--line-soft);font-size:14.5px;color:var(--ink-soft)}.timeline li strong{display:inline-block;min-width:100px;font-family:Tenor Sans,serif;color:var(--ocean);margin-right:14px;letter-spacing:.18em}.btn-copper{background:var(--ocean);border-color:var(--ocean);color:#fff}.btn-copper:hover{background:var(--steel);border-color:var(--steel)}.page-hero{text-align:center;padding:100px 32px 60px;max-width:980px;margin:0 auto}.page-hero .page-en{font-family:Tenor Sans,serif;color:var(--ocean);font-size:24px;letter-spacing:.22em;margin-bottom:14px}.page-hero h1{font-family:"Noto Serif JP",serif;font-weight:600;font-size:clamp(32px,4.2vw,44px);color:var(--steel);letter-spacing:.04em}:root{--navy: var(--steel);--gray: var(--ink-soft);--teal: var(--ocean);--copper: var(--ocean);--copper-deep: var(--ocean);--gold-soft: var(--gold-soft);--steel-color: var(--steel-deep);--steel-2: var(--line);--orange-dark: var(--gold);--pure: #fff}
