@charset "utf-8";

:root {
--orange: #f28a24;
--orange-dark: #d96f13;
--orange-soft: #fff0dc;
--red: #b72723;
--red-dark: #8f1d1b;
--cream: #fffaf2;
--beige: #f7ead8;
--brown: #3d2c22;
--brown-soft: #72513b;
--charcoal: #292522;
--white: #ffffff;
--line: rgba(92, 59, 35, 0.14);
--shadow: 0 24px 70px rgba(83, 48, 16, 0.12);
--radius-lg: 32px;
--radius-md: 22px;
--max: 1120px;
}

* {
box-sizing: border-box;
}

html {
scroll-behavior: smooth;
}

body {
margin: 0;
color: var(--charcoal);
background: #fff8ef;
font-family: "Hiragino Sans", "Yu Gothic", "YuGothic", "Noto Sans JP", system-ui, sans-serif;
-webkit-text-size-adjust: 100%;
}

body,
.aed-lp {
overflow-x: hidden;
}

.aed-lp {
position: relative;
min-height: 100vh;
color: var(--charcoal);
background:
radial-gradient(circle at 10% 8%, rgba(242, 138, 36, 0.14), transparent 34%),
linear-gradient(180deg, #fff8ef 0%, #fffdf9 42%, #fff7ed 100%);
line-height: 1.85;
letter-spacing: 0.04em;
}

.aed-lp p,
.aed-lp h1,
.aed-lp h2,
.aed-lp h3 {
overflow-wrap: anywhere;
}

.aed-lp h1,
.aed-lp h2,
.aed-lp h3,
.aed-lp p {
margin-top: 0;
}

.aed-lp img,
.aed-lp svg {
max-width: 100%;
}

.aed-lp a {
color: inherit;
text-decoration: none;
}

.aed-lp .scroll-progress {
position: fixed;
inset: 0 0 auto;
z-index: 100;
height: 4px;
background: transparent;
}

.aed-lp .scroll-progress span {
display: block;
width: 0%;
height: 100%;
background: linear-gradient(90deg, var(--orange), var(--red));
transition: width 0.08s linear;
}

.aed-lp .site-bg {
position: fixed;
inset: 0;
z-index: -1;
pointer-events: none;
overflow: hidden;
}

.aed-lp .bg-orb {
position: absolute;
border-radius: 50%;
filter: blur(18px);
opacity: 0.65;
animation: aedSlowFloat 11s ease-in-out infinite alternate;
}

.aed-lp .bg-orb-1 {
width: 420px;
height: 420px;
top: 4%;
right: -120px;
background: radial-gradient(circle, rgba(242, 138, 36, 0.32), transparent 68%);
}

.aed-lp .bg-orb-2 {
width: 520px;
height: 520px;
left: -190px;
bottom: 8%;
background: radial-gradient(circle, rgba(183, 39, 35, 0.12), transparent 68%);
animation-delay: -3s;
}

.aed-lp .bg-grid {
position: absolute;
inset: 0;
background-image:
linear-gradient(rgba(114, 81, 59, 0.04) 1px, transparent 1px),
linear-gradient(90deg, rgba(114, 81, 59, 0.04) 1px, transparent 1px);
background-size: 54px 54px;
mask-image: linear-gradient(to bottom, transparent, black 18%, black 75%, transparent);
}

@keyframes aedSlowFloat {
from { transform: translate3d(0, 0, 0) scale(1); }
to { transform: translate3d(22px, 28px, 0) scale(1.06); }
}

.aed-lp .site-header {
position: fixed;
top: 18px;
left: 50%;
z-index: 50;
width: min(calc(100% - 32px), 1160px);
transform: translateX(-50%);
display: flex;
align-items: center;
justify-content: space-between;
gap: 18px;
padding: 12px 14px 12px 18px;
border: 1px solid rgba(114, 81, 59, 0.12);
border-radius: 999px;
background: rgba(255, 250, 242, 0.82);
backdrop-filter: blur(18px);
box-shadow: 0 10px 40px rgba(83, 48, 16, 0.08);
transition: background 0.3s ease, box-shadow 0.3s ease;
}

.aed-lp .site-header.is-scrolled {
background: rgba(255, 255, 255, 0.93);
box-shadow: 0 14px 50px rgba(83, 48, 16, 0.12);
}

.aed-lp .brand {
display: inline-flex;
align-items: center;
gap: 12px;
min-width: 0;
color: var(--brown);
text-decoration: none;
}

.aed-lp .brand-mark {
display: grid;
place-items: center;
width: 42px;
height: 42px;
flex: 0 0 auto;
border-radius: 50%;
color: var(--white);
background: linear-gradient(135deg, var(--orange), var(--red));
font-size: 13px;
font-weight: 900;
letter-spacing: 0.08em;
box-shadow: 0 10px 24px rgba(242, 138, 36, 0.28);
}

.aed-lp .brand-copy {
display: flex;
flex-direction: column;
min-width: 0;
line-height: 1.2;
}

.aed-lp .brand-copy strong {
display: block;
color: var(--brown);
font-size: 15px;
font-weight: 800;
letter-spacing: 0.02em;
white-space: nowrap;
}

.aed-lp .brand-copy small {
display: block;
margin-top: 3px;
color: var(--brown-soft);
font-size: 11px;
font-weight: 700;
letter-spacing: 0.08em;
white-space: nowrap;
}

.aed-lp .header-nav {
display: flex;
align-items: center;
gap: 6px;
color: var(--brown-soft);
font-size: 13px;
font-weight: 700;
}

.aed-lp .header-nav a {
padding: 9px 13px;
border-radius: 999px;
}

.aed-lp .header-nav .nav-cta {
color: var(--white);
background: linear-gradient(135deg, var(--orange), var(--red));
box-shadow: 0 10px 24px rgba(183, 39, 35, 0.16);
}

.aed-lp .section {
position: relative;
padding: 112px 24px;
scroll-margin-top: 96px;
}

.aed-lp .section-inner {
width: min(100%, var(--max));
margin: 0 auto;
}

.aed-lp .hero {
min-height: 100vh;
padding-top: 148px;
display: grid;
align-items: center;
}

.aed-lp .hero-inner {
width: min(100%, 1180px);
margin: 0 auto;
display: grid;
grid-template-columns: minmax(0, 1.02fr) minmax(360px, 0.82fr);
align-items: center;
gap: 54px;
}

.aed-lp .eyebrow,
.aed-lp .section-label {
margin: 0 0 16px;
color: var(--orange-dark);
font-size: 13px;
font-weight: 800;
letter-spacing: 0.18em;
text-transform: uppercase;
}

.aed-lp .section-label.red {
color: var(--red);
}

.aed-lp .hero h1,
.aed-lp .section h2 {
margin: 0;
color: var(--brown);
font-weight: 900;
letter-spacing: 0.02em;
line-height: 1.14;
}

.aed-lp .hero h1 {
font-size: clamp(48px, 7.4vw, 96px);
}

.aed-lp .hero h1 .line {
display: block;
}

.aed-lp .hero h1 .accent {
color: var(--red);
}

.aed-lp .hero-lead {
margin: 28px 0 0;
color: var(--brown);
font-size: clamp(20px, 2vw, 30px);
line-height: 1.7;
font-weight: 800;
}

.aed-lp .hero-lead span {
display: block;
}

.aed-lp .hero-text {
max-width: 720px;
margin: 24px 0 0;
color: var(--brown-soft);
font-size: 16px;
}

.aed-lp .hero-actions {
display: flex;
flex-wrap: wrap;
gap: 14px;
margin-top: 34px;
}

.aed-lp .btn {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 52px;
padding: 12px 24px;
border-radius: 999px;
font-size: 14px;
font-weight: 800;
}

.aed-lp .btn-primary {
color: var(--white);
background: linear-gradient(135deg, var(--orange), var(--red));
box-shadow: 0 16px 34px rgba(183, 39, 35, 0.18);
}

.aed-lp .btn-secondary {
color: var(--brown);
background: rgba(255, 255, 255, 0.76);
border: 1px solid rgba(114, 81, 59, 0.14);
}

.aed-lp .hero-visual {
position: relative;
}

.aed-lp .visual-card {
position: relative;
min-height: 540px;
border: 1px solid rgba(114, 81, 59, 0.12);
border-radius: 44px;
background:
radial-gradient(circle at 50% 43%, rgba(242, 138, 36, 0.24), transparent 33%),
linear-gradient(150deg, rgba(255, 255, 255, 0.78), rgba(255, 240, 220, 0.8));
box-shadow: var(--shadow);
overflow: hidden;
}

.aed-lp .visual-card::before {
content: "";
position: absolute;
inset: 18px;
border: 1px solid rgba(242, 138, 36, 0.18);
border-radius: 34px;
}

.aed-lp .pulse-ring {
position: absolute;
inset: 116px 78px;
border: 1px solid rgba(183, 39, 35, 0.14);
border-radius: 50%;
animation: aedSoftPulse 3.8s ease-in-out infinite;
}

@keyframes aedSoftPulse {
0%, 100% { transform: scale(0.94); opacity: 0.38; }
50% { transform: scale(1.05); opacity: 0.7; }
}

.aed-lp .aed-device {
position: absolute;
top: 50%;
left: 50%;
z-index: 3;
transform: translate(-50%, -50%);
display: grid;
place-items: center;
width: 168px;
height: 168px;
border-radius: 34px;
color: var(--white);
background: linear-gradient(145deg, var(--red), var(--red-dark));
box-shadow: 0 26px 52px rgba(183, 39, 35, 0.25);
}

.aed-lp .aed-device strong {
display: block;
font-size: 42px;
line-height: 1;
letter-spacing: 0.08em;
}

.aed-lp .aed-device small {
margin-top: -36px;
font-size: 12px;
font-weight: 800;
letter-spacing: 0.1em;
}

.aed-lp .aed-light {
position: absolute;
top: 23px;
right: 26px;
width: 12px;
height: 12px;
border-radius: 50%;
background: #ffd6aa;
box-shadow: 0 0 0 8px rgba(255, 214, 170, 0.14);
animation: aedBlink 2.2s ease-in-out infinite;
}

@keyframes aedBlink {
0%, 100% { opacity: 0.45; }
50% { opacity: 1; }
}

.aed-lp .person-node {
position: absolute;
z-index: 4;
display: grid;
place-items: center;
width: 104px;
height: 104px;
border: 1px solid rgba(114, 81, 59, 0.13);
border-radius: 50%;
color: var(--brown);
background: rgba(255, 255, 255, 0.86);
box-shadow: 0 18px 42px rgba(83, 48, 16, 0.1);
font-size: 13px;
font-weight: 800;
}

.aed-lp .person-node::before {
content: "";
position: absolute;
top: 24px;
width: 22px;
height: 22px;
border-radius: 50%;
background: linear-gradient(135deg, var(--orange), #ffbf78);
}

.aed-lp .person-node::after {
content: "";
position: absolute;
top: 52px;
width: 42px;
height: 21px;
border-radius: 22px 22px 8px 8px;
background: rgba(242, 138, 36, 0.18);
}

.aed-lp .person-node span {
position: relative;
z-index: 1;
margin-top: 54px;
}

.aed-lp .node-sales { left: 36px; top: 206px; }
.aed-lp .node-company { top: 74px; left: 215px; }
.aed-lp .node-staff { right: 34px; top: 212px; }
.aed-lp .node-family { left: 244px; bottom: 70px; }

.aed-lp .connect-lines {
position: absolute;
inset: 46px 28px;
z-index: 2;
width: calc(100% - 56px);
height: calc(100% - 92px);
fill: none;
stroke: rgba(242, 138, 36, 0.42);
stroke-width: 3;
stroke-dasharray: 7 10;
animation: aedDashMove 12s linear infinite;
}

@keyframes aedDashMove {
to { stroke-dashoffset: -220; }
}

.aed-lp .ecg-line {
fill: none;
stroke: var(--red);
stroke-width: 4;
stroke-linecap: round;
stroke-linejoin: round;
opacity: 0.9;
}

.aed-lp .ecg-line polyline {
stroke-dasharray: 620;
stroke-dashoffset: 620;
animation: aedDrawLine 3.8s ease-in-out infinite;
}

.aed-lp .hero-ecg {
position: absolute;
left: 26px;
right: 26px;
bottom: 28px;
width: calc(100% - 52px);
height: 74px;
opacity: 0.34;
}

@keyframes aedDrawLine {
0% { stroke-dashoffset: 620; opacity: 0.1; }
35%, 70% { stroke-dashoffset: 0; opacity: 0.82; }
100% { stroke-dashoffset: -620; opacity: 0.1; }
}

.aed-lp .hero-bottom {
width: min(100%, var(--max));
margin: 44px auto 0;
padding: 22px 28px;
display: flex;
justify-content: center;
align-items: center;
gap: 18px;
border: 1px solid rgba(114, 81, 59, 0.11);
border-radius: 999px;
background: rgba(255, 255, 255, 0.7);
box-shadow: 0 18px 48px rgba(83, 48, 16, 0.08);
color: var(--brown-soft);
text-align: center;
}

.aed-lp .hero-bottom p {
margin: 0;
color: var(--red);
font-size: 20px;
font-weight: 900;
}

.aed-lp .hero-bottom span {
font-weight: 800;
}

.aed-lp .two-column {
display: grid;
grid-template-columns: 0.82fr 1.18fr;
gap: 64px;
align-items: start;
}

.aed-lp .section h2 {
font-size: clamp(34px, 4.4vw, 58px);
}

.aed-lp .section h3 {
color: var(--brown);
}

.aed-lp .section-body p,
.aed-lp .section-heading p,
.aed-lp .saved-copy p {
margin: 0 0 18px;
color: var(--brown-soft);
font-size: 16px;
}

.aed-lp .strong-message {
display: inline-flex;
margin-top: 12px !important;
padding: 13px 18px;
border-radius: 999px;
color: var(--red) !important;
background: rgba(183, 39, 35, 0.08);
font-weight: 900;
}

.aed-lp .saved-section {
padding-top: 72px;
padding-bottom: 72px;
}

.aed-lp .saved-card {
display: grid;
grid-template-columns: 1fr 0.65fr;
align-items: center;
gap: 40px;
padding: clamp(34px, 5vw, 64px);
border-radius: var(--radius-lg);
color: var(--white);
background:
radial-gradient(circle at 82% 42%, rgba(255, 218, 161, 0.15), transparent 30%),
linear-gradient(135deg, #5a2e22, #8f1d1b 64%, #b72723);
box-shadow: 0 30px 80px rgba(143, 29, 27, 0.23);
overflow: hidden;
}

.aed-lp .saved-card h2,
.aed-lp .saved-card .section-label {
color: var(--white);
}

.aed-lp .saved-copy p {
color: rgba(255, 255, 255, 0.82);
}

.aed-lp .saved-visual {
position: relative;
min-height: 250px;
display: grid;
place-items: center;
}

.aed-lp .heart-dot {
width: 112px;
height: 112px;
border-radius: 50%;
background: radial-gradient(circle, #fff1df 0 20%, rgba(255, 241, 223, 0.28) 21% 50%, rgba(255, 241, 223, 0.08) 51%);
box-shadow: 0 0 0 18px rgba(255, 255, 255, 0.06);
animation: aedSoftPulse 2.8s ease-in-out infinite;
}

.aed-lp .saved-ecg {
position: absolute;
inset: 50% 0 auto;
transform: translateY(-50%);
stroke: #fff1df;
opacity: 0.86;
}

.aed-lp .lecture-section {
background: linear-gradient(180deg, rgba(255, 250, 242, 0.1), rgba(255, 240, 220, 0.32));
}

.aed-lp .safe-support-section {
background: rgba(255, 250, 242, 0.52);
}

.aed-lp .support-content {
display: grid;
grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
align-items: center;
gap: 28px;
margin-top: 32px;
padding: 32px;
border: 1px solid rgba(114, 81, 59, 0.2);
border-radius: 16px;
background: rgba(255, 255, 255, 0.84);
box-shadow: 0 18px 44px rgba(83, 48, 16, 0.08);
}

.aed-lp .support-text p {
margin: 0;
color: var(--brown-soft);
font-size: 15px;
line-height: 1.9;
}

.aed-lp .support-text p + p {
margin-top: 16px;
}

.aed-lp .support-text .support-lead {
color: var(--red);
font-size: 17px;
font-weight: 800;
line-height: 1.85;
}

.aed-lp .support-image {
margin: 0;
}

.aed-lp .support-image img {
display: block;
width: 100%;
height: auto;
aspect-ratio: 16 / 9;
object-fit: cover;
border-radius: 14px;
box-shadow: 0 16px 34px rgba(83, 48, 16, 0.12);
}

.aed-lp .lecture-steps {
display: grid;
gap: 18px;
}

.aed-lp .mini-step {
position: relative;
min-height: 118px;
padding: 24px 24px 24px 96px;
border: 1px solid rgba(114, 81, 59, 0.12);
border-radius: var(--radius-md);
background: rgba(255, 255, 255, 0.74);
box-shadow: 0 16px 42px rgba(83, 48, 16, 0.08);
}

.aed-lp .mini-step span {
position: absolute;
left: 24px;
top: 26px;
display: grid;
place-items: center;
width: 48px;
height: 48px;
border-radius: 50%;
color: var(--white);
background: linear-gradient(135deg, var(--orange), var(--red));
font-size: 14px;
font-weight: 900;
}

.aed-lp .mini-step p {
margin: 0;
color: var(--brown);
font-size: 18px;
font-weight: 900;
}

.aed-lp .center {
text-align: center;
}

.aed-lp .lead {
max-width: 760px;
margin: 22px auto 0;
color: var(--brown-soft);
font-size: 17px;
}

.aed-lp .aed-target-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 18px;
margin-top: 46px;
}

.aed-lp .target-card,
.aed-lp .flow-card,
.aed-lp .person-card,
.aed-lp .closing-card {
border: 1px solid rgba(114, 81, 59, 0.12);
background: rgba(255, 255, 255, 0.74);
box-shadow: 0 16px 42px rgba(83, 48, 16, 0.08);
}

.aed-lp .target-card {
padding: 28px 22px;
border-radius: var(--radius-md);
text-align: left;
}

.aed-lp .target-card span {
color: var(--orange-dark);
font-size: 12px;
font-weight: 900;
letter-spacing: 0.12em;
text-transform: uppercase;
}

.aed-lp .target-card h3 {
margin: 12px 0 8px;
font-size: 22px;
}

.aed-lp .target-card p {
margin: 0;
color: var(--brown-soft);
font-size: 14px;
}

.aed-lp .vision-message {
display: inline-flex;
margin: 44px auto 0;
padding: 14px 24px;
border-radius: 999px;
color: var(--red);
background: rgba(183, 39, 35, 0.08);
font-size: 20px;
font-weight: 900;
}

.aed-lp .relationship-section {
background: linear-gradient(180deg, transparent, rgba(247, 234, 216, 0.34), transparent);
}

.aed-lp .work-section {
overflow: hidden;
}

.aed-lp .flow-line {
width: min(100%, 920px);
height: 2px;
margin: 54px auto -38px;
background: linear-gradient(90deg, transparent, rgba(242, 138, 36, 0.5), rgba(183, 39, 35, 0.36), transparent);
}

.aed-lp .flow-grid {
position: relative;
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 16px;
}

.aed-lp .flow-card {
position: relative;
min-height: 260px;
padding: 28px 20px 24px;
border-radius: var(--radius-md);
}

.aed-lp .flow-card span {
display: grid;
place-items: center;
width: 48px;
height: 48px;
margin: 0 auto 18px;
border-radius: 50%;
color: var(--white);
background: linear-gradient(135deg, var(--orange), var(--red));
font-weight: 900;
box-shadow: 0 12px 24px rgba(183, 39, 35, 0.14);
}

.aed-lp .flow-card h3 {
margin: 0 0 12px;
font-size: 18px;
line-height: 1.45;
}

.aed-lp .flow-card p {
margin: 0;
color: var(--brown-soft);
font-size: 14px;
}

.aed-lp .person-section {
background: linear-gradient(180deg, rgba(255, 240, 220, 0.24), rgba(255, 250, 242, 0.1));
}

.aed-lp .person-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 18px;
margin-top: 44px;
}

.aed-lp .person-card {
position: relative;
padding: 24px 24px 24px 54px;
border-radius: var(--radius-md);
color: var(--brown);
font-weight: 900;
text-align: left;
}

.aed-lp .person-card::before {
content: "";
position: absolute;
left: 24px;
top: 32px;
width: 12px;
height: 12px;
border-radius: 50%;
background: var(--orange);
box-shadow: 0 0 0 6px rgba(242, 138, 36, 0.14);
}

.aed-lp .final-message-section {
color: var(--white);
background:
radial-gradient(circle at 16% 20%, rgba(255, 255, 255, 0.14), transparent 28%),
linear-gradient(135deg, #4b3326, #7a3428 55%, #a73325);
}

.aed-lp .final-message-section .section-label,
.aed-lp .final-message-section h2,
.aed-lp .final-message-section .lead,
.aed-lp .final-message-section .final-copy {
color: var(--white);
}

.aed-lp .final-message-section .lead {
color: rgba(255, 255, 255, 0.82);
}

.aed-lp .final-copy {
max-width: 780px;
margin: 34px auto 0;
font-size: clamp(22px, 3vw, 36px);
line-height: 1.6;
font-weight: 900;
}


.aed-lp .closing-section {
background: linear-gradient(180deg, rgba(255, 250, 242, 0.1), rgba(255, 240, 220, 0.32));
}

.aed-lp .closing-head {
margin-bottom: 42px;
}

.aed-lp .closing-list {
display: grid;
gap: 22px;
}

.aed-lp .closing-pair {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 22px;
}

.aed-lp .closing-card {
position: relative;
min-height: auto;
padding: clamp(26px, 4vw, 42px);
border-radius: var(--radius-lg);
overflow: hidden;
}

.aed-lp .closing-card::before {
content: "";
position: absolute;
right: -64px;
top: -64px;
width: 180px;
height: 180px;
border-radius: 50%;
background: rgba(242, 138, 36, 0.11);
pointer-events: none;
}

.aed-lp .closing-kicker {
position: relative;
z-index: 1;
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 18px;
}

.aed-lp .closing-kicker .section-label {
margin: 0;
line-height: 1.2;
}

.aed-lp .step-badge {
display: grid;
place-items: center;
width: 44px;
height: 44px;
flex: 0 0 auto;
border-radius: 50%;
color: var(--white);
background: linear-gradient(135deg, var(--orange), var(--red));
box-shadow: 0 12px 24px rgba(183, 39, 35, 0.13);
font-size: 13px;
font-weight: 900;
letter-spacing: 0.08em;
}

.aed-lp .closing-card h3 {
position: relative;
z-index: 1;
margin: 0 0 16px;
font-size: 25px;
}

.aed-lp .closing-card p {
position: relative;
z-index: 1;
color: var(--brown-soft);
}

.aed-lp .message-title {
margin: 10px 0 0;
color: var(--red) !important;
font-size: clamp(25px, 4vw, 44px);
line-height: 1.35;
font-weight: 900;
}

.aed-lp .goal-lead {
margin: 0;
font-size: 17px;
font-weight: 800;
}

.aed-lp .goal-list {
position: relative;
z-index: 1;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 14px;
margin-top: 24px;
}

.aed-lp .goal-item {
padding: 20px 16px;
border: 1px solid rgba(183, 39, 35, 0.1);
border-radius: 20px;
background: rgba(255, 250, 242, 0.76);
}

.aed-lp .goal-item-main {
background: linear-gradient(135deg, rgba(255, 240, 220, 0.92), rgba(255, 250, 242, 0.88));
}

.aed-lp .goal-item span {
display: block;
color: var(--brown-soft);
font-size: 12px;
font-weight: 800;
line-height: 1.5;
}

.aed-lp .goal-item strong {
display: block;
margin-top: 8px;
color: var(--red);
font-size: clamp(24px, 3vw, 36px);
line-height: 1.2;
font-weight: 900;
}

.aed-lp .blank-box {
position: relative;
z-index: 1;
display: grid;
place-items: center;
min-height: 128px;
padding: 22px;
border: 1px dashed rgba(114, 81, 59, 0.28);
border-radius: 18px;
color: rgba(114, 81, 59, 0.72);
background: rgba(255, 255, 255, 0.5);
font-weight: 800;
text-align: center;
}

.aed-lp .blank-box.large {
min-height: 178px;
}

.aed-lp .director-title {
margin: 0 0 16px;
color: var(--red) !important;
font-weight: 900;
}

.aed-lp .entry-section {
padding-bottom: 132px;
}

.aed-lp .entry-panel {
margin-top: 36px;
padding: clamp(24px, 4vw, 42px);
border: 1px dashed rgba(114, 81, 59, 0.24);
border-radius: var(--radius-lg);
background: linear-gradient(135deg, rgba(255, 255, 255, 0.68), rgba(255, 240, 220, 0.48));
box-shadow: 0 16px 42px rgba(83, 48, 16, 0.06);
}

.aed-lp .entry-panel-head {
display: flex;
align-items: flex-end;
justify-content: space-between;
gap: 18px;
padding-bottom: 20px;
border-bottom: 1px solid rgba(114, 81, 59, 0.12);
}

.aed-lp .entry-panel-head h3 {
margin: 0;
font-size: 26px;
}

.aed-lp .entry-panel-head p {
margin: 0;
color: var(--brown-soft);
font-weight: 800;
}

.aed-lp .entry-placeholder-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 12px;
margin-top: 22px;
}

.aed-lp .entry-placeholder-grid div {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
min-height: 58px;
padding: 14px 16px;
border: 1px solid rgba(114, 81, 59, 0.11);
border-radius: 16px;
background: rgba(255, 255, 255, 0.58);
}

.aed-lp .entry-placeholder-grid span {
color: var(--brown);
font-weight: 900;
}

.aed-lp .entry-placeholder-grid strong {
color: rgba(114, 81, 59, 0.64);
font-size: 13px;
white-space: nowrap;
}

.aed-lp .entry-button-placeholder {
display: grid;
place-items: center;
min-height: 58px;
margin-top: 22px;
border: 1px dashed rgba(183, 39, 35, 0.24);
border-radius: 999px;
color: var(--red);
background: rgba(183, 39, 35, 0.06);
font-weight: 900;
text-align: center;
}

.aed-lp .entry-detail-list {
display: grid;
gap: 12px;
margin: 24px 0 0;
padding: 0;
}

.aed-lp .entry-detail-item {
display: grid;
grid-template-columns: 190px minmax(0, 1fr);
gap: 18px;
align-items: start;
padding: 18px 20px;
border: 1px solid rgba(114, 81, 59, 0.12);
border-radius: 18px;
background: rgba(255, 255, 255, 0.68);
}

.aed-lp .entry-detail-item dt {
color: var(--brown);
font-weight: 900;
line-height: 1.65;
}

.aed-lp .entry-detail-item dd {
margin: 0;
color: var(--charcoal);
font-weight: 700;
line-height: 1.85;
}

.aed-lp .entry-detail-item dd p {
margin: 0;
}

.aed-lp .entry-detail-item small {
display: block;
margin-top: 8px;
color: var(--brown-soft);
font-size: 13px;
font-weight: 700;
line-height: 1.75;
}

.aed-lp .entry-button-area {
display: flex;
justify-content: center;
margin-top: 28px;
}

.aed-lp .entry-main-button {
min-width: min(100%, 280px);
}

.aed-lp .site-footer {
display: flex;
justify-content: space-between;
align-items: center;
gap: 18px;
padding: 28px 24px;
border-top: 1px solid rgba(114, 81, 59, 0.1);
color: rgba(61, 44, 34, 0.72);
background: rgba(255, 255, 255, 0.58);
font-size: 13px;
font-weight: 700;
}

.aed-lp .site-footer p {
margin: 0;
}

.aed-lp .site-footer a {
color: var(--orange-dark);
}

.aed-lp .reveal {
opacity: 1;
transform: none;
}

.js-enabled .aed-lp .reveal {
opacity: 0;
transform: translateY(24px);
transition: opacity 0.72s ease, transform 0.72s ease;
}

.js-enabled .aed-lp .reveal.is-visible {
opacity: 1;
transform: translateY(0);
}

.aed-lp .delay-1 { transition-delay: 0.12s; }
.aed-lp .delay-2 { transition-delay: 0.2s; }
.aed-lp .delay-3 { transition-delay: 0.28s; }
.aed-lp .delay-4 { transition-delay: 0.36s; }
.aed-lp .delay-5 { transition-delay: 0.44s; }

@media (max-width: 1040px) {
.aed-lp .hero-inner {
grid-template-columns: 1fr;
}

.aed-lp .visual-card {
min-height: 470px;
}

.aed-lp .aed-target-grid,
.aed-lp .flow-grid {
grid-template-columns: repeat(2, 1fr);
}

.aed-lp .flow-line {
display: none;
}

.aed-lp .flow-card {
min-height: auto;
}
}

@media (max-width: 820px) {
.aed-lp {
line-height: 1.78;
letter-spacing: 0.028em;
}

.aed-lp .support-content {
grid-template-columns: 1fr;
gap: 22px;
padding: 24px;
}

.aed-lp .support-image {
order: -1;
}

.aed-lp .site-header {
top: 10px;
width: calc(100% - 20px);
padding: 10px 12px;
}

.aed-lp .brand-mark {
width: 38px;
height: 38px;
}

.aed-lp .brand-text {
display: none;
}

.aed-lp .header-nav a:not(.nav-cta) {
display: none;
}

.aed-lp .header-nav .nav-cta {
padding: 8px 12px;
}

.aed-lp .section {
padding: 86px 18px;
scroll-margin-top: 80px;
}

.aed-lp .hero {
min-height: auto;
padding-top: 120px;
padding-bottom: 58px;
}

.aed-lp .hero-inner {
gap: 34px;
}

.aed-lp .hero-actions {
flex-direction: column;
}

.aed-lp .btn {
width: 100%;
}

.aed-lp .hero-bottom {
display: block;
margin-top: 26px;
padding: 20px 18px;
border-radius: 24px;
}

.aed-lp .hero-bottom p {
margin-bottom: 6px;
font-size: 18px;
}

.aed-lp .two-column {
grid-template-columns: 1fr;
gap: 30px;
}

.aed-lp .reverse-mobile .lecture-steps {
order: 2;
}

.aed-lp .reverse-mobile .section-heading {
order: 1;
}

.aed-lp .section h2 {
font-size: clamp(30px, 8.4vw, 42px);
line-height: 1.24;
}

.aed-lp .section-body p,
.aed-lp .section-heading p,
.aed-lp .saved-copy p,
.aed-lp .lead,
.aed-lp .hero-text {
font-size: 15px;
line-height: 1.78;
}

.aed-lp .saved-card {
grid-template-columns: 1fr;
}

.aed-lp .saved-visual {
min-height: 150px;
}

.aed-lp .person-grid,
.aed-lp .closing-grid {
grid-template-columns: 1fr;
}

.aed-lp .message-card,
.aed-lp .director-card {
grid-column: auto;
}

.aed-lp .goal-list {
grid-template-columns: 1fr;
}

.aed-lp .site-footer {
display: block;
text-align: center;
}

.aed-lp .site-footer a {
display: inline-block;
margin-top: 8px;
}

.js-enabled .aed-lp .reveal {
opacity: 1;
transform: none;
transition: none;
}
}

@media (max-width: 560px) {
.aed-lp .section {
padding: 74px 16px;
}

.aed-lp .support-content {
margin-top: 24px;
padding: 20px;
border-radius: 14px;
}

.aed-lp .support-text .support-lead {
font-size: 15px;
line-height: 1.8;
}

.aed-lp .support-text p {
font-size: 14px;
line-height: 1.85;
}

.aed-lp .support-image img {
border-radius: 12px;
}

.aed-lp .hero {
padding-top: 104px;
}

.aed-lp .hero h1 {
font-size: clamp(42px, 12.5vw, 58px);
line-height: 1.12;
}

.aed-lp .hero-lead {
margin-top: 22px;
font-size: clamp(18px, 5vw, 22px);
line-height: 1.62;
}

.aed-lp .hero-lead span {
display: inline;
}

.aed-lp .hero-actions {
gap: 10px;
margin-top: 26px;
}

.aed-lp .btn {
min-height: 50px;
padding: 11px 18px;
font-size: 13px;
}

.aed-lp .visual-card {
width: min(100%, 420px);
min-height: 390px;
margin: 0 auto;
border-radius: 30px;
}

.aed-lp .visual-card::before {
inset: 12px;
border-radius: 24px;
}

.aed-lp .pulse-ring {
inset: 85px 42px;
}

.aed-lp .aed-device {
width: 128px;
height: 128px;
border-radius: 26px;
}

.aed-lp .aed-device strong {
font-size: 32px;
}

.aed-lp .aed-device small {
margin-top: -30px;
font-size: 10px;
}

.aed-lp .person-node {
width: 78px;
height: 78px;
font-size: 10px;
}

.aed-lp .person-node::before {
top: 15px;
width: 16px;
height: 16px;
}

.aed-lp .person-node::after {
top: 36px;
width: 30px;
height: 15px;
}

.aed-lp .person-node span {
margin-top: 42px;
}

.aed-lp .node-sales { left: 18px; top: 158px; }
.aed-lp .node-company { left: 50%; top: 54px; transform: translateX(-50%); }
.aed-lp .node-staff { right: 18px; top: 164px; }
.aed-lp .node-family { left: 50%; bottom: 56px; transform: translateX(-50%); }

.aed-lp .aed-target-grid,
.aed-lp .flow-grid,
.aed-lp .person-grid {
grid-template-columns: 1fr;
margin-top: 30px;
}

.aed-lp .target-card,
.aed-lp .flow-card,
.aed-lp .person-card,
.aed-lp .mini-step,
.aed-lp .closing-card {
border-radius: 20px;
box-shadow: 0 12px 30px rgba(83, 48, 16, 0.07);
}

.aed-lp .flow-card h3,
.aed-lp .target-card h3 {
font-size: 18px;
}

.aed-lp .flow-card p,
.aed-lp .target-card p {
font-size: 14px;
line-height: 1.7;
}

.aed-lp .person-card {
padding: 20px 18px 20px 48px;
line-height: 1.55;
}

.aed-lp .person-card::before {
left: 22px;
top: 27px;
}

.aed-lp .saved-card {
padding: 30px 20px;
}

.aed-lp .saved-visual {
display: none;
}

.aed-lp .strong-message,
.aed-lp .vision-message {
display: flex;
width: 100%;
justify-content: center;
border-radius: 18px;
text-align: center;
line-height: 1.55;
}

.aed-lp .mini-step {
min-height: auto;
padding: 20px 18px 20px 82px;
}

.aed-lp .mini-step span {
left: 20px;
top: 20px;
}

.aed-lp .center,
.aed-lp .entry-section .center,
.aed-lp .final-message-section .center,
.aed-lp .person-section .center,
.aed-lp .work-section .center,
.aed-lp .one-aed-section .center,
.aed-lp .closing-section .center {
text-align: left;
}

.aed-lp .entry-blank {
min-height: 180px;
border-radius: 24px;
}

.aed-lp .closing-card {
min-height: auto;
padding: 26px 20px;
}

.aed-lp .closing-number {
right: 16px;
top: 12px;
font-size: 54px;
}

.aed-lp .closing-card h3 {
font-size: 22px;
}

.aed-lp .blank-box {
min-height: 110px;
}
}

@media (max-width: 420px) {
.aed-lp .section {
padding-left: 14px;
padding-right: 14px;
}

.aed-lp .hero h1 {
font-size: clamp(39px, 12vw, 48px);
}

.aed-lp .hero-lead {
font-size: 17px;
}

.aed-lp .visual-card {
min-height: 320px;
}

.aed-lp .aed-device {
width: 112px;
height: 112px;
}

.aed-lp .person-node {
width: 68px;
height: 68px;
font-size: 9px;
}

.aed-lp .node-sales { left: 12px; top: 134px; }
.aed-lp .node-company { top: 42px; }
.aed-lp .node-staff { right: 12px; top: 140px; }
.aed-lp .node-family { bottom: 48px; }
}


@media (max-width: 820px) {
.aed-lp .closing-pair,
.aed-lp .goal-list,
.aed-lp .entry-placeholder-grid {
grid-template-columns: 1fr;
}

.aed-lp .entry-detail-item {
grid-template-columns: 150px minmax(0, 1fr);
}

.aed-lp .entry-panel-head {
display: block;
}

.aed-lp .entry-panel-head p {
margin-top: 6px;
}
}

@media (max-width: 560px) {
.aed-lp .closing-list {
gap: 16px;
}

.aed-lp .closing-card {
padding: 24px 18px;
border-radius: 22px;
box-shadow: 0 12px 30px rgba(83, 48, 16, 0.07);
}

.aed-lp .closing-kicker {
gap: 10px;
margin-bottom: 16px;
}

.aed-lp .step-badge {
width: 38px;
height: 38px;
font-size: 12px;
}

.aed-lp .closing-card h3 {
font-size: 22px;
}

.aed-lp .goal-item {
padding: 18px 14px;
}

.aed-lp .blank-box {
min-height: 112px;
}

.aed-lp .entry-panel {
padding: 22px 16px;
border-radius: 24px;
}

.aed-lp .entry-placeholder-grid div {
display: block;
min-height: auto;
}

.aed-lp .entry-placeholder-grid strong {
display: block;
margin-top: 4px;
}

.aed-lp .entry-detail-item {
grid-template-columns: 1fr;
gap: 6px;
padding: 16px 14px;
border-radius: 16px;
}

.aed-lp .entry-detail-item dt {
font-size: 14px;
}

.aed-lp .entry-detail-item dd {
font-size: 14px;
line-height: 1.8;
}

.aed-lp .entry-detail-item small {
font-size: 12px;
}

.aed-lp .entry-button-area {
justify-content: stretch;
}

.aed-lp .entry-main-button {
width: 100%;
}
}

@media (prefers-reduced-motion: reduce) {
.aed-lp *,
.aed-lp *::before,
.aed-lp *::after {
animation-duration: 0.001ms !important;
animation-iteration-count: 1 !important;
scroll-behavior: auto !important;
transition-duration: 0.001ms !important;
}

.js-enabled .aed-lp .reveal,
.aed-lp .reveal {
opacity: 1 !important;
transform: none !important;
}
}

/* =========================================
CMS・ファーストビュー・ヘッダー最終設定
このブロック以降にヘッダー指定を追加しないでください
========================================= */
html,
body {
margin: 0 !important;
padding: 0 !important;
background: #fff8ef !important;
}

body {
padding-top: 0 !important;
}

body:has(.aed-lp),
body:has(.aed-lp) main,
body:has(.aed-lp) article,
body:has(.aed-lp) .main,
body:has(.aed-lp) .contents,
body:has(.aed-lp) .content,
body:has(.aed-lp) .container,
body:has(.aed-lp) .page,
body:has(.aed-lp) .page-body,
body:has(.aed-lp) .page-content,
body:has(.aed-lp) .entry-content,
body:has(.aed-lp) .post-content,
body:has(.aed-lp) .article-body,
body:has(.aed-lp) .pagehub-content,
body:has(.aed-lp) .pagehub-body {
margin-top: 0 !important;
padding-top: 0 !important;
}

body:has(.aed-lp) > h1:empty,
body:has(.aed-lp) > h2:empty,
body:has(.aed-lp) .page-title:empty,
body:has(.aed-lp) .entry-title:empty,
body:has(.aed-lp) .post-title:empty {
display: none !important;
margin: 0 !important;
padding: 0 !important;
}

.aed-lp {
margin-top: 0 !important;
padding-top: 0 !important;
}

.aed-lp main {
margin-top: 0 !important;
padding-top: 0 !important;
}

/* OAリクルートと同じSVGロゴを使った細身ヘッダー */
.aed-lp #siteHeader.site-header {
position: fixed !important;
top: 14px !important;
left: 50% !important;
right: auto !important;
z-index: 50 !important;
width: min(calc(100% - 32px), 1160px) !important;
height: 56px !important;
min-height: 56px !important;
max-height: 56px !important;
transform: translateX(-50%) !important;
display: flex !important;
align-items: center !important;
justify-content: space-between !important;
gap: 16px !important;
margin: 0 !important;
padding: 4px 8px 4px 14px !important;
border: 1px solid rgba(114, 81, 59, 0.12) !important;
border-radius: 999px !important;
background: rgba(255, 250, 242, 0.9) !important;
backdrop-filter: blur(18px) !important;
-webkit-backdrop-filter: blur(18px) !important;
box-shadow: 0 10px 34px rgba(83, 48, 16, 0.09) !important;
overflow: hidden !important;
box-sizing: border-box !important;
}

.aed-lp #siteHeader.site-header.is-scrolled {
background: rgba(255, 255, 255, 0.95) !important;
box-shadow: 0 12px 38px rgba(83, 48, 16, 0.12) !important;
}

