/* ベース */
html{scroll-behavior:smooth}
body{margin:0;background:#fff}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
#memolis-lp{

  font-family:var(--mlp-font-body);
  font-size:18px; line-height:1.9; color:var(--mlp-sumi);
  background:var(--mlp-shiro);
  overflow-x:hidden; -webkit-text-size-adjust:100%;
}
#memolis-lp *,#memolis-lp *::before,#memolis-lp *::after{box-sizing:border-box}
#memolis-lp h1,#memolis-lp h2,#memolis-lp h3,#memolis-lp p,#memolis-lp ul,#memolis-lp ol,#memolis-lp dl,#memolis-lp dd,#memolis-lp figure{margin:0;padding:0}
#memolis-lp ul,#memolis-lp ol{list-style:none}
#memolis-lp img{max-width:100%;height:auto;display:block;border:0;box-shadow:none}
#memolis-lp a{color:inherit}
#memolis-lp a:focus-visible,#memolis-lp button:focus-visible,#memolis-lp summary:focus-visible{outline:3px solid var(--mlp-ai);outline-offset:3px}

#memolis-lp .mlp-wrap{max-width:1080px;margin:0 auto;padding:0 24px}
#memolis-lp .mlp-sec{padding:96px 0}
#memolis-lp .mlp-sec--sora{background:var(--mlp-sora)}
#memolis-lp .mlp-h2{font-family:var(--mlp-font-head);font-weight:700;color:var(--mlp-ai-deep);font-size:clamp(28px,4.2vw,40px);line-height:1.5;letter-spacing:.04em;margin-bottom:24px}
#memolis-lp .mlp-lead{font-size:19px;max-width:38em;margin-bottom:48px}
#memolis-lp .mlp-note{font-size:15px;color:#55656E;line-height:1.7}

/* ---------- 画像の仮枠 ---------- */
#memolis-lp .mlp-img{position:relative;border-radius:14px;overflow:hidden;background:#CFE3EC}
#memolis-lp .mlp-img.is-empty{min-height:220px;background:repeating-linear-gradient(135deg,#D6E8F0 0 14px,#C8DEE8 14px 28px);display:flex;align-items:center;justify-content:center}
#memolis-lp .mlp-img.is-empty img{display:none}
#memolis-lp .mlp-img.is-empty.show-label::after{content:attr(data-label);font-size:15px;color:var(--mlp-ai);background:rgba(255,255,255,.85);padding:6px 14px;border-radius:99px}
#memolis-lp .mlp-img img{width:100%;height:100%;object-fit:cover}

/* ---------- ボタン ---------- */
#memolis-lp .mlp-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:64px;padding:14px 34px;border-radius:var(--mlp-btn-radius,999px);font-family:var(--mlp-font-body);font-weight:700;font-size:var(--mlp-btn-fs,20px);text-decoration:none;line-height:1.4;transition:transform .15s ease,box-shadow .15s ease}
#memolis-lp .mlp-btn--main{background:var(--mlp-yamabuki);color:var(--mlp-btn-main-color,#25333B);box-shadow:var(--mlp-btn-shadow,0 4px 0 #C98A14)}
#memolis-lp .mlp-btn--main:hover{transform:translateY(var(--mlp-btn-hover-y,2px));box-shadow:var(--mlp-btn-shadow-hover,0 2px 0 #C98A14)}
#memolis-lp .mlp-btn--sub{background:var(--mlp-btn-sub-bg,#fff);color:var(--mlp-btn-sub-color,#1F4A63);border:2px solid var(--mlp-btn-sub-border,#2F6585);box-shadow:var(--mlp-btn-sub-shadow,none)}
#memolis-lp .mlp-btn--sub:hover{box-shadow:var(--mlp-btn-sub-shadow-hover,none)}
#memolis-lp .mlp-btn small{font-size:14px;font-weight:500;display:block}
#memolis-lp .mlp-btns{display:flex;flex-wrap:wrap;gap:16px;align-items:center}

/* ---------- ヒーロー ---------- */
#memolis-lp .mlp-hero{position:relative;min-height:min(92vh,760px);background:linear-gradient(180deg,#BFE0EF 0%,#E3F1F7 60%,#F4FAF2 100%);overflow:hidden}
#memolis-lp .mlp-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
#memolis-lp .mlp-hero-tint{position:absolute;inset:0;background:var(--mlp-hero-tint);z-index:1;pointer-events:none}
#memolis-lp .mlp-hero-stage{position:absolute;inset:0;z-index:2}
#memolis-lp .mlp-hero-text{position:relative;z-index:3;max-width:1080px;margin:0 auto;padding:88px 24px 96px;pointer-events:none}
#memolis-lp .mlp-hero-text > *{pointer-events:auto;max-width:560px}
#memolis-lp .mlp-brand{display:flex;align-items:center;gap:12px;margin-bottom:36px;font-family:var(--mlp-font-head);color:var(--mlp-ai);font-size:22px;font-weight:700}
#memolis-lp .mlp-brand img{height:56px;width:auto}
#memolis-lp .mlp-h1{font-family:var(--mlp-font-head);font-weight:700;color:var(--mlp-ai-deep);font-size:clamp(34px,5.6vw,60px);line-height:1.45;letter-spacing:.05em;margin-bottom:28px}
#memolis-lp .mlp-hero-sub{font-size:20px;line-height:2;margin-bottom:40px}
#memolis-lp .mlp-hero-free{font-size:15px;margin-top:14px;color:#41525B}

