/* リセット */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Noto Sans JP', 'Hiragino Maru Gothic ProN', sans-serif;
    background: #F0F0F0;
    overflow-x: hidden;
}

/* メインコンテナ: レスポンシブ対応 */
.lp-container {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    background: #FFFFFF;
}

/* 全セクション共通 */
.section {
    width: 100%;
    max-width: 800px;
    position: relative;
}

/* ============================================
   1. ヘッダー (800x115.11)
============================================ */
.section-header {
    height: 115.11px;
    background: #FFFFFF;
}

.logo {
    position: absolute;
    left: 24px;
    top: 35.56px;
    width: 119px;
    height: 44px;
    font-family: 'Hiragino Maru Gothic ProN', sans-serif;
    font-size: 29.63px;
    font-weight: 400;
    line-height: 1.5em;
    color: #000000;
}

.cta-btn-header {
    position: absolute;
    left: 404.41px;
    top: 22px;
    padding: 22px 30px;
    background: #35B049;
    border: none;
    border-radius: 118.52px;
    font-size: 20.74px;
    font-weight: 700;
    line-height: 1.2em;
    color: #FFFFFF;
    cursor: pointer;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ============================================
   2. ファーストビュー (800x1666)
============================================ */
.section-first {
    height: auto;
    min-height: 1666px;
}

.first-image-container {
    position: relative;
    width: 100%;
    height: auto;
}

.first-img {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
}

.first-clickable-area {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 85%;
    width: 600px;
    height: 120px;
    cursor: pointer;
    z-index: 10;
}

/* ============================================
   3. 漫画セクション
============================================ */
.section-manga {
    background: #F0F0F0;
    padding: 0 16.5%; /* 132px / 800px = 16.5% */
}

.manga-wrapper {
    width: 100%;
    height: auto;
    background: #F1F0E9;
}

.manga-wrapper img {
    width: 100%;
    height: auto;
    display: block;
}

/* ============================================
   4. 診断CTA (799x231)
============================================ */
.section-cta-1 {
    width: 100%;
    max-width: 800px;
    height: auto;
    min-height: 231px;
    padding-bottom: 40px;
    background: #F0F0F0;
}

.cta-image-container {
    position: relative;
    width: 100%;
    height: auto;
}

.cta-bg-image {
    width: 100%;
    height: auto;
    display: block;
}

.cta-clickable-area {
    position: absolute;
    left: 44px;
    top: 50px;
    width: 300px;
    height: 60px;
    cursor: pointer;
    z-index: 10;
}

/* 画像ベースのCTAボタン */
.cta-card-image {
    position: absolute;
    left: 44px;
    top: 50px;
    width: auto;
    height: auto;
    display: block;
    text-decoration: none;
    color: inherit;
    transition: all 0.3s ease;
}

.cta-full-image {
    width: auto;
    height: auto;
    max-width: 300px;
    border-radius: 118.52px;
    box-shadow: 0px 5.93px 5.93px rgba(0, 0, 0, 0.25);
    transition: all 0.3s ease;
}

.cta-card-image:hover .cta-full-image {
    transform: translateY(-2px);
    box-shadow: 0px 8px 15px rgba(0, 0, 0, 0.35);
}

/* 従来のCTAボタン */
.cta-card {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 20px;
    width: auto;
    height: auto;
    background: #00C843;
    border-radius: 237px;
    box-shadow: 0px 11.86px 11.86px rgba(0, 0, 0, 0.25);
    display: inline-flex;
    align-items: center;
    padding: 20px 60px;
    text-decoration: none;
    color: inherit;
}

.cta-line-icon {
    position: relative;
    width: 60px;
    height: 60px;
    flex-shrink: 0;
    margin-right: 20px;
}

.cta-text {
    position: relative;
    font-size: 41.48px;
    font-weight: 700;
    line-height: 1.2em;
    letter-spacing: 0.02em;
    text-align: left;
    color: #FFFFFF;
    white-space: nowrap;
}

.cta-frame {
    display: none;
}

/* ============================================
   5. 詐欺の現状 (800x1169)
============================================ */
.section-current {
    height: 1169px;
    background: #FFFFFF;
}

.bg-text {
    position: absolute;
    left: 20.74px;
    top: -41.48px;
    width: 758px;
    height: 192px;
    font-size: 160px;
    font-weight: 700;
    line-height: 1.2em;
    text-align: center;
    color: #F0F0F0;
}

.current-highlight {
    position: absolute;
    left: 54.81px;
    top: 82.96px;
    width: 687.41px;
    height: 71.11px;
}

.yellow-line {
    position: absolute;
    left: 0;
    top: 53.33px;
    width: 687.41px;
    height: 17.78px;
    background: #FDF050;
    z-index: 1;
}

.highlight-text {
    position: absolute;
    left: 16.3px;
    top: 0;
    width: 651px;
    height: 71px;
    font-size: 59.26px;
    font-weight: 700;
    line-height: 1.2em;
    text-align: center;
    color: #353535;
    z-index: 2;
}

.current-img {
    position: absolute;
    left: 59.26px;
    top: 99.26px;
    width: 676.82px;
    height: 724.44px;
    object-fit: cover;
}

.current-title {
    position: absolute;
    left: 139.26px;
    top: 762.96px;
    width: 475px;
    height: 57px;
    font-size: 47.41px;
    font-weight: 700;
    line-height: 1.2em;
    text-align: center;
    color: #353535;
}

.current-desc {
    position: absolute;
    left: 147px;
    top: 850.87px;
    width: 548px;
    font-size: 35.56px;
    font-weight: 500;
    line-height: 1.2em;
    text-align: left;
    color: #353535;
}

/* ============================================
   6. 統計セクション (800x2829)
============================================ */
.section-stats {
    height: 2829px;
    background: #FFFFFF;
}

.stats-title {
    position: absolute;
    left: 234.07px;
    top: 8.37px;
    width: 332px;
    height: 57px;
    font-size: 47.41px;
    font-weight: 700;
    line-height: 1.2em;
    text-align: center;
    color: #353535;
}

.side-line {
    position: absolute;
    top: 33.56px;
    width: 200px;
    height: 11.85px;
    background: #353535;
}

.side-line.left {
    left: 0;
}

.side-line.right {
    right: 0;
}

.stat-card {
    position: absolute;
    left: 45.93px;
    width: 708.15px;
    background: #FFFFFF;
    border: 4.44px solid #353535;
    border-radius: 11.85px;
    box-shadow: 0px 5.93px 5.93px rgba(0, 0, 0, 0.25);
}

.stat-01 {
    top: 123.93px;
    padding: 35.56px 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 17.78px;
}

.stat-02 {
    top: 1027.63px;
    padding: 36px 46px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
}

.stat-03 {
    top: 1931.33px;
    height: 844.44px;
}

.stat-num,
.stat-title-text {
    width: 100%;
    font-size: 47.41px;
    font-weight: 700;
    line-height: 1.2em;
    text-align: center;
    color: #353535;
}

.stat-img {
    width: 308.15px;
    height: 329.76px;
    object-fit: cover;
}

.stat-desc-box {
    width: 100%;
    height: 278.52px;
    background: #E8F6EB;
    border-radius: 11.85px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 28px 10px;
}

.stat-desc-box p {
    font-size: 23.7px;
    font-weight: 500;
    line-height: 1.875em;
    text-align: center;
    color: #353535;
}

.text-red {
    color: #FF0000;
    font-weight: 700;
}

.text-green {
    color: #09C755;
    font-weight: 700;
}

/* 統計02: 円グラフ */
.pie-wrapper {
    position: relative;
    width: 530.37px;
    height: 331.48px;
}

.pie-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pie-65 {
    position: absolute;
    left: 270px;
    top: 185px;
    font-size: 59.26px;
    font-weight: 700;
    color: #FFFFFF;
}

.pie-35 {
    position: absolute;
    left: 125px;
    top: 110px;
    font-size: 59.26px;
    font-weight: 700;
    color: #FFFFFF;
}

.pie-elderly {
    position: absolute;
    left: 285px;
    top: 145px;
    font-size: 35.56px;
    font-weight: 700;
    color: #FFFFFF;
}

.pie-young {
    position: absolute;
    left: 140px;
    top: 90px;
    font-size: 26.67px;
    font-weight: 700;
    color: #FFFFFF;
}

/* 統計03: 世帯アイコン */
.stat-03 .stat-num {
    position: absolute;
    left: 325.93px;
    top: 22.22px;
    width: 56px;
}

.stat-03 .stat-title-text {
    position: absolute;
    left: 41.48px;
    top: 96.3px;
    width: 625px;
}

.household-wrapper {
    position: absolute;
    left: 1.48px;
    top: 238.52px;
    width: 705.19px;
    height: 177.78px;
}

.household-wrapper img {
    position: absolute;
    width: 284.44px;
    height: 177.78px;
    object-fit: cover;
}

.household-wrapper img:nth-child(1) {
    left: 0;
}

.household-wrapper img:nth-child(2) {
    left: 211.85px;
}

.household-wrapper img:nth-child(3) {
    left: 420.74px;
}

.stat-03 .stat-desc-box {
    position: absolute;
    left: 45.93px;
    top: 520px;
    width: 616.3px;
}

/* ============================================
   7. 被害者の声 (800x2140)
============================================ */
.section-victims {
    height: 2140px;
    background: #F0F0F0;
}

.section-victims .bg-text {
    left: 50%;
    transform: translateX(-50%);
    color: #FFFFFF;
}

.yellow-line-victim {
    position: absolute;
    left: 57.78px;
    top: 122.96px;
    width: 687.41px;
    height: 17.78px;
    background: #FDF050;
}

.victim-main-title {
    position: absolute;
    left: 17.78px;
    top: 69.63px;
    width: 765px;
    font-size: 59.26px;
    font-weight: 700;
    line-height: 1.2em;
    text-align: center;
    color: #353535;
}

.victim-subtitle {
    position: absolute;
    left: 115.55px;
    top: 610.37px;
    width: 568px;
    font-size: 47.41px;
    font-weight: 700;
    line-height: 1.2em;
    text-align: center;
    color: #353535;
}

.victim-bg-img {
    position: absolute;
    left: 0;
    top: 180px;
    width: 225.19px;
    height: 361.48px;
    background: url('/static/images/victim-bg.png') center/cover;
    border-radius: 0 11.85px 11.85px 0;
}

.victim-intro {
    position: absolute;
    left: 251.85px;
    top: 200px;
    width: 481.48px;
    font-size: 29.63px;
    font-weight: 700;
    line-height: 1.6em;
    color: #353535;
}

.avatar {
    position: absolute;
    width: 173.33px;
    height: 173.33px;
    object-fit: cover;
}

.avatar-1 {
    left: 45.93px;
    top: 737.78px;
}

.avatar-2 {
    left: 588.15px;
    top: 1207.41px;
}

.avatar-3 {
    left: 42.96px;
    top: 1677.04px;
}

.profile {
    position: absolute;
    width: 171px;
    font-size: 23.7px;
    font-weight: 700;
    line-height: 1.2em;
    text-align: center;
    color: #353535;
}

.profile-1 {
    left: 47.41px;
    top: 922.96px;
}

.profile-2 {
    left: 589.63px;
    top: 1392.59px;
}

.profile-3 {
    left: 44.45px;
    top: 1862.22px;
}

.triangle {
    position: absolute;
    width: 111.11px;
    height: 60.74px;
    background: #FFFFFF;
    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
    box-shadow: 0px 5.93px 5.93px rgba(0, 0, 0, 0.25);
}

.tri-1 {
    left: 232.59px;
    top: 795.56px;
}

.tri-2 {
    left: 463.7px;
    top: 1265.19px;
}

.tri-3 {
    left: 229.63px;
    top: 1734.82px;
}

.voice-card {
    position: absolute;
    width: 484.44px;
    background: #FFFFFF;
    border-radius: 44.44px;
    box-shadow: 0px 5.93px 5.93px rgba(0, 0, 0, 0.25);
}

.card-1 {
    left: 45.93px;
    top: 1207.41px;
    height: 407.41px;
    padding: 48.89px 26.67px;
}

.card-2 {
    left: 277.04px;
    top: 737.78px;
    height: 407.41px;
    padding: 57.78px 26.67px;
}

.card-3 {
    left: 274.07px;
    top: 1677.04px;
    padding: 48px 27px;
}

.voice-card p {
    font-size: 23.7px;
    font-weight: 700;
    line-height: 1.875em;
    color: #353535;
}

/* ============================================
   8. 電話→LINE (800x1882.96)
============================================ */
.section-phone {
    height: 1882.96px;
    background: #F0F0F0;
}

.phone-title {
    position: absolute;
    left: 237.04px;
    top: 44.45px;
    font-size: 47.41px;
    font-weight: 700;
    line-height: 1.2em;
    color: #353535;
}

.phone-avatar {
    position: absolute;
    left: 42.96px;
    top: 139.26px;
    width: 173.33px;
    height: 173.33px;
    object-fit: cover;
}

.phone-tri {
    position: absolute;
    left: 237.04px;
    top: 197.04px;
    width: 111.11px;
    height: 60.74px;
    background: #FFFFFF;
    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
    box-shadow: 0px 5.93px 5.93px rgba(0, 0, 0, 0.25);
}

.phone-bubble {
    position: absolute;
    left: 271.11px;
    top: 139.26px;
    background: #FFFFFF;
    border-radius: 44.44px;
    padding: 41px 44px;
    box-shadow: 0px 5.93px 5.93px rgba(0, 0, 0, 0.25);
}

.phone-bubble p {
    font-size: 35.56px;
    font-weight: 700;
    line-height: 1.25em;
    color: #353535;
}

.phone-deco-tri {
    position: absolute;
    left: 376.3px;
    top: 413.33px;
    width: 45.93px;
    height: 45.93px;
    background: #353535;
    clip-path: polygon(50% 100%, 0% 0%, 100% 0%);
}

.phone-deco-rect {
    position: absolute;
    left: 395.55px;
    top: 361.48px;
    width: 8.89px;
    height: 69.63px;
    background: #353535;
}

.phone-yellow-1 {
    position: absolute;
    left: 51.85px;
    top: 657.78px;
    width: 491.85px;
    height: 11.85px;
    background: #FDF050;
}

.phone-yellow-2 {
    position: absolute;
    left: 51.85px;
    top: 697.78px;
    width: 491.85px;
    height: 11.85px;
    background: #FDF050;
}

.phone-yellow-3 {
    position: absolute;
    left: 51.85px;
    top: 734.82px;
    width: 170.37px;
    height: 11.85px;
    background: #FDF050;
}

.phone-explanation-wrapper {
    position: absolute;
    left: 51.85px;
    top: 485px;
    width: calc(100% - 103.7px);
    display: flex;
    gap: 28px;
    align-items: flex-start;
}

.phone-explanation-text {
    width: 494.81px;
    flex-shrink: 0;
}

.phone-explanation-text p {
    font-size: 29.63px;
    font-weight: 700;
    line-height: 1.3em;
    color: #353535;
    margin: 0;
}

.phone-explanation-img {
    width: 201.49px;
    height: auto;
    flex-shrink: 0;
    margin-left: auto;
}

.phone-highlight-wrapper {
    position: relative;
    display: inline;
    white-space: normal;
}

.phone-highlight-bg {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    height: 12px;
    background: #FDF050;
    z-index: 1;
}

.phone-highlight-text {
    position: relative;
    z-index: 2;
}

.phone-comparison {
    position: absolute;
    left: 51.85px;
    top: 920px;
    width: 697.78px;
    height: 906.67px;
    background: #FFFFFF;
    border-radius: 11.85px;
}

.phone-comp-title {
    position: absolute;
    left: 42.96px;
    top: 71.11px;
    width: 610px;
    font-size: 35.56px;
    font-weight: 700;
    line-height: 1.2em;
    text-align: center;
    color: #353535;
}

.comp-table-wrapper {
    position: absolute;
    left: 28.15px;
    top: 167.41px;
    width: 640px;
    height: 696.3px;
}

.comp-table {
    width: 100%;
    height: 100%;
    position: relative;
}

/* ヘッダー行 */
.comp-header {
    position: absolute;
    left: 125.93px;
    top: 0;
    width: 509.63px;
    height: 106.67px;
    display: flex;
}

.comp-h {
    width: 251.85px;
    height: 106.67px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 35.56px;
    font-weight: 700;
    text-align: center;
    color: #FFFFFF;
}

.comp-h-line {
    background: #09C755;
    border-radius: 23.7px 0 0 0;
    margin-top: -2.96px;
}

.comp-h-phone {
    background: #656565;
    border-radius: 0 23.7px 0 0;
    margin-top: -2.96px;
}

/* データ行 */
.comp-row {
    position: absolute;
    left: 0;
    width: 100%;
    height: 142.22px;
    display: flex;
}

.comp-row:nth-child(2) {
    top: 109.63px;
}

.comp-row:nth-child(3) {
    top: 257.78px;
}

.comp-row:nth-child(4) {
    top: 405.93px;
}

.comp-row:nth-child(5) {
    top: 554.08px;
}

/* ラベル列 */
.comp-label {
    width: 120px;
    background: rgba(235, 235, 235, 0.8);
    font-size: 23.7px;
    font-weight: 700;
    line-height: 1.2em;
    text-align: center;
    color: #353535;
    display: flex;
    align-items: center;
    justify-content: center;
}

.comp-row:nth-child(2) .comp-label {
    background: #EBEBEB;
    border-radius: 23.7px 0 0 0;
}

.comp-row:nth-child(5) .comp-label {
    border-radius: 0 0 0 23.7px;
}

/* データ列 */
.comp-data {
    width: 251.85px;
    height: 142.22px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 23.7px;
    font-weight: 700;
    line-height: 1.5em;
    text-align: center;
    color: #353535;
}

.comp-data-line {
    background: rgba(9, 199, 85, 0.3);
}

.comp-data-phone {
    background: #EBEBEB;
}

.comp-row:nth-child(5) .comp-data-phone {
    border-radius: 0 0 23.7px 0;
}

.comp-data .emphasis {
    font-size: 35.56px;
    font-weight: 700;
    line-height: 1em;
    margin: 0 0 10px 0;
}

.comp-data .sub {
    font-size: 23.7px;
    font-weight: 700;
    line-height: 1.25em;
    margin: 0;
}

.phone-bg {
    position: absolute;
    left: 574.81px;
    top: 512.59px;
    background: url('/static/images/phone-line-bg.png') center/cover;
    border-radius: 11.85px 0 0 11.85px;
}

/* ============================================
   9. レビュー (column, gap: 53px)
============================================ */
.section-review {
    background: #F0F0F0;
    padding: 44px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 53px;
}

.review-main-title {
    width: 100%;
    font-size: 41.48px;
    font-weight: 700;
    line-height: 1.2em;
    text-align: center;
    color: #353535;
    margin-bottom: 53px;
}

.review-yellow {
    width: 800px;
    height: auto;
    background: #FAEEA4;
    position: relative;
    padding-bottom: 3150px;
}

.review-polygon-bg {
    display: none;
}

.review-badge {
    position: absolute;
    left: 287.41px;
    top: 0;
    width: 225.19px;
    height: 225.19px;
    background: #000000;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0px 5.93px 5.93px 0px rgba(0, 0, 0, 0.25);
    z-index: 1;
}

.review-badge p {
    font-size: 41.48px;
    font-weight: 700;
    line-height: 1.43em;
    letter-spacing: 0.06em;
    color: #FFFFFF;
    text-align: center;
}

.review-tagline {
    position: absolute;
    left: 47.41px;
    top: 260.74px;
    width: 706.67px;
    font-size: 35.56px;
    font-weight: 700;
    line-height: 1.67em;
    text-align: center;
    color: #353535;
    z-index: 2;
}

.review-tagline .red-text {
    color: #FF0000;
}

.review-product {
    position: absolute;
    left: 202.96px;
    top: 426.67px;
    width: 395.56px;
    font-size: 59.26px;
    font-weight: 700;
    line-height: 0.75em;
    text-align: center;
    color: #353535;
    z-index: 2;
}

.review-question {
    position: absolute;
    left: 202.96px;
    top: 520px;
    width: 395.56px;
    font-size: 35.56px;
    font-weight: 700;
    line-height: 1.25em;
    text-align: center;
    color: #353535;
    z-index: 2;
}

.review-group {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 600px;
    width: 100%;
    max-width: 780px;
    height: auto;
    padding: 0 10px;
}

.review-voices {
    position: relative;
    width: 100%;
    font-size: 47.41px;
    font-weight: 700;
    line-height: 1.2em;
    text-align: center;
    color: #353535;
    margin: 0 0 40px 0;
}

.review-item {
    position: relative;
    display: flex;
    align-items: flex-start;
    margin-bottom: 60px;
    gap: 15px;
}

.review-item-2 {
    flex-direction: row-reverse;
}

.r-avatar {
    position: relative;
    width: 140px;
    height: 140px;
    object-fit: cover;
    flex-shrink: 0;
}

.r-profile {
    position: relative;
    width: 150px;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.3em;
    text-align: center;
    color: #353535;
    flex-shrink: 0;
}

.r-triangle {
    display: none;
}

.r-card {
    position: relative;
    width: 100%;
    max-width: 550px;
    background: #FFFFFF;
    border-radius: 44.44px;
    box-shadow: 0px 5.93px 5.93px rgba(0, 0, 0, 0.25);
    padding: 35px 30px;
    flex: 1;
}

.r-card p {
    font-size: 23.7px;
    font-weight: 700;
    line-height: 1.65em;
    color: #353535;
    width: 100%;
}

.review-intro {
    position: relative;
    width: 100%;
    max-width: 657.78px;
    font-size: 35.56px;
    font-weight: 700;
    line-height: 1.25em;
    text-align: center;
    color: #353535;
    margin: 80px auto 40px auto;
}

.review-cta {
    position: relative;
    width: 100%;
    max-width: 711.11px;
    height: auto;
    background: #00C843;
    border-radius: 11.85px;
    box-shadow: 0px 5.93px 5.93px rgba(0, 0, 0, 0.25);
    text-decoration: none;
    color: inherit;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    padding: 40px 30px;
}

.r-cta-icon {
    position: relative;
    width: 106.77px;
    height: 106.67px;
    flex-shrink: 0;
}

.r-cta-text {
    position: relative;
    font-size: 41.48px;
    font-weight: 700;
    line-height: 1.43em;
    letter-spacing: 0.1em;
    text-align: center;
    color: #FFFFFF;
    margin: 0;
}

.r-cta-frame {
    position: absolute;
    right: 34.16px;
    top: 50%;
    width: 50.28px;
    height: 50.28px;
    border-right: 5.93px solid #FFFFFF;
    border-bottom: 5.93px solid #FFFFFF;
    transform: translateY(-50%) rotate(-45deg);
}

.review-bg {
    position: relative;
    width: 800px;
    height: auto;
    object-fit: cover;
    display: block;
    margin: 0 auto 20px auto;
}

/* ============================================
   10. 比較セクション (800x1635.56)
============================================ */
.section-compare {
    height: 1685px;
    background: #F0F0F0;
}

.compare-bg {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 68.15px;
    width: 699.26px;
    height: 1560px;
    background: #FFFFFF;
    border-radius: 23.7px;
}

.compare-yellow-line {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 173.33px;
    width: 531.85px;
    height: 17.78px;
    background: #FDF050;
}

.compare-title {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 120px;
    width: 531px;
    font-size: 53.33px;
    font-weight: 700;
    line-height: 1.39em;
    text-align: center;
    color: #353535;
}

.compare-subtitle {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 1377.78px;
    width: 699.26px;
    font-size: 47.41px;
    font-weight: 700;
    line-height: 1.56em;
    text-align: center;
    color: #353535;
}

.compare-subtitle .green-text {
    color: #09C755;
    font-weight: 700;
}

.compare-table {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 256.3px;
    width: 706.67px;
    height: 1080px;
}

/* ヘッダー */
.cmp-h {
    position: absolute;
    font-size: 35.56px;
    font-weight: 700;
    text-align: center;
    color: #FFFFFF;
}

.cmp-h-aigokun {
    left: 121.48px;
    top: 13.33px;
    width: 201.48px;
    height: 124.44px;
    background: #09C755;
    border-radius: 23.7px 23.7px 0 0;
    line-height: 124.44px;
}

.cmp-h-a {
    left: 328.89px;
    top: 41.48px;
    width: 171.85px;
    height: 94.81px;
    background: #656565;
    border-radius: 23.7px 23.7px 0 0;
    line-height: 94.81px;
}

.cmp-h-b {
    left: 506.67px;
    top: 41.48px;
    width: 171.85px;
    height: 94.81px;
    background: #656565;
    border-radius: 23.7px 23.7px 0 0;
    line-height: 94.81px;
}

/* ラベル */
.cmp-label {
    position: absolute;
    left: 26.67px;
    width: 88.89px;
    background: #EBEBEB;
    font-size: 17.78px;
    font-weight: 700;
    line-height: 1.2em;
    text-align: center;
    color: #4F5858;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cmp-l-1 {
    top: 143.71px;
    height: 160px;
    border-radius: 23.7px 0 0 0;
}

.cmp-l-2 {
    top: 309.64px;
    height: 142.22px;
}

.cmp-l-3 {
    top: 457.78px;
    height: 142.22px;
}

.cmp-l-4 {
    top: 605.93px;
    height: 160px;
}

.cmp-l-5 {
    top: 771.86px;
    height: 142.22px;
}

.cmp-l-6 {
    top: 920.01px;
    height: 160px;
    border-radius: 0 0 0 23.7px;
}

/* データ */
.cmp-data {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 20.74px;
    font-weight: 700;
    line-height: 1.2em;
    text-align: center;
    color: #4F5858;
}

.cmp-aigokun {
    left: 121.48px;
    width: 201.48px;
    background: #B5EECC;
}

.cmp-a {
    left: 328.89px;
    width: 171.85px;
    background: #F0F0F0;
}

.cmp-b {
    left: 506.67px;
    width: 171.85px;
    background: #F0F0F0;
}

.cmp-d-1 {
    top: 143.71px;
    height: 160px;
}

.cmp-d-1a,
.cmp-d-1b {
    top: 143.71px;
    height: 160px;
}

.cmp-d-2 {
    top: 309.64px;
    height: 142.22px;
}

.cmp-d-2a,
.cmp-d-2b {
    top: 309.64px;
    height: 142.22px;
}

.cmp-d-3 {
    top: 457.78px;
    height: 142.22px;
}

.cmp-d-3a,
.cmp-d-3b {
    top: 457.78px;
    height: 142.22px;
}

.cmp-d-4 {
    top: 605.93px;
    height: 160px;
}

.cmp-d-4a,
.cmp-d-4b {
    top: 605.93px;
    height: 160px;
}

.cmp-d-5 {
    top: 771.86px;
    height: 142.22px;
}

.cmp-d-5a,
.cmp-d-5b {
    top: 771.86px;
    height: 142.22px;
}

.cmp-d-6 {
    top: 920.01px;
    height: 160px;
}

.cmp-d-6a {
    top: 920.01px;
    height: 160px;
}

.cmp-d-6b {
    top: 920.01px;
    height: 160px;
    border-radius: 0 0 23.7px 0;
}

.cmp-data img {
    width: 106.67px;
    height: 106.67px;
    object-fit: contain;
}

.cmp-data p {
    font-size: 20.74px;
    margin: 0;
}

.price {
    font-size: 47.41px;
    line-height: 0.75em;
}

.price-note {
    font-size: 20.74px;
    margin-top: 5px;
}

/* ============================================
   11. FAQ (800x180)
============================================ */
.section-faq-header {
    height: 180px;
    background: #FFFFFF;
}

.faq-title {
    position: absolute;
    left: 272.59px;
    top: 105.19px;
    width: 285px;
    font-size: 47.41px;
    font-weight: 700;
    line-height: 1.56em;
    text-align: center;
    color: #353535;
}

/* ============================================
   12. FAQリスト
============================================ */
.section-faq-list {
    background: #FFFFFF;
    padding: 0 20px;
}

.faq-item {
    width: 758.52px;
    height: auto;
    border-bottom: 4.44px solid rgba(80, 66, 44, 0.3);
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.faq-item:hover {
    background-color: rgba(28, 172, 57, 0.03);
}

.faq-question {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 20px 10px;
    height: 143.7px;
}

.faq-q {
    width: 55px;
    font-size: 71.11px;
    font-weight: 700;
    line-height: 1.04em;
    text-align: center;
    color: #1CAC39;
}

.faq-text {
    flex: 1;
    font-size: 35.56px;
    font-weight: 700;
    line-height: 1.2em;
    color: #353535;
}

.faq-item:nth-child(3) .faq-text,
.faq-item:nth-child(4) .faq-text,
.faq-item:nth-child(5) .faq-text {
    line-height: 1.3em;
}

.faq-toggle {
    width: 22.22px;
    font-size: 71.11px;
    font-weight: 400;
    line-height: 0.625em;
    text-align: center;
    color: #1CAC39;
    transition: transform 0.3s ease;
}

.faq-answer {
    display: none;
    padding: 0 10px 30px 10px;
    background: #FFFFFF;
}

.faq-answer-content {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.faq-answer-header {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.faq-a {
    width: 55px;
    font-size: 71.11px;
    font-weight: 700;
    line-height: 1.04em;
    text-align: center;
    color: #E74C3C;
    flex-shrink: 0;
}

.faq-answer-text {
    flex: 1;
    font-size: 35.56px;
    font-weight: 700;
    line-height: 1.2em;
    color: #353535;
    margin: 0;
}

.faq-answer-detail {
    font-size: 28px;
    font-weight: 400;
    line-height: 1.6em;
    color: #353535;
    margin: 15px 0 0 0;
    width: 100%;
}

.faq-item.active .faq-toggle {
    transform: rotate(0deg);
}

/* ============================================
   13. 最終CTA (800x1005.93)
============================================ */
.section-final {
    height: 1200px;
    background: #C4C4C4;
}

.final-bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 800px;
    height: 1200px;
    object-fit: cover;
}

.final-box {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 80px;
    width: 699.26px;
    height: 1300px;
    background: rgba(255, 255, 255, 0.7);
    border-radius: 41.48px;
}

.final-title {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 38.52px;
    width: 377px;
    font-size: 47.41px;
    font-weight: 700;
    line-height: 1.25em;
    text-align: center;
    color: #353535;
}

.final-text {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 183.7px;
    width: 613.33px;
    font-size: 23.7px;
    font-weight: 700;
    line-height: 1.5em;
    text-align: left;
    color: #353535;
}

.final-cta {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 800px;
    width: 500px;
    height: 110px;
    background: #00C843;
    border: none;
    border-radius: 90px;
    box-shadow: 0px 5.93px 5.93px rgba(0, 0, 0, 0.25);
    cursor: pointer;
    text-decoration: none;
    color: inherit;
    display: flex;
    align-items: center;
    justify-content: center;
}

.final-cta p {
    position: relative;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.2em;
    text-align: center;
    color: #FFFFFF;
    margin: 0;
}

.final-cta-frame {
    position: absolute;
    right: 36.52px;
    top: 53.33px;
    width: 37.71px;
    height: 37.71px;
    border-right: 5.93px solid #FFFFFF;
    border-bottom: 5.93px solid #FFFFFF;
    transform: rotate(-45deg);
}

.final-disclaimer {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 980px;
    width: 613.33px;
    font-size: 16px;
    line-height: 1.6em;
    text-align: center;
    color: #888888;
    margin: 0;
}

/* ============================================
   14. フッター (800x139.26)
============================================ */
.section-footer {
    height: 139.26px;
    background: #353535;
    display: flex;
    align-items: center;
    justify-content: center;
}

.section-footer p {
    font-size: 17.78px;
    font-weight: 400;
    line-height: 1.2em;
    text-align: center;
    color: #FFFFFF;
}

/* ============================================
   レスポンシブ対応（スマホ）
============================================ */
@media (max-width: 800px) {
    /* 基本設定 */
    * {
        box-sizing: border-box !important;
    }
    
    body {
        font-size: 14px;
        overflow-x: hidden !important;
        max-width: 100vw !important;
    }
    
    .lp-container {
        overflow-x: hidden !important;
        max-width: 100% !important;
        width: 100% !important;
    }
    
    .section {
        max-width: 100% !important;
        width: 100% !important;
        overflow-x: hidden !important;
    }
    
    /* ヘッダー */
    .section-header {
        height: auto;
        min-height: 80px;
        padding: 15px;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    
    .logo {
        position: static;
        font-size: 24px;
        width: auto;
        height: auto;
        margin-bottom: 10px;
    }
    
    .cta-btn-header {
        position: static;
        display: block;
        margin: 0 auto;
        font-size: 16px;
        padding: 15px 25px;
    }
    
    /* ファーストビュー */
    .section-first {
        min-height: auto;
    }
    
    .first-clickable-area {
        left: 50%;
        top: 90%;
        transform: translate(-50%, 0);
        width: 80%;
        height: 50px;
    }
    
    /* 漫画セクション */
    .section-manga {
        padding: 0 5%;
    }
    
    /* CTAセクション */
    .section-cta-1 {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 30px 20px 40px 20px;
        min-height: 100px;
    }
    
    .cta-image-container {
        width: 100%;
        max-width: 350px;
    }
    
    .cta-clickable-area {
        left: 50%;
        top: 20%;
        transform: translate(-50%, 0);
        width: 80%;
        height: 50px;
    }
    
    /* CTAカード - 画像ベース */
    .cta-card-image {
        position: static !important;
        width: auto !important;
        height: auto !important;
        left: 0 !important;
        top: 0 !important;
        margin: 0 auto;
        display: block !important;
    }
    
    .cta-full-image {
        width: 100%;
        max-width: 300px;
        height: auto;
        border-radius: 118.52px;
    }
    
    /* CTAカード - 従来 */
    .cta-card {
        position: static !important;
        width: auto !important;
        height: auto !important;
        padding: 15px 35px;
        left: 0 !important;
        top: 0 !important;
        margin: 0 auto;
        display: inline-flex !important;
        border-radius: 118.52px;
        transform: none !important;
    }
    
    .cta-line-icon {
        width: 40px;
        height: 40px;
        margin-right: 12px;
    }
    
    .cta-text {
        font-size: 18px;
        white-space: nowrap;
    }
    
    .cta-frame {
        display: none;
    }
    
    /* 詐欺の現状セクション */
    .section-current {
        height: auto;
        padding: 40px 20px;
    }
    
    .section-current .bg-text {
        display: none !important;
    }
    
    .current-highlight {
        position: static !important;
        width: 100% !important;
        height: auto !important;
        margin-bottom: 20px;
        left: 0 !important;
        top: 0 !important;
        position: relative !important;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .yellow-line {
        position: absolute !important;
        width: 95%;
        height: 10px;
        left: 50% !important;
        top: 50% !important;
        transform: translateX(-50%);
        z-index: 1;
    }
    
    .highlight-text {
        position: relative !important;
        font-size: 28px;
        text-align: center;
        width: 100% !important;
        height: auto !important;
        padding: 0 20px;
        z-index: 2;
        white-space: nowrap;
    }
    
    .current-img {
        position: static !important;
        max-width: 100%;
        width: 100% !important;
        height: auto !important;
        margin-bottom: 20px;
        left: 0 !important;
        top: 0 !important;
    }
    
    .current-title {
        position: static !important;
        font-size: 24px;
        text-align: center;
        width: 100% !important;
        height: auto !important;
        margin-bottom: 20px;
        left: 0 !important;
        top: 0 !important;
    }
    
    .current-desc {
        position: static !important;
        font-size: 16px;
        text-align: left;
        width: 100% !important;
        left: 0 !important;
        top: 0 !important;
    }
    
    /* 統計セクション */
    .section-stats {
        height: auto;
        padding: 40px 20px;
        overflow-x: hidden;
    }
    
    .stats-title {
        position: static !important;
        font-size: 28px;
        text-align: center;
        margin: 0 auto 30px;
        width: auto !important;
        max-width: 90%;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 15px;
        left: 0 !important;
        top: 0 !important;
        white-space: nowrap;
    }
    
    .stats-title::before,
    .stats-title::after {
        content: '';
        width: 80px;
        height: 6px;
        background: #353535;
        flex-shrink: 0;
    }
    
    .side-line {
        display: none !important;
    }
    
    .stat-card {
        position: static;
        width: 100%;
        max-width: 100%;
        height: auto;
        margin-bottom: 40px;
        padding: 30px 15px;
        left: 0 !important;
        top: 0 !important;
        box-sizing: border-box;
    }
    
    .stat-01,
    .stat-02,
    .stat-03 {
        position: static;
        width: 100%;
        max-width: 100%;
        height: auto;
        padding: 30px 15px;
        gap: 10px;
        box-sizing: border-box;
    }
    
    .stat-num,
    .stat-title-text {
        position: static !important;
        width: 100% !important;
        margin-bottom: 5px;
        font-size: 22px;
        font-weight: 700;
        text-align: center;
        left: 0 !important;
        top: 0 !important;
        white-space: normal;
        word-break: keep-all;
        overflow-wrap: break-word;
    }
    
    .stat-title-text br {
        display: none;
    }
    
    .stat-img {
        position: static !important;
        max-width: 90%;
        width: auto !important;
        height: auto;
        display: block;
        margin: 0 auto;
        left: 0 !important;
        top: 0 !important;
    }
    
    .stat-desc-box {
        position: static !important;
        width: 100% !important;
        max-width: 100%;
        height: auto !important;
        padding: 20px 15px;
        margin: 0;
        left: 0 !important;
        top: 0 !important;
    }
    
    .stat-desc-box p {
        font-size: 14px;
        line-height: 1.7em;
        text-align: left;
        word-break: break-word;
        overflow-wrap: break-word;
        white-space: normal;
        width: 100%;
        max-width: 100%;
    }
    
    .stat-desc-box p br {
        display: none;
    }
    
    .pie-wrapper {
        position: relative !important;
        width: 100% !important;
        max-width: 90%;
        height: auto !important;
        aspect-ratio: 530.37 / 331.48;
        margin: 0 auto 20px;
        left: 0 !important;
        top: 0 !important;
    }
    
    .pie-img {
        position: absolute !important;
        width: 100%;
        height: 100%;
        object-fit: contain;
        left: 0;
        top: 0;
    }
    
    .pie-elderly {
        position: absolute !important;
        left: 65%;
        top: 50%;
        font-size: 18px;
        font-weight: 900;
        color: #FFFFFF;
        transform: translate(-50%, -50%);
        line-height: 1.2em;
    }
    
    .pie-65 {
        position: absolute !important;
        left: 65%;
        top: 62%;
        font-size: 26px;
        font-weight: 900;
        color: #FFFFFF;
        transform: translate(-50%, -50%);
        line-height: 1.2em;
    }
    
    .pie-young {
        position: absolute !important;
        left: 35%;
        top: 38%;
        font-size: 12px;
        font-weight: 900;
        color: #FFFFFF;
        transform: translate(-50%, -50%);
        line-height: 1.2em;
    }
    
    .pie-35 {
        position: absolute !important;
        left: 35%;
        top: 50%;
        font-size: 26px;
        font-weight: 900;
        color: #FFFFFF;
        transform: translate(-50%, -50%);
        line-height: 1.2em;
    }
    
    .household-wrapper {
        position: static !important;
        width: 100% !important;
        max-width: 100%;
        height: auto !important;
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 20px;
        left: 0 !important;
        top: 0 !important;
        padding: 0 10px;
        box-sizing: border-box;
    }
    
    .household-wrapper img {
        position: static !important;
        width: 30% !important;
        max-width: 30%;
        height: auto;
        margin: 0;
        left: 0 !important;
    }
    
    /* 被害者の声セクション */
    .section-victims {
        height: auto;
        padding: 40px 20px;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    
    .section-victims .bg-text {
        display: none !important;
    }
    
    .victim-title-wrapper {
        position: relative;
        width: 100%;
        height: 50px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 30px;
    }
    
    .yellow-line-victim {
        position: absolute !important;
        width: 90%;
        height: 12px;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        z-index: 1;
    }
    
    .victim-main-title {
        position: absolute !important;
        font-size: 28px;
        text-align: center;
        width: 100% !important;
        top: 45%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 2;
        white-space: nowrap;
    }
    
    .victim-intro-wrapper {
        display: flex;
        align-items: center;
        gap: 20px;
        margin-bottom: 30px;
        padding: 0 20px 0 240px;
    }
    
    .victim-bg-img {
        position: static !important;
        width: 130px !important;
        height: 200px !important;
        flex-shrink: 0;
        border-radius: 0 12px 12px 0;
        background-size: cover;
        background-position: center;
        left: 0 !important;
        top: 0 !important;
    }
    
    .victim-intro {
        position: static !important;
        font-size: 13px;
        flex: 1;
        text-align: left;
        line-height: 1.6em;
        left: 0 !important;
        top: 0 !important;
        overflow-wrap: break-word;
        word-break: normal;
    }
    
    .victim-subtitle {
        position: static !important;
        font-size: 24px;
        text-align: center;
        margin: 30px 0 30px;
        width: 100% !important;
        left: 0 !important;
        top: 0 !important;
    }
    
    .avatar {
        position: static !important;
        display: block;
        margin: 30px auto 15px;
        width: 100px !important;
        height: 100px !important;
        left: 0 !important;
        top: 0 !important;
    }
    
    .avatar-1,
    .avatar-2,
    .avatar-3 {
        position: static !important;
        left: 0 !important;
        top: 0 !important;
    }
    
    .profile {
        position: static !important;
        text-align: center;
        font-size: 14px;
        margin-bottom: 10px;
        width: 100% !important;
        left: 0 !important;
        top: 0 !important;
    }
    
    .profile-1,
    .profile-2,
    .profile-3 {
        position: static !important;
        left: 0 !important;
        top: 0 !important;
    }
    
    .triangle,
    .tri-1,
    .tri-2,
    .tri-3 {
        display: none !important;
    }
    
    .voice-card {
        position: static !important;
        width: 100% !important;
        height: auto !important;
        padding: 25px 20px;
        margin-bottom: 40px;
        left: 0 !important;
        top: 0 !important;
    }
    
    .card-1,
    .card-2,
    .card-3 {
        position: static !important;
        left: 0 !important;
        top: 0 !important;
        height: auto !important;
    }
    
    .voice-card p {
        font-size: 16px;
    }
    
    /* 電話→LINEセクション */
    .section-phone {
        height: auto;
        padding: 40px 20px;
        overflow-x: hidden;
    }
    
    .phone-title {
        position: static !important;
        font-size: 28px;
        text-align: center;
        margin-bottom: 20px;
        width: 100% !important;
        left: 0 !important;
        top: 0 !important;
    }
    
    .phone-avatar {
        position: static !important;
        display: block;
        margin: 0 auto 15px;
        width: 100px !important;
        height: 100px !important;
        left: 0 !important;
        top: 0 !important;
    }
    
    .phone-tri {
        display: none !important;
    }
    
    .phone-bubble {
        position: static !important;
        width: 100% !important;
        height: auto;
        padding: 25px 20px;
        margin-bottom: 30px;
        left: 0 !important;
        top: 0 !important;
    }
    
    .phone-bubble p {
        font-size: 18px;
    }
    
    .phone-deco-rect {
        position: static !important;
        width: 6px !important;
        height: 40px !important;
        margin: 10px auto 0;
        left: 0 !important;
        top: 0 !important;
    }
    
    .phone-deco-tri {
        position: static !important;
        width: 30px !important;
        height: 30px !important;
        margin: 0 auto;
        left: 0 !important;
        top: 0 !important;
    }
    
    .phone-yellow-1,
    .phone-yellow-2,
    .phone-yellow-3 {
        display: none !important;
    }
    
    .phone-explanation-wrapper {
        position: static !important;
        width: 100% !important;
        display: flex;
        flex-direction: row;
        gap: 10px;
        margin-bottom: 30px;
        left: 0 !important;
        top: 0 !important;
        align-items: flex-start;
        padding: 0 10px;
        box-sizing: border-box;
    }
    
    .phone-explanation-text {
        flex: 1;
        max-width: 100%;
        box-sizing: border-box;
        min-width: 0;
    }
    
    .phone-explanation-text p {
        font-size: 12px;
        text-align: left;
        line-height: 1.6em;
        word-break: break-word;
        overflow-wrap: break-word;
        width: 100%;
        margin: 0;
    }
    
    .phone-explanation-text p br {
        display: none;
    }
    
    .phone-explanation-img {
        width: 100px;
        height: auto;
        flex-shrink: 0;
    }
    
    .phone-highlight-wrapper {
        display: inline;
        position: relative;
        white-space: normal;
    }
    
    .phone-highlight-bg {
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 100%;
        height: 8px;
        background: #FDF050;
        z-index: 1;
    }
    
    .phone-highlight-text {
        position: relative;
        z-index: 2;
    }
    
    .phone-comparison {
        position: static !important;
        width: 100% !important;
        max-width: 100%;
        left: 0 !important;
        top: 0 !important;
        height: auto !important;
        padding: 20px 15px;
        margin-bottom: 30px;
        background: #FFFFFF;
        border-radius: 8px;
        box-sizing: border-box;
        overflow-x: hidden;
    }
    
    .phone-comp-title {
        position: static !important;
        font-size: 20px;
        text-align: center;
        margin-bottom: 25px;
        width: 100% !important;
        left: 0 !important;
        top: 0 !important;
        font-weight: 700;
        line-height: 1.4em;
    }
    
    .comp-table-wrapper {
        position: static !important;
        width: 100% !important;
        height: auto !important;
        left: 0 !important;
        top: 0 !important;
    }
    
    .comp-table {
        position: static !important;
        width: 100% !important;
        height: auto !important;
        display: block;
        left: 0 !important;
        top: 0 !important;
    }
    
    /* ヘッダーをグリッドレイアウトに */
    .comp-header {
        position: static !important;
        display: grid;
        grid-template-columns: 110px 1fr 1fr;
        width: 100% !important;
        height: auto !important;
        margin-bottom: 0;
        left: 0 !important;
        top: 0 !important;
        gap: 0;
    }
    
    .comp-header::before {
        content: '';
        background: #F0F0F0;
        border-right: 1px solid #EBEBEB;
    }
    
    .comp-h {
        padding: 16px 8px;
        font-size: 14px;
        font-weight: 700;
        width: auto !important;
        height: auto !important;
        text-align: center;
        border-radius: 0 !important;
        margin: 0 !important;
        display: flex;
        align-items: center;
        justify-content: center;
        line-height: 1.3em;
    }
    
    .comp-h-line {
        background: #09C755 !important;
        color: #FFFFFF !important;
    }
    
    .comp-h-phone {
        background: #656565 !important;
        color: #FFFFFF !important;
    }
    
    /* 各行をグリッドレイアウトに */
    .comp-row {
        position: static !important;
        display: grid;
        grid-template-columns: 110px 1fr 1fr;
        width: 100% !important;
        height: auto !important;
        border-bottom: 1px solid #EBEBEB;
        top: 0 !important;
        left: 0 !important;
        gap: 0;
    }
    
    .comp-row:last-child {
        border-bottom: none;
    }
    
    .comp-label {
        width: auto !important;
        padding: 16px 10px;
        font-size: 12.5px;
        font-weight: 700;
        background: #F0F0F0;
        border-right: 1px solid #EBEBEB;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        border-radius: 0 !important;
        line-height: 1.3em;
    }
    
    .comp-data {
        width: auto !important;
        height: auto !important;
        padding: 16px 10px;
        font-size: 12px;
        border-right: 1px solid #EBEBEB;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        line-height: 1.5em;
    }
    
    .comp-data:last-child {
        border-right: none;
    }
    
    .comp-data-line {
        background: rgba(9, 199, 85, 0.15) !important;
    }
    
    .comp-data-phone {
        background: #F9F9F9 !important;
    }
    
    .comp-data .emphasis {
        font-size: 15px;
        font-weight: 700;
        margin: 0 0 6px 0;
        line-height: 1.2em;
    }
    
    .comp-data .sub {
        font-size: 11px;
        font-weight: 400;
        line-height: 1.4em;
        margin: 0;
    }
    
    .phone-bg {
        display: none !important;
    }
    
    /* レビューセクション */
    .section-review {
        height: auto;
        padding: 40px 20px 40px 20px;
        background: #F0F0F0;
        display: block !important;
        gap: 0 !important;
    }
    
    .review-main-title {
        position: static !important;
        font-size: 28px;
        text-align: center;
        margin-bottom: 20px;
        width: 100% !important;
        left: 0 !important;
        top: 0 !important;
    }
    
    .review-yellow {
        position: relative !important;
        width: 100% !important;
        height: auto !important;
        min-height: auto !important;
        padding: 30px 20px 20px 20px;
        left: 0 !important;
        top: 0 !important;
        background: #FAEEA4 !important;
        margin: 0 auto !important;
        max-width: 100% !important;
    }
    
    .review-polygon-bg {
        display: none !important;
    }
    
    .review-badge {
        position: static !important;
        width: 120px !important;
        height: 120px !important;
        margin: 0 auto 20px;
        left: 0 !important;
        top: 0 !important;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #000000 !important;
    }
    
    .review-badge p {
        font-size: 18px;
        color: #FFFFFF;
    }
    
    .review-tagline {
        position: static !important;
        font-size: 16px;
        text-align: center;
        margin-bottom: 20px;
        width: 100% !important;
        left: 0 !important;
        top: 0 !important;
        line-height: 1.6em;
    }
    
    .review-tagline .red-text {
        color: #FF0000;
    }
    
    .review-product {
        position: static !important;
        font-size: 32px;
        text-align: center;
        margin-bottom: 10px;
        width: 100% !important;
        left: 0 !important;
        top: 0 !important;
    }
    
    .review-question {
        position: static !important;
        font-size: 24px;
        text-align: center;
        margin-bottom: 30px;
        width: 100% !important;
        left: 0 !important;
        top: 0 !important;
    }
    
    .review-group {
        position: static !important;
        width: 100% !important;
        height: auto !important;
        left: 0 !important;
        top: 0 !important;
        padding: 0 !important;
        transform: none !important;
        margin: 0 auto !important;
        max-width: 100% !important;
    }
    
    .review-voices,
    .review-voices-title {
        position: static !important;
        font-size: 20px;
        text-align: center;
        margin-bottom: 30px;
        width: 100% !important;
        left: 0 !important;
        top: 0 !important;
    }
    
    .review-intro {
        position: static !important;
        font-size: 16px;
        text-align: center;
        margin: 30px 0;
        width: 100% !important;
        left: 0 !important;
        top: 0 !important;
    }
    
    .review-item {
        display: flex;
        flex-direction: column;
        margin: 0 auto 30px auto;
        width: 100%;
        max-width: 100%;
    }
    
    .review-item-1,
    .review-item-2,
    .review-item-3 {
        align-items: center;
    }
    
    .r-card {
        position: static !important;
        width: 100% !important;
        height: auto !important;
        padding: 20px 15px;
        margin-top: 5px;
        margin-bottom: 0;
        border-radius: 15px;
        left: 0 !important;
        top: 0 !important;
    }
    
    .r-card-1,
    .r-card-3 {
        position: static !important;
        order: 3;
        left: 0 !important;
        top: 0 !important;
    }
    
    .r-card-2 {
        position: static !important;
        order: 2;
        left: 0 !important;
        top: 0 !important;
    }
    
    .r-card p {
        font-size: 13px !important;
        line-height: 1.7em !important;
        text-align: center !important;
    }
    
    .review-item-1::before,
    .review-item-3::before {
        content: '';
        display: flex;
        flex-direction: row;
        align-items: center;
        margin-bottom: 15px;
    }
    
    .r-avatar {
        position: static !important;
        width: 100px !important;
        height: 100px !important;
        flex-shrink: 0;
        border-radius: 50%;
        margin-bottom: 8px;
        left: 0 !important;
        top: 0 !important;
        align-self: center;
    }
    
    .r-profile {
        position: static !important;
        font-size: 14px;
        font-weight: 700;
        width: 100% !important;
        margin-bottom: 10px;
        left: 0 !important;
        top: 0 !important;
        text-align: center;
        line-height: 1.4em;
    }
    
    .r-triangle,
    .r-tri-1,
    .r-tri-2,
    .r-tri-3 {
        display: none !important;
    }
    
    .r-bubble {
        position: static !important;
        width: 100% !important;
        height: auto !important;
        padding: 25px 20px;
        margin-bottom: 40px;
        left: 0 !important;
        top: 0 !important;
    }
    
    .r-bubble-1,
    .r-bubble-2,
    .r-bubble-3 {
        position: static !important;
        left: 0 !important;
        top: 0 !important;
        height: auto !important;
    }
    
    .r-bubble p {
        font-size: 16px;
    }
    
    .review-cta {
        position: static !important;
        width: 100% !important;
        height: auto;
        margin: 30px auto 0 auto !important;
        padding: 20px 30px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 15px;
        left: 0 !important;
        top: 0 !important;
    }
    
    .r-cta-icon {
        position: static !important;
        width: 60px !important;
        height: 60px !important;
        flex-shrink: 0;
        left: 0 !important;
        top: 0 !important;
    }
    
    .r-cta-text {
        position: static !important;
        text-align: center;
        font-size: 17px;
        line-height: 1.4em;
        width: auto !important;
        flex: 1;
        left: 0 !important;
        top: 0 !important;
        letter-spacing: -0.02em;
    }
    
    .r-cta-frame {
        display: none !important;
    }
    
    .review-bg {
        position: static !important;
        width: 100% !important;
        height: auto !important;
        margin: 0 auto 20px auto !important;
        left: 0 !important;
        top: 0 !important;
    }
    
    /* 比較セクション */
    .section-compare {
        height: auto;
        padding: 20px;
        position: relative;
        background: #F0F0F0;
    }
    
    .compare-bg {
        position: relative !important;
        left: auto !important;
        top: auto !important;
        width: calc(100% - 4px) !important;
        height: auto !important;
        min-height: 900px !important;
        background: #FFFFFF !important;
        border-radius: 12px;
        z-index: 1;
        margin: 2px auto !important;
        transform: none !important;
    }
    
    .compare-yellow-line {
        position: absolute !important;
        left: 50% !important;
        top: 50px !important;
        width: 70% !important;
        height: 5px !important;
        background: #FDF050 !important;
        z-index: 2;
        transform: translateX(-50%) !important;
    }
    
    .compare-title {
        position: absolute !important;
        left: 50% !important;
        top: 30px !important;
        width: 90% !important;
        font-size: 20px !important;
        font-weight: 900 !important;
        line-height: 1.4em !important;
        text-align: center !important;
        color: #353535 !important;
        font-family: 'Noto Sans JP', sans-serif !important;
        z-index: 3;
        transform: translateX(-50%) !important;
    }
    
    .compare-subtitle {
        position: absolute !important;
        left: 50% !important;
        top: 770px !important;
        width: 90% !important;
        font-size: 24px !important;
        font-weight: 700 !important;
        line-height: 1.6em !important;
        text-align: center !important;
        color: #353535 !important;
        z-index: 3;
        transform: translateX(-50%) !important;
    }
    
    .compare-subtitle .green-text {
        color: #09C755 !important;
        font-weight: 900 !important;
    }
    
    .compare-table {
        position: absolute !important;
        left: 50% !important;
        top: 65px !important;
        width: 95% !important;
        height: auto !important;
        display: grid;
        grid-template-columns: 65px repeat(3, 1fr);
        gap: 0;
        background: transparent;
        border-radius: 8px;
        overflow: hidden;
        z-index: 2;
        transform: translateX(-50%) !important;
    }
    
    .cmp-h {
        position: static !important;
        font-size: 13px !important;
        padding: 10px 5px !important;
        background: #656565;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        left: 0 !important;
        top: 0 !important;
        width: auto !important;
        height: auto !important;
        border-radius: 0 !important;
        line-height: 1.2em !important;
        font-weight: 700 !important;
        color: #FFFFFF !important;
        border: 1px solid #fff;
    }
    
    .cmp-h-aigokun {
        background: #09C755 !important;
        font-weight: 900 !important;
        border-radius: 8px 0 0 0 !important;
        grid-column: 2;
        grid-row: 1;
    }
    
    .cmp-h-a {
        background: #656565 !important;
        border-radius: 0 !important;
        grid-column: 3;
        grid-row: 1;
    }
    
    .cmp-h-b {
        background: #656565 !important;
        border-radius: 0 8px 0 0 !important;
        grid-column: 4;
        grid-row: 1;
    }
    
    .cmp-label {
        position: static !important;
        font-size: 10px !important;
        padding: 10px 5px !important;
        background: #EBEBEB !important;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        font-weight: 800 !important;
        left: 0 !important;
        top: 0 !important;
        width: auto !important;
        height: auto !important;
        color: #4F5858 !important;
        line-height: 1.3em !important;
        border: 1px solid #fff;
        grid-column: 1;
    }
    
    .cmp-l-1 {
        grid-column: 1;
        grid-row: 2;
    }
    
    .cmp-l-2 {
        grid-column: 1;
        grid-row: 3;
    }
    
    .cmp-l-3 {
        grid-column: 1;
        grid-row: 4;
    }
    
    .cmp-l-4 {
        grid-column: 1;
        grid-row: 5;
    }
    
    .cmp-l-5 {
        grid-column: 1;
        grid-row: 6;
    }
    
    .cmp-l-6 {
        grid-column: 1;
        grid-row: 7;
    }
    
    .cmp-data {
        position: static !important;
        font-size: 11px !important;
        padding: 10px 4px !important;
        background: #FFFFFF;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        flex-direction: column;
        gap: 4px;
        left: 0 !important;
        top: 0 !important;
        width: auto !important;
        height: auto !important;
        color: #4F5858 !important;
        font-weight: 800 !important;
        line-height: 1.3em !important;
        border: 1px solid #fff;
    }
    
    .cmp-data img {
        width: 60px !important;
        height: 60px !important;
        margin-bottom: 4px;
    }
    
    .cmp-data p {
        font-size: 10px !important;
        margin: 0;
        line-height: 1.3em !important;
        font-weight: 800 !important;
    }
    
    .cmp-data .price {
        font-size: 16px !important;
        font-weight: 800 !important;
        font-family: 'Noto Sans JP', sans-serif !important;
    }
    
    .cmp-data .price-note {
        font-size: 9px !important;
        font-weight: 800 !important;
    }
    
    .cmp-aigokun {
        background: #B5EECC !important;
        min-height: 45px !important;
        padding-top: 12px !important;
    }
    
    .cmp-data.cmp-aigokun {
        text-decoration: none !important;
        color: inherit !important;
    }
    
    .cmp-aigokun p,
    .cmp-aigokun .price,
    .cmp-aigokun .price-note {
        font-weight: 900 !important;
    }
    
    .cmp-aigokun .price {
        font-size: 20px !important;
    }
    
    .cmp-a,
    .cmp-b {
        background: #FFFFFF !important;
    }
    
    /* Ai護くんのデータセル */
    .cmp-d-1 {
        grid-column: 2;
        grid-row: 2;
    }
    
    .cmp-d-2 {
        grid-column: 2;
        grid-row: 3;
    }
    
    .cmp-d-3 {
        grid-column: 2;
        grid-row: 4;
    }
    
    .cmp-d-4 {
        grid-column: 2;
        grid-row: 5;
    }
    
    .cmp-d-5 {
        grid-column: 2;
        grid-row: 6;
    }
    
    .cmp-d-6 {
        grid-column: 2;
        grid-row: 7;
    }
    
    /* A社のデータセル */
    .cmp-d-1a {
        grid-column: 3;
        grid-row: 2;
    }
    
    .cmp-d-2a {
        grid-column: 3;
        grid-row: 3;
    }
    
    .cmp-d-3a {
        grid-column: 3;
        grid-row: 4;
    }
    
    .cmp-d-4a {
        grid-column: 3;
        grid-row: 5;
    }
    
    .cmp-d-5a {
        grid-column: 3;
        grid-row: 6;
    }
    
    .cmp-d-6a {
        grid-column: 3;
        grid-row: 7;
    }
    
    /* B社のデータセル */
    .cmp-d-1b {
        grid-column: 4;
        grid-row: 2;
    }
    
    .cmp-d-2b {
        grid-column: 4;
        grid-row: 3;
    }
    
    .cmp-d-3b {
        grid-column: 4;
        grid-row: 4;
    }
    
    .cmp-d-4b {
        grid-column: 4;
        grid-row: 5;
    }
    
    .cmp-d-5b {
        grid-column: 4;
        grid-row: 6;
    }
    
    .cmp-d-6b {
        grid-column: 4;
        grid-row: 7;
    }
    
    /* FAQヘッダーセクション */
    .section-faq-header {
        height: auto;
        padding: 40px 20px;
    }
    
    .faq-title {
        position: static !important;
        font-size: 28px;
        text-align: center;
        margin-bottom: 30px;
        width: 100% !important;
        left: 0 !important;
        top: 0 !important;
    }
    
    /* FAQリストセクション */
    .section-faq-list {
        height: auto;
        padding: 0 20px 40px;
    }
    
    .faq-item {
        position: static !important;
        width: 100% !important;
        height: auto !important;
        margin-bottom: 0;
        left: 0 !important;
        top: 0 !important;
        border-bottom: 2px solid rgba(80, 66, 44, 0.3);
    }
    
    .faq-question {
        display: flex !important;
        align-items: center !important;
        gap: 15px !important;
        padding: 15px 10px !important;
        height: auto !important;
    }
    
    .faq-q {
        position: static !important;
        font-size: 28px !important;
        width: 35px !important;
        flex-shrink: 0;
        left: 0 !important;
        top: 0 !important;
        line-height: 1em !important;
    }
    
    .faq-text {
        flex: 1 !important;
        font-size: 16px !important;
        line-height: 1.4em !important;
    }
    
    .faq-toggle {
        position: static !important;
        font-size: 28px !important;
        width: 25px !important;
        flex-shrink: 0;
        left: 0 !important;
        top: 0 !important;
        line-height: 1em !important;
    }
    
    .faq-answer {
        padding: 0 10px 20px 10px !important;
    }
    
    .faq-answer-content {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }
    
    .faq-answer-header {
        display: flex !important;
        gap: 15px !important;
        align-items: flex-start !important;
    }
    
    .faq-a {
        position: static !important;
        font-size: 28px !important;
        width: 35px !important;
        flex-shrink: 0;
        left: 0 !important;
        top: 0 !important;
        line-height: 1em !important;
    }
    
    .faq-answer-text {
        flex: 1 !important;
        font-size: 16px !important;
        line-height: 1.4em !important;
        margin: 0 !important;
    }
    
    .faq-answer-detail {
        font-size: 14px !important;
        line-height: 1.6em !important;
        margin: 10px 0 0 0 !important;
        width: 100% !important;
    }
    
    /* 最終CTAセクション */
    .section-final {
        height: auto !important;
        padding: 0 !important;
        position: relative !important;
        background: #C4C4C4 !important;
        min-height: 600px !important;
    }
    
    .final-bg {
        position: absolute !important;
        left: 50% !important;
        top: 0 !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center !important;
        transform: translateX(-50%) !important;
        z-index: 1 !important;
    }
    
    .final-box {
        position: relative !important;
        width: 90% !important;
        height: auto !important;
        padding: 30px 20px !important;
        margin: 20px auto 0 auto !important;
        background: rgba(255, 255, 255, 0.8) !important;
        border-radius: 28px !important;
        z-index: 2 !important;
        left: auto !important;
        top: auto !important;
        transform: none !important;
    }
    
    .final-title {
        position: static !important;
        font-size: 32px;
        text-align: center;
        margin-bottom: 15px !important;
        width: 100% !important;
        left: 0 !important;
        top: 0 !important;
        transform: none !important;
    }
    
    .final-text {
        position: static !important;
        width: 100% !important;
        font-size: 18px;
        margin-bottom: 15px !important;
        left: 0 !important;
        top: 0 !important;
        transform: none !important;
    }
    
    .final-cta {
        position: static !important;
        width: 100% !important;
        height: 80px !important;
        padding: 0 !important;
        margin-bottom: 0 !important;
        left: 0 !important;
        top: 0 !important;
        background: #00C843 !important;
        border: none !important;
        border-radius: 60px !important;
        box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.25) !important;
        cursor: pointer !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        transform: none !important;
    }
    
    .final-cta p {
        position: static !important;
        width: 100% !important;
        font-size: 20px !important;
        font-weight: 700 !important;
        line-height: 1.2em !important;
        text-align: center !important;
        color: #FFFFFF !important;
        margin: 0 !important;
        left: 0 !important;
        top: 0 !important;
    }
    
    .final-cta-frame {
        display: none !important;
    }
    
    .final-disclaimer {
        position: static !important;
        width: 100% !important;
        font-size: 12px !important;
        line-height: 1.6em !important;
        text-align: center !important;
        color: #888888 !important;
        margin: 20px 0 0 0 !important;
        left: 0 !important;
        top: 0 !important;
        transform: none !important;
    }
    
    /* フッター */
    .section-footer {
        height: auto;
        padding: 40px 20px;
    }
    
    .section-footer p {
        font-size: 14px;
    }
}
