/* Approved marketing design. Shared application components remain independent. */
body.mm-ui.site-design { --mm-navy:#064b35; --mm-green:#064b35; --mm-text:#1f2622; --mm-text-sub:#5c635d; --mm-bg:#f6f5f0; --mm-line:#e5e2da; --mm-card:#fff; --brand-lime:#d6fa71; color:var(--mm-text); background:#fcfbf8; } /* 11/1 宮本さん採用案の色（深緑・黄緑・生成りの白）に全体を合わせた */
body.mm-ui.site-design .wrap { max-width:1240px; padding-inline:32px; }
body.mm-ui.site-design h1 { font-size:clamp(32px,4vw,54px); line-height:1.45; letter-spacing:-.035em; }
body.mm-ui.site-design h2 { font-size:clamp(25px,2.5vw,34px); line-height:1.5; letter-spacing:-.025em; max-width:none; }
body.mm-ui.site-design h3 { line-height:1.6; font-size:21px; }
body.mm-ui.site-design p { line-height:1.9; }
body.mm-ui.site-design .small,body.mm-ui.site-design small { font-size:14px; }
body.mm-ui.site-design .draftbar { padding:8px 0; background:#fff8de; border:0; color:#65572c; font-size:12px; }
body.mm-ui.site-design .top { background:#fff; border-bottom:1px solid var(--mm-line); }
body.mm-ui.site-design .top .wrap { flex-wrap:nowrap; min-height:88px; padding-block:16px; gap:24px; }
body.mm-ui.site-design .brand { padding:0; background:transparent; border-radius:0; margin-right:auto; }
body.mm-ui.site-design .brand img { width:184px; }
body.mm-ui.site-design .gnav { margin:0; gap:22px; align-items:center; }
body.mm-ui.site-design .gnav a { min-height:44px; padding:12px 0; border:0; color:var(--mm-text); background:transparent; font-size:14px; font-weight:600; white-space:nowrap; text-decoration:none; }
body.mm-ui.site-design .gnav a[aria-current=page] { box-shadow:inset 0 -2px var(--mm-navy); border-radius:0; }
body.mm-ui.site-design .gnav .cta-s { padding:14px 22px; background:var(--mm-green); color:#fff; border-radius:7px; }
body.mm-ui.site-design .menubtn { background:transparent; border:1px solid var(--mm-line); color:var(--mm-navy); padding:8px 12px; font-size:13px; gap:8px; }
body.mm-ui.site-design .menubtn::before { content:''; width:20px; height:14px; border-block:2px solid currentColor; background:linear-gradient(currentColor,currentColor) center/100% 2px no-repeat; }
body.mm-ui.site-design .menubtn[aria-expanded=true]::before { border:0; background:linear-gradient(45deg,transparent 45%,currentColor 46%,currentColor 54%,transparent 55%),linear-gradient(-45deg,transparent 45%,currentColor 46%,currentColor 54%,transparent 55%); height:20px; }
body.mm-ui.site-design .btn,body.mm-ui.site-design .inl-btn { min-height:50px; border:1px solid #064b35; padding:13px 24px; border-radius:7px; background:#fff; color:var(--mm-navy); box-shadow:none; font-weight:700; text-decoration:none; }
body.mm-ui.site-design .btn.primary,body.mm-ui.site-design .inl-btn { border-color:var(--mm-green); background:var(--mm-green); color:#fff; }
body.mm-ui.site-design :is(.btn,.cta-s,.inl-btn):hover { filter:brightness(.97); }
body.mm-ui.site-design .btns { gap:12px; margin-top:24px; }
body.mm-ui.site-design .hero { background:#fff; padding:54px 0 28px; border:0; }
body.mm-ui.site-design.site-home .hero > .wrap { display:grid; grid-template-columns:.95fr 1.05fr; align-items:center; gap:44px; }
body.mm-ui.site-design .hero .hero-copy { padding:0; }
body.mm-ui.site-design .hero .lead { margin:22px 0; color:var(--mm-text-sub); font-size:17px; }
body.mm-ui.site-design .hero .need { font-size:13px; padding:0; border:0; background:none; margin-top:20px; }
body.mm-ui.site-design .pricechip { padding:0; border:0; box-shadow:none; background:none; display:flex; flex-wrap:wrap; column-gap:8px; row-gap:0; align-items:baseline; margin:28px 0 0; }
body.mm-ui.site-design .pricechip > span:first-child { flex-basis:100%; color:var(--mm-text-sub); font-size:16px; }
body.mm-ui.site-design .pricechip b { font-size:52px; line-height:1.35; color:var(--mm-navy); }
body.mm-ui.site-design .pricechip .tx { font-size:17px; color:var(--mm-navy); }
body.mm-ui.site-design .pricechip .sub { flex-basis:100%; font-size:15px; color:var(--mm-text-sub); }
body.mm-ui.site-design .hero-visual { min-width:0; }
body.mm-ui.site-design .photo { margin:0; padding:0; border:0; background:transparent; overflow:visible; box-shadow:none; }
body.mm-ui.site-design .photo img { width:100%; border-radius:12px; object-fit:cover; }
body.mm-ui.site-design .hero-visual .photo img { aspect-ratio:1.03; object-position:center; }
body.mm-ui.site-design .photo figcaption { background:none; padding:9px 0 0; color:var(--mm-navy); font-size:14px; }
body.mm-ui.site-design .image-note { color:var(--mm-text-sub); font-size:12px; line-height:1.7; margin:9px 0 0; }
body.mm-ui.site-design .h-note { padding:0; margin:0; }
body.mm-ui.site-design .h-board { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); max-width:1240px; margin:0 auto; gap:20px; padding:0 32px 58px; background:#fff; border:0; }
body.mm-ui.site-design .h-board .photo img { aspect-ratio:1.65; }
body.mm-ui.site-design .h-board figcaption { display:flex; gap:8px; }
body.mm-ui.site-design .sec { padding:64px 0; border:0; }
body.mm-ui.site-design .sec.alt { background:#f6f5f0; }
body.mm-ui.site-design .sec .intro { max-width:52em; color:var(--mm-text-sub); margin-bottom:28px; }
body.mm-ui.site-design .pagehead { padding:38px 0 36px; background:#fff; border:0; }
body.mm-ui.site-design .pagehead h1 { margin:22px 0 16px; }
body.mm-ui.site-design .pagehead p { color:var(--mm-text-sub); max-width:56em; }
body.mm-ui.site-design .crumb { color:var(--mm-text-sub); font-size:13px; }
body.mm-ui.site-design .toc { margin-top:28px; background:#f6f5f0; border:1px solid #e5e2da; border-radius:10px; padding:16px 20px; }
body.mm-ui.site-design .toc ul { display:flex; flex-wrap:wrap; gap:8px 24px; list-style:none; padding:0; margin:0; }
body.mm-ui.site-design .toc li { margin:0; }
body.mm-ui.site-design .toc a { min-height:44px; padding:8px 0; background:none; border:0; border-radius:0; font-size:14px; text-decoration:none; text-align:left; }
body.mm-ui.site-design .toc a:hover { text-decoration:underline; }
body.mm-ui.site-design .grid { gap:24px; }
body.mm-ui.site-design .card { border:1px solid #e5e2da; background:#fff; border-radius:12px; padding:28px; box-shadow:none; }
body.mm-ui.site-design .ico { width:42px; height:42px; margin-bottom:20px; }
body.mm-ui.site-design .split { gap:48px; align-items:center; margin-top:36px; }
body.mm-ui.site-design .split:first-child { margin-top:0; }
body.mm-ui.site-design .split + .split { margin-top:64px; }
body.mm-ui.site-design .fig { border:0; border-radius:12px; padding:20px; background:#f6f5f0; margin:0; }
body.mm-ui.site-design .fig img { border-radius:8px; }
body.mm-ui.site-design .fig figcaption { font-size:12px; color:var(--mm-text-sub); padding-top:12px; }
body.mm-ui.site-design .fig-viewport { display:block; max-width:100%; overflow:auto; }
body.mm-ui.site-design .photo-fig { background:transparent; padding:0; }
body.mm-ui.site-design .need { background:#f6f5f0; border:0; border-left:3px solid #c3e35c; border-radius:6px; padding:18px 22px; font-size:14px; color:#4b524c; }
body.mm-ui.site-design .price { background:#f6f5f0; padding:32px 36px; border:1px solid #e5e2da; border-radius:12px; box-shadow:none; color:var(--mm-navy); }
body.mm-ui.site-design .price .num { font-size:60px; line-height:1.3; color:var(--mm-navy); }
body.mm-ui.site-design .price .num small { font-size:20px; }
body.mm-ui.site-design .price .tax { font-size:16px; }
body.mm-ui.site-design .pricing-lead { display:grid; grid-template-columns:.85fr 1.15fr; gap:28px; align-items:start; }
body.mm-ui.site-design .pricing-lead .price { position:sticky; top:24px; }
body.mm-ui.site-design .pricing-table { min-width:0; }
body.mm-ui.site-design .pricing-table h2 { margin:0 0 16px!important; font-size:24px; }
body.mm-ui.site-design .tablewrap { border:1px solid var(--mm-line); border-radius:10px; width:100%; max-width:100%!important; overflow:auto; }
body.mm-ui.site-design table { width:100%; border-collapse:collapse; background:#fff; }
body.mm-ui.site-design th,body.mm-ui.site-design td { padding:18px 20px; border:0; border-bottom:1px solid #e5e2da; vertical-align:top; line-height:1.8; }
body.mm-ui.site-design th { background:#f6f5f0; font-weight:600; }
body.mm-ui.site-design .num-table { white-space:nowrap; min-width:360px; }
body.mm-ui.site-design .num-table th,body.mm-ui.site-design .num-table td { padding:17px 16px; }
body.mm-ui.site-design .num-table th:first-child { width:auto; }
body.mm-ui.site-design .kv th { width:23%; min-width:120px; }
body.mm-ui.site-design .steps { counter-reset:journey; gap:18px; }
body.mm-ui.site-design .steps > li { border:1px solid #e5e2da; border-radius:10px; background:#fff; padding:26px 22px; counter-increment:journey; box-shadow:none; }
body.mm-ui.site-design .steps > li::before { content:counter(journey,decimal-leading-zero); width:36px; height:36px; display:grid; place-items:center; background:#eaf6cf; color:#064b35; border:0; border-radius:50%; font-size:14px; margin:0 0 18px; position:static; }
body.mm-ui.site-design .steps > li::after { display:none; }
body.mm-ui.site-design .steps h3 { font-size:18px; margin:0 0 12px; }
body.mm-ui.site-design .steps p { font-size:14px; }
body.mm-ui.site-design .steps.s5 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
body.mm-ui.site-design .steps.s5 li:nth-child(n+4) { grid-column:auto; }
body.mm-ui.site-design .faq details { border:1px solid #e5e2da; border-radius:8px; background:#fff; margin:10px 0; overflow:hidden; }
body.mm-ui.site-design .faq summary { padding:21px 52px 21px 24px; position:relative; color:var(--mm-navy); list-style:none; font-weight:600; line-height:1.65; font-size:16px; background:#fff; }
body.mm-ui.site-design .faq summary::-webkit-details-marker { display:none; }
body.mm-ui.site-design .faq summary::before { display:none; }
body.mm-ui.site-design .faq summary::after { content:'＋'; position:absolute; right:20px; top:20px; font-size:20px; color:#064b35; }
body.mm-ui.site-design .faq details[open] summary::after { content:'−'; }
body.mm-ui.site-design .faq details > div { padding:0 24px 24px; color:#4b524c; font-size:15px; }
body.mm-ui.site-design .faq-group { margin-top:36px; }
body.mm-ui.site-design.site-faq #faq > .wrap { display:grid; grid-template-columns:220px minmax(0,1fr); column-gap:40px; align-items:start; }
body.mm-ui.site-design.site-faq #q0 { grid-column:1/-1; }
body.mm-ui.site-design.site-faq #faq .toc { grid-column:1; grid-row:2/5; margin:0; position:sticky; top:24px; padding:12px 18px; }
body.mm-ui.site-design.site-faq #faq .toc ul { display:block; }
body.mm-ui.site-design.site-faq .faq-group { grid-column:2; margin:0 0 32px; }
body.mm-ui.site-design .endcta { max-width:1176px; margin:32px auto 0; padding:40px 24px; border:0; border-radius:12px; color:var(--mm-navy); background:#f1f7e3; text-align:center; }
body.mm-ui.site-design .endcta .wrap { padding:0; max-width:850px; }
body.mm-ui.site-design .endcta h2,body.mm-ui.site-design .endcta p { color:inherit; margin-inline:auto; }
body.mm-ui.site-design .endcta p { max-width:50em; font-size:14px; }
body.mm-ui.site-design .endcta .btns { justify-content:center; }
body.mm-ui.site-design .foot { margin-top:24px; padding:36px 0; background:#fff; color:var(--mm-text-sub); border-top:1px solid #e5e2da; }
body.mm-ui.site-design .foot .cols { display:grid; grid-template-columns:1fr 1.2fr; gap:24px; align-items:start; }
body.mm-ui.site-design .footbrand { display:block; }
body.mm-ui.site-design .footbrand img { width:164px; }
body.mm-ui.site-design .footbrand p { margin-top:14px; font-size:12px; }
body.mm-ui.site-design .foot ul { display:flex; flex-wrap:wrap; gap:8px 20px; justify-content:flex-end; padding:0; margin:0; list-style:none; }
body.mm-ui.site-design .foot a { min-height:36px; display:inline-flex; align-items:center; color:var(--mm-text-sub); font-size:13px; text-decoration:none; }
body.mm-ui.site-design .foot a:hover { text-decoration:underline; }
body.mm-ui.site-design .operation-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
body.mm-ui.site-design .operation-card { border:1px solid #e5e2da; border-radius:12px; overflow:hidden; background:#fff; }
body.mm-ui.site-design .operation-card img { aspect-ratio:1.65; width:100%; object-fit:cover; }
body.mm-ui.site-design .operation-card .copy { padding:26px; }
body.mm-ui.site-design .operation-card h3 { font-size:23px; }
body.mm-ui.site-design .operation-card p { font-size:15px; color:var(--mm-text-sub); }
body.mm-ui.site-design .section-link { margin:28px 0 0; text-align:center; }
body.mm-ui.site-design .operation-feature { display:grid; grid-template-columns:.85fr 1.15fr; gap:48px; align-items:start; }
body.mm-ui.site-design .operation-feature.reverse { grid-template-columns:1.15fr .85fr; }
body.mm-ui.site-design .operation-feature.reverse .operation-copy { order:2; }
body.mm-ui.site-design .operation-visual { min-width:0; }
body.mm-ui.site-design .operation-visual > img { width:100%; aspect-ratio:1.45; object-fit:cover; border-radius:12px; }
body.mm-ui.site-design .operation-kicker { color:#5c635d; font-weight:600; font-size:14px; letter-spacing:.04em; margin-bottom:12px; }
body.mm-ui.site-design .operation-points { list-style:none; padding:0; margin:28px 0; display:grid; gap:20px; }
body.mm-ui.site-design .operation-points li { display:flex; gap:18px; align-items:center; font-size:17px; font-weight:600; }
body.mm-ui.site-design .line-icon { width:32px; height:32px; stroke:currentColor; stroke-width:1.7; fill:none; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
body.mm-ui.site-design .operation-caption { text-align:center; font-size:12px; color:var(--mm-text-sub); margin-top:12px; }
body.mm-ui.site-design .demo { border:1px solid #e5e2da; border-radius:10px; box-shadow:0 4px 18px #1f262208; background:#fff; margin-top:18px; overflow:hidden; font-size:12px; }
body.mm-ui.site-design .demo-head { display:flex; align-items:center; justify-content:space-between; padding:13px 18px; border-bottom:1px solid #e5e2da; }
body.mm-ui.site-design .demo-head img { width:106px; height:auto; }
body.mm-ui.site-design .demo-body { display:grid; grid-template-columns:116px minmax(0,1fr); }
body.mm-ui.site-design .demo-menu { margin:0; padding:12px 10px; list-style:none; background:#f8f7f3; display:grid; align-content:start; gap:5px; }
body.mm-ui.site-design .demo-menu li { padding:8px; border-radius:4px; }
body.mm-ui.site-design .demo-menu .selected { background:#eaf6cf; font-weight:700; }
body.mm-ui.site-design .demo-main { padding:18px; min-width:0; }
body.mm-ui.site-design .demo-title { display:flex; justify-content:space-between; align-items:center; gap:10px; font-size:18px; font-weight:700; margin-bottom:20px; }
body.mm-ui.site-design .demo-add { background:var(--mm-navy); color:#fff; padding:8px 10px; font-size:11px; border-radius:4px; font-weight:500; white-space:nowrap; }
body.mm-ui.site-design .demo-tabs { display:flex; gap:25px; border-bottom:1px solid #e5e2da; padding-bottom:10px; margin-bottom:10px; font-size:11px; }
body.mm-ui.site-design .demo-tabs strong { position:relative; }
body.mm-ui.site-design .demo-tabs strong::after { content:''; position:absolute; left:0; right:0; bottom:-11px; border-bottom:2px solid var(--mm-navy); }
body.mm-ui.site-design .demo-row { display:flex; align-items:center; gap:12px; padding:9px 0; border-bottom:1px solid #efede7; }
body.mm-ui.site-design .demo-row img { width:72px; height:48px; object-fit:cover; border-radius:5px; }
body.mm-ui.site-design .demo-row span { flex:1; }
body.mm-ui.site-design .demo-mobile { width:270px; max-width:100%; border:6px solid #1f2622; border-radius:28px; margin:-40px 22px 0 auto; position:relative; }
body.mm-ui.site-design .demo-mobile .demo-body { display:block; }
body.mm-ui.site-design .demo-mobile .demo-main { padding:16px; }
body.mm-ui.site-design .demo-mobile .demo-head { padding:16px; }
body.mm-ui.site-design .demo-mobile .demo-head img { width:100px; }
body.mm-ui.site-design .demo-mobile .demo-row { gap:10px; }
body.mm-ui.site-design .demo-mobile .demo-row img { width:64px; height:60px; }
body.mm-ui.site-design .feature-intro { margin:0 auto; }
body.mm-ui.site-design .feature-intro .photo img { aspect-ratio:1.7; }
body.mm-ui.site-design .feature-intro .wrap { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
body.mm-ui.site-design .feature-intro h2 { font-size:20px; margin:14px 0 4px; }
body.mm-ui.site-design .legal { max-width:1000px; margin:auto; }
body.mm-ui.site-design .legal p,body.mm-ui.site-design .legal li { line-height:2; }
body.mm-ui.site-design .legal .sec { padding:30px 0; }
body.mm-ui.site-design .legal h2 { font-size:25px; border-bottom:1px solid #e5e2da; padding-bottom:14px; }
body.mm-ui.site-design .tbc,body.mm-ui.site-design .tbcbox { border-radius:5px; }
@media (max-width:1099px) {
 body.mm-ui.site-design .top .wrap { flex-wrap:wrap; gap:10px; }
 body.mm-ui.site-design .menubtn { display:inline-flex; align-items:center; }
 body.mm-ui.site-design .gnav { display:none; width:100%; flex-direction:column; align-items:stretch; padding:12px 0; }
 body.mm-ui.site-design .gnav.open { display:flex; }
 body.mm-ui.site-design .gnav a { padding:12px 16px; }
 body.mm-ui.site-design .brand { max-width:calc(100% - 110px); }
 body.mm-ui.site-design.site-home .hero > .wrap { gap:28px; }
 body.mm-ui.site-design .hero h1 { font-size:38px; }
 body.mm-ui.site-design .pricechip b { font-size:44px; }
}
@media (max-width:767px) {
 body.mm-ui.site-design .wrap { padding-inline:22px; }
 body.mm-ui.site-design .top .wrap { min-height:74px; padding-block:12px; }
 body.mm-ui.site-design .brand img { width:155px; }
 body.mm-ui.site-design .hero { padding:30px 0 26px; }
 body.mm-ui.site-design.site-home .hero > .wrap { display:flex; flex-direction:column; gap:24px; align-items:stretch; }
 body.mm-ui.site-design .hero h1 { font-size:34px; }
 body.mm-ui.site-design .hero .lead { font-size:15px; margin-block:18px; }
 body.mm-ui.site-design .hero-visual .photo img { aspect-ratio:1.15; }
 body.mm-ui.site-design .hero-visual { order:0; }
 body.mm-ui.site-design .h-board { grid-template-columns:1fr; padding:0 22px 36px; gap:24px; }
 body.mm-ui.site-design .h-board .photo img { aspect-ratio:1.8; }
 body.mm-ui.site-design .sec { padding:40px 0; }
 body.mm-ui.site-design .pagehead { padding:24px 0; }
 body.mm-ui.site-design .pagehead h1 { font-size:34px; margin:20px 0 12px; }
 body.mm-ui.site-design .toc { padding:12px 16px; margin-top:20px; }
 body.mm-ui.site-design .toc ul { gap:0 20px; }
 body.mm-ui.site-design .btns { flex-direction:column; align-items:stretch; }
 body.mm-ui.site-design .btn { width:100%; text-align:center; justify-content:center; }
 body.mm-ui.site-design .grid,body.mm-ui.site-design .split,body.mm-ui.site-design .pricing-lead,body.mm-ui.site-design .operation-cards,body.mm-ui.site-design .operation-feature,body.mm-ui.site-design .operation-feature.reverse,body.mm-ui.site-design .feature-intro .wrap { grid-template-columns:1fr; gap:24px; }
 body.mm-ui.site-design .split { display:grid; }
 body.mm-ui.site-design .split.rev > * { order:initial; }
 body.mm-ui.site-design .operation-feature.reverse .operation-copy { order:0; }
 body.mm-ui.site-design .operation-feature.reverse .operation-visual { order:1; }
 body.mm-ui.site-design .split + .split { margin-top:42px; }
 body.mm-ui.site-design .card,body.mm-ui.site-design .operation-card .copy { padding:22px; }
 body.mm-ui.site-design .fig { padding:10px; }
 body.mm-ui.site-design .price { padding:26px 22px; }
 body.mm-ui.site-design .price .num { font-size:48px; }
 body.mm-ui.site-design .price .num small { font-size:17px; }
 body.mm-ui.site-design .pricing-lead .price { position:static; }
 body.mm-ui.site-design .pricing-table h2 { font-size:23px; }
 body.mm-ui.site-design .num-table { min-width:0; font-size:13px; }
 body.mm-ui.site-design .num-table th,body.mm-ui.site-design .num-table td { padding:14px 8px; }
 body.mm-ui.site-design .kv th { width:28%; min-width:82px; }
 body.mm-ui.site-design th,body.mm-ui.site-design td { padding:15px 12px; font-size:14px; }
 body.mm-ui.site-design .steps,body.mm-ui.site-design .steps.s5 { grid-template-columns:1fr; }
 body.mm-ui.site-design .steps > li { padding:24px; }
 body.mm-ui.site-design .steps h3 { font-size:20px; }
 body.mm-ui.site-design.site-faq #faq > .wrap { display:block; }
 body.mm-ui.site-design.site-faq #faq .toc { position:static; margin-bottom:28px; }
 body.mm-ui.site-design.site-faq #faq .toc ul { display:flex; flex-wrap:wrap; gap:0 16px; }
 body.mm-ui.site-design .faq summary { padding:18px 44px 18px 18px; font-size:15px; }
 body.mm-ui.site-design .faq details > div { padding:0 18px 20px; }
 body.mm-ui.site-design .endcta { margin:24px 16px 0; padding:28px 20px; }
 body.mm-ui.site-design .foot { padding-block:28px; }
 body.mm-ui.site-design .foot .cols { grid-template-columns:1fr; gap:24px; }
 body.mm-ui.site-design .foot ul { justify-content:flex-start; gap:5px 18px; }
 body.mm-ui.site-design .demo-body { grid-template-columns:88px minmax(0,1fr); }
 body.mm-ui.site-design .demo-menu { padding:8px 4px; font-size:10px; }
 body.mm-ui.site-design .demo-main { padding:12px; }
 body.mm-ui.site-design .demo-title { font-size:16px; }
 body.mm-ui.site-design .demo-add { font-size:9px; padding:6px; }
 body.mm-ui.site-design .demo-row { gap:8px; font-size:10px; }
 body.mm-ui.site-design .demo-row img { width:50px; height:38px; }
 body.mm-ui.site-design .demo-mobile .demo-add { font-size:11px; }
 body.mm-ui.site-design .demo-mobile .demo-row { font-size:12px; }
 body.mm-ui.site-design .demo-mobile { margin:-32px auto 0; }
 body.mm-ui.site-design .operation-points li { font-size:16px; }
 body.mm-ui.site-design .need { padding:16px; font-size:13px; }
}
@media (prefers-reduced-motion:reduce) { body.mm-ui.site-design * { scroll-behavior:auto!important; transition:none!important; } }
@media print { body.mm-ui.site-design .top,body.mm-ui.site-design .draftbar,body.mm-ui.site-design .endcta { display:none; } body.mm-ui.site-design .sec { padding:20px 0; } body.mm-ui.site-design .operation-feature,body.mm-ui.site-design .pricing-lead { display:block; } body.mm-ui.site-design .price { position:static; } }

body.mm-ui.site-design .gnav { background:transparent; }
body.mm-ui.site-design .steps { list-style:none; }
body.mm-ui.site-design .steps > li::marker { content:""; }

body.mm-ui.site-design .hero > .wrap { padding-block:0; }
body.mm-ui.site-design .photo { display:block; min-height:0; text-align:left; }
body.mm-ui.site-design .hero-visual .photo img { object-position:80% center; }
@media(max-width:767px) {
 body.mm-ui.site-design.site-home .hero > .wrap { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; }
 body.mm-ui.site-design.site-home .hero .hero-copy { display:contents; }
 body.mm-ui.site-design.site-home .hero h1 { grid-row:2; font-size:30px; margin:0; text-wrap:wrap; }
 body.mm-ui.site-design.site-home .hero .lead { grid-row:3; margin:0; }
 body.mm-ui.site-design.site-home .hero .hero-visual { grid-row:6; }
 body.mm-ui.site-design.site-home .hero .pricechip { grid-row:4; padding:0; margin:0; }
 body.mm-ui.site-design.site-home .hero .btns { grid-row:5; margin:0; }
 body.mm-ui.site-design.site-home .hero .need { grid-row:7; margin:0; }
 body.mm-ui.site-design .operation-copy { display:contents; }
 body.mm-ui.site-design .operation-feature .operation-kicker { grid-row:1; margin:0; }
 body.mm-ui.site-design .operation-feature h2 { grid-row:2; margin:0; }
 body.mm-ui.site-design .operation-copy > p:not(.operation-kicker):not(.need) { grid-row:3; margin:0; }
 body.mm-ui.site-design .operation-feature .operation-visual { grid-row:4; order:initial; }
 body.mm-ui.site-design .operation-feature .operation-points { grid-row:5; margin:0; }
 body.mm-ui.site-design .operation-feature .need { grid-row:6; margin:0; }
}
@media(max-width:359px) {
 body.mm-ui.site-design .brand img { width:135px; }
 body.mm-ui.site-design .menubtn { padding:8px; font-size:12px; }
 body.mm-ui.site-design.site-home .hero h1 { font-size:28px; }
}

body.mm-ui.site-design .hero-line { display:block; }

@media(min-width:768px) { body.mm-ui.site-design .grid.g3 { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:767px) { body.mm-ui.site-design .grid.g3 { grid-template-columns:minmax(0,1fr); } }
body.mm-ui.site-design .steps > li { list-style:none; }
body.mm-ui.site-design .h-board .photo { grid-column:auto; }

/* トップ：見本（10/31 GPT のトップページ全体構成案）の並び */
body.mm-ui.site-design.site-home .operation-card .copy { padding:24px 24px 28px; }
body.mm-ui.site-design.site-home .operation-card h3 { margin:0 0 8px; }
body.mm-ui.site-design .section-link.with-note { display:flex; align-items:center; justify-content:center; gap:16px; flex-wrap:wrap; }
body.mm-ui.site-design .section-link.with-note .image-note { margin:0; }
body.mm-ui.site-design .home-points { padding:32px 0 0; }
body.mm-ui.site-design .point-band { display:grid; grid-template-columns:1fr 1fr; background:#f6f5f0; border-radius:12px; padding:32px; }
body.mm-ui.site-design .point { display:flex; gap:24px; align-items:flex-start; padding:0 32px; }
body.mm-ui.site-design .point + .point { border-left:1px solid var(--mm-line); }
body.mm-ui.site-design .point:first-child { padding-left:0; }
body.mm-ui.site-design .point h2 { font-size:18px; line-height:1.5; letter-spacing:0; margin:0 0 8px; }
body.mm-ui.site-design .point p { margin:0; font-size:14px; color:var(--mm-text-sub); line-height:1.8; }
body.mm-ui.site-design .point p.image-note { margin-top:4px; font-size:12px; }
body.mm-ui.site-design .line-icon.big { width:48px; height:48px; stroke-width:1.5; color:var(--mm-navy); }
body.mm-ui.site-design .home-price, body.mm-ui.site-design .home-steps, body.mm-ui.site-design .home-faq { padding:48px 0 0; }
body.mm-ui.site-design .home-price h2, body.mm-ui.site-design .home-steps h2, body.mm-ui.site-design .home-faq h2 { margin:0 0 16px; font-size:24px; }
body.mm-ui.site-design .price-row { display:grid; grid-template-columns:minmax(0,auto) minmax(0,1fr) auto; align-items:center; gap:24px; border:1px solid var(--mm-line); border-radius:12px; padding:24px 32px; }
body.mm-ui.site-design .price-row .num { font-size:56px; line-height:1.2; color:var(--mm-navy); font-weight:700; }
body.mm-ui.site-design .price-row .num small { font-size:20px; }
body.mm-ui.site-design .price-row .mute, body.mm-ui.site-design .price-row .tax { font-size:14px; color:var(--mm-text-sub); }
body.mm-ui.site-design .price-bring { border-left:1px solid var(--mm-line); padding-left:32px; }
body.mm-ui.site-design .bring-title { margin:0 0 20px; font-size:18px; font-weight:700; }
body.mm-ui.site-design .price-bring ul { display:flex; flex-wrap:wrap; gap:24px 32px; list-style:none; margin:0; padding:0; }
body.mm-ui.site-design .price-bring li { display:grid; justify-items:center; gap:12px; font-size:16px; font-weight:700; color:var(--mm-navy); }
body.mm-ui.site-design .price-bring .line-icon { width:96px; height:96px; stroke-width:1.3; }
body.mm-ui.site-design .price-note { margin:12px 0 0; font-size:12px; line-height:1.8; color:var(--mm-text-sub); }
body.mm-ui.site-design .step-row { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:24px; list-style:none; margin:0; padding:0; counter-reset:hs; }
body.mm-ui.site-design .step-row li { position:relative; counter-increment:hs; display:grid; justify-items:center; gap:8px; padding:16px 8px 20px; border:1px solid var(--mm-line); border-radius:10px; background:#fff; text-align:center; font-size:14px; font-weight:700; color:var(--mm-navy); }
body.mm-ui.site-design .step-row li::before { content:counter(hs,decimal-leading-zero); width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:#064b35; color:#fff; font-size:12px; }
body.mm-ui.site-design .step-row li + li::after { content:'›'; position:absolute; left:-17px; top:50%; transform:translateY(-50%); color:#9aa098; font-size:20px; font-weight:400; }
body.mm-ui.site-design .step-row .line-icon { width:36px; height:36px; }
body.mm-ui.site-design .section-link.split-link { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-top:16px; }
body.mm-ui.site-design .section-link.split-link .image-note { margin:0; }
body.mm-ui.site-design .home-faq details { margin:0; border-radius:0; border-width:1px 1px 0; }
body.mm-ui.site-design .home-faq details:first-of-type { border-radius:8px 8px 0 0; }
body.mm-ui.site-design .home-faq details:last-of-type { border-bottom-width:1px; border-radius:0 0 8px 8px; }
body.mm-ui.site-design .home-faq summary { padding:14px 52px 14px 16px; font-size:15px; }
body.mm-ui.site-design .home-faq summary::after { top:12px; }
body.mm-ui.site-design.site-home .endcta { margin-top:48px; padding:32px 24px; }
body.mm-ui.site-design.site-home .endcta h2 { margin:0; font-size:28px; }
@media (max-width:899px) {
  body.mm-ui.site-design .point-band { grid-template-columns:1fr; padding:24px; gap:24px; }
  body.mm-ui.site-design .point { padding:0; }
  body.mm-ui.site-design .point + .point { border-left:0; border-top:1px solid var(--mm-line); padding-top:24px; }
  body.mm-ui.site-design .price-row { grid-template-columns:1fr; gap:24px; padding:24px; }
  body.mm-ui.site-design .price-bring { border-left:0; padding-left:0; border-top:1px solid var(--mm-line); padding-top:24px; }
  body.mm-ui.site-design .price-row .btn { justify-self:stretch; text-align:center; }
  body.mm-ui.site-design .step-row { grid-template-columns:1fr; gap:8px; }
  body.mm-ui.site-design .step-row li { grid-template-columns:28px 36px 1fr; justify-items:start; align-items:center; text-align:left; gap:12px; padding:12px 16px; }
  body.mm-ui.site-design .step-row li + li::after { display:none; }
  body.mm-ui.site-design .section-link.split-link .btn { width:100%; text-align:center; }
}
/* 見本どおり：写真は枠なし・フッターのロゴは地なし・質問の＋印 */
body.mm-ui.site-design.site-home .hero .photo, body.mm-ui.site-design .h-board .photo:nth-child(n) { padding:0; border:0; background:transparent; border-radius:0; }
body.mm-ui.site-design .h-board figcaption { padding:8px 0 0; font-size:13px; font-weight:700; }
body.mm-ui.site-design .hero-visual .photo figcaption { padding-top:8px; }
body.mm-ui.site-design .footbrand { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
body.mm-ui.site-design .footbrand img { width:auto; height:28px; padding:0; background:none; border-radius:0; box-sizing:content-box; }
body.mm-ui.site-design .footbrand p { margin:0; }
body.mm-ui.site-design .faq summary::after { width:auto; height:auto; background:none; transform:none; top:50%; translate:0 -50%; }
body.mm-ui.site-design .home-faq .section-link { display:flex; justify-content:center; margin-top:24px; }
body.mm-ui.site-design .section-link { max-width:none; }
body.mm-ui.site-design .section-link .btn { padding-inline:24px; }
body.mm-ui.site-design .footbrand p { color:var(--mm-text-sub); font-size:13px; }
body.mm-ui.site-design .brand img { padding:0; background:none; height:auto; }
/* 操作・管理：役割のカードは絵を左に（見本） */
body.mm-ui.site-design .role-cards .card { display:grid; grid-template-columns:48px 1fr; column-gap:24px; align-items:start; padding:24px; }
body.mm-ui.site-design .role-cards .card .line-icon { width:44px; height:44px; grid-row:1 / span 2; color:var(--mm-navy); stroke-width:1.5; }
body.mm-ui.site-design .role-cards .card h3 { margin:0 0 4px; font-size:18px; }
body.mm-ui.site-design .role-cards .card p { margin:0; font-size:14px; color:var(--mm-text-sub); }
body.mm-ui.site-design .endcta h2 { margin:0; }
body.mm-ui.site-design .demo-row span:not([aria-hidden]) { min-width:0; flex:1; word-break:keep-all; overflow-wrap:anywhere; }
body.mm-ui.site-design .role-cards .card { background:#fff; }

/* 全ページを見本にそろえる（10/31）：選択中のメニューは下線だけ・カードは白地に細い線・番号は青い丸・申し込みの帯は短く */
body.mm-ui.site-design .top .gnav a[aria-current], body.mm-ui.site-design .top .gnav a:hover { background:transparent; border:0; outline:0; box-shadow:inset 0 -2px var(--mm-navy); border-radius:0; }
body.mm-ui.site-design .top .gnav .cta-s:hover { background:var(--brand-lime); box-shadow:none; border-radius:7px; }
body.mm-ui.site-design .card { background:#fff; border:1px solid var(--mm-line); border-radius:10px; }
body.mm-ui.site-design .card .ico, body.mm-ui.site-design .card > svg:first-child { color:var(--mm-navy); }
body.mm-ui.site-design .steps > li::before { background:#064b35; color:#fff; width:28px; height:28px; font-size:12px; }
body.mm-ui.site-design .steps > li { border-color:var(--mm-line); }
body.mm-ui.site-design .endcta { margin-top:48px; padding:32px 24px; }
body.mm-ui.site-design .endcta h2 { margin:0; font-size:28px; }
body.mm-ui.site-design .toc { background:#fff; border:1px solid var(--mm-line); }
body.mm-ui.site-design .fig { background:#f6f5f0; }
@media (max-width:899px) { body.mm-ui.site-design .endcta h2 { font-size:24px; } body.mm-ui.site-design .endcta .btns .btn { width:100%; text-align:center; } }
body.mm-ui.site-design .grid > .card:nth-child(n), body.mm-ui.site-design .faq-cards .card:nth-child(n) { background:#fff; }
body.mm-ui.site-design .endcta .cta-price { margin:8px auto 0; font-size:14px; color:var(--mm-text-sub); }

/* 使える機器（11/1 宮本さん「スマホ／タブレット追加」） */
body.mm-ui.site-design .home-devices { padding:64px 0 0; }
body.mm-ui.site-design .home-devices h2 { margin:0 0 8px; }
body.mm-ui.site-design .home-devices .lead { margin:0 0 24px; font-size:16px; color:var(--mm-text-sub); }
body.mm-ui.site-design .device-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; list-style:none; margin:0; padding:0; }
body.mm-ui.site-design .device-row li { background:#fff; border:1px solid var(--mm-line); border-radius:12px; padding:0; overflow:hidden; }
body.mm-ui.site-design .device-photo { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
body.mm-ui.site-design .device-copy { padding:20px 22px 24px; }
body.mm-ui.site-design .device-row h3 { margin:0 0 8px; font-size:21px; line-height:1.4; }
body.mm-ui.site-design .device-row p { margin:0; font-size:14px; line-height:1.8; color:var(--mm-text-sub); }
@media (max-width:760px) {
  body.mm-ui.site-design .home-devices { padding-top:48px; }
  body.mm-ui.site-design .device-row { grid-template-columns:1fr; gap:12px; }
  body.mm-ui.site-design .price-bring ul { flex-wrap:wrap; gap:24px; }
}

/* 改行の見直し（11/1）：文の途中・末尾1〜2字の落ちを防ぐ */
body.mm-ui.site-design p, body.mm-ui.site-design li { word-break:auto-phrase; text-wrap:pretty; }
@media (max-width:760px) { body.mm-ui.site-design br.pc-br { display:none; } }

/* 初期費用0円：サービスの特徴として、月額と分けて大きく示す。 */
body.mm-ui.site-design .zero { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:4px 16px; background:var(--brand-lime); color:var(--mm-navy); border:1px solid #c3e35c; border-radius:14px; padding:18px 24px; font-weight:700; text-align:center; }
body.mm-ui.site-design .zero-main { display:inline-flex; align-items:baseline; gap:12px; white-space:nowrap; }
body.mm-ui.site-design .zero-label { font-size:24px; }
body.mm-ui.site-design .zero b { font-size:88px; line-height:1; letter-spacing:-.04em; font-weight:800; color:var(--mm-navy); }
body.mm-ui.site-design .zero-currency { font-size:36px; margin-left:4px; letter-spacing:0; }
body.mm-ui.site-design .zero-end { font-size:18px; white-space:nowrap; }
body.mm-ui.site-design .zero-hero { margin:0 0 28px; }
body.mm-ui.site-design .zero-price { flex-direction:column; gap:6px; padding:16px 20px; margin:0 0 18px; }
body.mm-ui.site-design .zero-price .zero-label { font-size:18px; }
body.mm-ui.site-design .zero-price b { font-size:64px; }
body.mm-ui.site-design .zero-price .zero-currency { font-size:28px; }
body.mm-ui.site-design .zero-price .zero-end { font-size:15px; }
body.mm-ui.site-design .zero-inline { color:var(--mm-navy); font-size:1.15em; }

/* 追加した料金・機器の案内も、狭い幅で文と単位を分断しない。 */
body.mm-ui.site-design .top .gnav a { text-decoration:none; }
body.mm-ui.site-design h2, body.mm-ui.site-design h3 { text-wrap:balance; }
body.mm-ui.site-design .zero-inline { display:inline-block; white-space:nowrap; }
body.mm-ui.site-design .price-main { min-width:0; }
body.mm-ui.site-design .price-row .num { white-space:nowrap; }
body.mm-ui.site-design .device-row h3 { white-space:nowrap; }
@media (max-width:899px) {
  body.mm-ui.site-design .pricing-lead { grid-template-columns:minmax(0,1fr); gap:24px; }
  body.mm-ui.site-design .pricing-lead .price { position:static; }
}
@media (min-width:900px) and (max-width:1099px) {
  body.mm-ui.site-design .price-row { grid-template-columns:auto minmax(0,1fr); }
  body.mm-ui.site-design .price-row > .btn { grid-column:1 / -1; justify-self:end; }
}
@media (min-width:761px) and (max-width:1099px) {
  body.mm-ui.site-design .device-row { gap:16px; }
  body.mm-ui.site-design .device-copy { padding:18px; }
}
@media (max-width:767px) {
  body.mm-ui.site-design .point-band { padding:20px; }
  body.mm-ui.site-design .point { gap:16px; }
  body.mm-ui.site-design .point .line-icon.big { width:32px; height:32px; flex-shrink:0; }
  body.mm-ui.site-design .price-row { padding:20px; }
  body.mm-ui.site-design .price-bring ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 12px; }
  body.mm-ui.site-design .price-bring li { text-align:center; }
  body.mm-ui.site-design .role-cards .card { grid-template-columns:32px minmax(0,1fr); column-gap:16px; padding:20px; }
  body.mm-ui.site-design .role-cards .card .line-icon { width:32px; height:32px; }
  body.mm-ui.site-design .endcta .cta-price { max-width:34em; line-height:1.9; text-wrap:balance; }
}
@media (max-width:359px) {
  body.mm-ui.site-design .zero-hero { padding:14px 12px; }
  body.mm-ui.site-design .zero-hero b { font-size:76px; }
  body.mm-ui.site-design .price-row .num { font-size:46px; }
  body.mm-ui.site-design .price-row .num small { font-size:16px; }
}

@media (max-width:767px) {
  body.mm-ui.site-design.site-home .hero .zero-hero { grid-row:1; margin:0; padding:16px 20px; }
  body.mm-ui.site-design .zero-hero .zero-label { font-size:20px; }
  body.mm-ui.site-design .zero-hero b { font-size:80px; }
  body.mm-ui.site-design .zero-hero .zero-currency { font-size:32px; }
  body.mm-ui.site-design .zero-hero .zero-end { width:100%; font-size:17px; }
  body.mm-ui.site-design .device-copy { padding:20px; }
}
/* 11/1 宮本さん「アイコン4つをもっと大きく」：96px で4つを1列に。幅が足りない間はボタンを下の段へ */
@media (min-width:900px) {
  body.mm-ui.site-design .price-bring ul { flex-wrap:nowrap; }
}
@media (min-width:900px) and (max-width:1279px) {
  body.mm-ui.site-design .price-row { grid-template-columns:auto minmax(0,1fr); }
  body.mm-ui.site-design .price-row > .btn { grid-column:1 / -1; justify-self:end; }
}
/* 11/1 採用案の色に全体を合わせる：見出しは墨（緑は数字・ボタン・印だけ）。下の共通の CSS（site.css）に残る青い面を生成りに */
body.mm-ui.site-design :is(h1,h2,h3) { color:var(--mm-text); }
body.mm-ui.site-design .pagehead { background:var(--mm-bg); border-bottom-color:var(--mm-line); }
body.mm-ui.site-design .num-table tr:first-child { background:#eaf6cf; }
body.mm-ui.site-design .num-table tr:nth-child(n+2) th, body.mm-ui.site-design .kv th { background:var(--mm-bg); }
body.mm-ui.site-design .faq details[open] summary, body.mm-ui.site-design .toc a:hover { background:var(--mm-bg); }
body.mm-ui.site-design .btn:not(.primary):hover { background:var(--mm-bg); border-color:var(--mm-green); }
body.mm-ui.site-design .steps li::before { color:#fff; }
body.mm-ui.site-design .hero-visual .photo, body.mm-ui.site-design .h-board .photo:nth-child(n), body.mm-ui.site-design.site-home .hero .photo { background:var(--mm-bg); border-color:var(--mm-line); color:var(--mm-text); }
body.mm-ui.site-design .card, body.mm-ui.site-design .grid > .card:nth-child(n) { border-color:var(--mm-line); }
body.mm-ui.site-design .legal h2, body.mm-ui.site-design .legal-section { border-color:var(--mm-line); }
body.mm-ui.site-design .gnav .cta-s { border-color:var(--mm-green); }
