
.o-wrap{max-width:960px;margin:0 auto;padding:0 20px 40px}
.o-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:32px;align-items:center;margin-top:16px}
.o-hero__group{display:inline-block;padding:4px 12px;border-radius:999px;background:#a2e5e1;font-size:13px;font-weight:700}
.o-hero__title{margin:12px 0 0;font-size:34px;font-weight:700;line-height:1.35}
.o-hero__title span{display:block;font-size:16px;color:#E761A4;margin-bottom:6px}
.o-hero__catch{margin:14px 0 0;font-size:22px;font-weight:700;line-height:1.55;color:#3b4043}
.o-hero__lead{margin:14px 0 0;line-height:1.95}
.o-price{display:inline-flex;align-items:baseline;gap:6px;margin-top:18px;padding:10px 18px;border-radius:14px;background:#fff;border:2px solid #E761A4}
.o-price b{font-size:30px;color:#E761A4}.o-price small{font-size:13px}
.o-extra{margin:8px 0 0;font-size:13px}
.o-illust{width:100%;height:auto;display:block;filter:drop-shadow(0 8px 18px rgba(231,97,164,.15))}
.o-sec{margin-top:56px}
.o-sec__title{font-size:24px;font-weight:700;text-align:center}
.o-sec__title small{display:block;font-size:13px;color:#E761A4;letter-spacing:.12em;margin-bottom:6px}
.o-scenes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.o-scene{padding:22px 18px;border-radius:18px;background:#fff;border:2px solid #a2e5e1;text-align:center}
.o-scene i{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto;border-radius:50%;background:#fde8f2;font-style:normal;font-size:32px}
.o-scene b{display:block;margin-top:12px;font-size:16px}.o-scene p{margin-top:8px;font-size:14px;line-height:1.8;text-align:left}
.o-ui{margin:24px auto 0;max-width:720px;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(59,64,67,.12);overflow:hidden}
.o-ui__head{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#f6f6f6}
.o-ui__dot{width:10px;height:10px;border-radius:50%;background:#ddd}.o-ui__name{margin-left:8px;font-size:12px;color:#888}
.o-ui__inner{padding:18px 18px 8px;background:radial-gradient(#f7dbe9 1px,transparent 1px) 0 0/14px 14px,#fff7fb}
.o-ui figcaption,.o-ui>figcaption{padding:12px 18px 16px;font-size:13px;color:#6b7275;background:#fff}
.o-ui__row{display:flex;gap:12px;align-items:flex-start;padding:14px;margin-bottom:10px;border-radius:14px;background:#fff}
.o-ui__icon{flex:0 0 36px;height:36px;border-radius:10px;background:#fde8f2;display:flex;align-items:center;justify-content:center}
.o-ui__body{flex:1}.o-ui__title{font-weight:700;font-size:15px}
.o-ui__badge{display:inline-block;margin-left:4px;padding:1px 8px;border-radius:999px;background:#eee;font-size:11px;color:#777}.o-ui__badge.is-on{background:#e0f6f4;color:#2a9d93}
.o-ui__price{font-size:12px;font-weight:400;color:#6b7275}
.o-ui__desc{margin-top:6px;font-size:13px;line-height:1.7;color:#555}.o-ui__more{margin-top:4px;font-size:12px;color:#E761A4}
.o-ui__toggle{flex:0 0 44px;height:24px;border-radius:12px;background:#cfd2d4;position:relative;margin-top:6px}
.o-ui__toggle::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff}
.o-ui__toggle.is-on{background:#E761A4}.o-ui__toggle.is-on::after{left:23px}
.o-ui__tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.o-ui__tab{padding:6px 12px;border-radius:999px;background:#fff;border:1px solid #eee;font-size:13px}.o-ui__tab.is-cur{border:2px solid #E761A4;color:#E761A4;font-weight:700}
.o-ui__add{padding:6px 12px;font-size:13px;color:#E761A4}
.o-ui__btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.o-ui__btn{padding:10px 18px;border-radius:999px;background:#E761A4;color:#fff;font-weight:700;font-size:14px}.o-ui__btn.is-sub{background:#fff;color:#E761A4;border:2px solid #E761A4}
.o-ui__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:10px}
.o-ui__stat{padding:14px;border-radius:14px;background:#fff;font-size:12px}.o-ui__stat b{display:block;margin:6px 0;font-size:24px}.o-ui__stat.is-pink b{color:#E761A4}
.o-ui__input{margin-top:8px;padding:8px 14px;border-radius:999px;border:1px solid #eee;font-size:14px;max-width:220px}
.o-ui__plan{margin-left:6px;padding:1px 8px;border-radius:999px;background:#e0f6f4;color:#2a9d93;font-size:11px}
.o-ui__num{margin-top:6px;font-size:18px;font-weight:700}.o-ui__link{margin-left:10px;font-size:13px;color:#E761A4;font-weight:400}
.o-ui__faxnum{margin:0 0 6px 62px;font-weight:700;font-size:14px}
.o-ui__chip{margin-left:6px;font-size:11px;color:#2a9d93}.o-ui__chip.is-on{padding:1px 8px;border-radius:999px;background:#e0f6f4}
.o-ui__btns{margin-left:0}
.o-ui__cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-bottom:10px}
.o-ui__card{padding:12px;border-radius:14px;border:2px solid #E761A4;background:#fff;font-size:13px}.o-ui__card p{display:flex;justify-content:space-between;gap:6px}
.o-ui__card small{display:block;margin-top:6px;color:#666;line-height:1.6}.o-ui__mini{display:inline-block;margin-top:8px;font-size:12px;color:#E761A4}
.o-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px;counter-reset:s}
.o-step{position:relative;padding:44px 18px 20px;border-radius:18px;background:#fff;border:2px solid #fde8f2;font-size:14px;line-height:1.8}
.o-step::before{counter-increment:s;content:counter(s);position:absolute;top:-16px;left:18px;width:40px;height:40px;border-radius:50%;background:#E761A4;color:#fff;font-weight:700;font-size:18px;display:flex;align-items:center;justify-content:center}
.o-box{margin:24px auto 0;max-width:720px;padding:24px;border-radius:18px;background:#fff;border:2px solid #a2e5e1}
.o-box table{width:100%;border-collapse:collapse;margin-top:8px}.o-box th,.o-box td{padding:10px;border-bottom:1px solid #eee;text-align:left}.o-box td{text-align:right;font-weight:700;white-space:nowrap}
.o-box ul{margin-top:12px;padding-left:1.2em;line-height:1.9;font-size:14px}.o-box li{list-style:disc}
.o-note{margin:24px auto 0;max-width:720px;padding:18px 20px;border-radius:14px;background:#fde8f2;font-size:13px;line-height:1.9}
.o-cta{margin:48px auto 0;max-width:720px;padding:32px 20px;border-radius:24px;background:linear-gradient(135deg,#E761A4,#f39ac5);text-align:center;color:#fff}
.o-cta p{font-size:20px;font-weight:700}.o-cta a{display:inline-block;margin-top:16px;padding:16px 30px;border-radius:999px;background:#fff;color:#E761A4;font-weight:700;text-decoration:none}.o-cta small{display:block;margin-top:10px}
.o-others{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:20px}
.o-card{display:block;padding:16px;border-radius:16px;background:#fff;border:2px solid #a2e5e1;color:#3b4043;text-decoration:none;transition:transform .15s}
.o-card:hover{transform:translateY(-3px);border-color:#E761A4}
.o-card .o-illust{border-radius:12px;margin-bottom:10px;filter:none}
.o-card b{display:block;font-size:16px}.o-card span{display:block;margin-top:4px;font-size:13px;color:#E761A4;font-weight:700}.o-card small{display:block;margin-top:6px;font-size:13px;line-height:1.6}
.o-crumb{margin-top:8px;font-size:13px}.o-crumb a{color:#E761A4}
@media (max-width:760px){.o-hero{grid-template-columns:1fr}.o-hero__title{font-size:28px}.o-scenes,.o-steps,.o-ui__stats{grid-template-columns:1fr}.o-ui__faxnum{margin-left:0}}

.o-hero{grid-template-columns:1.25fr .75fr}
.o-hero__img{position:relative;text-align:center}
.o-hero__img::before{content:"";position:absolute;inset:8% 4% 4%;border-radius:50%;background:#fde8f2;z-index:0}
.o-chara{position:relative;z-index:1;max-width:100%;height:auto;max-height:380px}
.o-hero__title{font-size:32px}
.o-perday{display:inline-block;margin:8px 0 0 8px;padding:4px 10px;border-radius:999px;background:#ffd166;font-size:13px;font-weight:700}
.o-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.o-btn{display:inline-block;padding:14px 22px;border-radius:999px;background:#E761A4;color:#fff;font-weight:700;text-decoration:none}.o-btn.is-sub{background:#fff;color:#E761A4;border:2px solid #E761A4}
.o-pains{max-width:720px;margin:24px auto 0;padding:24px;border-radius:20px;background:#fff;border:2px dashed #E761A4}
.o-pains li{list-style:none;position:relative;padding:8px 0 8px 34px;line-height:1.7;font-weight:700}
.o-pains li::before{content:"✓";position:absolute;left:0;top:7px;width:24px;height:24px;border-radius:6px;background:#E761A4;color:#fff;text-align:center;line-height:24px;font-size:14px}
.o-pains p{margin-top:14px;text-align:center;font-weight:700;color:#E761A4}
.o-ba{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;max-width:820px;margin:24px auto 0}
.o-ba__box{padding:22px;border-radius:18px;background:#f4f4f4;line-height:1.8}.o-ba__box b{display:block;font-size:13px;letter-spacing:.1em;color:#888}
.o-ba__box.is-after{background:#fff;border:3px solid #E761A4}.o-ba__box.is-after b{color:#E761A4}
.o-ba__arrow{font-size:28px;color:#E761A4;font-weight:700}
.o-scene img{width:120px;height:120px;object-fit:contain;display:block;margin:0 auto}
.o-serif{display:flex;align-items:center;gap:18px;max-width:760px;margin:40px auto 0}
.o-serif img{flex:0 0 140px;width:140px;height:auto}
.o-serif p{position:relative;flex:1;padding:20px 22px;border-radius:20px;background:#fff;border:2px solid #E761A4;line-height:1.9;font-weight:700}
.o-serif p::before{content:"";position:absolute;left:-12px;top:40%;border:10px solid transparent;border-right-color:#E761A4;border-left:0}
.o-wide{max-width:520px;margin:24px auto 0}
.o-card img.o-chara{display:block;height:110px;width:auto;margin:0 auto 8px}
.o-vs{max-width:820px;margin:24px auto 0;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 8px 24px rgba(59,64,67,.08)}
.o-vs table{width:100%;border-collapse:collapse;font-size:15px}
.o-vs th,.o-vs td{padding:14px 12px;border-bottom:1px solid #f0f0f0;text-align:center;vertical-align:middle;line-height:1.6}
.o-vs thead th{background:#f6f6f6;font-size:14px}.o-vs thead th.is-mayai{background:#E761A4;color:#fff;font-size:16px}
.o-vs td.is-mayai{background:#fff4f9;color:#E761A4;font-weight:700}.o-vs th[scope=row]{text-align:left;font-weight:700;width:30%}
.o-vs__note{max-width:820px;margin:8px auto 0;font-size:12px;color:#888;line-height:1.7}
.o-voices{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.o-voice{display:block;padding:22px 18px;border-radius:18px;background:#fff;border:2px solid #fde8f2;color:#3b4043;text-decoration:none}
.o-voice img{width:64px;height:64px;border-radius:50%;object-fit:cover}.o-voice b{display:block;margin-top:10px}.o-voice small{color:#E761A4;font-weight:700}
.o-voice p{margin-top:10px;font-size:14px;line-height:1.8}.o-voice p::before{content:"“";color:#E761A4;font-size:22px;font-weight:700;margin-right:2px}
.o-voice span{display:block;margin-top:10px;font-size:13px;color:#E761A4;font-weight:700}
.o-faq{max-width:760px;margin:24px auto 0}.o-faq details{margin-bottom:10px;border-radius:14px;background:#fff;border:2px solid #a2e5e1}
.o-faq summary{cursor:pointer;padding:16px 18px;font-weight:700;list-style:none}.o-faq summary::before{content:"Q";display:inline-block;margin-right:10px;color:#E761A4;font-weight:700}
.o-faq details p{padding:0 18px 16px 42px;line-height:1.8;font-size:14px}
@media (max-width:760px){.o-voices{grid-template-columns:1fr}.o-vs table{font-size:13px}}
@media (max-width:760px){.o-hero{grid-template-columns:1fr}.o-hero__img{order:-1}.o-chara{max-height:240px}.o-ba{grid-template-columns:1fr}.o-ba__arrow{transform:rotate(90deg);text-align:center}.o-serif{flex-direction:column}.o-serif p::before{display:none}}
.o-pic{max-width:360px;margin:32px auto 0;padding:0 16px}.o-pic img{width:100%;height:auto;border-radius:16px;display:block}
