/* TOP本文専用。下層・共通ヘッダー・フッターには適用しません。 */
body.mm-top #main { display:block; margin:0; padding:0; width:100%; max-width:none; }
body.mm-top #main :where(*),body.mm-top #main :where(*)::before,body.mm-top #main :where(*)::after { all:revert; box-sizing:border-box; }
body.mm-top #main { --green:#65a80b;--green-dark:#357600;--ink:#111;--silver:#d6d6d6 }
body.mm-top #main * { box-sizing:border-box }
html.mm-top-page { scroll-behavior:smooth;scroll-padding-top:110px }
body.mm-top #main { margin:0;background:#fff;color:#111;font-family:Arial,"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.55;-webkit-text-size-adjust:100% }
body.mm-top #main img { max-width:100%;height:auto;display:block }
body.mm-top #main a { color:inherit;text-decoration:none }
body.mm-top #main button { font:inherit;cursor:pointer }
body.mm-top #main h1,
body.mm-top #main h2,
body.mm-top #main h3,
body.mm-top #main h4,
body.mm-top #main p { margin:0 }
body.mm-top #main [hidden] { display:none!important }
body.mm-top #main :focus-visible { outline:3px solid #98d746;outline-offset:5px }
body.mm-top #main .wrap { width:min(1200px,83.34%);margin-inline:auto }
body.mm-top #main .section-pad { padding:110px 0 }
body.mm-top #main .section-title { font-family:Arial,sans-serif;font-size:clamp(40px,5.8vw,84px);font-weight:800;letter-spacing:-.035em;line-height:1.15;margin-bottom:28px!important }
body.mm-top #main .eyebrow { font-size:clamp(17px,1.65vw,24px);font-weight:800;line-height:1.55;margin-bottom:15px!important }
body.mm-top #main .section-intro { line-height:1.6 }
body.mm-top #main .silver { color:#686868;background:linear-gradient(115deg,#555,#999,#555);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent }
body.mm-top #main .pale { color:#c3c3c3 }
body.mm-top #main .button { display:inline-flex;align-items:center;justify-content:center;gap:14px;background:linear-gradient(#69a80a,#327900);border:1px solid #fff;padding:15px 30px;min-height:54px;min-width:235px;color:white!important;font-size:16px;font-weight:700;box-shadow:5px 7px 15px #0002;transition:filter .2s,transform .2s }
body.mm-top #main .button:hover,
body.mm-top #main .phone-card:hover { filter:brightness(1.13);transform:translateY(-2px) }
body.mm-top #main .align-right { text-align:right;margin-top:48px }
body.mm-top #main .dark { background:linear-gradient(125deg,#343434 25%,#111);color:white }
body.mm-top #main .diagonal { background:linear-gradient(114deg,#eee 0%,#f7f7f7 19%,white 19%,white 84%,#f4f4f4 84%,#e7e7e7 100%) }
body.mm-top #main .site-header { background:#101010;color:white;border-bottom:4px solid var(--green);position:relative;z-index:20 }
body.mm-top #main .header-inner { width:min(1320px,86%);margin:auto;height:98px;display:flex;align-items:center;justify-content:space-between;gap:35px }
body.mm-top #main .brand { background:white;border-radius:0 0 7px 7px;padding:14px 12px 18px;align-self:flex-start;position:relative;z-index:2;display:block;flex:0 0 280px }
body.mm-top #main .brand img { width:100% }
body.mm-top #main .site-header nav { display:flex;align-items:center;justify-content:flex-end;gap:32px;font-size:14px;font-weight:700;white-space:nowrap }
body.mm-top #main .site-header nav a { padding-block:12px }
body.mm-top #main .site-header nav a:hover,
body.mm-top #main .site-footer nav a:hover { color:#8cc63f }
body.mm-top #main .site-header .header-contact { border:1px solid var(--green);padding:15px 24px }
body.mm-top #main .envelope { font-size:25px;line-height:1 }
body.mm-top #main .menu-toggle { display:none }
body.mm-top #main .hero { background:#171717 url(../assets/mimura/hero.webp) center/cover no-repeat;aspect-ratio:1000/498;display:flex;align-items:center;color:white }
body.mm-top #main .hero-inner { width:83.34%;max-width:1200px;margin:auto;padding-bottom:12px }
body.mm-top #main .hero-en { font-size:clamp(18px,2.5vw,36px);font-weight:800;line-height:1.15;margin-bottom:20px!important;letter-spacing:-.02em }
body.mm-top #main .hero h1 { font-size:clamp(34px,4.25vw,62px);font-weight:900;letter-spacing:-.025em;line-height:1.42 }
body.mm-top #main .hero em { color:var(--green);font-style:normal }
body.mm-top #main .hero-tag { font-size:clamp(17px,1.95vw,28px);font-weight:800;margin-top:15px!important }
body.mm-top #main .quick-contact { background:linear-gradient(120deg,#353535,#151515);color:white;padding:28px 0 }
body.mm-top #main .quick-inner { display:flex;align-items:center;justify-content:space-between;gap:24px }
body.mm-top #main .quick-inner p { font-size:clamp(15px,1.6vw,22px);font-weight:bold;line-height:1.3 }
body.mm-top #main .quick-phone { font-size:clamp(23px,3.25vw,46px);font-weight:800;color:var(--green)!important;white-space:nowrap }
body.mm-top #main .quick-phone span { margin-right:6px }
body.mm-top #main .quick-inner .button { min-width:240px }
body.mm-top #main .about { padding:100px 0 108px;display:grid;grid-template-columns:46.5% 1fr;gap:4.2%;align-items:start }
body.mm-top #main .about-photo { width:100%;box-shadow:7px 8px 15px #0004 }
body.mm-top #main .about-body { position:relative;padding:55px 12% 60px 0;isolation:isolate }
body.mm-top #main .about-body:before { content:"";position:absolute;z-index:-1;left:-18%;top:100px;right:0;bottom:0;background:linear-gradient(125deg,#e1e1e1,#fff 38%,#ddd 70%,#fff) }
body.mm-top #main .about h3 { font-size:clamp(26px,3.05vw,44px);font-weight:900;line-height:1.4;margin-bottom:28px!important }
body.mm-top #main .body-copy p+p { margin-top:16px!important }
body.mm-top #main .body-copy { line-height:1.65 }
body.mm-top #main .service { position:relative;isolation:isolate;background:#dedede }
body.mm-top #main .service:before { content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(#fffc,#fffb),url(../assets/mimura/hero.webp) center/cover;filter:grayscale(1) }
body.mm-top #main .service-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 22px;margin-top:60px }
body.mm-top #main .service-card { background:#252a30;color:#fff;border:4px solid #e5e5e5;box-shadow:6px 8px 12px #0004 }
body.mm-top #main .service-card>img { width:100%;aspect-ratio:1.94;object-fit:cover }
body.mm-top #main .service-card>div { padding:9px 17px 17px }
body.mm-top #main .service-card h4 { text-align:center;font-size:20px;line-height:1.5;margin-bottom:8px!important;font-weight:800 }
body.mm-top #main .service-card p { font-size:16px;line-height:1.35 }
body.mm-top #main .strength { text-align:center;padding-top:120px;padding-bottom:76px }
body.mm-top #main .strength-list { padding:0;margin:78px auto 0;max-width:540px;list-style:none;display:grid;gap:26px }
body.mm-top #main .strength-list li { position:relative;min-height:63px;display:flex;align-items:center;justify-content:center;padding:10px 15px 10px 50px;isolation:isolate }
body.mm-top #main .strength-list li:before { content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,#c9c9c9,#f8f8f8,#cacaca);transform:skewX(-11deg) }
body.mm-top #main .strength-list span { position:absolute;left:-32px;top:-11px;font-size:58px;font-weight:900;font-style:italic;color:var(--green);line-height:1.4 }
body.mm-top #main .strength-list strong { font-size:22px }
body.mm-top #main .area { padding-block:100px 80px;display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center }
body.mm-top #main .area h2 { font-size:clamp(24px,2.5vw,36px);line-height:1.4;margin-bottom:34px!important }
body.mm-top #main .area p { line-height:1.6 }
body.mm-top #main .area-label { background:#050505;color:white;display:inline-block;padding:12px 42px;font-size:15px;font-weight:bold;margin-top:38px }
body.mm-top #main .area img { width:100% }
body.mm-top #main .faq { background:#315c00 url(../assets/mimura/faq.webp) center/cover no-repeat;color:white;padding:120px 0 100px;min-height:560px }
body.mm-top #main .faq-body { width:49%;margin-left:auto }
body.mm-top #main .faq .section-title { margin-bottom:38px!important }
body.mm-top #main .faq .button { margin-top:48px }
body.mm-top #main .faq-answers { background:#163100ef;margin-top:35px;padding:20px 28px;border:1px solid #ffffff66 }
body.mm-top #main .faq-answers details+details { border-top:1px solid #fff5 }
body.mm-top #main .faq-answers summary { padding:20px 0;font-size:18px;font-weight:bold;cursor:pointer }
body.mm-top #main .faq-answers details p { padding:0 0 22px }
body.mm-top #main .news-grid { display:grid;grid-template-columns:36% 1fr;gap:6% }
body.mm-top #main .news-items { padding-top:105px }
body.mm-top #main .news-row { padding:14px 0 18px;border-bottom:1px solid #aaa }
body.mm-top #main .news-row small { background:var(--green);margin-left:16px;padding:3px 16px }
body.mm-top #main .news-row p { margin-top:12px!important }
body.mm-top #main .news-note { font-size:14px;color:#ccc;margin-bottom:15px!important }
body.mm-top #main .news-empty { padding:30px 0;border-bottom:1px solid #777 }
body.mm-top #main .instagram-section { padding:145px 20px 180px;display:flex;justify-content:center }
body.mm-top #main .instagram-card { width:630px;aspect-ratio:630/300;background:#315400 url(../assets/mimura/instagram.webp) center/cover no-repeat;color:#fff;padding:32px 45px;box-shadow:7px 10px 18px #0005 }
body.mm-top #main .instagram-card h2 { font-size:22px;line-height:1.5;margin-bottom:10px!important }
body.mm-top #main .instagram-card p { font-size:18px;line-height:1.4 }
body.mm-top #main .instagram-card .instagram-link { display:inline-block;background:#000;padding:7px 28px;margin-top:23px;font-size:16px }
body.mm-top #main .pending-link { opacity:.85;font-size:14px!important }
body.mm-top #main .needs { display:grid;grid-template-columns:repeat(4,1fr);gap:24px;list-style:none;padding:0;margin:28px 0 38px }
body.mm-top #main .needs li { padding:14px 12px;background:#101010;text-align:center;font-size:15px;display:flex;align-items:center;justify-content:center;gap:12px }
body.mm-top #main .needs li:before { content:"✓";display:inline-flex;align-items:center;justify-content:center;border:2px solid white;color:#83bf16;width:27px;height:27px;font-size:32px;font-weight:bold;flex-shrink:0 }
body.mm-top #main .contact-actions { display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:48px }
body.mm-top #main .phone-card,
body.mm-top #main .mail-card { background:linear-gradient(#65a90b,#327400);color:#fff;min-height:155px;display:flex;gap:12px;align-items:center;justify-content:center;padding:20px;border:1px solid white;transition:filter .2s,transform .2s }
body.mm-top #main .phone-icon { font-size:57px;line-height:1 }
body.mm-top #main .phone-card strong { font-size:clamp(23px,2.8vw,40px);white-space:nowrap;line-height:1.2 }
body.mm-top #main .phone-card small { display:block;font-size:14px;color:#e5ff00 }
body.mm-top #main .hours { font-size:16px;font-weight:bold;line-height:1.3;border:1px solid white;padding:5px;white-space:nowrap }
body.mm-top #main .mail-card { font-size:22px;font-weight:bold;line-height:1.3;gap:27px }
body.mm-top #main .mail-card .envelope { font-size:70px }
body.mm-top #main .mail-card small { display:block;font-size:14px;font-weight:normal;margin-top:8px }
body.mm-top #main .company { background:linear-gradient(112deg,#eee,#f9f9f9 32%,#ddd 32%,#f6f6f6 35%,#eee 66%,#fafafa 66%,#ddd);padding-block:115px 110px }
body.mm-top #main .company-panel { width:min(1110px,77.3%);margin:auto;background:white;box-shadow:0 0 32px #0005;padding:64px 10% 85px }
body.mm-top #main .company .section-title { text-align:center;color:#101010;letter-spacing:-.04em }
body.mm-top #main .company-content { max-width:800px;margin:40px auto 0 }
body.mm-top #main .company-content img { width:100% }
body.mm-top #main .company table { border-collapse:collapse;width:100%;margin-top:24px;font-size:16px;line-height:1.5 }
body.mm-top #main .company th { width:23%;background:var(--green);color:white;border-bottom:1px solid white;text-align:left;padding:22px;font-weight:700 }
body.mm-top #main .company td { border:1px solid #aaa;padding:22px }
body.mm-top #main .company td a:hover { text-decoration:underline }
body.mm-top #main .map-link { display:block }
body.mm-top #main .site-footer { background:#101010;color:white;padding-bottom:25px }
body.mm-top #main .footer-top { display:flex;justify-content:space-between;gap:50px }
body.mm-top #main .footer-right { padding-top:45px }
body.mm-top #main .site-footer nav { display:flex;gap:29px;justify-content:flex-end;font-size:14px;font-weight:bold }
body.mm-top #main .footer-actions { display:flex;gap:10px;justify-content:flex-end;margin-top:40px }
body.mm-top #main .footer-actions .button { min-width:200px;gap:14px;padding:10px 20px }
body.mm-top #main .footer-actions small { font-size:12px }
body.mm-top #main .copyright { text-align:center;font-size:14px;margin-top:45px!important }
body.mm-top #main .skip-link { position:absolute;left:10px;top:-100px;z-index:99;background:#fff;padding:12px }
body.mm-top #main .skip-link:focus { top:10px }
body.mm-top #main .sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0 }