.aed-lp #siteHeader .brand {
display: inline-flex !important;
align-items: center !important;
flex: 1 1 auto !important;
min-width: 0 !important;
height: 100% !important;
min-height: 0 !important;
gap: 12px !important;
margin: 0 !important;
padding: 0 !important;
overflow: hidden !important;
}

.aed-lp #siteHeader .brand-logo {
display: block !important;
width: auto !important;
height: 28px !important;
min-height: 0 !important;
max-width: 176px !important;
max-height: 28px !important;
margin: 0 !important;
padding: 0 !important;
object-fit: contain !important;
flex: 0 0 auto !important;
}

.aed-lp #siteHeader .brand-division {
display: inline-flex !important;
flex-direction: column !important;
align-items: flex-start !important;
justify-content: center !important;
min-height: 0 !important;
height: auto !important;
margin: 0 !important;
padding: 0 0 0 12px !important;
border-left: 1px solid rgba(114, 81, 59, 0.18) !important;
color: var(--brown-soft) !important;
line-height: 1.05 !important;
white-space: nowrap !important;
}

.aed-lp #siteHeader .brand-division span {
display: block !important;
font-size: 9px !important;
font-weight: 800 !important;
letter-spacing: 0.08em !important;
}

.aed-lp #siteHeader .brand-division strong {
display: block !important;
margin-top: 3px !important;
color: var(--red) !important;
font-size: 12px !important;
font-weight: 900 !important;
letter-spacing: 0.12em !important;
}

