/* Love Love Psychology v2 — editorial + diagnosis design system */
html { scroll-behavior: smooth; }
body.llp-theme {
  margin: 0;
  background: var(--love-cream);
  color: var(--love-text);
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", "Noto Sans JP", sans-serif;
  letter-spacing: .01em;
  -webkit-font-smoothing: antialiased;
}
body.llp-theme img { max-width: 100%; }
body.llp-theme * { box-sizing: border-box; }
body.llp-theme :focus-visible { outline: 3px solid rgba(223,85,113,.28); outline-offset: 3px; }
body.llp-theme .wrap { width: min(var(--love-wrap), calc(100% - 40px)); }
body.llp-theme #content { margin-top: 26px; }
body.llp-theme .content-in { align-items: flex-start; gap: 34px; }
body.llp-theme .main { border: 0; background: var(--love-surface); border-radius: var(--love-radius-lg); box-shadow: var(--love-shadow-sm); }
body.llp-theme.home #content { margin-top: 0; }
body.llp-theme.home .content-in { width: 100%; max-width: none; }
body.llp-theme.home .main { width: 100% !important; max-width: none !important; padding: 0 !important; background: transparent; border-radius: 0; box-shadow: none; }
body.llp-theme.home #sidebar { display: none !important; }
body.llp-theme.home #notice-area,
body.llp-theme.home .notice-area,
body.llp-theme.home #appeal,
body.llp-theme.home .appeal,
body.llp-theme.home #recommended-cards,
body.llp-theme.home .recommended-cards,
body.llp-theme.home #carousel,
body.llp-theme.home .carousel,
body.llp-theme.home #content-top { display:none !important; }

