/* Listening-first philosophy | ReHeart main portal
   Scoped page theme, using the same colors and navigation as kokoro guides. */
.philosophy-page{background:#faf9f5;color:#2d4638;font-family:"Noto Sans JP",sans-serif}
.lp-page{--lp-forest:#294b3b;--lp-muted:#63796b;--lp-gold:#ab936d;--lp-border:#e0e4d9;--lp-paper:#fffefa;max-width:1190px;padding-bottom:72px}
.lp-breadcrumb{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:23px 0 28px;color:#849387;font-size:11px;line-height:1.9}
.lp-breadcrumb a{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px}
.lp-breadcrumb a:hover{text-decoration-color:currentColor}
.lp-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(270px,.8fr);gap:clamp(22px,4vw,55px);align-items:center;padding:clamp(28px,5vw,66px);border:1px solid #e0e3d7;border-radius:24px;background:radial-gradient(ellipse 50% 70% at 93% 17%,#e9eee5,transparent),linear-gradient(120deg,#fffefa,#f5f4ed);overflow:hidden}
.lp-eyebrow{display:block;color:#a18a66;font:600 11px/1.5 Georgia,serif;letter-spacing:.21em;margin-bottom:16px}
.lp-hero h1{margin:0 0 24px;color:var(--lp-forest);font:500 clamp(29px,3.6vw,47px)/1.65 "Shippori Mincho",serif;letter-spacing:.035em;text-wrap:pretty}
.lp-hero__lead{margin:0 0 17px;color:#365a43;font:600 clamp(15px,1.55vw,18px)/2 "Noto Sans JP",sans-serif}
.lp-hero__desc{max-width:630px;color:#5b7362;font-size:13px;line-height:2.15;margin:0}
.lp-hero__aside{position:relative;min-height:280px;display:flex;flex-direction:column;justify-content:center;padding:33px;border:1px solid #dce3d5;border-radius:17px;background:linear-gradient(145deg,#f0f4ed,#e8eee5);box-shadow:0 15px 45px #2949390b}
.lp-hero__aside:before{content:"“";position:absolute;top:-14px;right:25px;color:#b6a47c8c;font:110px/1 "Shippori Mincho",serif}
.lp-hero__aside small{font:600 11px/1.5 Georgia,serif;letter-spacing:.16em;color:#978766}
.lp-hero__aside p{position:relative;margin:26px 0;color:#355b43;font:500 clamp(21px,2.2vw,28px)/2 "Shippori Mincho",serif;letter-spacing:.04em}
.lp-hero__aside span{display:block;color:#768d79;font-size:11px;line-height:1.9}
.lp-toc{max-width:900px;margin:36px auto 0;padding:22px 27px;background:#fffefa;border:1px solid #e5e7de;border-radius:15px}
.lp-toc__label{font:500 18px/1.6 "Shippori Mincho",serif;color:#315441;margin:0 0 12px}
.lp-toc__links{display:flex;flex-wrap:wrap;gap:8px 12px}
.lp-toc__links a{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid #e0e7db;border-radius:20px;color:#59735e;background:#f5f7f1;font-size:11px;line-height:1.6;text-decoration:none}
.lp-toc__links a:hover{background:#e9efe6;border-color:#b6cbb6}
.lp-main{max-width:900px;margin:55px auto 0}
.lp-section{margin:0 0 55px;scroll-margin-top:32px}
.lp-section h2{margin:0 0 23px;padding:15px 0 18px;border-bottom:1px solid #dfe5db;color:#2c523d;font:600 clamp(23px,2.5vw,30px)/1.7 "Shippori Mincho",serif;letter-spacing:.025em}
.lp-section h2:after{content:"";display:block;margin-top:10px;width:49px;height:2px;background:#ab9c78}
.lp-section h3{margin:27px 0 12px;color:#335746;font:600 18px/1.7 "Shippori Mincho",serif}
.lp-section p{font-size:14px;line-height:2.15;color:#475e4d;margin:0 0 19px}
.lp-section strong{color:#2d543c;font-weight:700;background:linear-gradient(transparent 68%,#efe7d7 68%)}
.lp-quote{margin:30px 0;padding:29px 32px;border-left:3px solid #9cae95;border-radius:0 14px 14px 0;background:linear-gradient(115deg,#f2f4ed,#faf9f3)}
.lp-quote p{margin:0;color:#315540;font:500 clamp(20px,2vw,26px)/1.85 "Shippori Mincho",serif}
.lp-quote cite{display:block;margin-top:12px;color:#758878;font-size:11px;font-style:normal}
.lp-beliefs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:26px 0 25px}
.lp-belief{padding:22px 24px;border:1px solid #e0e5db;border-radius:13px;background:#fffefa}
.lp-belief span{display:block;color:#a88f66;font:600 11px/1.4 Georgia,serif;letter-spacing:.13em}
.lp-belief h3{margin:9px 0 8px;font:600 19px/1.65 "Shippori Mincho",serif;color:#2f543f}
.lp-belief p{margin:0;color:#688071;font-size:12px;line-height:2}
.lp-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:26px 0}
.lp-step{padding:24px 19px;border:1px solid #dce6da;border-radius:12px;background:#f6f8f3}
.lp-step span{font:600 11px/1 Georgia,serif;color:#99835e;letter-spacing:.12em}
.lp-step h3{margin:13px 0 8px;color:#325541;font:600 19px/1.65 "Shippori Mincho",serif}
.lp-step p{font-size:12px;color:#6b7e70;line-height:2;margin:0}
.lp-note{padding:19px 24px;margin-top:24px;border-left:3px solid #aa9b7b;background:#f8f6ef;border-radius:0 9px 9px 0}
.lp-note p{font-size:12px;color:#6e7c6a;line-height:2;margin:0}
.lp-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin:28px 0}
.lp-service{display:flex;flex-direction:column;min-width:0;padding:27px 26px;border:1px solid #dae4d8;border-radius:15px;background:#fffefa;box-shadow:0 10px 30px #334f3a0a}
.lp-service__kicker{font:600 11px/1.5 Georgia,serif;color:#a18762;letter-spacing:.12em}
.lp-service h3{margin:12px 0 9px;color:#315541;font:500 22px/1.65 "Shippori Mincho",serif}
.lp-service p{font-size:12px;color:#697e6e;line-height:2;margin:0 0 18px;flex:1}
.lp-service a{font-size:12px;font-weight:600;color:#315b43;align-self:flex-start;text-decoration:underline;text-underline-offset:5px}
.lp-faq details{padding:17px 18px;border-bottom:1px solid #e0e7de;background:#fffefa}
.lp-faq details:first-of-type{border-top:1px solid #e0e7de}
.lp-faq summary{cursor:pointer;color:#345642;font-size:13px;font-weight:600;line-height:1.9}
.lp-faq details p{margin:12px 0 2px;padding-left:8px;color:#617667;font-size:12px;line-height:2}
.lp-next{margin:65px 0 10px;padding:32px clamp(22px,4vw,45px);border:1px solid #d7e0d2;border-radius:18px;background:radial-gradient(circle at 100% 0%,#e3ebdd,transparent 55%),linear-gradient(125deg,#f4f7f0,#faf9f3)}
.lp-next h2{margin:0 0 13px;font:500 25px/1.7 "Shippori Mincho",serif;color:#2c503b}
.lp-next p{font-size:13px;color:#677c6c;line-height:2.05;margin:0 0 20px}
.lp-next__links{display:flex;flex-wrap:wrap;gap:11px}
.lp-next__links a{display:inline-block;padding:11px 18px;border-radius:99px;border:1px solid #a5bba7;background:#fffefa;color:#365c42;font-size:12px;font-weight:600;text-decoration:none}
.lp-next__links a:first-child{background:#345b43;color:#fff;border-color:#345b43}
.lp-next__links a:hover{border-color:#67886e}
@media(max-width:870px){.lp-hero{grid-template-columns:1fr;gap:20px}.lp-hero__aside{min-height:0;padding:23px 30px}.lp-hero__aside p{margin:14px 0}.lp-main{margin-top:40px}}
@media(max-width:670px){.lp-page{padding-bottom:42px}.lp-breadcrumb{margin:18px 0}.lp-hero{padding:31px 22px;border-radius:17px}.lp-hero h1{font-size:30px}.lp-hero__lead{font-size:15px}.lp-hero__desc{font-size:12px}.lp-hero__aside{padding:20px}.lp-hero__aside p{font-size:23px}.lp-toc{padding:18px 17px;margin-top:23px}.lp-main{margin-top:35px}.lp-section{margin-bottom:43px}.lp-section h2{font-size:23px}.lp-section p{font-size:13px}.lp-beliefs,.lp-services{grid-template-columns:1fr}.lp-steps{grid-template-columns:1fr}.lp-step{padding:19px 22px}.lp-quote{padding:22px}.lp-next{margin-top:47px;padding:25px 20px}.lp-next h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