.aed-lp #siteHeader .header-nav {
display: flex !important;
align-items: center !important;
justify-content: flex-end !important;
flex: 0 0 auto !important;
height: 100% !important;
min-height: 0 !important;
gap: 2px !important;
margin: 0 !important;
padding: 0 !important;
color: var(--brown-soft) !important;
font-size: 12px !important;
font-weight: 700 !important;
}

.aed-lp #siteHeader .header-nav a {
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
min-height: 0 !important;
margin: 0 !important;
padding: 6px 9px !important;
border-radius: 999px !important;
line-height: 1.15 !important;
white-space: nowrap !important;
}

.aed-lp #siteHeader .header-nav .nav-cta {
height: 36px !important;
min-height: 36px !important;
max-height: 36px !important;
padding: 0 15px !important;
color: #fff !important;
background: linear-gradient(135deg, var(--orange), var(--red)) !important;
box-shadow: 0 8px 20px rgba(183, 39, 35, 0.18) !important;
font-size: 12px !important;
font-weight: 900 !important;
}

/* ファーストビュー */
.aed-lp .hero.section {
margin-top: 0 !important;
padding-top: 92px !important;
padding-bottom: 72px !important;
min-height: auto !important;
display: block !important;
align-items: unset !important;
scroll-margin-top: 78px !important;
}

