/* 採用ページ（/recruit/）専用スタイル。
 * HTMC-Delivery/web/styles.css を .p-recruit-lp 配下にスコープ化して移植。
 * ヘッダー・メニュー・フッターはテーマ共通パーツを使うため除外。 */
.p-recruit-lp {--gray:#d7d7d7;--navy:#19212c;--blue:#0b2140;--red:#be3e3e;--line:#b5b5b5;--body:'Yu Mincho',YuMincho,'Hiragino Mincho ProN','Shippori Mincho',serif;--heading:'Shippori Mincho',serif;--en:'Cormorant Garamond',serif}
.p-recruit-lp * {box-sizing:border-box}
.p-recruit-lp {scroll-padding-top:120px}
.p-recruit-lp {margin:0;background:var(--gray);color:#171717;font-family:var(--body);font-size:14px;line-height:2;overflow-wrap:anywhere}
.p-recruit-lp a {color:inherit;text-decoration:none}
.p-recruit-lp button {font:inherit;cursor:pointer}
.p-recruit-lp img {display:block;width:100%;height:auto}
.p-recruit-lp figure,.p-recruit-lp h1,.p-recruit-lp h2,.p-recruit-lp h3,.p-recruit-lp h4,.p-recruit-lp p {margin:0}
.p-recruit-lp button,.p-recruit-lp a {-webkit-tap-highlight-color:transparent}
.p-recruit-lp button:focus-visible,.p-recruit-lp a:focus-visible,.p-recruit-lp [tabindex]:focus-visible {outline:3px solid var(--red);outline-offset:5px}
.p-recruit-lp button {border:0}
.p-recruit-lp .container {width:min(1064px,calc(100% - 80px));margin-inline:auto}
.p-recruit-lp .section {padding-block:110px}
.p-recruit-lp .dark-section {background:#19212c;color:white}
.p-recruit-lp .en {font-family:var(--en);font-size:40px;font-weight:700;line-height:1.2;letter-spacing:.07em}
.p-recruit-lp .section-title {font-weight:400}
.p-recruit-lp .section-title .en,.p-recruit-lp .section-title .ja {display:block}
.p-recruit-lp .section-title .ja {font-family:var(--heading);font-size:17px;letter-spacing:.1em;margin-top:12px}
.p-recruit-lp .seal {display:inline-grid;place-items:center;background:var(--red);color:#d7d7d7;font-size:12px;font-style:normal;line-height:1.2;inline-size:19px;block-size:23px;border-radius:48% 38% 45% 40%;margin-right:10px;vertical-align:middle}
.p-recruit-lp .arrow {display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:none;background:var(--red);color:white;border-radius:50%;font-family:serif;line-height:1;font-size:20px;transition:transform .3s,background .3s}
.p-recruit-lp .text-link {display:inline-flex;align-items:center;gap:13px;font-size:14px;letter-spacing:.06em}
.p-recruit-lp .text-link:hover .arrow,.p-recruit-lp .job-card:hover .arrow {transform:translate(3px,-3px)}
.p-recruit-lp .hero {position:relative;background:#000;color:#fff;min-height:680px;height:min(790px,calc(100svh - 37px));overflow:hidden}
.p-recruit-lp .hero-image {position:absolute;width:100%;height:100%;object-fit:cover;object-position:60% 43%;filter:brightness(.82)}
.p-recruit-lp .hero-shade {position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.85) 0%,rgba(0,0,0,.62) 27%,rgba(0,0,0,.10) 68%),linear-gradient(0deg,rgba(0,0,0,.38),transparent 30%)}
.p-recruit-lp .hero-content {position:relative;padding-top:175px}
.p-recruit-lp .hero-en {display:block;font-family:var(--en);font-size:65px;line-height:1;letter-spacing:.07em;font-weight:400}
.p-recruit-lp .hero-ja {display:block;font-family:var(--heading);font-size:17px;font-weight:400;letter-spacing:.15em;margin-top:18px}
.p-recruit-lp .hero-copy {font-family:var(--heading);font-size:37px;line-height:1.9;letter-spacing:.13em;margin-top:45px}
.p-recruit-lp .hero-sub {margin-top:23px;line-height:2.2;letter-spacing:.15em;font-size:14px}
.p-recruit-lp .scroll-link {position:absolute;right:58px;bottom:43px;width:105px;height:105px;border:1px solid #ffffff80;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;font-family:var(--en);font-size:12px;letter-spacing:.06em}
.p-recruit-lp .scroll-link b {font-size:26px;font-weight:400;line-height:1}
.p-recruit-lp .scroll-link:hover {background:#ffffff18}
.p-recruit-lp .hero-caption {position:absolute;left:48px;bottom:40px;font:12px var(--en);letter-spacing:.12em}
.p-recruit-lp .message {display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.p-recruit-lp .message-lead {font-family:var(--heading);font-size:23px;line-height:1.9;letter-spacing:.06em;margin-top:33px}
.p-recruit-lp .message-text>p:not(.message-lead) {margin-top:24px;line-height:2.2}
.p-recruit-lp .message-text .text-link {margin-top:30px}
.p-recruit-lp .team-photo {margin-top:20px}
.p-recruit-lp .team-photo img {aspect-ratio:4/3;object-fit:cover}
.p-recruit-lp .team-photo figcaption,.p-recruit-lp .role-photo figcaption {font-size:12px;letter-spacing:.06em;margin-top:15px;color:#555}
.p-recruit-lp .section-heading {display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:45px}
.p-recruit-lp .section-heading>p {letter-spacing:.08em;font-size:14px}
.p-recruit-lp .job-grid {display:grid;grid-template-columns:1fr 1fr;gap:34px}
.p-recruit-lp .image-wrap {overflow:hidden}
.p-recruit-lp .image-wrap img {aspect-ratio:3/2;object-fit:cover;transition:transform .8s}
.p-recruit-lp .job-card:hover img {transform:scale(1.035)}
.p-recruit-lp .job-card-label {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px}
.p-recruit-lp .job-en {font:700 29px/1.3 var(--en);letter-spacing:.08em}
.p-recruit-lp .job-card h3 {font-size:16px;font-weight:400;letter-spacing:.1em;margin-top:6px}
.p-recruit-lp .job-card>p {font-size:13px;letter-spacing:.05em;margin-top:18px;color:#d7d7d7}
.p-recruit-lp .role {display:grid;grid-template-columns:1.08fr 1fr;gap:80px;align-items:center;padding-bottom:50px}
.p-recruit-lp .role-photo img {aspect-ratio:4/5;object-fit:cover;object-position:46% center}
.p-recruit-lp .role-text {position:relative}
.p-recruit-lp .role-no {display:block;font:400 20px var(--en);letter-spacing:.15em;color:#7b7b7b;margin-bottom:20px}
.p-recruit-lp .role-text h3 {font-family:var(--heading);font-size:25px;font-weight:400;letter-spacing:.07em;line-height:1.9;margin-top:25px}
.p-recruit-lp .role-text>p {margin-top:23px;line-height:2.2}
.p-recruit-lp .duties-heading {font-size:13px;font-weight:400;border-bottom:1px solid var(--line);padding-bottom:10px;margin-top:26px;letter-spacing:.05em}
.p-recruit-lp .duties-heading small {color:#555}
.p-recruit-lp .duties {padding:0;margin:13px 0 27px;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:3px 12px;font-size:13px}
.p-recruit-lp .duties li:before {content:'・';color:var(--red)}
.p-recruit-lp .role-reverse {padding-bottom:110px;grid-template-columns:1fr 1.08fr}
.p-recruit-lp .role-reverse .role-photo {order:2}
.p-recruit-lp .role-reverse .role-text {order:1}
.p-recruit-lp .role-reverse .role-photo img {object-position:62% center}
.p-recruit-lp .requirements {background:#ccc}
.p-recruit-lp .conditions-note {border-left:3px solid var(--red);padding:13px 20px;margin-bottom:34px;background:#d7d7d7}
.p-recruit-lp .conditions-note strong {font-size:14px;font-weight:700;color:var(--blue)}
.p-recruit-lp .conditions-note p {font-size:12px;line-height:1.9;margin-top:3px}
.p-recruit-lp .tabs {display:flex;gap:5px;border-bottom:1px solid #7b7b7b}
.p-recruit-lp .tabs button {flex:1;background:transparent;border-bottom:3px solid transparent;padding:17px 8px;color:#555;font-family:var(--heading);font-size:17px;letter-spacing:.07em;transition:color .2s,background .2s}
.p-recruit-lp .tabs button[aria-selected=true] {border-color:var(--red);color:var(--blue);background:#d7d7d7}
.p-recruit-lp .tabs button:hover {color:var(--red)}
.p-recruit-lp .requirements-panel {padding-top:25px}
.p-recruit-lp .requirements-panel table {width:100%;border-collapse:collapse;font-size:14px}
.p-recruit-lp .requirements-panel caption {text-align:left;font-family:var(--heading);color:var(--blue);font-size:17px;padding:0 0 15px}
.p-recruit-lp .requirements-panel th {width:22%;text-align:left;font-weight:400;vertical-align:top}
.p-recruit-lp .requirements-panel th,.p-recruit-lp .requirements-panel td {padding:19px 12px 19px 0;border-bottom:1px solid #949494;line-height:2}
.p-recruit-lp .requirements-panel td {white-space:pre-line}
.p-recruit-lp .provisional {color:#555;font-size:12px;margin-left:8px}
.p-recruit-lp .requirements-footnote {font-size:12px;margin-top:23px;color:#555}
.p-recruit-lp .entry {text-align:center}
.p-recruit-lp .entry .ja {font-size:20px}
.p-recruit-lp .entry-lead {font-family:var(--heading);font-size:25px;letter-spacing:.08em;margin:35px 0 12px}
.p-recruit-lp .entry-button {display:flex;align-items:center;justify-content:space-between;background:var(--red);color:white;width:280px;border-radius:100px;margin:35px auto 20px;padding:11px 12px 11px 35px;transition:background .3s}
.p-recruit-lp .entry-button>span:first-child {flex:1;font-size:16px;letter-spacing:.12em}
.p-recruit-lp .entry-button .arrow {background:#fff;color:var(--red);width:37px;height:37px}
.p-recruit-lp .entry-button:hover {background:#a53434}
.p-recruit-lp .entry-note {font-size:12px;color:#d7d7d7}
.p-recruit-lp .will-reveal {opacity:0;transform:translateY(16px);transition:opacity 1.3s ease,transform 1.3s ease}
.p-recruit-lp .will-reveal.visible {opacity:1;transform:none}
@keyframes recruit-fade {from{opacity:0}to{opacity:1}}
.p-recruit-lp [hidden] {display:none!important}
@media(min-width:1600px) {
  .p-recruit-lp .hero-content {padding-top:180px}
}
@media(max-width:1000px) {
  .p-recruit-lp .container {width:calc(100% - 64px)}
  .p-recruit-lp .section {padding-block:80px}
  .p-recruit-lp .hero-content {padding-top:170px}
  .p-recruit-lp .message {gap:35px}
  .p-recruit-lp .message-lead {font-size:21px}
  .p-recruit-lp .role {gap:40px}
  .p-recruit-lp .en {font-size:34px}
  .p-recruit-lp .role .en {font-size:31px}
  .p-recruit-lp .duties {grid-template-columns:1fr}
  .p-recruit-lp .role-text h3 {font-size:22px}
}
@media(max-width:760px) {
  .p-recruit-lp {scroll-padding-top:25px}
  .p-recruit-lp .container {width:calc(100% - 40px)}
  .p-recruit-lp .section {padding-block:65px}
  .p-recruit-lp .hero {height:auto;min-height:690px}
  .p-recruit-lp .hero-image {height:420px;top:100px;object-position:61% center;filter:brightness(.9)}
  .p-recruit-lp .hero-shade {background:linear-gradient(0deg,#000 1%,rgba(0,0,0,.93) 21%,rgba(0,0,0,0) 60%),linear-gradient(90deg,rgba(0,0,0,.35),transparent)}
  .p-recruit-lp .hero-content {padding-top:360px;padding-bottom:60px}
  .p-recruit-lp .hero-en {font-size:47px}
  .p-recruit-lp .hero-ja {font-size:14px;margin-top:12px}
  .p-recruit-lp .hero-copy {font-size:26px;line-height:1.8;margin-top:24px}
  .p-recruit-lp .hero-sub {font-size:12px;line-height:2;margin-top:15px}
  .p-recruit-lp .hero-caption {display:none}
  .p-recruit-lp .scroll-link {right:20px;bottom:30px;width:78px;height:78px;font-size:9px}
  .p-recruit-lp .scroll-link b {font-size:22px}
  .p-recruit-lp .message {grid-template-columns:1fr;gap:35px}
  .p-recruit-lp .en {font-size:32px}
  .p-recruit-lp .section-title .ja {font-size:15px;letter-spacing:.05em;margin-top:9px}
  .p-recruit-lp .message-lead {font-size:22px;margin-top:25px}
  .p-recruit-lp .message-text>p:not(.message-lead) {margin-top:20px;font-size:13px;line-height:2.15}
  .p-recruit-lp .team-photo {margin:0}
  .p-recruit-lp .team-photo figcaption {font-size:11px}
  .p-recruit-lp .section-heading {display:block;margin-bottom:30px}
  .p-recruit-lp .section-heading>p {margin-top:23px;font-size:13px}
  .p-recruit-lp .job-grid {grid-template-columns:1fr;gap:40px}
  .p-recruit-lp .job-card-label {margin-top:18px}
  .p-recruit-lp .job-en {font-size:29px}
  .p-recruit-lp .job-card>p {margin-top:11px}
  .p-recruit-lp .job-card h3 {font-size:15px}
  .p-recruit-lp .role {grid-template-columns:1fr;gap:34px}
  .p-recruit-lp .role-photo img {aspect-ratio:3/2;object-position:50% center}
  .p-recruit-lp .role-photo figcaption {font-size:11px}
  .p-recruit-lp .role-text .en {font-size:32px}
  .p-recruit-lp .role-no {margin-bottom:14px}
  .p-recruit-lp .role-text h3 {font-size:24px;margin-top:25px}
  .p-recruit-lp .role-text>p {font-size:13px;line-height:2.2}
  .p-recruit-lp .duties {grid-template-columns:1fr 1fr}
  .p-recruit-lp .role-reverse .role-photo,.p-recruit-lp .role-reverse .role-text {order:initial}
  .p-recruit-lp .role-reverse {padding-top:15px}
  .p-recruit-lp .conditions-note {padding:12px 14px;margin-bottom:26px}
  .p-recruit-lp .conditions-note strong {font-size:13px}
  .p-recruit-lp .conditions-note p {font-size:11px}
  .p-recruit-lp .tabs button {font-size:14px;letter-spacing:0;padding:15px 5px}
  .p-recruit-lp .requirements-panel caption {font-size:14px}
  .p-recruit-lp .requirements-panel table {font-size:12px}
  .p-recruit-lp .requirements-panel th {width:26%}
  .p-recruit-lp .requirements-panel th,.p-recruit-lp .requirements-panel td {padding:17px 8px 17px 0}
  .p-recruit-lp .provisional {font-size:10px;margin-left:4px}
  .p-recruit-lp .requirements-footnote {font-size:11px}
  .p-recruit-lp .entry-lead {font-size:20px;letter-spacing:.03em;margin-top:28px}
  .p-recruit-lp .entry p:not(.entry-lead) {font-size:12px}
  .p-recruit-lp .entry .ja {font-size:17px}
  .p-recruit-lp .entry-button {width:260px}
  .p-recruit-lp .entry-note {max-width:300px;margin:auto}
}
@media(max-width:360px) {
  .p-recruit-lp .hero-copy {font-size:24px}
  .p-recruit-lp .section-title .ja {font-size:14px}
  .p-recruit-lp .duties {grid-template-columns:1fr}
  .p-recruit-lp .tabs button {font-size:12px}
}
@media(prefers-reduced-motion:reduce) {
  .p-recruit-lp {scroll-behavior:auto}
  .p-recruit-lp *,.p-recruit-lp *::before,.p-recruit-lp *::after {animation:none!important;transition:none!important}
  .p-recruit-lp .will-reveal {opacity:1;transform:none}
}
@media(max-width:760px) {
  .p-recruit-lp .message-lead {font-size:clamp(16px,5vw,20px);letter-spacing:.04em}
}
@media(min-width:761px) and (max-width:1000px) {
  .p-recruit-lp .hero {height:auto;min-height:840px}
  .p-recruit-lp .hero-image {top:100px;height:460px;object-position:center;filter:brightness(.9)}
  .p-recruit-lp .hero-shade {background:linear-gradient(0deg,#000 1%,rgba(0,0,0,.92) 28%,transparent 68%)}
  .p-recruit-lp .hero-content {padding-top:455px;padding-bottom:65px}
  .p-recruit-lp .hero-copy {font-size:31px;margin-top:28px}
  .p-recruit-lp .hero-en {font-size:55px}
  .p-recruit-lp .hero-sub {margin-top:20px}
  .p-recruit-lp .hero-caption {display:none}
  .p-recruit-lp .scroll-link {right:32px;bottom:35px}
}
.p-recruit-lp .heading-icon {display:inline-block;width:22px;height:22px;object-fit:contain;margin-right:10px;vertical-align:-4px}
.p-recruit-lp .job-grid {align-items:stretch}
.p-recruit-lp .job-card {min-width:0;display:flex;flex-direction:column;scroll-margin-top:35px}
.p-recruit-lp .job-detail {display:flex;flex-direction:column;flex:1;padding-top:25px}
.p-recruit-lp .job-detail .section-title .en {font-size:29px;letter-spacing:.08em}
.p-recruit-lp .job-detail .section-title .ja {font-size:16px;letter-spacing:.1em}
.p-recruit-lp .job-intro-title {font-family:var(--heading);font-weight:400;font-size:25px;letter-spacing:.07em;line-height:1.9;margin-top:25px}
.p-recruit-lp .job-detail>p {margin-top:23px;line-height:2.2;color:#fff}
.p-recruit-lp .job-detail .duties-heading {margin-top:26px;border-color:#ffffff40}
.p-recruit-lp .job-detail .duties-heading small {color:#d7d7d7}
.p-recruit-lp .job-detail .duties {grid-template-columns:1fr;margin-bottom:27px;font-size:14px}
.p-recruit-lp .job-detail .text-link {margin-top:auto;padding-top:8px;min-height:44px}
@media(max-width:1000px) {
  .p-recruit-lp .job-intro-title {font-size:22px}
  .p-recruit-lp .job-detail>p {font-size:13px}
}
@media(max-width:760px) {
  .p-recruit-lp .job-grid {gap:55px}
  .p-recruit-lp .job-detail {padding-top:20px}
  .p-recruit-lp .job-detail .section-title .en {font-size:29px}
  .p-recruit-lp .job-detail .section-title .ja {font-size:15px}
  .p-recruit-lp .job-intro-title {font-size:24px}
  .p-recruit-lp .job-detail .duties {font-size:13px}
  .p-recruit-lp .heading-icon {width:21px;height:21px}
}
.p-recruit-lp .entry-button .entry-arrow-icon {width:18px;height:18px;object-fit:contain}
.p-recruit-lp .container {width:min(1000px,calc(100% - 128px))}
@media(max-width:1100px) {
  .p-recruit-lp .container {width:calc(100% - 96px)}
}
@media(max-width:760px) {
  .p-recruit-lp .container {width:calc(100% - 64px)}
}
.p-recruit-lp .hero-content {text-align:left}
.p-recruit-lp .hero-content h1,.p-recruit-lp .hero-copy,.p-recruit-lp .hero-sub {margin-left:0;padding-left:0;text-indent:0}
.p-recruit-lp .hero-ja {display:flex;align-items:center;gap:12px}
.p-recruit-lp .hero-ja .heading-icon {margin:0;flex:none}
.p-recruit-lp .hero-caption {left:max(64px,calc((100vw - 1000px)/2))}
@media(max-width:1100px) {
  .p-recruit-lp .hero-caption {left:48px}
}
@media(max-width:760px) {
  .p-recruit-lp .hero-caption {left:32px}
  .p-recruit-lp .hero-copy {font-feature-settings:"palt" 0}
}
.p-recruit-lp .requirements-link-icon img {width:18px;height:18px;object-fit:contain;filter:brightness(0) invert(1)}
.p-recruit-lp {--gray:#D7D7D7;--navy:#19212C;--blue:#0B2140;--red:#BE3E3E;--line:#BFBFBF}
.p-recruit-lp {color:#000}
.p-recruit-lp .dark-section {background:#19212C;color:#fff}

/* ---- WordPress テーマ組み込み用の調整 ---- */
html:has(.p-recruit-lp){scroll-padding-top:120px}
@media(max-width:760px){html:has(.p-recruit-lp){scroll-padding-top:25px}}
@media(prefers-reduced-motion:reduce){html:has(.p-recruit-lp){scroll-behavior:auto}}
body.p-page-recruit{background:#D7D7D7}
.p-recruit-lp .recruit-breadcrumb{padding-top:23px;font-size:11px;line-height:2}
.p-recruit-lp .recruit-breadcrumb .breadcrumbs{margin-top:0;padding-inline:0;max-width:none;font-size:inherit}
.p-recruit-lp .recruit-breadcrumb a:hover{text-decoration:underline}
@media(max-width:760px){.p-recruit-lp .recruit-breadcrumb{font-size:10px;padding-top:18px}}
