/* ===== RINTERRACE recruit site — shared styles ===== */
:root{
  --bg-cream:#faf6f0;
  --card-beige:#efe4d4;
  --card-beige-2:#e9dcc8;
  --brown-deep:#4a3323;
  --brown-mid:#6b5744;
  --brown-dark:#3a2a1d;
  --gold:#a3805c;
  --white:#ffffff;
  --line-green:#06c755;
  --max-w:960px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg-cream);
  color:var(--brown-dark);
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;
  line-height:1.8;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{
  font-family:"Noto Serif JP",serif;
  color:var(--brown-dark);
  margin:0 0 16px;
  line-height:1.5;
}
a{color:inherit;}
img{max-width:100%;display:block;}

.wrap{max-width:var(--max-w);margin:0 auto;padding:0 24px;}

/* nav */
.nav{
  background:var(--white);
  border-bottom:1px solid #eee2d0;
  position:sticky;top:0;z-index:10;
}
.nav .wrap{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:14px;padding-bottom:14px;
  flex-wrap:wrap;gap:10px;
}
.nav-logo{font-family:"Noto Serif JP",serif;font-weight:700;font-size:1.1rem;letter-spacing:.05em;}
.nav-logo span{display:block;font-size:.65rem;letter-spacing:.2em;color:var(--gold);font-family:"Noto Sans JP",sans-serif;}
.nav-links{display:flex;gap:18px;font-size:.9rem;flex-wrap:wrap;}
.nav-links a{text-decoration:none;padding:6px 12px;border-radius:999px;border:1px solid var(--brown-deep);}
.nav-links a.active{background:var(--brown-deep);color:#fff;}
.nav-tel{font-size:.85rem;color:var(--brown-mid);}

/* hero */
.hero{padding:56px 0 32px;}
.badges{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px;}
.badge{
  display:inline-block;padding:6px 16px;border-radius:999px;
  font-size:.78rem;border:1px solid var(--brown-mid);color:var(--brown-mid);
}
.badge.solid{background:var(--brown-deep);color:#fff;border-color:var(--brown-deep);}
.hero h1{font-size:2rem;}
.hero .hero-shout{
  font-size:2.8rem;
  font-weight:700;
  color:var(--brown-deep);
  line-height:1.3;
  margin-bottom:12px;
}
.hero .sub2{font-size:1.15rem;color:var(--brown-mid);margin-bottom:4px;}
.hero .sub{font-size:1.05rem;color:var(--brown-mid);margin-bottom:20px;}
.hero .lead{color:var(--brown-mid);max-width:620px;}
.hero-img{
  margin-top:32px;border-radius:12px;overflow:hidden;
  background:var(--card-beige);
  aspect-ratio:16/9;
  display:flex;align-items:center;justify-content:center;
  color:var(--gold);font-size:.9rem;
}

/* sections */
section{padding:56px 0;border-top:1px solid #eee2d0;}
.section-label{
  font-size:.78rem;letter-spacing:.15em;color:var(--gold);
  font-family:"Noto Sans JP",sans-serif;margin-bottom:10px;
}
section h2{font-size:1.6rem;}
section > .wrap > p.desc{color:var(--brown-mid);max-width:680px;margin-bottom:28px;}

/* card grid */
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;}
.card{
  background:var(--card-beige);border-radius:10px;padding:22px 20px;
}
.card .num{font-size:.75rem;color:var(--gold);display:block;margin-bottom:6px;}
.card .title{font-weight:700;}

/* concept cards (3 col, big) */
.concept-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;}
.concept-card{background:var(--card-beige);border-radius:10px;padding:26px 22px;}
.concept-card .en{font-family:"Noto Serif JP",serif;font-size:1.5rem;margin-bottom:2px;}
.concept-card .kana{font-size:.75rem;color:var(--gold);margin-bottom:12px;}
.concept-card p{margin:0;color:var(--brown-mid);font-size:.92rem;}

/* checklist */
.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;}
.check-item{
  display:flex;align-items:center;gap:12px;
  background:var(--card-beige);border-radius:10px;padding:16px 18px;
}
.check-item .dot{
  flex:0 0 auto;width:22px;height:22px;border-radius:50%;
  background:var(--brown-deep);color:#fff;font-size:.75rem;
  display:flex;align-items:center;justify-content:center;
}

