:root{--ink:#172a3c;--blue:#006da0;--red:#e92c25;--paper:#fcfcfa;--line:#d8dee1;--muted:#5d6a75}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.5}p{font-size:15px;letter-spacing:.035em}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}a:hover{color:var(--blue)}.skip{position:absolute;top:-100px;left:15px;padding:10px;background:white;z-index:100}.skip:focus{top:10px}.header{height:104px;padding:14px 3.5%;display:flex;align-items:center;justify-content:space-between;gap:30px;background:rgba(252,252,250,.97);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(23,42,60,.08)}.brand{display:flex;align-items:center;gap:18px;flex-shrink:0}.brand img{width:130px;height:65px;object-fit:contain}.brand span{font-size:10px;font-weight:700;max-width:130px;line-height:1.7}.header nav{display:flex;align-items:center;gap:24px}.header nav a{font-size:12px;font-weight:600;white-space:nowrap}.nav-contact{background:var(--ink);color:white!important;padding:13px 22px}.nav-contact span{margin-left:20px}.nav-contact:hover{background:var(--blue)}.menu-toggle{display:none}.hero{padding:54px 3.5% 0}.hero-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.eyebrow{font-size:11px;letter-spacing:.17em;font-weight:700;margin-bottom:0}.hero-note{font-size:11px;letter-spacing:.12em}.hero h1{font-size:clamp(32px,4.35vw,72px);font-weight:500;letter-spacing:.035em;line-height:1.45;margin-bottom:40px}.red{color:var(--red)}.hero-visual{position:relative;height:560px;overflow:hidden;background:var(--ink)}.hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:center 40%;opacity:.86}.hero-visual:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(8,22,36,.78));pointer-events:none}.hero-one{position:absolute;right:6%;top:-158px;font-family:Arial,sans-serif;font-size:800px;line-height:1;font-weight:700;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.78);z-index:1;pointer-events:none}.hero-caption{position:absolute;left:4%;bottom:35px;color:white;z-index:2}.hero-caption>span{font-size:clamp(25px,3vw,44px);letter-spacing:-.03em;font-weight:300}.hero-caption p{font-size:13px;margin:10px 0 0}.scroll{position:absolute;right:35px;bottom:42px;color:white;z-index:2;font-size:10px;letter-spacing:.1em}.scroll span{margin-left:24px;font-size:24px}.section{padding:110px 8%;max-width:1600px;margin:auto}.section-label{font-size:12px;letter-spacing:.13em;font-weight:700;display:flex;align-items:center;gap:12px;margin-bottom:58px}.section-label>span:last-child:not(.dot){font-size:11px;letter-spacing:.06em;font-weight:400;margin-left:12px}.dot{width:6px;height:6px;background:var(--red);border-radius:50%;display:inline-block}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.about h2,.section-heading h2,.company h2{font-size:clamp(29px,3.1vw,46px);font-weight:500;letter-spacing:.06em;margin-bottom:30px}.about p{max-width:540px}.lead{font-size:20px;font-weight:500;margin-bottom:28px}.about-mark{font-size:95px;letter-spacing:-.075em;font-weight:300;line-height:1;position:relative;color:var(--blue)}.about-mark>span{font-size:300px;font-weight:700;display:inline-block;vertical-align:middle;line-height:1;color:var(--ink);letter-spacing:-.09em}.about-mark small{display:block;font-size:11px;letter-spacing:.2em;margin-top:25px;margin-left:9px}.strengths{display:grid;grid-template-columns:1fr 1fr;background:#eef2f3}.strength-photo{min-height:610px}.strength-photo img{width:100%;height:100%;object-fit:cover}.strength-list{padding:35px 12% 30px 9%;display:flex;flex-direction:column;justify-content:center}.strength-list article{display:flex;gap:25px;padding:28px 0;border-bottom:1px solid #ccd5da}.strength-list article:last-child{border:0}.number{font-size:13px;color:var(--blue);font-weight:500;letter-spacing:.08em}.strength-list .number{padding-top:7px}.strength-list h3{font-size:22px;font-weight:500;margin:0 0 12px}.strength-list p{font-size:13px;margin:0}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:60px}.section-heading h2{margin:0}.section-heading>p{font-size:13px;max-width:440px;margin:0 0 5px}.service{display:grid;grid-template-columns:50px 1fr 1.2fr;gap:25px;border-top:1px solid var(--line);padding:36px 0}.service:last-child{border-bottom:1px solid var(--line)}.service .number{padding-top:6px}.service h3{font-size:24px;font-weight:500;margin:0}.service h3 small{display:block;font-size:10px;letter-spacing:.12em;font-weight:500;color:var(--muted);margin-top:10px}.service p{font-size:14px;margin-bottom:12px}.tag{display:inline-block;font-size:10px;border:1px solid #d3dce1;padding:1px 9px;margin:3px 4px 0 0;color:var(--muted)}.works{background:#eef2f3;max-width:none}.works-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:1344px;margin:auto}.work{background:var(--paper);min-width:0}.work-art{height:300px;padding:25px 30px;position:relative;overflow:hidden}.art-label{font-size:10px;letter-spacing:.15em;position:relative;z-index:2}.art-bottom{position:absolute;bottom:20px;left:30px;font-size:8px;letter-spacing:.2em}.live{background:#18374b;color:#fff}.live-screen{position:absolute;border:1px solid #7197aa;inset:55px 65px 50px;background:linear-gradient(120deg,#2c5970,#102d42);transform:rotate(-5deg);box-shadow:22px 16px 0 #102a3a}.live-badge{position:absolute;top:13px;left:16px;font-size:9px;color:#ff968f;letter-spacing:.1em}.play{position:absolute;left:35%;top:25%;font-size:70px;line-height:1}.chat{position:absolute;right:15px;bottom:25px;display:grid;gap:7px}.chat i{width:65px;height:5px;background:#6a91a6}.chat i:nth-child(2){width:40px}.video{background:#e2e6e9}.video-tiles{display:flex;position:absolute;inset:90px 40px 65px;align-items:center;justify-content:center;gap:12px;transform:rotate(-8deg)}.video-tiles div{width:31%;height:115px;background:#a7bdc9;display:grid;place-items:center;font-size:42px;color:white;border:1px solid white;box-shadow:0 15px 30px #172a3c15}.video-tiles div:nth-child(2){background:#456a81;height:145px}.work-body{padding:30px 34px 38px}.work-category{font-size:9px;letter-spacing:.14em;color:var(--blue)}.work h3{font-size:22px;font-weight:500;margin:14px 0}.work p{font-size:13px;margin-bottom:18px}.wide-work{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:center}.work-image{height:330px}.work-image img{height:100%;width:100%;object-fit:cover}.flow{display:flex;align-items:center;gap:10px;font-size:10px;flex-wrap:wrap;margin-top:25px}.flow span{border-bottom:1px solid #8b9eab;padding-bottom:6px}.flow b{font-weight:400}.works-note{font-size:11px;color:var(--muted);margin-top:24px;margin-bottom:0}.support-banner{position:relative;min-height:445px;display:flex;align-items:center;padding:70px 8%;color:white;overflow:hidden}.support-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.support-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,29,43,.85),rgba(8,29,43,.35))}.support-banner>div{position:relative;z-index:1}.support-banner h2{font-weight:500;font-size:38px;line-height:1.6;margin:20px 0}.support-banner p{font-size:13px}.company-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:10%}.company-photo{width:100%;margin-top:45px;aspect-ratio:1.4;object-fit:cover}.company-table{margin:0}.company-table>div{display:grid;grid-template-columns:95px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);font-size:13px}.company-table>div:first-child{border-top:1px solid var(--line)}dt{font-weight:500}dd{margin:0}.history{margin-top:30px;border-bottom:1px solid var(--line);font-size:13px}.history summary{cursor:pointer;list-style:none;padding:16px 0;display:flex;justify-content:space-between}.history summary::-webkit-details-marker{display:none}.history[open] summary span{transform:rotate(45deg)}.history dl{padding:10px 0 20px}.history dl>div{display:grid;grid-template-columns:75px 1fr;gap:15px;margin-bottom:18px}.history dd{font-size:12px}.news{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.6fr;gap:10%}.news .section-label{margin-bottom:20px}.news h2{font-size:32px;font-weight:500}.text-link{display:inline-flex;gap:40px;font-size:12px;border-bottom:1px solid var(--ink);padding:10px 0}.empty-news{font-size:13px;color:var(--muted);padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.news-item{border-top:1px solid var(--line);padding:22px 0}.news-item:last-child{border-bottom:1px solid var(--line)}.news-item time{font-size:11px;color:var(--muted);letter-spacing:.1em}.news-item h3{font-size:17px;font-weight:500;margin:8px 0}.news-item p{font-size:13px;white-space:pre-line;margin-bottom:0}.contact{background:var(--ink);color:white;max-width:none}.contact .section-label{color:#b8cbd6}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%}.contact h2{font-size:40px;font-weight:500;margin-bottom:24px}.contact p{font-size:13px;color:#d0dbe1}.contact-links>a{display:block;position:relative;border-top:1px solid #526472;padding:22px 35px 22px 0}.contact-links>a:last-child{border-bottom:1px solid #526472}.contact-links small{display:block;font-size:11px}.contact-links strong{display:block;font-size:35px;font-weight:400;letter-spacing:.03em;line-height:1.7}.contact-links strong.mail{font-size:27px}.contact-links a>span{display:block;font-size:11px;color:#b8cbd6}.contact-links b{position:absolute;right:0;top:40%;font-size:25px;font-weight:400}.contact-links a:hover{color:#9dd7f0}.footer{padding:45px 5%;display:flex;justify-content:space-between;gap:40px}.footer>div:first-child{display:flex;align-items:center;gap:25px}.footer img{width:120px}.footer p{font-size:10px;line-height:2;margin:0}.footer-right{display:flex;align-items:flex-end;gap:25px;flex-wrap:wrap;font-size:10px}.footer-right small{width:100%;text-align:right;font-size:9px;color:var(--muted);letter-spacing:.05em}.subpage{min-height:65vh;padding-top:70px}.subpage h1{font-size:45px;font-weight:500;margin:15px 0 35px}.sub-intro{margin-bottom:50px}.subpage>.text-link{margin-top:50px}.legal{max-width:1050px}.legal h1{font-size:36px}.legal h2{font-size:20px;margin:35px 0 15px}.legal p{font-size:14px}.legal a:not(.text-link){text-decoration:underline}
@media(min-width:1600px){.hero{max-width:1800px;margin:auto}.strengths{max-width:1800px;margin:auto}}
@media(max-width:1150px){.brand span{display:none}.header nav{gap:18px}.header nav a{font-size:11px}.about-mark{font-size:65px}.about-mark>span{font-size:220px}.section{padding:85px 6%}.hero-visual{height:500px}.service{grid-template-columns:35px 1fr 1.2fr}.service h3{font-size:21px}.strength-list{padding:25px 8%}.strength-list h3{font-size:19px}.contact-links strong{font-size:30px}.contact-links strong.mail{font-size:24px}}
@media(max-width:760px){html{scroll-padding-top:80px}.header{height:78px;padding:5px 5%}.brand img{width:110px;height:55px}.menu-toggle{display:block;background:none;border:0;padding:10px 0 10px 20px;font-size:10px;color:var(--ink);line-height:1.4;cursor:pointer}.menu-toggle span{display:block;width:26px;height:1px;background:var(--ink);margin:6px 0 0 auto}.header nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:22px 6% 35px;border-bottom:1px solid var(--line)}.header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 20px 30px #172a3c15}.header nav a{padding:13px 0;font-size:13px;border-bottom:1px solid var(--line)}.header nav .nav-contact{padding:13px 18px;margin-top:15px}.hero{padding:35px 5% 0}.hero-top{margin-bottom:20px}.eyebrow{font-size:9px}.hero-note{display:none}.hero h1{font-size:clamp(25px,5.8vw,43px);line-height:1.7;letter-spacing:0;margin-bottom:28px}.hero-visual{height:465px;margin:0 -5.6%}.hero-visual>img{object-position:42% center}.hero-one{font-size:620px;top:-60px;right:-20px}.hero-caption{left:6%;bottom:65px}.hero-caption>span{font-size:28px}.hero-caption p{font-size:11px}.scroll{left:6%;right:auto;bottom:20px;font-size:8px}.scroll span{font-size:17px}.section{padding:65px 6%}.section-label{margin-bottom:35px;font-size:10px;gap:8px}.section-label>span:last-child:not(.dot){font-size:10px;margin-left:8px}.about-grid{grid-template-columns:1fr;gap:35px}.about-mark{font-size:55px;padding-left:8px}.about-mark>span{font-size:150px}.about-mark small{font-size:8px;margin-top:6px}.about h2,.section-heading h2,.company h2{font-size:30px;margin-bottom:25px}.lead{font-size:18px}.about p{font-size:13px}.strengths{grid-template-columns:1fr}.strength-photo{min-height:0;height:260px}.strength-list{padding:15px 6%}.strength-list article{gap:20px;padding:25px 0}.strength-list h3{font-size:20px}.strength-list p{font-size:12px}.section-heading{display:block;margin-bottom:35px}.section-heading>p{font-size:12px;margin-top:25px}.service{grid-template-columns:30px 1fr;gap:10px;padding:26px 0}.service>div{grid-column:2}.service h3{font-size:21px}.service h3 small{font-size:8px;margin-top:5px}.service p{font-size:12px;margin:6px 0}.tag{font-size:9px}.works-grid{grid-template-columns:1fr;gap:24px}.work-art{height:260px}.work-body{padding:25px}.work h3{font-size:20px}.wide-work{display:block;grid-column:auto}.work-image{height:240px}.works-note{font-size:10px}.support-banner{min-height:380px;padding:55px 6%}.support-banner h2{font-size:28px}.support-banner p{font-size:12px}.support-banner>img{object-position:60% center}.support-banner:after{background:#0c2435aa}.company-grid{grid-template-columns:1fr;gap:30px}.company-photo{margin-top:25px;aspect-ratio:1.8}.company-table>div{grid-template-columns:70px 1fr;gap:15px;font-size:12px;padding:17px 0}.news{grid-template-columns:1fr;gap:30px}.news h2{font-size:28px}.news .section-label{margin-bottom:15px}.contact-grid{grid-template-columns:1fr;gap:30px}.contact h2{font-size:31px}.contact p{font-size:12px}.contact-links strong{font-size:31px}.contact-links strong.mail{font-size:25px}.footer{display:block;padding:30px 6%}.footer>div:first-child{gap:18px}.footer img{width:95px}.footer p{font-size:9px}.footer-right{margin-top:25px;gap:20px}.footer-right small{text-align:left}.subpage h1{font-size:34px}.legal h1{font-size:28px}.legal p{font-size:13px}.subpage{min-height:70vh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
