/* ===== モバイル レイアウト ===== */
body{background:#e9e4ef;}
.phone{max-width:430px;margin:0 auto;background:var(--cream);min-height:100vh;position:relative;box-shadow:0 0 40px rgba(80,68,110,.14);padding-bottom:76px;overflow:hidden;}
.mwrap{padding:0 16px;}

/* utility + header */
.m-util{font-size:11px;color:var(--ink-soft);padding:6px 16px;background:#fbf9f6;border-bottom:1px solid var(--line);letter-spacing:.01em;}
.m-hd{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;padding:10px 14px;}
.m-brand{font-family:var(--mincho);font-weight:700;font-size:17px;color:#3f3a4c;white-space:nowrap;}
.m-hd .sp{margin-left:auto;}
.m-call{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(180deg,#9c8eb9,#8979a6);color:#fff;border-radius:10px;padding:9px 13px;font-size:13px;font-weight:700;box-shadow:0 4px 10px rgba(120,104,156,.3);white-space:nowrap;}
.m-brand{font-family:var(--mincho);font-weight:700;font-size:16px;color:#3f3a4c;white-space:nowrap;}
.m-call svg{width:15px;height:15px;}
.m-burger{display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:none;color:#4d4660;padding:4px 2px;}
.m-burger .bars{width:24px;height:16px;position:relative;}
.m-burger .bars span{position:absolute;left:0;width:24px;height:2px;background:#5a5170;border-radius:2px;transition:.25s;}
.m-burger .bars span:nth-child(1){top:0;}
.m-burger .bars span:nth-child(2){top:7px;}
.m-burger .bars span:nth-child(3){top:14px;}
.m-burger.on .bars span:nth-child(1){top:7px;transform:rotate(45deg);}
.m-burger.on .bars span:nth-child(2){opacity:0;}
.m-burger.on .bars span:nth-child(3){top:7px;transform:rotate(-45deg);}
.m-burger small{font-size:9px;letter-spacing:.05em;color:#6a6280;}

/* drawer */
.overlay{position:fixed;inset:0;background:rgba(60,50,80,.4);opacity:0;pointer-events:none;transition:opacity .25s;z-index:60;}
.overlay.show{opacity:1;pointer-events:auto;}
.drawer{position:fixed;top:0;right:0;height:100%;width:80%;max-width:320px;background:var(--cream-2);z-index:61;transform:translateX(100%);transition:transform .28s ease;box-shadow:-8px 0 30px rgba(60,50,80,.2);overflow-y:auto;}
.drawer.open{transform:none;}
.drawer .dh{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--line);}
.drawer .dh b{font-family:var(--mincho);color:#4d4660;font-size:16px;}
.drawer .dh .x{background:none;border:none;color:#6a6280;font-size:22px;line-height:1;}
.drawer nav{display:flex;flex-direction:column;padding:6px 0;}
.drawer nav a{padding:14px 18px;font-size:15px;color:#4d4660;border-bottom:1px solid #efeaf2;display:flex;justify-content:space-between;align-items:center;}
.drawer nav a svg{width:14px;height:14px;color:var(--p-300);}
.drawer .dcall{margin:16px;padding:14px;background:#efeaf4;border-radius:12px;text-align:center;}
.drawer .dcall .n{font-family:var(--mincho);font-weight:700;font-size:24px;color:#5a4f74;}
.drawer .dcall .s{font-size:11px;color:var(--ink-soft);}

/* bottom fixed CTA */
.m-bottom{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:430px;display:grid;grid-template-columns:1fr 1fr;z-index:55;box-shadow:0 -4px 16px rgba(80,68,110,.18);}
.m-bottom a{display:flex;align-items:center;gap:9px;padding:11px 12px;font-size:12px;line-height:1.3;}
.m-bottom .tel{background:linear-gradient(180deg,#8c7daa,#76679a);color:#fff;}
.m-bottom .form{background:linear-gradient(180deg,#c9bfa3,#b7ac8c);color:#fff;}
.m-bottom .ic{width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;flex:none;}
.m-bottom .ic svg{width:15px;height:15px;}
.m-bottom b{font-family:var(--mincho);font-weight:700;font-size:15px;display:block;}
.m-bottom span{font-size:10px;opacity:.95;}

/* mobile footer */
.m-ft{background:#fbf9f6;border-top:1px solid var(--line);padding:18px 16px 22px;}
.m-ft nav{display:flex;flex-wrap:wrap;gap:8px 14px;justify-content:center;font-size:12px;color:#574f66;margin-bottom:12px;}
.m-ft .cp{text-align:center;font-size:11px;color:var(--ink-faint);}

/* shared mobile blocks */
.m-h{font-family:var(--mincho);font-weight:700;color:#4b4459;text-align:center;font-size:20px;display:flex;align-items:center;justify-content:center;gap:10px;}
.m-h .paw{color:var(--p-400);}
.m-card{background:var(--paper);border:1px solid #eee7f1;border-radius:14px;box-shadow:var(--shadow-sm);}
.m-btn{display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(180deg,#9c8eb9,#8979a6);color:#fff;border-radius:12px;font-weight:700;padding:15px;font-size:16px;box-shadow:0 6px 14px rgba(120,104,156,.3);}
.m-btn svg{width:18px;height:18px;}
.m-section{padding:26px 0;}
.m-tint{background:linear-gradient(180deg,#f1ecf4,#f6f1ec);}
