@charset "UTF-8";
:root{color-scheme:light;--paper:#f4f3ee;--ink:#202c30;--muted:#596064;--line:#cdcfca;--orange:#bf4b2b;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}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}a{color:inherit;text-underline-offset:5px}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:6px}a:hover{text-decoration-thickness:2px}.wrap{width:min(1320px,calc(100% - 96px));margin-inline:auto}.skip-link{position:fixed;z-index:10;left:20px;top:-80px;padding:14px;background:var(--ink);color:white}.skip-link:focus{top:15px}.site-header{min-height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{font-size:24px;font-weight:800;letter-spacing:-1px;text-decoration:none}.brand-dot{color:var(--orange)}.brand img{max-width:170px;max-height:48px;width:auto;object-fit:contain}.site-header nav{display:flex;gap:40px;align-items:center}.site-header nav a{font-size:13px;font-weight:600;text-decoration:none;padding-block:15px}.site-header nav a span{margin-left:8px;color:var(--orange)}.hero{padding:42px 0 28px}.hero-top,.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px}.hero-top p,.hero-bottom p{margin:0}.hero-top p:first-child{font-size:14px;font-weight:600;letter-spacing:.06em}.eyebrow{font-family:Arial,sans-serif;font-size:11px;font-weight:600;letter-spacing:.12em;line-height:1.5}.hero-top .eyebrow{display:flex;gap:12px;align-items:center}.dot{width:7px;height:7px;display:inline-block;background:var(--orange);border-radius:50%}.hero h1{font-size:clamp(65px,14.95vw,210px);line-height:.99;letter-spacing:-.075em;font-weight:600;margin:30px 0 34px;white-space:nowrap;display:flex;align-items:baseline;gap:.035em}.hero-square{display:inline-block;width:.095em;height:.095em;background:var(--orange);flex-shrink:0}.hero-bottom p{font-size:12px;letter-spacing:.025em;line-height:2}.hero-bottom p span{color:#9ca09d;padding-inline:14px}.explore{display:flex;align-items:center;gap:28px;font-size:10px;font-weight:600;letter-spacing:.12em;text-decoration:none}.explore span{font-size:22px}.business{padding-top:42px}.section-label{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:26px 0 23px}.section-label h2{font-size:15px;display:flex;align-items:center;gap:32px;margin:0}.section-label p{font-size:11px;color:var(--muted);margin:0}.section-label p span{margin-left:8px}.business-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.business-card{border:1px solid transparent;overflow:hidden;transition:border-color .25s}.business-card summary{list-style:none;cursor:pointer;display:block;padding:25px 30px 28px}.business-card summary::-webkit-details-marker{display:none}.business-card summary:focus-visible{outline-offset:-7px}.trade{background:#e8e8df}.it{background:#e3e9ec}.estate{background:#e8e3dd}.games{background:#253238;color:#f4f3ee}.card-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.card-toggle{width:29px;height:29px;border:1px solid currentColor;border-radius:50%;position:relative;flex-shrink:0}.card-toggle:before,.card-toggle:after{content:"";position:absolute;width:9px;height:1px;left:9px;top:13px;background:currentColor;transition:transform .3s var(--ease)}.card-toggle:after{transform:rotate(90deg)}details[open] .card-toggle:after{transform:rotate(0)}.art{height:210px;display:block;margin:5px -12px 8px;overflow:hidden}.art img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .7s var(--ease)}.card-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;min-height:72px}.card-title{font-size:clamp(23px,2.5vw,34px);font-weight:500;line-height:1.38;letter-spacing:.035em}.card-caption{font-size:10px;letter-spacing:.1em;line-height:1.6;text-align:right;opacity:.72}.card-detail{margin:0 30px;padding:25px 0 30px;border-top:1px solid #59606455;animation:enter .4s var(--ease)}.games .card-detail{border-color:#f4f3ee45}.card-detail h3{font-size:11px;font-weight:500;letter-spacing:.1em;margin:0 0 18px}.card-detail p{font-size:14px;margin:0;line-height:1.8}.card-detail .game-name{font-size:26px;font-weight:500;letter-spacing:-.02em}.game-project{display:flex;align-items:center;gap:24px}.game-project img{width:40%;height:auto;border-radius:2px}.game-link{display:inline-block;margin-top:16px;font-size:13px}.flow{display:flex;list-style:none;padding:0;margin:0;gap:15px;align-items:center}.flow li{font-size:14px;flex:1;border:1px solid #59606455;padding:14px 5px;text-align:center;position:relative}.flow li+li:before{content:"→";position:absolute;left:-15px;width:15px;top:14px;font-size:11px}.company{padding:100px 0 80px;display:grid;grid-template-columns:1fr 1.5fr;gap:40px}.company h2,.contact h2{margin:0;font-size:26px;font-weight:500;letter-spacing:.04em}.company h2 .eyebrow,.contact h2 .eyebrow{display:block;margin-bottom:18px}.company-table{margin:0}.company-table>div{display:grid;grid-template-columns:120px 1fr;padding:25px 0;border-top:1px solid var(--line);gap:12px}.company-table>div:last-child{border-bottom:1px solid var(--line)}dt{font-size:12px;color:var(--muted);line-height:1.8}dd{font-size:14px;margin:0;line-height:1.8;overflow-wrap:anywhere}.company-en{display:block;font-size:11px;letter-spacing:.08em;margin-top:4px;color:var(--muted)}dd ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.contact{border-top:1px solid var(--line);padding:40px 0 70px;display:flex;justify-content:space-between;gap:32px}.contact-links{display:flex;flex-direction:column;gap:16px;align-items:flex-start}.contact-links a{font-size:20px;overflow-wrap:anywhere}.site-footer{border-top:1px solid var(--line);padding:32px 0 38px;display:flex;justify-content:space-between;align-items:center;gap:24px}.site-footer small{font-size:10px;letter-spacing:.08em;color:var(--muted)}.back-top{font-size:11px;text-decoration:none}.back-top span{margin-left:18px}@keyframes enter{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
.site-header{flex-wrap:wrap}.site-header nav{flex-wrap:wrap}.site-header nav a{min-height:44px;display:inline-flex;align-items:center}.card-title{word-break:keep-all}.back-top{min-height:44px;display:inline-flex;align-items:center}
@supports(interpolate-size:allow-keywords){.business-card{interpolate-size:allow-keywords}.business-card::details-content{block-size:0;overflow:hidden;transition:block-size .45s var(--ease),content-visibility .45s allow-discrete}.business-card[open]::details-content{block-size:auto}}
@media(hover:hover){.business-card:hover{border-color:#59606455}.business-card:hover .art img{transform:translateY(-5px) scale(1.035)}.business-card:hover .card-toggle:before{transform:rotate(90deg)}.business-card:hover .card-toggle:after{transform:rotate(180deg)}.business-card[open]:hover .card-toggle:before{transform:rotate(180deg)}.business-card[open]:hover .card-toggle:after{transform:rotate(180deg)}}
@media(min-width:1500px){.hero h1{font-size:210px}}
@media(max-width:900px){.wrap{width:calc(100% - 48px)}.site-header{min-height:84px}.hero h1{font-size:14.3vw}.hero-bottom p span{padding-inline:7px}.art{height:170px}.business-card summary{padding:20px}.card-detail{margin-inline:20px}.card-top .eyebrow{font-size:9px;letter-spacing:.07em}.company{grid-template-columns:1fr 1.7fr;gap:25px}.company-table>div{grid-template-columns:85px 1fr}.company-table dd ul{grid-template-columns:1fr}}
@media(max-width:600px){html{scroll-padding-top:20px}.wrap{width:calc(100% - 40px)}.site-header{min-height:76px;gap:16px}.brand{font-size:21px}.site-header nav{gap:18px}.site-header nav a{font-size:11px}.site-header nav a span{display:none}.hero{padding:30px 0 12px}.hero-top p:first-child{font-size:12px;letter-spacing:.02em}.hero-top .eyebrow{font-size:8px;gap:6px}.dot{width:5px;height:5px}.hero h1{font-size:14.15vw;margin:29px 0 23px;letter-spacing:-.075em}.hero-bottom{align-items:flex-start}.hero-bottom p{font-size:10px;max-width:250px;line-height:2}.hero-bottom p span{padding-inline:5px}.explore{font-size:0;gap:0}.explore span{font-size:24px}.business{padding-top:28px}.section-label{padding:20px 0 18px}.section-label h2{font-size:13px;gap:18px}.section-label .eyebrow{font-size:9px}.section-label p{font-size:9px}.business-grid{grid-template-columns:1fr;gap:14px}.business-card summary{padding:23px 24px 25px}.card-top .eyebrow{font-size:9px}.art{height:185px;margin-top:4px;margin-bottom:0}.card-title{font-size:27px}.card-bottom{min-height:70px}.card-caption{font-size:9px}.card-detail{margin-inline:24px}.company{padding:65px 0 50px;grid-template-columns:1fr;gap:30px}.company h2,.contact h2{font-size:22px}.company h2 .eyebrow,.contact h2 .eyebrow{font-size:9px;margin-bottom:10px}.company-table>div{padding:22px 0;grid-template-columns:80px 1fr}.company-table dd ul{grid-template-columns:1fr;gap:5px}.contact{flex-direction:column;padding-bottom:45px}.contact-links a{font-size:17px}.site-footer{flex-wrap:wrap;padding-block:26px;gap:24px}.site-footer small{font-size:9px}.back-top{width:100%;font-size:10px;display:flex;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media(forced-colors:active){.business-card{border:1px solid CanvasText}.card-toggle{forced-color-adjust:auto}.hero-square,.dot{background:CanvasText}}
@media print{body{background:white}.wrap{width:100%}.skip-link,.explore,.card-toggle,.back-top{display:none}.site-header{min-height:60px}.hero h1{font-size:100px}.business{padding-top:10px}.art{height:100px}.business-card{break-inside:avoid;border:1px solid #ccc}.business-card summary{padding:12px}.card-title{font-size:22px}.company{padding:35px 0}.card-detail{display:block}.site-footer{padding:16px 0}}

.card-bottom{min-height:94px}.service-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:22px;min-height:30px}.service-tags>span{font-size:12px;line-height:1.5;padding:5px 9px;border:1px solid #59606466;border-radius:3px}.games .service-tags>span{border-color:#f4f3ee66}.service-list{margin:0}.service-list>div{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:16px 0;border-top:1px solid #59606433}.service-list dt{font-size:13px;font-weight:600;color:inherit}.service-list dd{font-size:13px;line-height:1.9}.games .service-list>div{border-color:#f4f3ee33}.games .game-project{margin-top:14px}.games .service-list+h3{margin-top:28px}
@media(max-width:900px){.service-list>div{grid-template-columns:1fr;gap:5px}.card-title{font-size:26px}}
@media(max-width:600px){.card-bottom{min-height:76px}.service-tags{gap:6px;margin-top:18px}.service-tags>span{font-size:11px;padding:5px 7px}.card-title{font-size:27px}}

.service-scope{display:block;margin-top:18px;min-height:82px;font-size:14px;line-height:1.9;overflow-wrap:anywhere}.scope-label{display:block;font-size:10px;letter-spacing:.08em;opacity:.8;margin-bottom:5px}.service-scope+.service-tags{margin-top:12px}
@media(max-width:900px){.card-caption{display:none}.card-bottom{display:block}.service-scope{min-height:0;font-size:13px}}