.aed-lp .hero-inner {
align-items: center !important;
}

.aed-lp .hero-copy,
.aed-lp .hero-copy.reveal,
.js-enabled .aed-lp .hero-copy,
.js-enabled .aed-lp .hero-copy.reveal,
.js-enabled .aed-lp .hero-copy.reveal.is-visible,
.aed-lp .hero h1,
.aed-lp .hero h1 .line,
.aed-lp .hero h1 .accent,
.aed-lp .hero-lead,
.aed-lp .hero-text,
.aed-lp .hero-actions {
opacity: 1 !important;
transform: none !important;
visibility: visible !important;
}

@media (max-width: 1040px) {
.aed-lp {
margin-top: 0 !important;
}

.aed-lp .hero.section {
padding-top: 88px !important;
padding-bottom: 64px !important;
}
}

@media (max-width: 820px) {
.aed-lp {
margin-top: 0 !important;
}

.aed-lp #siteHeader.site-header {
top: 10px !important;
width: calc(100% - 20px) !important;
height: 50px !important;
min-height: 50px !important;
max-height: 50px !important;
gap: 8px !important;
padding: 3px 6px 3px 10px !important;
}

.aed-lp #siteHeader .brand {
gap: 0 !important;
}

.aed-lp #siteHeader .brand-logo {
height: 24px !important;
max-width: 142px !important;
max-height: 24px !important;
}

