@charset "UTF-8";
h2,h3{text-wrap:balance}
:root{--paper:#f4f2eb;--ink:#214638;--ink-soft:#53685d;--line:#ccd2c5;--accent:#aa7957;--light:#e6ebdf;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Yu Gothic",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}a,button,input,textarea,select,summary{outline-offset:5px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent)}button:disabled{cursor:default}::selection{background:#d8e2cf}svg{display:block}p{line-height:2.05}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:500}.page-width{width:min(1280px,calc(100% - 112px));margin-inline:auto}.section-pad{padding-block:115px}.eyebrow,.section-label>span,.brand-latin,.hero-bottom,.service-number,.illustration-label,.step-index,.statement-foot,.footer-end{font-family:Arial,var(--sans);letter-spacing:.12em;font-size:10px;font-weight:500}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--ink);color:#fff;padding:14px}.skip-link:focus{top:10px}.site-header{height:108px;display:flex;align-items:center;justify-content:space-between;padding-inline:56px;border-bottom:1px solid var(--line);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand-symbol{width:43px;height:43px;fill:none;stroke:var(--ink);stroke-width:2.3}.brand-name{font-family:var(--serif);font-size:27px;font-weight:600;letter-spacing:.13em;line-height:1.2}.brand-latin{display:block;font-size:8px;letter-spacing:.28em;margin-top:8px;text-align:center}.desktop-nav{display:flex;gap:35px;align-items:center;font-size:12px}.desktop-nav>a{padding-block:12px;transition:opacity .2s}.desktop-nav>a:hover{opacity:.6}.desktop-nav .nav-contact{border:1px solid var(--ink);border-radius:99px;padding:12px 24px;display:flex;gap:35px;align-items:center}.nav-contact span{font-size:19px}.menu-button{display:none}.mobile-nav[hidden]{display:none}.hero{min-height:740px;height:calc(100svh - 108px);max-height:850px;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;position:relative;padding-bottom:65px;isolation:isolate}.hero-copy{position:relative;z-index:2;padding-bottom:15px}.hero .eyebrow{display:flex;gap:12px;align-items:center;margin:0 0 34px;font-size:10px}.tiny-line{display:inline-block;width:30px;height:1px;background:var(--ink)}h1{font-family:var(--serif);font-size:clamp(44px,4.7vw,72px);line-height:1.55;letter-spacing:.1em;margin:0 0 28px;white-space:nowrap}.marked-word{position:relative;display:inline-block}.marked-word svg{position:absolute;bottom:1px;left:-3%;width:105%;height:15px;fill:none;stroke:var(--accent);stroke-width:1.4}.hero-description{font-size:13px;line-height:2.2;letter-spacing:.025em;margin-bottom:33px}.text-link{font-size:12px;display:inline-flex;gap:26px;align-items:center}.circle-arrow{width:37px;height:37px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:19px;transition:background .2s,color .2s,transform .2s}.text-link:hover .circle-arrow{background:var(--ink);color:var(--paper);transform:rotate(45deg)}.hero-art{position:relative;margin:0 -30px 0 -25px}.thread-art{width:100%;overflow:visible}.thread-float{animation:float 10s ease-in-out infinite;transform-origin:center}.art-caption{display:flex;gap:12px;align-items:center;justify-content:center;font-size:10px;letter-spacing:.07em;margin-top:-15px}.sound-lines{height:20px;display:flex;align-items:center;gap:3px}.sound-lines i{width:2px;height:8px;background:var(--ink)}.sound-lines i:nth-child(2),.sound-lines i:nth-child(4){height:15px}.sound-lines i:nth-child(3){height:20px}.hero-bottom{position:absolute;bottom:28px;width:100%;display:flex;justify-content:space-between;font-size:9px;color:var(--ink-soft);gap:20px}.hero-bottom span{font-family:var(--sans);letter-spacing:.1em}.hero-bottom a{display:flex;gap:15px}.about{background:#e9ede2;border-block:1px solid #dce1d3}.about-layout{display:grid;grid-template-columns:1fr 2.1fr .45fr;gap:40px}.section-label>span{font-size:10px;color:var(--ink-soft)}.section-label p{font-size:12px;margin-top:16px}.about h2,.section-top h2,.faq h2{font-family:var(--serif);font-size:clamp(27px,2.65vw,38px);line-height:1.8;letter-spacing:.07em;margin:0 0 35px}.about-copy>p{font-size:13px;margin-bottom:22px;line-height:2.35;letter-spacing:.025em}.name-origin{display:flex;gap:18px;align-items:center;margin-top:35px}.name-origin p{margin:0}.name-origin strong{font-size:12px;font-weight:500;letter-spacing:.13em}.name-origin p span{font-size:10px;color:var(--ink-soft)}.small-knot{font-family:var(--serif);font-size:50px;color:#8e9f83;font-weight:400}.vertical-note{writing-mode:vertical-rl;justify-self:end;font-family:var(--serif);font-size:13px;letter-spacing:.25em;margin-top:8px}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:58px}.section-top h2{margin:17px 0 0}.section-top>p{font-size:12px;line-height:2;margin-bottom:8px;color:var(--ink-soft)}.service-row{display:grid;grid-template-columns:45px 240px 1fr 50px;gap:35px;align-items:center;border-top:1px solid var(--line);padding:36px 0}.service-row:last-child{border-bottom:1px solid var(--line)}.service-number{align-self:start;margin-top:13px;font-size:12px;color:var(--ink-soft)}.service-illustration{height:180px;position:relative;overflow:hidden;background:#e5e9df}.service-copy .eyebrow{font-size:9px;color:var(--ink-soft);margin:0 0 9px}.service-copy h3{font-family:var(--serif);font-size:26px;letter-spacing:.05em;margin:0 0 13px}.service-copy>p:not(.eyebrow){font-size:12px;margin:0 0 17px;max-width:430px;line-height:1.9}.service-tag{font-size:10px;display:inline-block;border:1px solid var(--line);border-radius:30px;padding:5px 13px;color:var(--ink-soft)}.service-link{width:43px;height:43px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:23px;transition:background .2s,color .2s}.service-link:hover{background:var(--ink);color:var(--paper)}.illustration-label{position:absolute;bottom:13px;left:15px;font-size:7px;letter-spacing:.17em;opacity:.7}.record{width:118px;height:118px;border-radius:50%;background:repeating-radial-gradient(#365849 0px,#365849 2px,#426352 3px,#426352 4px);position:absolute;left:58px;top:24px;box-shadow:8px 12px 22px #223b2b15}.record:before{content:"";width:34px;height:34px;background:#b4be9e;border-radius:50%;position:absolute;left:42px;top:42px}.record span{position:absolute;left:57px;top:57px;width:4px;height:4px;background:var(--paper);border-radius:50%}.waveform{position:absolute;top:60px;left:29px;display:flex;height:45px;gap:5px;align-items:center;transform:rotate(-12deg)}.waveform i{width:2px;background:#d6ba94;height:22px}.waveform i:nth-child(3n){height:43px}.waveform i:nth-child(3n + 1){height:12px}.film-art{background:#e9dfd2}.film-frame{position:absolute;width:143px;height:92px;border-radius:3px}.frame-back{top:30px;left:35px;background:#b39f86;transform:rotate(-13deg);opacity:.45}.frame-front{top:39px;left:53px;background:#f4ebdb;transform:rotate(7deg);overflow:hidden;border:5px solid #446253;box-shadow:6px 8px 12px #3c402015}.film-sun{width:27px;height:27px;position:absolute;top:12px;right:23px;background:#c49564;border-radius:50%}.film-landscape{width:180px;height:90px;position:absolute;bottom:-58px;left:-10px;border-radius:50%;transform:rotate(-15deg);background:#a5b09a}.film-play{position:absolute;font-family:Arial;font-size:34px;left:50px;top:16px;color:var(--ink)}.live-art{background:#dfe6df}.live-orbit{position:absolute;border:1px solid #9aaa99;left:38px;top:23px;width:161px;height:112px;border-radius:50%}.orbit-one{transform:rotate(-30deg)}.orbit-two{transform:rotate(30deg)}.live-core{position:absolute;top:64px;left:60px;padding:12px 15px;border-radius:22px;background:#f5f3e9;box-shadow:0 5px 15px #21463812;font-family:Arial;font-size:11px;letter-spacing:.15em;display:flex;align-items:center;gap:8px}.live-core span{width:6px;height:6px;border-radius:50%;background:#af7757}.orbit-point{position:absolute;width:12px;height:12px;border-radius:50%;background:#7d987e}.point-one{top:35px;left:166px}.point-two{top:116px;left:51px;background:#b99165}.statement{background:var(--ink);color:var(--paper);overflow:hidden}.statement-inner{text-align:center;padding-top:84px;position:relative}.statement .eyebrow{font-size:9px;letter-spacing:.2em;color:#b7c8b0;margin-bottom:28px}.statement h2{font-family:var(--serif);font-size:clamp(27px,3vw,40px);line-height:1.9;letter-spacing:.08em;margin:0 0 25px}.statement p:not(.eyebrow){font-size:12px;line-height:2.1;color:#d2ddcc}.statement svg{margin:10px auto -5px;width:100%;height:150px;fill:none;stroke:#b8bd90;stroke-width:1.3;opacity:.8}.statement-foot{padding:24px 0;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff25;color:#bdcbbb;font-size:8px}.process-list{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);padding:0;margin:0;border-top:1px solid var(--line)}.process-list li{padding:30px 27px 0 0;position:relative}.process-list li+li{padding-left:27px;border-left:1px solid var(--line)}.step-index{font-size:9px;color:var(--accent);display:block;margin-bottom:25px}.process-list h3{font-family:var(--serif);font-size:24px;letter-spacing:.05em;margin-bottom:18px}.process-list p{font-size:12px;color:var(--ink-soft);line-height:2.05;margin-bottom:0}.faq{padding-bottom:115px;display:grid;grid-template-columns:1fr 1.3fr;gap:50px}.faq h2{font-size:23px;line-height:1.7;margin-top:20px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}summary{padding:23px 0;display:flex;gap:20px;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;font-size:12px;line-height:1.9}summary::-webkit-details-marker{display:none}summary>span{flex-shrink:0;font-size:19px;font-weight:300}details[open] summary>span{transform:rotate(45deg)}details p{font-size:12px;line-height:2.1;color:var(--ink-soft);padding-right:20px;margin:0 0 24px}.contact{background:#e4eadc;position:relative;overflow:hidden}.contact-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center}.contact h2{font-family:var(--serif);font-size:clamp(38px,3.8vw,52px);line-height:1.65;letter-spacing:.08em;margin:23px 0}.contact p{font-size:12px;line-height:2.1}.contact-button{display:inline-flex;justify-content:space-between;align-items:center;gap:55px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:50px;padding:19px 27px;min-height:58px;margin-top:14px;font-size:13px;transition:background .2s,transform .2s}.contact-button:hover{background:#345c49;transform:translateY(-2px)}.contact-button span{font-size:20px}.contact .contact-note{font-size:10px;color:var(--ink-soft);margin-top:19px}.contact-knot{position:relative;transform:rotate(-8deg)}.contact-knot svg{width:100%;fill:none;stroke:#91a282;stroke-width:2}.contact-knot>span{font-family:Arial;font-size:9px;line-height:1.7;letter-spacing:.2em;position:absolute;bottom:0;right:15px;transform:rotate(8deg)}.site-footer{min-height:170px;display:flex;align-items:center;gap:65px;padding-block:40px}.site-footer .brand-name{font-size:24px}.site-footer>p{font-size:10px;color:var(--ink-soft);line-height:2;margin:0}.site-footer>p>span{font-size:9px}.footer-end{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:22px;font-size:8px}.footer-end small{font-size:9px;color:var(--ink-soft)}dialog{border:0;border-radius:3px;background:var(--paper);color:var(--ink);padding:34px;width:min(570px,calc(100% - 32px));max-height:90svh;box-shadow:0 20px 100px #13291b35}dialog::backdrop{background:#13291b75;backdrop-filter:blur(5px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.dialog-top .eyebrow{font-size:9px;margin:0}.dialog-close{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:50%;width:38px;height:38px;font-size:25px;line-height:1}.dialog-intro{font-size:12px;color:var(--ink-soft)}dialog h2{font-family:var(--serif);font-size:29px;margin:20px 0 15px}form label,#brief-result>label{display:block;font-size:12px;margin:18px 0 9px}form label span{font-size:10px;color:var(--ink-soft);margin-left:5px}input,select,textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:2px;background:#ffffff65;color:var(--ink);font-size:13px}textarea{resize:vertical;line-height:1.8}input::placeholder,textarea::placeholder{color:#7d887c}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:15px}.privacy-note{font-size:10px;color:var(--ink-soft);margin-bottom:0}#brief-result{border-top:1px solid var(--line);margin-top:25px;padding-top:8px}#copy-status{font-size:12px;margin:12px 0 0;min-height:24px}.mobile-nav{display:none}@keyframes float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-9px) rotate(1deg)}}
@media(min-width:1550px){.hero{min-height:750px}.hero-art{margin-left:-15px;margin-right:-50px}}
@media(max-width:1100px){.page-width{width:calc(100% - 72px)}.site-header{padding-inline:36px}.desktop-nav{gap:20px;font-size:11px}.hero{min-height:650px;height:auto;padding-block:80px 110px}.hero-art{margin-left:-50px;margin-right:-15px}.hero-description{font-size:12px}h1{font-size:50px}.section-pad{padding-block:85px}.service-row{grid-template-columns:25px 190px 1fr 40px;gap:25px}.service-illustration{height:165px}.record{left:40px;top:20px}.waveform{left:15px}.frame-back{left:18px}.frame-front{left:30px}.live-orbit{left:13px}.live-core{left:35px}.point-one{left:141px}.point-two{left:26px}.service-copy h3{font-size:23px}.service-copy>p:not(.eyebrow){font-size:11px}.about-layout{grid-template-columns:.7fr 2fr .2fr}.faq{gap:30px;padding-bottom:85px}.site-footer{gap:35px}.contact-layout{gap:10px}}
@media(max-width:760px){html{scroll-padding-top:30px}.page-width{width:calc(100% - 44px)}.site-header{height:85px;padding-inline:22px}.brand-symbol{width:35px;height:35px}.brand-name{font-size:23px}.brand-latin{font-size:7px;margin-top:6px}.desktop-nav{display:none}.menu-button{display:flex;flex-direction:column;gap:7px;width:42px;height:42px;align-items:center;justify-content:center;background:transparent;border:1px solid var(--line);border-radius:50%;color:var(--ink)}.menu-button span{display:block;width:16px;height:1px;background:currentColor;transition:transform .2s}.menu-button[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-button[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav{position:absolute;top:84px;left:0;right:0;padding:20px 22px 30px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 14px 20px #223b2b08;display:flex;flex-direction:column;gap:3px}.mobile-nav a{padding:15px 0;font-size:14px}.hero{min-height:0;max-height:none;grid-template-columns:1fr;padding-block:56px 55px;gap:0}.hero-copy{padding-bottom:0}.hero .eyebrow{font-size:8px;letter-spacing:.1em;gap:8px;margin-bottom:23px}.tiny-line{width:21px}h1{font-size:clamp(35px,9.2vw,61px);letter-spacing:.08em;line-height:1.65;margin-bottom:22px}.hero-description{font-size:12px;line-height:2.1;margin-bottom:24px}.text-link{font-size:11px;gap:20px}.hero-art{width:min(420px,100%);justify-self:end;margin:-15px -7px 18px 0}.thread-art{max-height:350px;overflow:hidden}.art-caption{font-size:8px;margin-top:-12px}.hero-bottom{font-size:7px;bottom:20px;align-items:center;gap:8px}.hero-bottom>span{font-size:7px;letter-spacing:0}.hero-bottom a{font-size:7px;letter-spacing:.04em;gap:5px}.section-pad{padding-block:65px}.about-layout{grid-template-columns:1fr;gap:25px}.section-label>span{font-size:9px}.section-label p{display:none}.about h2{font-size:clamp(24px,5.9vw,33px);margin-bottom:25px;line-height:1.85}.about-copy>p{font-size:12px;line-height:2.25;margin-bottom:20px}.desktop-break{display:none}.vertical-note{display:none}.name-origin{margin-top:28px}.name-origin p span{font-size:9px}.section-top{display:block;margin-bottom:32px}.section-top h2{font-size:27px;line-height:1.6;margin-top:16px}.section-top>p{font-size:11px;margin-top:20px;margin-bottom:0}.service-row{grid-template-columns:1fr 44px;gap:0 16px;padding:28px 0;position:relative}.service-number{position:absolute;right:2px;top:24px;font-size:10px}.service-illustration{grid-column:1 / -1;width:100%;height:200px;margin-bottom:25px}.service-number{z-index:1;right:13px;top:29px}.record{left:calc(50% - 59px);top:28px;width:130px;height:130px}.record:before{left:48px;top:48px}.record span{left:63px;top:63px}.waveform{left:calc(50% - 95px);top:70px}.film-frame{width:162px;height:106px}.frame-back{left:calc(50% - 98px);top:33px}.frame-front{left:calc(50% - 75px);top:46px}.film-play{left:59px;top:22px}.film-landscape{height:100px;bottom:-52px}.film-sun{right:29px;top:16px}.live-orbit{left:calc(50% - 80px);top:32px}.live-core{left:calc(50% - 59px);top:75px}.point-one{left:calc(50% + 48px);top:44px}.point-two{left:calc(50% - 68px);top:125px}.service-copy h3{font-size:25px}.service-copy>p:not(.eyebrow){font-size:12px;line-height:1.95}.service-copy>p br{display:none}.service-tag{font-size:9px}.service-link{align-self:end;margin-bottom:2px}.service-copy .eyebrow{font-size:8px}.statement-inner{padding-top:65px}.statement .eyebrow{font-size:8px;letter-spacing:.09em;margin-bottom:24px}.statement h2{font-size:clamp(20px,5.3vw,30px);line-height:1.9;letter-spacing:.015em}.statement p:not(.eyebrow){font-size:11px}.statement svg{height:100px;width:150%;margin-left:-25%}.statement-foot{font-size:7px;padding:20px 0;letter-spacing:.05em;gap:15px}.statement-foot span:last-child{font-size:6px}.process-list{grid-template-columns:1fr 1fr;border-top:0;gap:32px 0}.process-list li{border-top:1px solid var(--line);padding:22px 20px 0 0}.process-list li+li{padding-left:20px}.process-list li:nth-child(3){padding-left:0;border-left:0}.step-index{margin-bottom:17px;font-size:8px}.process-list h3{font-size:22px;margin-bottom:13px}.process-list p{font-size:11px;line-height:2}.faq{grid-template-columns:1fr;gap:12px;padding-bottom:65px}.faq h2{font-size:26px;margin-bottom:20px}.faq summary{font-size:12px;padding-block:22px;gap:14px}.contact-layout{grid-template-columns:1fr;gap:20px}.contact h2{font-size:39px;line-height:1.6;margin-top:20px}.contact p{font-size:12px}.contact-button{font-size:12px;gap:45px;padding:16px 24px;min-height:56px}.contact-knot{max-width:270px;width:70%;justify-self:end;margin:-26px 0 -22px;pointer-events:none}.contact-knot>span{font-size:7px}.contact .contact-note{position:relative;z-index:1;font-size:9px}.site-footer{padding-block:32px;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:22px}.site-footer .brand-name{font-size:24px}.site-footer>p{font-size:8px;text-align:right}.site-footer>p>span{font-size:8px}.footer-end{grid-column:1 / -1;width:100%;flex-direction:row;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;gap:15px}.footer-end small{font-size:8px}dialog{padding:24px}dialog h2{font-size:26px}.form-columns{grid-template-columns:1fr;gap:0}.dialog-intro{font-size:11px}.privacy-note{font-size:9px}.contact-knot{opacity:.85}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.thread-float{animation:none}*,*::before,*::after{transition:none!important}}

.business-contact{font-style:normal;font-size:13px;line-height:1.9;margin:26px 0 18px;overflow-wrap:anywhere}
.business-contact a,.brief-mail-note a{text-decoration:underline;text-underline-offset:4px}
.business-contact a{font-size:17px;letter-spacing:.025em}
.address-label{display:inline-block;margin-top:18px;font-size:10px;color:var(--ink-soft)}
.brief-trigger{display:inline-flex;align-items:center;gap:14px;border:0;border-bottom:1px solid var(--ink-soft);border-radius:0;background:transparent;color:var(--ink);font-size:12px;line-height:1.8;padding:10px 0;text-align:left}
.brief-trigger:hover{color:var(--accent)}
.brief-mail-note{font-size:12px;line-height:1.9;margin-top:22px}


.brand-logo{display:block;width:124px;height:auto;flex-shrink:0}
.site-footer .brand-logo{width:148px}
@media(max-width:760px){.site-header .brand-logo{width:100px}.site-footer .brand-logo{width:110px}}