/* note box */
.note-box{
  margin-top:24px;background:var(--card-beige-2);border-radius:10px;
  padding:18px 22px;display:flex;gap:12px;align-items:flex-start;
  color:var(--brown-dark);
}
.note-box .dot{
  flex:0 0 auto;width:22px;height:22px;border-radius:50%;
  background:var(--brown-deep);color:#fff;font-size:.75rem;
  display:flex;align-items:center;justify-content:center;margin-top:2px;
}

/* stat box (dark) */
.stat-box{
  background:var(--brown-deep);color:#fff;border-radius:12px;padding:36px 32px;
}
.stat-box .section-label{color:#e3c9a3;}
.stat-box h2{color:#fff;}
.stat-row{display:flex;gap:40px;flex-wrap:wrap;margin-top:18px;}
.stat-row .num{font-family:"Noto Serif JP",serif;font-size:2.4rem;line-height:1;}
.stat-row .num small{font-size:1rem;margin-left:4px;}
.stat-row .label{font-size:.78rem;color:#d8c3a3;margin-bottom:6px;}
.stat-note{margin-top:16px;color:#e6d7bf;font-size:.88rem;}

/* plain stat pair (light) */
.plain-stats{display:flex;gap:40px;flex-wrap:wrap;margin-top:8px;}
.plain-stats .num{font-family:"Noto Serif JP",serif;font-size:2.2rem;color:var(--brown-deep);}
.plain-stats .label{font-size:.8rem;color:var(--brown-mid);}

/* timeline */
.timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0 40px;}
.timeline-row{display:flex;gap:16px;padding:12px 0;border-bottom:1px solid #eee2d0;}
.timeline-row .time{font-family:"Noto Serif JP",serif;color:var(--gold);min-width:56px;}

/* table */
table.conditions{width:100%;border-collapse:collapse;}
table.conditions th,table.conditions td{
  text-align:left;padding:14px 12px;border-bottom:1px solid #eee2d0;vertical-align:top;
}
table.conditions th{width:180px;color:var(--brown-mid);font-weight:500;font-size:.9rem;}

/* CTA box */
.cta-box{
  background:var(--card-beige-2);border-radius:12px;padding:40px 32px;text-align:center;
}
.cta-box .section-label{justify-content:center;}
.cta-box h2{font-size:1.5rem;}
.cta-box p{color:var(--brown-mid);}
.phone-box{
  display:inline-block;background:#fff;border-radius:10px;padding:18px 32px;margin-top:18px;
}
.phone-box .who{font-size:.8rem;color:var(--brown-mid);}
.phone-box .num{font-family:"Noto Serif JP",serif;font-size:1.8rem;color:var(--brown-deep);}

/* form */
form.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:20px 32px;}
form.contact-form .full{grid-column:1/-1;}
form.contact-form label{display:block;font-size:.88rem;margin-bottom:6px;color:var(--brown-mid);}
form.contact-form label .req{color:#b5522e;font-size:.75rem;margin-left:4px;}
form.contact-form input[type=text],
form.contact-form input[type=tel],
form.contact-form input[type=email],
form.contact-form textarea{
  width:100%;border:none;border-bottom:1px solid var(--brown-mid);
  background:transparent;padding:8px 4px;font-size:1rem;font-family:inherit;color:var(--brown-dark);
}
form.contact-form textarea{border:1px solid #d9c9ac;border-radius:6px;padding:10px;min-height:90px;}
.check-row{display:flex;flex-wrap:wrap;gap:14px;font-size:.9rem;}
.check-row label{display:flex;align-items:center;gap:6px;font-size:.9rem;color:var(--brown-dark);margin:0;}
form .submit-btn{
  grid-column:1/-1;justify-self:start;margin-top:8px;
  background:var(--brown-deep);color:#fff;border:none;border-radius:999px;
  padding:14px 40px;font-size:1rem;cursor:pointer;font-family:inherit;
}
form .submit-btn:hover{background:var(--brown-dark);}
.form-note{font-size:.8rem;color:var(--brown-mid);margin-top:20px;}

/* footer */
footer{border-top:1px solid #eee2d0;padding:24px 0;}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:.8rem;color:var(--brown-mid);}

@media (max-width:640px){
  .hero h1{font-size:1.5rem;}
  form.contact-form{grid-template-columns:1fr;}
  table.conditions th{width:120px;}
}