.aed-lp #siteHeader .brand-division {
display: inline-flex !important;
flex: 0 0 auto !important;
padding-left: 9px !important;
}

.aed-lp #siteHeader .brand-division span {
font-size: 7px !important;
letter-spacing: 0.06em !important;
}

.aed-lp #siteHeader .brand-division strong {
margin-top: 2px !important;
font-size: 10px !important;
}

.aed-lp #siteHeader .header-nav {
gap: 0 !important;
}

.aed-lp #siteHeader .header-nav a:not(.nav-cta) {
display: none !important;
}

.aed-lp #siteHeader .header-nav .nav-cta {
height: 34px !important;
min-height: 34px !important;
max-height: 34px !important;
padding: 0 13px !important;
font-size: 12px !important;
}

.aed-lp .hero.section {
padding-top: 84px !important;
padding-bottom: 52px !important;
}
}

@media (max-width: 560px) {
.aed-lp {
margin-top: 0 !important;
}

.aed-lp #siteHeader.site-header {
width: calc(100% - 16px) !important;
height: 48px !important;
min-height: 48px !important;
max-height: 48px !important;
padding: 3px 5px 3px 9px !important;
}

.aed-lp #siteHeader .brand-logo {
height: 22px !important;
max-width: 118px !important;
max-height: 22px !important;
}

.aed-lp #siteHeader .brand-division {
padding-left: 7px !important;
}

.aed-lp #siteHeader .brand-division span {
font-size: 6.5px !important;
}

.aed-lp #siteHeader .brand-division strong {
font-size: 9px !important;
}

.aed-lp #siteHeader .header-nav .nav-cta {
height: 32px !important;
min-height: 32px !important;
max-height: 32px !important;
padding: 0 12px !important;
font-size: 11px !important;
}

.aed-lp .hero.section {
padding-top: 78px !important;
padding-bottom: 46px !important;
}
}

@media (max-width: 390px) {
.aed-lp {
margin-top: 0 !important;
}

.aed-lp #siteHeader .brand-logo {
max-width: 106px !important;
}

.aed-lp #siteHeader .brand-division {
padding-left: 6px !important;
}

.aed-lp #siteHeader .brand-division span {
font-size: 6px !important;
}

.aed-lp #siteHeader .brand-division strong {
font-size: 8.5px !important;
}

.aed-lp .hero.section {
padding-top: 74px !important;
}
}


/* =========================================
PEOPLE / VOICE：社員インタビュー
========================================= */
.aed-lp .voice-section {
background:
radial-gradient(circle at 8% 12%, rgba(242, 138, 36, 0.14), transparent 28%),
linear-gradient(180deg, rgba(255, 250, 242, 0.34), rgba(247, 234, 216, 0.42), rgba(255, 250, 242, 0.18));
}

.aed-lp .voice-intro {
max-width: 880px;
margin: 0 auto 48px;
}

.aed-lp .voice-intro h2 {
line-height: 1.25;
}

.aed-lp .voice-note {
margin: 16px auto 0;
color: rgba(114, 81, 59, 0.7);
font-size: 12px;
font-weight: 700;
}

.aed-lp .voice-list {
display: grid;
gap: 28px;
}

.aed-lp .voice-card {
position: relative;
display: grid;
grid-template-columns: minmax(220px, 0.42fr) minmax(0, 1.58fr);
overflow: hidden;
border: 1px solid rgba(114, 81, 59, 0.12);
border-radius: 34px;
background: rgba(255, 255, 255, 0.82);
box-shadow: 0 24px 64px rgba(83, 48, 16, 0.1);
}

.aed-lp .voice-card::after {
content: "";
position: absolute;
right: -90px;
bottom: -110px;
width: 260px;
height: 260px;
border-radius: 50%;
background: radial-gradient(circle, rgba(242, 138, 36, 0.12), transparent 68%);
pointer-events: none;
}

.aed-lp .voice-card-red::after {
background: radial-gradient(circle, rgba(183, 39, 35, 0.1), transparent 68%);
}

.aed-lp .voice-profile {
position: relative;
z-index: 1;
padding: 38px 30px;
background:
radial-gradient(circle at 30% 22%, rgba(255, 255, 255, 0.72), transparent 34%),
linear-gradient(145deg, rgba(255, 240, 220, 0.96), rgba(247, 234, 216, 0.82));
border-right: 1px solid rgba(114, 81, 59, 0.1);
}

.aed-lp .voice-card-red .voice-profile {
background:
radial-gradient(circle at 30% 22%, rgba(255, 255, 255, 0.72), transparent 34%),
linear-gradient(145deg, rgba(255, 236, 222, 0.96), rgba(248, 225, 211, 0.84));
}

.aed-lp .voice-number {
display: inline-flex;
align-items: center;
min-height: 28px;
padding: 5px 11px;
border-radius: 999px;
color: var(--orange-dark);
background: rgba(255, 255, 255, 0.72);
border: 1px solid rgba(242, 138, 36, 0.14);
font-size: 11px;
font-weight: 900;
letter-spacing: 0.14em;
}

.aed-lp .voice-card-red .voice-number {
color: var(--red);
border-color: rgba(183, 39, 35, 0.14);
}

.aed-lp .voice-person-mark {
display: grid;
place-items: center;
width: 92px;
height: 92px;
margin: 28px 0 24px;
border-radius: 50%;
color: var(--white);
background: linear-gradient(135deg, var(--orange), var(--red));
box-shadow: 0 18px 36px rgba(183, 39, 35, 0.18);
}

.aed-lp .voice-person-mark span {
font-size: 30px;
font-weight: 900;
line-height: 1;
}

.aed-lp .voice-role {
margin: 0 0 7px;
color: var(--brown-soft);
font-size: 12px;
font-weight: 800;
letter-spacing: 0.08em;
}

.aed-lp .voice-profile h3 {
margin: 0;
color: var(--brown);
font-size: 25px;
line-height: 1.35;
}

.aed-lp .voice-meta {
margin: 8px 0 0;
color: rgba(114, 81, 59, 0.74);
font-size: 12px;
font-weight: 700;
}

.aed-lp .voice-content {
position: relative;
z-index: 1;
padding: clamp(34px, 5vw, 58px);
}

.aed-lp .voice-catch {
margin: 0 0 28px;
color: var(--brown);
font-size: clamp(25px, 3.2vw, 42px);
font-weight: 900;
line-height: 1.45;
letter-spacing: 0.02em;
}

.aed-lp .voice-card-red .voice-catch {
color: var(--red-dark);
}

.aed-lp .voice-body {
display: grid;
gap: 16px;
}

.aed-lp .voice-body p {
margin: 0;
color: var(--brown-soft);
font-size: 15px;
line-height: 1.95;
}

.aed-lp .voice-insight {
margin-top: 28px;
padding: 22px 24px;
border-left: 4px solid var(--orange);
border-radius: 0 18px 18px 0;
background: rgba(255, 240, 220, 0.58);
}

.aed-lp .voice-card-red .voice-insight {
border-left-color: var(--red);
background: rgba(183, 39, 35, 0.06);
}

.aed-lp .voice-insight span {
display: block;
color: var(--orange-dark);
font-size: 11px;
font-weight: 900;
letter-spacing: 0.12em;
}

.aed-lp .voice-card-red .voice-insight span {
color: var(--red);
}

.aed-lp .voice-insight strong {
display: block;
margin-top: 7px;
color: var(--brown);
font-size: 19px;
line-height: 1.55;
}

.aed-lp .voice-insight p {
margin: 8px 0 0;
color: var(--brown-soft);
font-size: 13px;
line-height: 1.8;
}