/* Header */
.llp-header-container { position: relative; z-index: 100; background: rgba(255,255,255,.97); border-bottom: 1px solid var(--love-border); }
.llp-header { background: transparent !important; color: var(--love-text) !important; }
.llp-header__inner { min-height: var(--love-header); display: flex; align-items: center; gap: var(--love-space-5); }
.llp-brand { display: inline-flex; align-items: center; gap: 10px; flex: 0 0 auto; text-decoration: none !important; }
.llp-brand__mark { width: 38px; height: 38px; display: grid; place-items: center; color: var(--love-primary); }
.llp-brand__mark svg { width: 38px; height: 38px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.llp-brand__text { display: flex; flex-direction: column; line-height: 1.15; }
.llp-brand__text strong { font-size: 22px; color: var(--love-primary); font-weight: 800; letter-spacing: .035em; }
.llp-brand__text small { margin-top: 5px; color: #877a7d; font: 500 9px/1.3 "Yu Mincho","Hiragino Mincho ProN",serif; letter-spacing: .14em; }
.llp-primary-nav { margin-left: auto; }
.llp-primary-nav__list { display: flex; align-items: center; gap: 2px; margin: 0; padding: 0; list-style: none; }
.llp-primary-nav__list > li { position: relative; }
.llp-primary-nav__list > li > a { display: block; padding: 30px 11px 26px; border-bottom: 3px solid transparent; font-size: 12px; font-weight: 700; text-decoration: none; transition: color .18s ease, border-color .18s ease; }
.llp-primary-nav__list > li > a:hover,
.llp-primary-nav__list > .current-menu-item > a { color: var(--love-primary-strong); border-bottom-color: var(--love-primary); }
.llp-primary-nav__list .sub-menu { display: none; position: absolute; top: 100%; left: 0; width: 220px; margin: 0; padding: 8px; list-style: none; background: #fff; border: 1px solid var(--love-border); border-radius: var(--love-radius-md); box-shadow: var(--love-shadow-md); }
.llp-primary-nav__list li:hover > .sub-menu,
.llp-primary-nav__list li:focus-within > .sub-menu { display: block; }
.llp-primary-nav__list .sub-menu a { display: block; padding: 10px 12px; border-radius: 9px; text-decoration: none; font-size: 13px; }
.llp-primary-nav__list .sub-menu a:hover { background: var(--love-pink-50); color: var(--love-primary-strong); }
.llp-search-toggle,
.llp-menu-toggle { width: 48px; height: 48px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--love-text); cursor: pointer; }
.llp-search-toggle:hover,
.llp-menu-toggle:hover { background: var(--love-pink-50); color: var(--love-primary); }
.llp-search-toggle svg,
.llp-menu-toggle svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.llp-menu-toggle { display: none; }
.llp-header-search { padding: 14px 20px 16px; background: var(--love-pink-50); border-top: 1px solid var(--love-border); }
.llp-header-search form { max-width: 760px; margin: auto; display: flex; gap: 10px; }
.llp-header-search input { flex: 1; min-width: 0; height: 48px; padding: 0 19px; border: 1px solid var(--love-border-strong); border-radius: var(--love-radius-pill); background: #fff; font-size: 14px; outline: none; }
.llp-header-search input:focus { border-color: var(--love-primary); box-shadow: 0 0 0 4px rgba(223,85,113,.08); }
.llp-header-search button { min-width: 88px; border: 0; border-radius: var(--love-radius-pill); background: var(--love-primary); color: #fff; font-weight: 800; cursor: pointer; }

/* Shared */
.llp-home { overflow: hidden; background: var(--love-surface); }
.llp-section { width: min(var(--love-wrap), calc(100% - 48px)); margin: 0 auto; padding: var(--love-space-20) 0; }
.llp-section + .llp-section { border-top: 1px solid #f6ecee; }
.llp-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 28px; }
.llp-section-head > div > span,
.llp-center-head > span { display: block; color: var(--love-primary); font-size: 11px; font-weight: 900; letter-spacing: .14em; }
.llp-section-head h2,
.llp-center-head h2 { margin: 5px 0 0; color: var(--love-text); font: 700 30px/1.45 "Yu Mincho","Hiragino Mincho ProN",serif; letter-spacing: .035em; }
.llp-section-head > a,
.llp-section-head > p { margin: 0 0 3px; color: var(--love-text-2); font-size: 13px; text-decoration: none; }
.llp-section-head > a { font-weight: 700; white-space: nowrap; }
.llp-section-head > a:hover { color: var(--love-primary); }
.llp-section-head--compact { margin-top: 0; margin-bottom: 20px; }
.llp-center-head { text-align: center; margin-bottom: 26px; }
.llp-center-link { margin-top: 16px; text-align: right; }
.llp-center-link a { color: var(--love-text-2); font-size: 12px; font-weight: 700; text-decoration: none; }
.llp-button { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 14px; padding: 0 28px; border: 1px solid var(--love-primary); border-radius: var(--love-radius-pill); background: linear-gradient(135deg, #e45c79, var(--love-primary)); color: #fff !important; box-shadow: 0 12px 28px rgba(223,85,113,.20); font-size: 14px; font-weight: 800; text-decoration: none !important; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.llp-button:hover { transform: translateY(-2px); background: var(--love-primary-hover); box-shadow: 0 16px 34px rgba(203,64,95,.24); }
.llp-button--secondary { background: #fff; color: var(--love-text) !important; border-color: #e5d5d8; box-shadow: none; }
.llp-button--secondary:hover { color: var(--love-primary-strong) !important; background: var(--love-pink-50); border-color: var(--love-pink-300); }
.llp-chip { display: inline-flex; align-items: center; min-height: 26px; padding: 0 10px; border: 1px solid var(--love-pink-300); border-radius: var(--love-radius-pill); background: #fff; color: var(--love-primary-strong) !important; font-size: 10px; font-weight: 800; text-decoration: none !important; }
.is-placeholder { position: relative; background: linear-gradient(135deg,#f8d9df,#f5ece9 58%,#e9d7cf) !important; }
.is-placeholder::after { content: "♡"; position: absolute; inset: 0; display: grid; place-items: center; color: rgba(200,60,91,.23); font: 58px/1 Georgia,serif; }

/* Hero */
.llp-hero { width: min(var(--love-wrap), 100%); min-height: 520px; margin: 0 auto; display: grid; grid-template-columns: 47% 53%; overflow: hidden; background: linear-gradient(120deg,#fffaf8 0%,#fff0f1 48%,#f8dddf 100%); }
.llp-hero__content { position: relative; z-index: 2; padding: 86px 24px 74px 34px; }
.llp-hero__eyebrow { color: var(--love-primary); font-size: 10px; font-weight: 900; letter-spacing: .18em; }
.llp-hero__content h1 { margin: 17px 0 18px; color: #30282b; font: 600 45px/1.55 "Yu Mincho","Hiragino Mincho ProN",serif; letter-spacing: .05em; }
.llp-hero__content h1::first-letter { color: var(--love-primary-strong); }
.llp-hero__content p { max-width: 440px; margin: 0; color: #5f5558; font-size: 15px; line-height: 2; }
.llp-hero__actions { margin-top: 30px; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; width: 220px; }
.llp-hero__actions .llp-button { width: 100%; }
.llp-hero__visual { position: relative; min-height: 520px; background-image: linear-gradient(90deg,rgba(255,240,241,.72) 0%,rgba(255,240,241,.08) 24%,transparent 48%), var(--llp-hero-image); background-size: cover; background-position: center 32%; }
.llp-hero__visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(255,232,235,.22), transparent 45%); }
.llp-hero__visual > span { position: absolute; z-index: 2; right: 28px; bottom: 26px; color: rgba(255,255,255,.96); text-shadow: 0 2px 10px rgba(0,0,0,.16); font: 20px/1.4 "Brush Script MT","Segoe Script",cursive; transform: rotate(-7deg); }

/* Concern selector */
.llp-concerns { padding-top: 38px; padding-bottom: 56px; }
.llp-concern-grid { display: grid; grid-template-columns: repeat(6,1fr); gap: 10px; }
.llp-concern-card { min-height: 118px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 16px 10px; border: 1px solid var(--love-border); border-radius: var(--love-radius-sm); background: linear-gradient(180deg,#fffafa,#fff3f4); text-align: center; text-decoration: none !important; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.llp-concern-card:hover { transform: translateY(-3px); border-color: var(--love-pink-300); box-shadow: var(--love-shadow-sm); }
.llp-concern-card i { width: 34px; height: 34px; display: grid; place-items: center; color: var(--love-primary); font-style: normal; }
.llp-concern-card svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.llp-concern-card strong { font-size: 13px; }
.llp-concern-card small { color: var(--love-text-3); font-size: 9px; }

/* Popular editorial layout */
.llp-popular { padding-top: 60px; }
.llp-popular-layout { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(320px,.9fr); gap: 22px; align-items: stretch; }
.llp-featured-card { overflow: hidden; border: 1px solid var(--love-border); border-radius: var(--love-radius-sm); background: #fff; }
.llp-featured-card__image { display: block; height: 300px; background-size: cover; background-position: center; }
.llp-featured-card__body { padding: 20px 22px 22px; }
.llp-featured-card__body h3 { margin: 10px 0 8px; font: 700 23px/1.55 "Yu Mincho","Hiragino Mincho ProN",serif; }
.llp-featured-card__body h3 a { text-decoration: none; }
.llp-featured-card__body h3 a:hover { color: var(--love-primary-strong); }
.llp-featured-card__body p { margin: 0 0 10px; color: var(--love-text-2); font-size: 13px; line-height: 1.8; }
.llp-featured-card__body time { color: var(--love-text-3); font-size: 10px; }
.llp-popular-list { display: grid; grid-template-rows: repeat(4,1fr); gap: 8px; }
.llp-popular-item { min-height: 108px; display: grid; grid-template-columns: 118px 1fr; gap: 14px; align-items: center; padding: 7px; border-bottom: 1px solid var(--love-border); text-decoration: none !important; }
.llp-popular-item:hover strong { color: var(--love-primary-strong); }
.llp-popular-item__image { height: 88px; border-radius: 7px; background-size: cover; background-position: center; position: relative; overflow: hidden; }
.llp-popular-item__image b { position: absolute; z-index: 3; left: 7px; top: 7px; width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: var(--love-primary); color: #fff; font-size: 10px; }
.llp-popular-item > div:last-child { min-width: 0; }
.llp-popular-item span { display: inline-block; color: var(--love-primary-strong); font-size: 9px; font-weight: 800; }
.llp-popular-item strong { display: block; margin: 4px 0 6px; font: 700 13px/1.55 "Yu Mincho","Hiragino Mincho ProN",serif; }
.llp-popular-item time { color: var(--love-text-3); font-size: 9px; }

/* Main diagnosis hero */
.llp-diagnosis-hero { width: min(var(--love-wrap), calc(100% - 48px)); min-height: 300px; margin: 18px auto 8px; display: grid; grid-template-columns: 57% 43%; overflow: hidden; border: 1px solid #f3d9de; border-radius: var(--love-radius-sm); background: linear-gradient(110deg,#fff5f5,#fde6e9); }
.llp-diagnosis-hero__copy { padding: 38px 44px; }
.llp-diagnosis-hero__copy > span { color: var(--love-primary); font: 700 15px/1.4 "Yu Mincho","Hiragino Mincho ProN",serif; }
.llp-diagnosis-hero__copy h2 { margin: 6px 0 8px; color: var(--love-primary-strong); font: 700 31px/1.45 "Yu Mincho","Hiragino Mincho ProN",serif; }
.llp-diagnosis-hero__copy p { max-width: 600px; margin: 0; color: var(--love-text-2); font-size: 13px; line-height: 1.85; }
.llp-diagnosis-hero__copy ul { display: flex; flex-wrap: wrap; gap: 9px 18px; margin: 16px 0 20px; padding: 0; list-style: none; }
.llp-diagnosis-hero__copy li { color: #6a5c60; font-size: 11px; }
.llp-diagnosis-hero__copy li::before { content: "✓"; margin-right: 5px; color: var(--love-primary); font-weight: 900; }
.llp-diagnosis-hero__copy small { display: block; margin-top: 9px; color: var(--love-text-3); font-size: 9px; }
.llp-diagnosis-hero__visual { position: relative; min-height: 300px; background-image: linear-gradient(90deg,rgba(253,230,233,.5),transparent 28%), var(--llp-cta-image); background-size: cover; background-position: center 38%; }
.llp-diagnosis-hero__visual span { position: absolute; right: 22px; bottom: 20px; color: #fff; font: 18px/1.35 "Brush Script MT","Segoe Script",cursive; text-shadow: 0 2px 8px rgba(0,0,0,.15); transform: rotate(-7deg); }

/* Diagnosis cards */
.llp-diagnosis-list-section { padding-top: 60px; }
.llp-diagnosis-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 10px; }
.llp-diagnosis-card { min-height: 206px; padding: 22px 18px; border: 1px solid var(--love-border); border-radius: var(--love-radius-md); background: #fff; text-decoration: none !important; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.llp-diagnosis-card:hover { transform: translateY(-4px); border-color: var(--love-pink-300); box-shadow: var(--love-shadow-md); }
.llp-diagnosis-card i { width: 34px; height: 34px; display: grid; place-items: center; color: var(--love-primary); font-style: normal; }
.llp-diagnosis-card svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.llp-diagnosis-card h3 { margin: 12px 0 7px; font-size: 15px; }
.llp-diagnosis-card p { min-height: 50px; margin: 0; color: var(--love-text-2); font-size: 11px; line-height: 1.7; }
.llp-diagnosis-card > span { display: inline-block; margin-top: 14px; color: var(--love-primary-strong); font-size: 10px; font-weight: 900; }

/* Themes */
.llp-theme-grid { display: grid; grid-template-columns: repeat(6,1fr); gap: 10px; }
.llp-theme-card { position: relative; height: 150px; overflow: hidden; border-radius: var(--love-radius-sm); background-image: linear-gradient(to top,rgba(54,31,36,.48),rgba(54,31,36,.02) 60%), var(--llp-theme-image); background-size: cover; background-position: center; text-decoration: none !important; }
.llp-theme-card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(to top,rgba(54,31,36,.5),transparent 58%); transition: background .18s ease; }
.llp-theme-card:hover::before { background: linear-gradient(to top,rgba(54,31,36,.6),rgba(54,31,36,.06) 65%); }
.llp-theme-card span { position: absolute; z-index: 2; left: 13px; right: 13px; bottom: 12px; color: #fff; font-size: 12px; font-weight: 800; text-shadow: 0 1px 8px rgba(0,0,0,.3); }
.llp-theme-card.is-placeholder span { color: var(--love-text); text-shadow: none; }
.llp-theme-card.is-placeholder::after { z-index: 0; }

/* Latest */
.llp-latest-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 26px; }
.llp-latest-card { min-height: 102px; display: grid; grid-template-columns: 128px 1fr; gap: 14px; align-items: center; padding: 7px 0 12px; border-bottom: 1px solid var(--love-border); text-decoration: none !important; }
.llp-latest-card__image { position: relative; height: 82px; overflow: hidden; border-radius: 7px; background-size: cover; background-position: center; }
.llp-latest-card__image > span { position: absolute; z-index: 3; left: 7px; top: 7px; padding: 3px 7px; border-radius: var(--love-radius-pill); background: var(--love-primary); color: #fff; font-size: 8px; font-weight: 900; }
.llp-latest-card em { display: inline-block; color: var(--love-primary-strong); font-size: 9px; font-style: normal; font-weight: 800; }
.llp-latest-card strong { display: block; margin: 4px 0 5px; font: 700 13px/1.55 "Yu Mincho","Hiragino Mincho ProN",serif; }
.llp-latest-card:hover strong { color: var(--love-primary-strong); }
.llp-latest-card time { color: var(--love-text-3); font-size: 9px; }

/* About + reasons */
.llp-about-strip { width: min(var(--love-wrap), calc(100% - 48px)); margin: 0 auto 24px; padding: 30px 34px; display: flex; align-items: center; justify-content: space-between; gap: 26px; border: 1px solid #f1dde1; border-radius: var(--love-radius-sm); background: linear-gradient(100deg,#fff6f6,#fde8e9 58%,#fff8f4); }
.llp-about-strip span { color: var(--love-primary); font-size: 9px; font-weight: 900; letter-spacing: .14em; }
.llp-about-strip h2 { margin: 5px 0 5px; color: var(--love-primary-strong); font: 700 21px/1.45 "Yu Mincho","Hiragino Mincho ProN",serif; }
.llp-about-strip p { max-width: 700px; margin: 0; color: var(--love-text-2); font-size: 12px; line-height: 1.8; }
.llp-reasons { width: min(var(--love-wrap), calc(100% - 48px)); margin: 0 auto; padding: 44px 0 72px; }
.llp-reason-grid { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--love-border); border-radius: var(--love-radius-sm); overflow: hidden; background: #fff; }
.llp-reason-grid > div { min-height: 166px; padding: 24px 22px; text-align: center; border-right: 1px solid var(--love-border); }
.llp-reason-grid > div:last-child { border-right: 0; }
.llp-reason-grid svg { width: 30px; height: 30px; fill: none; stroke: var(--love-primary); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.llp-reason-grid strong { display: block; margin: 10px 0 7px; font-size: 12px; }
.llp-reason-grid p { margin: 0; color: var(--love-text-2); font-size: 10px; line-height: 1.75; }

/* Article — latest mockup uses one calm reading column */
body.llp-theme.single #content { margin-top: 30px; }
body.llp-theme.single .content-in { display: block; width: min(980px, calc(100% - 40px)); margin: 0 auto; }
body.llp-theme.single .main { width: 100% !important; max-width: none !important; padding: 38px 54px 54px; border-radius: 0; box-shadow: none; }
body.llp-theme.single #sidebar { display: none !important; }
body.llp-theme.single .article { max-width: var(--love-reading); margin: 0 auto; }
body.llp-theme.single .breadcrumb { margin-bottom: 24px; color: var(--love-text-3); font-size: 10px; }
body.llp-theme.single .article-header { margin-bottom: 16px; }
body.llp-theme.single .entry-title { margin: 0 0 14px; color: #30292b; font: 700 34px/1.55 "Yu Mincho","Hiragino Mincho ProN",serif; letter-spacing: .025em; }
body.llp-theme.single .date-tags { color: var(--love-text-3); font-size: 10px; }
body.llp-theme.single .cat-label,
body.llp-theme.single .cat-link { padding: 4px 10px !important; border: 1px solid var(--love-pink-300) !important; border-radius: var(--love-radius-pill) !important; background: #fff !important; color: var(--love-primary-strong) !important; font-size: 9px !important; }
body.llp-theme.single .eye-catch-wrap { margin: 24px 0 30px; }
body.llp-theme.single .eye-catch img { width: 100%; max-height: 470px; object-fit: cover; border-radius: 0; }
body.llp-theme.single .entry-content { color: #504749; font-size: 16px; line-height: 2.08; }
body.llp-theme.single .entry-content > p { margin: 0 0 1.65em; }
body.llp-theme.single .entry-content h2 { margin: 2.5em 0 1em; padding: 12px 16px 12px 18px; border: 0 !important; border-left: 4px solid var(--love-primary) !important; background: linear-gradient(90deg,#fff0f2,#fffafa) !important; color: #403638 !important; font: 700 23px/1.55 "Yu Mincho","Hiragino Mincho ProN",serif; }
body.llp-theme.single .entry-content h3 { margin: 2.1em 0 .85em; padding: 0 0 8px 13px; border: 0 !important; border-left: 3px solid var(--love-pink-300) !important; border-bottom: 1px solid var(--love-border) !important; color: #443a3c; font-size: 18px; }
body.llp-theme.single .entry-content h4 { color: #4a4143; border-color: var(--love-pink-200); }
body.llp-theme.single .entry-content a { color: var(--love-primary-strong); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
body.llp-theme.single .entry-content blockquote { padding: 20px 22px; border: 1px solid var(--love-border); border-radius: var(--love-radius-sm); background: var(--love-pink-50); color: #62575a; }
body.llp-theme.single .entry-content ul:not(.wp-block-gallery),
body.llp-theme.single .entry-content ol { padding: 18px 22px 18px 42px; border: 1px solid var(--love-border); border-radius: var(--love-radius-sm); background: #fffafa; }
body.llp-theme.single .entry-content table { font-size: 14px; }
body.llp-theme.single .entry-content th { background: var(--love-pink-100); color: #493c3f; }
body.llp-theme.single .toc { margin: 22px 0 30px; padding: 20px 24px; border: 1px solid var(--love-border); border-radius: var(--love-radius-md); background: #fffafa; }
body.llp-theme.single .toc-title { color: #403638; font-family: "Yu Mincho","Hiragino Mincho ProN",serif; font-weight: 700; }

.llp-learn-box { margin: 18px 0 30px; padding: 18px 21px; border: 1px solid #f1dfe2; border-radius: var(--love-radius-sm); background: linear-gradient(90deg,#fff1f3,#fffafa); }
.llp-learn-box__title { margin-bottom: 9px; color: var(--love-primary-strong); font-weight: 900; }
.llp-learn-box ul { margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; list-style: none; }
.llp-learn-box li { position: relative; padding: 4px 0 4px 25px; color: #5b5053; font-size: 13px; }
.llp-learn-box li::before { content: "✓"; position: absolute; left: 0; top: 4px; width: 17px; height: 17px; display: grid; place-items: center; border-radius: 50%; background: var(--love-primary); color: #fff; font-size: 10px; font-weight: 900; }

.llp-inline-diagnosis { margin: 38px 0; padding: 18px 20px; display: grid; grid-template-columns: 44px 1fr auto; gap: 14px; align-items: center; border: 1px solid #f0d8dd; border-radius: var(--love-radius-md); background: linear-gradient(100deg,#fff3f4,#fffafa); }
.llp-inline-diagnosis__icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: #fff; color: var(--love-primary); }
.llp-inline-diagnosis__icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.llp-inline-diagnosis__copy span { display: block; color: var(--love-primary-strong); font-size: 9px; font-weight: 900; }
.llp-inline-diagnosis__copy strong { display: block; margin: 3px 0; color: #43383b; font: 700 15px/1.5 "Yu Mincho","Hiragino Mincho ProN",serif; }
.llp-inline-diagnosis__copy small { display: block; color: var(--love-text-3); font-size: 9px; }
.llp-inline-diagnosis > a { min-height: 40px; display: inline-flex; align-items: center; gap: 8px; padding: 0 16px; border-radius: var(--love-radius-pill); background: var(--love-primary); color: #fff !important; font-size: 10px; font-weight: 900; text-decoration: none !important; }

.llp-article-cta { min-height: 250px; margin: 54px 0 42px; display: grid; grid-template-columns: 57% 43%; overflow: hidden; border: 1px solid #f1d9de; background: linear-gradient(100deg,#fff2f3,#fde8ea); }
.llp-article-cta__copy { padding: 28px 30px; }
.llp-article-cta__copy > span { color: var(--love-primary); font-size: 10px; font-weight: 900; }
.llp-article-cta__copy h2 { margin: 5px 0 10px !important; padding: 0 !important; border: 0 !important; background: transparent !important; color: var(--love-primary-strong) !important; font: 700 24px/1.45 "Yu Mincho","Hiragino Mincho ProN",serif !important; }
.llp-article-cta__copy ul { display: flex !important; flex-wrap: wrap; gap: 7px 14px; margin: 0 0 16px !important; padding: 0 !important; border: 0 !important; background: transparent !important; list-style: none; }
.llp-article-cta__copy li { font-size: 10px; }
.llp-article-cta__copy li::before { content: "✓"; margin-right: 4px; color: var(--love-primary); font-weight: 900; }
.llp-article-cta__copy small { display: block; margin-top: 8px; color: var(--love-text-3); font-size: 9px; }
.llp-article-cta__visual { min-height: 250px; background-image: linear-gradient(90deg,rgba(253,232,234,.5),transparent 30%), var(--llp-cta-image); background-size: cover; background-position: center; }
.llp-related { margin: 48px 0 10px; }
.llp-related__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.llp-related-card { overflow: hidden; border: 1px solid var(--love-border); border-radius: var(--love-radius-sm); background: #fff; text-decoration: none !important; }
.llp-related-card__image { height: 118px; background-size: cover; background-position: center; }
.llp-related-card__body { padding: 12px; }
.llp-related-card__body span { color: var(--love-primary-strong); font-size: 9px; font-weight: 800; }
.llp-related-card__body h3 { margin: 5px 0 !important; padding: 0 !important; border: 0 !important; color: #443a3c; font: 700 13px/1.55 "Yu Mincho","Hiragino Mincho ProN",serif !important; }
.llp-related-card__body time { color: var(--love-text-3); font-size: 9px; }

/* Archive/search consistency */
body.llp-theme.archive .main,
body.llp-theme.search .main { background: #fff; }
body.llp-theme .list-title,
body.llp-theme .archive-title { padding-bottom: 15px; border-bottom: 1px solid var(--love-border); color: var(--love-text); font: 700 28px/1.5 "Yu Mincho","Hiragino Mincho ProN",serif; }
body.llp-theme .entry-card-wrap { margin-bottom: 14px; overflow: hidden; border: 1px solid var(--love-border); border-radius: var(--love-radius-md); background: #fff; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
body.llp-theme .entry-card-wrap:hover { transform: translateY(-2px); border-color: var(--love-pink-300); box-shadow: var(--love-shadow-sm); }
body.llp-theme .entry-card-title { color: #41383a; font-family: "Yu Mincho","Hiragino Mincho ProN",serif; line-height: 1.55; }
body.llp-theme .entry-card-snippet { color: var(--love-text-2); line-height: 1.8; }
body.llp-theme .pagination .page-numbers { border-color: var(--love-border-strong); border-radius: var(--love-radius-pill); }
body.llp-theme .pagination .current { background: var(--love-primary); color: #fff; }

/* Footer and mobile nav */
.llp-mobile-bottom { display: none; }
body.llp-theme .mobile-menu-buttons { display: none !important; }
body.llp-theme #footer { margin-top: 0; background: #fff8f7; border-top: 1px solid var(--love-border); }







@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .llp-theme *, .llp-theme *::before, .llp-theme *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}


/* v3 refinement overrides — closer to approved mockup */
.llp-header-container::before{content:"";position:absolute;left:0;right:0;top:0;height:118px;pointer-events:none;background:radial-gradient(circle at 12% 0%, rgba(244,206,212,.28), transparent 20%),radial-gradient(circle at 54% -10%, rgba(245,214,220,.32), transparent 22%),radial-gradient(circle at 95% 8%, rgba(245,214,220,.30), transparent 18%);}
.llp-header__inner{position:relative;min-height:86px;}
.llp-brand__text strong{font-size:23px;}
.llp-brand__text small{font-size:10px;letter-spacing:.12em;}
.llp-primary-nav__list>li>a{padding:31px 15px 27px;font-size:13px;}

.llp-section-head h2,.llp-center-head h2{font-size:18px;line-height:1.55;letter-spacing:.02em;}
.llp-section-head>div>span,.llp-center-head>span{font-size:12px;}
.llp-center-head--plain>span{display:none!important;}
.llp-center-link{margin-top:12px;}

.llp-hero{min-height:470px;grid-template-columns:43.5% 56.5%;background:linear-gradient(110deg,#fff9f8 0%,#fff2f4 42%,#f9dfe2 100%);}
.llp-hero__content{padding:74px 28px 50px 34px;}
.llp-hero__content h1{margin:10px 0 16px;font-size:27px;line-height:1.9;font-weight:700;letter-spacing:.05em;}
.llp-hero__content h1::first-letter{font-size:62px;line-height:.7;float:left;padding:8px 6px 0 0;color:var(--love-primary);}
.llp-hero__content p{max-width:300px;font-size:13px;line-height:1.95;}
.llp-hero__actions{margin-top:24px;width:220px;}
.llp-hero__actions .llp-button{min-height:48px;font-size:13px;}
.llp-hero__visual{min-height:470px;background-position:center 30%;}
.llp-hero__visual>span{right:20px;bottom:20px;font-size:24px;}

.llp-concerns{padding-top:18px;padding-bottom:42px;}
.llp-concern-grid{gap:12px;}
.llp-concern-card{min-height:96px;padding:14px 10px;border-radius:8px;background:#fdf8f7;border-color:#f1e5e7;box-shadow:none;}
.llp-concern-card i{width:30px;height:30px;}
.llp-concern-card svg{width:24px;height:24px;}
.llp-concern-card strong{font-size:14px;}
.llp-concern-card small{font-size:10px;}

.llp-popular{padding-top:42px;}
.llp-popular-layout{grid-template-columns:minmax(0,1.23fr) minmax(300px,.77fr);gap:16px;align-items:stretch;}
.llp-featured-card,.llp-popular-list{border:1px solid var(--love-border);border-radius:8px;background:#fff;box-shadow:none;}
.llp-featured-card{overflow:hidden;}
.llp-featured-card__image{height:280px;}
.llp-featured-card__body{padding:16px 18px 18px;}
.llp-featured-card__body h3{font-size:18px;line-height:1.7;}
.llp-featured-card__body p{font-size:12px;}
.llp-popular-list{padding:10px 12px;}
.llp-popular-item{grid-template-columns:92px 1fr;min-height:96px;padding:8px 4px;border-bottom:1px solid #f3e7e8;}
.llp-popular-item:last-child{border-bottom:0;}
.llp-popular-item__image{height:72px;border-radius:6px;}
.llp-popular-item span{margin-bottom:2px;}
.llp-popular-item strong{font-size:12px;line-height:1.6;}

.llp-diagnosis-hero{min-height:238px;margin:18px auto 10px;border-radius:8px;}
.llp-diagnosis-hero__copy{padding:28px 32px;}
.llp-diagnosis-hero__copy>span{font-size:14px;}
.llp-diagnosis-hero__copy h2{font-size:22px;line-height:1.5;}
.llp-diagnosis-hero__copy p{font-size:12px;max-width:420px;}
.llp-diagnosis-hero__copy ul{margin:14px 0 18px;display:block;}
.llp-diagnosis-hero__copy li{margin:6px 0;font-size:12px;}
.llp-diagnosis-hero__copy .llp-button{min-width:186px;}
.llp-diagnosis-hero__visual{background-position:center 34%;}
.llp-diagnosis-hero__visual span{font-size:22px;}

.llp-diagnosis-list-section{padding-top:42px;}
.llp-diagnosis-grid{grid-template-columns:repeat(5,1fr);gap:12px;}
.llp-diagnosis-card{min-height:188px;padding:18px 16px;border-radius:8px;box-shadow:none;}
.llp-diagnosis-card h3{font-size:14px;line-height:1.5;}
.llp-diagnosis-card p{font-size:11px;min-height:44px;}

.llp-theme-grid{gap:12px;}
.llp-theme-card{height:108px;border:1px solid var(--love-border);border-radius:8px;background-position:center;}
.llp-theme-card span{left:10px;right:10px;bottom:9px;font-size:11px;}

.llp-latest{padding-top:42px;}
.llp-latest-grid{gap:10px 24px;}
.llp-latest-card{min-height:96px;padding:6px 0 12px;}
.llp-latest-card__image{height:76px;border-radius:6px;}
.llp-latest-card strong{font-size:12px;line-height:1.65;}

.llp-about-strip{position:relative;overflow:hidden;min-height:126px;padding:26px 28px;border-radius:8px;display:grid;grid-template-columns:1fr 230px auto;align-items:center;}
.llp-about-strip__copy h2{margin:0 0 8px;color:var(--love-primary-strong);font:700 24px/1.45 "Yu Mincho","Hiragino Mincho ProN",serif;}
.llp-about-strip__copy p{margin:0;color:var(--love-primary-strong);font-size:14px;line-height:2.0;}
.llp-about-strip__visual{height:100px;border-radius:6px;background-image:linear-gradient(90deg,rgba(255,248,247,.08),rgba(255,248,247,.12)), var(--llp-cta-image);background-size:cover;background-position:center right;}
.llp-about-strip .llp-button{min-width:180px;background:#f5cdd4;color:#5a4548!important;border-color:#efc6cd;box-shadow:none;}
.llp-about-strip .llp-button:hover{background:#f1c0c9;}

.llp-reasons{padding-top:18px;}
.llp-reason-grid{border-radius:8px;background:#fff7f7;}
.llp-reason-grid>div{min-height:142px;padding:20px 16px;background:#fff7f7;}
.llp-reason-grid strong{font-size:14px;line-height:1.6;}
.llp-reason-grid p{font-size:11px;}

body.llp-theme.single .content-in{width:min(1080px,calc(100% - 40px));}
body.llp-theme.single .main{padding:32px 48px 56px;background:#fff;}
body.llp-theme.single .article{max-width:760px;}
body.llp-theme.single .entry-title{font-size:28px;line-height:1.65;margin-bottom:10px;}
body.llp-theme.single .date-tags{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;}
body.llp-theme.single .eye-catch-wrap{margin:22px 0 24px;}
body.llp-theme.single .eye-catch img{max-height:420px;}
body.llp-theme.single .entry-content{font-size:15px;line-height:2;}
body.llp-theme.single .entry-content>p{margin-bottom:1.55em;}
body.llp-theme.single .entry-content h2{margin:2.3em 0 1em;padding:10px 14px 10px 16px;font-size:21px;border-left-width:5px!important;}
body.llp-theme.single .entry-content h3{font-size:17px;}
body.llp-theme.single .entry-content blockquote,body.llp-theme.single .entry-content ul:not(.wp-block-gallery),body.llp-theme.single .entry-content ol{border-radius:8px;}
.llp-learn-box{margin:12px 0 30px;padding:16px 18px;border-radius:8px;}
.llp-learn-box__title{font-size:14px;}
.llp-learn-box li{font-size:14px;}
.llp-inline-diagnosis{margin:34px 0;padding:16px 18px;border-radius:8px;}
.llp-article-cta{min-height:220px;margin:46px 0 36px;border-radius:8px;}
.llp-article-cta__copy{padding:24px 26px;}
.llp-article-cta__copy h2{font-size:28px!important;}
.llp-article-cta__copy li{font-size:11px;}
.llp-related{margin:42px 0 22px;}
.llp-related .llp-section-head h2{font-size:16px;}
.llp-related__grid{gap:10px;}
.llp-related-card{border-radius:8px;}
.llp-related-card__image{height:104px;}
.llp-related-card__body h3{font-size:12px;}
.llp-brand-cta{margin:26px 0 8px;}
.llp-brand-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;border:1px solid #f1dde1;border-radius:8px;background:linear-gradient(100deg,#fff6f6,#fde8ea 65%,#fff8f4);}
.llp-brand-cta__copy span{display:block;color:var(--love-primary);font-size:12px;margin-bottom:3px;}
.llp-brand-cta__copy h2{margin:0;color:var(--love-primary-strong);font:700 28px/1.4 "Yu Mincho","Hiragino Mincho ProN",serif;}
.llp-brand-cta .llp-button{min-width:200px;}





/* =========================================================
   v4 Motion System
   Inspired by Motion / AutoAnimate / Lenis principles:
   composited transform+opacity, short purposeful durations,
   progressive enhancement, reduced-motion first.
   ========================================================= */
:root {
  --llp-motion-fast: 160ms;
  --llp-motion-base: 320ms;
  --llp-motion-slow: 620ms;
  --llp-ease-out: cubic-bezier(.22,1,.36,1);
  --llp-ease-standard: cubic-bezier(.2,.8,.2,1);
  --llp-ease-in: cubic-bezier(.4,0,1,1);
}

/* JS-powered reveals never hide content without JS. */
.llp-motion .llp-reveal {
  opacity: 0;
  transform: translate3d(0, 18px, 0) scale(.992);
  transition:
    opacity var(--llp-motion-slow) var(--llp-ease-out),
    transform var(--llp-motion-slow) var(--llp-ease-out);
  transition-delay: var(--llp-motion-delay, 0ms);
}
.llp-motion .llp-reveal.is-visible {
  opacity: 1;
  transform: translate3d(0,0,0) scale(1);
}

/* Hero: staged entrance. */
.llp-hero__eyebrow { animation: llp-hero-in 520ms var(--llp-ease-out) 40ms both; }
.llp-hero h1 { animation: llp-hero-in 680ms var(--llp-ease-out) 100ms both; }
.llp-hero__content > p { animation: llp-hero-in 650ms var(--llp-ease-out) 190ms both; }
.llp-hero__actions { animation: llp-hero-in 620ms var(--llp-ease-out) 270ms both; }
.llp-hero__visual { animation: llp-hero-image-in 960ms var(--llp-ease-out) 40ms both; }
.llp-hero__visual > span { animation: llp-script-in 900ms var(--llp-ease-out) 620ms both; }

@keyframes llp-hero-in {
  from { opacity: 0; transform: translate3d(0,16px,0); }
  to { opacity: 1; transform: translate3d(0,0,0); }
}
@keyframes llp-hero-image-in {
  from { opacity: .76; transform: scale(1.045); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes llp-script-in {
  from { opacity: 0; transform: translate3d(10px,7px,0) rotate(-10deg); }
  to { opacity: 1; transform: translate3d(0,0,0) rotate(-7deg); }
}
@keyframes llp-heart-pop {
  0% { transform: scale(.82); opacity: .35; }
  62% { transform: scale(1.1); opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}

/* Micro-interactions: purposeful and non-looping. */
.llp-button,
.llp-concern-card,
.llp-diagnosis-card,
.llp-theme-card,
.llp-featured-card,
.llp-related-card,
.llp-latest-card {
  transition-property: transform, box-shadow, border-color, background-color, color, opacity;
  transition-duration: var(--llp-motion-base);
  transition-timing-function: var(--llp-ease-out);
}
.llp-button { position: relative; overflow: hidden; }
.llp-button::after {
  content: "";
  position: absolute;
  top: -35%;
  bottom: -35%;
  left: -55%;
  width: 36%;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.46), transparent);
  transform: skewX(-18deg) translate3d(-220%,0,0);
  transition: transform 680ms var(--llp-ease-out);
}
@media (hover:hover) and (pointer:fine) {
  .llp-button:hover::after { transform: skewX(-18deg) translate3d(560%,0,0); }
  .llp-button:hover { transform: translate3d(0,-2px,0); }
  .llp-concern-card:hover,
  .llp-diagnosis-card:hover { transform: translate3d(0,-4px,0); }
  .llp-theme-card:hover { transform: translate3d(0,-3px,0) scale(1.012); }
  .llp-featured-card:hover,
  .llp-related-card:hover { transform: translate3d(0,-3px,0); box-shadow: 0 14px 30px rgba(77,47,54,.08); }
  .llp-latest-card:hover { transform: translate3d(4px,0,0); }
  .llp-featured-card:hover .llp-featured-card__image,
  .llp-related-card:hover .llp-related-card__image,
  .llp-popular-item:hover .llp-popular-item__image,
  .llp-latest-card:hover .llp-latest-card__image {
    transform: scale(1.035);
  }
}
.llp-button.is-pressed,
.llp-concern-card.is-pressed,
.llp-diagnosis-card.is-pressed,
.llp-theme-card.is-pressed { transform: scale(.985) !important; }

.llp-featured-card__image,
.llp-related-card__image,
.llp-popular-item__image,
.llp-latest-card__image {
  transition: transform 720ms var(--llp-ease-out), filter 420ms ease;
  will-change: auto;
}
.llp-concern-card.is-visible i,
.llp-diagnosis-card.is-visible i {
  animation: llp-heart-pop 480ms var(--llp-ease-out) calc(var(--llp-motion-delay,0ms) + 100ms) both;
}

/* Header state: no height changes, therefore no CLS. */
.llp-header-container {
  transition: box-shadow var(--llp-motion-base) ease, background-color var(--llp-motion-base) ease, backdrop-filter var(--llp-motion-base) ease;
}
.llp-header-container.is-scrolled {
  background: rgba(255,255,255,.93);
  box-shadow: 0 8px 24px rgba(64,39,46,.055);
  backdrop-filter: blur(14px) saturate(1.08);
  -webkit-backdrop-filter: blur(14px) saturate(1.08);
}
.llp-header-container.is-scrolled .llp-brand__mark {
  transform: scale(.94);
}
.llp-brand__mark { transition: transform var(--llp-motion-base) var(--llp-ease-out); }

/* Mobile navigation: transition instead of abrupt display toggle. */


/* Article reading progress. */
.llp-reading-progress {
  position: fixed;
  z-index: 3000;
  left: 0;
  right: 0;
  top: 0;
  height: 3px;
  pointer-events: none;
  background: linear-gradient(90deg, var(--love-primary), #f2a6b6);
  transform: scaleX(0);
  transform-origin: left center;
  will-change: transform;
}

/* CTA feels alive on entry, never loops. */
.llp-diagnosis-hero.is-visible .llp-diagnosis-hero__copy h2,
.llp-article-cta.is-visible .llp-article-cta__copy h2,
.llp-brand-cta.is-visible .llp-brand-cta__copy h2 {
  animation: llp-cta-copy-in 560ms var(--llp-ease-out) 90ms both;
}
@keyframes llp-cta-copy-in {
  from { opacity: .55; transform: translate3d(-7px,0,0); }
  to { opacity: 1; transform: translate3d(0,0,0); }
}

/* Reduced motion is a first-class mode. */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .llp-reading-progress { display: none !important; }
  .llp-reveal,
  .llp-reveal.is-visible,
  .llp-hero__content > *,
  .llp-hero__visual,
  .llp-hero__visual > span {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
  }
  .llp-button,
  .llp-button::after,
  .llp-concern-card,
  .llp-diagnosis-card,
  .llp-theme-card,
  .llp-featured-card,
  .llp-related-card,
  .llp-latest-card,
  .llp-featured-card__image,
  .llp-related-card__image,
  .llp-popular-item__image,
  .llp-latest-card__image,
  .llp-header-container,
  .llp-brand__mark,
  .llp-mobile-bottom a,
  .llp-mobile-bottom button {
    animation: none !important;
    transition-duration: .01ms !important;
    transform: none !important;
  }
}


/* =========================================================
   v5 PageSpeed / Core Web Vitals refinements
   ========================================================= */
.llp-card-img,
.llp-hero__img,
.llp-diagnosis-hero__img,
.llp-article-cta__img,
.llp-about-strip__img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.llp-hero__visual { overflow:hidden; background-image:none !important; }
.llp-hero__img { position:absolute; inset:0; object-position:center 30%; }
.llp-hero__visual::before { content:""; position:absolute; z-index:1; inset:0; pointer-events:none; background:linear-gradient(90deg,rgba(255,240,241,.72) 0%,rgba(255,240,241,.08) 24%,transparent 48%); }
.llp-hero__visual::after { z-index:1; }
.llp-hero__visual > span { z-index:2; }

.llp-featured-card__image,
.llp-popular-item__image,
.llp-related-card__image,
.llp-latest-card__image,
.llp-theme-card,
.llp-diagnosis-hero__visual,
.llp-article-cta__visual,
.llp-about-strip__visual { overflow:hidden; }
.llp-featured-card__image,
.llp-popular-item__image,
.llp-related-card__image,
.llp-latest-card__image { background-image:none !important; }
.llp-featured-card__image .llp-card-img,
.llp-popular-item__image .llp-card-img,
.llp-related-card__image .llp-card-img,
.llp-latest-card__image .llp-card-img { object-position:center; }
.llp-theme-card { background-image:none !important; }
.llp-theme-card > .llp-card-img { position:absolute; inset:0; z-index:0; }
.llp-theme-card::before { z-index:1; }
.llp-theme-card > span { z-index:2; }

.llp-diagnosis-hero__visual,
.llp-article-cta__visual,
.llp-about-strip__visual { position:relative; background-image:none !important; }
.llp-diagnosis-hero__img,
.llp-article-cta__img,
.llp-about-strip__img { position:absolute; inset:0; object-position:center 36%; }
.llp-diagnosis-hero__visual::before,
.llp-article-cta__visual::before { content:""; position:absolute; z-index:1; inset:0; pointer-events:none; background:linear-gradient(90deg,rgba(253,230,233,.5),transparent 28%); }
.llp-diagnosis-hero__visual > span { z-index:2; }
.llp-about-strip__visual::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(255,248,247,.12),rgba(255,248,247,.04)); pointer-events:none; }

/* LCP must paint immediately: no opacity/scale entrance on the hero image. */
.llp-hero__visual { animation:none !important; transform:none !important; opacity:1 !important; }

/* Avoid expensive backdrop-filter paints on mobile and during scroll. */
.llp-header-container.is-scrolled { backdrop-filter:none !important; -webkit-backdrop-filter:none !important; background:rgba(255,255,255,.98); }


/* CSS :active replaces dozens of pointer listeners. */
.llp-button:active,
.llp-concern-card:active,
.llp-diagnosis-card:active,
.llp-theme-card:active { transform:scale(.985) !important; }

/* Limit paint scope for dense cards without changing layout. */
.llp-featured-card,
.llp-popular-item,
.llp-diagnosis-card,
.llp-theme-card,
.llp-latest-card,
.llp-related-card { contain:paint; }

/* Keep the progress bar composited but do not reserve a layer until it exists. */
.llp-reading-progress { contain:strict; }


/* =========================================================
   v7 authoritative responsive layer — mobile first
   All legacy width-based media rules were removed above.
   ========================================================= */

/* Anchor targets remain visible below the sticky compact header. */
#concerns,#popular,#diagnosis,#diagnosis-list{scroll-margin-top:76px;}
html{scroll-padding-top:76px;}

/* Mobile base: 320–480px */
body.llp-theme .wrap{width:min(calc(100% - 24px),var(--love-wrap));}
body.llp-theme #content{margin-top:0;}
body.llp-theme .content-in{width:100%;}
body.llp-theme .main{width:100%!important;max-width:none!important;padding:0;border-radius:0;box-shadow:none;}

.llp-header-container{position:sticky;top:0;}
.llp-header-container::before{height:70px;}
.llp-header__inner{min-height:62px;gap:6px;}
.llp-brand{gap:7px;}
.llp-brand__mark,.llp-brand__mark svg{width:30px;height:30px;}
.llp-brand__text strong{font-size:14px;}
.llp-brand__text small{max-width:185px;margin-top:3px;overflow:hidden;white-space:nowrap;font-size:6.5px;}
.llp-search-toggle{margin-left:auto;}
.llp-menu-toggle{display:grid;}
.llp-primary-nav{display:block!important;position:fixed;z-index:999;inset:62px 0 auto;margin:0;padding:12px 18px 22px;background:rgba(255,255,255,.995);border-top:1px solid var(--love-border);box-shadow:var(--love-shadow-lg);visibility:hidden;opacity:0;transform:translate3d(0,-9px,0) scale(.99);transform-origin:top center;pointer-events:none;transition:opacity 210ms var(--llp-ease-out),transform 260ms var(--llp-ease-out),visibility 0s linear 260ms;}
.llp-primary-nav.is-open{visibility:visible;opacity:1;transform:translate3d(0,0,0) scale(1);pointer-events:auto;transition-delay:0s;}
.llp-primary-nav__list{display:block;}
.llp-primary-nav__list>li>a{min-height:48px;padding:14px 6px;border-bottom:1px solid var(--love-border);font-size:13px;}
.llp-primary-nav__list .sub-menu{position:static;display:block;width:auto;padding:0 0 6px 12px;border:0;box-shadow:none;}

.llp-section{width:calc(100% - 24px);padding:46px 0;}
.llp-section-head{align-items:flex-start;}
.llp-section-head>p{display:none;}
.llp-section-head h2,.llp-center-head h2{font-size:22px;}

.llp-hero{position:relative;display:block;width:100%;min-height:0;background:#fce8ea;}
.llp-hero__visual{min-height:430px;background-image:none!important;}
.llp-hero__img{object-position:56% 20%;}
.llp-hero__content{position:absolute;z-index:4;inset:auto 14px 16px;padding:20px 18px;border-radius:14px;background:rgba(255,248,247,.96);box-shadow:var(--love-shadow-md);backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
.llp-hero__eyebrow{display:none;}
.llp-hero__content h1{margin:0 0 9px;font-size:24px;line-height:1.7;}
.llp-hero__content h1::first-letter{float:none;padding:0;font-size:inherit;color:inherit;}
.llp-hero__content p{max-width:none;font-size:12px;line-height:1.75;}
.llp-hero__actions{width:100%;margin-top:16px;}
.llp-hero__actions .llp-button{min-height:48px;font-size:12px;}
.llp-hero__visual>span{display:none;}

.llp-concerns{padding-top:32px;}
.llp-concern-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.llp-concern-card{min-height:92px;}
.llp-popular-layout{grid-template-columns:1fr;}
.llp-featured-card__image{height:210px;}
.llp-featured-card__body{padding:17px;}
.llp-featured-card__body h3{font-size:20px;}
.llp-popular-list{padding:8px 10px;}
.llp-popular-item{grid-template-columns:94px minmax(0,1fr);min-height:94px;}
.llp-popular-item__image{height:72px;}

.llp-diagnosis-hero{width:calc(100% - 24px);grid-template-columns:1fr;}
.llp-diagnosis-hero__copy{padding:24px 20px;}
.llp-diagnosis-hero__copy h2{font-size:20px;}
.llp-diagnosis-hero__visual{display:none;}
.llp-diagnosis-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.llp-diagnosis-card{min-height:146px;padding:18px 15px;}
.llp-diagnosis-card p{display:none;}
.llp-theme-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.llp-theme-card{height:116px;}
.llp-latest-grid{grid-template-columns:1fr;gap:0;}
.llp-latest-card{grid-template-columns:100px minmax(0,1fr);}
.llp-latest-card__image{height:70px;}
.llp-about-strip{width:calc(100% - 24px);grid-template-columns:1fr;gap:16px;padding:22px 20px;}
.llp-about-strip__visual{display:none;}
.llp-about-strip__copy h2{font-size:22px;}
.llp-about-strip__copy p{font-size:13px;}
.llp-reasons{width:calc(100% - 24px);padding-bottom:42px;}
.llp-reason-grid{grid-template-columns:1fr;}
.llp-reason-grid>div{min-height:0;border-right:0;border-bottom:1px solid var(--love-border)!important;}
.llp-reason-grid>div:last-child{border-bottom:0!important;}

body.llp-theme.single .content-in{width:100%;}
body.llp-theme.single .main{padding:0 20px 76px;}
body.llp-theme.single .article{max-width:none;}
body.llp-theme.single .breadcrumb{padding-top:18px;}
body.llp-theme.single .entry-title{font-size:24px;}
body.llp-theme.single .entry-content{font-size:15px;line-height:2;}
body.llp-theme.single .entry-content h2{font-size:20px;}
body.llp-theme.single .eye-catch-wrap{margin-left:-20px;margin-right:-20px;}
.llp-inline-diagnosis{grid-template-columns:38px minmax(0,1fr);}
.llp-inline-diagnosis>a{grid-column:1/-1;min-height:48px;justify-content:center;}
.llp-article-cta{grid-template-columns:1fr;min-height:0;}
.llp-article-cta__copy{padding:24px 20px;}
.llp-article-cta__copy h2{font-size:24px!important;}
.llp-article-cta__visual{display:none;}
.llp-related__grid{grid-template-columns:1fr;}
.llp-related-card{display:grid;grid-template-columns:112px minmax(0,1fr);}
.llp-related-card__image{height:82px;}
.llp-brand-cta__inner{flex-direction:column;align-items:flex-start;padding:20px;}
.llp-brand-cta__copy h2{font-size:24px;}

body.llp-theme .footer-in{padding-bottom:calc(78px + var(--llp-ad-anchor-offset,0px));}
.llp-mobile-bottom{position:fixed;z-index:1200;left:0;right:0;bottom:var(--llp-ad-anchor-offset,0px);min-height:62px;padding-bottom:env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(5,1fr);background:rgba(255,255,255,.985);border-top:1px solid var(--love-border);box-shadow:0 -8px 22px rgba(67,42,47,.08);backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transition:bottom 180ms ease;}
.llp-mobile-bottom a,.llp-mobile-bottom button{min-height:60px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;padding:0;border:0;background:transparent;color:#73686b!important;text-decoration:none!important;font:inherit;font-size:8px;cursor:pointer;transition:color var(--llp-motion-fast) ease,transform var(--llp-motion-fast) var(--llp-ease-out),background-color var(--llp-motion-fast) ease,bottom 180ms ease;}
.llp-mobile-bottom svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.llp-mobile-bottom .is-accent,.llp-mobile-bottom .is-current{color:var(--love-primary)!important;font-weight:900;}
.llp-mobile-bottom a:active,.llp-mobile-bottom button:active{transform:scale(.94);}

/* Common phone widths: progressively relax density without desktop overrides. */
@media screen and (min-width:360px){
  .llp-brand__text strong{font-size:15px;}
  .llp-hero__content{inset:auto 16px 18px;padding:21px 19px;}
  .llp-hero__content h1{font-size:25px;}
  .llp-concern-card{min-height:96px;}
}

@media screen and (min-width:430px){
  body.llp-theme .wrap{width:min(calc(100% - 28px),var(--love-wrap));}
  .llp-section{width:calc(100% - 28px);}
  .llp-hero__visual{min-height:440px;}
  .llp-featured-card__image{height:224px;}
}

/* Large phones and tablets: 481–919px */
@media screen and (min-width:481px){
  body.llp-theme .wrap{width:min(calc(100% - 28px),var(--love-wrap));}
  .llp-brand__text strong{font-size:18px;}
  .llp-brand__text small{max-width:none;font-size:7px;}
  .llp-section{width:calc(100% - 32px);padding:54px 0;}
  .llp-hero__visual{min-height:365px;}
  .llp-hero__img{object-position:center 22%;}
  .llp-hero__content{inset:auto 16px 18px;padding:22px 20px;}
  .llp-featured-card__image{height:230px;}
  .llp-diagnosis-card{min-height:190px;}
  .llp-diagnosis-card p{display:block;}
  .llp-theme-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .llp-theme-card{height:104px;}
  .llp-latest-card{grid-template-columns:104px minmax(0,1fr);}
  .llp-latest-card__image{height:74px;}
  .llp-reason-grid{grid-template-columns:1fr 1fr;}
  .llp-reason-grid>div{border-right:1px solid var(--love-border);border-bottom:1px solid var(--love-border)!important;}
  .llp-reason-grid>div:nth-child(2n){border-right:0;}
  .llp-reason-grid>div:nth-last-child(-n+2){border-bottom:0!important;}
}

/* Phone bottom navigation is intentionally limited to handheld widths. */
@media screen and (min-width:768px){
  html{--llp-ad-anchor-offset:0px!important;}
  .llp-mobile-bottom{display:none;}
  body.llp-theme .footer-in{padding-bottom:0;}
}

/* Desktop navigation starts only when there is sufficient horizontal room. */
@media screen and (min-width:920px){
  html{scroll-padding-top:0;}
  #concerns,#popular,#diagnosis,#diagnosis-list{scroll-margin-top:24px;}
  body.llp-theme .wrap{width:min(var(--love-wrap),calc(100% - 40px));}
  body.llp-theme #content{margin-top:26px;}
  body.llp-theme.home #content{margin-top:0;}
  body.llp-theme .content-in{width:auto;}
  body.llp-theme .main{width:auto!important;max-width:none;padding:initial;border-radius:var(--love-radius-lg);box-shadow:var(--love-shadow-sm);}
  body.llp-theme.home .main{width:100%!important;padding:0!important;border-radius:0;box-shadow:none;}

  .llp-header-container{position:relative;}
  .llp-header-container::before{height:118px;}
  .llp-header__inner{min-height:86px;gap:var(--love-space-5);}
  .llp-brand{gap:10px;}
  .llp-brand__mark,.llp-brand__mark svg{width:38px;height:38px;}
  .llp-brand__text strong{font-size:19px;}
  .llp-brand__text small{margin-top:5px;font-size:8px;white-space:normal;overflow:visible;}
  .llp-search-toggle{margin-left:0;}
  .llp-menu-toggle{display:none;}
  .llp-primary-nav{position:static;display:block!important;margin-left:auto;padding:0;background:transparent;border:0;box-shadow:none;visibility:visible;opacity:1;transform:none;pointer-events:auto;transition:none;}
  .llp-primary-nav__list{display:flex;}
  .llp-primary-nav__list>li>a{padding:31px 8px 27px;border-bottom:3px solid transparent;font-size:11px;}
  .llp-primary-nav__list .sub-menu{position:absolute;display:none;width:220px;padding:8px;border:1px solid var(--love-border);box-shadow:var(--love-shadow-md);}
  .llp-primary-nav__list li:hover>.sub-menu,.llp-primary-nav__list li:focus-within>.sub-menu{display:block;}

  .llp-section{width:min(var(--love-wrap),calc(100% - 48px));padding:var(--love-space-20) 0;}
  .llp-section-head{align-items:flex-end;}
  .llp-section-head>p{display:block;}
  .llp-section-head h2,.llp-center-head h2{font-size:18px;}
  .llp-hero{width:min(var(--love-wrap),100%);min-height:470px;display:grid;grid-template-columns:43.5% 56.5%;background:linear-gradient(110deg,#fff9f8 0%,#fff2f4 42%,#f9dfe2 100%);}
  .llp-hero__content{position:relative;inset:auto;padding:74px 28px 50px 34px;border-radius:0;background:transparent;box-shadow:none;}
  .llp-hero__eyebrow{display:block;}
  .llp-hero__content h1{margin:10px 0 16px;font-size:27px;line-height:1.9;}
  .llp-hero__content h1::first-letter{float:left;padding:8px 6px 0 0;font-size:62px;line-height:.7;color:var(--love-primary);}
  .llp-hero__content p{max-width:300px;font-size:13px;line-height:1.95;}
  .llp-hero__actions{width:220px;margin-top:24px;}
  .llp-hero__visual{min-height:470px;}
  .llp-hero__img{object-position:center 30%;}
  .llp-hero__visual>span{display:block;}

  .llp-concerns{padding-top:18px;padding-bottom:42px;}
  .llp-concern-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
  .llp-popular-layout{grid-template-columns:minmax(0,1.23fr) minmax(300px,.77fr);gap:16px;}
  .llp-featured-card__image{height:280px;}
  .llp-featured-card__body{padding:16px 18px 18px;}
  .llp-popular-item{grid-template-columns:92px minmax(0,1fr);min-height:96px;}
  .llp-diagnosis-hero{width:min(var(--love-wrap),calc(100% - 48px));grid-template-columns:57% 43%;}
  .llp-diagnosis-hero__copy{padding:28px 32px;}
  .llp-diagnosis-hero__copy h2{font-size:22px;}
  .llp-diagnosis-hero__visual{display:block;}
  .llp-diagnosis-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
  .llp-theme-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
  .llp-latest-grid{grid-template-columns:1fr 1fr;gap:10px 24px;}
  .llp-about-strip{width:min(var(--love-wrap),calc(100% - 48px));grid-template-columns:1fr 230px auto;gap:26px;padding:26px 28px;}
  .llp-about-strip__visual{display:block;}
  .llp-reasons{width:min(var(--love-wrap),calc(100% - 48px));}
  .llp-reason-grid{grid-template-columns:repeat(4,1fr);}
  .llp-reason-grid>div{border-right:1px solid var(--love-border);border-bottom:0!important;}
  .llp-reason-grid>div:last-child{border-right:0;}

  body.llp-theme.single .content-in{display:block;width:min(1080px,calc(100% - 40px));margin:0 auto;}
  body.llp-theme.single .main{width:100%!important;padding:32px 48px 56px;border-radius:0;box-shadow:none;}
  body.llp-theme.single .article{max-width:760px;margin:0 auto;}
  body.llp-theme.single .breadcrumb{padding-top:0;}
  body.llp-theme.single .entry-title{font-size:28px;}
  body.llp-theme.single .eye-catch-wrap{margin:22px 0 24px;}
  .llp-inline-diagnosis{grid-template-columns:44px minmax(0,1fr) auto;}
  .llp-inline-diagnosis>a{grid-column:auto;}
  .llp-article-cta{grid-template-columns:57% 43%;min-height:220px;}
  .llp-article-cta__copy{padding:24px 26px;}
  .llp-article-cta__copy h2{font-size:28px!important;}
  .llp-article-cta__visual{display:block;}
  .llp-related__grid{grid-template-columns:repeat(3,1fr);}
  .llp-related-card{display:block;}
  .llp-related-card__image{height:104px;}
  .llp-brand-cta__inner{flex-direction:row;align-items:center;padding:22px 24px;}
  .llp-brand-cta__copy h2{font-size:28px;}
}

/* Full desktop card density. */
@media screen and (min-width:1101px){
  .llp-brand__text strong{font-size:23px;}
  .llp-brand__text small{font-size:10px;}
  .llp-primary-nav__list>li>a{padding-left:15px;padding-right:15px;font-size:13px;}
  .llp-concern-grid{grid-template-columns:repeat(6,1fr);}
  .llp-diagnosis-grid{grid-template-columns:repeat(5,1fr);}
  .llp-theme-grid{grid-template-columns:repeat(6,1fr);}
}


/* =========================================================
   v8 header isolation — fix Cocoon parent-theme collision
   ========================================================= */
.llp-header-container{
  width:100%;
  background:#fff;
  border-bottom:1px solid #f0e2e5;
}
.llp-header{width:100%;margin:0!important;padding:0!important;background:#fff!important;}
.llp-header__inner{
  position:relative;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center!important;
  width:min(var(--love-wrap),calc(100% - 24px))!important;
  max-width:var(--love-wrap)!important;
  min-height:64px;
  margin:0 auto!important;
  padding:0!important;
  gap:8px;
  flex-wrap:nowrap!important;
}
.llp-brand{
  position:relative!important;
  z-index:2;
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  width:max-content!important;
  max-width:calc(100vw - 124px);
  min-width:0;
  margin:0!important;
  padding:0!important;
  justify-self:start;
  align-items:center;
}
.llp-brand__text{min-width:0;}
.llp-brand__text strong{display:block!important;visibility:visible!important;opacity:1!important;color:var(--love-primary)!important;}
.llp-header__actions{display:flex;align-items:center;justify-content:flex-end;gap:2px;justify-self:end;}
.llp-search-toggle,.llp-menu-toggle{position:relative!important;inset:auto!important;float:none!important;margin:0!important;flex:0 0 48px;width:48px;height:48px;}

@media screen and (min-width:920px){
  .llp-header-container{position:relative!important;}
  .llp-header-container::before{height:78px!important;opacity:.65;}
  .llp-header__inner{
    grid-template-columns:minmax(280px,1fr) auto 48px;
    width:min(var(--love-wrap),calc(100% - 48px))!important;
    min-height:78px!important;
    gap:18px!important;
  }
  .llp-brand{max-width:none!important;white-space:nowrap;}
  .llp-brand__mark,.llp-brand__mark svg{width:36px!important;height:36px!important;}
  .llp-brand__text strong{font-size:20px!important;line-height:1.15!important;letter-spacing:.025em!important;}
  .llp-brand__text small{display:block!important;margin-top:4px!important;font-size:8px!important;line-height:1.3!important;color:#8c7d81!important;white-space:nowrap!important;}
  .llp-primary-nav{
    position:static!important;
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    transform:none!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
    justify-self:end;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    pointer-events:auto!important;
  }
  .llp-primary-nav__list{display:flex!important;align-items:center!important;gap:3px!important;margin:0!important;padding:0!important;white-space:nowrap;}
  .llp-primary-nav__list>li{display:block!important;margin:0!important;padding:0!important;}
  .llp-primary-nav__list>li>a{
    min-height:46px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 12px!important;
    border:0!important;
    border-radius:10px!important;
    color:#46383c!important;
    font-size:13px!important;
    font-weight:750!important;
    line-height:1!important;
    letter-spacing:.015em!important;
    text-decoration:none!important;
    transition:background-color .18s ease,color .18s ease,transform .18s ease!important;
  }
  .llp-primary-nav__list>li>a:hover,
  .llp-primary-nav__list>.current-menu-item>a{
    background:#fff3f5!important;
    color:var(--love-primary-strong)!important;
    transform:translateY(-1px);
  }
  .llp-search-toggle{
    justify-self:end;
    border:1px solid #f0e2e5!important;
    border-radius:50%!important;
    background:#fffafa!important;
    color:#4b3e41!important;
  }
  .llp-search-toggle:hover{background:#fff0f3!important;color:var(--love-primary)!important;border-color:#efcbd3!important;}
  .llp-menu-toggle{display:none!important;}
}

@media screen and (min-width:1101px){
  .llp-header__inner{grid-template-columns:minmax(330px,1fr) auto 48px;gap:24px!important;}
  .llp-brand__text strong{font-size:23px!important;}
  .llp-brand__text small{font-size:9px!important;}
  .llp-primary-nav__list>li>a{padding:0 15px!important;font-size:14px!important;}
}

@media screen and (min-width:1400px){
  .llp-header__inner{width:min(1280px,calc(100% - 64px))!important;max-width:1280px!important;}
}


/* =========================================================
   v9 article sidebar — desktop 2-column, mobile-first 1-column
   ========================================================= */
body.llp-theme.single #sidebar{
  display:none!important;
}

@media screen and (min-width:920px){
  body.llp-theme.single .content-in{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 300px;
    align-items:start;
    gap:32px;
    width:min(1180px,calc(100% - 40px));
    margin:0 auto;
  }
  body.llp-theme.single .main{
    min-width:0;
    width:100%!important;
    margin:0!important;
    padding:32px 42px 56px;
  }
  body.llp-theme.single .article{
    width:100%;
    max-width:760px;
    margin:0 auto;
  }
  body.llp-theme.single #sidebar{
    display:block!important;
    width:300px!important;
    min-width:0;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
  }
  body.llp-theme.single .llp-sidebar > .widget,
  body.llp-theme.single .llp-sidebar-card{
    margin:0 0 18px!important;
    overflow:hidden;
    border:1px solid var(--love-border)!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:0 8px 26px rgba(77,47,54,.045)!important;
  }
  body.llp-theme.single .llp-sidebar .widget-title,
  .llp-sidebar-card__head{
    margin:0!important;
    padding:15px 16px 13px!important;
    border:0!important;
    border-bottom:1px solid var(--love-border)!important;
    background:linear-gradient(90deg,#fff4f6,#fffafa)!important;
  }
  body.llp-theme.single .llp-sidebar .widget-title{
    color:#46393c!important;
    font:700 15px/1.5 "Yu Mincho","Hiragino Mincho ProN",serif!important;
  }
  body.llp-theme.single .llp-sidebar .widget > *:not(.widget-title){
    margin-left:16px;
    margin-right:16px;
  }
  .llp-sidebar-card__head > span{
    display:block;
    margin-bottom:2px;
    color:var(--love-primary);
    font-size:9px;
    font-weight:900;
    letter-spacing:.14em;
  }
  .llp-sidebar-card__head h2{
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:#46393c!important;
    font:700 16px/1.5 "Yu Mincho","Hiragino Mincho ProN",serif!important;
  }
  .llp-sidebar-popular__list{padding:7px 12px 10px;}
  .llp-sidebar-popular__item{
    position:relative;
    display:grid;
    grid-template-columns:68px minmax(0,1fr);
    gap:10px;
    align-items:center;
    min-height:78px;
    padding:9px 0;
    border-bottom:1px solid #f3e8ea;
    text-decoration:none!important;
  }
  .llp-sidebar-popular__item:last-child{border-bottom:0;}
  .llp-sidebar-popular__rank{
    position:absolute;
    z-index:2;
    left:-3px;
    top:6px;
    width:22px;
    height:22px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:var(--love-primary);
    color:#fff;
    font-size:10px;
    font-weight:900;
    box-shadow:0 3px 10px rgba(223,85,113,.18);
  }
  .llp-sidebar-popular__thumb{
    position:relative;
    display:block;
    width:68px;
    height:58px;
    overflow:hidden;
    border-radius:7px;
    background-size:cover;
    background-position:center;
  }
  .llp-sidebar-popular__copy{min-width:0;}
  .llp-sidebar-popular__copy small{
    display:block;
    margin-bottom:3px;
    color:var(--love-primary-strong);
    font-size:9px;
    font-weight:800;
  }
  .llp-sidebar-popular__copy strong{
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    color:#4a3f42;
    font:700 12px/1.55 "Yu Mincho","Hiragino Mincho ProN",serif;
  }
  .llp-sidebar-popular__item:hover strong{color:var(--love-primary-strong);}

  .llp-sidebar-diagnosis{
    padding:22px 20px!important;
    text-align:center;
    background:linear-gradient(145deg,#fff4f6,#fde7eb)!important;
  }
  .llp-sidebar-diagnosis > span{
    color:var(--love-primary);
    font:700 11px/1.4 "Yu Mincho","Hiragino Mincho ProN",serif;
  }
  .llp-sidebar-diagnosis h2{
    margin:5px 0 8px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:var(--love-primary-strong)!important;
    font:700 20px/1.45 "Yu Mincho","Hiragino Mincho ProN",serif!important;
  }
  .llp-sidebar-diagnosis p{
    margin:0 0 14px!important;
    color:#75666a;
    font-size:11px;
    line-height:1.8;
  }
  .llp-sidebar-diagnosis > a{
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border-radius:999px;
    background:var(--love-primary);
    color:#fff!important;
    font-size:11px;
    font-weight:900;
    text-decoration:none!important;
  }
  .llp-sidebar-diagnosis > small{
    display:block;
    margin-top:8px;
    color:#9b8d90;
    font-size:9px;
  }
  .llp-sidebar-scroll{
    position:sticky;
    top:20px;
  }
}

@media screen and (min-width:1101px){
  body.llp-theme.single .content-in{grid-template-columns:minmax(0,1fr) 320px;gap:36px;}
  body.llp-theme.single #sidebar{width:320px!important;}
  body.llp-theme.single .main{padding-left:48px;padding-right:48px;}
}


/* =========================================================
   Stable update 9.1 — unified sidebar widgets / SNS / author
   ========================================================= */
@media screen and (min-width:920px){
  body.llp-theme.single .llp-sidebar > .widget,
  body.llp-theme.single .llp-sidebar-card,
  body.llp-theme.single .llp-sidebar .widget_llp_profile,
  body.llp-theme.single .llp-sidebar .widget_llp_popular_posts,
  body.llp-theme.single .llp-sidebar .widget_llp_recent_posts,
  body.llp-theme.single .llp-sidebar .widget_llp_article_author,
  body.llp-theme.single .llp-sidebar .widget_author_box,
  body.llp-theme.single .llp-sidebar .widget_popular_entries,
  body.llp-theme.single .llp-sidebar .widget_new_entries{
    border:1px solid #efdfe3!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:0 10px 28px rgba(92,57,65,.055)!important;
  }
  body.llp-theme.single .llp-sidebar .widget-title{
    position:relative;
    padding:14px 16px 13px 22px!important;
    background:linear-gradient(90deg,#fff2f5 0%,#fffafb 100%)!important;
    color:#493a3e!important;
    font:700 15px/1.5 "Yu Mincho","Hiragino Mincho ProN",serif!important;
    letter-spacing:.03em;
  }
  body.llp-theme.single .llp-sidebar .widget-title::before{
    content:"";position:absolute;left:12px;top:50%;width:4px;height:18px;border-radius:999px;background:var(--love-primary);transform:translateY(-50%);
  }
}

/* LLP unified post widgets + Cocoon popular/new cards */
.llp-widget-post-list{padding:7px 12px 10px;}
.llp-widget-post-item{
  display:grid;grid-template-columns:78px minmax(0,1fr);gap:11px;align-items:center;
  min-height:86px;padding:10px 0;border-bottom:1px solid #f2e7e9;text-decoration:none!important;
  transition:transform .22s cubic-bezier(.22,1,.36,1),background-color .22s ease,box-shadow .22s ease;
}
.llp-widget-post-item:last-child{border-bottom:0;}
.llp-widget-post-thumb{position:relative;display:block;width:78px;height:58px;overflow:hidden;border-radius:9px;background:#f9eef0;}
.llp-widget-post-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .28s cubic-bezier(.22,1,.36,1);}
.llp-widget-post-thumb b{position:absolute;left:5px;top:5px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--love-primary);color:#fff;font-size:10px;box-shadow:0 3px 10px rgba(223,85,113,.22);}
.llp-widget-post-copy{min-width:0;}
.llp-widget-post-copy small{display:block;margin-bottom:2px;color:var(--love-primary-strong);font-size:9px;font-weight:800;}
.llp-widget-post-copy strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#4a3e41;font:700 12px/1.55 "Yu Mincho","Hiragino Mincho ProN",serif;transition:color .2s ease;}
.llp-widget-post-copy time{display:block;margin-top:3px;color:#a09396;font-size:9px;}
@media (hover:hover) and (pointer:fine){
  .llp-widget-post-item:hover{transform:translate3d(3px,-2px,0);background:#fff8f9;box-shadow:0 8px 18px rgba(92,57,65,.055);}
  .llp-widget-post-item:hover .llp-widget-post-thumb img{transform:scale(1.055);}
  .llp-widget-post-item:hover strong{color:var(--love-primary-strong);}
  .llp-sidebar .widget_popular_entries .a-wrap:hover,
  .llp-sidebar .widget_new_entries .a-wrap:hover{transform:translate3d(3px,-2px,0)!important;background:#fff8f9!important;box-shadow:0 8px 18px rgba(92,57,65,.055)!important;}
  .llp-sidebar .widget_popular_entries .a-wrap:hover img,
  .llp-sidebar .widget_new_entries .a-wrap:hover img{transform:scale(1.05);}
}
.llp-sidebar .widget_popular_entries .a-wrap,
.llp-sidebar .widget_new_entries .a-wrap{border-radius:9px!important;transition:transform .22s cubic-bezier(.22,1,.36,1),background-color .22s ease,box-shadow .22s ease!important;}
.llp-sidebar .widget_popular_entries img,
.llp-sidebar .widget_new_entries img{border-radius:8px;transition:transform .28s cubic-bezier(.22,1,.36,1);}

/* Compact, consistent profile/author cards in sidebar */
.llp-sidebar .widget_author_box .author-box,
.llp-sidebar .widget_llp_profile .author-box,
.llp-sidebar .widget_llp_article_author .author-box{
  margin:0!important;padding:18px 16px!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;text-align:left!important;
}
.llp-sidebar .author-box .author-thumb{float:none!important;margin:0 auto 10px!important;}
.llp-sidebar .author-box .author-thumb img{width:82px!important;height:82px!important;object-fit:cover;border-radius:50%!important;box-shadow:0 5px 18px rgba(81,53,59,.08);}
.llp-sidebar .author-box .author-name{margin:0 0 8px!important;text-align:center;font-size:14px!important;font-weight:800!important;color:#473a3d!important;}
.llp-sidebar .author-box .author-description{font-size:11px!important;line-height:1.8!important;color:#706367!important;}
.llp-sidebar .author-box .sns-follow-buttons{margin:12px 0 0!important;gap:7px!important;}
.llp-sidebar .author-box .sns-follow-buttons a{width:34px!important;height:34px!important;border-radius:9px!important;}

/* Article footer author card: normal size, duplicate later copies hidden as CSS fallback */
.article-footer .widget_author_box ~ .widget_author_box{display:none!important;}
.article-footer .widget_llp_article_author ~ .widget_llp_article_author{display:none!important;}

/* Cocoon SNS share buttons: readable, consistent with LLP visual system */
body.llp-theme.single .article-footer .sns-share-buttons{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px!important;margin:22px 0 30px!important;
}
body.llp-theme.single .article-footer .sns-share-buttons a{
  width:100%!important;min-width:0!important;height:50px!important;margin:0!important;border-radius:11px!important;
  color:#fff!important;font-weight:800!important;text-decoration:none!important;box-shadow:0 5px 14px rgba(61,43,48,.08);
  transition:transform .2s cubic-bezier(.22,1,.36,1),filter .2s ease,box-shadow .2s ease!important;
}
body.llp-theme.single .article-footer .sns-share-buttons .button-caption{font-size:12px!important;margin-left:8px!important;color:inherit!important;}
body.llp-theme.single .article-footer .sns-share-buttons .social-icon{color:inherit!important;}
body.llp-theme.single .article-footer .bc-brand-color-white .sns-share-buttons a,
body.llp-theme.single .article-footer .sns-share.bc-brand-color-white .sns-share-buttons a{
  background:#fff!important;color:var(--cocoon-sns-color)!important;border:1.5px solid var(--cocoon-sns-color)!important;box-shadow:none!important;
}
@media (hover:hover) and (pointer:fine){
  body.llp-theme.single .article-footer .sns-share-buttons a:hover{opacity:1!important;filter:brightness(1.04);transform:translateY(-2px);box-shadow:0 9px 20px rgba(61,43,48,.12);}
}
@media screen and (min-width:600px){
  body.llp-theme.single .article-footer .sns-share-buttons{grid-template-columns:repeat(5,minmax(0,1fr));}
}

@media (prefers-reduced-motion:reduce){
  .llp-widget-post-item,.llp-widget-post-thumb img,.llp-sidebar .widget_popular_entries .a-wrap,.llp-sidebar .widget_new_entries .a-wrap,.llp-sidebar img,body.llp-theme.single .article-footer .sns-share-buttons a{transition:none!important;transform:none!important;}
}


/* =========================================================
   Stable update 9.1.1 — isolate SNS colors from normal links
   ========================================================= */
/* Cocoon can supply its own default link blue. Custom LLP UI must own its
   text colors explicitly instead of relying on global anchor inheritance. */
.llp-home .llp-concern-card,
.llp-home .llp-diagnosis-card,
.llp-home .llp-popular-item,
.llp-home .llp-latest-card,
.llp-home .llp-featured-card h3 a,
.llp-home .llp-section-head > a,
.llp-home .llp-center-link > a,
.llp-home .llp-about-strip > a,
.llp-header-container .llp-primary-nav__list a {
  color: var(--love-text) !important;
}

.llp-home .llp-concern-card strong,
.llp-home .llp-diagnosis-card h3,
.llp-home .llp-popular-item strong,
.llp-home .llp-latest-card strong,
.llp-home .llp-featured-card h3 a {
  color: #43383b !important;
}

.llp-home .llp-concern-card small,
.llp-home .llp-popular-item time,
.llp-home .llp-latest-card time {
  color: var(--love-text-3) !important;
}

.llp-home .llp-concern-card i,
.llp-home .llp-concern-card svg {
  color: var(--love-primary) !important;
  stroke: currentColor;
}

.llp-home .llp-diagnosis-card > span,
.llp-home .llp-latest-card em,
.llp-home .llp-popular-item span,
.llp-home .llp-section-head > div > span {
  color: var(--love-primary-strong) !important;
}

.llp-home .llp-chip {
  color: var(--love-primary-strong) !important;
}

.llp-home .llp-theme-card > span {
  color: #fff !important;
}
.llp-home .llp-theme-card.is-placeholder > span {
  color: var(--love-text) !important;
}

@media (hover:hover) and (pointer:fine) {
  .llp-home .llp-concern-card:hover strong,
  .llp-home .llp-diagnosis-card:hover h3,
  .llp-home .llp-popular-item:hover strong,
  .llp-home .llp-latest-card:hover strong,
  .llp-home .llp-featured-card h3 a:hover,
  .llp-home .llp-section-head > a:hover,
  .llp-home .llp-center-link > a:hover,
  .llp-header-container .llp-primary-nav__list a:hover {
    color: var(--love-primary-strong) !important;
  }
}

/* SNS colors stay scoped only to Cocoon SNS areas. */
body.llp-theme.single .article-footer .sns-share-buttons a {
  color: #fff !important;
}
body.llp-theme.single .article-footer .sns-share.bc-brand-color-white .sns-share-buttons a {
  color: var(--cocoon-sns-color) !important;
}
body.llp-theme.single .article-footer .sns-share-buttons a .button-caption,
body.llp-theme.single .article-footer .sns-share-buttons a .social-icon {
  color: inherit !important;
}


/* =========================================================
   Stable update 9.1.3 — brand CTA tone + stronger card motion without accent bars
   ========================================================= */
/* Article-end brand CTA: replace the gray title plate with a warm ivory/rose panel. */
body.llp-theme.single .llp-brand-cta__copy h2{
  display:inline-block!important;
  margin:8px 0 0!important;
  padding:14px 20px 13px!important;
  border:1px solid #efd8dc!important;
  border-left:5px solid var(--love-primary)!important;
  border-radius:12px!important;
  background:linear-gradient(135deg,#fffaf3 0%,#fff5f6 58%,#fde9ed 100%)!important;
  color:var(--love-primary-strong)!important;
  box-shadow:0 8px 24px rgba(92,57,65,.065)!important;
}

/* Stronger but still purposeful hover feedback for homepage popular/new cards. */
.llp-home .llp-popular-item,
.llp-home .llp-latest-card{
  position:relative;
  border-radius:12px;
  transition:transform .28s cubic-bezier(.22,1,.36,1),
             background-color .28s ease,
             box-shadow .28s ease,
             border-color .28s ease!important;
}
.llp-home .llp-popular-item__image,
.llp-home .llp-latest-card__image{
  transition:transform .38s cubic-bezier(.22,1,.36,1),filter .3s ease,box-shadow .3s ease!important;
}

/* Sidebar popular/new cards receive the same stronger interaction language. */
.llp-sidebar .widget_popular_entries .a-wrap,
.llp-sidebar .widget_new_entries .a-wrap,
.llp-widget-post-item{
  position:relative;
  overflow:hidden;
}

@media (hover:hover) and (pointer:fine){
  .llp-home .llp-popular-item:hover,
  .llp-home .llp-latest-card:hover{
    transform:translate3d(7px,-5px,0)!important;
    background:linear-gradient(110deg,#fff 0%,#fff7f8 100%)!important;
    box-shadow:0 14px 32px rgba(92,57,65,.13)!important;
  }
  .llp-home .llp-popular-item:hover .llp-popular-item__image,
  .llp-home .llp-latest-card:hover .llp-latest-card__image{
    transform:scale(1.085)!important;
    filter:saturate(1.05) contrast(1.02);
    box-shadow:0 8px 18px rgba(78,49,56,.12);
  }
  .llp-home .llp-popular-item:hover strong,
  .llp-home .llp-latest-card:hover strong{color:var(--love-primary-strong)!important;}

  .llp-sidebar .widget_popular_entries .a-wrap:hover,
  .llp-sidebar .widget_new_entries .a-wrap:hover,
  .llp-widget-post-item:hover{
    transform:translate3d(6px,-4px,0)!important;
    background:linear-gradient(110deg,#fff 0%,#fff5f7 100%)!important;
    box-shadow:0 12px 28px rgba(92,57,65,.12)!important;
  }
  .llp-sidebar .widget_popular_entries .a-wrap:hover img,
  .llp-sidebar .widget_new_entries .a-wrap:hover img,
  .llp-widget-post-item:hover .llp-widget-post-thumb img{
    transform:scale(1.10)!important;
    filter:saturate(1.05) contrast(1.02);
  }
}

@media (prefers-reduced-motion:reduce){
  .llp-home .llp-popular-item,
  .llp-home .llp-latest-card,
  .llp-home .llp-popular-item__image,
  .llp-home .llp-latest-card__image,
  .llp-sidebar .widget_popular_entries .a-wrap,
  .llp-sidebar .widget_new_entries .a-wrap,
  .llp-widget-post-item{transition:none!important;transform:none!important;}
}

/* =========================================================
   Stable update 9.2.0 — branded footer
   Replaces Cocoon's flat footer-bottom with the LLP design system.
   ========================================================= */
body.llp-theme #footer{
  position:relative;
  overflow:hidden;
  margin-top:0!important;
  border-top:1px solid #f0dce0!important;
  background:
    radial-gradient(circle at 8% 5%,rgba(239,189,199,.22),transparent 28%),
    radial-gradient(circle at 92% 10%,rgba(248,224,218,.28),transparent 26%),
    linear-gradient(180deg,#fffafa 0%,#fff6f5 52%,#fffaf7 100%)!important;
  color:var(--love-text)!important;
}
body.llp-theme #footer::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:4px;
  background:linear-gradient(90deg,transparent 0%,#f1bbc5 24%,var(--love-primary) 50%,#f1bbc5 76%,transparent 100%);
  opacity:.58;
}
body.llp-theme #footer .footer-in{
  width:min(var(--love-wrap),calc(100% - 32px))!important;
  max-width:none!important;
  padding:0!important;
  color:var(--love-text)!important;
}

/* Cocoon footer widget areas inherit the same visual language. */
body.llp-theme #footer .footer-widgets,
body.llp-theme #footer .footer-widgets-mobile{
  display:grid;
  gap:14px;
  margin:0!important;
  padding:34px 0 0!important;
  border:0!important;
}
body.llp-theme #footer .footer-widgets{grid-template-columns:1fr;}
body.llp-theme #footer .footer-left,
body.llp-theme #footer .footer-center,
body.llp-theme #footer .footer-right,
body.llp-theme #footer .footer-mobile{
  width:auto!important;
  margin:0!important;
  padding:0!important;
}
body.llp-theme #footer .widget{
  margin:0!important;
  padding:20px!important;
  border:1px solid var(--love-border)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.78)!important;
  box-shadow:0 8px 24px rgba(92,57,65,.045)!important;
}
body.llp-theme #footer .widget-title{
  margin:0 0 14px!important;
  padding:0 0 10px!important;
  border:0!important;
  border-bottom:1px solid #f0dce0!important;
  background:none!important;
  color:var(--love-text)!important;
  font:700 15px/1.5 "Yu Mincho","Hiragino Mincho ProN",serif!important;
}

.llp-footer-bottom{padding:42px 0 20px;}
.llp-footer-main{
  display:grid;
  grid-template-columns:1fr;
  gap:28px;
  align-items:start;
}
.llp-footer-brand__logo{
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-decoration:none!important;
}
.llp-footer-brand__mark{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  flex:0 0 42px;
  color:var(--love-primary);
}
.llp-footer-brand__mark svg{
  width:40px;
  height:40px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.45;
}
.llp-footer-brand__copy{display:flex;flex-direction:column;line-height:1.15;}
.llp-footer-brand__copy strong{
  color:var(--love-primary-strong);
  font-size:20px;
  font-weight:800;
  letter-spacing:.025em;
}
.llp-footer-brand__copy small{
  margin-top:5px;
  color:#8d7d80;
  font:500 9px/1.35 "Yu Mincho","Hiragino Mincho ProN",serif;
  letter-spacing:.09em;
}
.llp-footer-brand>p{
  max-width:460px;
  margin:18px 0 0!important;
  color:var(--love-text-2)!important;
  font-size:12px!important;
  line-height:1.9!important;
}
.llp-footer-heading{
  display:block;
  margin-bottom:7px;
  color:var(--love-primary)!important;
  font-size:9px;
  font-weight:900;
  letter-spacing:.16em;
}
.llp-footer-discover>strong,
.llp-footer-diagnosis>strong{
  display:block;
  color:var(--love-text)!important;
  font:700 16px/1.55 "Yu Mincho","Hiragino Mincho ProN",serif;
}
.llp-footer-discover ul{
  margin:13px 0 0!important;
  padding:0!important;
  list-style:none!important;
}
.llp-footer-discover li+li{margin-top:7px;}
.llp-footer-discover a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:36px;
  color:var(--love-text-2)!important;
  font-size:12px;
  font-weight:700;
  text-decoration:none!important;
  transition:color .2s ease,transform .2s ease;
}
.llp-footer-diagnosis{
  padding:21px;
  border:1px solid #efd7dc;
  border-radius:16px;
  background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(253,235,238,.8));
  box-shadow:0 10px 28px rgba(92,57,65,.06);
}
.llp-footer-diagnosis p{
  margin:9px 0 15px!important;
  color:var(--love-text-2)!important;
  font-size:11px!important;
  line-height:1.75!important;
}
.llp-footer-cta{
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:0 20px;
  border-radius:999px;
  background:linear-gradient(135deg,#e45c79,var(--love-primary));
  color:#fff!important;
  box-shadow:0 10px 24px rgba(223,85,113,.2);
  font-size:12px;
  font-weight:900;
  text-decoration:none!important;
  transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s ease;
}
.llp-footer-diagnosis>small{
  display:block;
  margin-top:8px;
  color:var(--love-text-3)!important;
  font-size:9px;
  text-align:center;
}
.llp-footer-rule{
  height:1px;
  margin:34px 0 20px;
  background:linear-gradient(90deg,transparent,#ead6da 12%,#ead6da 88%,transparent);
}
.llp-footer-legal{
  display:flex;
  flex-direction:column;
  gap:16px;
  align-items:center;
}
.llp-footer-legal__menu{width:100%;}
body.llp-theme #footer .navi-footer{
  margin:0!important;
  padding:0!important;
  background:none!important;
}
body.llp-theme #footer .navi-footer-in{margin:0!important;padding:0!important;}
body.llp-theme #footer .menu-footer{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  gap:8px 16px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
body.llp-theme #footer .menu-footer li{
  margin:0!important;
  padding:0!important;
  border:0!important;
}
body.llp-theme #footer .menu-footer a{
  display:inline-flex!important;
  align-items:center!important;
  min-height:32px;
  padding:0!important;
  border:0!important;
  background:none!important;
  color:#78696d!important;
  font-size:10px!important;
  font-weight:600!important;
  text-decoration:none!important;
  transition:color .2s ease!important;
}
.llp-footer-copyright{
  color:#a09295!important;
  font-size:9px!important;
  letter-spacing:.04em;
  text-align:center;
}

@media (hover:hover) and (pointer:fine){
  .llp-footer-discover a:hover{color:var(--love-primary-strong)!important;transform:translateX(3px);}
  .llp-footer-cta:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(203,64,95,.24);color:#fff!important;}
  body.llp-theme #footer .menu-footer a:hover{color:var(--love-primary-strong)!important;}
}

@media (min-width:768px){
  body.llp-theme #footer .footer-widgets{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
  .llp-footer-bottom{padding:50px 0 24px;}
  .llp-footer-main{grid-template-columns:minmax(0,1.45fr) minmax(180px,.75fr) minmax(260px,.9fr);gap:34px;}
  .llp-footer-brand__copy strong{font-size:22px;}
  .llp-footer-legal{flex-direction:row;justify-content:space-between;align-items:center;gap:24px;}
  .llp-footer-legal__menu{width:auto;min-width:0;}
  body.llp-theme #footer .menu-footer{justify-content:flex-start!important;}
  .llp-footer-copyright{flex:0 0 auto;text-align:right;}
}

@media (min-width:1101px){
  body.llp-theme #footer .footer-in{width:min(var(--love-wrap),calc(100% - 48px))!important;}
  .llp-footer-main{gap:52px;}
  .llp-footer-diagnosis{padding:24px;}
}

@media (prefers-reduced-motion:reduce){
  .llp-footer-discover a,.llp-footer-cta{transition:none!important;transform:none!important;}
}


/* =========================================================
   Stable update 9.3.0 — footer legal navigation + static pages
   ========================================================= */

/* Footer legal links: avoid awkward word wrapping and make two clean rows on desktop. */
.llp-footer-legal{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:18px!important;
  align-items:center!important;
}
.llp-footer-legal__menu{width:100%!important;min-width:0!important;}
body.llp-theme #footer .menu-footer{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  justify-content:stretch!important;
}
body.llp-theme #footer .menu-footer li{
  min-width:0!important;
  width:100%!important;
  text-align:center!important;
}
body.llp-theme #footer .menu-footer a{
  display:flex!important;
  width:100%!important;
  min-height:38px!important;
  align-items:center!important;
  justify-content:center!important;
  padding:4px 8px!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  line-height:1.35!important;
}
.llp-footer-copyright{
  width:100%!important;
  text-align:center!important;
}

@media (min-width:481px){
  body.llp-theme #footer .menu-footer{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px 14px!important;
  }
}
@media (min-width:920px){
  .llp-footer-legal{
    grid-template-columns:1fr!important;
    gap:20px!important;
  }
  body.llp-theme #footer .menu-footer{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:10px 18px!important;
  }
  body.llp-theme #footer .menu-footer a{
    min-height:40px!important;
    font-size:10.5px!important;
  }
}
@media (min-width:1101px){
  body.llp-theme #footer .menu-footer{
    gap:10px 24px!important;
  }
}

/* Static pages: quiet editorial layout consistent with article pages. */
body.llp-theme.page:not(.home) #content{
  margin:28px auto 68px!important;
}
body.llp-theme.page:not(.home) .content-in{
  display:block!important;
  width:min(1040px,calc(100% - 28px))!important;
  max-width:none!important;
  margin:0 auto!important;
}
body.llp-theme.page:not(.home) .main{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:24px 18px 44px!important;
  border:1px solid #f0e0e3!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 18px 48px rgba(84,51,59,.055)!important;
}
body.llp-theme.page:not(.home) #sidebar{
  display:none!important;
}
body.llp-theme.page:not(.home) .article{
  max-width:800px!important;
  margin:0 auto!important;
}
body.llp-theme.page:not(.home) .breadcrumb{
  margin:0 0 18px!important;
  padding:0!important;
  color:var(--love-text-3)!important;
  font-size:10px!important;
}
body.llp-theme.page:not(.home) .article-header{
  position:relative;
  margin:0 0 24px!important;
  padding:0 0 22px!important;
  border-bottom:1px solid #f1e3e5!important;
}
body.llp-theme.page:not(.home) .article-header::before{
  content:"LOVE LOVE PSYCHOLOGY";
  display:block;
  margin-bottom:8px;
  color:var(--love-primary)!important;
  font-size:9px;
  font-weight:900;
  letter-spacing:.16em;
}
body.llp-theme.page:not(.home) .entry-title{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  color:#352c2f!important;
  font:700 27px/1.55 "Yu Mincho","Hiragino Mincho ProN",serif!important;
  letter-spacing:.025em!important;
}
body.llp-theme.page:not(.home) .eye-catch-wrap{
  margin:20px 0 28px!important;
}
body.llp-theme.page:not(.home) .eye-catch img{
  width:100%!important;
  height:auto!important;
  border-radius:14px!important;
}
body.llp-theme.page:not(.home) .entry-content{
  color:#51474a!important;
  font-size:15px!important;
  line-height:2.05!important;
}
body.llp-theme.page:not(.home) .entry-content>p{
  margin:0 0 1.6em!important;
}
body.llp-theme.page:not(.home) .entry-content h2{
  scroll-margin-top:84px;
  margin:2.6em 0 1em!important;
  padding:13px 16px 13px 18px!important;
  border:0!important;
  border-left:4px solid var(--love-primary)!important;
  border-radius:0 10px 10px 0!important;
  background:linear-gradient(90deg,#fff0f2 0%,#fff8f8 72%,#fff 100%)!important;
  color:#403638!important;
  font:700 21px/1.55 "Yu Mincho","Hiragino Mincho ProN",serif!important;
}
body.llp-theme.page:not(.home) .entry-content h3{
  scroll-margin-top:84px;
  margin:2.1em 0 .9em!important;
  padding:0 0 9px 13px!important;
  border:0!important;
  border-left:3px solid var(--love-pink-300)!important;
  border-bottom:1px solid var(--love-border)!important;
  background:none!important;
  color:#443a3c!important;
  font-size:17px!important;
  line-height:1.6!important;
}
body.llp-theme.page:not(.home) .entry-content h4{
  color:#4a4143!important;
  border-color:var(--love-pink-200)!important;
}
body.llp-theme.page:not(.home) .entry-content a{
  color:var(--love-primary-strong)!important;
  text-decoration:underline!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:3px!important;
}
body.llp-theme.page:not(.home) .entry-content blockquote{
  margin:1.7em 0!important;
  padding:20px 22px!important;
  border:1px solid var(--love-border)!important;
  border-radius:12px!important;
  background:var(--love-pink-50)!important;
  color:#62575a!important;
}
body.llp-theme.page:not(.home) .entry-content ul:not(.wp-block-gallery),
body.llp-theme.page:not(.home) .entry-content ol{
  margin:1.5em 0!important;
  padding:18px 22px 18px 42px!important;
  border:1px solid var(--love-border)!important;
  border-radius:12px!important;
  background:#fffafa!important;
}
body.llp-theme.page:not(.home) .entry-content table{
  width:100%!important;
  margin:1.8em 0!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  overflow:hidden!important;
  border:1px solid var(--love-border)!important;
  border-radius:12px!important;
  font-size:13px!important;
}
body.llp-theme.page:not(.home) .entry-content th{
  background:var(--love-pink-100)!important;
  color:#493c3f!important;
}
body.llp-theme.page:not(.home) .entry-content th,
body.llp-theme.page:not(.home) .entry-content td{
  padding:12px 14px!important;
  border-color:#f0e3e5!important;
}
body.llp-theme.page:not(.home) .toc{
  margin:22px 0 32px!important;
  padding:20px 22px!important;
  border:1px solid var(--love-border)!important;
  border-radius:14px!important;
  background:#fffafa!important;
}
body.llp-theme.page:not(.home) .toc-title{
  color:#403638!important;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif!important;
  font-weight:700!important;
}
body.llp-theme.page:not(.home) .article-footer{
  margin-top:42px!important;
  padding-top:26px!important;
  border-top:1px solid #f1e3e5!important;
}
body.llp-theme.page:not(.home) .sns-share-message,
body.llp-theme.page:not(.home) .sns-follow-message{
  color:var(--love-text-2)!important;
  font-weight:700!important;
}

@media (min-width:481px){
  body.llp-theme.page:not(.home) .main{
    padding:34px 30px 54px!important;
  }
  body.llp-theme.page:not(.home) .entry-title{
    font-size:30px!important;
  }
}
@media (min-width:920px){
  body.llp-theme.page:not(.home) #content{
    margin-top:36px!important;
    margin-bottom:84px!important;
  }
  body.llp-theme.page:not(.home) .content-in{
    width:min(1080px,calc(100% - 48px))!important;
  }
  body.llp-theme.page:not(.home) .main{
    padding:44px 54px 64px!important;
    border-radius:22px!important;
  }
  body.llp-theme.page:not(.home) .entry-title{
    font-size:34px!important;
  }
  body.llp-theme.page:not(.home) .entry-content{
    font-size:16px!important;
  }
  body.llp-theme.page:not(.home) .entry-content h2{
    font-size:23px!important;
  }
  body.llp-theme.page:not(.home) .entry-content h3{
    font-size:18px!important;
  }
}


/* Dedicated popular article ranking page */
body.llp-ranking-body.page:not(.home) #content{
  margin:0!important;
}
body.llp-ranking-body.page:not(.home) .content-in{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
body.llp-ranking-body.page:not(.home) .main{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
body.llp-ranking-body #sidebar{display:none!important;}
.llp-ranking-page{
  width:100%;
  overflow:hidden;
  background:linear-gradient(180deg,#fff 0%,#fffdfc 72%,#fff9f8 100%);
  color:var(--love-text);
}
.llp-ranking-hero,
.llp-ranking-top,
.llp-ranking-list-section,
.llp-ranking-cta,
.llp-ranking-empty{
  width:min(1120px,calc(100% - 28px));
  margin-inline:auto;
}
.llp-ranking-hero{
  margin-top:22px;
  padding:34px 22px 30px;
  text-align:center;
  border:1px solid #f1dfe2;
  border-radius:20px;
  background:
    radial-gradient(circle at 12% 18%,rgba(247,216,222,.55),transparent 28%),
    radial-gradient(circle at 88% 12%,rgba(253,238,240,.8),transparent 25%),
    linear-gradient(135deg,#fffafa,#fff2f4);
}
.llp-ranking-hero__eyebrow,
.llp-ranking-section-head>span,
.llp-ranking-cta>div>span{
  display:block;
  color:var(--love-primary);
  font-size:10px;
  font-weight:900;
  letter-spacing:.16em;
}
.llp-ranking-hero h1{
  margin:8px 0 10px;
  color:#352c2f;
  font:700 30px/1.45 "Yu Mincho","Hiragino Mincho ProN",serif;
  letter-spacing:.03em;
}
.llp-ranking-hero p{
  max-width:660px;
  margin:0 auto;
  color:var(--love-text-2);
  font-size:13px;
  line-height:1.9;
}
.llp-ranking-hero small{
  display:block;
  margin-top:12px;
  color:var(--love-text-3);
  font-size:10px;
}
.llp-ranking-periods{
  display:flex;
  justify-content:center;
  gap:8px;
  margin-top:20px;
  overflow-x:auto;
  scrollbar-width:none;
}
.llp-ranking-periods::-webkit-scrollbar{display:none;}
.llp-ranking-periods a{
  min-width:86px;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  border:1px solid #ead4d9;
  border-radius:999px;
  background:#fff;
  color:#6a5d61!important;
  font-size:12px;
  font-weight:800;
  text-decoration:none!important;
  white-space:nowrap;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease;
}
.llp-ranking-periods a:hover{
  transform:translateY(-2px);
  color:var(--love-primary-strong)!important;
  box-shadow:0 8px 20px rgba(95,58,67,.08);
}
.llp-ranking-periods a.is-current{
  border-color:var(--love-primary);
  background:var(--love-primary);
  color:#fff!important;
  box-shadow:0 10px 24px rgba(223,85,113,.18);
}
.llp-ranking-top,
.llp-ranking-list-section{
  padding:54px 0 0;
}
.llp-ranking-section-head{
  margin-bottom:20px;
}
.llp-ranking-section-head h2{
  margin:5px 0 0;
  color:#3d3336;
  font:700 23px/1.5 "Yu Mincho","Hiragino Mincho ProN",serif;
}
.llp-ranking-top-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}
.llp-ranking-top-card{
  overflow:hidden;
  border:1px solid var(--love-border);
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 24px rgba(75,43,50,.045);
  transition:transform .28s cubic-bezier(.2,.75,.2,1),box-shadow .28s ease,border-color .28s ease;
}
.llp-ranking-top-card:hover{
  transform:translateY(-6px);
  border-color:#efc7cf;
  box-shadow:0 18px 42px rgba(96,50,61,.12);
}
.llp-ranking-top-card__image{
  position:relative;
  display:block;
  aspect-ratio:16/10;
  overflow:hidden;
  background:#fff5f6;
}
.llp-ranking-top-card__image .llp-card-img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .5s cubic-bezier(.2,.75,.2,1);
}
.llp-ranking-top-card:hover .llp-card-img{transform:scale(1.065);}
.llp-rank-badge{
  position:absolute;
  left:14px;
  top:14px;
  min-width:68px;
  min-height:68px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:3px solid rgba(255,255,255,.9);
  border-radius:50%;
  background:var(--love-primary);
  color:#fff;
  box-shadow:0 8px 22px rgba(75,39,48,.18);
  font-size:8px;
  font-weight:800;
  letter-spacing:.08em;
}
.llp-rank-badge b{font-size:23px;line-height:1.05;}
.llp-ranking-top-card--2 .llp-rank-badge{background:#d8899a;}
.llp-ranking-top-card--3 .llp-rank-badge{background:#c89aa4;}
.llp-ranking-top-card__body{padding:18px 18px 20px;}
.llp-ranking-category{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 9px;
  border-radius:999px;
  background:var(--love-pink-50);
  color:var(--love-primary-strong)!important;
  font-size:9px;
  font-weight:900;
}
.llp-ranking-top-card h3,
.llp-ranking-item h3{
  margin:9px 0 7px;
  color:#3e3437;
  font:700 17px/1.65 "Yu Mincho","Hiragino Mincho ProN",serif;
}
.llp-ranking-top-card h3 a,
.llp-ranking-item h3 a{
  color:#3e3437!important;
  text-decoration:none!important;
}
.llp-ranking-top-card:hover h3 a,
.llp-ranking-item:hover h3 a{color:var(--love-primary-strong)!important;}
.llp-ranking-top-card p,
.llp-ranking-item p{
  margin:0 0 8px;
  color:var(--love-text-2);
  font-size:11px;
  line-height:1.8;
}
.llp-ranking-top-card time,
.llp-ranking-item time{
  color:var(--love-text-3);
  font-size:9px;
}
.llp-ranking-list{
  display:grid;
  gap:10px;
}
.llp-ranking-item{
  display:grid;
  grid-template-columns:104px minmax(0,1fr) 34px;
  gap:12px;
  align-items:center;
  padding:10px;
  border:1px solid var(--love-border);
  border-radius:14px;
  background:#fff;
  transition:transform .25s cubic-bezier(.2,.75,.2,1),box-shadow .25s ease,border-color .25s ease;
}
.llp-ranking-item:hover{
  transform:translateY(-4px);
  border-color:#efc7cf;
  box-shadow:0 14px 34px rgba(85,45,54,.09);
}
.llp-ranking-item__image{
  position:relative;
  display:block;
  height:80px;
  overflow:hidden;
  border-radius:10px;
  background:#fff5f6;
}
.llp-ranking-item__image .llp-card-img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .45s cubic-bezier(.2,.75,.2,1);
}
.llp-ranking-item:hover .llp-card-img{transform:scale(1.08);}
.llp-ranking-number{
  position:absolute;
  left:7px;
  top:7px;
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border:2px solid rgba(255,255,255,.92);
  border-radius:50%;
  background:var(--love-primary);
  color:#fff;
  box-shadow:0 4px 12px rgba(80,40,50,.18);
  font-size:11px;
  font-weight:900;
}
.llp-ranking-item__body{min-width:0;}
.llp-ranking-item h3{
  margin:5px 0 4px;
  font-size:13px;
}
.llp-ranking-item p{display:none;}
.llp-ranking-item__arrow{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--love-pink-50);
  color:var(--love-primary)!important;
  font-size:18px;
  font-weight:800;
  text-decoration:none!important;
  transition:transform .2s ease,background .2s ease,color .2s ease;
}
.llp-ranking-item:hover .llp-ranking-item__arrow{
  transform:translateX(3px);
  background:var(--love-primary);
  color:#fff!important;
}
.llp-ranking-cta{
  margin-top:56px;
  margin-bottom:64px;
  padding:26px 22px;
  display:grid;
  gap:20px;
  border:1px solid #f0d9de;
  border-radius:18px;
  background:linear-gradient(135deg,#fff6f7,#fce7eb);
}
.llp-ranking-cta h2{
  margin:5px 0 7px;
  color:#493a3e;
  font:700 21px/1.55 "Yu Mincho","Hiragino Mincho ProN",serif;
}
.llp-ranking-cta p{
  margin:0;
  color:var(--love-text-2);
  font-size:12px;
  line-height:1.8;
}
.llp-ranking-cta__actions{
  display:flex;
  flex-direction:column;
  gap:9px;
}
.llp-ranking-cta__actions .llp-button{width:100%;}
.llp-ranking-empty{
  margin-top:54px;
  padding:36px 22px;
  text-align:center;
  border:1px solid var(--love-border);
  border-radius:16px;
  background:#fffafa;
}
.llp-ranking-empty h2{margin:0 0 8px;font-size:19px;color:#453a3d;}
.llp-ranking-empty p{margin:0;color:var(--love-text-2);font-size:12px;}

@media (min-width:481px){
  .llp-ranking-hero{padding:42px 34px 36px;}
  .llp-ranking-hero h1{font-size:34px;}
  .llp-ranking-item{grid-template-columns:150px minmax(0,1fr) 40px;gap:16px;padding:12px;}
  .llp-ranking-item__image{height:104px;}
  .llp-ranking-item h3{font-size:15px;}
  .llp-ranking-item p{display:block;font-size:10.5px;}
  .llp-ranking-cta__actions{flex-direction:row;flex-wrap:wrap;}
  .llp-ranking-cta__actions .llp-button{width:auto;min-width:190px;}
}
@media (min-width:835px){
  .llp-ranking-hero,
  .llp-ranking-top,
  .llp-ranking-list-section,
  .llp-ranking-cta,
  .llp-ranking-empty{width:min(1120px,calc(100% - 48px));}
  .llp-ranking-hero{margin-top:36px;padding:48px 46px 40px;}
  .llp-ranking-hero h1{font-size:38px;}
  .llp-ranking-top-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
  .llp-ranking-top-card__body{padding:20px 20px 22px;}
  .llp-ranking-top-card h3{font-size:16px;}
  .llp-ranking-list{grid-template-columns:1fr 1fr;gap:12px 14px;}
  .llp-ranking-item{grid-template-columns:128px minmax(0,1fr) 36px;}
  .llp-ranking-item__image{height:94px;}
  .llp-ranking-item p{display:none;}
  .llp-ranking-cta{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:32px 34px;}
  .llp-ranking-cta__actions{justify-content:flex-end;}
}
@media (min-width:1101px){
  .llp-ranking-top,.llp-ranking-list-section{padding-top:64px;}
  .llp-ranking-section-head h2{font-size:27px;}
  .llp-ranking-top-card h3{font-size:18px;}
  .llp-ranking-list{grid-template-columns:1fr;gap:11px;}
  .llp-ranking-item{grid-template-columns:190px minmax(0,1fr) 44px;gap:20px;padding:12px 16px 12px 12px;}
  .llp-ranking-item__image{height:120px;}
  .llp-ranking-item h3{font-size:17px;}
  .llp-ranking-item p{display:block;font-size:11px;}
  .llp-ranking-item__arrow{width:38px;height:38px;}
}


/* 9.5.0 — safe service expansion (no URL regex) */
.llp-service-home .llp-hero__service-copy{display:block;margin:8px 0 0;color:var(--love-primary-strong);font:700 13px/1.6 "Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:.08em;}
.llp-services{padding-top:52px;padding-bottom:58px;}
.llp-services .llp-center-head p{max-width:600px;margin:10px auto 0;color:var(--love-text-2);font-size:13px;line-height:1.8;}
.llp-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.llp-service-card{position:relative;min-height:188px;padding:22px 18px;border:1px solid var(--love-border);border-radius:var(--love-radius-md);background:#fff;text-decoration:none!important;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.llp-service-card:hover{transform:translateY(-5px);border-color:var(--love-pink-300);box-shadow:var(--love-shadow-md);}
.llp-service-card i{width:38px;height:38px;display:grid;place-items:center;color:var(--love-primary);}
.llp-service-card i svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.5;}
.llp-service-card>span{display:block;margin-top:8px;color:var(--love-primary);font-size:10px;font-weight:900;letter-spacing:.08em;}
.llp-service-card>strong{display:block;margin:5px 0 8px;color:var(--love-text);font:700 17px/1.55 "Yu Mincho","Hiragino Mincho ProN",serif;}
.llp-service-card p{margin:0;color:var(--love-text-2);font-size:11px;line-height:1.75;}
.llp-service-card>b{position:absolute;right:18px;bottom:16px;color:var(--love-primary);font-size:18px;}
.llp-community-section{padding-top:54px;padding-bottom:54px;}
.llp-community-panel{display:grid;gap:22px;padding:26px 24px;border:1px solid #f1dde1;border-radius:var(--love-radius-md);background:linear-gradient(110deg,#fff9f8,#fff1f3);}
.llp-community-panel__copy i{width:40px;height:40px;display:grid;place-items:center;color:var(--love-primary);}
.llp-community-panel__copy i svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.5;}
.llp-community-panel__copy h3{margin:8px 0 7px;color:var(--love-text);font:700 20px/1.55 "Yu Mincho","Hiragino Mincho ProN",serif;}
.llp-community-panel__copy p{margin:0;color:var(--love-text-2);font-size:12px;line-height:1.85;}
.llp-community-panel__actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.llp-article-services{margin:46px 0 36px;}
.llp-article-services__grid{display:grid;grid-template-columns:1fr;gap:12px;}
.llp-article-service-card{position:relative;padding:20px;border:1px solid var(--love-border);border-radius:var(--love-radius-md);background:linear-gradient(115deg,#fff,#fff7f8);text-decoration:none!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.llp-article-service-card:hover{transform:translateY(-4px);border-color:var(--love-pink-300);box-shadow:var(--love-shadow-sm);}
.llp-article-service-card i{display:grid;width:36px;height:36px;place-items:center;color:var(--love-primary);}
.llp-article-service-card i svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.5;}
.llp-article-service-card>span{display:block;margin-top:6px;color:var(--love-primary);font-size:9px;font-weight:900;}
.llp-article-service-card strong{display:block;margin:4px 0 7px;color:var(--love-text);font:700 17px/1.5 "Yu Mincho","Hiragino Mincho ProN",serif;}
.llp-article-service-card p{margin:0 0 12px;color:var(--love-text-2);font-size:12px;line-height:1.8;}
.llp-article-service-card>b{color:var(--love-primary-strong);font-size:11px;}
.llp-article-services__post{margin-top:14px;}
.llp-sidebar-service__link{display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center;padding:13px 10px;border-top:1px solid var(--love-border);text-decoration:none!important;}
.llp-sidebar-service__link i{display:grid;width:34px;height:34px;place-items:center;color:var(--love-primary);background:var(--love-pink-50);border-radius:50%;}
.llp-sidebar-service__link i svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;}
.llp-sidebar-service__link strong{display:block;color:var(--love-text);font-size:12px;}
.llp-sidebar-service__link small{display:block;margin-top:2px;color:var(--love-text-3);font-size:9px;}
.llp-sidebar-service__link>b{color:var(--love-primary);}
@media screen and (min-width:768px){.llp-service-grid{grid-template-columns:repeat(4,minmax(0,1fr));}.llp-community-panel{grid-template-columns:1fr auto;align-items:center;padding:30px 32px;}.llp-article-services__grid{grid-template-columns:1fr 1fr;}}


/* 9.5.1 Hero heading refinement */
.llp-hero__title{display:flex;flex-direction:column;gap:8px;}
.llp-hero__title-line{display:block;}

@media screen and (min-width: 920px){
  .llp-hero__content{padding-right:18px;}
  .llp-hero__content h1{font-size:42px;line-height:1.45;letter-spacing:.035em;}
  .llp-hero__title{max-width:16.8em;gap:16px;}
  .llp-hero__title-line--1{white-space:nowrap;}
  .llp-hero__title-line--2{white-space:nowrap;padding-left:0;}
  .llp-hero__content p{max-width:30em;}
}

@media screen and (max-width: 919px){
  .llp-hero__title{display:block;}
  .llp-hero__title-line + .llp-hero__title-line::before{content:"\A";white-space:pre;}
}


/* 9.5.3 Search/theme archive — keeps "自分磨き" aligned with category pages */
body.llp-theme.search #content{margin-top:0;}
body.llp-theme.search .content-in{display:block;width:100%;max-width:none;}
body.llp-theme.search .main{width:100%!important;max-width:none!important;padding:0!important;border-radius:0;background:#fff;box-shadow:none;}
body.llp-theme.search #sidebar{display:none!important;}
.llp-search-archive{width:min(var(--love-wrap),calc(100% - 28px));margin:0 auto;padding:34px 0 64px;}
.llp-search-archive__hero{margin-bottom:26px;padding:34px 24px;border:1px solid var(--love-border);border-radius:18px;background:linear-gradient(120deg,#fff9f8 0%,#fff1f3 72%,#fffaf6 100%);text-align:center;}
.llp-search-archive__eyebrow{display:inline-flex;align-items:center;justify-content:center;gap:7px;color:var(--love-primary);font-size:10px;font-weight:900;letter-spacing:.16em;}
.llp-search-archive__eyebrow svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;}
.llp-search-archive__hero h1{margin:10px 0 8px;color:var(--love-text);font:700 28px/1.5 "Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:.03em;}
.llp-search-archive__hero>p{max-width:680px;margin:0 auto;color:var(--love-text-2);font-size:13px;line-height:1.9;}
.llp-search-archive__meta{margin-top:18px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 18px;}
.llp-search-archive__meta>span{color:var(--love-primary-strong);font-size:10px;font-weight:900;letter-spacing:.12em;}
.llp-search-archive__meta a{color:var(--love-text-2)!important;font-size:11px;font-weight:800;text-decoration:none!important;}
.llp-search-archive__meta a:hover{color:var(--love-primary-strong)!important;}
.llp-search-archive__grid{display:grid;grid-template-columns:1fr;gap:14px;}
.llp-search-card{overflow:hidden;display:grid;grid-template-columns:118px minmax(0,1fr);border:1px solid var(--love-border);border-radius:14px;background:#fff;box-shadow:0 6px 22px rgba(77,47,54,.035);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;}
.llp-search-card__image{position:relative;display:block;min-height:132px;overflow:hidden;background:#fff4f5;text-decoration:none!important;}
.llp-search-card__img{width:100%;height:100%;object-fit:cover;transition:transform .34s cubic-bezier(.22,.61,.36,1);}
.llp-search-card__body{min-width:0;padding:15px 15px 13px;}
.llp-search-card__body h2{margin:7px 0 7px!important;padding:0!important;border:0!important;background:none!important;font:700 16px/1.62 "Yu Mincho","Hiragino Mincho ProN",serif!important;}
.llp-search-card__body h2 a{color:var(--love-text)!important;text-decoration:none!important;}
.llp-search-card__body>p{display:none;margin:0;color:var(--love-text-2);font-size:11px;line-height:1.8;}
.llp-search-card__meta{margin-top:9px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--love-text-3);font-size:9px;}
.llp-search-card__meta>span{color:var(--love-primary-strong);font-weight:800;}
.llp-search-pagination{margin:34px 0 0;}
.llp-search-pagination .page-numbers{display:flex;align-items:center;justify-content:center;gap:7px;margin:0;padding:0;list-style:none;}
.llp-search-pagination li{margin:0!important;}
.llp-search-pagination a,.llp-search-pagination span{min-width:40px;height:40px;display:grid;place-items:center;padding:0 10px;border:1px solid var(--love-border-strong);border-radius:999px;background:#fff;color:var(--love-text)!important;text-decoration:none!important;font-size:12px;font-weight:800;}
.llp-search-pagination .current{border-color:var(--love-primary);background:var(--love-primary);color:#fff!important;}
.llp-search-empty{padding:60px 22px;text-align:center;}
.llp-search-empty h2{margin:0 0 10px;font:700 22px/1.6 "Yu Mincho","Hiragino Mincho ProN",serif;}
.llp-search-empty p{margin:0 0 22px;color:var(--love-text-2);font-size:13px;line-height:1.9;}
@media (hover:hover) and (pointer:fine){
  .llp-search-card:hover{transform:translateY(-4px);border-color:var(--love-pink-300);box-shadow:0 14px 32px rgba(115,61,74,.10);}
  .llp-search-card:hover .llp-search-card__img{transform:scale(1.055);}
  .llp-search-card:hover h2 a{color:var(--love-primary-strong)!important;}
}
@media screen and (min-width:600px){
  .llp-search-archive{width:min(var(--love-wrap),calc(100% - 40px));padding-top:42px;}
  .llp-search-archive__hero{padding:42px 36px;}
  .llp-search-archive__hero h1{font-size:34px;}
  .llp-search-card{grid-template-columns:190px minmax(0,1fr);}
  .llp-search-card__image{min-height:176px;}
  .llp-search-card__body{padding:20px 22px 16px;}
  .llp-search-card__body h2{font-size:18px!important;}
  .llp-search-card__body>p{display:block;}
}
@media screen and (min-width:920px){
  .llp-search-archive{padding:52px 0 82px;}
  .llp-search-archive__hero{margin-bottom:34px;padding:46px 50px;}
  .llp-search-archive__hero h1{font-size:38px;}
  .llp-search-archive__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
  .llp-search-card{grid-template-columns:42% minmax(0,1fr);min-height:220px;}
  .llp-search-card__image{min-height:220px;}
  .llp-search-card__body{padding:20px 20px 17px;}
  .llp-search-card__body h2{font-size:17px!important;}
  .llp-search-card__body>p{font-size:11px;line-height:1.75;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;}
}


/* 9.5.4 Footer submission guidelines */
.llp-footer-legal__extra{display:flex;justify-content:center;margin-top:8px;}
.llp-footer-guideline-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:4px 12px;color:#78696d!important;font-size:10px;font-weight:600;text-decoration:none!important;white-space:nowrap;word-break:keep-all;transition:color .2s ease;}
@media (hover:hover) and (pointer:fine){.llp-footer-guideline-link:hover{color:var(--love-primary-strong)!important;}}
@media (min-width:920px){.llp-footer-legal__extra{margin-top:10px}.llp-footer-guideline-link{font-size:10.5px;}}