/* オーバーレイ（自由配置） */
#memolis-lp .mlp-ov{position:absolute;left:var(--x);top:var(--y);width:var(--w);transform:rotate(var(--r,0deg));z-index:var(--z,1)}
#memolis-lp .mlp-ov.mlp-img{box-shadow:0 10px 30px rgba(31,74,99,.18)}
#memolis-lp .mlp-ov.mlp-img.is-empty{min-height:0;aspect-ratio:4/3}
#memolis-lp .mlp-ov--photo{border:8px solid #fff;border-radius:6px}
#memolis-lp .mlp-ov--phone{border-radius:28px;border:8px solid #1F2C33;aspect-ratio:9/18}
#memolis-lp .mlp-ov.mlp-img.mlp-ov--phone.is-empty{aspect-ratio:9/18}
#memolis-lp .mlp-ov--badge{aspect-ratio:1;filter:var(--mlp-badge-filter,drop-shadow(0 8px 14px rgba(46,90,60,.28)))}
#memolis-lp .mlp-ov--badge[data-shape="wide"]{aspect-ratio:2.2}
#memolis-lp .mlp-badge-in{position:relative;width:100%;height:100%;background:var(--mlp-badge-bg,#5E9E72);color:var(--mlp-badge-color,#fff);box-shadow:var(--mlp-badge-ring,none);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-weight:700;font-size:clamp(14px,1.6vw,18px);line-height:1.4;border-radius:50%}
#memolis-lp .mlp-badge-in b{font-family:var(--mlp-font-head);font-size:1.9em;line-height:1.25}
#memolis-lp .mlp-ov--badge[data-shape="rounded"] .mlp-badge-in{border-radius:22%}
#memolis-lp .mlp-ov--badge[data-shape="wide"] .mlp-badge-in{border-radius:12px;flex-direction:row;flex-wrap:wrap;align-content:center;gap:0 .3em;padding:0 8%;font-size:clamp(12px,1.3vw,16px)}
#memolis-lp .mlp-ov--badge[data-shape="wide"] .mlp-badge-in b{font-size:1.6em}
#memolis-lp .mlp-ov--badge[data-shape="burst"] .mlp-badge-in{border-radius:0;box-shadow:none;clip-path:polygon(50.0% 0.0%,56.7% 7.5%,65.5% 2.4%,69.5% 11.7%,79.4% 9.5%,80.4% 19.6%,90.5% 20.6%,88.3% 30.5%,97.6% 34.5%,92.5% 43.3%,100.0% 50.0%,92.5% 56.7%,97.6% 65.5%,88.3% 69.5%,90.5% 79.4%,80.4% 80.4%,79.4% 90.5%,69.5% 88.3%,65.5% 97.6%,56.7% 92.5%,50.0% 100.0%,43.3% 92.5%,34.5% 97.6%,30.5% 88.3%,20.6% 90.5%,19.6% 80.4%,9.5% 79.4%,11.7% 69.5%,2.4% 65.5%,7.5% 56.7%,0.0% 50.0%,7.5% 43.3%,2.4% 34.5%,11.7% 30.5%,9.5% 20.6%,19.6% 19.6%,20.6% 9.5%,30.5% 11.7%,34.5% 2.4%,43.3% 7.5%)}
#memolis-lp .mlp-ov--badge[data-shape="bubble"] .mlp-badge-in::after{content:"";position:absolute;left:12%;bottom:-4%;width:24%;height:22%;background:inherit;clip-path:polygon(0 100%,35% 0,100% 30%);}
#memolis-lp .mlp-ov--badge[data-shape="bubble"] .mlp-badge-in{box-shadow:none}

/* ---------- 共感 ---------- */
#memolis-lp .mlp-worries{display:grid;grid-template-columns:repeat(2,1fr);gap:0 48px;border-top:1px solid #C7D9E2}
#memolis-lp .mlp-worries li{padding:24px 0 24px 44px;border-bottom:1px solid #C7D9E2;position:relative;font-size:19px}
#memolis-lp .mlp-worries li::before{content:"";position:absolute;left:4px;top:32px;width:22px;height:22px;border-radius:50%;border:3px solid var(--mlp-ai)}