.aed-lp .voice-shared-message {
margin-top: 34px;
padding: 36px 28px;
border-radius: 28px;
color: var(--white);
background:
radial-gradient(circle at 12% 18%, rgba(255, 255, 255, 0.14), transparent 28%),
linear-gradient(135deg, #5a2e22, #8f1d1b 62%, #b72723);
box-shadow: 0 24px 58px rgba(143, 29, 27, 0.18);
text-align: center;
}

.aed-lp .voice-shared-message .section-label,
.aed-lp .voice-shared-message h3,
.aed-lp .voice-shared-message p {
color: var(--white);
}

.aed-lp .voice-shared-message .section-label {
margin-bottom: 10px;
opacity: 0.72;
}

.aed-lp .voice-shared-message h3 {
margin: 0;
font-size: clamp(24px, 3.4vw, 40px);
line-height: 1.45;
}

.aed-lp .voice-shared-message p:last-child {
margin: 12px 0 0;
color: rgba(255, 255, 255, 0.82);
font-size: 16px;
font-weight: 800;
}

.aed-lp .voice-summary-link {
display: inline-flex;
align-items: center;
margin-top: 14px;
color: var(--red);
font-size: 14px;
font-weight: 900;
}

@media (max-width: 820px) {
.aed-lp .voice-card {
grid-template-columns: 1fr;
}

.aed-lp .voice-profile {
display: grid;
grid-template-columns: auto 1fr;
column-gap: 18px;
align-items: center;
padding: 28px 24px;
border-right: 0;
border-bottom: 1px solid rgba(114, 81, 59, 0.1);
}

.aed-lp .voice-number {
grid-column: 1 / -1;
justify-self: start;
margin-bottom: 18px;
}

.aed-lp .voice-person-mark {
grid-column: 1;
grid-row: 2 / 5;
width: 78px;
height: 78px;
margin: 0;
}

.aed-lp .voice-person-mark span {
font-size: 25px;
}

.aed-lp .voice-role,
.aed-lp .voice-profile h3,
.aed-lp .voice-meta {
grid-column: 2;
}

.aed-lp .voice-role {
margin-bottom: 3px;
}

.aed-lp .voice-content {
padding: 30px 24px;
}
}

@media (max-width: 560px) {
.aed-lp .voice-intro {
margin-bottom: 32px;
}

.aed-lp .voice-list {
gap: 20px;
}

.aed-lp .voice-card {
border-radius: 22px;
}

.aed-lp .voice-profile {
padding: 24px 18px;
}

.aed-lp .voice-person-mark {
width: 68px;
height: 68px;
}

.aed-lp .voice-profile h3 {
font-size: 21px;
}

.aed-lp .voice-content {
padding: 26px 18px;
}

.aed-lp .voice-catch {
margin-bottom: 22px;
font-size: clamp(24px, 7.4vw, 32px);
}

.aed-lp .voice-body p {
font-size: 14px;
line-height: 1.85;
}

.aed-lp .voice-insight {
margin-top: 22px;
padding: 18px 16px;
}

.aed-lp .voice-insight strong {
font-size: 17px;
}

.aed-lp .voice-shared-message {
margin-top: 24px;
padding: 28px 20px;
border-radius: 22px;
text-align: left;
}
}

/* =========================================
2026-07 修正：社員の声の表示調整
・鈴木さんの不要段落を削除済み
・2名の名前位置がずれないよう調整
========================================= */
.aed-lp .voice-meta {
min-height: 1.8em;
}

.aed-lp .voice-meta-empty {
visibility: hidden;
}

@media (max-width: 820px) {
.aed-lp .voice-profile {
display: flex !important;
flex-direction: column !important;
align-items: center !important;
justify-content: center !important;
text-align: center !important;
row-gap: 0 !important;
}

.aed-lp .voice-number {
margin-bottom: 16px !important;
}

.aed-lp .voice-person-mark {
margin: 0 0 16px !important;
}

.aed-lp .voice-role,
.aed-lp .voice-profile h3,
.aed-lp .voice-meta {
grid-column: auto !important;
width: 100% !important;
text-align: center !important;
justify-self: center !important;
}

.aed-lp .voice-role {
margin: 0 0 6px !important;
}

.aed-lp .voice-profile h3 {
margin: 0 !important;
}

.aed-lp .voice-meta {
margin: 8px 0 0 !important;
}
}

@media (max-width: 560px) {
.aed-lp .voice-profile {
padding: 24px 18px !important;
}

.aed-lp .voice-person-mark {
width: 72px !important;
height: 72px !important;
}

.aed-lp .voice-person-mark span {
font-size: 28px !important;
}

.aed-lp .voice-role {
font-size: 12px !important;
}

.aed-lp .voice-profile h3 {
font-size: 22px !important;
line-height: 1.4 !important;
}

.aed-lp .voice-meta {
font-size: 12px !important;
line-height: 1.7 !important;
}
}

/* =========================================
スマホ・PC用 改行コントロールクラス（追記分）
========================================= */
.br-pc {
  display: block;
}
.br-sp {
  display: none;
}

@media (max-width: 820px) {
  .br-pc {
    display: none;
  }
  .br-sp {
    display: inline;
  }
}

/* =========================================
SPファースト：テキストサイズ・改行の最適化
========================================= */
@media (max-width: 820px) {
  /* 各種見出しのサイズを縮小 */
  .aed-lp .hero h1 { 
    font-size: clamp(32px, 8vw, 42px) !important; 
    line-height: 1.2 !important;
  }
  .aed-lp .section h2 { 
    font-size: clamp(24px, 6.5vw, 32px) !important; 
    line-height: 1.3 !important;
  }
  .aed-lp .hero-lead { 
    font-size: clamp(16px, 4.5vw, 20px) !important; 
  }
  .aed-lp .voice-catch { 
    font-size: clamp(20px, 5.5vw, 26px) !important; 
  }
  .aed-lp .message-title { 
    font-size: clamp(22px, 5vw, 32px) !important; 
  }
  
  /* 変な改行を防ぐための指定（対応ブラウザ向け） */
  .aed-lp h1, .aed-lp h2, .aed-lp h3, .aed-lp p {
    word-break: auto-phrase;
  }
}

/* さらに小さいスマホ画面（幅560px以下）向けの微調整 */
@media (max-width: 560px) {
  .aed-lp .hero h1 { 
    font-size: clamp(28px, 9vw, 34px) !important; 
  }
  .aed-lp .section h2 { 
    font-size: clamp(22px, 7vw, 28px) !important; 
  }
  .aed-lp .hero-lead { 
    font-size: clamp(15px, 4vw, 18px) !important; 
  }
}

/* =========================================
2026-07-22 最新版：ロカオプCMS PC右寄り・上下左右余白の強制補正
このブロックを最終指定として扱うため、CSSの一番下に置く。
========================================= */
html,
body,
html:has(.aed-lp),
body:has(.aed-lp) {
width: 100% !important;
min-width: 100% !important;
max-width: none !important;
margin: 0 !important;
padding: 0 !important;
overflow-x: hidden !important;
background: #fff8ef !important;
}

body:has(.aed-lp) {
position: relative !important;
}

body:has(.aed-lp) #wrapper,
body:has(.aed-lp) .wrapper,
body:has(.aed-lp) #container,
body:has(.aed-lp) .container,
body:has(.aed-lp) #contents,
body:has(.aed-lp) .contents,
body:has(.aed-lp) #content,
body:has(.aed-lp) .content,
body:has(.aed-lp) #main,
body:has(.aed-lp) .main,
body:has(.aed-lp) main,
body:has(.aed-lp) article,
body:has(.aed-lp) .page,
body:has(.aed-lp) .page-body,
body:has(.aed-lp) .page-content,
body:has(.aed-lp) .entry-content,
body:has(.aed-lp) .post-content,
body:has(.aed-lp) .article-body,
body:has(.aed-lp) .pagehub-content,
body:has(.aed-lp) .pagehub-body,
body:has(.aed-lp) .site,
body:has(.aed-lp) .site-content,
body:has(.aed-lp) .site-main,
body:has(.aed-lp) .site-block,
body:has(.aed-lp) .block-wrapper,
body:has(.aed-lp) .block-wrapper__inner,
body:has(.aed-lp) .site-block__inner,
body:has(.aed-lp) .site-block__content,
body:has(.aed-lp) .site-html-block,
body:has(.aed-lp) .site-html-block-content,
body:has(.aed-lp) .site-html-block-content__inner,
body:has(.aed-lp) .py-8,
body:has(.aed-lp) .p-4 {
width: 100% !important;
max-width: none !important;
min-width: 0 !important;
height: auto !important;
min-height: 0 !important;
max-height: none !important;
margin: 0 !important;
padding: 0 !important;
overflow-x: visible !important;
}

body:has(.aed-lp) > header,
body:has(.aed-lp) header:not(#siteHeader),
body:has(.aed-lp) .site-page__header,
body:has(.aed-lp) .site-header__title,
body:has(.aed-lp) .site-header__branding,
body:has(.aed-lp) .site-header__nav,
body:has(.aed-lp) .site-header__actions,
body:has(.aed-lp) .site-header__cta,
body:has(.aed-lp) .page-header,
body:has(.aed-lp) .global-header,
body:has(.aed-lp) .l-header,
body:has(.aed-lp) .navbar,
body:has(.aed-lp) .mobile-page-title,
body:has(.aed-lp) .sp-page-title,
body:has(.aed-lp) .page-mobile-title,
body:has(.aed-lp) .site-page__footer,
body:has(.aed-lp) footer,
body:has(.aed-lp) .global-footer,
body:has(.aed-lp) .l-footer,
body:has(.aed-lp) .site-breadcrumb,
body:has(.aed-lp) .breadcrumb,
body:has(.aed-lp) .breadcrumbs,
body:has(.aed-lp) .pankuzu,
body:has(.aed-lp) .topicpath,
body:has(.aed-lp) .site-page__title,
body:has(.aed-lp) .page-title,
body:has(.aed-lp) .entry-title,
body:has(.aed-lp) .post-title,
body:has(.aed-lp) .content-title,
body:has(.aed-lp) > h1,
body:has(.aed-lp) > h2,
body:has(.aed-lp) > .title,
body:has(.aed-lp) > .heading-title,
body:has(.aed-lp) > .page-heading,
body:has(.aed-lp) [class*="breadcrumb"],
body:has(.aed-lp) [class*="Breadcrumb"],
body:has(.aed-lp) [class*="page-title"],
body:has(.aed-lp) [class*="PageTitle"],
body:has(.aed-lp) [class*="pageTitle"],
body:has(.aed-lp) [class*="PageHeading"],
body:has(.aed-lp) .site-scroll-top-button,
body:has(.aed-lp) .site-scroll-top-button--visible,
body:has(.aed-lp) button[aria-label="ページの先頭へ戻る"] {
display: none !important;
visibility: hidden !important;
opacity: 0 !important;
pointer-events: none !important;
width: 0 !important;
height: 0 !important;
min-width: 0 !important;
min-height: 0 !important;
max-height: 0 !important;
margin: 0 !important;
padding: 0 !important;
border: 0 !important;
overflow: hidden !important;
}

body:has(.aed-lp) .aed-lp .site-footer {
display: block !important;
visibility: visible !important;
opacity: 1 !important;
pointer-events: auto !important;
width: 100% !important;
height: auto !important;
min-width: 0 !important;
min-height: 0 !important;
max-height: none !important;
margin: 0 !important;
padding: 42px 24px !important;
border: 0 !important;
overflow: visible !important;
}

.aed-lp {
position: relative !important;
left: 50% !important;
right: auto !important;
width: 100vw !important;
max-width: 100vw !important;
min-width: 100vw !important;
margin-top: 0 !important;
margin-right: 0 !important;
margin-left: -50vw !important;
padding-right: 0 !important;
padding-left: 0 !important;
transform: none !important;
overflow-x: clip !important;
box-sizing: border-box !important;
}

.aed-lp .section,
.aed-lp .hero,
.aed-lp .section-inner,
.aed-lp .hero-inner,
.aed-lp .hero-bottom {
box-sizing: border-box !important;
}

.aed-lp #siteHeader.site-header {
left: 50% !important;
right: auto !important;
transform: translateX(-50%) !important;
position: fixed !important;
top: 14px !important;
z-index: 10000 !important;
}

.aed-lp #siteHeader.site-header {
display: flex !important;
visibility: visible !important;
opacity: 1 !important;
pointer-events: auto !important;
width: min(calc(100% - 32px), 1160px) !important;
height: 56px !important;
min-height: 56px !important;
max-height: 56px !important;
overflow: hidden !important;
}

