:root{--paper:#f5f4f1;--paper2:#edebe6;--ink:#2a2a2e;--ink-soft:#6a675f;--murasaki:#5a4b79;--murasaki-soft:#8a7ba8;--murasaki-pale:#c4bad9;--line:#2a2a2e24}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:90px}body{font-family:var(--sans);background:var(--paper);color:var(--ink);letter-spacing:.05em;-webkit-font-smoothing:antialiased;font-size:15px;line-height:2.1}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.serif{font-family:var(--serif)}.f-header{z-index:100;justify-content:space-between;align-items:center;height:78px;padding:0 clamp(20px,4vw,52px);transition:background .35s,box-shadow .35s;display:flex;position:fixed;inset:0 0 auto}.f-header.scrolled{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line);background:#f5f4f1f0}.f-logo{align-items:center;gap:10px;line-height:1;display:flex}.f-logo img{width:auto;height:19px}.f-logo .for{line-height:1;font-family:var(--serif);color:var(--murasaki);letter-spacing:.2em;align-items:center;font-size:15px;display:inline-flex;transform:translateY(-1px)}.f-nav{align-items:center;gap:clamp(16px,2.4vw,32px);display:flex}.f-nav a{letter-spacing:.14em;padding:6px 0;font-size:13px;position:relative}.f-nav a:after{content:"";background:var(--murasaki);width:0;height:1px;transition:width .3s,left .3s;position:absolute;bottom:0;left:50%}.f-nav a:hover:after{width:100%;left:0}.fbtn{letter-spacing:.14em;background:var(--ink);color:var(--paper);align-items:center;gap:10px;padding:14px 34px;font-size:13.5px;font-weight:700;transition:background .3s,transform .2s;display:inline-flex}.fbtn:hover{background:var(--murasaki);transform:translateY(-2px)}.fbtn:after{display:none!important}.fbtn.mura{background:var(--murasaki);color:#fff}.fbtn.mura:hover{background:var(--ink)}.fbtn.ghost{border:1px solid var(--ink);color:var(--ink);background:0 0}.fbtn.ghost:hover{background:var(--ink);color:var(--paper)}.f-nav .fbtn{padding:10px 22px;font-size:12.5px}.f-menu{display:none}.f-hero{line-break:strict;min-height:96svh;word-break:auto-phrase;flex-direction:column;justify-content:center;padding:130px clamp(20px,6vw,80px) 90px;display:flex;position:relative;overflow:hidden}.f-hero:before{content:"";background:linear-gradient(180deg,transparent,var(--murasaki-soft) 30%,var(--murasaki-soft) 70%,transparent);opacity:.5;width:1px;position:absolute;top:0;bottom:0;right:clamp(20px,12vw,200px)}.f-hero-inner{width:100%;max-width:1160px;margin:0 auto}.f-eyebrow{letter-spacing:.34em;color:var(--murasaki);align-items:center;gap:16px;margin-bottom:30px;font-size:12px;display:flex}.f-eyebrow:before{content:"";background:var(--murasaki);width:44px;height:1px}.f-hero h1{font-family:var(--serif);letter-spacing:.01em;font-size:clamp(30px,5vw,58px);font-weight:600;line-height:1.6}.f-hero .lead{max-width:36em;color:var(--ink-soft);margin-top:30px;font-size:clamp(13.5px,1.2vw,15px);line-height:2.4}.f-cta-row{flex-wrap:wrap;gap:16px;margin-top:42px;display:flex}.f-section{--f-pad-x:clamp(20px,6vw,80px);padding:clamp(90px,12vw,160px) var(--f-pad-x);line-break:strict;word-break:auto-phrase}.f-wrap{max-width:1160px;margin:0 auto}.f-wrap-n{max-width:840px;margin:0 auto}.f-head{margin-bottom:clamp(44px,6vw,72px)}.f-head h2{font-family:var(--serif);letter-spacing:.01em;font-size:clamp(30px,4vw,48px);font-weight:700;line-height:1.45}.f-head .desc{color:var(--ink-soft);max-width:40em;margin-top:20px;font-size:16px}.f-head.center{text-align:center}.f-head.center .desc{margin-left:auto;margin-right:auto}.f-head h2,.f-story h3,.f-story-resolution h4,.f-supervisor h3,.f-support-block h3,.f-int-card blockquote,.f-faq summary,.f-cta h2{text-wrap:balance}.f-nowrap{white-space:nowrap}.reveal{opacity:1;transform:none}@supports (animation-timeline:view()){.reveal{animation:.9s both reveal-in;animation-timeline:view();animation-range:entry cover 22%}@keyframes reveal-in{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}}.f-biz .f-head .desc{max-width:none}.f-intro{padding-bottom:clamp(64px,8vw,104px)}.f-intro .f-head{margin-bottom:0}.f-intro .f-head h2{font-size:clamp(25px,3vw,36px);line-height:1.5}.f-biz+.f-biz{padding-top:0}.f-sec-band{margin:0 calc(var(--f-pad-x) * -1) clamp(44px,6vw,72px);padding:clamp(56px,7vw,96px) var(--f-pad-x);background:var(--paper2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.f-sec-band .f-head{margin-bottom:0}.f-link{color:var(--murasaki);align-items:center;gap:10px;margin-top:12px;font-size:13px;font-weight:700;display:inline-flex}.f-link:hover{text-underline-offset:4px;text-decoration:underline}.f-story{border-top:1px solid var(--line);padding:clamp(58px,7vw,96px) 0}.f-story:first-child{border-top:0;padding-top:0}.f-story:last-child{padding-bottom:0}.f-story-label{letter-spacing:.08em;color:var(--murasaki);font-size:13px;font-weight:700;line-height:1.6}.f-story h3{font-family:var(--serif);letter-spacing:.02em;margin-top:10px;font-size:clamp(23px,3vw,34px);font-weight:700;line-height:1.5}.f-story-problem{color:#4c4a45;margin-top:20px;font-size:16px;line-height:2}.f-story-resolution{margin-top:28px}.f-story-resolution h4{font-family:var(--serif);letter-spacing:.02em;margin-top:10px;font-size:clamp(20px,2.2vw,26px);font-weight:700;line-height:1.55}.f-story-text{margin-top:16px;font-size:16px;line-height:2}.f-story-text+.f-story-text{margin-top:1.3em}.f-story-resolution+.f-link{margin-top:20px}.f-story-numbers{margin-top:clamp(36px,4vw,48px)}.f-evidence{border-left:2px solid var(--murasaki-soft);margin-top:10px;padding-left:clamp(16px,2vw,24px)}.f-evidence .figures{flex-wrap:wrap;gap:16px clamp(40px,5vw,72px);display:flex}.f-evidence .figures p{flex-direction:column;display:flex}.f-evidence .figures span{color:var(--ink-soft);font-size:14px;font-weight:700;line-height:1.7}.f-evidence strong{font-family:var(--serif);font-size:clamp(30px,3.2vw,36px);font-weight:700;line-height:1.3}.f-evidence dl{color:var(--ink-soft);margin-top:10px;font-size:13px;line-height:1.8}.f-evidence dt,.f-evidence dd{display:inline}.f-evidence dt:after{content:"："}.f-evidence dd a{color:var(--murasaki);text-underline-offset:3px;text-decoration:underline}.f-support{background:var(--ink);color:var(--paper)}.f-support .f-head h2{color:var(--paper)}.f-supervisor .role{letter-spacing:.2em;color:var(--murasaki-pale);border:1px solid #c4bad98c;padding:4px 16px;font-size:11.5px;display:inline-block}.f-supervisor .title{letter-spacing:.08em;color:#f5f4f1a6;margin-top:18px;font-size:13px}.f-supervisor h3{font-family:var(--serif);letter-spacing:.04em;margin-top:4px;font-size:clamp(23px,3vw,34px);font-weight:700;line-height:1.5}.f-supervisor .career{color:#f5f4f1b8;margin-top:16px;font-size:16px;line-height:2}.f-support-block{border-top:1px solid #8a7ba873;margin-top:clamp(56px,7vw,88px);padding-top:clamp(28px,3.4vw,40px)}.f-support-block h3{font-family:var(--serif);letter-spacing:.02em;color:var(--paper);font-size:clamp(23px,3vw,34px);font-weight:700;line-height:1.5}.f-support-block p{color:#f5f4f1b8;margin-top:16px;font-size:16px;line-height:2}.f-int-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(18px,2.4vw,30px);display:grid}.f-int-card{border:1px solid var(--line);background:#fff;padding:clamp(28px,3.4vw,44px);transition:transform .3s,box-shadow .3s;position:relative}.f-int-card:hover{transform:translateY(-4px);box-shadow:0 26px 50px -34px #2a2a2e73}.f-int-card .quote-mark{font-family:var(--serif);color:var(--murasaki-soft);margin-bottom:10px;font-size:56px;line-height:1;display:block}.f-int-card blockquote{font-family:var(--serif);letter-spacing:.02em;font-size:clamp(20px,2.2vw,26px);font-weight:600;line-height:1.8}.f-int-card .meta{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding-top:20px;display:flex}.f-int-card .who{color:var(--ink-soft);font-size:12.5px;line-height:1.8}.f-int-card .who b{color:var(--ink);font-size:13.5px;display:block}.f-int-card .read{letter-spacing:.16em;color:var(--murasaki);align-items:center;gap:8px;font-size:12px;font-weight:700;display:inline-flex}.f-int-card .read .arrow{transition:transform .25s}.f-int-card:hover .read .arrow{transform:translate(4px)}.f-faq{background:var(--line);border:1px solid var(--line);gap:1px;display:grid}.f-faq details{background:var(--paper)}.f-faq summary{cursor:pointer;font-family:var(--serif);letter-spacing:.05em;align-items:baseline;gap:16px;padding:16px 56px 16px 24px;font-size:17px;font-weight:700;line-height:1.9;list-style:none;display:flex;position:relative}.f-faq summary::-webkit-details-marker{display:none}.f-faq summary:after{content:"";border-right:1px solid var(--murasaki);border-bottom:1px solid var(--murasaki);width:9px;height:9px;margin-top:-6px;transition:transform .3s;position:absolute;top:50%;right:26px;transform:rotate(45deg)}.f-faq details[open] summary:after{margin-top:-2px;transform:rotate(225deg)}.f-faq .qm{font-family:var(--serif);color:var(--murasaki);flex:none}.f-faq .ans{gap:16px;padding:0 24px 18px;display:flex}.f-faq .ans p{color:#4c4a45;font-size:16px;line-height:2}.f-trust{background:var(--paper2);border-top:1px solid var(--line)}.f-trust ul{grid-template-columns:repeat(2,1fr);gap:12px;max-width:780px;margin-top:8px;list-style:none;display:grid}.f-trust li{border:1px solid var(--line);background:#fff;align-items:baseline;gap:14px;padding:16px 20px;font-size:16px;display:flex}.f-trust li:before{content:"";background:var(--murasaki);flex:none;width:7px;height:7px;transform:rotate(45deg)}.f-trust .links{flex-wrap:wrap;gap:16px;margin-top:28px;display:flex}.f-cta{text-align:center;border-top:1px solid var(--line)}.f-cta h2{font-family:var(--serif);letter-spacing:.01em;font-size:clamp(30px,4vw,48px);font-weight:700;line-height:1.45}.f-cta p{color:var(--ink-soft);margin-top:20px;font-size:16px}.f-cta .f-cta-row{justify-content:center}.f-footer{background:var(--ink);color:var(--paper);padding:clamp(46px,6vw,68px) clamp(20px,6vw,80px) 30px}.f-footer .inner{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:32px;max-width:1160px;margin:0 auto;display:flex}.f-footer .f-logo img{filter:invert()brightness(2)}.f-footer .f-logo .for{color:var(--murasaki-soft)}.f-footer p.note{color:#f5f4f18c;margin-top:14px;font-size:12px;line-height:2}.f-footer nav{flex-wrap:wrap;gap:24px;display:flex}.f-footer nav a{letter-spacing:.1em;color:#f5f4f1bf;font-size:12.5px}.f-footer nav a:hover{color:var(--murasaki-soft)}.f-footer .bottom{color:#f5f4f173;letter-spacing:.14em;border-top:1px solid #f5f4f126;flex-wrap:wrap;justify-content:space-between;gap:14px;max-width:1160px;margin:40px auto 0;padding-top:20px;font-size:11.5px;display:flex}@media (max-width:960px){.f-trust ul{grid-template-columns:1fr}}@media (max-width:1023px){.f-nav{display:none}.f-menu{cursor:pointer;z-index:120;background:0 0;border:0;flex-direction:column;gap:5px;padding:10px;display:flex}.f-menu span{background:var(--ink);width:26px;height:1.5px;transition:all .3s}.f-header.menu-open .f-menu span:first-child{transform:translateY(6.5px)rotate(45deg)}.f-header.menu-open .f-menu span:nth-child(2){opacity:0}.f-header.menu-open .f-menu span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.f-header.menu-open,.f-header.scrolled.menu-open{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;background:0 0}.f-nav.open{background:#f5f4f1fa;flex-direction:column;justify-content:center;align-items:center;gap:26px;display:flex;position:fixed;inset:0}.f-nav.open a{font-size:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}html{scroll-behavior:auto}}:focus-visible{outline:2px solid var(--murasaki);outline-offset:3px}.site-root{font-family:var(--sans);--serif:var(--font-zen-old-mincho),"Zen Old Mincho","Hiragino Mincho ProN",serif;--sans:var(--font-zen-kaku),"Zen Kaku Gothic New",sans-serif}