/* ---------- ストーリー（もしも何も残っていなかったら） ---------- */
#memolis-lp .mlp-story{background:#EEF1F3}
#memolis-lp .mlp-story-intro{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:center;margin-bottom:64px}
#memolis-lp .mlp-story-intro .mlp-img{aspect-ratio:4/3;filter:grayscale(.35)}
#memolis-lp .mlp-story-intro p{font-size:19px;line-height:2.1}
#memolis-lp .mlp-story-intro .mlp-note{font-size:14px;margin-top:12px}
#memolis-lp .mlp-tl{position:relative}
#memolis-lp .mlp-tl-head,#memolis-lp .mlp-tl-row{display:grid;grid-template-columns:150px 1fr 1fr;gap:0 24px}
#memolis-lp .mlp-tl-head{font-weight:700;font-size:17px;padding-bottom:14px}
#memolis-lp .mlp-tl-head span:nth-child(2){color:#6B4A3A}
#memolis-lp .mlp-tl-head span:nth-child(3){color:var(--mlp-ai-deep)}
#memolis-lp .mlp-tl-row{border-top:1px solid #CBD3D8;padding:28px 0}
#memolis-lp .mlp-tl-when{font-family:var(--mlp-font-head);font-weight:700;font-size:22px;color:var(--mlp-sumi);line-height:1.4}
#memolis-lp .mlp-tl-when small{display:block;font-family:var(--mlp-font-body);font-size:14px;font-weight:500;color:#5B6870;margin-top:4px}
#memolis-lp .mlp-tl-bad{background:#fff;border-left:5px solid #B9876B;border-radius:0 10px 10px 0;padding:18px 20px;font-size:17px;line-height:1.85}
#memolis-lp .mlp-tl-good{background:var(--mlp-sora);border-left:5px solid var(--mlp-wakaba);border-radius:0 10px 10px 0;padding:18px 20px;font-size:17px;line-height:1.85}
#memolis-lp .mlp-tl-bad b,#memolis-lp .mlp-tl-good b{display:block;font-size:18px;margin-bottom:4px}
#memolis-lp .mlp-tl-sp{display:none}
#memolis-lp .mlp-story-turn{margin-top:72px;text-align:center}
#memolis-lp .mlp-story-turn p:first-child{font-family:var(--mlp-font-head);font-size:clamp(24px,3.4vw,34px);line-height:1.7;color:var(--mlp-sumi);font-weight:700}
#memolis-lp .mlp-story-turn p:nth-child(2){font-family:var(--mlp-font-head);font-size:clamp(26px,3.8vw,38px);line-height:1.6;color:var(--mlp-ai-deep);font-weight:700;margin-top:28px}
#memolis-lp .mlp-story-turn .mlp-btns{justify-content:center;margin-top:40px}
@media (max-width:720px){
  #memolis-lp .mlp-story-intro{grid-template-columns:1fr;gap:24px;margin-bottom:40px}
  #memolis-lp .mlp-tl-head{display:none}
  #memolis-lp .mlp-tl-row{grid-template-columns:1fr;gap:12px}
  #memolis-lp .mlp-tl-sp{display:block;font-size:14px;font-weight:700;margin-bottom:2px}
  #memolis-lp .mlp-tl-bad .mlp-tl-sp{color:#6B4A3A}
  #memolis-lp .mlp-tl-good .mlp-tl-sp{color:var(--mlp-ai-deep)}
}

/* ---------- アンケート ---------- */
#memolis-lp .mlp-survey{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}
#memolis-lp .mlp-bigfig{font-family:var(--mlp-font-head);color:var(--mlp-ai-deep);font-size:clamp(64px,11vw,128px);line-height:1;font-weight:700}
#memolis-lp .mlp-bigfig span{font-size:.35em}
#memolis-lp .mlp-bars{display:flex;flex-direction:column;gap:18px}
#memolis-lp .mlp-bar dt{font-size:16px;margin-bottom:6px}
#memolis-lp .mlp-bar dd{display:flex;align-items:center;gap:12px;font-weight:700}
#memolis-lp .mlp-bar i{display:block;height:22px;border-radius:0 11px 11px 0;background:var(--mlp-ai);width:var(--v)}
#memolis-lp .mlp-bar--hl i{background:var(--mlp-wakaba)}

/* ---------- 100項目 ---------- */
#memolis-lp .mlp-items{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}
#memolis-lp .mlp-items li{background:#fff;border:1.5px solid #BFD6E1;border-radius:99px;padding:8px 20px;font-size:17px}
#memolis-lp .mlp-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:56px;background:#BFD6E1;border:2px solid #BFD6E1;border-radius:16px;overflow:hidden}
#memolis-lp .mlp-pillars div{background:#fff;padding:28px 22px}
#memolis-lp .mlp-pillars h3{font-family:var(--mlp-font-head);color:var(--mlp-ai-deep);font-size:22px;line-height:1.5;margin-bottom:8px}
#memolis-lp .mlp-pillars p{font-size:16px;line-height:1.75}

/* ---------- 特長 ---------- */
#memolis-lp .mlp-feat{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:56px 0;border-bottom:1px solid #D5E3EA}
#memolis-lp .mlp-feat:last-child{border-bottom:0}
#memolis-lp .mlp-feat:nth-child(even) .mlp-img{order:2}
#memolis-lp .mlp-feat .mlp-img{aspect-ratio:4/3}
#memolis-lp .mlp-feat h3{font-family:var(--mlp-font-head);color:var(--mlp-ai-deep);font-size:clamp(24px,3vw,30px);line-height:1.5;margin-bottom:16px}
#memolis-lp .mlp-tag{display:inline-block;font-size:14px;color:var(--mlp-wakaba);border:1.5px solid var(--mlp-wakaba);border-radius:6px;padding:0 10px;margin-bottom:12px}

