/*
Theme Name: SAKURAMOTO Future v16
Theme URI: https://sakuramoto-group.co.jp/
Author: 株式会社サクラモト
Description: 資源循環と社会基盤を表現する、株式会社サクラモト公式テーマ。
Version: 1.7.0
Text Domain: sakuramoto-future-v16
*/
:root{--navy:#071727;--ivory:#f6f4ef;--gold:#c6aa73;--ink:#0b1b2c;--serif:Georgia,'Yu Mincho','Hiragino Mincho ProN',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI','Yu Gothic',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--ivory);font-family:var(--serif)}button,input,summary{font:inherit}button,summary{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #d8b56c;outline-offset:4px}[hidden]{display:none!important}
.site-header{height:82px;padding:0 5.8%;display:flex;align-items:center;justify-content:space-between;background:#07111e;color:#fff;font-family:var(--sans)}.brand{display:flex;flex-direction:column;color:#fff;text-decoration:none;font-weight:800;font-size:24px;letter-spacing:.14em}.brand small{margin-top:4px;color:#e1bd68;font-size:10px;letter-spacing:.18em}.site-header nav{display:flex;align-items:center;gap:26px}.site-header a{color:#fff;text-decoration:none;font-size:14px;white-space:nowrap}.site-header .nav-contact{padding:10px 16px;border:1px solid #bba568;border-radius:999px}@media(max-width:700px){.site-header{height:68px;padding:0 7%}.brand{font-size:18px}.site-header nav{display:none}}
#site{position:relative}section{position:relative;isolation:isolate}#hero{height:clamp(550px,53vw,790px);overflow:hidden;background:radial-gradient(ellipse at 70% 90%,#0b2843 0%,#020a14 67%);color:#fff}#earth,.layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}#earth{z-index:0}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,9,17,.93),rgba(2,9,17,.5) 34%,transparent 64%);z-index:1}.layer{z-index:2;overflow:visible}.hero-copy{position:relative;z-index:3;padding:95px 5.8% 0;width:66%;pointer-events:none}.wordmark{font-size:clamp(25px,3.2vw,46px);letter-spacing:.13em;margin:0 0 25px;font-weight:400}h1{font-size:clamp(29px,4.15vw,64px);line-height:1.18;letter-spacing:-.025em;font-weight:400;margin:0}h1 span{display:block;overflow-wrap:anywhere}#subtitle{font-size:clamp(16px,1.75vw,25px);line-height:1.9;letter-spacing:.12em;margin-top:24px}.eyebrow{font-family:var(--serif);font-size:13px;letter-spacing:.28em;line-height:1.8}.hero-foot{margin-top:40px;color:#e2ddd3}.hero-caption{position:absolute;bottom:35px;left:5.8%;z-index:3;font-size:14px;letter-spacing:.12em;color:#d3d9df}#nara-label{position:absolute;z-index:3;color:#f3e3b8;font-family:var(--sans);font-size:12px;letter-spacing:.12em;white-space:nowrap;pointer-events:none}#nara-label span{display:block;font-size:12px;letter-spacing:.05em;margin-top:4px}#earth-error{position:absolute;bottom:60px;left:6%;z-index:5;padding:12px;background:#071727;font:14px var(--sans)}
#circulation{min-height:730px;padding:64px 5.8% 60px;background:var(--ivory);overflow:hidden}.section-heading{position:relative;z-index:4;width:33%;pointer-events:none}.section-heading>.eyebrow:first-child{margin:0 0 15px;color:#7b7469;font-size:12px}.section-heading h2,.build-copy h2{font-size:clamp(34px,4.7vw,68px);letter-spacing:.02em;font-weight:400;margin:0 0 7px;line-height:1.2}.section-heading .body-copy{margin-top:30px}.body-copy{font-size:16px;line-height:2;letter-spacing:.07em}.business-art{position:relative;width:76%;margin:-160px auto 0;z-index:1;padding-bottom:48px}.business-art img{display:block;width:100%;height:auto;mix-blend-mode:multiply}.business-label{position:absolute;font-size:clamp(14px,1.55vw,22px);white-space:nowrap;background:var(--ivory);padding:4px 10px;z-index:4;line-height:1.5;transform:translateX(-50%);margin:0}.business-label span,.build-business span{font-size:1.2em;margin-right:10px}.car-label{left:51%;top:45%}.waste-label{left:24%;bottom:13px}.demolition-label{left:76%;bottom:13px}.material-copy{position:absolute;right:5.5%;top:43%;font-size:16px;line-height:2;letter-spacing:.09em;z-index:3}.business-art{isolation:auto}#circulation-line{z-index:2}
#infrastructure{min-height:550px;height:clamp(550px,56.28vw,800px);overflow:hidden;color:#fff}.bridge-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.bridge-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(4,19,33,.68),transparent 70%)}.build-copy{position:relative;z-index:3;padding:70px 5.8% 0;width:50%}.build-copy .body-copy{margin-top:35px}.build-business{margin-top:36px;padding-top:19px;border-top:1px solid rgba(239,223,186,.6);display:inline-block;font-size:23px;letter-spacing:.1em}.future-copy{position:absolute;right:6%;top:15%;z-index:3;font-size:23px;letter-spacing:.12em;color:#142639}footer{padding:24px 5.8%;display:flex;gap:20px;justify-content:space-between;background:#071727;color:#d0d6dd;font-size:14px}footer small{font:12px var(--sans)}
#editor{position:fixed;z-index:20;top:68px;right:14px;width:min(350px,calc(100vw - 28px));max-height:calc(100dvh - 84px);overflow:auto;overscroll-behavior:contain;padding:24px;background:#faf9f6;color:#152435;border:1px solid #d7d3c9;box-shadow:0 15px 65px #0004;font:14px/1.6 var(--sans);border-radius:5px}.editor-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.editor-heading .eyebrow{font-size:12px;margin:0;color:#87764e;letter-spacing:.14em}.editor-heading h2{font-size:20px;margin:6px 0}.editor-heading button{border:0;background:transparent;font-size:13px}.editor-intro{color:#64676a;font-size:13px}.editor-heading~fieldset{margin-top:22px}fieldset{border:0;padding:0;margin:18px 0}legend{font-weight:600;font-size:15px;padding:0;margin:0 0 8px}#editor label{display:block;margin:13px 0 5px;font-size:14px}output{float:right;color:#8a7550;font-variant-numeric:tabular-nums}input[type=range]{width:100%;accent-color:#9a804d;cursor:pointer;min-height:24px}input[type=text],input[type=number]{width:100%;border:1px solid #c5c6c5;border-radius:2px;padding:9px;background:#fff;color:#152435;font-size:16px}.coordinate-row{display:flex;gap:10px}.coordinate-row label{width:50%}details{border-top:1px solid #d9d7cf;margin:18px 0;padding-top:15px}summary{font-size:15px;font-weight:600}details p,.credits{font-size:12px;color:#63686c}a{color:#756039;text-underline-offset:3px}.editor-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px}.editor-actions button{padding:10px 6px;border:1px solid #b9b1a0;border-radius:2px;background:transparent;font-size:13px}.editor-actions button:first-child{background:#152435;color:white;border-color:#152435}#reset-settings{grid-column:1/-1}#save-status{font-size:12px;color:#70746e}.credits{border-top:1px solid #d9d7cf;padding-top:15px;margin-bottom:0}
@media(min-width:1450px){#circulation{min-height:860px}.business-art{max-width:1080px;margin-top:-165px}}
@media(max-width:900px){#circulation{padding-top:45px;min-height:680px}.section-heading{width:52%}.section-heading .body-copy{font-size:14px;margin-top:20px}.business-art{width:96%;margin-top:-70px}.material-copy{display:none}.hero-copy{width:73%;padding-top:110px}.wordmark{font-size:30px}.hero-foot{margin-top:30px}.build-copy{width:70%}.future-copy{font-size:18px}}
@media(max-width:600px){.editbar{padding:0 15px;height:54px;font-size:12px}.editbar-note{display:none}.editbar button{font-size:13px}#hero{height:680px}.hero-copy{padding:45px 7% 0;width:100%}.wordmark{font-size:26px;letter-spacing:.11em;margin-bottom:24px}h1{font-size:clamp(25px,6.7vw,38px);line-height:1.22}#subtitle{font-size:15px;letter-spacing:.04em;max-width:90%;margin-top:16px}.hero-foot{font-size:11px;letter-spacing:.22em;margin-top:17px}.hero-shade{background:linear-gradient(180deg,#030c19cf 0%,#030c1980 32%,transparent 53%)}.hero-caption{bottom:24px;left:7%;font-size:12px}#nara-label{font-size:11px}#nara-label span{font-size:11px}.section-heading{width:100%}.section-heading h2,.build-copy h2{font-size:39px}.eyebrow{font-size:12px;letter-spacing:.2em}#circulation{padding:42px 6% 65px;min-height:0}.section-heading .body-copy{font-size:15px;line-height:1.9;margin-top:22px}.business-art{width:110%;margin:30px -5% 0;padding-bottom:65px}.business-label{font-size:12px;padding:4px;white-space:normal;text-align:center;line-height:1.65}.business-label span{display:block;font-size:15px;margin-right:0}.car-label{top:39%;left:51%;width:40%;max-width:165px}.waste-label{left:24%;bottom:10px;width:45%}.demolition-label{left:78%;bottom:10px;width:40%}#infrastructure{height:600px;min-height:0}.bridge-image{object-position:65% center}.build-copy{padding:50px 7%;width:100%}.build-copy .body-copy{font-size:15px;max-width:80%}.build-business{font-size:20px;margin-top:25px}.future-copy{right:7%;top:auto;bottom:26px;color:#fff;font-size:18px}footer{display:block;font-size:13px}footer small{display:block;margin-top:10px}.bridge-shade{background:linear-gradient(180deg,#06182da6,transparent 85%)}#editor{top:65px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Supporting pages */
.subpage{background:var(--ivory)}.sub-hero{min-height:420px;padding:105px 8% 75px;color:#fff;background:#091928}.sub-hero .eyebrow{margin:0 0 20px;color:#dfc889}.sub-hero h1{font-size:clamp(40px,5.2vw,76px);font-weight:400;line-height:1.28;letter-spacing:.03em}.sub-hero>p:last-child{max-width:620px;margin-top:30px;font-size:16px;line-height:2;letter-spacing:.08em}.business-hero{background:linear-gradient(118deg,#081a2b,#203d4b)}.company-hero{background:linear-gradient(118deg,#071727,#342e20)}.business-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#d6d2c7}.business-grid article{min-height:300px;padding:48px 11%;background:#faf9f5}.business-grid article span{font:18px var(--sans);color:#9c8250}.business-grid h2{margin:25px 0 20px;font-size:clamp(26px,3vw,42px);font-weight:400}.business-grid p{max-width:430px;line-height:2;letter-spacing:.06em}.business-grid a{display:inline-block;margin-top:20px;font-size:14px;color:#554322}.build-card{background:#e8e2d5!important}.business-statement{padding:110px 8%;background:#0b1a2a;color:#fff}.business-statement .eyebrow{color:#d8c486}.business-statement h2{font-size:clamp(36px,5vw,68px);font-weight:400;line-height:1.4}.company-info{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;padding:100px 8%;background:#faf9f5}.company-info .eyebrow,.contact .eyebrow{color:#957b4b}.company-info h2,.contact h2{font-size:clamp(35px,4vw,58px);font-weight:400}.company-info dl{margin:0}.company-info dt,.company-info dd{padding:22px 0;border-bottom:1px solid #d7d1c3}.company-info dt{font-weight:600}.company-info dd{margin:0;line-height:1.8}.contact{padding:95px 8%;background:#e8e2d5}.contact>p:not(.eyebrow){max-width:570px;line-height:2}.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.contact-actions a{padding:15px 22px;background:#0a1928;color:#fff;text-decoration:none}.contact small{display:block;margin-top:28px;color:#756f62}@media(max-width:700px){.site-header ul{display:none}.sub-hero{min-height:360px;padding:75px 7% 55px}.sub-hero>p:last-child{font-size:14px}.business-grid{grid-template-columns:1fr}.business-grid article{min-height:0;padding:42px 8%}.company-info{grid-template-columns:1fr;gap:30px;padding:70px 7%}.contact{padding:70px 7%}}
.company-info dd small{font-family:var(--sans);font-size:12px;letter-spacing:.12em;color:#746f64}

/* Four AI-made future visions — captions will be added later. */
.business-grid .business-card{min-height:0;padding:0;background:#faf9f5}.business-card>img{display:block;width:100%;aspect-ratio:1.62;object-fit:cover}.business-card>div{padding:28px 11% 34px}.business-grid .business-card h2{margin:14px 0 0}.business-grid .business-card.build-card{background:#e8e2d5!important}@media(max-width:700px){.business-grid .business-card{padding:0}.business-card>div{padding:25px 8% 30px}}
.business-intro{padding:90px 8% 52px;background:#faf9f5}.business-intro .eyebrow{margin:0 0 15px;color:#9c8250}.business-intro h2{margin:0;font:400 clamp(38px,5vw,68px)/1.3 var(--serif);letter-spacing:.05em}.business-intro>p:last-child{margin:22px 0 0;line-height:2;letter-spacing:.07em}.business-card h3{margin:18px 0 14px;font:400 clamp(20px,2vw,28px)/1.55 var(--serif);letter-spacing:.06em}.business-grid .business-card p{margin:0;line-height:1.9;letter-spacing:.05em}.business-grid .business-card a{display:inline-block;margin-top:18px;padding-bottom:4px;border-bottom:1px solid #a48c5c;color:#554322;text-decoration:none}.business-grid .business-card a b{margin-left:8px;font-size:17px;font-weight:400}.business-image-note{margin:0;padding:16px 8% 22px;background:#d6d2c7;color:#6f6a5e;font-size:12px;letter-spacing:.06em}@media(max-width:700px){.business-intro{padding:65px 7% 42px}.business-intro h2{font-size:42px}.business-intro>p:last-child{font-size:14px}.business-card h3{font-size:22px}.business-grid .business-card p{font-size:14px}.business-image-note{padding:14px 7% 18px;font-size:11px}}/* ファーストビューの補足文を右下へ戻す */
#hero .hero-caption {
  left: auto;
  right: 20%;
  bottom: 35px;
  font-size: 20px;
}

@media (max-width: 700px) {
  #hero .hero-caption {
    left: auto;
    right: 20%;
    bottom: 17px;
    font-size: 12px;
  }
}@media (max-width: 700px) {
  .company-info {
    padding-top: 35px;
  }
}@media (max-width: 700px) {
  .company-info {
    padding-top: 35px;
  }
}@media (max-width: 700px) {
  .business-grid .business-card .future-model-label {
    top: 10px;
    left: 10px;
    padding: 6px 9px;
    background: rgba(6, 24, 39, .58);
    font-size: 8px;
    line-height: 1.35;
    letter-spacing: .1em;
  }

  .business-grid .business-card .future-model-label b {
    font-size: 11px;
  }
}.footer-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 22px;
}

footer .footer-nav a {
  color: #f6f1e5;
  text-decoration: none;
  font-family: var(--sans);
  font-size: 14px;
  letter-spacing: .04em;
}

footer .footer-nav a:hover {
  color: #e1bd68;
}

@media (max-width: 700px) {
  .footer-nav {
    margin: 18px 0;
    gap: 12px 18px;
  }
}/* 専門サイトリンク */
.group-sites {
  background: #071127;
  padding: 70px 6%;
  color: #fff;
}

.group-sites-inner {
  max-width: 1200px;
  margin: 0 auto;
}

.group-sites h2 {
  margin: 8px 0 30px;
  font-size: 30px;
  font-weight: 500;
}

.group-sites-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
}

.group-site-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 32px;
  border: 1px solid rgba(225,189,104,.55);
  background: rgba(255,255,255,.035);
  color: #fff;
  text-decoration: none;
  transition: .25s ease;
}

.group-site-card:hover {
  transform: translateY(-3px);
  border-color: #e1bd68;
  background: rgba(255,255,255,.07);
}

.group-site-no {
  color: #e1bd68;
  font-size: 13px;
  letter-spacing: .15em;
}

.group-site-card strong {
  font-size: 22px;
  font-weight: 500;
}

.group-site-card > span:not(.group-site-no) {
  font-size: 14px;
  opacity: .8;
}

.group-site-card em {
  margin-top: 12px;
  color: #e1bd68;
  font-size: 13px;
  font-style: normal;
}

@media (max-width: 700px) {
  .group-sites {
    padding: 48px 20px;
  }

  .group-sites-grid {
    grid-template-columns: 1fr;
  }

  .group-site-card {
    padding: 25px 22px;
  }
}/* =========================================================
   SAKURAMOTO FIT RECRUIT
   ========================================================= */

.recruit-page{
  background:#061525;
  color:#fff;
  overflow:hidden;
}

.recruit-page *{
  box-sizing:border-box;
}

.recruit-container{
  width:min(1180px, calc(100% - 48px));
  margin:0 auto;
}

.recruit-eyebrow{
  margin:0 0 18px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.22em;
  color:#58b7e8;
}

/* HERO */
.recruit-hero{
  position:relative;
  min-height:720px;
  display:flex;
  align-items:center;
  background:
    radial-gradient(circle at 75% 35%, rgba(35,137,198,.20), transparent 34%),
    linear-gradient(120deg,#04111f 0%,#071c31 55%,#092944 100%);
}

.recruit-hero:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:70px 70px;
  pointer-events:none;
}

.recruit-hero-inner{
  position:relative;
  z-index:2;
  width:min(1180px,calc(100% - 48px));
  margin:0 auto;
  padding:130px 0 100px;
}

.recruit-hero h1{
  max-width:1000px;
  margin:0;
  font-size:clamp(38px,5.4vw,76px);
  line-height:1.25;
  letter-spacing:.01em;
  font-weight:700;
}

.recruit-hero h1 span{
  color:#7fd1f4;
}

.recruit-lead{
  margin:34px 0 0;
  font-size:clamp(16px,1.5vw,21px);
  line-height:2;
  color:#cbd8e3;
}

.recruit-hero-actions,
.recruit-entry-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:42px;
}

.recruit-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:240px;
  min-height:58px;
  padding:15px 28px;
  border-radius:3px;
  font-size:14px;
  font-weight:700;
  letter-spacing:.05em;
  text-decoration:none;
  transition:.25s ease;
}

.recruit-btn-primary{
  background:#fff;
  color:#071727;
}

.recruit-btn-primary:hover{
  background:#7fd1f4;
  transform:translateY(-2px);
}

.recruit-btn-outline{
  color:#fff;
  border:1px solid rgba(255,255,255,.4);
  background:rgba(255,255,255,.03);
}

.recruit-btn-outline:hover{
  border-color:#7fd1f4;
  background:rgba(127,209,244,.08);
}

/* CONCEPT */
.recruit-concept{
  padding:130px 0;
  background:#fff;
  color:#102436;
}

.recruit-concept h2,
.recruit-fit h2,
.recruit-jobs h2,
.recruit-flow h2{
  margin:0 0 42px;
  font-size:clamp(30px,3.4vw,50px);
  line-height:1.45;
  letter-spacing:.02em;
}

.recruit-text{
  margin:0 0 18px;
  font-size:17px;
  line-height:2.1;
  color:#536676;
}

.recruit-message{
  max-width:850px;
  margin:46px 0 0;
  padding-left:25px;
  border-left:3px solid #168bc5;
  font-size:18px;
  line-height:2;
  color:#273e50;
}

.recruit-message strong{
  color:#0a6e9f;
}

/* FIT CARDS */
.recruit-fit{
  padding:120px 0;
  background:#f1f5f7;
  color:#102436;
}

.fit-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}

.fit-card{
  min-height:225px;
  padding:34px;
  background:#fff;
  border:1px solid #dde5ea;
  transition:.25s ease;
}

.fit-card:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 40px rgba(10,35,55,.08);
}

