/*
Theme Name: Smile Care Drive
Theme URI: https://example.com/
Author: Smile Care Drive
Description: 介護タクシー smile.care.Drive 用のスマホ優先テーマ
Version: 1.1.0
Text Domain: smile-care-drive
*/

:root { --navy:#17253a; --blue:#10abd8; --pale:#edf3fb; --cream:#fff5c9; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--navy); background:#fff; font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif; line-height:1.7; }
a { color:inherit; text-decoration:none; }
.site-header { position:sticky; top:0; z-index:20; background:rgba(255,255,255,.96); border-bottom:1px solid #e4eaf1; }
.header-inner,.container { width:min(1120px,calc(100% - 40px)); margin:auto; }
.header-inner { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { font-weight:800; font-size:1.2rem; letter-spacing:-.03em; display:flex; align-items:center; gap:10px; }
.brand-mark { width:34px; height:34px; border:4px solid var(--blue); border-radius:50%; position:relative; }
.brand-mark:after { content:""; position:absolute; inset:7px -9px 7px 7px; border:3px solid var(--navy); border-left:0; border-radius:0 20px 20px 0; }
.main-nav ul { margin:0; padding:0; list-style:none; display:flex; gap:19px; font-size:.9rem; font-weight:700; }
.header-actions { display:flex; gap:8px; font-size:.82rem; font-weight:800; }
.header-actions a { padding:8px 10px; border-radius:7px; background:#e9f7fb; color:#007fa6; }
.hero { padding:64px 0 76px; background:linear-gradient(135deg,#f7fbfd,#e9f2f6); }
.hero-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:54px; }
.eyebrow { color:#008eba; font-weight:800; letter-spacing:.08em; }
h1,h2,h3,p { margin-top:0; }
h1 { font-size:clamp(2.3rem,5vw,4.5rem); line-height:1.1; letter-spacing:-.06em; margin:12px 0 22px; }
h2 { font-size:clamp(1.8rem,3.2vw,2.8rem); line-height:1.25; letter-spacing:-.04em; margin-bottom:24px; }
h3 { font-size:1.3rem; line-height:1.35; }
.lead { font-size:1.15rem; max-width:35rem; }
.hero-photo { min-height:410px; border-radius:34px; background:linear-gradient(140deg,rgba(23,37,58,.08),rgba(16,171,216,.22)),url('https://images.unsplash.com/photo-1533473359331-0135ef1b58bf?auto=format&fit=crop&w=1100&q=80') center/cover; box-shadow:0 22px 54px rgba(23,37,58,.18); }
.buttons { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.button { display:inline-flex; justify-content:center; align-items:center; min-height:54px; padding:0 22px; border-radius:8px; background:var(--blue); color:#fff; font-weight:800; }
.button-outline { background:#fff; color:var(--navy); border:2px solid var(--navy); }
.section { padding:88px 0; }
.section-pale { background:#f8fafc; }
.section-cream { background:var(--cream); }
.section-intro { max-width:690px; margin-bottom:38px; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.cards.two { grid-template-columns:repeat(2,1fr); }
.card { background:#fff; border-radius:20px; padding:28px; box-shadow:0 8px 24px rgba(23,37,58,.07); }
.card-icon { color:var(--blue); font-size:2rem; font-weight:900; }
.steps { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; counter-reset:step; }
.step { background:var(--pale); border-radius:20px; padding:25px; }
.step:before { counter-increment:step; content:"STEP " counter(step); color:#008eba; font-weight:900; }
.price-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.price-box { border:1px solid #cad8e9; border-radius:20px; padding:28px; background:#fff; }
.price-box ul { padding-left:1.1em; margin-bottom:0; }
.vehicle { display:grid; grid-template-columns:1.05fr .95fr; gap:36px; align-items:center; }
.vehicle-photo { min-height:340px; border-radius:26px; background:linear-gradient(135deg,rgba(16,171,216,.08),rgba(23,37,58,.14)),url('https://images.unsplash.com/photo-1533473359331-0135ef1b58bf?auto=format&fit=crop&w=1100&q=80') center/cover; }
.check-list { margin:0; padding:0; list-style:none; }
.check-list li { padding:8px 0; border-bottom:1px solid #d9e2ec; font-weight:700; }
.check-list li:before { content:"✓"; color:#009dca; font-weight:900; margin-right:9px; }
.company-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px 30px; max-width:800px; }
.company-grid dt { font-weight:800; }.company-grid dd { margin:0; }
.faq details { border-bottom:1px solid #d6e0ea; padding:19px 0; font-size:1.05rem; }
.faq summary { font-weight:800; cursor:pointer; }
.faq p { margin:14px 0 0; }
.contact-box { border-radius:26px; background:var(--navy); color:#fff; padding:46px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.contact-box h2 { margin:0 0 8px; }
.site-footer { padding:46px 0 95px; background:#f2f5f8; font-size:.94rem; }
.site-footer p { margin-bottom:6px; }
.mobile-cta { display:none; }
@media (max-width:800px) { .main-nav { display:none; } .header-actions { font-size:.72rem; } .header-actions a { padding:7px; } .hero { padding:42px 0 52px; } .hero-grid { grid-template-columns:1fr; gap:28px; } .hero-photo { min-height:300px; order:-1; border-radius:24px; } .section { padding:62px 0; } .cards,.cards.two,.steps,.price-grid,.vehicle,.company-grid { grid-template-columns:1fr; } .contact-box { display:block; padding:32px 24px; } .mobile-cta { display:grid; grid-template-columns:1fr 1fr; position:fixed; z-index:30; bottom:0; left:0; right:0; box-shadow:0 -5px 20px rgba(23,37,58,.17); } .mobile-cta a { padding:15px 8px; text-align:center; color:#fff; font-weight:800; background:#0c91bb; } .mobile-cta a:last-child { background:#06a949; } }