/* ---------- はじめ方（順番があるので番号つき） ---------- */
#memolis-lp .mlp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;position:relative;counter-reset:st}
#memolis-lp .mlp-steps::before{content:"";position:absolute;top:30px;left:10%;right:10%;border-top:3px dashed #9CC1D2}
#memolis-lp .mlp-steps li{position:relative;text-align:center;counter-increment:st}
#memolis-lp .mlp-steps li::before{content:counter(st);display:flex;align-items:center;justify-content:center;width:60px;height:60px;margin:0 auto 18px;border-radius:50%;background:var(--mlp-ai);color:#fff;font-family:var(--mlp-font-head);font-size:28px;font-weight:700;position:relative}
#memolis-lp .mlp-steps h3{font-size:21px;color:var(--mlp-ai-deep);margin-bottom:6px}
#memolis-lp .mlp-steps p{font-size:16px;line-height:1.75}

/* ---------- プラン ---------- */
#memolis-lp .mlp-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}
#memolis-lp .mlp-plan{background:#fff;border-radius:18px;padding:36px 28px;border-top:8px solid var(--c);display:flex;flex-direction:column}
#memolis-lp .mlp-plan--pick{box-shadow:var(--mlp-pick-ring,0 0 0 3px var(--mlp-ai))}
#memolis-lp .mlp-plan h3{font-family:var(--mlp-font-head);font-size:26px;color:var(--mlp-ai-deep)}
#memolis-lp .mlp-price{font-size:40px;font-weight:700;line-height:1.3;margin:12px 0 2px}
#memolis-lp .mlp-price small{font-size:17px;font-weight:500}
#memolis-lp .mlp-plan .mlp-note{margin-bottom:20px}
#memolis-lp .mlp-plan ul{flex:1;margin-bottom:28px}
#memolis-lp .mlp-plan li{padding:8px 0 8px 30px;position:relative;font-size:17px;line-height:1.6;border-bottom:1px dotted #D0DDE3}
#memolis-lp .mlp-plan li::before{content:"";position:absolute;left:4px;top:15px;width:14px;height:8px;border-left:3px solid var(--mlp-wakaba);border-bottom:3px solid var(--mlp-wakaba);transform:rotate(-45deg)}
#memolis-lp .mlp-plan .mlp-btn{width:100%;font-size:calc(var(--mlp-btn-fs,20px) - 2px)}
#memolis-lp .mlp-pickmark{align-self:flex-start;background:var(--mlp-ai);color:#fff;font-size:14px;border-radius:6px;padding:2px 12px;margin-bottom:10px}

/* ---------- 安心 ---------- */
#memolis-lp .mlp-safe{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
#memolis-lp .mlp-safe h3{font-size:21px;color:var(--mlp-ai-deep);margin-bottom:8px;padding-left:16px;border-left:5px solid var(--mlp-wakaba);line-height:1.5}
#memolis-lp .mlp-safe p{font-size:17px}

/* ---------- オプション ---------- */
#memolis-lp .mlp-opts{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
#memolis-lp .mlp-opts li{background:#fff;border-radius:12px;padding:20px;font-weight:700;color:var(--mlp-ai-deep);font-size:18px;line-height:1.5}
#memolis-lp .mlp-opts li span{display:block;font-weight:500;font-size:15px;color:var(--mlp-sumi);margin-top:4px}

/* ---------- FAQ ---------- */
#memolis-lp .mlp-faq details{border-bottom:1px solid #C7D9E2}
#memolis-lp .mlp-faq summary{cursor:pointer;list-style:none;padding:24px 48px 24px 0;font-size:19px;font-weight:700;position:relative}
#memolis-lp .mlp-faq summary::-webkit-details-marker{display:none}
#memolis-lp .mlp-faq summary::after{content:"＋";position:absolute;right:8px;top:22px;font-size:24px;color:var(--mlp-ai)}
#memolis-lp .mlp-faq details[open] summary::after{content:"－"}
#memolis-lp .mlp-faq details p{padding:0 0 24px;font-size:18px}

/* ---------- 最後のCTA ---------- */
#memolis-lp .mlp-final{background:var(--mlp-ai-deep);color:#fff;text-align:center}
#memolis-lp .mlp-final .mlp-h2{color:#fff}
#memolis-lp .mlp-final .mlp-lead{margin:0 auto 40px}
#memolis-lp .mlp-final .mlp-btns{justify-content:center}
#memolis-lp .mlp-final .mlp-btn--sub{background:transparent;color:#fff;border-color:#fff}
#memolis-lp .mlp-contact{margin-top:56px;padding-top:40px;border-top:1px solid rgba(255,255,255,.25);font-size:16px;line-height:2}
#memolis-lp .mlp-contact a{color:#fff}

/* ---------- スマホ下部固定ボタン ---------- */
#memolis-lp .mlp-fixbar{display:none}