.fit-card span{
  display:block;
  margin-bottom:32px;
  color:#168bc5;
  font-size:12px;
  font-weight:700;
  letter-spacing:.15em;
}

.fit-card h3{
  margin:0 0 15px;
  font-size:22px;
}

.fit-card p{
  margin:0;
  color:#647685;
  line-height:1.8;
  font-size:14px;
}

.fit-card-special{
  background:#09233a;
  border-color:#09233a;
  color:#fff;
}

.fit-card-special p{
  color:#c9d7e1;
}

/* JOBS */
.recruit-jobs{
  padding:130px 0;
  background:#061525;
}

.job-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(255,255,255,.14);
  border-left:1px solid rgba(255,255,255,.14);
}

.job-card{
  min-height:245px;
  padding:34px 28px;
  border-right:1px solid rgba(255,255,255,.14);
  border-bottom:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.015);
  transition:.25s ease;
}

.job-card:hover{
  background:rgba(75,174,225,.08);
}

.job-card > p{
  margin:0 0 45px;
  color:#56b7e8;
  font-size:10px;
  font-weight:700;
  letter-spacing:.16em;
}

.job-card h3{
  margin:0 0 15px;
  font-size:20px;
}

.job-card span{
  display:block;
  color:#a9bac7;
  font-size:13px;
  line-height:1.8;
}