@media(min-width:1700px){body.mm-top #main .hero { max-height:900px }
body.mm-top #main .about { max-width:1800px;margin-inline:auto }
}
@media(max-width:1200px){body.mm-top #main .header-inner { width:90%;gap:24px;height:85px }
body.mm-top #main .brand { flex-basis:220px;padding:12px }
body.mm-top #main .site-header nav { gap:16px;font-size:12px }
body.mm-top #main .site-header .header-contact { padding:12px }
body.mm-top #main .quick-inner { gap:14px }
body.mm-top #main .quick-inner .button { min-width:180px;padding:12px }
body.mm-top #main .section-pad { padding-block:85px }
body.mm-top #main .about { padding-block:80px }
body.mm-top #main .about-body { padding-top:25px }
body.mm-top #main .about .section-title { margin-bottom:20px!important }
body.mm-top #main .about .body-copy { font-size:15px }
body.mm-top #main .service-grid { gap:20px }
body.mm-top #main .service-card>div { padding:10px 12px 16px }
body.mm-top #main .service-card h4 { font-size:18px }
body.mm-top #main .service-card p { font-size:15px }
body.mm-top #main .strength-list strong { font-size:20px }
body.mm-top #main .strength-list { max-width:470px }
body.mm-top #main .faq { min-height:450px;padding-block:90px }
body.mm-top #main .phone-card { flex-wrap:wrap;gap:10px }
body.mm-top #main .phone-icon { font-size:38px }
body.mm-top #main .phone-card strong { font-size:28px }
body.mm-top #main .hours { font-size:13px }
body.mm-top #main .mail-card { font-size:18px }
body.mm-top #main .mail-card .envelope { font-size:48px }
body.mm-top #main .needs { gap:16px }
body.mm-top #main .needs li { font-size:13px }
body.mm-top #main .site-footer nav { gap:20px;font-size:12px }
body.mm-top #main .footer-actions .button { font-size:14px;min-width:160px }
body.mm-top #main .company-panel { padding-inline:11% }
}
@media(max-width:900px){html.mm-top-page { scroll-padding-top:85px }
body.mm-top #main .wrap { width:88% }
body.mm-top #main .site-header { position:sticky;top:0 }
body.mm-top #main .header-inner { height:75px }
body.mm-top #main .brand { flex-basis:195px;padding:10px 12px 13px }
body.mm-top #main .menu-toggle { display:flex;width:46px;height:45px;flex-direction:column;justify-content:center;gap:6px;background:transparent;border:1px solid #6ea71c;padding:9px }
body.mm-top #main .menu-toggle span { width:100%;height:2px;background:white }
body.mm-top #main .site-header nav { display:none;position:absolute;top:75px;left:0;right:0;background:#111;padding:20px 6%;font-size:16px;border-bottom:2px solid var(--green) }
body.mm-top #main .site-header nav.is-open { display:grid;grid-template-columns:1fr 1fr;gap:12px }
body.mm-top #main .site-header .header-contact { grid-column:1/-1;text-align:center }
body.mm-top #main .hero { aspect-ratio:auto;min-height:500px;background-position:56% center }
body.mm-top #main .hero-inner { width:88% }
body.mm-top #main .hero-en { font-size:22px }
body.mm-top #main .hero h1 { font-size:48px }
body.mm-top #main .hero-tag { font-size:20px }
body.mm-top #main .quick-inner { flex-wrap:wrap;justify-content:center }
body.mm-top #main .quick-inner p { width:100%;text-align:center;font-size:17px }
body.mm-top #main .quick-phone { font-size:32px }
body.mm-top #main .about { grid-template-columns:43% 1fr;gap:5%;padding-block:65px }
body.mm-top #main .about-photo { margin-top:40px }
body.mm-top #main .about-body { padding-right:8%;padding-bottom:35px }
body.mm-top #main .about h3 { font-size:28px }
body.mm-top #main .about .eyebrow { font-size:16px }
body.mm-top #main .about .section-title { font-size:44px }
body.mm-top #main .service-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:22px }
body.mm-top #main .section-title { font-size:56px }
body.mm-top #main .strength-list { max-width:460px }
body.mm-top #main .area { gap:20px;padding-block:65px }
body.mm-top #main .area h2 { font-size:25px }
body.mm-top #main .area-label { padding:10px 18px;font-size:13px }
body.mm-top #main .faq { padding-block:70px }
body.mm-top #main .faq-body { width:55% }
body.mm-top #main .news-grid { grid-template-columns:35% 1fr;gap:7% }
body.mm-top #main .news-items { padding-top:80px }
body.mm-top #main .needs { grid-template-columns:1fr 1fr }
body.mm-top #main .needs li { font-size:15px }
body.mm-top #main .contact-actions { grid-template-columns:1fr }
body.mm-top #main .phone-card,
body.mm-top #main .mail-card { min-height:125px }
body.mm-top #main .phone-card strong { font-size:36px }
body.mm-top #main .phone-card .hours { font-size:15px;margin-left:10px }
body.mm-top #main .mail-card { font-size:22px }
body.mm-top #main .company-panel { width:88%;padding:50px 7% }
body.mm-top #main .company th,
body.mm-top #main .company td { padding:18px 15px }
body.mm-top #main .footer-top { gap:25px }
body.mm-top #main .footer-right { padding-top:35px }
body.mm-top #main .site-footer nav { display:grid;grid-template-columns:repeat(3,1fr);gap:18px }
body.mm-top #main .footer-actions { flex-wrap:wrap;margin-top:25px }
body.mm-top #main .footer-actions .button { min-width:150px }
body.mm-top #main .footer-actions small { display:none }
}
@media(max-width:600px){body.mm-top #main .section-pad { padding-block:65px }
body.mm-top #main .section-title { font-size:44px;margin-bottom:24px!important }
body.mm-top #main .eyebrow { font-size:18px }
body.mm-top #main .section-intro br { display:none }
body.mm-top #main .hero { min-height:610px;align-items:flex-start;position:relative;background-position:59% bottom;background-size:auto 100%;isolation:isolate }
body.mm-top #main .hero:after { content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#000a,#0003 80%) }
body.mm-top #main .hero-inner { padding-top:88px;width:88% }
body.mm-top #main .hero-en { font-size:clamp(16px,4.4vw,22px);white-space:nowrap;margin-bottom:22px!important }
body.mm-top #main .hero h1 { font-size:clamp(38px,10.3vw,56px);line-height:1.6 }
body.mm-top #main .hero-tag { font-size:clamp(14px,3.65vw,19px);margin-top:24px!important;white-space:nowrap }
body.mm-top #main .quick-contact { padding-block:25px }
body.mm-top #main .quick-inner { gap:18px }
body.mm-top #main .quick-inner p { font-size:16px;line-height:1.5 }
body.mm-top #main .quick-phone { font-size:34px }
body.mm-top #main .quick-inner .button { width:100% }
body.mm-top #main .about { display:flex;flex-direction:column;padding:60px 0 }
body.mm-top #main .about-photo { width:88%!important;margin-top:0 }
body.mm-top #main .about-body { width:88%;margin:30px auto 0;padding:0 0 28px }
body.mm-top #main .about-body:before { left:-7%;right:-7%;top:40px }
body.mm-top #main .about .section-title { font-size:48px }
body.mm-top #main .about h3 { font-size:30px;line-height:1.45 }
body.mm-top #main .about .body-copy { font-size:16px }
body.mm-top #main .service-grid { grid-template-columns:1fr;gap:25px;margin-top:32px }
body.mm-top #main .service-card { border-width:3px }
body.mm-top #main .service-card>div { padding:14px 19px 22px }
body.mm-top #main .service-card h4 { font-size:22px }
body.mm-top #main .service-card p { font-size:16px;line-height:1.6 }
body.mm-top #main .align-right { text-align:center;margin-top:32px }
body.mm-top #main .button { min-width:230px }
body.mm-top #main .strength .section-title { font-size:clamp(30px,8.8vw,44px);white-space:nowrap;letter-spacing:-.055em }
body.mm-top #main .strength .eyebrow { font-size:17px }
body.mm-top #main .strength .section-intro { text-align:left }
body.mm-top #main .strength-list { margin:45px auto 0;width:calc(100% - 24px);gap:20px }
body.mm-top #main .strength-list li { min-height:60px;padding-left:30px;padding-right:10px }
body.mm-top #main .strength-list span { font-size:42px;left:-16px;top:0 }
body.mm-top #main .strength-list strong { font-size:15px;letter-spacing:-.025em }
body.mm-top #main .area { display:flex;flex-direction:column;gap:30px;padding-block:55px }
body.mm-top #main .area h2 { font-size:24px;margin-bottom:22px!important }
body.mm-top #main .area img { max-width:400px }
body.mm-top #main .area-label { font-size:14px;margin-top:24px }
body.mm-top #main .faq { padding-block:65px;background-position:42% center;position:relative;isolation:isolate }
body.mm-top #main .faq:before { content:"";position:absolute;inset:0;background:#23430066;z-index:-1 }
body.mm-top #main .faq-body { width:100%;margin:0 }
body.mm-top #main .faq .button { margin-top:30px }
body.mm-top #main .faq-answers { padding:10px 18px }
body.mm-top #main .news-grid { display:block }
body.mm-top #main .news-items { padding-top:30px }
body.mm-top #main .instagram-section { padding:80px 6% }
body.mm-top #main .instagram-card { width:100%;min-height:238px;aspect-ratio:auto;padding:25px 20px;background-position:56% center }
body.mm-top #main .instagram-card h2 { font-size:17px }
body.mm-top #main .instagram-card p { font-size:15px }
body.mm-top #main .instagram-card .instagram-link { font-size:14px;margin-top:24px;padding:9px 14px }
body.mm-top #main .needs { gap:10px;margin-block:25px }
body.mm-top #main .needs li { font-size:12px;text-align:left;gap:7px;padding:13px 7px }
body.mm-top #main .needs li:before { width:20px;height:20px;font-size:26px }
body.mm-top #main .contact-actions { margin-top:32px;gap:20px }
body.mm-top #main .phone-card { gap:7px;padding:20px 10px;justify-content:center }
body.mm-top #main .phone-card strong { font-size:27px }
body.mm-top #main .phone-card small { font-size:11px }
body.mm-top #main .phone-icon { font-size:35px }
body.mm-top #main .phone-card .hours { font-size:13px;margin:8px 0 0 }
body.mm-top #main .phone-card .hours br:first-child { display:none }
body.mm-top #main .phone-card .hours { width:100%;border:0;text-align:center }
body.mm-top #main .phone-card .hours br { display:none }
body.mm-top #main .mail-card { padding:22px 12px;font-size:18px;gap:17px }
body.mm-top #main .mail-card .envelope { font-size:43px }
body.mm-top #main .mail-card small { font-size:12px }
body.mm-top #main .company-panel { width:90%;padding:35px 5% 40px }
body.mm-top #main .company .section-title { font-size:42px }
body.mm-top #main .company-content { margin-top:26px }
body.mm-top #main .company table { font-size:14px;margin-top:18px }
body.mm-top #main .company th { width:27%;padding:15px 9px;white-space:nowrap }
body.mm-top #main .company td { padding:15px 10px;overflow-wrap:anywhere }
body.mm-top #main .footer-top { display:block }
body.mm-top #main .site-footer .brand { width:195px }
body.mm-top #main .footer-right { padding-top:30px }
body.mm-top #main .site-footer nav { justify-content:start;grid-template-columns:repeat(3,1fr);font-size:13px;gap:20px 12px }
body.mm-top #main .footer-actions { justify-content:flex-start }
body.mm-top #main .footer-actions .button { font-size:13px;padding:12px;min-width:0;flex:1;white-space:nowrap }
body.mm-top #main .copyright { font-size:12px;margin-top:32px!important }
}
@media(prefers-reduced-motion:reduce){html.mm-top-page { scroll-behavior:auto }
body.mm-top #main * { transition:none!important }
}
body.mm-top #main { overflow-x:clip }

