:root{--red:#e7352a;--ink:#161616;--paper:#faf8f2;--white:#fff;--line:#d7d1c7;--gray:#4c4c4c;font-family:Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--ink);scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;overflow-x:hidden;background:var(--paper)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.07em}p{line-height:1.8}.wrap{width:min(1260px,calc(100% - 80px));margin-inline:auto}.skip{position:absolute;top:-80px;left:12px;padding:12px;background:#fff;z-index:50}.skip:focus{top:12px}.demo-note{height:25px;line-height:25px;background:var(--ink);color:#fff;text-align:center;font-size:11px;letter-spacing:.07em}.header{height:82px;position:absolute;z-index:5;top:25px;left:0;right:0;padding:0 40px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:9px;line-height:1}.brand-mark{display:grid;place-items:center;width:42px;height:42px;background:var(--red);color:#fff;font-size:24px;font-weight:900;transform:rotate(-5deg)}.brand>span:last-child{display:flex;flex-direction:column}.brand strong{font-size:24px;letter-spacing:-.06em}.brand small{font-size:9px;letter-spacing:.12em;margin-top:5px;font-weight:800}.nav{display:flex;align-items:center;gap:25px;background:rgba(250,248,242,.91);backdrop-filter:blur(9px);padding:6px 6px 6px 20px;font-size:13px;font-weight:900}.nav>a:not(.nav-cta):hover{color:var(--red)}.nav-cta{background:var(--ink);color:#fff;padding:14px 17px;display:flex;gap:22px;align-items:center}.nav-cta span{font-size:18px}.menu-toggle{display:none}.hero{position:relative;min-height:690px;height:min(780px,calc(100svh - 25px));overflow:hidden;background:var(--paper)}.hero-photo,.hero-veil{position:absolute;inset:0;width:100%;height:100%}.hero-photo{object-fit:cover;object-position:center}.hero-veil{background:linear-gradient(90deg,rgba(250,248,242,.28),rgba(250,248,242,.15) 47%,transparent 68%)}.hero-content{position:relative;z-index:1;padding-top:167px}.hero-eyebrow{font-size:18px;font-weight:900;margin-bottom:13px}.hero h1{font-size:clamp(72px,8vw,119px);line-height:1.08;font-weight:900;margin:0;white-space:nowrap}.hero h1 span{color:var(--red)}.hero-red-rule{height:8px;width:360px;background:var(--red);transform:rotate(-2deg);margin:24px 0 22px}.hero-copy{font-weight:800;font-size:18px;line-height:1.65;margin-bottom:27px}.hero-actions{display:flex;align-items:center;gap:26px}.button{min-height:60px;border:0;padding:0 23px;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;font-weight:900;font-size:15px;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-3px);box-shadow:0 9px 22px rgba(0,0,0,.14)}.button span{font-size:24px;font-weight:400}.button-red{background:var(--red);color:#fff;min-width:232px}.hero-text-link{font-weight:900;font-size:15px;border-bottom:2px solid var(--ink);padding:8px 0}.hero-text-link span{margin-left:14px;font-size:20px}.hero-bottom{position:absolute;z-index:2;bottom:22px;left:40px;right:40px;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.18em;font-weight:900}.ticker{background:var(--ink);color:#fff}.ticker .wrap{min-height:95px;display:flex;align-items:center;justify-content:space-between;font-weight:900;font-size:clamp(18px,2.5vw,30px)}.ticker b{color:var(--red)}.section{padding:106px 0}.section-index{display:flex;gap:13px;align-items:center;font-size:12px;font-weight:900;letter-spacing:.16em;margin-bottom:54px}.section-index span{display:grid;place-items:center;background:var(--red);color:#fff;width:30px;height:30px;letter-spacing:0;transform:rotate(-5deg)}.overline{font-size:15px;font-weight:900;letter-spacing:.02em}.about{background:#fff}.about-grid{display:grid;grid-template-columns:1.17fr .83fr;gap:75px;align-items:end}.about h2,.section-heading h2,.faq h2,.contact h2{font-size:clamp(45px,5.4vw,74px);line-height:1.25;margin:0;font-weight:900}.about h2 em,.section-heading h2 em,.faq h2 em,.contact h2 em{font-style:normal;color:var(--red)}.about-copy p{font-size:16px;font-weight:600}.under-link{display:inline-flex;justify-content:space-between;min-width:220px;border-bottom:2px solid var(--red);padding:9px 0;font-size:15px;font-weight:900}.under-link span{font-size:21px;color:var(--red)}.about-words{display:grid;grid-template-columns:repeat(3,1fr);margin-top:82px;border-block:2px solid var(--ink)}.about-words>div{padding:23px 22px;min-height:156px}.about-words>div+div{border-left:1px solid var(--line)}.about-words span{display:block;color:var(--red);font-size:11px;font-weight:900;letter-spacing:.1em}.about-words strong{display:block;font-size:27px;margin-top:28px;letter-spacing:-.05em}.work{background:#f2eee7}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:48px}.section-heading>p{max-width:320px;font-size:16px;font-weight:700;margin-bottom:6px}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.work-card{background:#fff;border-top:9px solid var(--ink);padding:22px 26px 25px;min-height:357px;display:flex;flex-direction:column;transition:transform .2s}.work-card:nth-child(2){border-color:var(--red)}.work-card:hover{transform:translateY(-4px)}.work-num{font-size:12px;font-weight:900;color:var(--red)}.work-art{height:100px;margin:16px 0 14px;position:relative;width:120px}.roof{position:absolute;left:10px;top:12px;width:83px;height:83px;border-left:5px solid var(--ink);border-top:5px solid var(--ink);transform:rotate(45deg) scale(.75)}.walls{position:absolute;left:34px;top:40px;width:60px;height:58px;border:5px solid var(--ink);border-top:0}.second .roof{border-color:var(--red);transform:rotate(45deg) scale(.75) translate(6px,-6px)}.second .walls{border-color:var(--red)}.third .roof{transform:rotate(0);height:35px;width:110px;border:5px solid var(--ink);border-bottom:0;left:2px;top:30px}.third .walls{width:110px;height:45px;left:2px;top:60px}.work-card h3{font-size:28px;margin:0 0 11px}.work-card p{font-size:15px;font-weight:600;margin:0 0 20px}.work-card small{font-size:11px;font-weight:900;letter-spacing:.14em;margin-top:auto;color:var(--red)}.sample-note{font-size:12px;color:#555;margin:19px 0 0}.statement{background:var(--red);color:#fff;overflow:hidden}.statement .wrap{padding:82px 0 95px;position:relative}.statement small{font-size:12px;letter-spacing:.2em;font-weight:900}.statement p{font-size:clamp(51px,6vw,86px);font-weight:900;line-height:1.25;letter-spacing:-.07em;margin:24px 0 0}.statement strong{color:var(--ink)}.statement-stamp{position:absolute;right:5%;top:25%;border:3px solid #fff;border-radius:50%;width:140px;height:140px;display:grid;place-items:center;font-size:37px;line-height:1;transform:rotate(-13deg)}.flow{background:#fff}.flow-list{padding:0;margin:0;list-style:none;border-top:2px solid var(--ink)}.flow-list li{display:grid;grid-template-columns:145px 1fr 40px;align-items:center;gap:30px;border-bottom:1px solid var(--line);min-height:133px}.flow-list li>span{font-size:56px;font-weight:900;color:var(--red);font-family:Arial,sans-serif}.flow-list h3{font-size:26px;margin:0 0 3px}.flow-list p{font-size:15px;font-weight:600;margin:0}.flow-list b{font-size:24px;color:var(--red)}.faq{background:#f2eee7}.faq-grid{display:grid;grid-template-columns:.4fr .6fr;gap:75px}.faq-list{border-top:1px solid #aaa}.faq-list details{border-bottom:1px solid #aaa}.faq-list summary{display:flex;align-items:center;gap:14px;padding:24px 0;list-style:none;cursor:pointer;font-size:16px;font-weight:900}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:23px;color:var(--red)}.faq-list summary b{font-size:25px;font-weight:400;margin-left:auto;transition:transform .2s}.faq-list details[open] summary b{transform:rotate(45deg)}.faq-list details p{margin:0 33px 22px;font-size:15px;font-weight:600}.contact{background:var(--ink);color:#fff}.contact-grid{display:grid;grid-template-columns:1fr 470px;gap:80px}.contact .overline{color:#fff}.contact h2{margin:14px 0 24px}.contact-copy{font-size:16px;font-weight:700}.line-button{display:flex;align-items:center;gap:14px;background:transparent;border:1px solid #fff;color:#fff;padding:13px 15px;width:287px;text-align:left;font-size:14px;font-weight:900;margin-top:33px}.line-button:hover{background:#333}.line-button>span:nth-child(2){display:flex;flex-direction:column;gap:5px}.line-button small{font-weight:400;font-size:11px}.line-button b{font-size:20px;font-weight:400;margin-left:auto}.line-icon,.line-dialog-icon{display:inline-block;background:#06c755;color:#fff;border-radius:50%;padding:13px 6px;font-size:10px;font-weight:900}.form-panel{background:#fff;color:var(--ink);padding:34px 36px}.form-title{display:flex;align-items:baseline;gap:14px;margin-bottom:25px}.form-title small{font-size:11px;color:var(--red);font-weight:900;letter-spacing:.15em}.form-title strong{font-size:26px}.form-panel label{display:block;font-size:14px;font-weight:900;margin-bottom:17px}.form-panel em{font-style:normal;background:#f7dfe0;color:#ad2525;font-size:11px;padding:3px 6px;margin-left:5px}.form-panel input,.form-panel textarea{display:block;width:100%;border:1px solid #ccc;background:#fafafa;color:var(--ink);padding:13px 14px;font-size:15px;margin-top:8px;outline:0}.form-panel input:focus,.form-panel textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(231,53,42,.14)}.form-panel textarea{resize:vertical}.form-note{font-size:12px;color:#666;line-height:1.6}.form-panel .button{width:100%}.form-status{font-size:13px;color:var(--red);font-weight:800;min-height:1.2em;margin:11px 0 0}.footer{background:#111;color:#ccc;padding:47px 0 27px}.footer-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:35px;border-bottom:1px solid #444}.footer .brand{color:#fff}.footer-top>a:last-child{font-size:11px;font-weight:900;letter-spacing:.1em}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:20px;font-size:12px}.footer-bottom p{margin:0}.chat-launcher{position:fixed;z-index:20;bottom:20px;right:21px;background:var(--red);color:#fff;border:0;border-radius:40px;padding:13px 18px;font-size:13px;font-weight:900;box-shadow:0 7px 24px rgba(0,0,0,.24)}.chat-panel{position:fixed;z-index:21;bottom:76px;right:21px;width:min(370px,calc(100vw - 28px));background:#fff;color:var(--ink);border:1px solid #ddd;box-shadow:0 20px 60px rgba(0,0,0,.3)}.chat-panel[hidden]{display:none}.chat-head{background:var(--ink);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:17px 18px}.chat-head div{display:flex;flex-direction:column;gap:4px}.chat-head small{font-size:10px;letter-spacing:.13em}.chat-head strong{font-size:16px}.chat-close,.dialog-close{background:transparent;border:0;color:inherit;font-size:27px}.chat-body{height:220px;overflow:auto;background:#f9f6f1;display:flex;flex-direction:column;gap:10px;padding:15px}.bot-message,.user-message{font-size:13px;line-height:1.6;padding:10px 12px;max-width:88%}.bot-message{background:#fff;border:1px solid #e5e1db;align-self:flex-start}.user-message{background:#f9dedb;align-self:flex-end}.chat-options{display:flex;gap:6px;flex-wrap:wrap;padding:13px 14px 3px}.chat-options button{background:#fff;border:1px solid var(--red);color:var(--red);font-size:11px;font-weight:800;padding:7px 8px}.chat-note{font-size:11px;color:#666;margin:0;padding:8px 14px 14px}.line-dialog{border:0;color:var(--ink);width:min(460px,calc(100vw - 28px));padding:36px;box-shadow:0 20px 70px rgba(0,0,0,.25)}.line-dialog::backdrop{background:rgba(0,0,0,.65)}.dialog-close{position:absolute;right:16px;top:12px}.line-dialog h2{font-size:25px;margin:23px 0 10px}.line-dialog p{font-size:15px;margin-bottom:25px}.line-dialog .button{justify-content:center;width:100%}
@media(max-width:1100px){.wrap{width:calc(100% - 52px)}.header{padding:0 26px}.nav{gap:15px;font-size:11px}.hero h1{font-size:clamp(66px,8vw,90px)}.hero-content{padding-top:155px}.contact-grid{grid-template-columns:1fr 425px;gap:40px}}
@media(max-width:800px){.header{height:70px}.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:42px;height:42px;border:1px solid var(--ink);background:var(--paper);z-index:7}.menu-toggle span{height:2px;width:19px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.nav{display:none;position:absolute;top:70px;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--paper);padding:20px 24px 25px;gap:0;font-size:15px;box-shadow:0 15px 22px rgba(0,0,0,.15)}.nav.open{display:flex}.nav>a{padding:13px 0;border-bottom:1px solid var(--line)}.nav .nav-cta{margin-top:13px;padding:13px;justify-content:space-between;border:0}.hero-photo{object-position:60% center}.hero-veil{background:linear-gradient(90deg,rgba(250,248,242,.88),rgba(250,248,242,.58) 65%,transparent)}.hero h1{font-size:clamp(62px,9vw,80px)}.about-grid,.faq-grid,.contact-grid{grid-template-columns:1fr;gap:35px}.about-copy{max-width:600px}.work-grid{gap:8px}.work-card{padding:18px}.work-card h3{font-size:23px}.section{padding:80px 0}.form-panel{max-width:600px}}
@media(max-width:600px){.demo-note{font-size:10px;height:24px;line-height:24px}.wrap{width:calc(100% - 34px)}.header{top:24px;padding:0 17px}.brand-mark{height:36px;width:36px;font-size:21px}.brand strong{font-size:20px}.brand small{font-size:8px}.hero{min-height:750px;height:calc(100svh - 24px);max-height:890px}.hero-photo{object-position:63% center}.hero-veil{background:linear-gradient(180deg,rgba(250,248,242,.5) 0%,rgba(250,248,242,.72) 35%,rgba(250,248,242,.92) 68%,rgba(250,248,242,.97) 100%)}.hero-content{padding-top:118px}.hero-eyebrow{font-size:13px}.hero h1{font-size:clamp(50px,13vw,72px)}.hero-red-rule{width:210px;height:6px;margin:19px 0}.hero-copy{font-size:15px}.hero-actions{align-items:flex-start;flex-direction:column;gap:10px}.hero-bottom{left:17px;right:17px;font-size:9px}.ticker .wrap{min-height:79px;font-size:15px;gap:5px}.ticker b{font-size:11px}.section{padding:69px 0}.section-index{margin-bottom:37px;font-size:10px}.about h2,.section-heading h2,.faq h2,.contact h2{font-size:clamp(38px,9.5vw,51px)}.about-copy p{font-size:15px}.about-words{display:block;margin-top:54px}.about-words>div{min-height:115px;padding:17px}.about-words>div+div{border-left:0;border-top:1px solid var(--line)}.about-words strong{font-size:24px;margin-top:15px}.section-heading{display:block;margin-bottom:32px}.section-heading>p{font-size:14px;margin-top:15px}.work-grid{grid-template-columns:1fr}.work-card{min-height:278px;padding:19px}.work-art{height:69px;transform:scale(.75);transform-origin:left top;margin-bottom:0}.work-card h3{font-size:24px}.work-card p{font-size:14px}.sample-note{font-size:12px}.statement .wrap{padding:62px 0 75px}.statement p{font-size:clamp(42px,10.5vw,62px)}.statement-stamp{height:70px;width:70px;font-size:19px;right:0;top:auto;bottom:15px}.flow-list li{grid-template-columns:62px 1fr 21px;gap:9px;min-height:120px}.flow-list li>span{font-size:39px}.flow-list h3{font-size:21px}.flow-list p{font-size:13px}.flow-list b{font-size:17px}.faq-grid{gap:24px}.faq-list summary{font-size:14px;gap:8px;padding:17px 0}.faq-list details p{font-size:14px;margin:0 8px 18px}.contact-copy{font-size:14px}.form-panel{padding:25px 19px}.footer-bottom{display:block;font-size:11px}.footer-bottom span{display:block;margin-top:15px}.chat-launcher{right:11px;bottom:11px;padding:11px 15px;font-size:12px}.chat-panel{right:10px;bottom:65px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
