
:root{--yellow:#ffd400;--ink:#111;--dark:#151515;--cream:#fff8d7;--gray:#f4f1e8;--line:#d8d0ad;--blue:#16223a;--radius:26px;--shadow:0 22px 55px rgba(0,0,0,.18);--sans:"Hiragino Sans","Yu Gothic",system-ui,sans-serif;--serif:"Yu Mincho","Hiragino Mincho ProN",serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--sans);background:#fff;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}main{overflow:hidden}.loader{position:fixed;inset:0;z-index:999;background:var(--yellow);display:grid;place-items:center;font-weight:900;letter-spacing:.18em;animation:loader 1.3s forwards}.loader span{border:2px solid #111;border-radius:999px;padding:18px 26px;background:#fff}@keyframes loader{0%,65%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}.site-header{position:fixed;top:18px;left:24px;right:24px;z-index:100;display:flex;align-items:center;gap:22px;padding:12px 16px;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);border:1px solid rgba(0,0,0,.08);border-radius:999px;box-shadow:0 12px 32px rgba(0,0,0,.1)}.brand{display:flex;align-items:center;gap:10px}.brand img{height:42px;width:auto}.brand strong{font-size:11px;line-height:1;letter-spacing:.12em}.global-nav{display:flex;gap:14px;margin-left:auto}.nav-link{font-size:13px;font-weight:700;padding:8px 4px}.nav-link span{display:block;font-size:10px;color:#777;letter-spacing:.08em}.nav-link.is-active{color:#a27f00}.header-tel{background:#111;color:#fff;border-radius:999px;padding:10px 18px;font-weight:900}.header-tel span{font-size:10px;color:var(--yellow);display:block}.menu-btn{display:none}.drawer{display:none}.hero{min-height:100vh;position:relative;display:grid;align-items:end;padding:160px 7vw 90px;color:#fff;background:#111}.hero-slider,.slide,.hero-overlay{position:absolute;inset:0}.slide{width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity 1.2s,transform 6s}.slide.is-active{opacity:1;transform:scale(1)}.hero-overlay{background:linear-gradient(90deg,rgba(0,0,0,.75),rgba(0,0,0,.2)),radial-gradient(circle at 80% 15%,rgba(255,212,0,.38),transparent 28%)}.hero-copy{position:relative;max-width:820px;z-index:2}.eyebrow{font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:#d6a900}.hero h1{font-family:var(--serif);font-size:clamp(48px,8vw,112px);line-height:1.02;margin:14px 0 24px;letter-spacing:-.05em}.hero p:not(.eyebrow){font-size:18px;line-height:2;max-width:720px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.hero-badge{position:absolute;right:7vw;bottom:70px;z-index:2;background:var(--yellow);color:#111;border-radius:50%;width:142px;height:142px;display:grid;place-items:center;text-align:center;font-weight:900;animation:spin 16s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:15px 24px;font-weight:900;border:1px solid #111;transition:.25s}.btn:hover{transform:translateY(-3px);box-shadow:0 12px 22px rgba(0,0,0,.18)}.btn-yellow{background:var(--yellow);color:#111}.btn-white{background:#fff;color:#111}.btn-dark{background:#111;color:#fff}.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;padding:120px 7vw}.section-title span{font-size:clamp(48px,8vw,118px);font-family:var(--serif);font-style:italic;color:var(--yellow);text-shadow:1px 1px 0 #111;line-height:.9}.section-title h2{font-size:clamp(30px,4vw,58px);line-height:1.25;margin:10px 0}.intro-text{font-size:18px;line-height:2.25}.about-band{min-height:520px;background:linear-gradient(rgba(0,0,0,.35),rgba(0,0,0,.5)),url('../img/concept.jpg') center/cover fixed;display:flex;align-items:center;padding:80px 7vw;color:#fff}.about-band>div{background:rgba(0,0,0,.62);border:1px solid rgba(255,255,255,.22);border-radius:var(--radius);padding:46px;max-width:760px}.about-band span{color:var(--yellow);font-size:56px;font-family:var(--serif);font-style:italic}.about-band h2{font-size:clamp(32px,5vw,64px);line-height:1.25}.text-link{border-bottom:3px solid var(--yellow);font-weight:900}.cards-section{padding:120px 7vw;background:var(--gray)}.center{text-align:center}.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:52px}.service-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:0 18px 44px rgba(0,0,0,.08);position:relative}.service-card img{height:260px;width:100%;object-fit:cover}.service-card b{position:absolute;top:220px;right:18px;background:var(--yellow);border-radius:999px;padding:14px 16px}.service-card h3,.service-card p{padding:0 24px}.service-card h3{font-size:24px}.service-card p{line-height:1.8;padding-bottom:24px}.ticker{background:#111;color:var(--yellow);white-space:nowrap;overflow:hidden;padding:24px 0}.ticker-track{display:inline-flex;gap:50px;font-weight:900;font-size:42px;animation:ticker 22s linear infinite}@keyframes ticker{to{transform:translateX(-50%)}}.people-like{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center;background:var(--yellow);padding:100px 7vw}.people-like h2{font-size:clamp(34px,5vw,68px);line-height:1.15;margin:0 0 22px;font-family:var(--serif)}.people-like p{line-height:2;font-size:17px}.people-like img{border-radius:var(--radius);box-shadow:var(--shadow);transform:rotate(2deg)}.contact-band{padding:95px 7vw;background:#111;color:#fff;display:flex;justify-content:space-between;gap:24px;align-items:center}.contact-band h2{font-size:clamp(28px,4vw,54px);max-width:850px}.page-hero{padding:180px 7vw 90px;background:var(--yellow);position:relative}.page-hero:after{content:"";position:absolute;right:-80px;bottom:-90px;width:360px;height:360px;border-radius:50%;border:52px solid rgba(255,255,255,.55)}.page-hero h1{font-family:var(--serif);font-size:clamp(46px,7vw,96px);line-height:1.05;margin:8px 0 20px}.page-hero p:last-child{font-size:19px;line-height:2;max-width:850px}.recruit-hero{background:linear-gradient(rgba(255,212,0,.85),rgba(255,212,0,.85)),url('../img/recruit.jpg') center/cover}.detail-list{padding:90px 7vw;display:grid;gap:34px}.detail-card{display:grid;grid-template-columns:.95fr 1.05fr;gap:34px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 16px 38px rgba(0,0,0,.08)}.detail-card img{height:360px;width:100%;object-fit:cover;border-radius:20px}.detail-card div{padding:28px}.detail-card span,.works-grid span{font-weight:900;color:#b18b00;letter-spacing:.1em}.detail-card h2{font-size:42px;line-height:1.2}.detail-card p{line-height:2;font-size:17px}.flow{padding:90px 7vw;background:var(--gray)}.flow ol{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;list-style:none;padding:0}.flow li{background:#fff;border-radius:18px;padding:24px;font-weight:900}.flow b{display:block;color:#d6a900;font-size:30px}.works-grid{padding:90px 7vw;display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.works-grid article{background:#fff;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:0 12px 30px rgba(0,0,0,.07)}.works-grid img{height:330px;width:100%;object-fit:cover}.works-grid article>*:not(img){margin-left:28px;margin-right:28px}.works-grid h2{font-size:32px}.works-grid p{line-height:1.9;margin-bottom:28px}.note-box{margin:0 7vw 100px;padding:36px;border-radius:var(--radius);background:var(--cream);border:1px solid var(--line)}.company-message{background:#fff}.profile,.job-table{padding:60px 7vw 110px}.profile table,.job-table table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:0 16px 44px rgba(0,0,0,.08)}th,td{padding:22px;border-bottom:1px solid #eee;text-align:left;vertical-align:top}th{width:220px;background:#111;color:#fff}.contact-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;padding:90px 7vw;background:var(--gray)}.contact-form,.contact-info{background:#fff;border-radius:var(--radius);padding:34px;box-shadow:0 16px 44px rgba(0,0,0,.08)}label{display:block;font-weight:900;margin-bottom:18px}input,textarea{width:100%;border:1px solid #ddd;border-radius:12px;padding:14px;margin-top:8px;font:inherit}textarea{min-height:150px}.form-note{color:#776;line-height:1.8}.privacy{padding:70px 7vw}.footer{background:#161616;color:#fff;padding:80px 7vw 28px}.footer-catch span{font-size:clamp(40px,7vw,96px);font-family:var(--serif);font-style:italic;color:var(--yellow)}.footer-catch strong{display:block;font-size:clamp(24px,4vw,48px);margin-top:10px}.footer-grid{display:grid;grid-template-columns:1.1fr .8fr 1fr;gap:40px;margin-top:55px;border-top:1px solid #444;padding-top:40px}.footer-logo{max-width:190px;background:#fff;padding:10px;border-radius:10px}.footer nav{display:grid;gap:12px}.copy{color:#aaa;margin-top:50px}.reveal{opacity:1;transform:translateY(16px);transition:.7s}.reveal.inview{transform:translateY(0)}@media(max-width:900px){.site-header{left:12px;right:12px;top:10px}.global-nav,.header-tel{display:none}.menu-btn{display:block;margin-left:auto;border:0;background:#111;color:#fff;border-radius:999px;padding:12px 16px}.drawer{display:none;position:fixed;z-index:90;top:82px;left:14px;right:14px;background:#fff;border-radius:22px;padding:22px;box-shadow:var(--shadow)}.drawer.is-open{display:grid;gap:12px}.hero{padding:130px 22px 70px}.hero-badge{width:105px;height:105px;right:22px;bottom:30px;font-size:12px}.split,.people-like,.detail-card,.contact-layout,.footer-grid{grid-template-columns:1fr}.service-cards,.works-grid{grid-template-columns:1fr}.flow ol{grid-template-columns:1fr}.contact-band{display:block}.detail-card img,.works-grid img,.service-card img{height:230px}.section-title span{font-size:54px}.page-hero{padding:130px 22px 70px}.cards-section,.detail-list,.flow,.works-grid,.profile,.job-table,.contact-layout,.privacy,.footer,.people-like,.split{padding-left:22px;padding-right:22px}th,td{display:block;width:100%}.about-band{background-attachment:scroll}.footer-catch span{font-size:48px}}

/* revision: multilang + clean hero/recruit */
.translate-widget{position:relative;display:flex;align-items:center;gap:8px;background:#fff7bf;border:1px solid #111;border-radius:999px;padding:6px 10px;font-weight:900;max-width:220px}.translate-toggle{border:0;background:transparent;font-weight:900;font:inherit;white-space:nowrap}.translate-widget .goog-te-gadget{font-size:0}.translate-widget select.goog-te-combo{max-width:120px;border:0;background:#fff;border-radius:999px;padding:6px 8px;font-size:12px}.skiptranslate iframe{display:none!important}body{top:0!important}.hero-badge{display:none!important}.recruit-message.people-like{grid-template-columns:1fr;background:linear-gradient(135deg,var(--yellow),#fff2a0);}.recruit-message.people-like>div{max-width:980px}.recruit-message.people-like img{display:none!important}@media(max-width:900px){.translate-widget{display:none}.drawer .translate-widget{display:flex}}

/* revision: mobile banner + seamless language + remove top recruit photo */
.site-header .translate-widget{background:transparent!important;border:0!important;padding:0 4px!important;box-shadow:none!important;max-width:150px}.site-header .translate-toggle{font-size:12px;color:#555;padding:0}.site-header .translate-toggle::before{content:""}.site-header .translate-widget select.goog-te-combo{background:transparent!important;border:0!important;border-bottom:1px solid rgba(0,0,0,.25)!important;border-radius:0!important;padding:4px 2px!important;max-width:86px;color:#333}.site-header .goog-te-gadget span{display:none!important}body .skiptranslate iframe{display:none!important}.people-like>img[src*="recruit"]{display:none!important}.people-like:has(img[src*="recruit"]){grid-template-columns:1fr!important}.people-like>div{max-width:980px}@media(max-width:900px){.brand strong{display:none!important}.brand img{height:34px}.site-header{gap:10px;padding:10px 12px}.site-header .translate-widget{display:flex!important;margin-left:auto;max-width:98px}.site-header .translate-toggle{font-size:0}.site-header .translate-toggle::after{content:"🌐";font-size:18px}.site-header .translate-widget select.goog-te-combo{max-width:62px;font-size:11px}.menu-btn{margin-left:0;padding:10px 13px}.drawer .translate-widget{display:none!important}}

/* revision: Japanese selectable language UI */
.translate-widget #google_translate_element{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.translate-widget .language-select{appearance:none;-webkit-appearance:none;background:transparent;border:0;border-bottom:1px solid rgba(0,0,0,.28);border-radius:0;padding:5px 18px 5px 4px;font-weight:800;font-size:12px;color:#222;max-width:108px;cursor:pointer}.translate-widget .translate-label{font-size:15px;line-height:1}.translate-widget:after{content:"⌄";font-size:11px;color:#333;margin-left:-16px;pointer-events:none}.site-header .translate-widget select.goog-te-combo{display:none!important}@media(max-width:900px){.site-header .translate-widget{max-width:126px}.site-header .language-select{max-width:84px;font-size:11px;padding-right:14px}.site-header .translate-toggle{display:none!important}}

/* revision: default Japanese language selector */
.translate-widget{min-width:118px}.translate-widget .language-select{background:transparent!important}.translate-widget .language-select option[value="ja"]{font-weight:900}.translate-widget #google_translate_element,.translate-widget .skiptranslate,.translate-widget .goog-te-gadget{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}@media(max-width:900px){.site-header .translate-widget{min-width:92px}.site-header .language-select{max-width:78px}}