@media(max-width:600px){body.mm-top #main .quick-phone { font-size:clamp(26px,8.4vw,34px) }
}
html.mm-top-page { overflow-x:clip }

body.mm-top #main .service:before { background:linear-gradient(#fffc,#fffb),url(../assets/mimura/service-photo.webp) center/cover }

body.mm-top #main .faq { background-color:#507c00;background-image:url(../assets/mimura/faq-photo.webp);background-blend-mode:multiply }

body.mm-top #main .instagram-card { position:relative;isolation:isolate;background:none;overflow:hidden }

body.mm-top #main .instagram-card:before { content:"";position:absolute;inset:0;background:url(../assets/mimura/instagram-photo.webp) center/cover;filter:grayscale(1);z-index:-2 }

body.mm-top #main .instagram-card:after { content:"";position:absolute;inset:0;background:linear-gradient(114deg,#204500d9 0%,#356a00cc 62%,transparent 62%);z-index:-1 }

/* TCD native builder: all design rules stay in this single stylesheet. */
body.mm-top #main #index_content_builder { margin:0;padding:0;width:100% }

body.mm-top #main .cb_free_space { width:100%;margin:0;padding:0 }

body.mm-top #main .cb_free_space>.cb_headline { display:none }

body.mm-top #main .cb_free_space>.post_content { margin:0;padding:0;max-width:none;opacity:1;transform:none }

