/* ===== Tokens ===== */
:root{
  --font:"M PLUS 1","Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
  --ink:#2A2740; --ink-2:#2F2E46; --text:#45435C; --muted:#5A5872; --faint:#8A89A0;
  --iris:#6A64A6; --iris-2:#8F86D6; --link:#635D93;
  --bg:#F7F7FC; --card-line:#ECEBF6;
  --grad:linear-gradient(90deg,#9A87D2 0%,#6DA3D7 100%);
  --shadow-card:0 18px 50px -30px rgba(60,60,110,.35);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,h4,p,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
.ic{width:1em;height:1em;display:inline-block;vertical-align:middle;flex:none}
.container{width:min(1248px,calc(100% - 48px));margin:0 auto;position:relative}
.center{text-align:center}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}

/* ===== Header ===== */
.site-header{position:sticky;top:0;z-index:50;background:rgba(247,247,252,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.header-inner{width:min(1248px,calc(100% - 48px));margin:0 auto;height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{font-size:34px;font-weight:700;color:var(--ink);text-decoration:none;letter-spacing:.03em}
.main-nav{display:flex;align-items:center;gap:44px}
.main-nav a{text-decoration:none;font-size:17px;font-weight:500;color:var(--ink-2)}
.main-nav a:hover{color:var(--iris)}
.menu-toggle{display:none;width:44px;height:44px;border:0;background:none;cursor:pointer;flex-direction:column;justify-content:center;gap:7px;align-items:center}
.menu-toggle span{display:block;width:26px;height:2px;background:var(--ink);border-radius:2px}

/* ===== Buttons / links / type ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;border-radius:999px;color:#fff!important;font-weight:700;text-decoration:none;white-space:nowrap}
.btn-grad{background:var(--grad);box-shadow:0 18px 40px -20px rgba(120,110,200,.65);text-shadow:0 1px 2px rgba(60,60,110,.25)}
.btn-grad:hover{filter:brightness(1.04)}
.btn-sm{padding:13px 30px 13px 36px;font-size:17px;gap:10px}
.btn-sm .ic{font-size:16px}
.btn-hero{min-width:520px;padding:23px 54px 23px 66px;font-size:29px}
.btn-hero .ic{font-size:26px}
.text-link{display:inline-flex;align-items:center;gap:10px;color:var(--link);font-weight:600;text-decoration:underline;text-underline-offset:7px;text-decoration-color:#B9B5E6;text-decoration-thickness:1.5px}
.text-link:hover{text-decoration-color:var(--link)}
.eyebrow{color:var(--iris);font-size:19px;letter-spacing:.06em;font-weight:500}
.eyebrow-num{display:flex;align-items:center;gap:16px;color:#5D5A9B;font-size:17px;font-weight:600;margin-bottom:18px}
.eyebrow-num .num{font-size:30px;font-weight:500;color:#8A8FD0;letter-spacing:.04em;font-variant-numeric:tabular-nums}
.eyebrow-num .rule{display:inline-block;width:48px;height:1px;background:#B9B5E6}
.eyebrow-num.center{justify-content:center}
h2{font-size:54px;font-weight:800;line-height:1.3;color:var(--ink);letter-spacing:.005em;margin-bottom:22px}
.lead{font-size:19px;line-height:1.85;color:var(--text)}

/* ===== Waves / blobs ===== */
.sec{position:relative;overflow:hidden}
.sec-bg,.hero-bg{position:absolute;inset:0;pointer-events:none;z-index:0}
.sec>.container,.hero>.container{position:relative;z-index:1}
.wave{position:absolute;left:0;width:100%;height:auto;filter:blur(6px)}
.blob{position:absolute;border-radius:50%;filter:blur(42px);opacity:.6}
.blob-l{left:-80px;bottom:160px;width:300px;height:220px;background:#D3E2D6}
.blob-r{right:110px;bottom:230px;width:320px;height:230px;background:#D7E5DA}
.blob-l2{left:-120px;top:340px;width:300px;height:360px;background:#D9E6DC}
.blob-l3{left:-90px;top:420px;width:280px;height:300px;background:#E1E8E2}
.blob-r3{right:-60px;top:420px;width:280px;height:320px;background:#E1E6EC}

/* ===== Phone frame ===== */
.phone{position:absolute;width:380px;height:770px;border-radius:62px;padding:4px;background:linear-gradient(160deg,#E6E6EA 0%,#B9B9C2 40%,#8E8E99 100%);box-shadow:0 50px 80px -40px rgba(45,45,90,.5),0 18px 40px -20px rgba(45,45,90,.25)}
.phone .screen{position:relative;height:100%;border-radius:58px;border:9px solid #1B1B22;background:#F3F4FB;overflow:hidden}
.screen-wavy{background:radial-gradient(130% 55% at 50% -8%,#E2E5F6 0,rgba(226,229,246,0) 60%),#F3F4FB}
.island{position:absolute;top:13px;left:50%;transform:translateX(-50%);width:112px;height:34px;border-radius:20px;background:#111}
.status{display:flex;justify-content:space-between;align-items:center;padding:16px 30px 0;font-size:16px;font-weight:700;color:#1C1C28}
.status.light{color:#fff}
.status-icons{display:inline-flex;gap:6px;align-items:center}
.status-icons i{display:inline-block;background:currentColor}
.status-icons .sig{width:17px;height:12px;background:linear-gradient(90deg,currentColor 0 3px,transparent 3px 4.5px,currentColor 4.5px 7.5px,transparent 7.5px 9px,currentColor 9px 12px,transparent 12px 13.5px,currentColor 13.5px 17px);clip-path:polygon(0 65%,24% 65%,24% 45%,47% 45%,47% 25%,71% 25%,71% 0,100% 0,100% 100%,0 100%)}
.status-icons .wifi{width:16px;height:12px;border-radius:50% 50% 0 0;background:currentColor;clip-path:polygon(0 35%,50% 100%,100% 35%,85% 20%,50% 70%,15% 20%)}
.status-icons .bat{width:25px;height:12px;border-radius:4px;background:currentColor}
.app-top{display:flex;align-items:center;justify-content:space-between;padding:14px 22px 0;color:#2F2E46}
.app-top>.ic{font-size:22px;color:#4A4860}
.app-date{font-size:17px;font-weight:700;display:inline-flex;align-items:center;gap:6px}
.app-date .cloud{color:#B6C7EC;font-size:20px}
.title-row{display:flex;align-items:center;gap:12px;margin:14px 22px 10px}
.ic-circle{width:46px;height:46px;border-radius:50%;background:#8D8BCF;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:24px}
.title-row b{display:block;font-size:19px;color:var(--ink-2)}
.title-row small{font-size:12px;color:var(--faint)}
.app-card{margin:0 16px 12px;background:#fff;border-radius:22px;padding:14px 16px 16px;box-shadow:0 8px 24px -18px rgba(60,60,110,.3)}
.card-title{font-size:15px;font-weight:700;color:var(--ink-2);margin-bottom:10px}
.mood3{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;text-align:center}
.mood3 .m{display:flex;flex-direction:column;align-items:center;gap:8px}
.tod{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:#4A4860}
.tod-ic{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px}
.tod-ic.pink{background:#F8D7E3;color:#E27CA2}
.tod-ic.orange{background:#FBE4CD;color:#E89A55}
.tod-ic.purple{background:#E3DFF7;color:#8F86D6}
.mood3 img{width:72px;height:72px}
.pill{display:inline-block;background:#EFF2F9;border-radius:999px;padding:5px 13px;font-size:13px;font-weight:700;color:var(--ink-2)}
.kv li{display:flex;align-items:center;padding:9px 0;border-bottom:1px solid #EEF0F6;font-size:13px}
.kv li:last-child{border-bottom:0}
.kv .k{display:inline-flex;align-items:center;gap:8px;flex:0 0 152px;color:#3F3D57;border-right:1px solid #E6E8F0;margin-right:12px}
.kv .k .ic{font-size:18px;color:#8D8BCF}
.kv .v{display:inline-flex;gap:6px}
.kv .v em{font-style:normal;background:#EFF2F9;border-radius:10px;padding:4px 11px;font-size:12px;font-weight:600;color:var(--ink-2)}
.tabbar{position:absolute;left:0;right:0;bottom:0;height:86px;background:#fff;border-top:1px solid #EEEFF5;display:flex;justify-content:space-around;align-items:flex-end;padding:0 10px 16px}
.tabbar span{display:inline-flex;flex-direction:column;align-items:center;gap:4px;font-size:11px;color:#7C7B8E;width:60px}
.tabbar span .ic{font-size:24px}
.tabbar .on{color:#3F3D57}
.tabbar .fab{width:64px;height:64px;border-radius:50%;background:linear-gradient(145deg,#9A9BDD,#7F86CF);color:#fff;justify-content:center;transform:translateY(-16px);box-shadow:0 12px 24px -10px rgba(120,120,200,.7)}
.tabbar .fab .ic{font-size:30px}

/* paper memo */
.paper{position:absolute;background:#FEFCF9;border-radius:6px;padding:20px 24px 18px 50px;box-shadow:0 24px 50px -26px rgba(60,60,110,.45);color:#3B3A52}
.paper::before{content:"";position:absolute;left:12px;top:14px;bottom:14px;width:18px;background-image:radial-gradient(circle,#D7D7E1 5.5px,transparent 6.5px);background-size:18px 46px;background-repeat:repeat-y;background-position:0 6px}
.tape{position:absolute;top:-11px;right:28px;width:74px;height:22px;background:rgba(226,224,238,.78);transform:rotate(-1.5deg);border-radius:2px}
.paper-head{display:flex;align-items:center;gap:8px;font-weight:800;font-size:17px;color:var(--ink-2)}
.paper p{margin-top:8px;font-size:16px;line-height:2.15}
.paper .ruled{background-image:repeating-linear-gradient(to bottom,transparent 0 calc(2.15em - 1px),#ECE6DA calc(2.15em - 1px) 2.15em);padding-bottom:1px}
.emo-mini{width:26px;height:26px;object-fit:contain}
.emo-mini.lg{width:56px;height:56px}
.emo{pointer-events:none;user-select:none}

/* scale box */
.scale-box{--s:1;position:relative;width:calc(var(--w)*var(--s));height:calc(var(--h)*var(--s));overflow:visible}
.scale-box .scale-inner{position:absolute;left:0;top:0;width:var(--w);height:var(--h);transform:scale(var(--s));transform-origin:top left}

/* circles */
.circ{width:72px;height:72px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:34px;flex:none}
.circ.lav{background:#ECE6FC;color:#7F6BBD}
.circ.sky{background:#DFF0FD;color:#4C7BAF}
.circ.green{background:#E4F2E8;color:#5D8F72}
.circ.big{width:90px;height:90px;font-size:42px}

/* ===== Hero ===== */
.hero{position:relative;padding:28px 0 56px;overflow:hidden}
.hero>.container{width:min(1340px,calc(100% - 48px))}
.hero .wave-a{bottom:-60px}
.hero .wave-b{bottom:-130px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 700px;gap:10px;align-items:center;min-height:800px}
.hero-copy{padding:10px 0 40px 36px}
.hero-copy .eyebrow{margin-bottom:28px}
.hero h1{font-size:clamp(40px,5.6vw,84px);font-weight:800;line-height:1.2;color:var(--ink);letter-spacing:.01em;margin-bottom:28px;white-space:nowrap}
.hero-tagline{font-size:35px;font-weight:800;color:var(--ink-2);margin-bottom:22px;letter-spacing:.02em}
.hero .lead{font-size:21px;margin-bottom:34px}
.hero-more{display:flex;justify-content:center;width:520px;margin-top:26px;font-size:18px}
.hero-more .ic{font-size:18px}
.hero-art{justify-self:end;margin-right:-30px}
.phone-hero{left:0;top:16px}
.hero-note{left:400px;top:74px;width:272px;transform:rotate(-3deg)}
.hero-note p{font-size:15px}
.review-card{position:absolute;left:400px;top:350px;width:272px;background:#fff;border-radius:26px;padding:18px 18px 12px;box-shadow:0 26px 50px -28px rgba(60,60,110,.45);transform:rotate(-1.5deg)}
.rc-head{display:flex;align-items:center;gap:12px}
.ic-sq{width:46px;height:46px;border-radius:14px;background:#ECEAFA;color:#8F86D6;display:inline-flex;align-items:center;justify-content:center;font-size:26px;flex:none}
.rc-head b{font-size:18px;line-height:1.3;color:var(--ink-2)}
.rc-head .chev{margin-left:auto;font-size:20px;color:#8A89A0}
.rc-chart{width:100%;height:92px;margin-top:12px}
.hero-emo{position:absolute;left:330px;top:560px;width:190px;z-index:3;filter:drop-shadow(0 22px 24px rgba(50,40,90,.28))}

.benefits{display:grid;grid-template-columns:repeat(4,1fr);margin-top:34px;padding-top:14px}
.benefits li{display:flex;align-items:center;gap:18px;padding:10px 24px}
.benefits li+li{border-left:1px solid #E6E5F0}
.benefits b{display:block;font-size:19px;color:#1F1E31;margin-bottom:4px}
.benefits p{font-size:15px;line-height:1.65;color:#5A5A68}

/* ===== Sections common ===== */
.sec{padding:110px 0 90px}
.sec-copy{position:relative}

/* ===== 01 ===== */
.sec-01 .wave-c{bottom:-40px}
.sec-01-grid{grid-template-columns:minmax(0,1fr) 480px;gap:30px;align-items:start}
.sec-01 h2{margin-bottom:20px}
.card{background:#fff;border:1px solid #EEF0F8;border-radius:26px;padding:24px 28px;box-shadow:var(--shadow-card)}
.card-h{display:block;font-size:21px;font-weight:800;color:var(--ink);margin-bottom:16px}
.feel-card{margin-top:40px;background:#F7FAFE}
.chips{display:flex;gap:14px;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;gap:10px;padding:12px 24px;border-radius:999px;font-size:18px;font-weight:600;color:var(--ink-2)}
.chip i{width:18px;height:18px;border-radius:50%}
.c-joy{background:#FBEFE4}.c-joy i{background:#F3C9A6}
.c-calm{background:#E9F3EC}.c-calm i{background:#A9D3BD}
.c-anx{background:#E9EFFB}.c-anx i{background:#A9C2F5}
.c-irr{background:#F8E8EE}.c-irr i{background:#E39CB1}
.list-card{margin:28px 0 0 105px}
.feature-list li{display:flex;align-items:center;gap:20px;padding:14px 0;border-bottom:1px solid #ECEEF6}
.feature-list li:last-child{border-bottom:0}
.feature-list .circ{width:54px;height:54px;font-size:26px}
.feature-list b{font-size:23px;font-weight:800;color:var(--ink);width:72px}
.feature-list span:not(.circ){font-size:15px;color:#4A4860}
.feature-list .chev{margin-left:auto;font-size:22px;color:#6E6C8A}
.note-line{margin:30px 0 0 150px;font-size:16px;color:var(--muted)}
.emo-01{position:absolute;left:-30px;bottom:-20px;width:190px;z-index:2;filter:drop-shadow(0 20px 22px rgba(50,40,90,.25))}
.art-01{justify-self:end}
.phone-01{left:0;top:0;width:470px;height:900px;border-radius:72px}
.phone-01 .screen{border-radius:68px;background:linear-gradient(#F0F1FA,#F4F5FB 60%,#ECEEF8)}
.flow-top{display:flex;align-items:center;justify-content:space-between;padding:18px 28px 0}
.flow-top .cancel{font-size:17px;color:#7A7A9A;width:90px}
.flow-top>span:last-child{width:90px}
.flow-title{text-align:center}
.flow-title b{display:block;font-size:21px;color:var(--ink-2)}
.flow-title small{font-size:14px;color:var(--faint)}
.progress{display:flex;gap:6px;margin:18px 28px 0}
.progress i{flex:1;height:5px;border-radius:3px;background:#E1E3EF}
.progress .on{background:#6E7BC0}
.emo-bubble{display:flex;gap:12px;align-items:flex-start;margin:26px 22px 0}
.emo-bubble p{position:relative;background:#fff;border-radius:18px;padding:14px 18px;font-size:15.5px;line-height:1.65;color:var(--ink-2);box-shadow:0 10px 24px -18px rgba(60,60,110,.3)}
.emo-bubble p::before{content:"";position:absolute;left:-8px;top:22px;border:8px solid transparent;border-right-color:#fff;border-left:0}
.mood-card{background:#fff;margin:18px 22px 0;border-radius:24px;padding:18px 16px 16px;box-shadow:0 10px 24px -18px rgba(60,60,110,.3)}
.mood-card b{display:block;font-size:18px;font-weight:800;color:var(--ink-2);margin-bottom:12px}
.mood5{display:grid;grid-template-columns:repeat(5,1fr)}
.mood5 div{text-align:center}
.mood5 img{width:62px;height:62px;margin:0 auto}
.mood5 span{display:inline-block;margin-top:8px;font-size:13px;color:#6B6A80;padding:3px 7px;border-radius:999px;white-space:nowrap}
.mood5 .sel span{font-weight:700;color:var(--ink-2)}
.sel-blue span{background:#DCEAFB}
.sel-yellow span{background:#F3F1DF}
.sel-peach span{background:#FBE1D6}
.flow-nav{display:flex;justify-content:center;gap:44px;margin-top:28px}
.round-btn{width:76px;height:76px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:30px}
.round-btn.white{background:#fff;color:#3A3952;box-shadow:0 12px 26px -14px rgba(60,60,110,.4)}
.round-btn.purple{background:linear-gradient(145deg,#8F8BD8,#9AA6E0);color:#fff;box-shadow:0 14px 28px -12px rgba(120,120,200,.7)}
.save-link{text-align:center;margin-top:14px;font-size:15px;color:var(--muted);text-decoration:underline;text-underline-offset:4px}

/* ===== 02 ===== */
.sec-02{padding-top:100px}
.sec-02 .wave-d{bottom:-80px}
.sec-02 h2{margin-bottom:24px}
.sec-02 .eyebrow-num{margin-bottom:22px}
.cols-02{gap:60px;margin-top:52px}
.col-head{display:flex;align-items:center;gap:18px;margin-bottom:20px}
.col-head b{display:block;font-size:31px;font-weight:800;color:var(--ink);line-height:1.2;margin-bottom:6px}
.col-head p{font-size:17px;color:#4A4860}
.app-panel{position:relative;border-radius:38px;padding:26px 28px 30px;background:linear-gradient(180deg,#EDEFFA 0,#F6F7FD 36%,#FFFFFF 70%,#F3F5FC 100%);box-shadow:0 26px 60px -36px rgba(60,60,110,.45);min-height:500px;overflow:hidden}
.app-panel::before{content:"";position:absolute;left:-10%;right:-10%;top:30px;height:120px;background:radial-gradient(60% 100% at 30% 50%,rgba(220,224,246,.9),transparent 70%),radial-gradient(60% 100% at 80% 20%,rgba(228,236,250,.9),transparent 70%);filter:blur(10px)}
.app-panel>*{position:relative}
.app-panel .app-top{padding:0 4px}
.panel-title{text-align:center}
.panel-title b{display:inline-flex;align-items:center;gap:6px;font-size:19px;color:var(--ink-2)}
.panel-title b .sm{font-size:17px;color:#6E6C8A}
.panel-title small{display:block;font-size:14px;color:var(--faint);margin-top:2px}
.panel-title.row{display:inline-flex;align-items:center;gap:10px;font-size:22px;font-weight:800;color:var(--ink-2)}
.emotion-tag{display:flex;align-items:center;gap:8px;margin:26px 0 12px 8px;color:#4E7F67;font-weight:700;font-size:15px}
.emotion-tag .face{position:relative;width:28px;height:28px;font-size:28px}
.emotion-tag .face .spark{position:absolute;right:-4px;top:-4px;width:7px;height:7px;background:#F0C96A;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}
.emotion-tag .dot{width:8px;height:8px;border-radius:50%;background:#5F8F7A}
.note-bubble{background:#fff;border-radius:22px;padding:20px 26px;font-size:19px;line-height:1.75;color:var(--ink-2);box-shadow:0 14px 30px -24px rgba(60,60,110,.35)}
.app-panel .memo{position:relative;margin-top:24px;transform:rotate(-1.2deg);padding-left:56px}
.app-panel .memo p{font-size:17px}
.chat{display:flex;flex-direction:column;gap:16px;margin-top:34px}
.msg{display:flex;align-items:flex-end;gap:10px}
.msg.me{flex-direction:row-reverse}
.msg .bubble{padding:14px 22px;border-radius:22px;font-size:18px;color:var(--ink-2);line-height:1.5}
.msg.me .bubble{background:#DADAEF}
.msg.emo .bubble{background:#DEDFF2}
.msg time{font-size:13px;color:#6B6A80;padding-bottom:6px}
.msg .avatar{width:56px;height:56px;object-fit:contain}
.chat-input{display:flex;align-items:center;gap:14px;margin-top:78px}
.chat-input .ic{font-size:28px;color:#6E6C8A}
.chat-input .field{flex:1;background:#fff;border:1px solid #E6E7F1;border-radius:999px;padding:16px 24px;color:#9897AC;font-size:17px}
.emo-02{position:absolute;right:-40px;bottom:-40px;width:250px;z-index:3;filter:drop-shadow(0 22px 24px rgba(50,40,90,.25))}

/* ===== 03 ===== */
.sec-03 h2{margin-bottom:20px}
.sec-03-head{max-width:820px}
.sec-03-art{display:grid;grid-template-columns:minmax(0,1fr) 410px;gap:30px;align-items:start;margin-top:36px}
.sec-03-right{position:relative;margin-top:-250px}
.art-03l{--s:.96}
.phone-land{position:absolute;left:0;top:0;width:830px;height:520px;border-radius:64px;padding:4px;background:linear-gradient(160deg,#E6E6EA 0%,#B9B9C2 40%,#8E8E99 100%);box-shadow:0 50px 80px -40px rgba(45,45,90,.5),0 18px 40px -20px rgba(45,45,90,.25)}
.phone-land .screen{position:relative;height:100%;border-radius:60px;border:9px solid #1B1B22;overflow:hidden;padding:18px 22px}
.seg{margin:0 auto;width:470px;background:#F6F8FD;border-radius:999px;padding:6px;display:flex;box-shadow:inset 0 0 0 1px #ECEDF6}
.seg span{flex:1;text-align:center;padding:9px 0;font-size:16px;color:#4A4860;border-radius:999px}
.seg .on{background:#8A8FC4;color:#fff;font-weight:700}
.chart-card{background:#fff;border-radius:22px;padding:14px 18px 12px;margin-top:14px;box-shadow:0 10px 24px -18px rgba(60,60,110,.3)}
.chart-head{display:flex;align-items:center;justify-content:space-between}
.chart-head b{font-size:17px;color:var(--ink-2)}
.toggle{display:inline-flex;background:#F0F2F8;border-radius:11px;padding:3px}
.toggle span{padding:6px 16px;font-size:13px;color:#5A5872;border-radius:9px}
.toggle .on{background:#5E6396;color:#fff;font-weight:700}
.legend{display:flex;justify-content:flex-end;gap:14px;font-size:13px;color:#4A4860;margin-top:6px}
.legend span{display:inline-flex;align-items:center;gap:5px}
.legend i{width:10px;height:10px;border-radius:50%;display:inline-block}
.mood-chart{display:block;width:100%;height:118px;border-radius:10px;margin-top:6px}
.xaxis{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:13px;line-height:1.35;color:#4A4860;margin-top:8px}
.xaxis.small{font-size:11px;margin-top:4px}
.bars-wrap{display:flex;gap:10px;height:84px;margin-top:10px}
.yaxis{display:flex;flex-direction:column;justify-content:space-between;font-size:12px;color:#4A4860;line-height:1}
.bars{flex:1;display:grid;grid-template-columns:repeat(7,1fr);align-items:end;justify-items:center;border-bottom:1px solid #ECEEF6}
.bars i{display:block;width:18px;height:var(--h);border-radius:9px 9px 0 0;background:linear-gradient(180deg,#9A9CE0,#D5D7F2)}
.phone-03{left:0;top:0;width:400px;height:600px;border-radius:62px}
.phone-03 .screen{background:#fff}
.tabs2{display:flex;margin:26px 22px 0;border-bottom:1px solid #E6E7F1}
.tabs2 span{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:12px 0;font-size:17px;color:#5A5872}
.tabs2 .ic{font-size:19px}
.tabs2 .on{color:var(--ink-2);font-weight:700;border-bottom:3px solid #6E72A8;margin-bottom:-1px}
.month-row{display:flex;align-items:center;justify-content:space-between;margin:24px 30px 0;color:#8A89A0;font-size:20px}
.month-row b{display:inline-flex;align-items:center;gap:6px;font-size:20px;color:var(--ink-2)}
.month-row b .sm{font-size:16px;color:var(--ink-2)}
.cal{margin:22px 24px 0}
.cal .wd{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:15px;color:#5A5872}
.cal .days{display:grid;grid-template-columns:repeat(7,1fr);row-gap:18px;margin-top:14px}
.cal .days span{text-align:center}
.cal .days b{display:block;font-size:15px;font-weight:500;color:var(--ink-2);margin-bottom:6px}
.cal .days img{width:40px;height:40px;margin:0 auto}
.cal .days .empty{display:block;width:40px;height:40px;border-radius:50%;background:#F1F1F4;margin:0 auto}
.memo-03{position:relative;width:410px;margin-top:-30px;transform:rotate(-2.5deg);padding-left:56px;z-index:2}
.memo-03 p{font-size:17px}
.emo-03{position:absolute;right:-40px;bottom:-80px;width:230px;z-index:3;filter:drop-shadow(0 22px 24px rgba(50,40,90,.25))}
.benefits-03{margin-top:60px;grid-template-columns:repeat(4,1fr)}
.pro-note{display:flex;align-items:center;gap:16px;color:#5A5872;font-size:15px;line-height:1.65}
.pro-note .crown{font-size:40px;color:#8E89CB}

/* ===== 04 ===== */
.sec-04 .wave-e{bottom:-110px}
.sec-04 h2{margin-bottom:20px}
.cols-04{gap:30px;margin-top:44px}
.care-card{background:rgba(255,255,255,.72);border:1px solid #ECEBF6;border-radius:38px;padding:30px 32px 0;box-shadow:0 26px 60px -40px rgba(60,60,110,.4);overflow:hidden}
.care-card .col-head{margin-bottom:22px}
.mini-phone{position:relative;margin:0 auto;width:100%;max-width:440px;height:640px;border-radius:44px 44px 0 0;overflow:hidden;background:#fff;box-shadow:0 -10px 40px -30px rgba(60,60,110,.3),0 0 0 1px #ECEBF6}
.mini-phone .status{padding:16px 24px 0;position:absolute;left:0;right:0;top:0;z-index:2}
.round-btn.tl,.round-btn.tr{position:absolute;top:60px;width:44px;height:44px;font-size:20px;z-index:2}
.round-btn.tl{left:22px}
.round-btn.tr{right:22px}
.read .cover{position:relative;height:250px}
.read .cover>img:first-child{width:100%;height:100%;object-fit:cover}
.cover-emo{position:absolute!important;right:26px;bottom:8px;width:92px}
.sheet{position:relative;margin-top:-34px;background:#fff;border-radius:30px 30px 0 0;padding:24px 28px 28px}
.sheet .tag{display:inline-flex;align-items:center;gap:7px;background:#EDE8FB;color:#7A68C2;padding:7px 14px;border-radius:999px;font-size:14px;font-weight:700}
.sheet h4{font-size:27px;font-weight:800;color:var(--ink-2);line-height:1.4;margin:16px 0 12px}
.sheet p{font-size:15px;line-height:1.85;color:#4A4860}
.work .sky{position:relative;height:100%;padding:0 22px 26px;background:linear-gradient(180deg,#D7D8EE 0,#DEDFF3 22%,#E8E9F7 42%,#F2F3FB 62%,#F6F7FC 100%)}
.work .sky::before{content:"";position:absolute;left:-20%;right:-20%;top:120px;height:160px;background:radial-gradient(55% 70% at 30% 90%,rgba(205,207,238,.85),transparent 70%),radial-gradient(55% 80% at 75% 100%,rgba(214,215,242,.9),transparent 70%);filter:blur(6px)}
.work .sky>*{position:relative}
.star{position:absolute!important;width:6px;height:6px;background:#fff;border-radius:50%;opacity:.9;box-shadow:0 0 8px #fff}
.star.s1{left:60px;top:70px}.star.s2{left:120px;top:110px;width:4px;height:4px}.star.s3{right:70px;top:80px}.star.s4{right:120px;top:140px;width:4px;height:4px}
.work h4{text-align:center;font-size:29px;font-weight:800;color:var(--ink-2);margin-top:96px}
.divider{display:flex;align-items:center;justify-content:center;gap:12px;margin:8px 0;color:#9D96D7;font-size:16px}
.divider::before,.divider::after{content:"";width:72px;height:1px;background:#C7C4E8}
.work-lead{text-align:center;font-size:16px;color:#4A4860;margin:8px 0 14px}
.flow-label{display:flex;align-items:center;justify-content:center;gap:6px;font-size:14px;font-weight:700;color:#5B55A8}
.flow-label .ic{color:#6FA089;font-size:16px}
.steps{margin-top:12px}
.steps li{display:flex;align-items:center;gap:14px;background:#E8E5F6;border-radius:18px;padding:13px 18px}
.steps li+li{margin-top:12px;position:relative}
.steps li+li::before{content:"";position:absolute;left:34px;top:-12px;width:2px;height:12px;background:#C9C6EA}
.steps .n{width:36px;height:36px;border-radius:50%;background:#8E8AD0;color:#fff;font-weight:700;display:inline-flex;align-items:center;justify-content:center;font-size:16px;flex:none}
.steps b{display:block;font-size:16px;color:var(--ink-2)}
.steps small{display:block;font-size:13px;color:#5A5872;margin-top:2px}
.work-chips{display:flex;gap:10px;margin-top:16px}
.work-chips span{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 8px;border-radius:14px;font-size:14px;font-weight:700;white-space:nowrap}
.work-chips .g{background:#E9F3EE;color:#4F7F6B}
.work-chips .w{background:#fff;border:1px solid #E3E3EE;color:#5B55A8}
.work-chips .ic{font-size:16px}
.btn-block{display:flex;width:100%;margin-top:16px;padding:17px;font-size:19px;gap:10px}
.btn-block .ic{font-size:20px}
.foot-note{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:44px;font-size:16px;color:var(--muted)}
.foot-note .leaf{color:#6FA089;font-size:20px}
.foot-note .drop{color:#8FB6DB;font-size:20px}
.foot-note small{flex-basis:100%;text-align:center;font-size:13px;color:var(--faint);margin-top:-2px}

/* ===== 05 ===== */
.sec-05{padding:120px 0 70px}
.sec-05 .wave-f{top:0}
.sec-05-grid{grid-template-columns:minmax(0,1fr) 660px;gap:20px;align-items:center}
.art-05{--s:.92}
.sec-05 h2{margin-bottom:22px;font-size:50px;white-space:nowrap}
.pro-pill{display:inline-block;border:1.5px solid #B5B4D1;background:#F1F0FA;color:#353255;padding:4px 20px;border-radius:999px;font-size:17px;font-weight:600;margin-left:10px;line-height:1.6}
.rows-05{margin-top:34px}
.rows-05 li{display:flex;align-items:center;gap:22px;padding:20px 0;border-bottom:1px solid #E9E8F2;font-size:19px;color:var(--ink-2)}
.rows-05 li:last-child{border-bottom:0}
.rows-05 .circ{width:64px;height:64px;border-radius:20px;font-size:30px}
.rows-05 .circ.lav{background:#E9E5FA}
.rows-05 .circ.sky{background:#DDEBFB}
.art-05{justify-self:end}
.page{position:absolute;border-radius:10px;box-shadow:0 36px 70px -34px rgba(50,50,90,.45),0 0 0 1px rgba(255,255,255,.6)}
.page-summary{left:10px;top:90px;width:470px;transform:rotate(-3deg);z-index:2}
.page-mood{left:412px;top:0;width:308px;transform:rotate(2deg);z-index:0}
.page-sleep{left:430px;top:176px;width:300px;transform:rotate(3deg);z-index:1}
.emo-05{position:absolute;left:330px;top:600px;width:250px;z-index:4;filter:drop-shadow(0 22px 24px rgba(50,40,90,.25))}
.phone-05{left:500px;top:520px;width:250px;height:420px;border-radius:44px;transform:rotate(-8deg);z-index:3}
.phone-05 .screen{border-radius:40px;border-width:7px;background:#F3F4FB}
.rep-top{display:flex;align-items:center;gap:10px;padding:30px 18px 0;color:var(--ink-2)}
.rep-top .ic{font-size:18px}
.rep-top b{display:block;font-size:13px}
.rep-top small{font-size:10px;color:var(--faint)}
.page-pill{display:block;margin:10px auto 0;width:54px;text-align:center;background:#fff;border:1px solid #E3E3EE;border-radius:999px;font-size:12px;font-weight:700;padding:3px 0;color:var(--ink-2)}
.rep-preview{margin:10px 14px 0;width:calc(100% - 28px);border-radius:10px;box-shadow:0 8px 20px -14px rgba(60,60,110,.4)}
.rep-bar{position:absolute;left:0;right:0;bottom:0;height:92px;background:#fff;border-top:1px solid #ECECF2;display:flex;justify-content:space-around;align-items:center}
.rep-bar span{display:inline-flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--ink-2)}
.rep-bar .ic{font-size:22px}
.sec-05 .foot-note{margin-top:70px;padding-top:30px;border-top:1px solid #E6E5F0}

/* ===== Plans ===== */
.plans{position:relative;padding:110px 0 70px}
.plans h2{font-size:56px;margin-bottom:18px}
.plans .eyebrow{display:block;margin-bottom:14px}
.dots{display:flex;justify-content:center;gap:20px;margin:26px 0 36px}
.dots i{width:32px;height:32px;border-radius:50%;display:inline-block}
.plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.plan{background:#fff;border:1.5px solid #ECEAF5;border-radius:30px;padding:34px 40px 30px;box-shadow:0 24px 60px -40px rgba(60,60,110,.35)}
.plan.pro{background:#F6F4FD;border-color:#D9D3F5}
.plan-head{display:flex;align-items:center;gap:26px;padding-bottom:22px;border-bottom:1px solid #E4E2F0}
.plan-ic{width:94px;height:94px;border-radius:26px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:48px;flex:none}
.plan-ic.basic{background:linear-gradient(135deg,#80A5CF,#929FDC)}
.plan-ic.pro{background:linear-gradient(135deg,#9881D3,#7999D1)}
.plan-head b{display:block;font-size:48px;font-weight:700;color:var(--ink-2);line-height:1.1;letter-spacing:.02em}
.plan-head p{font-size:20px;color:#4A4860;margin-top:6px}
.plan ul{margin-top:12px}
.plan li{display:flex;align-items:center;gap:22px;padding:15px 0;font-size:21px;color:var(--ink-2)}
.chk{width:40px;height:40px;border-radius:50%;background:#ECE8FA;color:#5E65AE;display:inline-flex;align-items:center;justify-content:center;font-size:20px;flex:none}
.plan.pro .chk{background:#E6E0FA}
.plan-more{margin-top:36px;font-size:18px}
.plan-more .ic{font-size:18px}

/* ===== Closing ===== */
.closing{position:relative;padding:60px 0 50px;overflow:hidden}
.closing .wave-g{bottom:-40px}
.closing>.container{position:relative;z-index:1}
.closing-grid{display:grid;grid-template-columns:330px minmax(0,1fr);gap:40px;align-items:center}
.emo-close{width:300px;justify-self:center;filter:drop-shadow(0 22px 24px rgba(50,40,90,.25))}
.closing-copy{text-align:center;padding-right:60px}
.closing h2{font-size:48px;margin-bottom:12px;white-space:nowrap}
.closing .lead{font-size:21px}
.btn-close{min-width:600px;margin-top:28px;font-size:30px;padding:24px 60px}

/* ===== Footer ===== */
.site-footer{padding:30px 0 44px;position:relative;z-index:1}
.footer-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;flex-wrap:wrap}
.footer-inner .brand{font-size:27px}
.footer-inner p{font-size:14px;color:var(--muted);margin-top:4px}
.footer-inner nav{display:flex;align-items:center}
.footer-inner nav a{text-decoration:none;font-size:15px;color:#4A4860;display:inline-flex;align-items:center}
.footer-inner nav a+a::before{content:"";width:1px;height:14px;background:#C9C8D6;margin:0 22px}

/* ===== Responsive ===== */
@media (max-width:1340px){
  .hero-grid{grid-template-columns:minmax(0,1fr) 640px}
  .hero-art{--s:.91}
  .hero h1{font-size:76px}
  .hero-copy{padding-left:10px}
}
@media (max-width:1240px){
  .sec-01-grid{grid-template-columns:minmax(0,1fr) 430px}
  .art-01{--s:.9}
  .sec-05-grid{grid-template-columns:minmax(0,1fr) 580px}
  .art-05{--s:.8}
  .sec-05 h2{font-size:44px}
  .sec-03-art{grid-template-columns:minmax(0,1fr) 380px}
  .art-03l{--s:.86}
  .art-03p{--s:.9}
  .memo-03{width:380px}
  h2{font-size:46px}
  .plans h2,.closing h2{font-size:48px}
}
@media (max-width:1100px){
  .hero-grid{grid-template-columns:minmax(0,1fr);min-height:0;gap:20px}
  .hero-copy{padding:20px 0 0;text-align:center}
  .hero-copy .btn-hero{min-width:0;width:min(520px,100%)}
  .hero-more{width:100%}
  .hero-art{justify-self:center;margin-right:0;--s:1}
  .benefits{grid-template-columns:1fr 1fr;row-gap:10px}
  .benefits li:nth-child(3){border-left:0}
  .sec-01-grid{grid-template-columns:minmax(0,1fr)}
  .art-01{justify-self:center;--s:1}
  .emo-01{left:auto;right:-10px;bottom:-30px;width:170px}
  .list-card{margin-left:0;margin-right:90px}
  .note-line{margin-left:0}
  .cols-02{grid-template-columns:minmax(0,1fr);gap:50px}
  .emo-02{width:200px;right:-10px;bottom:-30px}
  .sec-03-art{grid-template-columns:minmax(0,1fr);gap:40px}
  .sec-03-right{margin-top:0;display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start}
  .art-03l{--s:1;margin:0 auto}
  .memo-03{margin-top:10px;width:auto;max-width:420px}
  .emo-03{right:0;bottom:-60px}
  .benefits-03{grid-template-columns:1fr 1fr}
  .benefits-03 li:nth-child(3){border-left:0}
  .cols-04{grid-template-columns:minmax(0,1fr)}
  .sec-05-grid{grid-template-columns:minmax(0,1fr);gap:40px}
  .art-05{justify-self:center;--s:1}
  .plan-grid{gap:28px}
  .plan-head b{font-size:40px}
  .plan li{font-size:19px}
}
@media (max-width:900px){
  .main-nav{position:absolute;top:84px;right:24px;flex-direction:column;align-items:stretch;gap:0;background:#fff;border:1px solid var(--card-line);border-radius:22px;padding:10px;box-shadow:var(--shadow-card);display:none;min-width:240px}
  .main-nav.is-open{display:flex}
  .main-nav a{padding:14px 18px;border-radius:14px}
  .main-nav a:hover{background:#F3F2FA}
  .main-nav .btn{margin-top:6px;justify-content:center}
  .menu-toggle{display:flex}
  .art-03l{--s:.9}
  .phone-land{left:0}
  .plan-grid{grid-template-columns:1fr}
  .closing-grid{grid-template-columns:1fr;text-align:center;gap:10px}
  .closing-copy{padding-right:0}
  .btn-close{min-width:0;width:min(600px,100%)}
  .emo-close{width:230px}
  h2{font-size:40px}
  .plans h2,.closing h2{font-size:40px}
  .col-head b{font-size:26px}
}
@media (max-width:760px){
  .hero h1{font-size:56px}
  .hero-tagline{font-size:26px}
  .hero .lead,.lead{font-size:17px}
  .btn-hero{font-size:22px;padding:18px 36px 18px 44px}
  .hero-art{--s:.8}
  .benefits{grid-template-columns:1fr}
  .benefits li{border-left:0!important;padding:10px 0}
  .art-01{--s:.85}
  .art-03l{--s:.78}
  .sec-03-right{grid-template-columns:minmax(0,1fr)}
  .art-03p{--s:.85}
  .emo-03{position:static;display:block;width:150px;margin:-10px 0 0 auto}
  .benefits-03{grid-template-columns:1fr}
  .benefits-03 li{border-left:0!important;padding:10px 0}
  .art-05{--s:.84}
  h2{font-size:34px}
  .plans h2,.closing h2{font-size:34px}
  .sec{padding:80px 0 70px}
  .plan{padding:26px 24px 22px}
  .plan-head{gap:18px}
  .plan-ic{width:72px;height:72px;font-size:38px;border-radius:20px}
  .plan-head b{font-size:34px}
  .plan-head p{font-size:16px}
  .plan li{font-size:17px;gap:16px}
  .footer-inner{flex-direction:column;align-items:flex-start}
  .footer-inner nav a+a::before{margin:0 14px}
}
@media (max-width:620px){
  .hero-art{--s:.68}
  .art-01{--s:.75}
  .art-03l{--s:.66}
  .art-05{--s:.72}
  .chip{font-size:16px;padding:10px 18px}
  .feature-list b{font-size:20px;width:60px}
  .list-card{margin-right:0}
  .emo-01{width:140px;bottom:-110px}
  .note-line{margin-bottom:70px}
  .emo-02{width:160px;right:-20px}
  .care-card{padding:22px 18px 0}
  .mini-phone{height:620px}
  .work-chips span{font-size:12px;padding:10px 6px}
  .brand{font-size:28px}
}
@media (max-width:520px){
  .hero-art{--s:.58}
  .art-01{--s:.66}
  .art-03l{--s:.55}
  .art-03p{--s:.78}
  .art-05{--s:.6}
  .hero h1{font-size:44px}
  .hero-tagline{font-size:22px}
  .eyebrow{font-size:14px}
  .closing h2{white-space:normal}
  .btn-hero{font-size:19px;width:100%;min-width:0}
  .eyebrow-num{font-size:15px}
  .eyebrow-num .num{font-size:24px}
  h2{font-size:29px}
  .plans h2,.closing h2{font-size:30px}
  .closing .lead{font-size:17px}
  .btn-close{font-size:20px;padding:18px 30px}
  .col-head .circ.big{width:68px;height:68px;font-size:32px}
  .col-head b{font-size:23px}
  .col-head p{font-size:15px}
  .app-panel{padding:22px 18px 24px;border-radius:30px}
  .note-bubble{font-size:16px;padding:16px 18px}
  .msg .bubble{font-size:15px;padding:12px 16px}
  .msg .avatar{width:44px;height:44px}
  .app-panel .memo{padding-left:48px}
  .app-panel .memo p,.memo-03 p{font-size:15px}
  .sheet h4{font-size:22px}
  .work h4{font-size:24px}
  .dots i{width:26px;height:26px}
  .dots{gap:14px}
}
@media (max-width:420px){
  .hero-art{--s:.46}
  .art-01{--s:.6}
  .art-03l{--s:.39}
  .art-03p{--s:.7}
  .art-05{--s:.45}
  h2{font-size:26px}
  .hero h1{font-size:38px}
  .closing h2{font-size:22px}
  .sec-05 h2{font-size:26px}
  .pro-pill{font-size:14px;padding:3px 14px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}

/* ===== Polish ===== */
/* 日本語の字詰め（palt）で見出しを締める */
h1,h2,.hero-tagline,.col-head b,.card-h,.plan-head b,.closing h2{font-feature-settings:"palt" 1;letter-spacing:.035em}
.hero h1{letter-spacing:.025em}
.lead,.benefits p,.rows-05 li,.plan li{font-feature-settings:"palt" 1;letter-spacing:.02em}
/* 波の帯: 二色でもう少し見えるように */
/* カード: 白い縁の立ち上がりと、深くて柔らかい影 */
/* 端末: フレームのハイライトと接地の影 */
/* ボタンとリンクの手触り */
.text-link{transition:color .2s ease,text-decoration-color .2s ease}
.main-nav a{transition:color .2s ease}
a:focus-visible,button:focus-visible{outline:3px solid #B9B5E6;outline-offset:3px;border-radius:999px}
/* ヘッダー: スクロールしたら細い線 */
.site-header{transition:box-shadow .3s ease,background .3s ease}
.site-header.is-scrolled{background:rgba(247,247,252,.94);box-shadow:0 1px 0 rgba(60,60,110,.08),0 12px 30px -26px rgba(60,60,110,.3)}
/* スクロールに合わせてふわっと出す（JS が効くときだけ） */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .75s cubic-bezier(.2,.7,.2,1)}
.js .reveal.is-in{opacity:1;transform:none}
.js .reveal.d1{transition-delay:.12s}.js .reveal.d2{transition-delay:.24s}.js .reveal.d3{transition-delay:.36s}
/* ヒーローの紙片とカードをゆっくり浮かせる */
/* フッター */
.site-footer{border-top:1px solid #E9E8F2;padding-top:36px}
.footer-inner nav a{transition:color .2s ease}
.footer-inner nav a:hover{color:var(--iris)}
@media (prefers-reduced-motion:reduce){
  .js .reveal{opacity:1;transform:none;transition:none}
  .btn-grad,.site-header{transition:none}
}

/* ===== Plan prices ===== */
.plan-price{margin-top:18px;padding-top:18px;border-top:1px solid #E4E2F0}
.price-row{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.price-row+.price-row{margin-top:6px}
.price-label{font-size:15px;color:var(--muted);min-width:2.2em}
.price-row b{font-size:30px;font-weight:800;color:var(--ink-2);letter-spacing:.01em;font-variant-numeric:tabular-nums}
.price-sub{font-size:15px;color:var(--muted)}
.price-note{margin-top:10px;font-size:14px;line-height:1.7;color:var(--muted)}
@media (max-width:760px){.price-row b{font-size:26px}}

/* ===== Brand（アプリの実トークンに揃える） ===== */
:root{--grad:linear-gradient(135deg,#817AC9 0%,#79A8DD 100%);--bg:#F8F8FD;--shadow-card:0 6px 22px -2px rgba(0,0,0,.07),0 2px 10px 0 rgba(0,0,0,.045);--ink:#253041;--ink-2:#3F3A38;--text:#3F3A38;--muted:#6B6461;--faint:#6B6461;--iris:#3F4A7A;--iris-2:#8C82D6;--link:#3F4A7A;--card-line:#EEEEEE}
.btn{text-shadow:0 0 1.5px rgba(43,43,43,.45),0 1px 3px rgba(0,0,0,.30)}
.btn-grad{box-shadow:0 6px 14px rgba(129,122,201,.30);transition:filter .2s ease}
.btn-grad:hover{filter:brightness(1.03)}
a:focus-visible,button:focus-visible{outline-color:#8C82D6}
.brand{color:#253041;letter-spacing:.06em}
.site-header{background:rgba(255,255,255,.6)}
.site-header.is-scrolled{background:rgba(242,243,252,.94);box-shadow:0 1px 0 rgba(60,60,110,.08)}
.hero{background:linear-gradient(180deg,#DFDCF4 0%,#EDF4FC 24%,#FFFFFF 52%,#F9FBFE 100%)}
.backdrop-waves{position:absolute;top:0;left:0;width:100%;height:280px;filter:none;pointer-events:none}
.wave{filter:none}
.closing::after{content:"";position:absolute;left:0;right:0;bottom:0;height:360px;background:linear-gradient(0deg,rgba(240,246,252,.36) 0%,rgba(241,240,250,0) 100%);pointer-events:none;z-index:0}
.site-footer{border-top:0}
/* 文字 */
.eyebrow-num{color:#3F4A7A;letter-spacing:.1em}
.eyebrow-num .num{color:#8C82D6}
.eyebrow-num .rule{background:#C6C0EA}
.eyebrow{letter-spacing:.14em}
.text-link{text-decoration-color:#C6C0EA}
.benefits b{color:var(--ink)}
.benefits p{color:var(--muted);line-height:1.8}
.pro-note{color:#6B6461}
.pro-note .crown{color:#817AC9}
.footer-inner nav a{color:#6B6461}
body{line-height:1.8}
.lead{line-height:2;letter-spacing:.03em}
.plan-head p,.col-head p{color:#6B6461}
/* 影（AppShadows.card / feature・EmoMemoPaper） */
.card,.review-card,.app-card,.chart-card,.mood-card,.emo-bubble p,.note-bubble{box-shadow:0 5px 14px -2px rgba(0,0,0,.05)}
.plan,.care-card,.app-panel{box-shadow:var(--shadow-card)}
.card,.plan{border:1px solid #EEEEEE}
.paper{box-shadow:0 5px 16px rgba(0,0,0,.12)}
.phone,.phone-land{box-shadow:0 24px 48px -28px rgba(45,45,90,.35),0 8px 18px -12px rgba(45,45,90,.18)}
.page{box-shadow:0 18px 40px -24px rgba(50,50,90,.30),0 0 0 1px rgba(255,255,255,.6)}
.hero-emo,.emo-01,.emo-02,.emo-03,.emo-05,.emo-close{filter:drop-shadow(0 10px 12px rgba(50,40,90,.16))}
.round-btn.white{box-shadow:0 5px 14px -2px rgba(0,0,0,.08)}
/* 動き（背景は静止・出現は小さく） */
.js .reveal{transform:translateY(8px);transition:opacity .5s ease-out,transform .5s ease-out}
.js .reveal.d1{transition-delay:.06s}.js .reveal.d2{transition-delay:.12s}.js .reveal.d3{transition-delay:.18s}
.star{opacity:.6;box-shadow:none}
/* えもメモ紙（EmoMemoPaper の実値） */
.paper{background:#FDFCF9;color:#4A4034;padding:16px 18px 20px 44px}
.paper::before{left:12px;top:14px;bottom:14px;width:10px;background-image:radial-gradient(circle,#F4F1EB 5px,transparent 5.5px);background-size:10px 20%;background-repeat:repeat-y;background-position:0 0;filter:drop-shadow(0 1px 1px rgba(0,0,0,.10))}
.tape{top:-8px;right:28px;width:64px;height:22px;background:rgba(242,243,252,.55);border-top:.5px solid rgba(255,255,255,.7);border-bottom:.5px solid rgba(255,255,255,.7);box-shadow:0 1px 4px rgba(0,0,0,.08);transform:rotate(-1.5deg);border-radius:0}
.paper-head{font-size:15px;font-weight:800;color:#4A4034}
.paper .ruled{background-image:repeating-linear-gradient(to bottom,transparent 0 calc(2.15em - .8px),#F0EDE6 calc(2.15em - .8px) 2.15em)}
.app-panel .memo,.memo-03{padding-left:44px}
/* 吹き出し（テーマの chatEmoBubbleGradient / chatUserBubbleColor） */
.msg .bubble{border-radius:16px}
.msg.emo .bubble{background:linear-gradient(135deg,#CBC7ED,#C5DDF5)}
.msg.me .bubble{background:#C6C0EA}
.msg time{color:#6B6461}
.chat-input .field{border:1px solid #EEEEEE;color:#B1B3B6}
.chat-input .ic{color:#3F4A7A}
/* 端末の中（紫を 3 色に絞る） */
.screen-wavy,.phone-01 .screen{background:linear-gradient(180deg,#DFDCF4 0%,#EDF4FC 24%,#FFFFFF 52%,#F9FBFE 100%)}
.phone-05 .screen{background:#F2F3FC}
.progress i{background:#E5E5EA}
.progress .on{background:#817AC9}
.seg .on{background:#817AC9}
.toggle .on{background:#3F4A7A}
.tabs2 .on{color:#3F3A38;border-bottom-color:#817AC9}
.tabbar .on{color:#3F4A7A}
.tabbar .fab,.round-btn.purple,.plan-ic.pro,.btn-block{background:var(--grad)}
.tabbar .fab,.round-btn.purple{box-shadow:0 6px 14px rgba(129,122,201,.30)}
.kv .k{color:#3F3A38}
.kv .k .ic{color:#817AC9}
.pill,.kv .v em{background:#F3F4F6;color:#3F3A38}
.ic-sq{background:#EDECF7;color:#6D67AA}
.ic-circle{background:#817AC9}
.bars i{background:linear-gradient(180deg,#817AC9,#D5D7F2)}
.sel-blue span{background:#C4DAF0}
.sel-yellow span{background:#E5E1D8}
.sel-peach span{background:#F8DCCF}
.cal .days .empty{background:#E2E3E7}
.steps .n{background:#817AC9}
.steps li{background:#EDECF7}
/* 丸台座・感情チップ・チェック・タグ */
.circ.lav{background:#EDECF7;color:#6D67AA}
.circ.sky{background:#ECF3FA;color:#4F6F92}
.circ.green{background:#EBF9EF;color:#4F8170}
.rows-05 .circ.lav{background:#EDECF7}
.rows-05 .circ.sky{background:#ECF3FA}
.c-joy{background:#F9EADD}.c-joy i{background:#F0CBA9}
.c-calm{background:#E9F1EC}.c-calm i{background:#C9DDD0}
.c-anx{background:#E8EFF7}.c-anx i{background:#C5D7EA}
.c-irr{background:#F2E2E8}.c-irr i{background:#DFB6C5}
.chk{background:#EDECF7;color:#6D67AA}
.plan.pro .chk{background:#E9E7F7}
.plan.pro{background:#F1F0FA;border-color:#DBDEE9}
.sheet .tag{background:#EDECF7;color:#3F4A7A}
.work-chips .g{background:#EBF9EF;color:#4F8170}
.work-chips .w{color:#3F4A7A;border-color:#EEEEEE}
.pro-pill{border:1px solid #DBDEE9;background:#F1F0FA;color:#3F4A7A;text-decoration:none}
/* 無料で選べる 6 色 */
.dots{margin:26px 0 10px}
.dots i{box-shadow:inset 0 0 0 2px rgba(255,255,255,.7)}
.dots-cap{text-align:center;font-size:14px;color:#6B6461;margin-bottom:36px}
/* 価格（ペイウォールと同じ文言・同じ大きさの条件） */
.price-band{display:inline-block;margin-bottom:8px;background:#EAE8F8;color:#3F4A7A;font-size:13px;font-weight:700;padding:3px 12px;border-radius:999px;letter-spacing:.04em}
.price-row b{font-size:26px;font-weight:700}
.price-label,.price-sub,.price-note{font-size:15px;line-height:1.8;color:#6B6461}
.price-note+.price-note{margin-top:4px}
@media (max-width:760px){.price-row b{font-size:24px}}
/* プラン比較（ペイウォールの表と同じ） */
.plan-compare{max-width:760px;margin:36px auto 0;text-align:center}
.plan-compare summary{display:inline-flex;list-style:none;cursor:pointer;font-size:18px}
.plan-compare summary::-webkit-details-marker{display:none}
.plan-compare table{width:100%;margin-top:22px;border-collapse:separate;border-spacing:0;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 5px 14px -2px rgba(0,0,0,.05);text-align:left}
.plan-compare th,.plan-compare td{padding:14px 18px;border-bottom:1px solid #EDEBF2;font-size:16px;color:#3F3A38}
.plan-compare tbody tr:last-child th,.plan-compare tbody tr:last-child td{border-bottom:0}
.plan-compare td{text-align:center;color:#6B6461}
.plan-compare thead th{font-weight:700;text-align:center}
.plan-compare th:nth-child(2),.plan-compare td:nth-child(2){background:#F1F0FA}
.plan-compare th:nth-child(3),.plan-compare td:nth-child(3){background:#E9E7F7}
@media (max-width:620px){.plan-compare th,.plan-compare td{padding:12px 10px;font-size:14px}}
.pro-note a,.foot-note small a{color:#3F4A7A;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#C6C0EA}
/* 隅の葉のぼかし（同梱の小枝のアルファを借りる） */
.blob{background:none;border-radius:0;filter:blur(10px);opacity:.75}
.blob::before{content:"";position:absolute;inset:0;background:var(--leaf,#D7E5DA)}
.blob-l{left:-80px;bottom:120px;width:360px;height:360px;--leaf:#D3E2D6;transform:scaleX(-1)}
.blob-r{right:-20px;bottom:40px;width:440px;height:440px;--leaf:#D7E5DA}
.blob-l2{left:-90px;top:auto;bottom:-20px;width:400px;height:400px;--leaf:#D9E6DC;transform:scaleX(-1)}
.blob-l3,.blob-r3{width:460px;height:460px;--leaf:#E4E8EE;opacity:.6}
.blob-r5{right:-40px;top:20px;width:380px;height:380px;--leaf:#D9E6DC}
@media (max-width:520px){.blob{width:300px!important;height:300px!important}}
/* フッターのロゴ */
.footer-logo{display:inline-block;margin:0 0 4px -10px}
.footer-logo img{width:120px;height:auto;display:block}

.plan-grid{align-items:start}

/* ===== 生成イラストの組み込み（2026-10-17） ===== */
.work .sky{background:url(assets/work-sky.webp?v=20261017) center/cover no-repeat}
.work .sky::before{display:none}
.read .cover>img:first-child{object-position:center 70%}
.blob{filter:blur(7px);opacity:.62}
.blob::before{background:url(assets/leaf-sprig.webp?v=20261017) center/contain no-repeat;-webkit-mask:none;mask:none}
.blob-l,.blob-l2{transform:scaleX(-1)}
.emo-mini,.msg .avatar{object-fit:contain}
.read .cover>img:first-child{object-position:right 70%}
@media (max-width:760px){.blob{opacity:.4}}

/* ===== ヘッダーのロゴ（横長ロックアップ） ===== */
.brand-logo{display:inline-flex;align-items:center;line-height:0}
.brand-logo img{height:44px;width:auto;display:block}
@media (max-width:620px){.brand-logo img{height:38px}}
@media (max-width:420px){.brand-logo img{height:34px}}
