/* The site's guide pages; independent sample sites retain their own styles. */
.guide-page { --soft:#edf8fe; --muted:#496274; }
.guide-page .guide-hero { padding:30px 0 42px; background:linear-gradient(145deg,#eff9ff,#e7f5fc 65%,#f4fbff); border-bottom:1px solid var(--line); }
.guide-page .guide-hero h1 { margin:10px 0 18px; font-size:clamp(28px,3.2vw,40px); line-height:1.6; font-weight:700; }
.guide-page .guide-hero .wrap > p:last-of-type { max-width:780px; margin:0; font-size:16px; line-height:1.95; }
.guide-page .eyebrow, .guide-page .label { margin:0 0 10px; color:#c54b08; font-size:13px; font-weight:700; }
.guide-page .guide-jumps { display:flex; flex-wrap:wrap; gap:10px 24px; margin-top:24px; font-size:14px; font-weight:700; }
.guide-page .guide-jumps a { text-decoration:underline; text-underline-offset:5px; }
.guide-page :is(.quick-choice,.compare,.choose,.samples) { width:min(1080px,calc(100% - 48px)); margin:0 auto; padding:48px 0; }
.guide-page .compare + .compare, .guide-page .choose { border-top:1px solid var(--line); }
.guide-page .quick-choice h2, .guide-page .section-heading h2, .guide-page .choose h2 { margin:0; color:var(--navy); font-size:clamp(23px,2.5vw,29px); line-height:1.65; font-weight:700; }
.guide-page .section-heading { margin:0 0 24px; text-align:left; }
.guide-page .others-note { max-width:780px; margin:12px 0 0; font-size:14px; color:#496274; line-height:1.9; }
.guide-page .choice-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:24px; }
.guide-page .choice-grid a { display:grid; gap:6px; padding:24px; border:1px solid var(--line); border-radius:18px; background:#edf8fe; }
.guide-page .choice-grid a:nth-child(2) { background:#fff6e8; }
.guide-page .choice-grid a:nth-child(3) { background:#edf8f1; }
.guide-page .choice-grid span { color:#c54b08; font-size:13px; }
.guide-page .choice-grid strong { font-size:18px; }
.guide-page .choice-grid small { color:#496274; font-size:13px; }
.guide-page .samples { display:grid; gap:28px; padding-top:0; }
.guide-page .sample-card { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:32px; padding:28px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.guide-page .sample-media { align-self:start; overflow:hidden; border-radius:14px; }
.guide-page .sample-media img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.guide-page .sample-body h2 { margin:0 0 16px; font-size:24px; line-height:1.65; }
.guide-page .sample-body p, .guide-page .sample-body li { font-size:15px; font-weight:400; line-height:1.9; }
.guide-page .sample-body ul { padding-left:1.2em; }
.guide-page .sample-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }
.guide-page .table-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:14px; }
.guide-page table { width:100%; min-width:720px; border-collapse:collapse; font-size:14px; }
.guide-page th, .guide-page td { padding:16px; border:1px solid var(--line); text-align:left; vertical-align:top; }
.guide-page thead th { color:var(--navy); background:#e7f5fc; }
.guide-page tbody th { background:#eff7fb; }
.guide-page .choose { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:36px; }
.guide-page .choose ol { display:grid; gap:14px; list-style:none; margin:0; padding:0; counter-reset:choice; }
.guide-page .choose li { padding:20px; border-radius:14px; background:#edf8fe; }
.guide-page .choose strong, .guide-page .choose span { display:block; }
.guide-page .choose strong::before { counter-increment:choice; content:counter(choice) '. '; color:#c54b08; }
.guide-page .choose span { margin-top:6px; font-size:14px; }
.guide-page .biz-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:28px; }
.guide-page .biz-card { display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--line); border-radius:18px; background:#edf8fe; }
.guide-page .biz-card:nth-child(3n+2) { background:#fff6e8; }
.guide-page .biz-card:nth-child(3n+3) { background:#edf8f1; }
.guide-page .biz-card > a img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.guide-page .biz-body { display:flex; flex:1; flex-direction:column; gap:12px; padding:24px; }
.guide-page .biz-body h3 { margin:0; font-size:21px; line-height:1.55; }
.guide-page .biz-body p { margin:0; font-size:14px; line-height:1.9; }
.guide-page .biz-body .label, .guide-page .biz-body .biz-apply { font-size:12px; }
.guide-page .biz-body .button { margin-top:auto; font-size:14px; }
.guide-page .compare[aria-label="お問い合わせ"] { margin:16px auto 56px; padding:32px; border:1px solid var(--line); border-radius:18px; background:#eff9ff; }
.guide-page .guide-price { padding:28px; border:1px solid var(--line); border-radius:18px; background:#fff6e8; }
.guide-page .guide-price h3 { margin:0 0 12px; font-size:22px; }
.guide-page .guide-price strong { font-size:26px; }
.guide-page .guide-price p { margin:12px 0; }
.guide-page .guide-price a { text-decoration:underline; text-underline-offset:4px; }
.guide-page .guide-materials { max-width:820px; margin:auto; display:grid; gap:22px; }
.guide-page .guide-materials details { border:1px solid var(--line); border-radius:18px; padding:22px; }
.guide-page .guide-materials summary { cursor:pointer; font-weight:700; }
.guide-page .guide-materials img { margin-top:20px; width:100%; }
.guide-page .guide-materials small { display:block; margin-top:12px; }
@media(max-width:900px) { .guide-page .biz-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:680px) {
  .guide-page .guide-hero { padding:22px 0 30px; }
  .guide-page :is(.quick-choice,.compare,.choose,.samples) { width:calc(100% - 36px); padding:32px 0; }
  .guide-page .choice-grid, .guide-page .sample-card, .guide-page .choose, .guide-page .biz-grid { grid-template-columns:minmax(0,1fr); }
  .guide-page .sample-card { padding:20px; gap:20px; }
  .guide-page .compare[aria-label="お問い合わせ"] { padding:24px 20px; }
  .guide-page .guide-price { padding:22px; }
  .guide-page .guide-materials details { padding:18px; }
}
