:root{--blue:#073763;--deep:#06284a;--gold:#d8a437;--text:#1d2b39;--bg:#f6f8fb;--line:#e6edf5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,'Yu Gothic','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;color:var(--text);line-height:1.8;background:#fff}a{text-decoration:none;color:inherit}.site-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(255,255,255,.94);position:sticky;top:0;z-index:10;box-shadow:0 2px 20px rgba(0,0,0,.08);backdrop-filter:blur(12px)}.brand{display:flex;gap:12px;align-items:center}.logo{width:42px;height:42px;background:var(--blue);color:white;font-weight:900;display:grid;place-items:center;border-radius:10px}.brand b{display:block;font-size:1.1rem;color:var(--blue)}.brand small{display:block;font-size:.72rem}nav{display:flex;gap:20px;font-weight:700;color:var(--blue);font-size:.94rem}.hero{position:relative;min-height:calc(100vh - 76px);display:flex;align-items:center;overflow:hidden;background:#000}.hero img,.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.72;animation:zoom 14s ease-in-out infinite alternate}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,31,58,.86),rgba(5,31,58,.45),rgba(5,31,58,.05))}.hero-text{position:relative;z-index:1;color:#fff;padding:8vw 5vw;max-width:780px}.eyebrow{color:var(--gold);font-weight:900;letter-spacing:.12em;font-size:.82rem;text-transform:uppercase}.hero h1{font-size:clamp(2.4rem,7vw,5.2rem);line-height:1.15;margin:.2em 0;font-weight:900}.hero p{font-size:1.05rem}.buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 24px;border-radius:999px;border:2px solid currentColor;font-weight:900;background:#fff;color:var(--blue)}.btn.primary{background:var(--gold);border-color:var(--gold);color:#fff}.section{padding:82px 5vw}.split{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.section h2{font-size:clamp(1.8rem,4vw,3rem);line-height:1.35;color:var(--blue);margin:.2em 0 .6em}.card-img{width:100%;border-radius:24px;box-shadow:0 18px 45px rgba(0,0,0,.16)}.check{padding-left:1.2em;font-weight:700}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:28px}.cards article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:0 8px 28px rgba(7,55,99,.08)}.cards h3{color:var(--blue);font-size:1.25rem}.center{text-align:center}.lead{max-width:780px;margin:0 auto 26px}.dark{background:linear-gradient(135deg,var(--deep),var(--blue));color:#fff}.dark h2{color:#fff}.reason{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:30px;background:rgba(255,255,255,.25)}.reason div{padding:34px;background:rgba(255,255,255,.08);text-align:center}.reason b{font-size:2rem;color:var(--gold)}.office-section{background:var(--bg)}.office-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}.office-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:0 12px 35px rgba(7,55,99,.08)}.office-card h3{font-size:1.35rem;color:var(--blue);margin-top:0}.office-card dl{display:grid;grid-template-columns:95px 1fr;gap:8px 16px;margin:0 0 22px}.office-card dt{font-weight:900;color:var(--blue)}.office-card dd{margin:0}.office-card iframe{width:100%;height:330px;border:0;border-radius:18px;background:#edf2f7}.recruit{display:flex;justify-content:space-between;gap:30px;align-items:center;background:#fff}.contact{background:#fff}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.contact-grid>div{background:#fff;border-radius:18px;padding:26px;border:1px solid var(--line);box-shadow:0 8px 28px rgba(7,55,99,.06)}.contact-grid h3{color:var(--blue);margin-top:0}.tel{font-size:1.8rem;font-weight:900;color:var(--blue);margin:0}.small-tel{font-size:1.45rem}.mail{font-weight:900;color:var(--blue);word-break:break-all}footer{padding:34px 5vw;text-align:center;background:#061b31;color:#fff}.footer-links{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin-bottom:10px;font-weight:900}.fixed-bar{display:none}

/* 採用ページ */
.page-hero{position:relative;min-height:560px;display:flex;align-items:center;overflow:hidden;background:#000}.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,31,58,.90),rgba(5,31,58,.54),rgba(5,31,58,.12))}.page-hero-text{position:relative;z-index:1;color:#fff;padding:7vw 5vw;max-width:820px}.page-hero h1{font-size:clamp(2.2rem,6vw,4.7rem);line-height:1.15;margin:.2em 0;font-weight:900}.page-hero p{font-size:1.08rem}.job-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}.job-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:0 12px 35px rgba(7,55,99,.08)}.job-card span{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--blue);color:#fff;font-weight:900;margin-bottom:12px}.job-card h3{color:var(--blue);font-size:1.35rem;margin:.2em 0}.note{margin-top:24px;font-size:.92rem;color:#5b6b7d}.feature-cards{grid-template-columns:repeat(4,1fr)}.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:34px;background:rgba(255,255,255,.25)}.flow div{padding:28px;background:rgba(255,255,255,.08);text-align:center}.flow b{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--gold);color:#fff;font-size:1.25rem}.flow h3{margin:.8em 0 .2em}.table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 12px 35px rgba(7,55,99,.08)}.recruit-table{width:100%;border-collapse:collapse;min-width:680px}.recruit-table th,.recruit-table td{border-bottom:1px solid var(--line);padding:18px 22px;text-align:left;vertical-align:top}.recruit-table tr:last-child th,.recruit-table tr:last-child td{border-bottom:0}.recruit-table th{width:190px;background:var(--bg);color:var(--blue);font-weight:900}.recruit-contact{background:var(--bg)}

@keyframes zoom{from{transform:scale(1)}to{transform:scale(1.06)}}@media(max-width:900px){nav{gap:12px;font-size:.84rem}.cards{grid-template-columns:repeat(2,1fr)}.office-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}.job-grid{grid-template-columns:1fr}.feature-cards{grid-template-columns:repeat(2,1fr)}.flow{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.site-header{height:66px;padding:0 16px}.brand b{font-size:.95rem}.brand small{font-size:.65rem}nav{display:none}.hero{min-height:680px}.hero:after{background:linear-gradient(180deg,rgba(5,31,58,.35),rgba(5,31,58,.9))}.hero-text{padding:44vh 20px 80px}.page-hero{min-height:620px}.page-hero:after{background:linear-gradient(180deg,rgba(5,31,58,.35),rgba(5,31,58,.92))}.page-hero-text{padding:36vh 20px 76px}.section{padding:56px 20px}.split,.cards,.reason,.feature-cards,.flow{grid-template-columns:1fr}.office-card{padding:22px}.office-card dl{grid-template-columns:1fr;gap:2px}.office-card dd{margin-bottom:12px}.office-card iframe{height:260px}.recruit{display:block}.recruit .btn{margin-top:18px}.job-card{padding:24px}.recruit-table{min-width:0}.recruit-table th,.recruit-table td{display:block;width:100%;padding:14px 16px}.recruit-table th{border-bottom:0}.fixed-bar{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:20}.fixed-bar a{padding:14px;text-align:center;background:var(--blue);color:#fff;font-weight:900;border-right:1px solid rgba(255,255,255,.3)}body{padding-bottom:54px}}


/* 会社概要ページ */
.overview-wrap{max-width:980px;margin:32px auto 0;overflow:hidden;border-radius:24px;box-shadow:0 12px 35px rgba(7,55,99,.08);border:1px solid var(--line);background:#fff}.overview-table{width:100%;border-collapse:collapse}.overview-table th,.overview-table td{padding:18px 24px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.overview-table tr:last-child th,.overview-table tr:last-child td{border-bottom:0}.overview-table th{width:210px;background:#eef4fb;color:var(--blue);font-weight:900}.philosophy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}.philosophy-grid article{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);border-radius:22px;padding:28px;text-align:center}.philosophy-grid span{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--gold);color:#fff;font-weight:900}.philosophy-grid h3{font-size:1.35rem;margin:.8em 0 .2em}.detail-cards{grid-template-columns:repeat(4,1fr)}.timeline{max-width:980px;margin:34px auto 0;display:grid;gap:18px}.timeline div{position:relative;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);border-radius:22px;padding:26px 28px 26px 130px}.timeline b{position:absolute;left:28px;top:28px;color:var(--gold);font-size:1.8rem;line-height:1}.timeline h3{margin:0 0 6px;font-size:1.25rem}@media(max-width:900px){.philosophy-grid,.detail-cards{grid-template-columns:1fr 1fr}}@media(max-width:760px){.overview-table th,.overview-table td{display:block;width:100%;padding:14px 16px}.overview-table th{border-bottom:0}.philosophy-grid,.detail-cards{grid-template-columns:1fr}.timeline div{padding:24px}.timeline b{position:static;display:block;margin-bottom:10px}}


/* 私たちの強み */
.strength-section{background:linear-gradient(180deg,#fff 0%,#f6f8fb 100%)}
.strength-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}
.strength-cards article{background:#fff;border:1px solid var(--line);border-radius:24px;padding:32px;box-shadow:0 12px 35px rgba(7,55,99,.08);position:relative;overflow:hidden}
.strength-cards article:before{content:"";position:absolute;right:-42px;top:-42px;width:120px;height:120px;border-radius:50%;background:rgba(216,164,55,.16)}
.strength-cards span{display:inline-grid;place-items:center;width:50px;height:50px;border-radius:16px;background:var(--blue);color:#fff;font-weight:900;margin-bottom:14px;letter-spacing:.04em}
.strength-cards h3{color:var(--blue);font-size:1.35rem;line-height:1.45;margin:.1em 0 .6em}
.strength-cards p{margin:0}
@media(max-width:900px){.strength-cards{grid-template-columns:1fr}}

/* 採用ページ：職種ごとの募集内容 */
.text-link{display:inline-flex;margin-top:14px;color:var(--blue);font-weight:900;border-bottom:2px solid var(--gold)}
.job-detail-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:34px;margin:26px 0;box-shadow:0 14px 40px rgba(7,55,99,.08)}
.job-detail-head{display:flex;gap:18px;align-items:center;margin-bottom:18px}
.job-detail-head span{display:inline-grid;place-items:center;width:58px;height:58px;border-radius:18px;background:var(--blue);color:#fff;font-weight:900;font-size:1.15rem;flex:0 0 auto}
.job-detail-head h3{color:var(--blue);font-size:clamp(1.55rem,3vw,2.2rem);line-height:1.3;margin:.1em 0}
.job-columns{display:grid;grid-template-columns:.85fr 1.15fr;gap:24px;align-items:start;margin-top:22px}
.job-columns h4{color:var(--blue);font-size:1.2rem;margin:0 0 10px}.mini-table{box-shadow:none}.mini-table .recruit-table{min-width:0}.mini-table .recruit-table th{width:150px}.welcome-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}.welcome-grid article{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);border-radius:22px;padding:28px;text-align:center}.welcome-grid h3{margin-top:0;color:#fff;font-size:1.25rem}
@media(max-width:900px){.job-columns,.welcome-grid{grid-template-columns:1fr}}
@media(max-width:760px){.job-detail-card{padding:24px;border-radius:22px}.job-detail-head{align-items:flex-start}.job-detail-head span{width:48px;height:48px;border-radius:14px}.mini-table .recruit-table th{width:100%}}

/* 採用問い合わせフォーム */
.entry-form-wrap{max-width:980px;margin:34px auto 36px;background:#fff;border:1px solid var(--line);border-radius:28px;padding:32px;box-shadow:0 14px 40px rgba(7,55,99,.10)}
.entry-form{display:grid;gap:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.entry-form label{display:grid;gap:8px;font-weight:900;color:var(--blue)}.entry-form label span{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;background:var(--gold);color:#fff;font-size:.72rem;vertical-align:middle}.entry-form input,.entry-form select,.entry-form textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:13px 14px;font:inherit;color:var(--text);background:#fff}.entry-form textarea{resize:vertical}.entry-form input:focus,.entry-form select:focus,.entry-form textarea:focus{outline:3px solid rgba(216,164,55,.22);border-color:var(--gold)}.form-note{margin:0;color:#5b6b7d;font-size:.92rem}.form-submit{border:0;cursor:pointer;justify-self:start;font-size:1rem}
@media(max-width:760px){.entry-form-wrap{padding:22px;border-radius:22px}.form-grid{grid-template-columns:1fr}.form-submit{width:100%}}
