/* MISORA オリジナルパネル申込フォーム（テーマの影響を受けにくいよう、すべて .mpo の中だけに適用） */
.mpo{
  --sage:#88a99b;--sage-d:#5b7f70;--sage-l:#eef4f1;--sage-m:#d5e3dc;
  --ink:#2f3433;--mut:#737a78;--line:#e1e7e4;
  --warn:#b8742f;--warn-l:#fbf2e6;--err:#b8413a;--err-l:#fbeceb;--ok:#3b8a5e;--ok-l:#e8f4ed;
  max-width:720px;margin:0 auto;padding:8px 0 40px;text-align:left;
  font-family:"Noto Sans JP",system-ui,sans-serif;color:var(--ink);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased;
}
/* フォーム専用ページ（テーマのヘッダー・フッターなし） */
body.mpo-page{margin:0;background:#f6f7f6}
.mpo-page-main{padding:24px 16px 40px}
.mpo-page-main>p:empty{display:none}
.mpo *,.mpo *::before,.mpo *::after{box-sizing:border-box}
.mpo button{font:inherit;cursor:pointer;text-transform:none;letter-spacing:normal;box-shadow:none}
.mpo input{font:inherit;color:inherit;margin:0;box-shadow:none}
.mpo a{color:var(--sage-d);text-decoration:underline}
.mpo h2,.mpo h3,.mpo h4{line-height:1.4;margin:0;padding:0;border:0;background:none;color:inherit;font-family:inherit}
.mpo p{margin:0}
.mpo ul{list-style:disc}
.mpo img{max-width:100%;height:auto;border:0;box-shadow:none;border-radius:0}
.mpo table{border:0;margin:0;background:none}
.mpo th,.mpo td{border:0;background:none}

.mpo-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px}
.mpo-mt{margin-top:16px}
.mpo-sec-t{font-size:17px;font-weight:700;margin-bottom:6px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.mpo-sec-t small{font-weight:400;color:var(--mut);font-size:13px}
.mpo-req{font-style:normal;color:#fff;background:var(--err);font-size:10px;border-radius:3px;padding:0 5px;font-weight:500;line-height:1.7}
.mpo-num{width:26px;height:26px;border-radius:50%;background:var(--sage-d);color:#fff;display:grid;place-items:center;font-size:13px;flex:none}
.mpo-sec{padding-top:22px;margin-top:22px;border-top:1px solid var(--line)}
.mpo-sec:first-child{padding-top:0;margin-top:0;border-top:0}
.mpo .mpo-hint{font-size:13px;color:var(--mut);margin:0 0 10px}
.mpo-mut{color:var(--mut)}
.mpo-sm{font-size:13px}
.mpo-xs{font-size:12px}
.mpo-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.mpo-sp{flex:1}
.mpo-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}

.mpo .mpo-btn{border:0;border-radius:10px;padding:12px 20px;background:var(--sage-d);color:#fff;font-weight:700;font-size:15px;line-height:1.7}
.mpo .mpo-btn:disabled{background:#c5cfcb;cursor:not-allowed}
.mpo .mpo-btn.mpo-sub{background:#fff;color:var(--sage-d);border:1px solid var(--sage)}
.mpo-btns{display:flex;gap:10px;margin-top:20px}
.mpo-btns .mpo-btn{flex:1}

.mpo-alert{border-radius:10px;padding:12px 14px;font-size:14px;margin-bottom:12px}
.mpo-alert.mpo-err{background:var(--err-l);color:#7e2b26;border:1px solid #efc9c6}
.mpo-alert.mpo-ok{background:var(--ok-l);color:#245a3c;border:1px solid #c6e2d2}
.mpo-alert.mpo-info{background:var(--sage-l);color:#35584b;border:1px solid var(--sage-m)}
.mpo-alert ul{margin:4px 0 0;padding-left:1.3em}

/* 冒頭の案内 */
.mpo-hero{text-align:center;padding:4px 0 20px}
.mpo-hero .mpo-en{letter-spacing:.2em;font-size:13px;color:var(--mut)}
.mpo-hero h2{font-size:26px;letter-spacing:.14em;font-weight:500;margin:6px 0 10px;padding:10px 0;border-top:1px solid var(--sage);border-bottom:1px solid var(--sage);display:inline-block}
.mpo-hero .mpo-lead{font-size:14px;line-height:2;color:#555;margin:6px 0 0}
.mpo-bene{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}
.mpo-bene>div{background:#fff;border:1px solid var(--sage-m);border-radius:12px;overflow:hidden;text-align:center;padding:0 8px 12px;display:flex;flex-direction:column;align-items:center}
.mpo-bene .mpo-bt{display:block;align-self:stretch;margin:0 -8px 10px;background:var(--sage);color:#fff;font-size:13px;letter-spacing:.15em;padding:4px 0}
.mpo-bene .mpo-bt i{font-style:normal;font-size:20px;letter-spacing:0;margin-left:2px}
.mpo-bene b{display:block;font-size:14px;font-weight:500;line-height:1.6}
.mpo-bene svg{height:64px;width:auto;margin-top:auto;padding-top:10px}
.mpo-price{background:#fff;border:1px solid var(--sage-m);border-radius:12px;margin-top:10px;padding:12px 16px;display:flex;align-items:center;gap:8px 20px;flex-wrap:wrap;text-align:left}
.mpo-price .mpo-p b{font-size:26px;font-weight:700;letter-spacing:.02em}
.mpo-price dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:0 10px;font-size:13px;flex:1;min-width:240px}
.mpo-price dt{color:var(--mut);font-weight:400;margin:0}
.mpo-price dd{margin:0}

/* ステップ */
.mpo-stepbar{display:flex;margin:8px 0 18px;counter-reset:mpos}
.mpo-stepbar div{flex:1;text-align:center;font-size:12px;color:var(--mut);position:relative;padding-top:30px}
.mpo-stepbar div::before{counter-increment:mpos;content:counter(mpos);position:absolute;top:0;left:50%;transform:translateX(-50%);width:24px;height:24px;border-radius:50%;background:#dfe5e2;color:#fff;font-weight:700;line-height:24px;font-size:12px;z-index:1}
.mpo-stepbar div::after{content:"";position:absolute;top:11px;left:-50%;width:100%;height:2px;background:#dfe5e2}
.mpo-stepbar div:first-child::after{display:none}
.mpo-stepbar .mpo-on,.mpo-stepbar .mpo-done{color:var(--sage-d);font-weight:700}
.mpo-stepbar .mpo-on::before,.mpo-stepbar .mpo-done::before,.mpo-stepbar .mpo-on::after,.mpo-stepbar .mpo-done::after{background:var(--sage-d)}

/* アップロード */
.mpo-drop{display:block;border:2px dashed var(--sage);border-radius:12px;background:var(--sage-l);padding:18px 14px;text-align:center;cursor:pointer;transition:.15s;margin:0}
.mpo-drop.mpo-over{background:var(--sage-m);border-color:var(--sage-d)}
.mpo-drop b{display:block;color:var(--sage-d);font-size:15px}
.mpo-drop small{display:block;color:var(--mut);font-size:12px;margin-top:2px}
.mpo-drop input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.mpo-files{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;margin-top:10px}
.mpo-fitem{position:relative;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}
.mpo-fitem.mpo-ng{border-color:var(--err)}
.mpo-th{height:84px;display:grid;place-items:center;background:repeating-conic-gradient(#f1f3f2 0 25%,#fff 0 50%) 0 0/16px 16px}
.mpo-th img{max-width:100%;max-height:84px;object-fit:contain;display:block}
.mpo-th span{font-size:12px;font-weight:700;color:var(--sage-d);background:var(--sage-l);border-radius:6px;padding:6px 10px;letter-spacing:.05em}
.mpo-nm{font-size:11px;line-height:1.4;padding:5px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mpo-nm small{display:block;color:var(--mut);font-size:11px;white-space:normal}
.mpo-ng .mpo-nm small{color:var(--err)}
.mpo .mpo-rm{position:absolute;top:4px;right:4px;width:26px;height:26px;border-radius:50%;border:0;background:#2f3433cc;color:#fff;font-size:15px;line-height:1;display:grid;place-items:center;padding:0}
.mpo-up .mpo-th::after{content:"";width:22px;height:22px;border-radius:50%;border:3px solid #fff;border-top-color:var(--sage-d);animation:mpo-spin .8s linear infinite;position:absolute;box-shadow:0 0 0 1px #0001}
.mpo-up .mpo-th img,.mpo-up .mpo-th span{opacity:.4}
@keyframes mpo-spin{to{transform:rotate(360deg)}}

/* アロマ */
.mpo-plist{display:grid;gap:8px}
.mpo-arow{display:grid;grid-template-columns:56px 1fr 28px;gap:4px 12px;align-items:start;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;transition:.15s;cursor:pointer}
.mpo-arow.mpo-sel{border-color:var(--sage);background:var(--sage-l)}
.mpo-arow.mpo-off{opacity:.45;cursor:not-allowed}
.mpo-ph{width:56px;height:64px;display:grid;place-items:center;background:#f7f9f8;border-radius:8px;overflow:hidden}
.mpo-ph img{max-width:100%;max-height:60px;object-fit:contain}
.mpo-arow b{font-weight:500;display:block}
.mpo-arow small{color:#4d5553;font-size:12.5px;line-height:1.6;display:block}
.mpo-ck{width:26px;height:26px;border-radius:50%;border:2px solid #cfd8d4;background:#fff;display:grid;place-items:center;color:#fff;font-size:15px;font-weight:700;margin-top:4px}
.mpo-sel .mpo-ck{background:var(--sage-d);border-color:var(--sage-d)}
.mpo-use{grid-column:1/4;margin:6px 0 0;cursor:default;display:block}
.mpo-use span{display:block;font-size:13px;font-weight:500;margin-bottom:4px}
.mpo-count{font-size:13px;font-weight:700;color:var(--sage-d)}

/* 入力欄 */
.mpo-f{display:block;margin:0 0 12px}
.mpo-f>span{display:block;font-size:13px;font-weight:500;margin-bottom:4px}
.mpo-f>span .mpo-req{margin-left:6px;vertical-align:1px}
.mpo .mpo-f input,.mpo .mpo-use input{width:100%;height:auto;border:1px solid #cfd8d4;border-radius:8px;padding:10px 12px;background:#fff;font-size:16px;line-height:1.5}
.mpo .mpo-f input:focus,.mpo .mpo-use input:focus{outline:2px solid var(--sage-m);border-color:var(--sage)}
.mpo-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.mpo-chk{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}
.mpo .mpo-chk input{width:18px;height:18px;margin-top:3px;accent-color:var(--sage-d);flex:none}
.mpo-opt{display:block;border:2px solid var(--line);border-radius:12px;padding:14px 16px;cursor:pointer;background:#fff;margin:0 0 10px}
.mpo-opt.mpo-on{border-color:var(--sage-d);background:var(--sage-l)}
.mpo .mpo-opt input[type=radio]{accent-color:var(--sage-d);margin:0 8px 0 0;vertical-align:middle}
.mpo-opt b{font-size:16px;vertical-align:middle}
.mpo-opt ul{margin:6px 0 0;padding-left:1.4em;font-size:13px;color:var(--mut)}
.mpo .mpo-payic{height:34px;width:auto;vertical-align:middle;margin-right:8px;display:inline}
.mpo-cardbox{border:1px solid #cfd8d4;border-radius:8px;padding:12px 12px 4px;background:#fff;margin-top:10px;cursor:default}
.mpo-cardbox[hidden]{display:none}
.mpo-fake{border:1px dashed #cfd8d4;border-radius:6px;padding:9px 10px;color:#9aa3ac;font-size:14px;margin:6px 0 8px;background:#fbfcfd}
.mpo-bankbox{background:#fff;border:1px dashed var(--sage);border-radius:10px;padding:12px 14px;font-size:14px}
.mpo-sum{background:var(--sage-l);border-radius:10px;padding:14px 16px;margin-top:16px}
.mpo-sum table{width:100%;border-collapse:collapse;font-size:14px}
.mpo-sum td{padding:2px 0}
.mpo-sum td:last-child{text-align:right}
.mpo-sum .mpo-tot td{border-top:1px solid var(--sage-m);padding-top:6px;font-weight:700;font-size:16px}
.mpo-big{font-size:22px;font-weight:700}
.mpo-kv{width:100%;border-collapse:collapse;font-size:14px}
.mpo .mpo-kv th{text-align:left;font-weight:500;color:var(--mut);width:34%;padding:8px 8px 8px 0;vertical-align:top;border-bottom:1px solid var(--line)}
.mpo .mpo-kv td{padding:8px 0;border-bottom:1px solid var(--line);word-break:break-word}
.mpo-minis{display:flex;gap:6px;flex-wrap:wrap}
.mpo-minis img,.mpo-minis span{width:54px;height:54px;border:1px solid var(--line);border-radius:6px;object-fit:contain;background:#fff;display:grid;place-items:center;font-size:10px;font-weight:700;color:var(--sage-d)}
.mpo-legal h3{font-size:18px;margin-bottom:10px}
.mpo-legal h4{font-size:14px;margin:16px 0 4px;color:var(--sage-d)}
.mpo-legal p,.mpo-legal li{font-size:13.5px;margin:4px 0}
.mpo-legal ul{padding-left:1.3em;margin:0}
.mpo-foot{margin-top:18px;font-size:12px;color:var(--mut);display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center}
.mpo .mpo-foot button{background:none;border:0;padding:0;color:var(--sage-d);text-decoration:underline;font-size:12px}

.mpo-ov{position:fixed;inset:0;background:#0006;z-index:99990;display:grid;place-items:center;padding:16px}
.mpo-md{background:#fff;border-radius:14px;max-width:640px;width:100%;max-height:88vh;overflow:auto;padding:22px}
.mpo-busy{background:#fff;border-radius:14px;padding:22px 28px;text-align:center;font-weight:500}
.mpo-busy::before{content:"";display:block;width:30px;height:30px;margin:0 auto 10px;border-radius:50%;border:3px solid var(--sage-m);border-top-color:var(--sage-d);animation:mpo-spin .8s linear infinite}
.mpo-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#2f3433;color:#fff;padding:10px 18px;border-radius:10px;font-size:14px;z-index:99999;box-shadow:0 4px 16px #0003;max-width:calc(100% - 32px)}

/* スマホ：入力時に拡大されない16px、指で押しやすいボタン */
@media(max-width:640px){
  .mpo-grid2{grid-template-columns:1fr}
  .mpo-card{padding:16px 14px}
  .mpo .mpo-btn{padding:14px 16px}
  .mpo-btns{flex-direction:column-reverse}
  .mpo-opt{padding:12px}
  .mpo-stepbar div{font-size:11px}
  .mpo-arow{grid-template-columns:48px 1fr 28px;padding:10px}
  .mpo-ph{width:48px;height:58px}
  .mpo .mpo-kv th{width:36%;font-size:13px}
  .mpo-md{padding:18px 14px;max-height:92vh}
}
@media(max-width:520px){
  .mpo-hero h2{font-size:20px;letter-spacing:.08em}
  .mpo-hero .mpo-lead{font-size:13px;text-align:left}
  .mpo-hero .mpo-lead br{display:none}
  .mpo-bene{grid-template-columns:1fr}
  .mpo-bene>div{display:grid;grid-template-columns:1fr 64px;text-align:left;padding:0 12px 10px;column-gap:10px;align-items:center}
  .mpo-bene .mpo-bt{grid-column:1/3;margin:0 -12px 8px;text-align:center}
  .mpo-bene svg{height:52px;padding:0;margin:0}
}
