:root{--paper:#f1f1f1;--ink:#353535;--muted:#6a6a6a;--red:#545454;--line:#d3d3d3;--white:#fbfbfb;--serif:'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',serif;--sans:'Yu Gothic','Hiragino Kaku Gothic ProN',Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid #707070;outline-offset:6px}a,button{-webkit-tap-highlight-color:transparent}::selection{background:#dadada}.skip{position:absolute;top:-100px;left:20px;background:white;padding:10px;z-index:20}.skip:focus{top:10px}.draft-banner{background:#e6e6e6;text-align:center;padding:6px 20px;font:11px/1.6 var(--sans);letter-spacing:.18em}.draft-banner span{font-size:12px;margin-left:22px;letter-spacing:.04em}.header{height:112px;display:flex;align-items:center;justify-content:space-between;margin:0 auto;padding:0 5.1%;max-width:1800px}.brand{display:inline-flex;align-items:center;gap:15px;flex-shrink:0}.brand-jp{font-family:var(--serif);font-size:37px;letter-spacing:.12em;line-height:1;position:relative}.brand-mark{display:inline-block;width:5px;height:5px;background:var(--red);margin:0 0 5px 2px}.brand-en{font-family:Arial,sans-serif;font-size:12px;letter-spacing:.19em;padding-left:15px;border-left:1px solid #9c9c9c}.header nav{display:flex;align-items:center;gap:31px;font-size:14px}.header nav>a:not(.nav-contact){padding:8px 0;border-bottom:1px solid transparent}.header nav>a:not(.nav-contact):hover{border-color:var(--ink)}.nav-contact{padding:11px 20px;border:1px solid #acacac;margin-left:8px}.nav-contact span{margin-left:25px;font-size:19px}.menu-toggle{display:none}.mobile-nav[hidden]{display:none}
.hero{position:relative;max-width:1800px;margin:0 auto;padding:12px 3.1% 0 7.1%;display:grid;grid-template-columns:45.5% 54.5%;align-items:center}.hero-copy{padding:33px 20px 42px 0;position:relative;z-index:1}.eyebrow{display:flex;align-items:center;gap:14px;font-family:Arial,var(--sans);font-size:11px;letter-spacing:.13em;font-weight:500}.fine-line{width:30px;height:1px;background:var(--red)}h1,h2,h3,p{margin:0}h1{font-family:var(--serif);font-weight:500;font-size:clamp(36px,3.8vw,65px);line-height:1.68;letter-spacing:.04em;margin:26px 0 23px;white-space:nowrap}.accent-word{position:relative}.accent-word:after{content:'';position:absolute;height:5px;background:#c8c8c8;bottom:2px;left:0;right:0;z-index:-1}.hero-description{font-size:15px;line-height:2.2;letter-spacing:.05em;color:#5c5c5c}.button{display:inline-flex;align-items:center;gap:48px;margin-top:34px;padding:17px 26px;background:var(--red);color:white;font-size:14px;transition:background .2s,transform .2s}.button:hover{background:#3c3c3c;transform:translateY(-2px)}.button span{font-size:21px;line-height:1}.hero-location{margin-top:34px;font-size:10px;letter-spacing:.12em;font-family:Arial,var(--sans);color:var(--muted);display:flex;flex-wrap:wrap;gap:10px 15px;align-items:center}.hero-location span{font-size:12px;letter-spacing:0;border-left:1px solid var(--line);padding-left:15px}.hero-photo{margin:0;position:relative;align-self:stretch;min-height:555px;background:#d7d7d7;overflow:hidden}.hero-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:48% 50%}.hero-photo:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#22222299);pointer-events:none}.hero-photo figcaption{position:absolute;left:28px;right:25px;bottom:23px;color:white;z-index:1;display:flex;justify-content:space-between;gap:10px;font-size:10px;letter-spacing:.11em}.hero-photo figcaption span:last-child{font-size:12px;letter-spacing:.01em}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding:27px 0 27px;border-bottom:1px solid var(--line);margin-right:4.3%;font-size:12px;letter-spacing:.08em}.hero-bottom>a{font-family:Arial,sans-serif;font-size:10px;letter-spacing:.15em}.hero-bottom>a span{font-size:18px;padding-left:24px}
.section{max-width:1400px;margin:auto;padding:101px 7.6% 97px}.section-label{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.07em;border-bottom:1px solid var(--line);padding-bottom:17px}.section-label>span:first-child{font-family:Arial,sans-serif;font-size:11px;letter-spacing:.12em}.approach-heading{display:grid;grid-template-columns:1.05fr 1fr;gap:10%;padding:57px 0 60px}h2{font-family:var(--serif);font-size:clamp(29px,3vw,44px);font-weight:500;line-height:1.8;letter-spacing:.06em}.approach-copy{padding-top:3px;font-size:15px;line-height:2.2}.approach-copy p+p{margin-top:24px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:39px}.principles article{border-top:1px solid #989898;padding-top:20px}.principle-index{font-family:var(--serif);font-size:20px;display:flex;align-items:center;gap:16px;color:#5f5f5f}.principle-index span{font-family:Arial,sans-serif;font-size:10px;letter-spacing:.12em}.principles h3{font-size:22px;font-weight:500;line-height:1.8;font-family:var(--serif);margin:21px 0 18px;letter-spacing:.035em}.principles p{font-size:14px;line-height:2.05;color:var(--muted)}
.services{background:#ebebeb;max-width:none;padding-left:max(7.6%,calc((100vw - 1187px)/2));padding-right:max(7.6%,calc((100vw - 1187px)/2))}.section-intro{display:flex;align-items:center;justify-content:space-between;gap:40px;margin:43px 0 45px}.section-intro>p{font-size:15px;line-height:2.1;color:#666666}.service-row{display:grid;grid-template-columns:60px 1fr 1.3fr;gap:30px;border-top:1px solid #c9c9c9;padding:37px 0 38px}.service-row:last-child{border-bottom:1px solid #c9c9c9}.service-number{font-family:var(--serif);font-size:31px;color:#8a8a8a;line-height:1.5}.service-title>span{font:10px/1.5 Arial,sans-serif;letter-spacing:.13em;color:var(--muted)}.service-title h3{font-family:var(--serif);font-weight:500;font-size:25px;margin-top:10px;letter-spacing:.04em}.service-body p{font-size:15px;line-height:2.1}.service-body ul{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none;margin:22px 0 0}.service-body li{font-size:12px;border:1px solid #cdcdcd;padding:4px 11px;color:#626262}
.local-section{padding:90px 8%;position:relative;border-bottom:1px solid var(--line);overflow:hidden;display:grid;grid-template-columns:1fr 1fr;gap:16px 9%;align-items:center;max-width:1400px;margin:auto}.local-caption{grid-column:1/-1;font:11px/1.8 Arial,sans-serif;letter-spacing:.13em;color:var(--muted)}.local-section h2{font-size:36px}.local-section>p{font-size:15px;line-height:2.2}.local-place{position:absolute;right:8%;bottom:32px;font-size:12px;letter-spacing:.15em;color:var(--muted)}.process .section-intro h2{font-size:35px}.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:46px;margin:0}.steps li{border-top:1px solid #a2a2a2;padding-top:22px}.steps li>span{font:11px/1.8 Arial,sans-serif;letter-spacing:.12em;color:#757575}.steps h3{font-size:20px;font-weight:500;margin:15px 0 13px}.steps p{font-size:14px;color:var(--muted);line-height:2}
.contact{background:var(--red);color:var(--paper);padding:77px max(7.6%,calc((100vw - 1187px)/2)) 84px;display:grid;grid-template-columns:1fr 1fr;gap:13%;align-items:center}.contact .eyebrow{font-size:10px;color:#d4d4d4;letter-spacing:.13em}.contact h2{font-size:43px;margin:20px 0 25px}.contact>div>p{font-size:14px;color:#e2e2e2;line-height:2.1}.contact-heading{display:flex;justify-content:space-between;gap:30px;border-bottom:1px solid #9a9a9a;padding-bottom:22px;font-size:21px;font-family:var(--serif)}.contact-details>p{margin:22px 0}.contact-heading{font-weight:500}.contact-form-button{width:100%;justify-content:space-between;margin-top:0;background:var(--paper);color:var(--ink)}.contact-form-button:hover{background:#ffffff}.contact-form-button:focus-visible{outline-color:var(--paper)}.contact-details>.contact-note{margin:18px 0 0;font-size:12px}.contact-note{font-size:12px;color:#d4d4d4;line-height:1.8;border-left:1px solid #999999;padding-left:14px}footer{display:flex;align-items:center;gap:35px;justify-content:space-between;padding:40px 5.1%;max-width:1800px;margin:auto}footer .brand-jp{font-size:29px}footer .brand-en{font-size:10px}footer p{font-size:13px;line-height:1.9}footer p span{font-size:11px;color:var(--muted)}.footer-note{max-width:290px;font-size:10px;line-height:1.9;color:var(--muted)}
@media(min-width:1550px){.hero-photo{min-height:650px}.hero-copy{padding-top:60px;padding-bottom:65px}.hero-description{font-size:17px}}
@media(max-width:1050px){.header{height:96px}.header nav{gap:18px;font-size:12px}.nav-contact{padding:8px 12px;margin-left:0}.nav-contact span{margin-left:8px}.brand-jp{font-size:31px}.brand-en{font-size:10px;padding-left:12px}.brand{gap:10px}.hero{grid-template-columns:47% 53%;padding-left:5.1%}.hero-copy{padding-right:12px}.hero-photo{min-height:520px}.hero h1{font-size:36px}.hero .eyebrow{font-size:9px;gap:10px}.hero .fine-line{width:17px}.hero-description{font-size:14px}.button{gap:25px;padding:15px 20px}.hero-location{font-size:9px}.hero-location span{font-size:11px;padding-left:0;border:0}.hero-photo figcaption{left:18px;right:18px;flex-wrap:wrap}.section{padding-left:6%;padding-right:6%}.service-row{grid-template-columns:40px .9fr 1.3fr;gap:20px}.principles{gap:27px}.principles h3{font-size:20px}.contact{padding-left:6%;padding-right:6%;gap:8%}footer{gap:20px;flex-wrap:wrap}.footer-note{max-width:none;width:100%}}
@media(max-width:760px){html{scroll-padding-top:15px}.draft-banner{font-size:9px;padding:5px 10px}.draft-banner span{font-size:10px;margin-left:12px}.header{height:84px;padding:0 6%}.header nav{display:none}.brand-jp{font-size:32px}.brand-en{font-size:10px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;width:44px;height:44px;border:1px solid var(--line);background:transparent;padding:11px}.menu-toggle span{width:20px;height:1px;background:var(--ink)}.mobile-nav{background:var(--paper);padding:0 6% 20px;border-bottom:1px solid var(--line)}.mobile-nav a{display:block;padding:11px 0;border-top:1px solid var(--line);font-size:14px}.hero{display:flex;flex-direction:column;padding:0 6%}.hero-copy{padding:18px 0 32px;width:100%}.hero .eyebrow{font-size:9px;letter-spacing:.1em}.hero h1{font-size:clamp(31px,7.9vw,47px);line-height:1.65;letter-spacing:.04em;margin:21px 0 18px}.hero-description{font-size:14px;line-height:2}.hero .button{margin-top:25px;padding:15px 22px;gap:45px}.hero-location{margin-top:24px;gap:8px 14px;font-size:9px}.hero-location span{font-size:10px}.hero-photo{width:100%;height:340px;min-height:0;flex:none}.hero-photo img{object-position:50% 55%}.hero-photo figcaption{bottom:17px;left:18px;right:18px;font-size:9px}.hero-photo figcaption span:last-child{font-size:10px}.hero-bottom{width:100%;padding:22px 0;margin:0;font-size:10px;letter-spacing:0;gap:18px}.hero-bottom>a{font-size:8px;letter-spacing:.03em;white-space:nowrap}.hero-bottom>a span{padding-left:9px;font-size:14px}.section{padding:61px 6%}.section-label{font-size:11px;padding-bottom:13px}.section-label>span:first-child{font-size:9px}.approach-heading{grid-template-columns:1fr;gap:27px;padding:31px 0 35px}h2{font-size:29px;line-height:1.8;letter-spacing:.035em}.approach-copy{font-size:14px;line-height:2}.approach-copy p+p{margin-top:20px}.principles{grid-template-columns:1fr;gap:26px}.principles article{display:grid;grid-template-columns:1fr 1.1fr;gap:12px 20px;padding-top:18px}.principle-index{grid-column:1/-1;font-size:17px}.principle-index span{font-size:9px}.principles h3{margin:0;font-size:19px}.principles p{font-size:13px;line-height:1.95}.section-intro{display:block;margin:30px 0}.section-intro>p{font-size:14px;margin-top:22px}.service-row{grid-template-columns:28px 1fr;gap:12px 18px;padding:26px 0}.service-number{font-size:25px}.service-title h3{font-size:23px;margin-top:5px}.service-title>span{font-size:9px}.service-body{grid-column:2}.service-body p{font-size:14px}.service-body li{font-size:11px;padding:3px 8px}.service-body ul{gap:6px;margin-top:15px}.local-section{padding:58px 6% 75px;grid-template-columns:1fr;gap:18px}.local-caption{font-size:9px}.local-section h2{font-size:29px}.local-section>p{font-size:14px}.local-place{bottom:23px;right:6%;font-size:10px}.process .section-intro h2{font-size:27px}.steps{grid-template-columns:1fr;gap:24px}.steps li{display:grid;grid-template-columns:64px 1fr;gap:9px 14px;padding-top:21px}.steps li>span{padding-top:5px;font-size:10px}.steps h3{font-size:18px;margin:0}.steps p{grid-column:2;font-size:13px}.contact{padding:55px 6%;grid-template-columns:1fr;gap:34px}.contact .eyebrow{font-size:9px}.contact h2{font-size:34px;line-height:1.7;margin:18px 0}.contact>div>p{font-size:13px}.contact-heading{font-size:20px;padding-bottom:17px}.contact-details>p{margin:17px 0}.contact-note{font-size:11px}footer{padding:32px 6%;gap:25px;align-items:flex-start}footer p{font-size:12px;width:100%}footer p span{font-size:10px}.footer-note{font-size:10px}footer .brand-jp{font-size:29px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* SORA identity */
.sora-brand{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:170px}.brand-name{font-family:Georgia,'Times New Roman',serif;font-size:39px;line-height:1;letter-spacing:.12em}.brand-tagline{font-family:Arial,sans-serif;font-size:12px;line-height:1.2;letter-spacing:.12em}.company-name{font-weight:500}.footer-brand .brand-name{font-size:32px}.footer-brand .brand-tagline{font-size:10px}@media(max-width:1050px){.sora-brand{min-width:150px}.brand-name{font-size:34px}.brand-tagline{font-size:10px}}@media(max-width:760px){.sora-brand{gap:6px}.brand-name{font-size:32px}.brand-tagline{font-size:10px}.company-name{font-size:14px}}
