﻿:root{color-scheme:light;--paper:#f7f2e7;--ink:#303b30;--green:#293f34;--gold:#b59962;--serif:"Yu Mincho","YuMincho","Hiragino Mincho ProN",serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:2;overflow-wrap:anywhere}p{margin:0 0 24px}p:last-child{margin-bottom:0}h1,h2,h3{font-family:var(--serif);font-weight:500}h2{font-size:34px;line-height:1.8;letter-spacing:.055em;margin:0 0 32px}h3{font-size:25px;line-height:1.7;margin:0 0 12px}img{display:block;max-width:100%}button{font:inherit;cursor:pointer}.masthead{position:absolute;z-index:3;top:0;left:0;right:0;padding:26px 6%;max-width:1500px;margin:auto}.brand{font-family:var(--serif);font-size:27px;letter-spacing:.16em}.hero{position:relative;min-height:760px;max-width:1500px;margin:auto;isolation:isolate;background:#ede4d4;overflow:hidden}.hero-photo{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}.hero:after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,#f3ecdfe8,#f3ecdf60 45%,transparent 75%)}.hero-copy{position:relative;z-index:1;padding:135px 9% 0}.hero h1{font-size:66px;line-height:1.65;letter-spacing:.12em;margin:0}.hero-promise{position:relative;z-index:1;font-family:var(--serif);font-size:21px;line-height:2.1;margin:28px 9% 60px;letter-spacing:.05em}.section-pad{padding:85px 30px}.understanding{text-align:center;max-width:850px;margin:auto}.intro{line-height:2.1}.perspectives{display:flex;align-items:center;justify-content:center;margin:36px auto 28px;gap:16px}.perspectives>div{display:flex;flex-direction:column;justify-content:center;border:1px solid #ad976d;width:190px;height:190px;border-radius:50%;background:#eee6d6}.perspectives>div:last-child{background:#e3e9df;border-color:#98a28a}.term{font-family:var(--serif);font-size:18px;letter-spacing:.18em;color:#736747;margin-bottom:7px}.perspectives strong{font-family:var(--serif);font-weight:500;font-size:23px;line-height:1.6}.join{font-size:24px;color:#8c805f}.understanding-note{max-width:530px;margin:auto;text-align:left;line-height:2.1}.classics{background:#283b31;color:#f6efde;display:grid;grid-template-columns:1fr 1fr}.classics-visual{position:relative;min-height:640px;isolation:isolate;overflow:hidden}.classics-visual img{width:100%;height:100%;position:absolute;object-fit:cover}.classics-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#16281b10,#16281b80)}.classics-visual h2{position:relative;z-index:1;writing-mode:vertical-rl;margin:60px 45px 0 auto;font-size:39px;line-height:1.8;letter-spacing:.15em;text-shadow:0 2px 15px #172519}.classics-copy{padding:60px 10%;max-width:650px}.classics-intro{font-family:var(--serif);font-size:23px;line-height:1.9}.book{padding:25px 0;border-top:1px solid #81907766}.book h3{color:#e6c994;font-size:32px;letter-spacing:.12em}.book p{font-size:16px;line-height:2}.classics-end{border-top:1px solid #81907766;padding-top:28px;font-size:16px;line-height:2.1}.classics-end strong{font-weight:500;color:#ecd0a1}.possibility{position:relative;isolation:isolate;height:390px;display:flex;justify-content:center;align-items:center;text-align:center}.possibility img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.possibility:after{content:"";position:absolute;inset:0;background:#152e1c51;z-index:-1}.possibility h2{color:white;text-shadow:0 2px 18px #132d17;margin:0;font-size:38px;line-height:2}.benefits{max-width:780px;margin:auto}.benefits>h2{text-align:center}.benefit{display:flex;gap:26px;padding:30px 0;border-bottom:1px solid #d3c5a9}.benefit:last-child{border:0;padding-bottom:0}.number{font-family:var(--serif);color:#9b7d48;font-size:32px;line-height:1.5}.benefit p{line-height:2.05}.consultation{background:#e8deca;text-align:center;padding:70px 30px 65px;border-top:1px solid #d0c09e}.consultation-inner{max-width:650px;margin:auto}.consultation h2{font-size:34px}.invitation{max-width:470px;margin:28px auto 0;padding-top:27px;border-top:1px solid #c0b08c}.cta{background:var(--green);color:#fff7e8;border:1px solid var(--green);border-radius:2px;display:flex;align-items:center;justify-content:center;gap:35px;width:100%;padding:19px 20px;min-height:67px;font-family:var(--serif);font-size:21px;letter-spacing:.06em;box-shadow:0 5px 16px #293f3420}.cta:hover{background:#3d5948}.cta:focus-visible{outline:3px solid #aa8345;outline-offset:4px}.caption{font-size:13px;margin-top:12px;color:#605c4f}.consultation p{line-height:2.1}dialog{width:calc(100% - 40px);max-width:440px;border:1px solid #d9d1ba;padding:28px;color:var(--ink);background:var(--paper);border-radius:4px}dialog::backdrop{background:#1e2c2488}dialog h2{font-size:21px;margin-bottom:18px}
@media(max-width:760px){h2{font-size:28px;line-height:1.9;margin-bottom:27px}h3{font-size:23px}.masthead{padding:20px 25px}.brand{font-size:24px}.hero{min-height:575px}.hero-photo{height:490px;top:0;object-position:right center;width:100%}.hero:after{background:linear-gradient(180deg,#f3ecdf 0%,#f3ecdf00 27%,#f3ecdf00 59%,#f3ecdf 83%),linear-gradient(270deg,#f3ecdf 0%,#f3ecdfeb 30%,#f3ecdf99 51%,transparent 72%)}.hero-copy{padding:11px 29px 0 0;display:flex;justify-content:flex-end}.hero h1{writing-mode:vertical-rl;text-shadow:0 0 5px #f3ecdf,0 0 12px #f3ecdf;font-size:39px;line-height:1.65;letter-spacing:.13em;height:365px}.hero-promise{margin:63px 27px 30px;font-size:18px;line-height:2;letter-spacing:.025em}.section-pad{padding:54px 27px}.intro{font-size:16px;margin-bottom:22px}.perspectives{gap:8px;margin:30px auto 25px}.perspectives>div{width:143px;height:143px;flex-shrink:1}.term{font-size:16px;margin-bottom:5px}.perspectives strong{font-size:20px}.join{font-size:19px}.understanding-note{font-size:16px;line-height:2.1}.classics{display:block}.classics-visual{min-height:330px}.classics-visual img{object-position:center 57%}.classics-visual:after{background:linear-gradient(90deg,transparent,#13211699)}.classics-visual h2{margin:0 28px 0 auto;padding-top:29px;font-size:28px;line-height:1.8;letter-spacing:.15em;height:310px}.classics-copy{padding:35px 29px 39px}.classics-intro{font-size:21px;margin-bottom:25px}.book{padding:21px 0}.book h3{font-size:29px;margin-bottom:9px}.book p{font-size:16px;line-height:2}.classics-end{padding-top:24px;font-size:15px}.possibility{height:285px}.possibility h2{font-size:26px;line-height:2}.benefits>h2{margin-bottom:12px}.benefit{padding:25px 0;gap:17px}.number{font-size:25px}.benefit h3{font-size:22px;margin-bottom:10px;letter-spacing:0}.benefit p{font-size:16px;line-height:2}.consultation{padding:43px 27px 37px;text-align:left}.consultation h2{font-size:26px;letter-spacing:.02em}.consultation p{font-size:15px}.invitation{padding-top:24px}.cta{font-size:20px;gap:22px;padding:17px 15px}.caption{text-align:center;font-size:13px!important}}
@media(max-width:360px){.section-pad{padding-left:23px;padding-right:23px}.perspectives>div{height:130px}.perspectives strong{font-size:18px}.classics-copy{padding-left:24px;padding-right:24px}.classics-end{font-size:14px}.benefit h3{font-size:20px}.consultation{padding-left:23px;padding-right:23px}}
.brand-lockup{display:inline-flex;align-items:center;gap:12px}.brand-mark{display:block;position:relative;width:45px;height:43px;overflow:hidden;mix-blend-mode:multiply}.brand-mark img{position:absolute;width:78px;height:78px;max-width:none;left:-16px;top:-19px}.brand-lockup .brand{font-size:25px;letter-spacing:.13em;line-height:1.4}.masthead{padding-top:21px;padding-bottom:21px}@media(max-width:760px){.masthead{padding:19px 25px}.brand-lockup{gap:9px}.brand-mark{width:36px;height:35px}.brand-mark img{width:65px;height:65px;left:-14px;top:-16px}.brand-lockup .brand{font-size:22px;letter-spacing:.12em}}
/* Editorial composition: distinct type surfaces, clear photography. */
:root{--paper:#f8f3e8;--ink:#242e27;--green:#23382c}
.hero h1 span{display:block}.hero h1 span:first-child{font-size:.65em;letter-spacing:.16em}.hero:after{background:linear-gradient(90deg,#f3ecdfef 0%,#f3ecdfb0 28%,transparent 57%)}
.understanding{padding-top:86px;padding-bottom:86px}.understanding h2{font-size:39px;line-height:1.75;letter-spacing:.1em}.understanding h2:after{content:"";display:block;width:1px;height:39px;background:#a68a54;margin:28px auto 0}.intro{font-family:var(--serif);font-size:19px;line-height:2.05}.perspectives{gap:25px;margin:40px auto 32px}.perspectives>div{border-radius:0;background:none!important;border:0;border-top:1px solid #b6a27e;border-bottom:1px solid #b6a27e;width:205px;height:162px}.perspectives>div:last-child{border-color:#86937d}.term{font-size:17px;letter-spacing:.22em}.perspectives strong{font-size:25px}.understanding-note{color:#575b50;font-size:16px}
.classics{background:#202f26}.classics-visual h2{font-size:42px;letter-spacing:.16em}.classics-copy{padding-top:64px;padding-bottom:60px}.classics-intro{font-size:25px;line-height:1.9;margin-bottom:36px}.book{display:grid;grid-template-columns:74px 1fr;gap:26px;padding:32px 0}.book h3{writing-mode:vertical-rl;font-size:29px;letter-spacing:.16em;margin:0;line-height:1.6;justify-self:center}.book p{align-self:center;line-height:2.2}.classics-end{padding-top:32px;line-height:2.25}
.possibility{height:430px}.possibility:after{background:linear-gradient(90deg,#10231970,#10231920)}.possibility h2{padding:25px 36px;border-top:1px solid #f5eedb99;border-bottom:1px solid #f5eedb99;font-size:35px;line-height:2;letter-spacing:.1em}
.benefits{padding-top:80px;padding-bottom:80px;max-width:870px}.benefits>h2{font-size:36px;margin-bottom:28px}.benefit{gap:30px;padding:35px 0}.benefit h3{font-size:28px;margin-bottom:16px}.benefit p{color:#55594e}.number{font-size:38px;line-height:1.4;color:#927442;min-width:36px}.consultation{background:#e9e0cb;padding:24px}.consultation-inner{max-width:820px;border:1px solid #b2a17c;padding:60px 35px}.consultation h2{font-size:36px;line-height:1.8;letter-spacing:.06em}.consultation .invitation{border:0;margin-top:32px;padding-top:0}.invitation>p:first-child{font-family:var(--serif);font-size:18px;line-height:2}.cta{border-radius:0;background:#253d2c;min-height:73px;border:1px solid #8c9b7e;outline:1px solid #253d2c;outline-offset:3px;box-shadow:none;letter-spacing:.1em}.caption{margin-top:18px}
@media(max-width:760px){
.hero{min-height:630px;background:#f3ecdf}.hero-photo{top:0;height:515px;object-position:right center}.hero:after{background:linear-gradient(180deg,transparent 0%,transparent 66%,#f3ecdf 84%)}.hero-copy{padding:28px 0 0 23px;justify-content:flex-start}.hero h1{writing-mode:horizontal-tb;display:flex;flex-direction:row-reverse;align-items:flex-start;gap:10px;font-size:35px;height:365px;line-height:1.2;text-shadow:none;letter-spacing:.08em}.hero h1 span{writing-mode:vertical-rl;background:#f8f3e8;padding:11px 6px 9px;box-shadow:0 2px 12px #281d1512;line-height:1.2}.hero h1 span:first-child{font-size:35px;letter-spacing:.08em}.hero h1 span:nth-child(2){margin-top:21px}.hero h1 span:nth-child(3){margin-top:42px}.hero-promise{font-size:18px;margin:121px 26px 34px;line-height:2;letter-spacing:.04em}
.understanding{padding:54px 27px 58px}.understanding h2{font-size:29px;line-height:1.9;letter-spacing:.07em;margin-bottom:26px}.understanding h2:after{height:27px;margin-top:23px}.intro{font-size:16px;line-height:2.15}.perspectives{gap:13px;margin:31px auto 27px}.perspectives>div{width:142px;height:142px}.perspectives strong{font-size:21px}.term{font-size:15px}.join{font-size:19px}.understanding-note{font-size:16px;line-height:2.1}
.classics-visual{min-height:330px}.classics-visual:after{background:linear-gradient(90deg,transparent,#15241999)}.classics-visual h2{font-size:29px;padding-top:29px;margin-right:25px;letter-spacing:.12em}.classics-copy{padding:36px 27px 40px}.classics-intro{font-size:22px;margin-bottom:28px;line-height:1.9}.book{grid-template-columns:42px 1fr;gap:20px;padding:28px 0}.book h3{font-size:28px;line-height:1.4}.book p{font-size:16px;line-height:2.1}.book p br{display:none}.classics-end{font-size:15px;line-height:2.2;padding-top:27px}
.possibility{height:315px;padding:0 23px}.possibility h2{font-size:25px;padding:22px 7px;line-height:2.1;letter-spacing:.035em;width:100%}.benefits{padding:55px 26px 57px}.benefits>h2{font-size:28px;margin-bottom:22px}.benefit{gap:16px;padding:27px 0}.number{font-size:30px;min-width:28px}.benefit h3{font-size:22px;line-height:1.7;margin-bottom:12px}.benefit p{font-size:16px;line-height:2.1}.consultation{padding:15px}.consultation-inner{padding:35px 20px 28px}.consultation h2{font-size:25px;letter-spacing:0;line-height:1.85;margin-bottom:25px}.consultation p{font-size:15px}.consultation p br{display:block}.consultation .invitation{margin-top:25px}.invitation>p:first-child{font-size:17px;margin-bottom:29px}.invitation>p:first-child br{display:block}.cta{font-size:19px;gap:18px;letter-spacing:.04em;min-height:65px;padding:16px 10px}
}
@media(max-width:360px){.hero h1,.hero h1 span:first-child{font-size:32px}.hero-copy{padding-left:20px}.hero h1{gap:8px}.classics-copy{padding-left:23px;padding-right:23px}.classics-end{font-size:14px}.benefit{gap:13px}.benefit h3{font-size:20px}.consultation-inner{padding-left:16px;padding-right:16px}.consultation h2{font-size:23px}}
.benefits{max-width:1050px}.benefits>h2{display:flex;justify-content:center;align-items:center;gap:25px;margin-bottom:60px}.benefits-count{font-size:105px;font-weight:400;line-height:1;color:#7a6848}.benefits>h2>span:last-child{font-size:30px;line-height:1.9;text-align:left}.benefit{display:grid;grid-template-columns:44% 40px 1fr;gap:25px;align-items:center;padding:36px 0;border-color:#cabd9f}.benefit-visual{width:100%;height:270px;overflow:hidden;position:relative}.five-visual{background:#ede7d9}.five-visual svg{width:100%;height:100%;display:block}.connection-visual{background:#e2e6dc;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 15px}.connection-pair{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;font-family:var(--serif);text-align:center;line-height:1.8;font-size:15px}.connection-pair>span:nth-child(2){color:#788168;font-size:23px}.connection-pair b{font-size:25px;font-weight:500}.connection-result{margin-top:22px;padding-top:20px;position:relative;border-top:1px solid #98a28b;font-family:var(--serif);font-size:20px;letter-spacing:.05em}.connection-result:before{content:"";width:1px;height:15px;position:absolute;top:-16px;background:#98a28b;left:50%}.daily-visual img{width:100%;height:100%;object-fit:cover}.daily-visual:after{content:"";position:absolute;inset:0;background:#1730223d}.daily-visual>span{position:absolute;z-index:1;inset:0;display:flex;justify-content:center;align-items:center;text-align:center;font-family:var(--serif);font-size:25px;line-height:1.9;letter-spacing:.08em;color:white;text-shadow:0 2px 12px #14251b}.benefit h3{font-size:25px}.benefit .number{align-self:start;padding-top:4px}.benefit>div:last-child{align-self:start;padding-top:5px}
@media(max-width:760px){.benefits{padding:57px 25px 58px}.benefits>h2{gap:17px;margin-bottom:37px}.benefits-count{font-size:82px}.benefits>h2>span:last-child{font-size:24px;line-height:1.9;letter-spacing:.025em}.benefit{grid-template-columns:32px 1fr;gap:14px 14px;padding:0 0 34px;margin-bottom:35px;border-color:#cdbd9a}.benefit:last-child{margin-bottom:0;padding-bottom:0}.benefit-visual{grid-column:1/-1;height:250px;margin-bottom:7px}.benefit h3{font-size:22px;margin-bottom:13px}.benefit .number{font-size:32px;line-height:1.5;padding-top:0}.benefit>div:last-child{padding-top:4px}.benefit p{font-size:16px;line-height:2.15}.connection-visual{height:227px}.connection-pair{gap:14px;font-size:15px}.connection-pair b{font-size:27px}.connection-result{font-size:21px}.daily-visual{height:248px}.daily-visual>span{font-size:26px}.hero-copy{padding-top:20px}.hero h1{font-size:33px}.hero h1 span:first-child{font-size:33px}.hero h1 span:nth-child(2){margin-top:15px}.hero h1 span:nth-child(3){margin-top:30px}.hero-promise{margin-top:129px}}
.five-visual{height:auto!important;overflow:visible;background:#f5efdf}.five-visual img{width:100%;height:auto;display:block}
.five-visual{width:84%;max-width:330px;justify-self:center;background:transparent}.five-visual img{width:100%;height:auto}@media(max-width:760px){.five-visual{width:84%;max-width:270px}}
@media(max-width:760px){
.hero{background:var(--paper);min-height:0}
.hero:after{inset:0 0 auto;height:515px;background:linear-gradient(180deg,transparent 0%,transparent 65%,var(--paper) 100%)}
.hero-promise{margin:150px 26px 0;padding:0 0 36px;font-size:18px;line-height:2}
}
@media(max-width:760px){.hero h1 span{background:rgba(248,243,232,.87);color:#30382e;box-shadow:0 0 9px 2px rgba(248,243,232,.16)}}
@media(max-width:760px){
.hero h1 span{position:relative;isolation:isolate;background:transparent;box-shadow:none}
.hero h1 span:before{content:"";position:absolute;inset:-2px;z-index:-1;background:rgba(248,243,232,.92);filter:blur(7px);pointer-events:none}
}
/* Two perspectives presented as a single composed figure. */
.understanding{max-width:850px;padding-top:78px;padding-bottom:78px}.understanding h2{letter-spacing:.09em;line-height:1.8}.understanding h2:after{width:42px;height:1px;margin:28px auto 0;background:#a58c5d}.understanding .intro{font-family:var(--sans);font-size:17px;line-height:2.2;color:#51564a}.perspectives{position:relative;isolation:isolate;max-width:530px;gap:18px;padding:35px 24px;margin:37px auto 30px;background:linear-gradient(125deg,#34483a,#24372d);color:#fbf4e6;border:1px solid #9f8c65;box-shadow:0 9px 22px #263b2d0c}.perspectives:before{content:"";position:absolute;inset:6px;border:1px solid #bca67b55;pointer-events:none}.perspectives>div,.perspectives>div:last-child{width:190px;height:auto;min-height:141px;border:0;background:none}.perspectives .term{color:#d6bf91;font-family:var(--serif);font-size:29px;letter-spacing:.22em;margin-bottom:20px;padding-left:.22em;line-height:1.4}.perspectives strong{font-size:22px;font-weight:400;line-height:1.8;letter-spacing:.03em}.perspectives .join{font-size:21px;color:#c4af83;align-self:center}.understanding-note{font-size:16px;line-height:2.2;max-width:530px;padding-left:20px;border-left:1px solid #b4a080;color:#56594e}
@media(max-width:760px){.understanding{padding:50px 27px 55px}.understanding h2{font-size:29px;line-height:1.85;letter-spacing:.055em;margin-bottom:29px}.understanding h2:after{width:34px;margin-top:24px}.understanding .intro{font-size:16px;line-height:2.15;margin-bottom:23px}.perspectives{margin:32px -7px 29px;padding:29px 16px 27px;gap:9px;max-width:none}.perspectives>div,.perspectives>div:last-child{width:calc((100% - 35px)/2);min-height:130px}.perspectives .term{font-size:26px;margin-bottom:17px;letter-spacing:.2em}.perspectives strong{font-size:19px;line-height:1.85;letter-spacing:.02em}.perspectives .join{font-size:18px}.understanding-note{font-size:16px;line-height:2.15;padding-left:17px}}
.connection-visual{height:270px;padding:0;background:#f0e8d8;border:1px solid #b4a17b;justify-content:space-between;overflow:visible;box-shadow:0 7px 18px #3d392707}
.connection-pair{position:relative;flex:1;padding:31px 19px 24px;gap:15px;align-items:center;font-size:14px;color:#746951;letter-spacing:.035em}
.connection-pair:before{content:"";position:absolute;inset:7px 7px 0;border:1px solid #c2b18d66;border-bottom:0;pointer-events:none}
.connection-pair>span:not(:nth-child(2)){flex:1;white-space:nowrap}
.connection-pair b{display:inline-block;margin-top:12px;font-size:33px;color:#2b3c30;font-weight:500;letter-spacing:.09em;padding-left:.09em;line-height:1.4}
.connection-pair>span:nth-child(2){font-size:22px;color:#a28b5e;font-weight:400;padding-top:23px}
.connection-result{width:100%;text-align:center;padding:21px 12px;margin:0;background:#2c4033;color:#f5ecda;border-top:1px solid #b9a173;font-size:22px;line-height:1.7;letter-spacing:.1em}
.connection-result:before{width:1px;height:18px;top:-19px;background:#a28b5e}
@media(max-width:760px){.connection-visual{height:244px}.connection-pair{padding:27px 15px 23px;gap:11px;font-size:14px}.connection-pair b{font-size:31px;margin-top:10px}.connection-pair>span:nth-child(2){font-size:20px}.connection-result{font-size:20px;letter-spacing:.07em;padding:18px 10px}}
.connection-visual{height:210px}.connection-pair{padding:20px 18px 17px}.connection-result{padding:14px 12px}.connection-result:before{height:12px;top:-13px}
@media(max-width:760px){.connection-visual{height:184px}.connection-pair{padding:17px 15px 14px}.connection-pair b{font-size:29px;margin-top:7px}.connection-result{font-size:19px;padding:12px 10px}}
.connection-visual{width:88%;max-width:350px;justify-self:center;height:185px}.connection-pair{font-size:13px;padding:17px 13px 14px;gap:10px}.connection-pair b{font-size:28px;margin-top:7px}.connection-pair>span:nth-child(2){font-size:18px;padding-top:18px}.connection-result{font-size:19px;padding:12px 9px}
@media(max-width:760px){.connection-visual{width:86%;max-width:280px;height:160px}.connection-pair{font-size:12px;padding:14px 11px 12px;gap:8px}.connection-pair b{font-size:25px;margin-top:6px;letter-spacing:.06em}.connection-pair>span:nth-child(2){font-size:17px;padding-top:17px}.connection-result{font-size:17px;padding:10px 8px;letter-spacing:.055em}}
/* Overlapping perspectives, without a framed card. */
.connection-visual{width:100%;max-width:350px;height:auto;padding:8px 0 5px;background:none;border:0;box-shadow:none;overflow:visible;display:block}
.connection-pair{height:148px;padding:0;gap:0;position:relative;isolation:isolate;font-size:13px;line-height:1.8;color:#77705d}
.connection-pair:before{display:none}
.connection-pair>span:not(:nth-child(2)){flex:none;width:148px;height:148px;display:flex;flex-direction:column;align-items:center;justify-content:center;white-space:normal;border:1px solid #ab9570;border-radius:50%;background:rgba(221,206,172,.16);line-height:1.8}
.connection-pair>span:first-child{margin-right:-17px;padding-right:9px}
.connection-pair>span:last-child{margin-left:-17px;padding-left:9px;border-color:#7b8a75;background:rgba(105,128,101,.09)}
.connection-pair br{display:none}
.connection-pair b{margin-top:7px;font-size:27px;letter-spacing:.07em;padding:0;line-height:1.5}
.connection-pair .connection-cross{position:relative;z-index:2;flex:none;width:34px;padding:0;font-size:18px;color:#8e805e}
.connection-result{position:relative;width:max-content;max-width:100%;margin:24px auto 0;padding:0 0 8px;background:none;color:#344533;border:0;border-bottom:1px solid #bbaa865e;font-size:19px;letter-spacing:.09em;line-height:1.7}
.connection-result:before{display:none}
@media(max-width:760px){.connection-visual{width:100%;max-width:300px;height:auto;padding-top:3px}.connection-pair{height:133px;font-size:12px}.connection-pair>span:not(:nth-child(2)){width:133px;height:133px}.connection-pair b{font-size:25px;margin-top:5px}.connection-result{font-size:18px;margin-top:21px;padding-bottom:7px}.connection-pair .connection-cross{font-size:17px}}
.connection-pair .connection-cross{width:16px}
a.cta{text-decoration:none}
@media(max-width:760px){.benefits{padding-bottom:43px}}
/* ── お見立てをお受けになった方の声 ───────────────────────────
   吹き出しはCSSで描く（画像だと縮小で文字が潰れるため）。
   角丸・内側余白・しっぽの大きさは実際のLINEのスクショから実測した値。 */
.voices-lead{max-width:700px;margin:auto;padding:60px 30px 0}
.voices-eyebrow{font-family:var(--serif);font-size:15px;letter-spacing:.16em;color:#7d6c4a;margin:0 0 20px;display:flex;align-items:center;gap:16px}
.voices-eyebrow:after{content:"";flex:1;height:1px;background:#cbbb96}
.voices{max-width:700px;margin:auto;text-align:center}
.voices>h2{font-size:34px;margin-bottom:16px}
.voices-sub{font-family:var(--serif);font-size:17px;line-height:2;color:#6d6857;margin:0 0 40px}
.voice-list{display:flex;flex-direction:column;align-items:flex-start;gap:30px}
/* 二重枠。中はトーク画面の地の色にして、切り取った一部に見せる。figure の既定 margin を消す。 */
.voice{position:relative;isolation:isolate;margin:0;width:100%;max-width:640px;padding:20px 22px;background:#f3ecdd;border:1px solid #bfab81}
.voice:before{content:"";position:absolute;inset:4px;border:1px solid #d7c7a5;pointer-events:none}
/* 吹き出し。width:fit-content で中身の長さに合わせて伸縮する（短い感想は幅が縮む）。 */
.bubble{position:relative;width:fit-content;max-width:100%;margin:0 0 0 9px;padding:13px 21px 15px;background:#e9e0cb;border-radius:13px;font-family:var(--sans);font-size:16px;line-height:1.45;letter-spacing:.01em;color:#3d4136;text-align:left}
/* しっぽ。幅ゼロの要素に太い枠線を付け、右辺だけ色を残して三角にしている。 */
.bubble:before{content:"";position:absolute;left:-8px;top:12px;border-style:solid;border-width:0 9px 10px 0;border-color:transparent #e9e0cb transparent transparent}
.bubble p{margin:0 0 1.45em;line-height:inherit}
.bubble p:last-child{margin-bottom:0}
@media(max-width:760px){
.voices-lead{padding:42px 18px 0}
.voices-eyebrow{font-size:14px;margin-bottom:16px;gap:13px}
.voices{padding:52px 18px 54px}
.voices>h2{font-size:27px;margin-bottom:13px}
.voices-sub{font-size:15px;margin-bottom:28px}
.voice-list{gap:20px}
.voice{padding:14px 15px}
.bubble{font-size:15px;padding:12px 16px 14px;margin-left:8px;border-radius:12px}
.bubble:before{top:11px;left:-7px;border-width:0 8px 9px 0}
}
@media(max-width:360px){.bubble{font-size:14.5px;padding:11px 14px 13px}}

/* FVの一文を写真からもう少し離す（スマホのみ）。既定は margin-top:150px、写真の下端との間隔20px。 */
@media(max-width:760px){.hero-promise{margin-top:164px}}