.aed-lp #siteHeader .brand {
display: inline-flex !important;
visibility: visible !important;
opacity: 1 !important;
pointer-events: auto !important;
}

.aed-lp #siteHeader .brand-logo {
display: block !important;
visibility: visible !important;
opacity: 1 !important;
}

.aed-lp #siteHeader .brand-division {
display: inline-flex !important;
visibility: visible !important;
opacity: 1 !important;
}

.aed-lp #siteHeader .brand-division span,
.aed-lp #siteHeader .brand-division strong {
display: block !important;
visibility: visible !important;
opacity: 1 !important;
}

.aed-lp #siteHeader .header-nav {
display: flex !important;
visibility: visible !important;
opacity: 1 !important;
pointer-events: auto !important;
}

.aed-lp #siteHeader .header-nav a {
display: inline-flex !important;
visibility: visible !important;
opacity: 1 !important;
pointer-events: auto !important;
}

.aed-lp .eyebrow {
display: block !important;
visibility: visible !important;
opacity: 1 !important;
height: auto !important;
min-height: 0 !important;
max-height: none !important;
overflow: visible !important;
}

@media (max-width: 820px) {
.aed-lp #siteHeader.site-header {
width: calc(100% - 20px) !important;
height: 50px !important;
min-height: 50px !important;
max-height: 50px !important;
}
}

@media (max-width: 560px) {
.aed-lp #siteHeader.site-header {
width: calc(100% - 16px) !important;
height: 48px !important;
min-height: 48px !important;
max-height: 48px !important;
}
}

@media (min-width: 1041px) {
.aed-lp {
margin-top: 0 !important;
}
}

@media (max-width: 1040px) {
.aed-lp {
margin-top: 0 !important;
}
}

@media (max-width: 820px) {
.aed-lp {
margin-top: 0 !important;
}
}

@media (max-width: 560px) {
.aed-lp {
margin-top: 0 !important;
}
}

@media (max-width: 390px) {
.aed-lp {
margin-top: 0 !important;
}
}

/* =========================================
2026-07-22 最新版：VOICE / Closing 横スクロール除去
該当2ブロックのカード・装飾・長文が親幅を超えないように固定する。
========================================= */
.aed-lp .voice-section,
.aed-lp .closing-section,
.aed-lp .voice-section *,
.aed-lp .voice-section *::before,
.aed-lp .voice-section *::after,
.aed-lp .closing-section *,
.aed-lp .closing-section *::before,
.aed-lp .closing-section *::after {
box-sizing: border-box !important;
max-width: 100% !important;
}

.aed-lp .voice-section,
.aed-lp .closing-section {
width: 100% !important;
max-width: 100% !important;
overflow-x: hidden !important;
}

.aed-lp .voice-list,
.aed-lp .voice-card,
.aed-lp .voice-profile,
.aed-lp .voice-content,
.aed-lp .voice-body,
.aed-lp .voice-insight,
.aed-lp .voice-shared-message,
.aed-lp .closing-list,
.aed-lp .closing-pair,
.aed-lp .closing-card,
.aed-lp .goal-list,
.aed-lp .goal-item,
.aed-lp .blank-box {
width: 100% !important;
min-width: 0 !important;
max-width: 100% !important;
overflow-x: hidden !important;
}

.aed-lp .voice-catch,
.aed-lp .voice-body p,
.aed-lp .voice-insight strong,
.aed-lp .voice-insight p,
.aed-lp .voice-profile h3,
.aed-lp .voice-meta,
.aed-lp .closing-card h3,
.aed-lp .closing-card p,
.aed-lp .message-title,
.aed-lp .goal-lead,
.aed-lp .goal-item strong,
.aed-lp .goal-item span,
.aed-lp .blank-box {
overflow-wrap: anywhere !important;
word-break: normal !important;
line-break: strict !important;
white-space: normal !important;
}

.aed-lp .voice-card::after,
.aed-lp .closing-card::before {
max-width: none !important;
pointer-events: none !important;
}

@media (max-width: 820px) {
.aed-lp .voice-card,
.aed-lp .closing-pair,
.aed-lp .goal-list {
grid-template-columns: 1fr !important;
}

.aed-lp .voice-content,
.aed-lp .voice-profile,
.aed-lp .voice-shared-message,
.aed-lp .closing-card {
padding-left: 20px !important;
padding-right: 20px !important;
}
}

@media (max-width: 560px) {
.aed-lp .voice-content,
.aed-lp .voice-profile,
.aed-lp .voice-shared-message,
.aed-lp .closing-card {
padding-left: 16px !important;
padding-right: 16px !important;
}

.aed-lp .voice-catch {
font-size: clamp(20px, 6.2vw, 26px) !important;
line-height: 1.5 !important;
}

.aed-lp .blank-box.large {
font-size: 13px !important;
line-height: 1.85 !important;
}
}

/* =========================================
2026-07-22 スマホ表示 全体調整
添付HTMLをスマホで通読したときの不自然な折り返し、詰まり、横はみ出しを抑える最終上書き。
========================================= */
@media (max-width: 820px) {
html,
body {
width: 100% !important;
max-width: 100% !important;
margin: 0 !important;
padding: 0 !important;
overflow-x: hidden !important;
}

.aed-lp {
width: 100vw !important;
max-width: 100vw !important;
min-width: 0 !important;
margin-top: 0 !important;
letter-spacing: 0 !important;
line-height: 1.78 !important;
overflow-x: clip !important;
}

.aed-lp *,
.aed-lp *::before,
.aed-lp *::after {
box-sizing: border-box !important;
}

.aed-lp h1,
.aed-lp h2,
.aed-lp h3,
.aed-lp p,
.aed-lp li,
.aed-lp dt,
.aed-lp dd,
.aed-lp span,
.aed-lp strong,
.aed-lp small {
max-width: 100% !important;
line-break: strict !important;
overflow-wrap: anywhere !important;
word-break: normal !important;
}

.aed-lp h1,
.aed-lp h2,
.aed-lp h3,
.aed-lp .hero-lead,
.aed-lp .voice-catch,
.aed-lp .message-title {
text-wrap: balance;
}

.aed-lp .lead {
text-wrap: wrap;
}

.aed-lp .section {
padding: 66px 18px !important;
scroll-margin-top: 76px !important;
}

.aed-lp .section-inner,
.aed-lp .hero-inner,
.aed-lp .hero-bottom {
width: 100% !important;
max-width: 100% !important;
}

.aed-lp #siteHeader.site-header {
top: 8px !important;
left: 50% !important;
width: calc(100% - 20px) !important;
height: 50px !important;
min-height: 50px !important;
max-height: 50px !important;
padding: 4px 6px 4px 9px !important;
gap: 8px !important;
border-radius: 999px !important;
overflow: hidden !important;
}

.aed-lp #siteHeader .brand {
gap: 7px !important;
min-width: 0 !important;
}

.aed-lp #siteHeader .brand-logo {
height: 22px !important;
max-width: 118px !important;
}

.aed-lp #siteHeader .brand-division {
padding-left: 7px !important;
line-height: 1.05 !important;
}

.aed-lp #siteHeader .brand-division span {
font-size: 6px !important;
letter-spacing: 0.05em !important;
}

.aed-lp #siteHeader .brand-division strong {
font-size: 9px !important;
letter-spacing: 0.09em !important;
}

.aed-lp #siteHeader .header-nav a:not(.nav-cta) {
display: none !important;
}

.aed-lp #siteHeader .header-nav .nav-cta {
height: 34px !important;
min-height: 34px !important;
max-height: 34px !important;
padding: 0 13px !important;
font-size: 11px !important;
line-height: 1 !important;
white-space: nowrap !important;
}

.aed-lp .hero.section {
padding-top: 86px !important;
padding-bottom: 54px !important;
min-height: auto !important;
}

.aed-lp .hero-inner {
display: grid !important;
grid-template-columns: 1fr !important;
gap: 30px !important;
}

.aed-lp .eyebrow,
.aed-lp .section-label {
margin-bottom: 12px !important;
font-size: 11px !important;
line-height: 1.35 !important;
letter-spacing: 0.12em !important;
}

.aed-lp .hero h1 {
font-size: clamp(38px, 11vw, 46px) !important;
line-height: 1.14 !important;
letter-spacing: 0 !important;
}

.aed-lp .section h2 {
font-size: clamp(22px, 6.4vw, 28px) !important;
line-height: 1.42 !important;
letter-spacing: 0 !important;
}

.aed-lp .section h3 {
font-size: clamp(17px, 4.9vw, 21px) !important;
line-height: 1.5 !important;
letter-spacing: 0 !important;
}

.aed-lp .sp-heading-break,
.aed-lp .br-sp {
display: block !important;
}

.aed-lp .br-pc {
display: none !important;
}

.aed-lp .hero-lead {
margin-top: 20px !important;
font-size: 17px !important;
line-height: 1.72 !important;
letter-spacing: 0 !important;
}

.aed-lp .hero-text,
.aed-lp .lead,
.aed-lp .section-body p,
.aed-lp .section-heading p,
.aed-lp .saved-copy p {
font-size: 14px !important;
line-height: 1.9 !important;
letter-spacing: 0 !important;
}

