@charset "UTF-8";
:root {
    --black:#080808;
    --orange:#f76f00;
    --cream:#fff5ec;
    --text:#1c1c1c;
    --muted:#666;
    --line:#e5e2df;
    --serif:"Shippori Mincho",serif;
    --sans:"Zen Kaku Gothic New",sans-serif;
    --latin:"Poppins",sans-serif
}
* {
    box-sizing:border-box
}
html {
    scroll-behavior:smooth
}
body {
    margin:0;
    color:var(--text);
    font-family:var(--sans);
    background:#fff;
    line-height:1.8
}
img {
    max-width:100%;
    display:block
}
a {
    text-decoration:none;
    color:inherit
}
.wrap {
    width:min(1100px,calc(100% - 48px));
    margin-inline:auto
}
.section {
    padding:96px 0
}
.eyebrow {
    margin:0 0 8px;
    color:var(--orange);
    font:600 .9rem/1 var(--latin);
    letter-spacing:.22em
}
.section-heading h2 {
    margin:0;
    font-family:var(--serif);
    font-size:clamp(2rem,3vw,2.8rem);
    line-height:1.35
}
.section-heading h2::after {
    content:"";
    display:block;
    width:42px;
    height:3px;
    margin-top:14px;
    background:var(--orange)
}
.section-heading.centered {
    text-align:center
}
.section-heading.centered h2::after {
    margin-inline:auto
}
.button {
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    min-width:220px;
    padding:16px 24px;
    font-weight:700;
    transition:.25s;
    font-family:var(--sans);
}
.button-primary {
    background:var(--orange);
    color:#fff
}
.button-primary:hover {
    background:#111
}
.number {
    color:var(--orange);
    font:700 1rem/1 var(--latin)
}






.hero {
    position:relative;
    min-height:620px;
    margin-top:90px;
    display:flex;
    align-items:center;
    overflow:hidden;
    background:#000
}
.hero-image {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center
}
.hero-shade {
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.75) 34%,rgba(0,0,0,.12) 75%)
}
.hero-content {
    position:relative;
    z-index:1;
    color:#fff
}
.hero h1 {
    margin:18px 0 22px;
    font-family:var(--serif);
    font-size:clamp(3.4rem,6vw,5.6rem);
    line-height:1.1;
    font-weight:600
}
.hero-copy {
    margin:0 0 34px;
    font-family:var(--serif);
    font-size:1.25rem;
    line-height:2
}
.benefit-grid {
    margin-top:48px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px
}
.benefit-card {
    position:relative;
    min-height:250px;
    padding:32px;
    text-align:center;
    border:1px solid var(--line);
    background:#fff;
    box-shadow:0 10px 30px rgba(0,0,0,.035)
}
.benefit-card .number {
    position:absolute;
    top:24px;
    left:24px
}
.benefit-card img {
    width:72px;
    height:72px;
    object-fit:contain;
    margin:12px auto 18px
}
.benefit-card h3 {
    margin:0 0 10px;
    font-size:1.18rem
}
.benefit-card p {
    margin:0;
    color:var(--muted);
    font-size:.92rem
}
.duties {
    padding:0;
    background:var(--cream)
}
.split {
    display:grid;
    grid-template-columns:1fr 1fr;
    min-height:520px
}
.split-content {
    padding:80px max(48px,calc((100vw - 1100px)/2));
    padding-right:70px;
    align-self:center
}
.split-content>p {
    max-width:620px
}
.split-image {
    min-height:520px
}
.split-image img {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 55%
}
.check-list {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px 28px;
    margin:30px 0;
    padding:0;
    list-style:none
}
.check-list li {
    position:relative;
    padding-left:25px
}
.check-list li::before {
    content:"✓";
    position:absolute;
    left:0;
    top:0;
    color:var(--orange);
    font-weight:700
}
.note {
    font-weight:700
}
.voice {
    background:#fff
}
.voice-panel {
    display:grid;
    grid-template-columns:380px 1fr;
    align-items:stretch;
    background:var(--cream)
}
.voice-image img {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    padding: 7.5%;
}
.voice-copy {
    padding:60px
}
.voice-copy h3 {
    margin:30px 0 14px;
    font-family:var(--serif);
    font-size:1.45rem
}
.voice-copy p {
    margin:0 0 16px
}
.voice-name {
    text-align:right;
    font-weight:700
}
.details-flow {
    background:#fff
}
.two-columns {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:48px
}

.flow-list {
    margin-top:34px;
    display:grid;
    gap:14px
}
.flow-card {
    display:grid;
    grid-template-columns:38px 72px 1fr;
    gap:16px;
    align-items:center;
    padding:22px;
    border:1px solid var(--line);
    background:#fff
}
.flow-card img {
    width:56px;
    height:56px;
    object-fit:contain
}
.flow-card h3 {
    margin:0 0 4px;
    font-size:1.05rem
}
.flow-card p {
    margin:0;
    color:var(--muted);
    font-size:.88rem
}
.entry {
    padding:48px 0;
    background:#111;
    color:#fff
}
.entry-inner {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px
}
.entry h2 {
    margin:0 0 8px;
    font-family:var(--serif);
    font-size:2rem
}
.entry p {
    margin:0
}




.floating-entry {
    position:fixed;
    right:20px;
    bottom:20px;
    z-index:10;
    width:72px;
    height:72px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--orange);
    color:#fff;
    font-weight:700;
    box-shadow:0 8px 24px rgba(0,0,0,.22)
}

.store {
    background-color: #fffbf3;
    padding: 0;
}

/* WordPress editable areas */
.recruit-editable-content .wp-block-table { margin: 34px 0 0; overflow-x: auto; }
.recruit-editable-content .wp-block-table table { margin-top: 0; }
.recruit-editable-content > table { margin-top: 34px; }
.recruit-form-wrap { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(360px, 1.2fr); gap: 72px; align-items: start; }
.recruit-form-content { color: #fff; }
.recruit-form-content input:not([type="submit"]),
.recruit-form-content textarea,
.recruit-form-content select { width: 100%; padding: 12px 14px; border: 1px solid #555; background: #fff; color: #111; }
.recruit-form-content textarea { min-height: 150px; resize: vertical; }
.recruit-form-content p { margin: 0 0 18px; }
.recruit-form-content input[type="submit"],
.recruit-form-content button[type="submit"] { min-width: 220px; padding: 16px 24px; border: 0; background: var(--orange); color: #fff; font-weight: 700; cursor: pointer; }
.form-placeholder { padding: 20px; border: 1px solid #444; color: #ccc; }

/* ==============================
   採用ページ：共通ヘッダーをトップと統一
============================== */

body.page-template-page-recruit header {
  height: 60px;
  padding: 0 40px;
  font-family: var(--serif);
}

body.page-template-page-recruit header .menu,
body.page-template-page-recruit header .menu a {
  font-family: var(--serif);
  font-weight: 600;
}

/* ヒーロー上下の白い余白を削除 */
body.page-template-page-recruit .recruit-page {
  padding-top: 0;
  margin-top: 0;
}

body.page-template-page-recruit .hero {
  margin-top: 0;
  margin-bottom: 0;
}

body.page-template-page-recruit .hero-image {
  display: block;
}

body.page-template-page-recruit header + main,
body.page-template-page-recruit header + .recruit-page {
  margin-top: 0;
  padding-top: 0;
}