/* CAREER FLOW */
.recruit-flow{
  padding:130px 0;
  background:#fff;
  color:#102436;
}

.flow-row{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:#dce5ea;
}

.flow-row > div{
  position:relative;
  min-height:250px;
  padding:35px 28px;
  background:#f7f9fa;
}

.flow-row strong{
  display:block;
  margin-bottom:50px;
  color:#168bc5;
  font-size:13px;
  letter-spacing:.15em;
}

.flow-row h3{
  margin:0 0 14px;
  font-size:21px;
}

.flow-row p{
  margin:0;
  color:#687987;
  font-size:14px;
  line-height:1.8;
}

/* ENTRY */
.recruit-entry{
  position:relative;
  padding:140px 24px;
  text-align:center;
  background:
    radial-gradient(circle at 50% 0%,rgba(38,143,199,.24),transparent 45%),
    #071727;
}

.recruit-entry-inner{
  width:min(900px,100%);
  margin:0 auto;
}

.recruit-entry h2{
  margin:0;
  font-size:clamp(30px,4vw,52px);
  line-height:1.5;
}

.recruit-entry > div > p:not(.recruit-eyebrow):not(.recruit-entry-note){
  margin:28px 0 0;
  color:#b9c9d5;
  line-height:2;
}

.recruit-entry-actions{
  justify-content:center;
}