/* ---------- 編集モード ---------- */
#memolis-lp.is-edit .mlp-ov{outline:2px dashed var(--mlp-yamabuki);cursor:move;touch-action:none;user-select:none}
#memolis-lp.is-edit .mlp-ov img{pointer-events:none}
#memolis-lp .mlp-handle{position:absolute;right:-12px;bottom:-12px;width:26px;height:26px;border-radius:50%;background:var(--mlp-yamabuki);border:3px solid #fff;cursor:nwse-resize;touch-action:none;z-index:5}
#memolis-lp .mlp-editbar{position:fixed;left:16px;bottom:16px;z-index:99999;background:#1F2C33;color:#fff;border-radius:12px;padding:14px 16px;font-size:14px;line-height:1.6;max-width:340px;box-shadow:0 8px 24px rgba(0,0,0,.3)}
#memolis-lp .mlp-editbar button{margin-top:8px;margin-right:6px;font:inherit;font-weight:700;padding:6px 12px;border-radius:8px;border:0;background:var(--mlp-yamabuki);color:#1F2C33;cursor:pointer}

/* ---------- レスポンシブ ---------- */
@media (max-width:860px){
  #memolis-lp .mlp-pillars{grid-template-columns:1fr 1fr}
  #memolis-lp .mlp-opts{grid-template-columns:1fr 1fr}
  #memolis-lp .mlp-plans{grid-template-columns:1fr}
  #memolis-lp .mlp-safe{grid-template-columns:1fr;gap:28px}
}
@media (max-width:720px){
  #memolis-lp{font-size:17px}
  #memolis-lp .mlp-sec{padding:72px 0}
  #memolis-lp .mlp-hero{min-height:0}
  #memolis-lp .mlp-hero-text{padding:48px 20px var(--mlp-sp-stage,380px)}
  #memolis-lp .mlp-hero-sub{font-size:18px}
  #memolis-lp .mlp-hero-tint{background:linear-gradient(180deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,.7) 55%,rgba(255,255,255,0) 75%)}
  #memolis-lp .mlp-ov{left:var(--mx,var(--x));top:var(--my,var(--y));width:var(--mw,var(--w))}
  #memolis-lp .mlp-ov[data-sp="hide"]{display:none}
  #memolis-lp .mlp-btns .mlp-btn{width:100%}
  #memolis-lp .mlp-worries{grid-template-columns:1fr}
  #memolis-lp .mlp-survey,#memolis-lp .mlp-feat{grid-template-columns:1fr;gap:28px}
  #memolis-lp .mlp-feat:nth-child(even) .mlp-img{order:0}
  #memolis-lp .mlp-pillars{grid-template-columns:1fr}
  #memolis-lp .mlp-steps{grid-template-columns:1fr;gap:28px}
  #memolis-lp .mlp-steps::before{top:30px;bottom:30px;left:50%;right:auto;border-top:0;border-left:3px dashed #9CC1D2}
  #memolis-lp .mlp-opts{grid-template-columns:1fr}
  #memolis-lp .mlp-fixbar{display:flex;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:9999;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.96);box-shadow:0 -4px 16px rgba(0,0,0,.1)}
  #memolis-lp .mlp-fixbar .mlp-btn{min-height:56px;padding:10px 12px;font-size:calc(var(--mlp-btn-fs,20px) - 3px)}
  #memolis-lp .mlp-fixbar .mlp-btn--main{flex:2}
  #memolis-lp .mlp-fixbar .mlp-btn--sub{flex:1}
  #memolis-lp .mlp-final{padding-bottom:140px}
}
@media (prefers-reduced-motion:reduce){#memolis-lp *{transition:none!important}}

/* 固定ページ（プライバシーポリシー・特商法表記など） */
.mlp-page{font-family:var(--mlp-font-body);color:var(--mlp-sumi);font-size:17px;line-height:1.9}
.mlp-page-head{padding:20px 24px;border-bottom:1px solid #D5E3EA}
.mlp-page-head a{font-family:var(--mlp-font-head);font-weight:700;font-size:22px;color:var(--mlp-ai);text-decoration:none;display:inline-flex;align-items:center;gap:10px}
.mlp-page-head img{height:44px;width:auto}
.mlp-page-body{max-width:760px;margin:0 auto;padding:56px 24px 96px}
.mlp-page-body h1{font-family:var(--mlp-font-head);color:var(--mlp-ai-deep);font-size:32px;line-height:1.5;margin:0 0 32px}
.mlp-page-body h2{font-family:var(--mlp-font-head);color:var(--mlp-ai-deep);font-size:24px;margin:48px 0 16px}
.mlp-page-body a{color:var(--mlp-ai)}
.mlp-page-body img{max-width:100%;height:auto}
.mlp-footer{background:#16384C;color:#DCE8EE;font-family:var(--mlp-font-body);font-size:15px;padding:32px 24px 40px;text-align:center}
.mlp-footer ul{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 24px}
.mlp-footer a{color:#fff}
@media (max-width:720px){body.home .mlp-footer{padding-bottom:110px}}
#memolis-lp .mlp-editbar .mlp-msg{display:block;margin-top:6px;color:#F7D58A}

/* ---------- 年代別メッセージ ---------- */
#memolis-lp .mlp-gen + .mlp-sec{border-top:1px solid #D5E3EA}
#memolis-lp .mlp-gen-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:16px}
#memolis-lp .mlp-gen-card{background:var(--mlp-sora);border-radius:18px;padding:40px 36px}
#memolis-lp .mlp-gen-who{display:inline-block;background:var(--mlp-ai);color:#fff;font-weight:700;font-size:16px;border-radius:6px;padding:2px 14px;margin-bottom:18px}
#memolis-lp .mlp-gen-card:nth-child(2) .mlp-gen-who{background:var(--mlp-wakaba)}
#memolis-lp .mlp-gen-catch{font-family:var(--mlp-font-head);font-weight:700;color:var(--mlp-ai-deep);font-size:clamp(24px,2.8vw,30px);line-height:1.6;margin-bottom:16px}
#memolis-lp .mlp-gen-list{margin-top:20px;border-top:1px solid #BFD6E1}
#memolis-lp .mlp-gen-list li{border-bottom:1px solid #BFD6E1}
#memolis-lp .mlp-gen-list a{display:block;padding:14px 32px 14px 0;font-weight:700;text-decoration:none;color:var(--mlp-ai-deep);position:relative}
#memolis-lp .mlp-gen-list a::after{content:"";position:absolute;right:8px;top:50%;width:10px;height:10px;border-right:3px solid currentColor;border-bottom:3px solid currentColor;transform:translateY(-50%) rotate(45deg)}

/* ---------- メモリス日記 ---------- */
#memolis-lp .mlp-diary{background:#FBF6EA}
#memolis-lp .mlp-diary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
#memolis-lp .mlp-diary-card{background:#fff;border-radius:18px;padding:28px 26px 30px;display:flex;flex-direction:column}
#memolis-lp .mlp-diary-vis{background:#F6F1E4;border-radius:12px;padding:18px;min-height:190px;margin-bottom:22px;display:flex;flex-direction:column;justify-content:center}
#memolis-lp .mlp-cal-head{font-size:14px;font-weight:700;color:#7A6A45;margin-bottom:8px}
#memolis-lp .mlp-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
#memolis-lp .mlp-cal span{aspect-ratio:1;display:flex;align-items:center;justify-content:center}
#memolis-lp .mlp-cal .mlp-face{width:100%;height:auto}
#memolis-lp .mlp-cal .is-today{border:2px dashed #C9A85A;border-radius:50%;font-size:11px;font-weight:700;color:#7A6A45}
#memolis-lp .mlp-medals{display:flex;justify-content:center;gap:14px}
#memolis-lp .mlp-medal{position:relative;width:76px;height:76px;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.55),transparent 45%),var(--m);box-shadow:inset 0 0 0 5px rgba(255,255,255,.35),0 4px 10px rgba(0,0,0,.12);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:700;line-height:1.1;margin-top:26px}
#memolis-lp .mlp-medal b{font-size:24px;font-family:var(--mlp-font-head)}
#memolis-lp .mlp-medal::before{content:"";position:absolute;top:-26px;left:50%;width:28px;height:30px;transform:translateX(-50%);background:linear-gradient(90deg,#C0504D 0 33%,#F2EDE0 33% 66%,#3F6FA8 66%);clip-path:polygon(0 0,100% 0,100% 100%,50% 75%,0 100%)}
#memolis-lp .mlp-pref-num{font-size:16px;font-weight:700;color:#7A6A45}
#memolis-lp .mlp-pref-num b{font-family:var(--mlp-font-head);font-size:48px;color:var(--mlp-ai-deep);line-height:1}
#memolis-lp .mlp-pref-bar{height:14px;background:#E8DFC8;border-radius:7px;overflow:hidden;margin:10px 0 14px}
#memolis-lp .mlp-pref-bar i{display:block;height:100%;background:var(--mlp-wakaba);border-radius:7px}
#memolis-lp .mlp-pref-chips{display:flex;flex-wrap:wrap;gap:6px}
#memolis-lp .mlp-pref-chips span{background:#fff;border:1.5px solid #D9CBA6;border-radius:99px;padding:0 10px;font-size:13px}
#memolis-lp .mlp-kicker{font-size:15px;font-weight:700;color:var(--mlp-wakaba);margin-bottom:4px}
#memolis-lp .mlp-diary-card h3{font-family:var(--mlp-font-head);color:var(--mlp-ai-deep);font-size:23px;line-height:1.55;margin-bottom:12px}
#memolis-lp .mlp-diary-card > p:not(.mlp-kicker){font-size:17px}
#memolis-lp .mlp-diary-quote{font-family:var(--mlp-font-head);font-weight:700;color:var(--mlp-ai-deep);font-size:clamp(22px,3vw,30px);text-align:center;margin:56px 0 10px}

/* ---------- ベネフィットの理由・50〜60代向けの一言 ---------- */
#memolis-lp .mlp-why{margin-top:14px;background:rgba(255,255,255,.75);border-left:4px solid var(--mlp-wakaba);border-radius:0 8px 8px 0;padding:12px 16px;font-size:16px;line-height:1.8}
#memolis-lp .mlp-diary .mlp-why{background:#F6F1E4}
#memolis-lp .mlp-why b{display:block;font-size:14px;color:var(--mlp-wakaba)}
#memolis-lp .mlp-for{margin-top:12px;font-size:16px;line-height:1.75}
#memolis-lp .mlp-for span{display:inline-block;font-size:13px;font-weight:700;color:#fff;background:var(--mlp-ai);border-radius:4px;padding:0 8px;margin-right:8px;vertical-align:2px}
#memolis-lp .mlp-diary-card .mlp-for{margin-top:auto;padding-top:14px}

@media (max-width:860px){
  #memolis-lp .mlp-diary-grid{grid-template-columns:minmax(0,1fr);max-width:560px;margin:0 auto}
}
@media (max-width:720px){
  #memolis-lp .mlp-gen-grid{grid-template-columns:minmax(0,1fr);gap:20px}
  #memolis-lp .mlp-gen-card{padding:30px 22px}
}

/* ---------- 親族表 ---------- */
#memolis-lp .mlp-family-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:center}
#memolis-lp .mlp-family-vis{background:var(--mlp-sora);border-radius:20px;padding:24px 16px}
#memolis-lp .mlp-family-vis svg{display:block;width:100%;height:auto}
#memolis-lp .mlp-fl-line path{fill:none;stroke:#8FB6C8;stroke-width:3;stroke-linecap:round}
#memolis-lp .mlp-fl-node rect{fill:#fff;stroke:var(--mlp-ai);stroke-width:2.5}
#memolis-lp .mlp-fl-node text{font-family:var(--mlp-font-body);font-size:21px;font-weight:700;fill:var(--mlp-ai-deep)}
#memolis-lp .mlp-fl-node.is-me rect{fill:var(--mlp-wakaba);stroke:var(--mlp-wakaba)}
#memolis-lp .mlp-fl-node.is-me text{fill:#fff}
#memolis-lp .mlp-fl-tag rect{fill:#FBF6EA;stroke:#D9CBA6;stroke-width:1.5}
#memolis-lp .mlp-fl-tag text{font-family:var(--mlp-font-body);font-size:13px;font-weight:700;fill:#7A6A45}
#memolis-lp .mlp-family .mlp-h2{margin-bottom:18px}
#memolis-lp .mlp-family .mlp-tag{margin-right:8px}
#memolis-lp .mlp-family .mlp-why{background:var(--mlp-sora)}
#memolis-lp .mlp-family-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}
#memolis-lp .mlp-family-points li{border:1.5px solid #BFD6E1;border-radius:12px;padding:12px 16px;font-size:15px;line-height:1.6}
#memolis-lp .mlp-family-points b{display:block;font-size:17px;color:var(--mlp-ai-deep)}
#memolis-lp .mlp-diary + .mlp-family{border-bottom:0}
@media (max-width:860px){
  #memolis-lp .mlp-family-grid{grid-template-columns:minmax(0,1fr);gap:32px}
  #memolis-lp .mlp-family-vis{max-width:520px;width:100%;margin:0 auto;padding:16px 6px}
}
@media (max-width:480px){
  #memolis-lp .mlp-family-points{grid-template-columns:minmax(0,1fr)}
}

/* ---------- 写真の切り替え ---------- */
#memolis-lp .mlp-hero-bgs{position:absolute;inset:0;z-index:0}
#memolis-lp [data-slides] .mlp-slide{opacity:0;transition:opacity 1.4s ease}
#memolis-lp [data-slides] .mlp-slide.is-active{opacity:1}
#memolis-lp .mlp-ov[data-slides] img.mlp-slide + img.mlp-slide,
#memolis-lp .mlp-ov[data-slides] img.mlp-slide ~ img.mlp-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (prefers-reduced-motion:reduce){#memolis-lp [data-slides] .mlp-slide{transition:none}}

/* ---------- バッジのリンク ---------- */
#memolis-lp a.mlp-ov--badge{text-decoration:none;color:inherit;display:block}
#memolis-lp a.mlp-ov--badge .mlp-badge-in{transition:transform .2s ease}
#memolis-lp a.mlp-ov--badge:hover .mlp-badge-in{transform:scale(1.05)}
#memolis-lp a.mlp-ov--badge:focus-visible{outline:3px solid var(--mlp-ai);outline-offset:4px;border-radius:12px}

/* ---------- 親族表の画像 ---------- */
#memolis-lp .mlp-family-photo{border-radius:20px;box-shadow:0 10px 30px rgba(31,74,99,.14)}
#memolis-lp .mlp-family-photo img{height:auto}

/* ---------- 料金プラン：おすすめバッジ ---------- */
#memolis-lp .mlp-plan{position:relative}
#memolis-lp .mlp-pickbadge{width:auto;white-space:nowrap;background:var(--mlp-pick-bg);color:var(--mlp-pick-color);font-size:var(--mlp-pick-fs,15px);font-weight:700;line-height:1.4;padding:.35em 1em;border-radius:.45em;box-shadow:var(--mlp-pick-shadow,none);text-align:center}
#memolis-lp .mlp-pickbadge[data-shape="pill"]{border-radius:999px;padding:.4em 1.2em}
#memolis-lp .mlp-pickbadge[data-shape="circle"]{white-space:normal;width:5.6em;aspect-ratio:1;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:.6em}
#memolis-lp .mlp-pickbadge[data-shape="ribbon"]{border-radius:0;padding:.35em 1.4em;clip-path:polygon(0 0,100% 0,calc(100% - .6em) 50%,100% 100%,0 100%,.6em 50%)}
#memolis-lp .mlp-pickbadge[data-shape="ribbon"]{box-shadow:none;filter:drop-shadow(var(--mlp-pick-dshadow,0 0 0 transparent))}
@media (max-width:720px){#memolis-lp .mlp-pickbadge{left:var(--mx,var(--x));top:var(--my,var(--y))}}

/* ---------- 見出しの飾り画像 ---------- */
#memolis-lp .mlp-hstage{position:relative}
#memolis-lp .mlp-hstage .mlp-h2{position:relative;z-index:2}
#memolis-lp .mlp-hdeco{pointer-events:none}
#memolis-lp .mlp-hdeco img{width:100%;height:auto}
#memolis-lp.is-edit .mlp-hdeco{pointer-events:auto}
#memolis-lp.is-edit .mlp-hdeco,#memolis-lp.is-edit .mlp-pickbadge{z-index:20}

/* 配置編集：見出しの文字が画像の上に重なってもつかめるように */
#memolis-lp.is-edit .mlp-hstage .mlp-h2{pointer-events:none}
#memolis-lp.is-edit .mlp-hdeco{outline-offset:2px;min-width:24px;min-height:24px}
#memolis-lp .mlp-editstart{position:fixed;left:16px;bottom:16px;z-index:99999;font:inherit;font-size:15px;font-weight:700;padding:10px 16px;border:0;border-radius:10px;background:#1F2C33;color:#fff;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.3)}

/* 料金プランの説明 */
#memolis-lp .mlp-plan .mlp-note{margin-bottom:12px}
#memolis-lp .mlp-plan-desc{font-size:16px;line-height:1.8;background:var(--mlp-sora);border-radius:10px;padding:12px 14px;margin-bottom:20px}

/* ---------- ロゴの下にサイトタイトル ---------- */
#memolis-lp .mlp-brand{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:var(--mlp-brand-gap,64px)}
#memolis-lp .mlp-brand .mlp-brand-logo{height:var(--mlp-brand-logo-h,56px);width:auto}
#memolis-lp .mlp-brand-name{font-family:var(--mlp-font-head);font-weight:700;color:var(--mlp-ai);font-size:var(--mlp-brand-fs,22px);line-height:1.3;letter-spacing:.06em}
@media (max-width:720px){
  #memolis-lp .mlp-brand{margin-bottom:calc(var(--mlp-brand-gap,64px) * .65)}
  #memolis-lp .mlp-brand .mlp-brand-logo{height:calc(var(--mlp-brand-logo-h,56px) * .85)}
}

/* ---------- 背景写真：PC用／スマホ用の出し分け ---------- */
#memolis-lp .mlp-hero-bgs.is-sp{display:none}
@media (max-width:720px){
  #memolis-lp .mlp-hero-bgs.is-pc{display:none}
  #memolis-lp .mlp-hero-bgs.is-sp{display:block}
}

/* スマホ：最後のお申込みの上に、飾り画像を置くための余白 */
@media (max-width:720px){
  #memolis-lp .mlp-final{padding-top:150px}
  #memolis-lp .mlp-final .mlp-h2{font-size:var(--mlp-final-fs-sp,24px);letter-spacing:.02em}
}

/* 最後のお申込みの見出し：PCの文字サイズ（タブレットでは画面に合わせて縮む） */
@media (min-width:721px){
  #memolis-lp .mlp-final .mlp-h2{font-size:min(var(--mlp-final-fs,44px),6.4vw)}
}

/* ---------- 見出しの飾り画像：リンクと説明 ---------- */
#memolis-lp .mlp-hdeco.has-link{pointer-events:auto}
#memolis-lp .mlp-hdeco-link{display:block;border-radius:8px;transition:transform .2s ease}
#memolis-lp .mlp-hdeco-link:hover{transform:scale(1.04)}
#memolis-lp .mlp-hdeco-cap{margin-top:6px;font-size:14px;line-height:1.5;text-align:center;color:inherit;font-weight:700}
#memolis-lp .mlp-hdeco.has-link .mlp-hdeco-cap{pointer-events:none}
@media (max-width:720px){#memolis-lp .mlp-hdeco-cap{font-size:13px}}
/* 最後のお申込み：飾り画像（と説明）がある時は、上の余白をさらに広げる */
#memolis-lp .mlp-final:has(.mlp-hdeco){padding-top:170px}
@media (max-width:720px){
  #memolis-lp .mlp-final:has(.mlp-hdeco-cap){padding-top:190px}
}
