/*
 * 一人親方等 — 下層ページ共通スタイル
 * トップページと共通の css/modern.css の上に読み込む。
 * UIテーマ: 明るいアイボリー / 薄いピーチの抽象図形 / ネイビー見出し / オレンジCTA
 */
.oyakata-lp .page-hero {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:37px 0 55px;
  background:#FFFBF7;
  border-bottom:1px solid #F7EEE3;
}
.oyakata-lp .page-hero::before {
  content:"";
  position:absolute;
  width:445px;
  height:126px;
  right:2%;
  top:-92px;
  border-radius:999px;
  transform:rotate(-42deg);
  background:linear-gradient(180deg,rgba(255,225,198,.50),rgba(255,245,231,.27));
  pointer-events:none;
}
.oyakata-lp .page-hero::after {
  content:"";
  position:absolute;
  right:16%;
  bottom:10px;
  width:140px;
  height:80px;
  background-image:radial-gradient(rgba(218,165,112,.48) 1.25px,transparent 1.25px);
  background-size:15px 15px;
  opacity:.34;
  pointer-events:none;
}
.oyakata-lp .page-hero .wrap {position:relative;z-index:1}
.oyakata-lp .bc {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  list-style:none;
  padding:0;
  margin:0 0 24px;
  color:#816B5B;
  font-size:12px;
  font-weight:600;
}
.oyakata-lp .bc a {color:#955825;transition:color .2s}
.oyakata-lp .bc a:hover {color:var(--accent);text-decoration:underline}
.oyakata-lp .bc li+li::before {content:"/";margin-right:8px;color:#C8B7A6}
.oyakata-lp .page-hero h1 {
  margin:0 0 15px;
  color:#083F64;
  font-size:clamp(29px,3vw,39px);
  font-weight:800;
  line-height:1.5;
  letter-spacing:-.04em;
}
.oyakata-lp .page-hero p {
  max-width:860px;
  margin:0;
  color:#5D5046;
  font-size:15px;
  font-weight:500;
  line-height:2;
}

/* Content and sidebar */
.oyakata-lp .layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) 277px;
  align-items:start;
  gap:clamp(34px,4.5vw,60px);
  padding-top:75px;
  padding-bottom:112px;
}
.oyakata-lp .article {min-width:0}
.oyakata-lp .article>section {margin-bottom:71px}
.oyakata-lp .article>section:last-child {margin-bottom:0}
.oyakata-lp .article h2 {
  display:block;
  margin:0 0 24px;
  padding:0 0 0 17px;
  border-left:4px solid #E2A46A;
  color:#083F64;
  font-size:clamp(20px,2vw,25px);
  font-weight:800;
  line-height:1.55;
  letter-spacing:-.025em;
}
.oyakata-lp .article p {margin:0 0 18px;color:#4E4A46;font-size:15px;line-height:2}
.oyakata-lp .article p:last-child {margin-bottom:0}
.oyakata-lp .shot {
  min-width:0;
  margin:0 0 25px;
  overflow:hidden;
  border:1px solid #EEE5DB;
  border-radius:19px;
  background:#fff;
  box-shadow:0 14px 33px rgba(82,61,42,.055);
}
.oyakata-lp .shot img {display:block;width:100%;height:auto}
.oyakata-lp .shot.narrow {max-width:610px}
.oyakata-lp .shots {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));
  gap:20px;
  margin-bottom:24px;
}
.oyakata-lp .shots .shot {margin:0}
.oyakata-lp .points-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.oyakata-lp .point {
  min-width:0;
  padding:25px 22px;
  border:1px solid #F0E5D9;
  border-radius:17px;
  background:#FFF9F3;
}
.oyakata-lp .point .num {
  display:block;
  margin:0 0 8px;
  color:#B57A4A;
  font-size:12px;
  font-weight:800;
  letter-spacing:.1em;
}
.oyakata-lp .point h3 {
  margin:0 0 10px;
  color:#083F64;
  font-size:17px;
  font-weight:800;
  line-height:1.55;
}
.oyakata-lp .point p {margin:0;color:#66584E;font-size:13px;line-height:1.87}
.oyakata-lp .cards2 {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.oyakata-lp .cards2 .point {background:#fff;border-color:#EEE5DB}
.oyakata-lp .doc {
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
  padding:18px;
  border:1px solid #EEE5DB;
  border-radius:18px;
  background:#fff;
}
.oyakata-lp .doc .shot {
  display:grid;
  place-items:center;
  width:100%;
  padding:14px;
  margin:0;
  background:#FFFBF7;
  border-color:#F2E8DF;
  border-radius:12px;
  box-shadow:none;
}
.oyakata-lp .doc .shot img {width:auto;max-width:100%;max-height:260px;object-fit:contain}
.oyakata-lp .pdf {
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 14px;
  border:1px solid #E9D5BF;
  border-radius:999px;
  background:#FFF6EB;
  color:#955825;
  font-size:13px;
  font-weight:800;
  line-height:1.4;
  transition:background .2s,border-color .2s;
}
.oyakata-lp .pdf:hover {border-color:#D4AD87;background:#FFEDD8}
.oyakata-lp .chips {display:flex;flex-wrap:wrap;gap:9px;list-style:none;margin:0 0 17px;padding:0}
.oyakata-lp .chips li {padding:7px 12px;border:1px solid #EEE5DB;border-radius:9px;background:#FFFBF7;color:#66584E;font-size:13px;font-weight:600}
.oyakata-lp .split {display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:28px;align-items:start}
.oyakata-lp .checks {list-style:none;margin:0 0 20px;padding:0}
.oyakata-lp .checks li {position:relative;padding:11px 0 11px 30px;border-bottom:1px solid #EEE5DB;color:#4E4A46;font-size:15px;line-height:1.9}
.oyakata-lp .checks li::before {content:"";position:absolute;left:4px;top:21px;width:13px;height:8px;border-left:2.5px solid #D58E55;border-bottom:2.5px solid #D58E55;transform:rotate(-45deg)}
.oyakata-lp .checks strong {color:#083F64}
.oyakata-lp .intro {display:flex;align-items:flex-start;gap:24px;margin-bottom:32px}
.oyakata-lp .intro .shot {flex:none;width:170px;margin:0}
.oyakata-lp .intro p {flex:1;margin:0}

.oyakata-lp .aside {position:sticky;top:115px;display:flex;flex-direction:column;gap:13px;min-width:0}
.oyakata-lp .side-card {
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
  min-height:87px;
  padding:17px 15px;
  border:1px solid #EEE6DC;
  border-radius:15px;
  background:#fff;
  box-shadow:0 9px 22px rgba(82,61,42,.025);
  transition:transform .2s,border-color .2s,box-shadow .2s;
}
.oyakata-lp .side-card:hover {transform:translateY(-2px);border-color:#E7CBAF;box-shadow:0 13px 27px rgba(82,61,42,.06)}
.oyakata-lp .side-card .ic {display:grid;place-items:center;flex:none;width:47px;height:47px;border-radius:12px;background:#FFF5E9;color:#B17642}
.oyakata-lp .side-card.cta .ic {background:#FFF0DC;color:#DB7E2B}
.oyakata-lp .side-card strong {display:block;color:#083F64;font-size:14px;font-weight:800;line-height:1.5}
.oyakata-lp .side-card small {display:block;margin-top:2px;color:#806E60;font-size:11px;line-height:1.5}
.oyakata-lp .side-nav {margin-top:9px;padding:23px 20px;border:1px solid #F0E3D6;border-radius:17px;background:#FFFAF5}
.oyakata-lp .side-nav h4 {margin:0 0 9px;color:#955825;font-size:12px;font-weight:800;letter-spacing:.09em}
.oyakata-lp .side-nav ul {list-style:none;margin:0;padding:0}
.oyakata-lp .side-nav li {margin:0}
.oyakata-lp .side-nav a {display:block;padding:11px 0;border-bottom:1px solid #EEE1D5;color:#63574E;font-size:13px;font-weight:600;line-height:1.55;transition:color .2s}
.oyakata-lp .side-nav li:last-child a {border-bottom:0}
.oyakata-lp .side-nav a:hover {color:#955825}
.oyakata-lp .side-nav a[aria-current="page"] {color:#083F64;font-weight:800}
.oyakata-lp .side-nav a[aria-current="page"]::before {content:"";display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:#E8A36C;vertical-align:middle}

@media (max-width:1023px) {
  .oyakata-lp .layout {grid-template-columns:1fr;gap:50px;padding-top:58px;padding-bottom:87px}
  .oyakata-lp .aside {position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .oyakata-lp .side-card {align-items:flex-start;flex-direction:column}
  .oyakata-lp .side-nav {grid-column:1/-1;margin-top:9px}
  .oyakata-lp .page-hero::before {right:-130px}
}
@media (max-width:767px) {
  .oyakata-lp .page-hero {padding:27px 0 43px}
  .oyakata-lp .page-hero::before {top:-98px;right:-165px;width:345px;height:96px}
  .oyakata-lp .page-hero::after {right:14px;bottom:8px;width:80px;height:50px;background-size:13px 13px;opacity:.27}
  .oyakata-lp .bc {margin-bottom:19px;font-size:11px}
  .oyakata-lp .page-hero h1 {font-size:clamp(25px,6.6vw,32px);margin-bottom:12px}
  .oyakata-lp .page-hero p {font-size:13px;line-height:1.95}
  .oyakata-lp .layout {gap:37px;padding-top:41px;padding-bottom:74px}
  .oyakata-lp .article>section {margin-bottom:56px}
  .oyakata-lp .article h2 {font-size:20px;padding-left:13px;margin-bottom:19px;border-left-width:3px}
  .oyakata-lp .article p {font-size:14px;line-height:1.92}
  .oyakata-lp .shot {margin-bottom:20px;border-radius:14px}
  .oyakata-lp .shots {gap:14px;margin-bottom:20px}
  .oyakata-lp .points-grid,.oyakata-lp .cards2,.oyakata-lp .split {grid-template-columns:1fr;gap:13px}
  .oyakata-lp .point {padding:22px 20px}
  .oyakata-lp .intro {flex-direction:column;gap:17px}
  .oyakata-lp .intro .shot {width:170px}
  .oyakata-lp .aside {grid-template-columns:1fr;gap:10px}
  .oyakata-lp .side-card {flex-direction:row;align-items:center}
  .oyakata-lp .side-nav {margin-top:10px;padding:20px}
}