.recruit-entry-note{
  margin-top:38px;
  color:#728999;
  font-size:12px;
}

/* MOBILE */
@media (max-width:900px){

  .recruit-container{
    width:min(100% - 32px,1180px);
  }

  .recruit-hero{
    min-height:auto;
  }

  .recruit-hero-inner{
    width:calc(100% - 32px);
    padding:110px 0 80px;
  }

  .recruit-hero h1{
    font-size:clamp(34px,9vw,54px);
  }

  .fit-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .job-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .flow-row{
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width:600px){

  .recruit-hero-inner{
    padding:90px 0 70px;
  }

  .recruit-hero h1{
    font-size:36px;
    line-height:1.4;
  }

  .recruit-lead{
    font-size:15px;
  }

  .recruit-hero-actions,
  .recruit-entry-actions{
    flex-direction:column;
  }

  .recruit-btn{
    width:100%;
    min-width:0;
  }

  .recruit-concept,
  .recruit-fit,
  .recruit-jobs,
  .recruit-flow{
    padding:80px 0;
  }

  .recruit-concept h2,
  .recruit-fit h2,
  .recruit-jobs h2,
  .recruit-flow h2{
    font-size:29px;
  }

  .fit-grid,
  .job-grid,
  .flow-row{
    grid-template-columns:1fr;
  }

  .fit-card,
  .job-card,
  .flow-row > div{
    min-height:auto;
  }

  .job-card{
    padding:28px 24px;
  }

  .job-card > p{
    margin-bottom:25px;
  }

  .flow-row strong{
    margin-bottom:25px;
  }

  .recruit-entry{
    padding:90px 16px;
  }

  .recruit-entry h2{
    font-size:29px;
  }
}/* SAKURAMOTO FIT PC見出し調整 */
@media (min-width: 901px) {
  .recruit-hero h1 {
    max-width: none;
    font-size: clamp(42px, 4.1vw, 66px);
    white-space: nowrap;
  }

  .recruit-hero h1 br {
    display: block;
  }
}/* =========================================================
   SAKURAMOTO FIT - EASY ENTRY FORM
   ========================================================= */

.recruit-form-section{
  padding:120px 0 140px;
  background:#071727;
  color:#fff;
}

.recruit-form-container{
  max-width:900px;
}

.recruit-form-heading{
  margin-bottom:55px;
}

.recruit-form-heading h2{
  margin:0 0 20px;
  font-size:clamp(32px,4vw,50px);
  line-height:1.35;
}

.recruit-form-heading > p:not(.recruit-eyebrow){
  color:#b9c9d5;
  font-size:15px;
  line-height:2;
}

.recruit-form-fit{
  margin-top:25px !important;
  padding-left:20px;
  border-left:2px solid #63c6ef;
}

.recruit-form-fit strong{
  color:#fff;
}

/* フォーム本体 */
.recruit-form-box{
  padding:50px;
  background:#fff;
  color:#142b3d;
  border-radius:3px;
}

.fit-form label{
  display:block;
  margin:0 0 32px;
  font-size:14px;
  font-weight:700;
  line-height:1.7;
}

.fit-form input[type="text"],
.fit-form input[type="email"],
.fit-form input[type="tel"],
.fit-form input[type="number"],
.fit-form textarea{
  display:block;
  width:100%;
  margin-top:10px;
  padding:15px 16px;
  border:1px solid #d6dfe5;
  border-radius:2px;
  background:#f7f9fa;
  color:#102436;
  font:inherit;
  font-weight:400;
  outline:none;
  transition:.2s ease;
}

.fit-form input:focus,
.fit-form textarea:focus{
  border-color:#168bc5;
  background:#fff;
  box-shadow:0 0 0 3px rgba(22,139,197,.08);
}

.fit-form textarea{
  resize:vertical;
}

.fit-required,
.fit-optional{
  display:inline-block;
  margin-left:7px;
  padding:2px 6px;
  border-radius:2px;
  font-size:10px;
  line-height:1.4;
}

.fit-required{
  background:#d94b3d;
  color:#fff;
}

.fit-optional{
  background:#e8eef2;
  color:#607382;
}

/* 選択項目 */
.fit-form-group{
  margin:0 0 38px;
  padding:28px;
  background:#f4f7f9;
}

.fit-form-title{
  margin:0 0 20px;
  font-size:14px;
  font-weight:700;
}

.fit-form .wpcf7-list-item{
  display:block;
  margin:0 0 12px;
}

.fit-form .wpcf7-list-item label{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin:0;
  font-weight:400;
  cursor:pointer;
}

.fit-form input[type="checkbox"],
.fit-form input[type="radio"]{
  margin-top:4px;
  accent-color:#168bc5;
}

/* 個人情報 */
.fit-privacy{
  margin:35px 0;
  padding:22px;
  border:1px solid #dce4e9;
  background:#f9fafb;
  font-size:12px;
  line-height:1.8;
}

.fit-privacy .wpcf7-list-item{
  margin:0;
}

/* 送信ボタン */
.fit-form input[type="submit"]{
  width:100%;
  min-height:64px;
  border:0;
  border-radius:2px;
  background:#0b789f;
  color:#fff;
  font-size:15px;
  font-weight:700;
  letter-spacing:.08em;
  cursor:pointer;
  transition:.25s ease;
}

.fit-form input[type="submit"]:hover{
  background:#095e7d;
  transform:translateY(-2px);
}

.fit-form-intro{
  margin:0 0 38px;
  padding-bottom:28px;
  border-bottom:1px solid #e1e7eb;
  color:#526675;
  line-height:1.9;
}

/* CF7メッセージ */
.recruit-form-box .wpcf7-response-output{
  margin:25px 0 0 !important;
  padding:15px !important;
  border-radius:2px;
  font-size:13px;
}

/* MOBILE */
@media (max-width:600px){

  .recruit-form-section{
    padding:80px 0;
  }

  .recruit-form-box{
    padding:28px 20px;
  }

  .fit-form-group{
    padding:22px 18px;
  }

  .recruit-form-heading{
    margin-bottom:35px;
  }
}