:root{--ink:#171717;--red:#d92732;--muted:#626262;--line:#dedede;--surface:#f4f4f4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:white;font-family:"Noto Sans JP","Yu Gothic","Meiryo",sans-serif;font-size:16px;line-height:1.9}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--red);outline-offset:6px}header{min-height:100px;padding:22px 6%;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{font-family:Arial,sans-serif;font-size:40px;letter-spacing:-3px;font-weight:900;line-height:1}.brand span,.hero-word span{color:var(--red)}.brand small{font-family:"Yu Gothic",sans-serif;display:block;font-size:12px;letter-spacing:1px;margin-top:10px}nav{display:flex;align-items:center;gap:40px;font-size:14px;font-weight:700}.nav-contact{padding:13px 22px;background:var(--ink);color:white}.nav-contact span{margin-left:24px}.hero{position:relative;overflow:hidden;padding:46px 8% 64px;min-height:700px;background:var(--surface)}.hero-top{display:flex;justify-content:space-between;gap:24px}.eyebrow,.place,.english{font-family:Arial,sans-serif;font-size:13px;font-weight:700;letter-spacing:2px}.eyebrow{color:var(--red)}.place{color:var(--muted)}h1{position:relative;z-index:1;font-size:clamp(44px,6vw,84px);line-height:1.5;letter-spacing:.04em;margin:50px 0 42px;font-weight:800}.hero-bottom{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-end;gap:30px;max-width:650px}.hero-bottom p{margin:0;font-size:17px;font-weight:500}.text-link{border-bottom:1px solid;padding:8px 0;font-size:14px;font-weight:700;white-space:nowrap}.text-link span{margin-left:32px}.hero-word{position:absolute;right:-14px;bottom:-40px;font-family:Arial,sans-serif;font-weight:900;font-size:clamp(180px,31vw,430px);line-height:1;letter-spacing:-.08em;opacity:.08;pointer-events:none}.section{padding:100px 8%;scroll-margin-top:15px}.section-heading{margin-bottom:42px}.section-heading h2,.contact-section h2{font-size:36px;line-height:1.5;margin:12px 0}.section-heading>p:last-child{color:var(--muted);margin-top:16px}.business-list article{border-top:1px solid var(--line);padding:34px 0;display:grid;grid-template-columns:60px 1fr 140px;gap:30px;align-items:start}.business-list article:last-child{border-bottom:1px solid var(--line)}.number{font-family:Arial,sans-serif;font-size:18px;font-weight:700;color:var(--red)}.english{margin:0;color:var(--muted);font-size:12px}h3{font-size:25px;margin:6px 0 14px;line-height:1.5}.business-list article div>p:last-child{max-width:650px;color:var(--muted);margin:0}.category{font-size:14px;background:var(--surface);text-align:center;padding:8px 14px}.company-section{background:var(--surface);display:grid;grid-template-columns:1fr 1.35fr;gap:65px}dl{margin:0}dl>div{display:grid;grid-template-columns:130px 1fr;gap:20px;border-bottom:1px solid #d4d4d4;padding:23px 0}dl>div:first-child{border-top:1px solid #d4d4d4}dt{font-size:14px;font-weight:700}dd{margin:0}.contact-section{background:var(--ink);color:white;padding-top:70px;padding-bottom:75px}.contact-section .eyebrow{color:#ff838b}.contact-section p:last-child{color:#c9c9c9}footer{padding:40px 8%;display:flex;align-items:center;gap:30px;flex-wrap:wrap}footer p,footer small,footer>a:last-child{font-size:13px}footer small{margin-left:auto;color:var(--muted)}.skip{position:absolute;top:-100px;z-index:20;padding:10px;background:white}.skip:focus{top:10px}.mobile{display:none}@media(max-width:760px){header{padding:20px 6%;align-items:flex-start;gap:15px}.brand{font-size:32px}nav{gap:14px;font-size:12px;flex-wrap:wrap;justify-content:flex-end}nav .nav-contact{padding:8px 12px}.nav-contact span{margin-left:8px}.hero{padding:30px 7% 50px;min-height:620px}.place{display:none}h1{font-size:clamp(35px,7.3vw,56px);margin:58px 0 34px;line-height:1.65}.hero-bottom{display:block}.hero-bottom p{font-size:16px}.text-link{display:inline-block;margin-top:28px}.hero-word{font-size:220px;bottom:-10px}.section{padding:64px 7%}.section-heading h2,.contact-section h2{font-size:29px}.business-list article{grid-template-columns:30px 1fr;gap:15px}.category{grid-column:2;justify-self:start}h3{font-size:22px}.company-section{display:block}.company-section .section-heading{margin-bottom:28px}dl>div{grid-template-columns:92px 1fr;gap:10px}dd{font-size:15px;overflow-wrap:anywhere}footer{gap:18px;padding:35px 7%}footer small{margin-left:0}footer>a:last-child{margin-left:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.brand-image{display:block;flex-shrink:0}.brand-image img{display:block;width:112px;height:112px;object-fit:contain}header{padding-top:8px;padding-bottom:8px}@media(max-width:760px){.brand-image img{width:84px;height:84px}header{align-items:center}}
.hero-word{right:-2%;bottom:-55px;width:64%;font-size:initial;opacity:.085;mix-blend-mode:multiply;line-height:0;letter-spacing:normal}.hero-word img{display:block;width:100%;height:auto}@media(max-width:760px){.hero-word{width:94%;right:-9%;bottom:-20px}}
.brand-image img{width:150px;height:75px}@media(max-width:760px){.brand-image img{width:112px;height:56px}}
.values{background:#fff}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.value-grid article{background:#fff;padding:34px}.value-grid span{font-family:Arial,sans-serif;color:var(--red);font-weight:700}.value-grid h3{margin-top:24px}.value-grid p{color:var(--muted);margin:0}.recruit-section{display:flex;align-items:center;justify-content:space-between;gap:60px;background:var(--surface)}.recruit-section>div{max-width:650px}.recruit-section h2{font-size:36px;margin:12px 0}.recruit-section p{color:var(--muted)}.phone-button{display:flex;flex-direction:column;min-width:300px;padding:22px 28px;background:var(--red);color:#fff;font-family:Arial,sans-serif;font-size:25px;font-weight:700;line-height:1.4}.phone-button span{font-family:"Yu Gothic",sans-serif;font-size:13px;letter-spacing:1px}.contact-phone{display:inline-block;margin-top:16px;font-family:Arial,sans-serif;font-size:clamp(30px,5vw,62px);font-weight:800;line-height:1.2;border-bottom:2px solid #fff}.contact-phone span{font-size:.5em}.contact-section p:last-of-type{color:#c9c9c9}@media(max-width:760px){nav>a:not(.nav-contact){display:none}.value-grid{grid-template-columns:1fr}.value-grid article{padding:28px}.recruit-section{display:block}.recruit-section h2{font-size:29px}.phone-button{margin-top:30px;min-width:0;width:100%;font-size:22px}.contact-phone{font-size:32px}}
.pending-contact{background:#686868;font-family:"Yu Gothic",sans-serif;font-size:21px}
