/*
Theme Name: Marutasu Auto
Theme URI: https://marutasu-auto.com
Author: Marutasu Auto
Description: まるたすオート公式サイト専用テーマ
Version: 1.0.0
Text Domain: marutasu-auto
*/

:root{--cream:#fffaf0;--paper:#fffef9;--green:#5f9f61;--deep:#285c3b;--ink:#173b2b;--pale:#eaf3d8;--yellow:#f3c654;--line:#d7e2d2;--muted:#607468;--white:#fff;--danger:#a33b2b;--shadow:0 22px 55px rgba(40,92,59,.11)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.8;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}button,input,select,textarea{font:inherit}.wrap{width:min(1120px,calc(100% - 40px));margin-inline:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,250,240,.94);border-bottom:1px solid rgba(40,92,59,.1);backdrop-filter:blur(12px)}.header-inner{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:12px}.brand-mark{width:48px;height:48px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;position:relative;font-size:21px;font-weight:800;box-shadow:0 8px 20px rgba(40,92,59,.18)}.brand-mark b{position:absolute;right:-5px;top:-7px;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:var(--deep);font-size:15px}.brand-name{font-size:21px;font-weight:900;letter-spacing:.03em}.brand-name em{font-style:normal;color:var(--green)}.main-nav{display:flex;align-items:center;gap:25px;font-size:13px;font-weight:800}.main-nav a:hover{color:var(--green)}.nav-cta{padding:10px 18px;border-radius:999px;background:var(--deep);color:#fff!important}.menu-toggle{display:none;border:0;background:var(--deep);color:#fff;border-radius:999px;padding:9px 14px;font-weight:800}.hero{padding:72px 0 65px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:55px;align-items:center}.eyebrow,.section-kicker{margin:0 0 14px;color:var(--green);font-size:12px;font-weight:900;letter-spacing:.16em}.hero h1{margin:0;font-size:clamp(48px,6.2vw,82px);line-height:1.16;letter-spacing:-.06em}.hero h1 em{font-style:normal;color:var(--green);position:relative}.hero h1 em:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:8px;border-radius:9px;background:var(--yellow);opacity:.65;z-index:-1}.hero-lead{margin:27px 0;color:#446152;font-size:18px}.actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.button{min-height:56px;padding:0 27px;border:0;border-radius:999px;display:inline-flex;justify-content:center;align-items:center;gap:22px;background:var(--deep);color:#fff;font-weight:900;cursor:pointer;transition:.2s}.button:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(40,92,59,.2)}.button-light{background:#fff;color:var(--deep);border:1px solid var(--line)}.phone{font-weight:900;font-size:20px;line-height:1.35}.phone small{display:block;color:#718477;font-size:11px}.trust-row{margin-top:32px;display:flex;gap:20px;flex-wrap:wrap;font-size:13px;font-weight:800}.trust-row b{color:var(--green)}.hero-art{height:520px;position:relative;overflow:hidden;border-radius:48% 48% 24% 24%;background:linear-gradient(150deg,var(--pale),#d8eab8);box-shadow:0 30px 70px rgba(59,109,62,.15)}.art-sun{position:absolute;right:48px;top:45px;width:145px;height:145px;border-radius:50%;background:#fff6a9;opacity:.8}.art-road{position:absolute;left:-15%;bottom:-75px;width:130%;height:170px;border-radius:50% 50% 0 0;background:#bdd487;transform:rotate(-3deg)}.art-car{position:absolute;left:50%;top:53%;width:330px;height:170px;transform:translate(-50%,-50%)}.art-car-body{position:absolute;left:0;bottom:25px;width:100%;height:95px;border-radius:65px 80px 22px 25px;background:var(--green);box-shadow:inset -15px -12px rgba(40,92,59,.12)}.art-car-roof{position:absolute;left:72px;top:7px;width:190px;height:90px;border-radius:90px 100px 10px 10px;background:var(--deep);clip-path:polygon(18% 0,78% 0,100% 100%,0 100%)}.art-car-roof:after{content:"";position:absolute;inset:13px 16px 0;background:#dff2df;clip-path:polygon(12% 0,78% 0,100% 100%,0 100%)}.wheel{position:absolute;bottom:0;z-index:3;width:58px;height:58px;border:12px solid #e9eee6;border-radius:50%;background:#26372f}.wheel-a{left:52px}.wheel-b{right:48px}.area-pill{position:absolute;left:36px;top:38px;width:112px;height:112px;border-radius:50%;display:grid;place-content:center;text-align:center;background:#fff;color:var(--green);line-height:1.3;transform:rotate(-6deg);box-shadow:0 12px 30px rgba(40,92,59,.12)}.area-pill b{font-size:23px}.visual-note{position:absolute;right:27px;bottom:28px;z-index:4;padding:14px 20px;border-radius:20px;display:flex;align-items:center;gap:12px;background:#fff;box-shadow:0 12px 30px rgba(40,92,59,.15)}.visual-note span{width:37px;height:37px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);font-weight:900}.visual-note p{margin:0;font-size:12px;line-height:1.45}.visual-note b{font-size:14px}.dark-section{padding:90px 0;background:var(--deep);color:#fff;text-align:center}.dark-section .section-kicker{color:#b9db9e}.dark-section h2,.section-title{margin:0 0 24px;font-size:clamp(31px,4vw,48px);line-height:1.4}.dark-section .lead{max-width:780px;margin:auto;color:#dbeadd}.section{padding:100px 0}.section-pale{background:var(--pale)}.section-paper{background:var(--paper)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:45px}.section-head .section-title{margin:0}.section-head>p{max-width:490px;margin:0;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.service-card{position:relative;overflow:hidden;padding:40px;border:1px solid var(--line);border-radius:28px;background:#fff}.service-card:before{content:"";position:absolute;right:-55px;top:-55px;width:170px;height:170px;border-radius:50%;background:var(--pale)}.service-card>*{position:relative}.service-no{color:var(--green);font-size:13px;font-weight:900;letter-spacing:.13em}.service-card h3{margin:20px 0 10px;font-size:29px}.service-card p{color:var(--muted)}.pill-list{list-style:none;padding:0;margin:22px 0 0;display:flex;gap:9px;flex-wrap:wrap}.pill-list li{padding:6px 13px;border-radius:99px;background:var(--cream);font-size:12px;font-weight:800}.service-wide{grid-column:1/-1;display:grid;grid-template-columns:90px 250px 1fr;align-items:center;padding-block:27px}.service-wide h3,.service-wide p{margin:0}.reason-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.reason{padding:30px;border-radius:22px;background:#fff}.reason span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-weight:900}.reason h3{margin:18px 0 7px}.reason p{margin:0;color:var(--muted);font-size:14px}.area-box{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;align-items:center}.area-map{min-height:320px;border-radius:42px;display:grid;place-items:center;position:relative;overflow:hidden;background:#dcebc7}.area-map:before,.area-map:after{content:"";position:absolute;border-radius:50%;border:2px solid rgba(40,92,59,.2)}.area-map:before{width:260px;height:260px}.area-map:after{width:150px;height:150px}.area-map strong{z-index:2;text-align:center;font-size:27px;line-height:1.5}.area-map strong span{display:block;color:var(--green);font-size:16px}.check-list{list-style:none;padding:0;margin:25px 0}.check-list li{padding:10px 0;border-bottom:1px solid var(--line);font-weight:800}.check-list li:before{content:"✓";margin-right:10px;color:var(--green)}.cta{padding:80px 0;background:#f6efd8}.cta-box{display:flex;align-items:center;justify-content:space-between;gap:40px}.cta h2{margin:0 0 8px;font-size:clamp(30px,4vw,45px)}.cta p{margin:0;color:var(--muted)}.page-hero{padding:80px 0 65px;background:linear-gradient(135deg,var(--pale),var(--cream))}.page-hero h1{margin:0 0 10px;font-size:clamp(38px,5vw,58px);line-height:1.3}.page-hero p{max-width:720px;margin:0;color:var(--muted)}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.info-card{padding:34px;border:1px solid var(--line);border-radius:24px;background:#fff}.info-card h2,.info-card h3{margin-top:0}.flow{counter-reset:step;display:grid;gap:15px}.flow-item{display:grid;grid-template-columns:55px 1fr;gap:18px;padding:25px;border-radius:20px;background:#fff}.flow-item:before{counter-increment:step;content:counter(step);width:45px;height:45px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-weight:900}.flow-item h3{margin:0}.flow-item p{margin:3px 0 0;color:var(--muted)}.business-table{width:100%;border-collapse:collapse}.business-table th,.business-table td{padding:16px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.business-table th{width:30%;color:var(--deep)}.contact-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:65px}.contact-panel{padding:38px;border-radius:28px;background:#fff;box-shadow:var(--shadow)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form label{display:block;margin-bottom:18px;font-size:13px;font-weight:900}.required{margin-left:7px;color:var(--danger);font-size:10px}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;margin-top:7px;padding:12px 14px;border:1px solid #cddac8;border-radius:10px;background:#fbfcf8;outline:none}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(95,159,97,.15)}.consent{display:flex!important;align-items:flex-start;gap:8px}.consent input{width:auto;margin-top:7px}.notice{padding:14px 18px;border-radius:12px;margin-bottom:22px}.notice-success{background:#e5f4df;color:var(--deep)}.notice-error{background:#f9e2dc;color:var(--danger)}.hp-field{position:absolute!important;left:-9999px!important}.privacy-content h2{margin-top:45px}.privacy-content li{margin-bottom:8px}.site-footer{padding:55px 0;background:#173b2b;color:#fff}.footer-grid{display:grid;grid-template-columns:1fr auto auto;gap:50px;align-items:center}.footer-info{font-size:12px;color:#bed0c3}.footer-info p{margin:0}.footer-info a{text-decoration:underline}.copyright{font-size:11px;color:#8faf9a}.mobile-cta{display:none}
@media(max-width:900px){.main-nav a:not(.nav-cta){display:none}.hero-grid,.area-box,.contact-layout{grid-template-columns:1fr}.hero-art{height:430px}.service-grid{grid-template-columns:1fr}.service-wide{grid-column:auto;display:block}.service-wide h3{margin:18px 0 9px}.reason-grid{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column}.cta-box{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr}.content-grid{grid-template-columns:1fr}}
@media(max-width:600px){.wrap{width:min(100% - 30px,1120px)}.header-inner{min-height:70px}.brand-name{font-size:16px}.brand-mark{width:40px;height:40px}.main-nav{display:none}.menu-toggle{display:block}.main-nav.is-open{display:flex;position:absolute;left:0;right:0;top:70px;padding:18px;background:var(--cream);flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.main-nav.is-open a{display:block!important}.hero{padding:42px 0}.hero-lead{font-size:15px}.hero-art{height:335px;border-radius:34px}.art-car{transform:translate(-50%,-50%) scale(.72)}.area-pill{width:84px;height:84px;left:16px;font-size:11px}.area-pill b{font-size:18px}.visual-note{right:12px;bottom:14px}.actions{align-items:flex-start;flex-direction:column}.section,.dark-section,.cta{padding:68px 0}.service-card,.contact-panel{padding:27px 22px}.form-row{grid-template-columns:1fr}.business-table th,.business-table td{display:block;width:100%;padding:10px 0}.business-table th{border-bottom:0;padding-top:18px}.page-hero{padding:55px 0}.mobile-cta{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:45;gap:8px;padding:8px;border-radius:18px;background:rgba(255,255,255,.95);box-shadow:0 10px 35px rgba(23,59,43,.25)}.mobile-cta a{flex:1;padding:9px;border-radius:12px;text-align:center;font-size:12px;font-weight:900;background:var(--deep);color:#fff}.mobile-cta a:first-child{background:var(--green)}body{padding-bottom:74px}}
.hero-visual{overflow:hidden;border-radius:34px;background:#fffaf0;box-shadow:0 30px 70px rgba(59,109,62,.16)}.hero-visual img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}@media(max-width:900px){.hero-visual{max-width:720px;margin-inline:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}


/* Corporate brand link in footer */
.corporate-brand{margin:18px 0 16px}
.corporate-brand a{display:inline-flex;max-width:240px;flex-direction:column;align-items:flex-start;gap:5px;color:inherit;text-decoration:none}
.corporate-brand img{display:block;width:220px;max-width:100%;height:auto;object-fit:contain}
.corporate-brand span{font-size:.82rem;line-height:1.5;color:inherit}
.corporate-brand small{font-size:.76rem;line-height:1.4;text-decoration:underline;text-underline-offset:3px;opacity:.82}
.corporate-brand a:hover small,.corporate-brand a:focus-visible small{opacity:1}
@media (max-width:600px){.corporate-brand{margin:16px 0 14px}.corporate-brand a{max-width:210px}.corporate-brand img{width:200px}.corporate-brand span{font-size:.78rem}}

/* Unified business logo and compact corporate link */
.site-header .brand-logo{display:block;flex:0 0 auto;width:240px;max-width:34vw;line-height:0}
.site-header .header-brand-logo{display:block;width:100%;height:auto}
.site-header .header-inner{min-height:76px;gap:28px}
.site-header .main-nav{margin-left:auto}
.site-footer .corporate-text-link{margin:14px 0 10px;font-size:.84rem;line-height:1.6}
.site-footer .corporate-text-link a{text-decoration:underline;text-underline-offset:3px;opacity:.88}
.site-footer .corporate-text-link a:hover,.site-footer .corporate-text-link a:focus-visible{opacity:1}
@media(max-width:900px){.site-header .brand-logo{width:210px;max-width:70vw}.site-header .header-inner{min-height:68px;gap:14px}.site-header .menu-toggle{margin-left:auto}}
@media(max-width:390px){.site-header .brand-logo{width:195px;max-width:68vw}.site-header .header-inner{min-height:64px;gap:10px}.site-header .menu-toggle{font-size:.86rem;padding:.6rem .72rem}}