body.mm-top #main .cb_free_space>.post_content>p:empty { display:none }

body.mm-top #main .cb_blog_list { background:linear-gradient(125deg,#343434 25%,#111);color:white;display:grid;grid-template-columns:36% 1fr;column-gap:6%;padding:110px max(8.33%,calc((100% - 1200px)/2));position:relative }

body.mm-top #main .cb_blog_list>.cb_headline { grid-column:1;grid-row:1;align-self:start;line-height:1.2 }

body.mm-top #main .cb_blog_list>.cb_headline .headline { display:block;font-family:Arial,sans-serif;font-size:clamp(40px,5.8vw,84px);font-weight:800;letter-spacing:-.035em;margin-bottom:28px }

body.mm-top #main .cb_blog_list .sub_headline { display:block;font-size:24px;font-weight:800;margin-bottom:15px;line-height:1.55 }

body.mm-top #main .cb_blog_list>.cb_desc { grid-column:1;grid-row:2;align-self:start;line-height:1.55 }

body.mm-top #main .cb_blog_list>.blog_list,
body.mm-top #main .cb_blog_list>.news-empty { grid-column:2;grid-row:1 / span 3;margin-top:105px }

body.mm-top #main .cb_blog_list .item { padding:14px 0 18px;border-bottom:1px solid #aaa }

