@import "https://cdn.jsdelivr.net/npm/@fontsource/line-seed-jp@5.0.0/400.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/line-seed-jp@5.0.0/700.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/line-seed-jp@5.0.0/800.css";
@import "https://fonts.googleapis.com/css2?family=Jost:wght@300;400;500&display=swap";
:root{--cream:#f0ebe4;--dark:#0a0f14;--navy:#003854;--yellow:#fdd108;--futura:"Futura", "Futura PT", "Avenir Next", "Century Gothic", "Jost", sans-serif;--lineseed:"LINE Seed JP", "Noto Sans JP", sans-serif;--ink:#2c2c2c;--ink-sub:#2c2c2c80;--ink-light:#2c2c2c4d}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--lineseed);background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;letter-spacing:.02em;font-size:15px;line-height:1.9;overflow-x:hidden}a{color:inherit;text-decoration:none}.grain{z-index:9;pointer-events:none;opacity:.045;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.amb{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.ah{opacity:0;animation:linear infinite ambRise;position:absolute}@keyframes ambRise{0%{opacity:0;transform:translateY(20px)scale(.7)rotate(-6deg)}14%{opacity:.5}86%{opacity:.42}to{opacity:0;transform:translateY(-470px)scale(1.05)rotate(8deg)}}@keyframes heroKen{0%{transform:scale(1)}to{transform:scale(1.12)}}@keyframes heroIn{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}@keyframes shine{0%{background-position:220% 0}to{background-position:-220% 0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.hero-bg,.hero-content>*,.hero-heading .acc{animation:none!important}.hero-content>*{opacity:1!important}}.nav{z-index:60;-webkit-backdrop-filter:blur(12px);background:#f0ebe4c7;justify-content:space-between;align-items:center;padding:20px 40px;transition:padding .45s cubic-bezier(.16,1,.3,1),background .45s,box-shadow .45s;display:flex;position:fixed;top:0;left:0;right:0}.nav.scrolled{background:#f0ebe4f0;padding:14px 40px;box-shadow:0 1px #00385414,0 10px 30px #0038540d}.nav-logo{display:flex}.nav-logo img{width:auto;height:50px;transition:height .45s cubic-bezier(.16,1,.3,1);display:block}.nav.scrolled .nav-logo img{height:40px}.nav-links{color:var(--navy);letter-spacing:.04em;gap:34px;font-size:13px;font-weight:400;display:flex}.nav-links a{color:var(--navy);padding-bottom:3px;position:relative}.nav-links a:after{content:"";background:var(--navy);width:0;height:1px;transition:width .4s cubic-bezier(.16,1,.3,1);position:absolute;bottom:0;left:0}.nav-links a:hover:after{width:100%}.nav-toggle{cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:34px;height:34px;margin-right:-6px;padding:0;display:none}.nav-toggle-bar{background:var(--navy);border-radius:2px;width:26px;height:1.6px;transition:transform .38s cubic-bezier(.16,1,.3,1),opacity .3s}.nav-toggle .o1{transform:translateY(3.8px)rotate(45deg)}.nav-toggle .o2{transform:translateY(-3.8px)rotate(-45deg)}.nav-menu{z-index:55;-webkit-backdrop-filter:blur(8px);background:#f0ebe4f7;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.nav-menu-links{flex-direction:column;align-items:center;gap:30px;display:flex}.nav-menu-links a{letter-spacing:.1em;color:var(--navy);font-size:23px;font-weight:700;text-decoration:none}.brand{flex-direction:column;align-items:center;line-height:1;display:flex}.brand .en{font-family:var(--futura);letter-spacing:.4em;color:var(--navy);padding-left:.4em;font-size:18px;font-weight:500}.brand .ja{letter-spacing:.42em;color:var(--navy);margin-top:8px;padding-left:.42em;font-size:9px}.nav-back{letter-spacing:.06em;color:var(--navy);border-bottom:1px dashed #0038544d;padding-bottom:3px;font-size:12px;transition:border-color .3s}.nav-back:hover{border-bottom-color:var(--yellow);border-bottom-style:solid}.hero{width:100%;height:100vh;min-height:700px;position:relative;overflow:hidden}.hero:after{content:"";background:linear-gradient(to bottom, #f0ebe400, var(--cream));z-index:1;pointer-events:none;height:24%;position:absolute;bottom:0;left:0;right:0}.hero-bg{will-change:transform, background-position;background:url(/hero_photo.jpg) 50% 38%/cover no-repeat;animation:26s ease-in-out infinite alternate heroKen;position:absolute;inset:0}.hero-overlay{background:#f0ebe466;position:absolute;inset:0}.hero-content{z-index:2;text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;max-width:1180px;height:100%;margin:0 auto;padding:100px 40px 60px;display:flex;position:relative}.hero-content>*{opacity:0;animation:1.1s cubic-bezier(.16,1,.3,1) forwards heroIn}.hero-content>:first-child{animation-delay:.15s}.hero-content>:nth-child(2){animation-delay:.3s}.hero-content>:nth-child(3){animation-delay:.45s}.hero-content>:nth-child(4){animation-delay:.6s}.hero-content>:nth-child(5){animation-delay:.75s}.hero-lead{justify-content:flex-start;align-items:center;gap:16px;margin-bottom:14px;display:flex}.hero-lead-line{background:var(--yellow);width:40px;height:2px}.hero-lead-text{font-family:var(--futura);color:var(--navy);letter-spacing:.06em;font-size:16px;font-style:italic;font-weight:300}.hero-heading{color:var(--navy);letter-spacing:.03em;margin-bottom:40px;font-size:44px;font-weight:800;line-height:1.45}.hero-heading .acc{color:#e0b40a;white-space:nowrap;font-style:italic;position:relative}.hero-heading .acc:after{content:"";background:linear-gradient(90deg,#fdd10800 0%,#fdd108 22% 78%,#fdd10800 100%);border-radius:3px;height:4px;position:absolute;bottom:-3px;left:3%;right:3%}.hero-sub{color:var(--navy);letter-spacing:.04em;margin-bottom:20px;font-size:18px;font-weight:700;line-height:1.7}.hero-body{color:#00385499;letter-spacing:.04em;max-width:520px;margin-bottom:28px;font-size:14px;line-height:2}.hero-body p{margin-bottom:14px}.hero-body p:last-child{margin-bottom:0}.hero-link{color:var(--navy);letter-spacing:.06em;border-bottom:1px dashed #0038544d;padding-bottom:4px;font-size:14px;font-weight:700;transition:color .3s,border-color .3s}.hero-link:hover{border-bottom-style:solid;border-bottom-color:var(--yellow)}.hero-footer{z-index:2;justify-content:space-between;align-items:flex-end;display:flex;position:absolute;bottom:32px;left:40px;right:40px}.hero-footer-logo img{opacity:.7;width:70px;height:auto}.hero-footer-social{color:var(--navy);letter-spacing:.04em;gap:24px;margin-top:12px;font-size:13px;display:flex}.hero-footer-right{font-family:var(--futura);color:#00385480;letter-spacing:.1em;text-align:right;font-size:12px;font-weight:300}.sec{max-width:1180px;margin:0 auto;padding:100px 40px;position:relative}.divider{background:#0038540f;height:1px;margin:0 40px}.overline{font-family:var(--futura);letter-spacing:.22em;color:#00385440;text-transform:uppercase;margin-bottom:24px;font-size:10px}.sec-heading{color:var(--navy);letter-spacing:.04em;margin-bottom:24px;font-size:26px;font-weight:800;line-height:1.6}.sec-body{color:var(--ink-sub);letter-spacing:.04em;max-width:460px;margin-bottom:28px;font-size:14px;line-height:2.2}.sec-body,.sec-p,.page-lead,.hero-body p,.hero-sub{text-wrap:pretty}.sec-link{color:var(--navy);letter-spacing:.06em;border-bottom:1px dashed #0038544d;padding-bottom:3px;font-size:13px;font-weight:700;transition:color .3s,border-color .3s}.sec-link:hover{border-bottom-style:solid;border-bottom-color:var(--yellow)}.sec-about{grid-template-columns:1.35fr 1fr;align-items:center;gap:64px;display:grid}.sec-img{border-radius:18px;overflow:hidden;box-shadow:0 36px 70px -42px #0038544d}.sec-img img{width:100%;height:auto;display:block}.svc-heading{color:var(--navy);letter-spacing:.08em;text-align:center;margin-bottom:48px;font-size:16px;font-weight:800}.svc-list{max-width:720px;margin:0 auto}.svc-item{border-top:1px solid #0038540f;grid-template-columns:40px 1fr;align-items:baseline;gap:20px;padding:28px 0;transition:transform .4s cubic-bezier(.16,1,.3,1);display:grid}.svc-item:last-child{border-bottom:1px solid #0038540f}.svc-item:hover{transform:translate(8px)}.svc-item:hover .svc-num{color:var(--yellow)}.svc-num{font-family:var(--futura);color:#0038541a;font-size:28px;font-weight:300;line-height:1;transition:color .4s}.svc-title{color:var(--navy);letter-spacing:.04em;margin-bottom:6px;font-size:16px;font-weight:700;line-height:1.6}.svc-desc{color:var(--ink-sub);letter-spacing:.04em;font-size:13px;line-height:1.9}.sec-cta-dark{background:var(--navy);text-align:center;padding:100px 40px;position:relative;overflow:hidden}.cta-heading{color:#ffffffe6;letter-spacing:.04em;margin-bottom:12px;font-size:28px;font-weight:700;line-height:1.6}.cta-heading em{color:var(--yellow);font-style:normal}.cta-sub{font-family:var(--futura);color:#ffffff40;letter-spacing:.14em;margin-bottom:36px;font-size:12px}.cta-btn{background:var(--yellow);color:var(--navy);letter-spacing:.08em;border-radius:999px;padding:16px 56px;font-size:15px;font-weight:800;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s;display:inline-block;position:relative;overflow:hidden}.cta-btn:hover{transform:translateY(-3px);box-shadow:0 16px 34px #fdd10857}.cta-btn:after{content:"";background:linear-gradient(120deg,#0000,#ffffffb3,#0000);width:45%;height:100%;transition:left .7s cubic-bezier(.16,1,.3,1);position:absolute;top:0;left:-70%;transform:skew(-22deg)}.cta-btn:hover:after{left:130%}.sec-couns{grid-template-columns:1fr 1fr;align-items:center;gap:60px;display:grid}.sec-line{background:var(--yellow);justify-content:space-between;align-items:center;padding:52px 40px;display:flex}.line-heading{color:var(--dark);letter-spacing:.04em;font-size:20px;font-weight:800}.line-sub{color:#0a0f1466;letter-spacing:.06em;margin-top:6px;font-size:12px}.line-btn{letter-spacing:.12em;color:var(--dark);border:1.5px solid var(--dark);border-radius:999px;padding:14px 36px;font-size:13px;font-weight:700;transition:background .35s,color .35s,transform .35s;display:inline-block}.line-btn:hover{background:var(--dark);color:var(--yellow);transform:translateY(-2px)}.footer{background:var(--dark);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:36px 40px;display:flex}.ft-logo{font-family:var(--futura);letter-spacing:.24em;color:#ffffff6b;font-size:10px}.ft-links{letter-spacing:.08em;flex-wrap:wrap;gap:22px;font-size:10px;display:flex}.ft-links a{color:#ffffff8c;transition:color .3s}.ft-links a:hover{color:#ffffffe6}.ft-copy{color:#ffffff59;font-size:9px}section[id]{scroll-margin-top:96px}.page{z-index:1;max-width:780px;margin:0 auto;padding:150px 32px 96px;animation:1s cubic-bezier(.16,1,.3,1) both fadeUp;position:relative}.page-title{color:var(--navy);letter-spacing:.04em;margin-bottom:16px;font-size:30px;font-weight:800;line-height:1.45}.philosophy{color:var(--navy);letter-spacing:.03em;margin-bottom:14px;font-size:19px;font-weight:700;line-height:1.85}.philosophy .acc{color:#caa400;font-style:italic}.page-lead{color:var(--ink-sub);max-width:640px;margin-bottom:10px;font-size:13.5px;line-height:2.1}.updated{font-family:var(--futura);letter-spacing:.1em;color:#00385459;margin-bottom:52px;font-size:11px}.dl{border-top:1px solid #00385424}.row{border-bottom:1px solid #0038541a;grid-template-columns:200px 1fr;align-items:start;gap:28px;padding:24px 2px;display:grid}.row dt{color:var(--navy);letter-spacing:.05em;font-size:13px;font-weight:700;line-height:1.8}.row dd{color:var(--ink);font-size:14px;line-height:2}.row dd a{color:var(--navy);border-bottom:1px dashed #00385459;transition:border-color .3s}.row dd a:hover{border-bottom-color:var(--yellow);border-bottom-style:solid}.note{color:var(--ink-sub);border-left:2px solid var(--yellow);background:#00385409;margin-top:48px;padding:22px 24px;font-size:12px;line-height:2}.sec-h{color:var(--navy);letter-spacing:.03em;align-items:baseline;gap:13px;margin:46px 0 14px;font-size:17px;font-weight:800;line-height:1.6;display:flex}.sec-h .no{font-family:var(--futura);color:#caa400;letter-spacing:.06em;flex:none;font-size:13px;font-weight:400}.sec-p{color:var(--ink);margin-bottom:10px;font-size:14px;line-height:2.05}.sec-p a{color:var(--navy);border-bottom:1px dashed #00385459;transition:border-color .3s}.sec-p a:hover{border-bottom-color:var(--yellow);border-bottom-style:solid}ul.list{margin:6px 0 12px;padding-left:0;list-style:none}ul.list li{color:var(--ink);margin-bottom:3px;padding-left:18px;font-size:14px;line-height:2;position:relative}ul.list li:before{content:"";background:var(--yellow);border-radius:50%;width:5px;height:5px;position:absolute;top:13px;left:0}@media (max-width:820px){.sec-about,.sec-couns{grid-template-columns:1fr;gap:32px}.hero-heading{font-size:34px}}@media (max-width:620px){.nav{padding:14px 20px}.nav-links{display:none}.nav-toggle{display:flex}.nav-logo img{height:38px}.hero{height:100svh;min-height:560px}.hero-overlay{background:linear-gradient(#f0ebe480 0%,#f0ebe44d 44%,#f0ebe4a3 100%)}.hero-content{padding:84px 24px 120px}.hero-lead-text{font-size:14px}.hero-heading{margin-bottom:22px;font-size:28px;line-height:1.55}.hero-heading .mb-br{display:inline}.hero-sub{margin-bottom:16px;font-size:16px}.hero-body{margin-bottom:22px;font-size:13px;line-height:1.95}.hero-footer{align-items:center;bottom:20px;left:20px;right:20px}.hero-footer-logo img{width:50px}.hero-footer-right{display:none}.hero-footer-social{gap:18px;font-size:12px}.sec,.sec-cta-dark,.sec-line{padding:66px 22px}.sec-heading{font-size:22px}.cta-heading{font-size:23px}.sec-line{text-align:center;flex-direction:column;gap:18px}.svc-item{grid-template-columns:30px 1fr;gap:14px}.svc-num{font-size:24px}.page{padding:120px 22px 64px}.page-title{font-size:23px}.philosophy{font-size:17px}.row{grid-template-columns:1fr;gap:6px;padding:20px 2px}.row dt{color:#0038548c;font-size:12px}.footer{flex-direction:column;align-items:flex-start}}.mb-br{display:none}.intro-stage{z-index:9999;pointer-events:none;perspective:1700px;perspective-origin:50%;position:fixed;inset:0;overflow:hidden}.intro-panel{background:var(--cream);will-change:transform;backface-visibility:hidden;width:50.6%;position:absolute;top:0;bottom:0}.intro-panel.left{transform-origin:0;left:0;box-shadow:inset -34px 0 56px -34px #00385429}.intro-panel.right{transform-origin:100%;right:0;box-shadow:inset 34px 0 56px -34px #00385429}.intro-seam{background:linear-gradient(#0000,#f4c41f8c,#0000);width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.intro-center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.intro-mark{justify-content:center;align-items:center;width:110px;height:110px;margin-bottom:26px;display:flex;position:relative}.intro-ring{border:1.5px solid #f4c41f99;border-radius:50%;position:absolute;inset:6px}.intro-heart{filter:drop-shadow(0 8px 26px #f4c41f80);width:92px;height:92px}.intro-word{font-family:var(--futura);letter-spacing:.5em;color:var(--navy);padding-left:.5em;font-size:33px;font-weight:500;line-height:1}.intro-sub{letter-spacing:.42em;color:#00385480;margin-top:13px;padding-left:.42em;font-size:11px}