.aed-lp .hero-actions {
display: grid !important;
grid-template-columns: 1fr !important;
gap: 12px !important;
margin-top: 28px !important;
}

.aed-lp .btn,
.aed-lp .entry-main-button {
width: 100% !important;
min-height: 52px !important;
padding: 12px 16px !important;
font-size: 13px !important;
line-height: 1.35 !important;
white-space: normal !important;
}

.aed-lp .visual-card {
width: 100% !important;
min-height: 350px !important;
border-radius: 24px !important;
}

.aed-lp .visual-card::before {
inset: 12px !important;
border-radius: 18px !important;
}

.aed-lp .aed-device {
width: 122px !important;
height: 122px !important;
border-radius: 26px !important;
}

.aed-lp .aed-device strong {
font-size: 32px !important;
}

.aed-lp .aed-device small {
margin-top: -26px !important;
font-size: 10px !important;
}

.aed-lp .person-node {
width: 74px !important;
height: 74px !important;
font-size: 10px !important;
}

.aed-lp .person-node span {
margin-top: 39px !important;
}

.aed-lp .node-sales { left: 14px !important; top: 142px !important; }
.aed-lp .node-company { left: 50% !important; top: 44px !important; transform: translateX(-50%) !important; }
.aed-lp .node-staff { right: 14px !important; top: 148px !important; }
.aed-lp .node-family { left: 50% !important; bottom: 44px !important; transform: translateX(-50%) !important; }

.aed-lp .hero-bottom {
display: block !important;
margin-top: 26px !important;
padding: 18px 16px !important;
border-radius: 22px !important;
text-align: center !important;
}

.aed-lp .hero-bottom p {
margin-bottom: 6px !important;
font-size: 18px !important;
line-height: 1.45 !important;
}

.aed-lp .hero-bottom span {
font-size: 13px !important;
line-height: 1.7 !important;
}

.aed-lp .two-column,
.aed-lp .saved-card,
.aed-lp .support-content,
.aed-lp .aed-target-grid,
.aed-lp .flow-grid,
.aed-lp .person-grid,
.aed-lp .voice-card,
.aed-lp .closing-pair,
.aed-lp .goal-list,
.aed-lp .entry-placeholder-grid {
grid-template-columns: 1fr !important;
}

.aed-lp .two-column,
.aed-lp .saved-card,
.aed-lp .support-content {
gap: 24px !important;
}

.aed-lp .saved-card,
.aed-lp .support-content,
.aed-lp .target-card,
.aed-lp .flow-card,
.aed-lp .voice-card,
.aed-lp .closing-card,
.aed-lp .entry-panel {
border-radius: 22px !important;
}

.aed-lp .saved-card,
.aed-lp .support-content,
.aed-lp .voice-content,
.aed-lp .voice-profile,
.aed-lp .closing-card,
.aed-lp .entry-panel {
padding: 24px 18px !important;
}

.aed-lp .support-image {
order: -1 !important;
}

.aed-lp .support-image img {
border-radius: 14px !important;
}

.aed-lp .support-text .support-lead {
font-size: 15px !important;
line-height: 1.9 !important;
}

.aed-lp .support-text p {
font-size: 14px !important;
line-height: 1.9 !important;
}

.aed-lp .mini-step {
min-height: 0 !important;
padding: 18px 18px 18px 72px !important;
border-radius: 18px !important;
}

.aed-lp .mini-step span {
left: 18px !important;
top: 19px !important;
width: 40px !important;
height: 40px !important;
font-size: 12px !important;
}

.aed-lp .mini-step p {
font-size: 16px !important;
line-height: 1.55 !important;
}

.aed-lp .target-card,
.aed-lp .flow-card,
.aed-lp .person-card {
padding: 22px 18px !important;
}

.aed-lp .person-card {
padding-left: 44px !important;
}

.aed-lp .person-card::before {
left: 20px !important;
top: 29px !important;
}

.aed-lp .flow-line {
display: none !important;
}

.aed-lp .voice-intro {
margin-bottom: 30px !important;
}

.aed-lp .voice-list {
gap: 22px !important;
}

.aed-lp .voice-profile {
display: flex !important;
flex-direction: column !important;
align-items: center !important;
text-align: center !important;
gap: 0 !important;
border-right: 0 !important;
border-bottom: 1px solid rgba(114, 81, 59, 0.1) !important;
}

.aed-lp .voice-number {
margin-bottom: 16px !important;
}

.aed-lp .voice-person-mark {
width: 70px !important;
height: 70px !important;
margin: 0 0 15px !important;
}

.aed-lp .voice-role {
margin-bottom: 5px !important;
font-size: 11px !important;
line-height: 1.5 !important;
}

.aed-lp .voice-profile h3 {
font-size: 20px !important;
line-height: 1.45 !important;
}

.aed-lp .voice-meta {
margin-top: 7px !important;
font-size: 11px !important;
line-height: 1.6 !important;
}

.aed-lp .voice-catch {
margin-bottom: 20px !important;
font-size: clamp(22px, 6.4vw, 27px) !important;
line-height: 1.48 !important;
letter-spacing: 0 !important;
}

.aed-lp .voice-body {
gap: 14px !important;
}

.aed-lp .voice-body p {
font-size: 14px !important;
line-height: 1.92 !important;
}

.aed-lp .voice-insight {
margin-top: 22px !important;
padding: 18px 16px !important;
border-radius: 0 16px 16px 0 !important;
}

.aed-lp .voice-insight span {
font-size: 10px !important;
line-height: 1.5 !important;
}

.aed-lp .voice-insight strong {
font-size: 17px !important;
line-height: 1.55 !important;
}

.aed-lp .voice-insight p {
font-size: 13px !important;
line-height: 1.82 !important;
}

.aed-lp .voice-shared-message {
margin-top: 24px !important;
padding: 26px 18px !important;
border-radius: 20px !important;
text-align: left !important;
}

.aed-lp .voice-shared-message h3 {
font-size: 21px !important;
line-height: 1.5 !important;
}

.aed-lp .closing-head {
margin-bottom: 28px !important;
}

.aed-lp .closing-list {
gap: 18px !important;
}

.aed-lp .closing-kicker {
display: flex !important;
align-items: center !important;
gap: 10px !important;
margin-bottom: 14px !important;
}

.aed-lp .step-badge {
width: 38px !important;
height: 38px !important;
font-size: 12px !important;
}

.aed-lp .message-title,
.aed-lp .goal-lead,
.aed-lp .director-title {
font-size: clamp(19px, 5.4vw, 24px) !important;
line-height: 1.55 !important;
}

.aed-lp .goal-list {
gap: 12px !important;
margin-top: 18px !important;
}

.aed-lp .goal-item {
padding: 16px !important;
}

.aed-lp .goal-card {
display: flex !important;
flex-direction: column !important;
justify-content: center !important;
align-items: stretch !important;
min-height: 330px !important;
}

.aed-lp .goal-card-inner {
position: relative !important;
z-index: 1 !important;
display: flex !important;
flex-direction: column !important;
justify-content: center !important;
width: 100% !important;
max-width: 100% !important;
margin: auto 0 !important;
}

.aed-lp .goal-card .closing-kicker,
.aed-lp .goal-card h3,
.aed-lp .goal-card .goal-lead {
width: 100% !important;
}

.aed-lp .goal-card .goal-list {
align-items: stretch !important;
}

.aed-lp .blank-box {
padding: 18px 16px !important;
font-size: 14px !important;
line-height: 1.8 !important;
}

.aed-lp .blank-box.large {
white-space: pre-line !important;
font-size: 13px !important;
line-height: 1.9 !important;
}

.aed-lp .entry-detail-item {
grid-template-columns: 1fr !important;
gap: 8px !important;
padding: 16px 0 !important;
}

.aed-lp .entry-detail-item dt,
.aed-lp .entry-detail-item dd {
font-size: 14px !important;
line-height: 1.75 !important;
}
}

@media (max-width: 420px) {
.aed-lp .section {
padding-left: 16px !important;
padding-right: 16px !important;
}

.aed-lp .hero h1 {
font-size: clamp(34px, 10.4vw, 40px) !important;
}

.aed-lp .section h2 {
font-size: clamp(21px, 6.2vw, 26px) !important;
}

.aed-lp .hero-lead {
font-size: 16px !important;
}

.aed-lp .voice-catch {
font-size: clamp(21px, 6.2vw, 25px) !important;
}

.aed-lp #siteHeader .brand-logo {
max-width: 108px !important;
}

.aed-lp #siteHeader .brand-division {
padding-left: 6px !important;
}
}

/* =========================================
2026-07-22 Closing Social Goal 最終調整
Message削除後のSocial Goalカードを枠内の上下中央に固定する。
========================================= */
.aed-lp .goal-card.closing-card {
display: flex !important;
align-items: stretch !important;
justify-content: center !important;
min-height: clamp(300px, 34vw, 430px) !important;
}

.aed-lp .goal-card .goal-card-inner {
position: relative !important;
z-index: 2 !important;
display: flex !important;
flex-direction: column !important;
justify-content: center !important;
width: 100% !important;
height: 100% !important;
margin: auto 0 !important;
}

.aed-lp .goal-card .closing-kicker {
flex: 0 0 auto !important;
}

.aed-lp .goal-card h3,
.aed-lp .goal-card .goal-lead,
.aed-lp .goal-card .goal-list {
flex: 0 0 auto !important;
}

@media (max-width: 820px) {
.aed-lp .goal-card.closing-card {
min-height: 360px !important;
}
}

/* =========================================
2026-07-23 Growth Life Style 見出し調整
「出会えてよかった」と / 思われる営業を。の2行に収める。
========================================= */
.aed-lp .relationship-heading {
font-size: clamp(30px, 3.5vw, 46px) !important;
line-height: 1.32 !important;
letter-spacing: 0 !important;
}

.aed-lp .relationship-heading-nowrap {
display: inline-block !important;
white-space: nowrap !important;
word-break: keep-all !important;
overflow-wrap: normal !important;
max-width: none !important;
}

@media (max-width: 820px) {
.aed-lp .relationship-heading {
font-size: clamp(24px, 6.1vw, 29px) !important;
line-height: 1.38 !important;
}
}

@media (max-width: 420px) {
.aed-lp .relationship-heading {
font-size: clamp(22px, 5.8vw, 25px) !important;
line-height: 1.42 !important;
}
}

/* =========================================
2026-07-23 指定テキスト色変更
サイズ・折り返し・表示形式は変えず、色だけ変更する。
========================================= */
.aed-lp .aed-text-accent {
color: var(--red) !important;
}

.aed-lp .aed-fv-accent {
color: var(--red) !important;
}

.aed-lp .aed-text-accent-on-dark {
color: #ffd8b4 !important;
}