body.mm-top #main .cb_blog_list .image_link,
body.mm-top #main .cb_blog_list .item .desc { display:none }

body.mm-top #main .cb_blog_list .meta { display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:16px;list-style:none;padding:0;margin:0 0 12px;font-size:14px }

body.mm-top #main .cb_blog_list .meta .category { background:var(--green);padding:2px 12px }

body.mm-top #main .cb_blog_list .title { font-size:18px;font-weight:500;line-height:1.6 }

body.mm-top #main .cb_blog_list .title a:hover { text-decoration:underline }

body.mm-top #main .cb_blog_list>.design_button { grid-column:2;text-align:right;margin-top:30px }

body.mm-top #main .cb_blog_list>.design_button a { display:inline-block;padding:15px 30px;background:linear-gradient(#69a80a,#327900);border:1px solid white }

@media(max-width:1200px){body.mm-top #main .cb_blog_list { padding-block:85px }
}
@media(max-width:900px){body.mm-top #main .cb_blog_list { padding-inline:6% }
body.mm-top #main .cb_blog_list>.cb_headline .headline { font-size:56px }
}
@media(max-width:600px){body.mm-top #main .cb_blog_list { display:block;padding:65px 6% }
body.mm-top #main .cb_blog_list>.cb_headline .headline { font-size:44px;margin-bottom:24px }
body.mm-top #main .cb_blog_list .sub_headline { font-size:18px }
body.mm-top #main .cb_blog_list>.blog_list,
body.mm-top #main .cb_blog_list>.news-empty { margin-top:30px }
body.mm-top #main .cb_blog_list .title { font-size:16px }
}
body.mm-top #main #footer { display: none; }

/* Existing theme resets are neutralized only inside TOP content. */
body.mm-top #main .post_content { font:inherit; line-height:inherit; }
body.mm-top #main .post_content p { margin:0; padding:0; }
body.mm-top #main .post_content a { text-decoration:none; }
body.mm-top #main .post_content img { max-width:100%; height:auto; vertical-align:middle; }
body.mm-top #main .needs { list-style:none; padding:0; }
body.mm-top #main .needs li { margin:0; }
body.mm-top #main .mm-detail { margin-top:32px; text-align:center; }
body.mm-top #main .company-content .mm-detail { grid-column:1/-1; }
body.mm-top #main .news-archive { grid-column:2; justify-self:end; margin-top:24px; }
body.mm-top #main .silver { color:#bfc1c2; background:linear-gradient(115deg,#b7b9ba,#e0e1e1,#b7b9ba); background-clip:text; -webkit-background-clip:text; }
@media(max-width:600px){body.mm-top #main .news-archive{display:flex;margin-top:24px;} body.mm-top #main .mm-detail .button{font-size:14px;min-width:0;}}
