:root{--gold:#d7b978;--gold-ink:#141210;--dock:88px}
.gold-link{display:inline-flex;position:relative;overflow:hidden;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:15px 24px;border:1px solid #a88443;border-radius:3px;background:#d7b978;color:#141210;font-weight:700;line-height:1.7;text-decoration:none;cursor:pointer}
.gold-link:visited{color:#141210}.gold-link:hover{color:#141210;background:#e0c88f}
.diagnosis-primary:after{content:'';position:absolute;inset:-20% auto -20% -45%;width:30%;background:linear-gradient(100deg,transparent,#fff9,transparent);transform:translateX(0) skewX(-18deg);animation:gold-glint 8s infinite;pointer-events:none}
@keyframes gold-glint{0%,80%{transform:translateX(0) skewX(-18deg);opacity:0}83%{opacity:.8}97%,100%{transform:translateX(550%) skewX(-18deg);opacity:0}}
.rose-link,.gold-link,.line-link,button{transition:transform .2s ease,opacity .2s ease}
.rose-link:hover,.gold-link:hover,.line-link:hover,button:not(:disabled):hover{transform:translateY(-2px)}
.brand{width:198px;flex-shrink:0}.brand img{display:block;width:198px;height:80px;object-fit:contain}.brand-sub{display:none!important}
.topline>.container{justify-content:flex-end;gap:22px}.topline .line-small{min-height:32px;padding:3px 12px;font-size:12px;background:var(--line);color:#092e19;border:0}
.header-main{min-height:108px;padding-block:12px;gap:22px}.desktop-nav{gap:18px}.desktop-nav a{font-size:13px;white-space:nowrap}
.header-cta{gap:10px}.header-cta a{min-height:48px;padding:12px 16px;font-size:13px;white-space:nowrap}
.site-header.is-scrolled{box-shadow:0 5px 24px #21170c24}.site-header.is-scrolled .header-main{min-height:90px;padding-block:4px}.site-header.is-scrolled .brand img{transform:scale(.9)}
.brand img{transform-origin:left center;transition:transform .3s ease}.topline{min-height:40px}.mobile-menu .gold-link{color:#141210;margin-bottom:12px}
.subpage-hero{position:relative;isolation:isolate;overflow:hidden;padding-block:45px 55px;background:#f5efe5}
.subpage-photo{position:absolute;inset:0;z-index:-2;object-fit:cover;object-position:55% 35%;width:100%;height:100%;opacity:.36;animation:sub-photo-in .8s both}
.subpage-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f7f2e8fc 5%,#f7f2e8e6 47%,#f7f2e840)}
.subpage-hero>.container{position:relative;animation:sub-copy-in .7s both}.subpage-hero p{max-width:780px;color:#4d453b}
@keyframes sub-photo-in{from{opacity:0;transform:scale(1.03)}to{opacity:.36;transform:scale(1)}}
@keyframes sub-copy-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
.motion-ready .reveal:not(.is-visible){opacity:0;transform:translateY(22px)}
.reveal{transition:opacity .6s ease,transform .6s ease;transition-delay:var(--reveal-delay,0s)}
.section-heading h2,.section-block>.container>h2{position:relative;padding-bottom:21px}
.section-heading h2:after,.section-block>.container>h2:after{content:'';position:absolute;left:0;bottom:0;width:64px;height:1px;background:#ae8747;transform-origin:left;transform:scaleX(1);transition:transform .6s ease .15s}
.section-heading.center h2:after{left:calc(50% - 32px)}.motion-ready .reveal:not(.is-visible) h2:after{transform:scaleX(0)}
.count-number{display:inline-block;font-variant-numeric:tabular-nums;white-space:nowrap}
.diagnosis-cta{background:#eee5d6;text-align:center;border-top:1px solid var(--rule)}.diagnosis-cta h2{font-size:clamp(28px,3vw,40px);line-height:1.7}.diagnosis-cta p{max-width:720px;margin:0 auto 25px}.diagnosis-cta .button-row{justify-content:center}.diagnosis-cta .line-small{margin-top:20px;min-height:40px;padding:8px 18px;font-size:13px}.diagnosis-cta h2:after{left:calc(50% - 32px)!important}
.newsletter-box{padding:48px 0;background:#fffaf1;border-block:1px solid #d5c8b1}.newsletter-box>.container{max-width:840px}.newsletter-box h2{font-size:27px;margin-bottom:12px}.newsletter-box form{display:grid;gap:12px}.newsletter-box input[type=email]{max-width:560px}.newsletter-box label{font-size:14px}.newsletter-box button{justify-self:start}.newsletter-box p{font-size:14px}.newsletter-box [role=status]{margin:0}
.carousel{position:relative}.carousel-window{overflow:hidden;touch-action:pan-y}.carousel-track{display:flex;gap:24px;transform:translateX(0);transition:transform .5s ease;will-change:transform}.carousel-item{flex:0 0 calc((100% - 48px)/3);min-width:0}.carousel-controls{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:22px}.carousel-controls button{width:44px;min-height:44px;border:1px solid #c3aa80;background:#fff;color:#3f3020;border-radius:50%;cursor:pointer}.carousel-controls button[data-carousel-pause]{width:auto;border-radius:3px;padding:8px 16px;font-size:13px}.carousel-position{font-size:13px;color:#6f6253;min-width:40px;text-align:center}.carousel-item .voice-card{height:100%}.carousel-item article>img{width:100%;aspect-ratio:16/10;object-fit:cover;margin-bottom:18px}.carousel-item h3 a{display:inline-block;text-decoration:none}.carousel-item h3 a:hover{text-decoration:underline}.carousel-item time{font-size:13px;color:var(--muted)}
.faq-filter{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}.faq-filter button{min-height:44px;border:1px solid #c7b48e;background:white;color:#3c3020;padding:9px 16px;border-radius:3px}.faq-filter button[aria-pressed=true]{background:#665034;color:white}.restored-faq details{border-block-start:1px solid var(--rule);padding-block:0}.restored-faq summary{font-weight:600;cursor:pointer;min-height:56px;padding:18px 38px 18px 18px}.restored-faq details>div,.restored-faq details>p{padding:0 22px 20px}
.site-footer .brand{width:198px}.site-footer .brand img{height:80px}.footer-brand p{max-width:600px}.ai-launcher.is-hero-covered{opacity:0;pointer-events:none;transform:translateY(12px)}
body[data-preview=false] .mock-only{display:none!important}
@media(max-width:1350px){.header-main{gap:16px}.desktop-nav{gap:12px}.desktop-nav a{font-size:12px}.brand,.brand img{width:174px}.brand img{height:80px}.header-cta a{padding-inline:12px;font-size:12px}}
@media(max-width:1150px){.desktop-nav{display:none}.header-main{justify-content:space-between}.header-cta{margin-left:auto}.mobile-toggle{display:block;border:1px solid #b79b68;background:transparent;color:#f3e3b5;min-height:48px;padding:10px 14px}}
@media(max-width:1050px){.topline{display:none}.header-main{min-height:92px}.brand,.brand img{width:180px}.brand img{height:68px}.site-header.is-scrolled .header-main{min-height:76px}.header-cta{display:flex}}
@media(max-width:700px){
 .header-main{min-height:88px;padding-block:10px}.brand,.brand img{width:172px}.brand img{height:68px}.header-cta{display:none}.mobile-toggle{font-size:12px;min-height:46px;padding:9px 13px}.site-header.is-scrolled .header-main{min-height:76px;padding-block:4px}.site-header.is-scrolled .brand img{transform:scale(.94)}
 .subpage-hero{padding-block:30px 36px}.subpage-hero h1{font-size:29px;line-height:1.65}.subpage-photo{object-position:65% 25%;opacity:.25}.subpage-hero:before{background:linear-gradient(90deg,#f7f2e8f5,#f7f2e8b0)}.subpage-hero p{font-size:14px}
 .mobile-dock{grid-template-columns:repeat(5,minmax(0,1fr));padding:6px 3px calc(6px + env(safe-area-inset-bottom));min-height:88px;align-items:stretch}.mobile-dock a{min-width:0;min-height:74px;font-size:12px;line-height:1.55;padding:6px 2px;overflow-wrap:normal;word-break:normal;border:0}.mobile-dock .dock-icon{font-size:18px}.mobile-dock .dock-line{background:transparent;color:#187444;font-weight:700;border-right:0}.mobile-dock .dock-diagnosis{background:#d7b978;color:#141210;font-weight:700;border-radius:5px;transform:translateY(-4px);box-shadow:0 3px 9px #6c542333}.mobile-dock .dock-diagnosis .dock-icon{font-size:25px}.mobile-dock a:last-child{font-size:12px;color:#4a3329}.mobile-dock a span:last-child{max-width:100%;font-size:12px}
 .carousel-item{flex-basis:88%}.carousel-track{gap:16px}.carousel-controls{justify-content:center}.diagnosis-cta .button-row{gap:12px}.diagnosis-cta .gold-link{padding-inline:15px}.diagnosis-cta .line-small{width:auto}.newsletter-box{padding:36px 0}.newsletter-box button{width:100%}.newsletter-box h2{font-size:24px}
 .site-footer .brand img{height:80px}.site-footer .brand{width:198px}.ai-launcher{bottom:calc(var(--dock) + 12px + env(safe-area-inset-bottom));right:12px}
 .faq-filter{display:grid;grid-template-columns:1fr 1fr;gap:8px}.faq-filter button{padding-inline:7px;font-size:13px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal:not(.is-visible){opacity:1;transform:none}.carousel-track{will-change:auto}}
/* Let the question start immediately, without repeating the quiz introduction. */
body[data-page=diagnosis] .breadcrumb{margin-block:12px}
body[data-page=diagnosis] .subpage-hero{padding-block:16px 20px}
body[data-page=diagnosis] .subpage-hero h1{font-size:clamp(25px,3vw,36px);margin-block:5px 10px}
body[data-page=diagnosis] .subpage-hero .eyebrow,body[data-page=diagnosis] .subpage-hero p{display:none}
body[data-page=diagnosis] .page-body{padding-top:24px}
body[data-page=diagnosis] .dv2>.section-block:first-child{padding-top:0}
body[data-page=diagnosis] .dv2>.section-block:first-child>.container>.dv2-kicker{display:none}
body[data-page=diagnosis] .dv2>.section-block:first-child>.container>.dv2-notice{display:none}
body[data-page=diagnosis] .dv2>.section-block:first-child>.container>.dv2-lead{font-size:14px;margin:0 0 4px}
body[data-page=diagnosis] .dv2>.section-block:first-child>.container>.dv2-supervision{margin:0 0 14px;padding:0;border:0;font-size:12px}
body[data-page=diagnosis] .dv2-quiz>.dv2-kicker,body[data-page=diagnosis] .dv2-quiz>h2{display:none}
.article-diagnosis{padding:25px;margin-block:30px;background:#f4ecdd;border:1px solid #d4bc91}.article-diagnosis p{margin:0 0 12px}.article-diagnosis small{display:block;margin-top:12px}
.carousel-item article img{width:100%;aspect-ratio:16/10;object-fit:cover;margin-bottom:18px}
.home-about-source h2,.home-about-source h3,.restored-content h2{position:relative;padding-bottom:20px}
.home-about-source h2:after,.home-about-source h3:after,.restored-content h2:after{content:'';position:absolute;left:0;bottom:0;width:64px;height:1px;background:#ae8747;transform-origin:left;transition:transform .6s ease .15s}
.motion-ready h2.reveal:not(.is-visible):after,.motion-ready h3.reveal:not(.is-visible):after{transform:scaleX(0)}
@media(min-width:701px){[data-card-carousel][aria-label="婚活ブログ"] .carousel-item{flex-basis:calc((100% - 24px)/2)}}
.reduce-motion-review *,.reduce-motion-review *:before,.reduce-motion-review *:after{animation:none!important;transition:none!important}
.reduce-motion-review{scroll-behavior:auto!important}
.reduce-motion-review .reveal{opacity:1!important;transform:none!important}
.restored-content [nowrap]{white-space:normal!important}
.horizontal-scroll:focus-visible,.restored-content .table-scroll:focus-visible{outline:3px solid #b9975b;outline-offset:3px}
.restored-content .lamour-price-luxury{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.restored-content .lamour-price-luxury>*{grid-column:1/-1}
.restored-content .lamour-price-luxury>.lamour-course-card{grid-column:auto;margin:0;display:flex;flex-direction:column;min-width:0}
.restored-content .lamour-course-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-block:16px 10px}
.restored-content .lamour-course-nav>a{display:flex;flex-direction:column;gap:8px;text-decoration:none;background:#fff;border:1px solid #cbb68f;padding:18px;min-height:125px;color:#3c3020}
.restored-content .lamour-course-nav strong{font-size:16px;line-height:1.7;word-break:keep-all}
.restored-content .lamour-course-nav span{font-size:13px;line-height:1.8}
.restored-content .lamour-course-head h3{margin:10px 0 14px}
.restored-content .lamour-course-label{font-size:12px;letter-spacing:.13em;color:#836a43}
.restored-content .lamour-recommend{display:inline-block;padding:3px 10px;margin-bottom:7px;background:#f1e5ca;color:#514020;font-size:12px}
.restored-content .lamour-course-count{margin-top:14px;font-size:14px}
.restored-content .lamour-price-list{margin:20px 0}
.restored-content .lamour-price-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px;border-top:1px solid #e0d5c4;padding:14px 0;align-items:center}
.restored-content .lamour-price-name{font-size:14px;line-height:1.8}
.restored-content .lamour-price-value{text-align:right;font-size:21px;font-weight:600;line-height:1.6;font-variant-numeric:tabular-nums}
.restored-content .lamour-price-value .yen{white-space:nowrap}.restored-content .lamour-price-value .tax{font-size:12px;display:block;font-weight:400}
.restored-content .lamour-course-btn{margin-top:auto}.restored-content .lamour-course-btn a{display:flex;align-items:center;justify-content:center;border:1px solid #a58b57;min-height:48px;padding:10px 15px;text-decoration:none;font-size:15px}
.restored-content .lamour-course-card .restored-course-extra{font-size:14px;margin:18px 0 0}
@media(max-width:700px){.restored-content .lamour-price-luxury{grid-template-columns:minmax(0,1fr);gap:20px}.restored-content .lamour-course-nav{grid-template-columns:minmax(0,1fr);gap:10px}.restored-content .lamour-course-nav>a{min-height:0;padding:16px 18px;gap:5px}.restored-content .lamour-course-nav strong{font-size:17px}.restored-content .lamour-price-row{gap:12px}.restored-content .lamour-price-value{font-size:19px}}
.restored-content .lamour-luxury-benefit,.restored-content .lamour-luxury-strength,.restored-content .lamour-luxury-box{padding:26px;border:1px solid #ded3c0;background:#fff;border-radius:6px;min-width:0}
.restored-content .lamour-luxury-benefit h4,.restored-content .lamour-luxury-strength h4{margin:12px 0;font-size:21px}
.restored-content .lamour-luxury-benefit p,.restored-content .lamour-luxury-strength p{font-size:15px;margin-bottom:0}
.restored-content .lamour-luxury-number{font:600 28px/1.4 var(--serif);color:#9d7c43}
.restored-content .lamour-luxury-hero{padding:30px;border:1px solid #d9c9aa;background:#f7f1e6}
.restored-content .lamour-luxury-hero-inner h2,.restored-content .lamour-luxury-hero-inner h3{margin-top:10px}
.restored-content .lamour-luxury-worry{padding:14px 16px;background:#fff;border:1px solid #e1d6c4;line-height:1.8}
.restored-content .lamour-luxury-roadmap-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.restored-content .lamour-luxury-roadmap-step{padding:18px 14px;border:1px solid #d8c5a0;background:white;min-width:0}
.restored-content .lamour-luxury-btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}
.restored-content .lamour-luxury-btn-primary,.restored-content .lamour-luxury-btn-secondary{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:12px 22px;border:1px solid #b59b69;text-decoration:none}
.restored-content .lamour-luxury-btn-primary{background:#d7b978;color:#141210;font-weight:700}
@media(max-width:700px){.restored-content .lamour-luxury-hero{padding:23px}.restored-content .lamour-luxury-roadmap-flow{grid-template-columns:minmax(0,1fr)}.restored-content .lamour-luxury-benefit,.restored-content .lamour-luxury-strength,.restored-content .lamour-luxury-box{padding:23px}}
.restored-content .lam-prof-hero-inner{display:grid;grid-template-columns:300px minmax(0,1fr);gap:10px 38px;align-items:start;padding:30px;border:1px solid #ded3c0;background:#fff}
.restored-content .lam-prof-hero-inner>*{grid-column:2;min-width:0}.restored-content .lam-prof-hero-inner .lam-prof-portrait{grid-column:1;grid-row:1/span 8}
.restored-content .lam-prof-portrait img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 15%;border-radius:6px}
.restored-content .lam-prof-hero-inner p{margin:0 0 10px}.restored-content .lam-prof-hero-inner .lam-prof-name{margin:5px 0 12px;font-size:38px}
.restored-content .lam-prof-stats{display:flex;gap:25px;flex-wrap:wrap;margin-top:12px}.restored-content .lam-prof-stats .num{font:600 30px var(--serif);color:#8b6935}
.restored-content .lam-prof-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.restored-content .lam-prof-duo-card{display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px 20px;padding:26px;background:white;border:1px solid #ded3c0}
.restored-content .lam-prof-duo-card>*{grid-column:2}.restored-content .lam-prof-duo-card .di-photo{grid-column:1;grid-row:1/span 4}.restored-content .di-photo img{width:110px;height:130px;object-fit:cover;object-position:center top}
.restored-content .lam-prof-step{display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px 20px;padding:24px;border-bottom:1px solid #daceb9;background:white}
.restored-content .lam-prof-step>*{grid-column:2}.restored-content .lam-prof-step-no{grid-column:1;grid-row:1/span 3;font-size:26px;color:#9d7c43}.restored-content .lam-prof-step-t{font-weight:700}
.restored-content[data-restored-page=staff] .staff_b,.restored-content[data-restored-page=staff] .staff_p{display:grid;grid-template-columns:220px minmax(0,1fr);gap:30px;padding:30px;background:white;border:1px solid #ded3c0;margin-block:26px}
.restored-content[data-restored-page=staff] .pic img{width:220px;max-height:280px;object-fit:cover;object-position:center top}
.restored-content[data-restored-page=staff] .plf h2,.restored-content[data-restored-page=staff] .plf h3{margin-top:0}
.restored-content .lamour-course-card{scroll-margin-top:130px}
@media(max-width:700px){.restored-content .lam-prof-hero-inner{display:block;padding:23px}.restored-content .lam-prof-hero-inner .lam-prof-portrait{max-width:220px;margin:20px auto}.restored-content .lam-prof-hero-inner .lam-prof-name{font-size:29px}.restored-content .lam-prof-duo{grid-template-columns:minmax(0,1fr)}.restored-content .lam-prof-duo-card{grid-template-columns:80px minmax(0,1fr);gap:8px 16px;padding:22px}.restored-content .di-photo img{width:80px;height:100px}.restored-content[data-restored-page=staff] .staff_b,.restored-content[data-restored-page=staff] .staff_p{grid-template-columns:minmax(0,1fr);padding:23px;gap:20px}.restored-content[data-restored-page=staff] .pic{max-width:210px;margin:auto}}
