@charset "UTF-8";

/* ==============================================
   getstarted LP ページ固有スタイル
============================================== */

/* ---------- Reset ---------- */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}


html {
    font-feature-settings: 'palt' 1;
    scroll-behavior: smooth;
}

/* アンカーリンクのヘッダー分オフセット */
[id] {
    scroll-margin-top: 80px;
}

body {
    font-family: "LINESeedJPStd Regular", sans-serif;
    color: #000000;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
}

a {
    text-decoration: none;
    color: inherit;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

ul,
ol {
    list-style: none;
}

/* ---------- 注釈参照（※1等） ---------- */
.p-note-ref {
    font-size: 0.65em;
    vertical-align: super;
    line-height: 1;
    color: inherit;
    opacity: 0.6;
}

/* ---------- Utility ---------- */
.only-pc {
    display: block;
}

.only-sp {
    display: none;
}

/* ==============================================
   トップバナー
============================================== */
.p-top-bnr {
    background-color: #0559F8;
}

.p-top-bnr__inner {
    max-width: 1440px;
    margin: 0 auto;
}

.p-top-bnr__inner img {
    width: 100%;
    height: auto;
    display: block;
}

/* PC用: SP時非表示 */
.p-top-bnr--sp {
    display: none;
}

@media screen and (max-width: 1023px) {
    .p-top-bnr--pc {
        display: none;
    }

    .p-top-bnr--sp {
        display: block;
    }
}

/* ==============================================
   Animations
============================================== */

/* ページ訪問時オーバーレイ */
.p-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000048;
    z-index: 9999;
    transform: translateY(0);
    transition: transform 0.8s cubic-bezier(0.77, 0, 0.175, 1);
}

.p-overlay.is-done {
    transform: translateY(-100%);
}

/* スクロールフェードイン */
.js-fadein {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.7s ease, transform 0.7s ease;
}

.js-fadein.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* KVエリア初期非表示（訪問時アニメーション後に表示） */
.p-kv__inner,
.p-kv__icon,
.p-kv__device {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

.p-kv__inner.is-visible,
.p-kv__icon.is-visible,
.p-kv__device.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* KVアイコンふわふわアニメーション */
@keyframes kvFloat1 {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-12px);
    }
}

@keyframes kvFloat2 {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-8px);
    }
}

@keyframes kvFloat3 {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-15px);
    }
}

.p-kv__icon.is-floating.p-kv__icon--01 {
    animation: kvFloat1 3.2s ease-in-out infinite;
}

.p-kv__icon.is-floating.p-kv__icon--02 {
    animation: kvFloat2 2.8s ease-in-out 0.4s infinite;
}

.p-kv__icon.is-floating.p-kv__icon--03 {
    animation: kvFloat3 3.5s ease-in-out 0.8s infinite;
}

.p-kv__icon.is-floating.p-kv__icon--04 {
    animation: kvFloat1 3.0s ease-in-out 1.2s infinite;
}

.p-kv__icon.is-floating.p-kv__icon--05 {
    animation: kvFloat2 3.3s ease-in-out 0.2s infinite;
}

.p-kv__icon.is-floating.p-kv__icon--06 {
    animation: kvFloat3 2.6s ease-in-out 0.6s infinite;
}

.p-kv__icon.is-floating.p-kv__icon--07 {
    animation: kvFloat1 3.4s ease-in-out 1.0s infinite;
}

.p-kv__icon.is-floating.p-kv__icon--08 {
    animation: kvFloat2 2.9s ease-in-out 1.4s infinite;
}

/* SP ヘッダー表示/非表示 */
.p-header {
    transition: transform 0.3s ease;
}

.p-header.is-hidden {
    transform: translateY(-100%);
}

/* SP 追従ボタン */
.c-fix-btn {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 90;
    transition: transform 0.3s ease;
    transform: translateY(100%);
    display: none;
}

.c-fix-btn.is-visible {
    transform: translateY(0);
}

/* ==============================================
   Header
============================================== */
.p-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background-color: transparent;
    transition: background-color 0.3s ease, transform 0.3s ease;
}

.p-header.is-scrolled {
    background-color: #FFFFFF;
}

.p-header__inner {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0px 20px 0 45px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 72px;
}

.p-header__logo {
    flex-shrink: 0;
}

.p-header__logo a {
    display: flex;
    align-items: center;
}

.p-header__logo img {
    display: block;
    width: 184px;
    height: auto;
}

.p-header__nav {
    flex: 1;
    display: flex;
    justify-content: center;
    margin: 0 13px 0 0;
    min-width: 0;
}

.p-header__nav-list {
    display: flex;
    align-items: center;
    gap: 41px;
}

.p-header__nav-item a {
    font-family: "LINESeedJPStd Bold", sans-serif;
    font-size: 14px;
    color: #000048;
    white-space: nowrap;
    transition: opacity 0.3s;
}

.p-header__nav-item a:hover {
    opacity: 0.7;
}

.p-header__actions {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
}

.p-header__login {
    display: flex;
    align-items: center;
    transition: opacity 0.3s;
    margin-top: 8px;
}

.p-header__login:hover {
    opacity: 0.7;
}

.p-header__login img {
    width: 66px;
    height: auto;
}

.p-header__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 221px;
    height: 44px;
    background-color: #F77911;
    border: 2px solid #FFFFFF;
    border-radius: 22px;
    font-family: "LINESeedJPStd Bold", sans-serif;
    font-size: 14px;
    color: #FFFFFF;
    white-space: nowrap;
    transition: background-color 0.3s, color 0.3s, border-color 0.3s;
}

.p-header__cta:hover {
    background-color: #FFFFFF;
    color: #F77911;
    border-color: #F77911;
}

/* ==============================================
   KV
============================================== */
.p-kv {
    position: relative;
    background: url('/sites/default/files/media/jp/service/ly-ads/lp/getstarted/img/bg_kv.png') top center no-repeat;
    background-size: cover;
    overflow: hidden;
    padding-top: 30px;
    margin-top: -30px;
}

.p-kv__inner {
    position: relative;
    z-index: 2;
    padding: 39px 20px 60px;
    text-align: center;
}

.p-kv__subtitle {
    font-family: "LINESeedJPStd Bold", sans-serif;
    font-size: 32px;
    color: #000000;
    line-height: 1.5;
}

.p-kv__title {
    font-family: "LINESeedJPStd ExtraBold", sans-serif;
    font-size: 64px;
    color: #000000;
    line-height: 1.25;
    margin-top: 8px;
}

.p-kv__actions {
    margin-top: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* KV メインボタン */
.p-kv__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 378px;
    max-width: 100%;
    height: 72px;
    background-color: #F77911;
    border: 2px solid #F77911;
    border-radius: 36px;
    font-family: "LINESeedJPStd Bold", sans-serif;
    font-size: 20px;
    color: #FFFFFF;
    gap: 12px;
    transition: background-color 0.3s, color 0.3s, border-color 0.3s;
}

.p-kv__btn:hover {
    background-color: #FFFFFF;
    color: #F77911;
}

.p-kv__btn-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    background-color: #FFFFFF;
    border-radius: 50%;
    flex-shrink: 0;
    transition: background-color 0.3s;
}

.p-kv__btn-icon::before {
    content: "";
    display: block;
    width: 6px;
    height: 9px;
    background-color: #F77911;
    -webkit-mask-image: url('/sites/default/files/media/jp/service/ly-ads/lp/getstarted/img/icon_arrow.svg');
    mask-image: url('/sites/default/files/media/jp/service/ly-ads/lp/getstarted/img/icon_arrow.svg');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    transition: background-color 0.3s;
}

.p-kv__btn:hover .p-kv__btn-icon {
    background-color: #F77911;
}

.p-kv__btn:hover .p-kv__btn-icon::before {
    background-color: #FFFFFF;
}

/* KV テキストリンク */
.p-kv__textlink {
    margin-top: 20px;
    font-family: "LINESeedJPStd Bold", sans-serif;
    font-size: 16px;
    color: #000000;
    display: inline-flex;
    align-items: center;
    transition: opacity 0.3s;
}

.p-kv__textlink:hover {
    opacity: 0.7;
}

.p-kv__textlink::after {
    content: "";
    display: inline-block;
    width: 13px;
    height: 10px;
    background-color: #F77911;
    -webkit-mask-image: url('/sites/default/files/media/jp/service/ly-ads/lp/getstarted/img/icon_arrow.svg');
    mask-image: url('/sites/default/files/media/jp/service/ly-ads/lp/getstarted/img/icon_arrow.svg');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    margin-left: 8px;
}

/* KV 丸アイコン写真 */
.p-kv__icon {
    position: absolute;
    z-index: 1;
    border-radius: 50%;
    overflow: hidden;
}

.p-kv__icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.p-kv__icon--01 {
    width: 199px;
    height: 144px;
    left: 10.4%;
    top: 52px;
}

.p-kv__icon--02 {
    width: 150px;
    height: 100px;
    left: 3.5%;
    top: 259px;
}

.p-kv__icon--03 {
    width: 28px;
    height: 28px;
    left: 1.5%;
    top: 65px;
}

.p-kv__icon--04 {
    width: 176px;
    height: 137px;
    right: 15.3%;
    top: 302px;
}

.p-kv__icon--05 {
    width: 153px;
    height: 123px;
    right: -1.5%;
    top: 54px;
}

.p-kv__icon--06 {
    width: 50px;
    height: 50px;
    right: 17.5%;
    top: 150px;
}

.p-kv__icon--07 {
    width: 60px;
    height: 60px;
    left: 23.6%;
    top: 326px;
}

.p-kv__icon--08 {
    width: 33px;
    height: 33px;
    right: 0.5%;
    top: 343px;
}

/* KV 下部デバイス画像 */
.p-kv__device {
    position: relative;
    z-index: 2;
    width: 100%;
    margin-top: -177px;
    pointer-events: none;
}

.p-kv__device img {
    width: 100%;
    display: block;
}

/* ==============================================
   Intro
============================================== */
.p-intro__top {
    background-color: #000048;
    padding: 40px 20px 70px;
}

.p-intro__top-inner {
    max-width: 1240px;
    padding-inline: 20px;
    margin: 0 auto;
}

.p-intro__title {
    font-family: "LINESeedJPStd ExtraBold", sans-serif;
    font-size: 40px;
    color: #FFFFFF;
    line-height: 1.4;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.p-intro__title-icon {
    width: 55px;
    height: 55px;
    flex-shrink: 0;
}

.p-intro__cards {
    display: flex;
    justify-content: center;
    gap: 27px;
    margin-top: 50px;
    max-width: 1200px;
    margin-inline: auto;
}

.p-intro__card {
    width: 382px;
    max-width: 100%;
    text-align: center;
}

.p-intro__card-img {
    border-radius: 12px;
    overflow: hidden;
}

.p-intro__card-img img {
    width: 100%;
    height: auto;
    display: block;
}

.p-intro__card-text {
    font-family: "LINESeedJPStd Bold", sans-serif;
    font-size: 24px;
    color: #FFFFFF;
    line-height: 1.6;
    margin-top: 20px;
}

/* Intro 下部画像 */
.p-intro__bottom-img {
    max-width: 1370px;
    margin: 60px auto 0;
}

.p-intro__bottom-img img {
    width: 100%;
    height: auto;
    display: block;
}

/* ==============================================
   Section01
============================================== */
.p-section01 {
    background-color: rgba(207, 218, 255, 0.5);
}

/* セクション共通ヘッダー（タイトル+テキスト横並び） */
.p-section01__header {
    padding: 80px 20px 0;
}

.p-section01__header-inner {
    max-width: 1240px;
    padding-inline: 20px;
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    gap: 87px;
}

.p-section01__title-block {
    flex-shrink: 0;
}

.p-section01__subtitle {
    font-family: "LINESeedJPStd Bold", sans-serif;
    font-size: 28px;
    color: #000000;
    line-height: 1.5;
}

.p-section01__title {
    font-family: "LINESeedJPStd ExtraBold", sans-serif;
    font-size: 60px;
    color: #000000;
    line-height: 1.3;
    margin-top: 4px;
}

.p-section01__title--blue {
    color: #225CFF;
}

.p-section01__desc {
    flex: 1;
    max-width: 480px;
}

.p-section01__desc p {
    font-family: "LINESeedJPStd Regular", sans-serif;
    font-size: 18px;
    color: #000000;
    line-height: 1.8;
}

/* スライダーエリア */
.p-section01__slider-area {
    padding-bottom: 20px;
}

.p-section01__splide {
    margin-top: 60px;
    position: relative;
}

.p-section01__splide .splide__slide {
    width: 293px;
}

.p-section01__splide .splide__slide img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 12px;
}

.splide__list {
    height: auto !important;
}

/* Splide矢印コンテナ */
.p-section01__splide .splide__arrows {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 1294px;
    max-width: 100%;
    display: flex;
    justify-content: space-between;
    pointer-events: none;
    z-index: 10;
}

@media screen and (max-width: 1023px) {
    .p-section01__splide .splide__arrows {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 86%;
        max-width: 100%;
        display: flex;
        justify-content: space-between;
        pointer-events: none;
        z-index: 10;
    }
}

/* Splide矢印ボタン */
.p-section01__splide .splide__arrow {
    background-color: #000048;
    width: 47px;
    height: 207px;
    border-radius: 23px;
    opacity: 1;
    position: static;
    transform: none;
    top: auto;
    pointer-events: auto;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.p-section01__splide .splide__arrow--prev svg {
    transform: scaleX(-1);
}

.p-section01__splide .splide__arrow svg {
    fill: #FFFFFF;
    width: 16px;
    height: 16px;
}

.p-section01__splide .splide__arrow:hover {
    opacity: 0.8;
}

/* 下エリア：リーチ力 */
.p-section01__reach {
    background-color: #E8E6F0;
    padding: 80px 20px 40px;
}

.p-section01__reach-inner {
    max-width: 1240px;
    padding-inline: 20px;
    margin: 0 auto;
}

.p-section01__reach-cards {
    display: flex;
    justify-content: center;
    gap: 40px;
    margin-top: 50px;
}

.p-section01__reach-card {
    width: 580px;
    max-width: 100%;
}

.p-section01__reach-card img {
    width: 100%;
    height: auto;
    display: block;
}

.p-section01__notes {
    margin-top: 31px;
}

.p-section01__notes p {
    font-family: "LINESeedJPStd Regular", sans-serif;
    font-size: 12px;
    color: rgba(0, 0, 72, 0.5);
    line-height: 1.6;
}

/* ==============================================
   Section02
============================================== */
.p-section02 {
    background-color: #000048;
    padding-bottom: 100px;
    overflow: hidden;
}

/* ヘッダー（タイトル＋テキスト横並び） */
.p-section02__header {
    padding: 73px 20px 0;
}

.p-section02__header-inner {
    max-width: 1240px;
    padding-inline: 20px;
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 40px;
}

.p-section02__title-block {
    flex-shrink: 0;
}

.p-section02__subtitle {
    font-family: "LINESeedJPStd Bold", sans-serif;
    font-size: 28px;
    color: #ffffff;
    line-height: 1.5;
}

.p-section02__title {
    font-family: "LINESeedJPStd ExtraBold", sans-serif;
    font-size: 60px;
    color: #ffffff;
    line-height: 1.3;
    margin-top: 4px;
}

.p-section02__title--blue {
    color: #225CFF;
}

.p-section02__desc {
    flex: 1;
    max-width: 480px;
    padding-top: 16px;
}

.p-section02__desc p {
    font-family: "LINESeedJPStd Regular", sans-serif;
    font-size: 18px;
    color: #ffffff;
    line-height: 1.8;
}

/* カード共通 */
.p-section02__card {
    max-width: 1440px;
    margin-top: 60px;
    margin-inline: auto;
}

.p-section02__card-inner {
    max-width: 1320px;
    display: flex;
    align-items: center;
    background-color: #ffffff;
    min-height: 540px;
    position: relative;
    overflow: visible;
}

/* 白背景を画面端まで伸ばす擬似要素 */
.p-section02__card-inner::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100vw;
    background-color: #ffffff;
    border-radius: 30px;
    z-index: -1;
}

/* 左寄せカード（検索広告）: 左端まで伸ばす */
.p-section02__card--left .p-section02__card-inner {
    margin-left: 0;
    margin-right: auto;
    border-radius: 0 20px 20px 0;
}

.p-section02__card--left .p-section02__card-inner::before {
    right: 0;
    left: auto;
}

.p-section02__card-body {
    flex: 1;
    padding: 60px 40px 60px 80px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.p-section02__card--left .p-section02__card-body {
    padding: 110px 40px 110px 120px;
}

.p-section02__card-title {
    font-family: "LINESeedJPStd ExtraBold", sans-serif;
    font-size: 49px;
    color: #000048;
    line-height: 1.4;
}

.p-section02__card-title--red {
    color: #FF0033;
}

.p-section02__card-title--small {
    font-size: 31px;
}

.p-section02__card-lead {
    font-family: "LINESeedJPStd Bold", sans-serif;
    font-size: 26px;
    color: #000048;
    line-height: 1.5;
    margin-top: 42px;
}

.p-section02__card-desc {
    font-family: "LINESeedJPStd Regular", sans-serif;
    font-size: 18px;
    color: #000048;
    line-height: 1.8;
    margin-top: 20px;
}

.p-section02__card-fig {
    flex: 0 0 697px;
    display: flex;
    align-items: center;
}

.p-section02__card--left .p-section02__card-fig {
    position: relative;
    right: -70px;
}

.p-section02__card-fig img {
    width: 100%;
    height: auto;
    display: block;
}

/* 右寄せカード（ディスプレイ広告） */
.p-section02__card--right {
    overflow: visible;
}

.p-section02__card--right .p-section02__card-inner {
    margin-left: auto;
    margin-right: 0;
    border-radius: 20px 0 0 20px;
    display: block;
    padding-bottom: 79px;
}

.p-section02__card--right .p-section02__card-inner::before {
    left: 0;
    right: auto;
}

.p-section02__card--right .p-section02__card-top {
    display: flex;
    align-items: center;
    min-height: 540px;
}

.p-section02__card--right .p-section02__card-body {
    padding: 140px 125px 60px 0px;
}

.p-section02__card--right .p-section02__card-fig {
    position: relative;
    left: -70px;
    top: 60px;
    overflow: hidden;
}

/* 背景画像付きfig */
.p-section02__card-fig--bg {
    width: 697px;
    height: 568px;
    background-image: url("/sites/default/files/media/jp/service/ly-ads/lp/getstarted/img/bg_section02_card.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    border-radius: 12px;
}

.p-section02__card-title--blue {
    color: #225CFF;
}

/* ループスライダー */
@keyframes infiniteLoop {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}

.p-section02__loop {
    display: flex;
    overflow: hidden;
    width: 697px;
}

.p-section02__loop-list {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    animation: infiniteLoop 20s linear 0.5s infinite both;
    padding-top: 23px;
}

.p-section02__loop-item {
    flex-shrink: 0;
    padding: 0 18px;
}

.p-section02__loop-item img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 8px;
}

.p-section02__loop-item:nth-of-type(1) {
    width: calc(221px + 36px);
}

.p-section02__loop-item:nth-of-type(2) {
    width: calc(224px + 36px);
}

.p-section02__loop-item:nth-of-type(3) {
    width: calc(183px + 36px);
}

.p-section02__loop-item:nth-of-type(4) {
    width: calc(221px + 36px);
}

.p-section02__loop-item:nth-of-type(5) {
    width: calc(227px + 36px);
}

.p-section02__loop-item:nth-of-type(6) {
    width: calc(221px + 36px);
}

/* メリットエリア（カード内） */
.p-section02__merit-inner {
    width: 100%;
    max-width: 1078px;
    margin: 85px auto 0;
    background-color: #CFDAFF;
    border-radius: 20px;
    padding: 50px 74px;
}

.p-section02__merit-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 40px;
}

.p-section02__merit-title {
    font-family: "LINESeedJPStd ExtraBold", sans-serif;
    font-size: 30px;
    color: #225CFF;
    line-height: 1.5;
    display: flex;
    align-items: center;
    gap: 12px;
}

.p-section02__merit-title::before {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    background-color: #225CFF;
    transform: rotate(45deg);
    flex-shrink: 0;
}

.p-section02__merit-text {
    flex: 1;
}

.p-section02__merit-desc {
    margin-top: 8px;
    font-family: "LINESeedJPStd Bold", sans-serif;
    font-size: 18px;
    color: #000000;
    line-height: 1.8;
}

.p-section02__merit-icon {
    flex-shrink: 0;
    width: 137px;
    margin-right: 36px;
}

.p-section02__merit-icon img {
    width: 100%;
    height: auto;
    display: block;
}

.p-section02__merit-img {
    max-width: 947px;
    margin: 30px auto 0;
}

.p-section02__merit-img img {
    width: 100%;
    height: auto;
    display: block;
}

/* 比較エリア */
.p-section02__compare {
    margin-top: 100px;
    padding-inline: 20px;
}

.p-section02__compare-inner {
    max-width: 1240px;
    padding-inline: 20px;
    margin: 0 auto;
}

.p-section02__compare-title {
    font-family: "LINESeedJPStd ExtraBold", sans-serif;
    font-size: 40px;
    color: #ffffff;
    line-height: 1.5;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
}

.p-section02__compare-title-icon {
    width: 61px;
    height: auto;
    flex-shrink: 0;
}

.p-section02__compare-labels {
    display: flex;
    justify-content: center;
    gap: 24px;
    margin-top: 40px;
}

.p-section02__compare-label {
    width: 588px;
    max-width: 100%;
    background-color: #ffffff;
    border-radius: 12px;
    padding: 24px 20px;
    text-align: center;
}

.p-section02__compare-label p {
    font-family: "LINESeedJPStd Bold", sans-serif;
    font-size: 18px;
    color: #000048;
    line-height: 1.6;
}

.p-section02__compare-cards {
    display: flex;
    justify-content: center;
    gap: 24px;
    margin-top: 55px;
}

.p-section02__compare-card {
    width: 588px;
    max-width: 100%;
}

.p-section02__compare-card img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 16px;
}

/* ==============================================
   共通CTA
============================================== */
.p-cta {
    margin-top: 100px;
    padding-inline: 20px;
}

.p-cta--foot {
    padding-inline: 0;
}

.p-cta__inner {
    max-width: 1364px;
    margin: 0 auto;
    background-color: #225CFF;
    border-radius: 20px;
    padding: 80px 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.p-cta--foot .p-cta__inner {
    max-width: initial;
    border-radius: 20px 20px 0 0;
}

.p-cta__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 1;
}

.p-cta__title {
    font-family: "LINESeedJPStd ExtraBold", sans-serif;
    font-size: 50px;
    color: #ffffff;
    line-height: 1.4;
    text-align: center;
}

/* イラスト */
.p-cta__illust {
    position: absolute;
    bottom: 0;
    z-index: 0;
}

.p-cta__illust--left {
    left: 48px;
    bottom: -40px;
}

.p-cta__illust--right {
    right: 45px;
}

.p-cta__illust img {
    display: block;
    height: auto;
}

.p-cta__illust--left img {
    width: 203px;
}

.p-cta__illust--right img {
    width: 246px;
}

/* ボタンエリア */
.p-cta__buttons {
    display: flex;
    justify-content: center;
    gap: 29px;
    margin-top: 38px;
    max-width: 753px;
}

.p-cta__btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 362px;
    height: 70px;
    border-radius: 35px;
    font-family: "LINESeedJPStd Bold", sans-serif;
    font-size: 20px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.p-cta__btn--primary {
    background-color: #F77911;
    border: 2px solid #F77911;
    color: #ffffff;
}

.p-cta__btn--primary:hover {
    background-color: #ffffff;
    color: #F77911;
}

.p-cta__btn--secondary {
    background-color: #ffffff;
    border: 2px solid #ffffff;
    color: #000048;
}

.p-cta__btn--secondary:hover {
    background-color: #000048;
    color: #ffffff;
}

/* ボタンアイコン（丸背景+矢印） */
.p-cta__btn-icon {
    position: absolute;
    top: 50%;
    right: 10px;
    translate: 0 -50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    flex-shrink: 0;
}

.p-cta__btn--primary .p-cta__btn-icon {
    background-color: #ffffff;
}

.p-cta__btn--primary:hover .p-cta__btn-icon {
    background-color: #F77911;
}

.p-cta__btn--secondary .p-cta__btn-icon {
    background-color: #000048;
}

.p-cta__btn--secondary:hover .p-cta__btn-icon {
    background-color: #ffffff;
}

.p-cta__btn-icon::after {
    content: "";
    display: block;
    width: 13px;
    height: 10px;
    -webkit-mask-image: url("/sites/default/files/media/jp/service/ly-ads/lp/getstarted/img/icon_arrow.svg");
    mask-image: url("/sites/default/files/media/jp/service/ly-ads/lp/getstarted/img/icon_arrow.svg");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

.p-cta__btn--primary .p-cta__btn-icon::after {
    background-color: #F77911;
}

.p-cta__btn--primary:hover .p-cta__btn-icon::after {
    background-color: #ffffff;
}

.p-cta__btn--secondary .p-cta__btn-icon::after {
    background-color: #ffffff;
}

.p-cta__btn--secondary:hover .p-cta__btn-icon::after {
    background-color: #000048;
}

/* テキストリンク */
.p-cta__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 38px;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.p-cta__link:hover {
    opacity: 0.7;
}

.p-cta__link-text {
    font-family: "LINESeedJPStd Bold", sans-serif;
    font-size: 18px;
    color: #ffffff;
    line-height: 1.5;
}

.p-cta__link-icon {
    display: inline-block;
    width: 13px;
    height: 10px;
    -webkit-mask-image: url("/sites/default/files/media/jp/service/ly-ads/lp/getstarted/img/icon_arrow.svg");
    mask-image: url("/sites/default/files/media/jp/service/ly-ads/lp/getstarted/img/icon_arrow.svg");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    background-color: #ffffff;
}

/* ==============================================
   Section03
============================================== */
.p-section03 {
    background-color: #ffffff;
    padding: 83px 0 19px;
}

/* ヘッダー */
.p-section03__header {
    max-width: 1240px;
    padding-inline: 20px;
    margin: 0 auto;
}

.p-section03__header-sub {
    font-family: "LINESeedJPStd Bold", sans-serif;
    font-size: 28px;
    color: #000048;
    line-height: 1.5;
}

.p-section03__header-title {
    font-family: "LINESeedJPStd ExtraBold", sans-serif;
    font-size: 60px;
    color: #000048;
    line-height: 1.3;
    margin-top: 4px;
}

/* 横並びブロック */
.p-section03__row {
    margin-top: 60px;
}

.p-section03__row-inner {
    max-width: 1240px;
    padding-inline: 20px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 66px;
}

.p-section03__row--reverse .p-section03__row-inner {
    flex-direction: row-reverse;
}

.p-section03__row--reverse {
    margin-bottom: 98px;
}

.p-section03__row-body {
    flex: 1;
}

.p-section03__row-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.p-section03__row-tag {
    display: inline-block;
    font-family: "LINESeedJPStd Bold", sans-serif;
    font-size: 16px;
    line-height: 1.5;
    padding: 3px 12px 2px;
    border-radius: 4px;
}

.p-section03__row-tag--red {
    color: #FF0033;
    border: 1px solid #FF0033;
}

.p-section03__row-tag--blue {
    color: #225CFF;
    border: 1px solid #225CFF;
}

.p-section03__row-title {
    font-family: "LINESeedJPStd Bold", sans-serif;
    font-size: 36px;
    color: #000000;
    line-height: 1.5;
    margin-top: 10px;
}

.p-section03__row-desc {
    font-family: "LINESeedJPStd Regular", sans-serif;
    font-size: 18px;
    color: #000000;
    line-height: 1.8;
    margin-top: 24px;
}

.p-section03__row-fig {
    flex: 0 0 560px;
    max-width: 560px;
}

.p-section03__row-fig img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 12px;
}

/* ボタン（プロモーション内） */
.p-section03__row-btn {
    margin-top: 24px;
}

/* 共通ボタン: 青 */
.c-btn--blue {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 307px;
    height: 56px;
    padding-right: 20px;
    background-color: #225CFF;
    border: 2px solid #225CFF;
    border-radius: 56px;
    font-family: "LINESeedJPStd Bold", sans-serif;
    font-size: 16px;
    color: #ffffff;
    text-decoration: none;
    transition: all 0.3s ease;
    cursor: pointer;
}

.c-btn--blue .c-btn__icon {
    position: absolute;
    top: 50%;
    right: 10px;
    translate: 0 -50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    background-color: #ffffff;
    border-radius: 50%;
    flex-shrink: 0;
    transition: background-color 0.3s ease;
}

.c-btn--blue .c-btn__icon::after {
    content: "";
    display: block;
    width: 13px;
    height: 10px;
    mask-image: url("/sites/default/files/media/jp/service/ly-ads/lp/getstarted/img/icon_arrow.svg");
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-image: url("/sites/default/files/media/jp/service/ly-ads/lp/getstarted/img/icon_arrow.svg");
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    background-color: #225CFF;
    transition: background-color 0.3s ease;
}

.c-btn--blue:hover {
    background-color: #ffffff;
    color: #225CFF;
}

.c-btn--blue:hover .c-btn__icon {
    background-color: #225CFF;
}

.c-btn--blue:hover .c-btn__icon::after {
    background-color: #ffffff;
}

/* タイトル黄色 */
.p-section03__row-title--yellow {
    color: #FFBF0A;
}

/* プロモーション横並び画像 */
.p-section03__row-fig--promo {
    flex: 0 0 593px;
    max-width: 593px;
}

/* ==============================================
   Section03: 料金カード
============================================== */
.p-section03__cards {
    padding: 0 20px 100px;
}

.p-section03__cards-inner {
    max-width: 1240px;
    padding-inline: 20px;
    margin: 60px auto 0;
    display: flex;
    gap: 24px;
}

.p-section03__card {
    width: 388px;
    max-width: 100%;
    border: 2px solid #4E7DFF;
    border-radius: 16px;
    overflow: hidden;
}

.p-section03__card-head {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 112px;
    padding: 0 24px;
    background-color: #4E7DFF;
}

.p-section03__card:nth-child(1) .p-section03__card-head {
    gap: 15px;
}

.p-section03__card:nth-child(2) .p-section03__card-head {
    gap: 20px;
}

.p-section03__card:nth-child(3) .p-section03__card-head {
    gap: 16px;
}

.p-section03__card-head img {
    flex-shrink: 0;
    height: auto;
}

.p-section03__card-head-text {
    font-family: "LINESeedJPStd Bold", sans-serif;
    font-size: 24px;
    color: #ffffff;
    line-height: 1.5;
}

.p-section03__card-body {
    padding: 20px 44px 38px;
    background-color: #ffffff;
}

.p-section03__card-body p {
    font-family: "LINESeedJPStd Bold", sans-serif;
    font-size: 18px;
    color: #000000;
    line-height: 1.7;
}

/* プロモーションエリア */
.p-section03__row--promo .p-section03__row-title {
    color: #000048;
    font-family: "LINESeedJPStd ExtraBold", sans-serif;
    font-size: 36px;
}

.p-section03__row--promo .p-section03__row-desc {
    color: #000048;
}

.p-section03__row--promo .p-section03__row-fig img {
    border-radius: 0;
}


/* ==============================================
   Section04: 導入事例
============================================== */
.p-section04 {
    background-color: #ffffff;
    padding: 105px 0 20px;
}

/* タイトル */
.p-section04__header {
    padding: 0 20px;
}

.p-section04__header-inner {
    max-width: 1240px;
    padding-inline: 20px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

.p-section04__header-icon {
    flex-shrink: 0;
}

.p-section04__header-title {
    font-family: "LINESeedJPStd ExtraBold", sans-serif;
    font-size: 40px;
    color: #000048;
    line-height: 1.3;
}

/* グループ */
.p-section04__group {
    margin-top: 34px;
}

.p-section04__group+.p-section04__group {
    margin-top: 72px;
}

.p-section04__group-inner {
    max-width: 1404px;
    padding-inline: 20px;
    margin: 0 auto;
}

/* グループタイトル */
.p-section04__group-title {
    margin-left: 48px;
    font-family: "LINESeedJPStd Bold", sans-serif;
    font-size: 24px;
    color: #000000;
    line-height: 1.5;
    display: flex;
    align-items: center;
    gap: 14px;
}

.p-section04__group-title::before {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    flex-shrink: 0;
}

.p-section04__group-title--red::before {
    background-color: #FF0033;
}

.p-section04__group-title--blue::before {
    background-color: #225CFF;
}

/* タイトル＋注釈の横並び */
.p-section04__group-title-wrap {
    display: flex;
    align-items: center;
    gap: 15px;
}

.p-section04__group-note {
    font-family: "LINESeedJPStd Regular", sans-serif;
    font-size: 14px;
    color: #000000;
    line-height: 1.5;
}

/* カード外枠（色帯付き） */
.p-section04__cards-wrap {
    margin-top: 20px;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
}

.p-section04__cards-wrap::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    border-radius: 10px;
    width: 100%;
    height: 110px;
    z-index: 0;
}

.p-section04__cards-wrap--red::after {
    background-color: #FF0033;
}

.p-section04__cards-wrap--blue::after {
    background-color: #225CFF;
}

/* カード列 */
.p-section04__cards {
    display: flex;
    gap: 18px;
    margin: 0 auto;
    padding: 11px 37px 24px;
    position: relative;
    z-index: 1;
}

/* カード */
.p-section04__card {
    flex: 0 0 309px;
    width: 309px;
    background-color: #ffffff;
    border-radius: 12px;
    padding: 28px 24px;
    display: flex;
    flex-direction: column;
    min-height: 263px;
    box-shadow: 0 6px 12px rgba(0, 0, 0, .16);
}

.p-section04__card-label {
    font-family: "LINESeedJPStd Bold", sans-serif;
    font-size: 20px;
    color: #000000;
    line-height: 1.5;
    text-align: center;
}

.p-section04__card-number {
    font-family: "LINESeedJPStd ExtraBold", sans-serif;
    font-size: 54px;
    color: #000000;
    line-height: 1.2;
    margin-top: 4px;
    text-align: center;
}

.p-section04__card-unit {
    font-family: "LINESeedJPStd ExtraBold", sans-serif;
    font-size: 34px;
}

.p-section04__card-desc {
    font-family: "LINESeedJPStd Regular", sans-serif;
    font-size: 14px;
    color: #000000;
    line-height: 1.7;
    margin-top: 12px;
    flex: 1;
}

.p-section04__card-company {
    font-family: "LINESeedJPStd Regular", sans-serif;
    font-size: 14px;
    color: #808080;
    line-height: 1.5;
    margin-top: 8px;
}

.p-flow {
    padding: 90px 0 100px;
    background-color: #ffffff;
}

@media screen and (max-width: 1023px) {
    .p-flow {
        padding: 50px 0;
    }
}

.p-flow__inner {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ---------------------------------------------
*   c-block-step
--------------------------------------------- */
.c-block-step {
    position: relative;
    margin-top: min(45px, 45 / 1440 * 100vw);
    background-color: #ECEFFF;
    padding-inline: calc(40 / 1200 * 100%);
    padding-block: min(48px, 48 / 1440 * 100vw) min(75px, 75 / 1440 * 100vw);
    border-radius: min(20px, 20 / 1440 * 100vw);
}

@media screen and (max-width: 1023px) {
    .c-block-step {
        margin-top: 35px;
        padding-block: 10px 42px;
        border-radius: 3px;
    }
}

.c-block-step__step-items {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    justify-content: space-between;
}

@media screen and (max-width: 1023px) {
    .c-block-step__step-items {
        display: block;
    }
}

.c-block-step__item {
    position: relative;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
}

.c-block-step__item+.c-block-step__item {
    position: relative;
}

.c-block-step__item+.c-block-step__item::before {
    content: "";
    position: absolute;
    top: min(170px, 170 / 1200 * 100vw);
    left: -2.5%;
    width: min(14px, 14 / 1440 * 100vw);
    height: min(21px, 21 / 1440 * 100vw);
    background-image: url(/sites/default/files/media/jp/service/yahoo-ads/lp/lp202607/img/icon_step.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    z-index: 100;
}

@media screen and (max-width: 1023px) {
    .c-block-step__item+.c-block-step__item::before {
        width: 18px;
        height: 15px;
        left: 50%;
        transform: translateX(-50%) rotate(90deg);
        top: -6.5%;
    }
}

.c-block-step__item--1 .c-block-step__txt-wrap {
    width: calc(285 / 335 * 100%);
}

@media screen and (max-width: 1023px) {
    .c-block-step__item--1 .c-block-step__txt-wrap {
        width: 290px;
    }
}

@media screen and (max-width: 1023px) {
    .c-block-step__item--2 {
        margin-top: 40px;
    }
}

.c-block-step__item--2 .c-block-step__txt-wrap {
    width: calc(275 / 335 * 100%);
}

@media screen and (max-width: 1023px) {
    .c-block-step__item--2 .c-block-step__txt-wrap {
        width: 290px;
    }
}

@media screen and (max-width: 1023px) {
    .c-block-step__item--3 {
        margin-top: 40px;
    }
}

.c-block-step__item--3 .c-block-step__txt-wrap {
    width: calc(280 / 340 * 100%);
}

@media screen and (max-width: 1023px) {
    .c-block-step__item--3 .c-block-step__txt-wrap {
        width: 290px;
    }
}

@media screen and (max-width: 1023px) {
    .c-block-step__item--3 .c-block-step__img {
        width: 95%;
        margin-left: 1%;
    }
}

.c-block-step__img {
    width: 100%;
}

@media screen and (max-width: 1023px) {
    .c-block-step__img {
        width: 106%;
        margin-left: -3%;
    }
}

.c-block-step__img img {
    display: block;
    width: 93%;
    margin: 0 auto;
}

.c-block-step__txt-wrap {
    margin-inline: auto;
    margin-top: min(26px, 26 / 1440 * 100vw);
}

@media screen and (max-width: 1023px) {
    .c-block-step__txt-wrap {
        margin-top: 16px;
    }
}

.c-block-step__txt {
    font-size: min(14px, 14 / 1440 * 100vw);
    font-family: "LINESeedJPStd Regular";
    line-height: 1.7142857143;
    letter-spacing: 0.03em;
}

@media screen and (max-width: 1023px) {
    .c-block-step__txt {
        font-size: 14px;
        line-height: 1.5714285714;
    }
}

.c-block-step__txt-acc1 {
    color: var(--color-blue-2);
    font-family: "LINESeedJPStd Bold";
}

.c-block-step__txt-acc2 {
    color: var(--color-red-1);
    font-family: "LINESeedJPStd Bold";
}

.c-acc {
    margin-top: 26px;
    width: 100%;
}

@media (max-width: 1023px) {
    .c-acc {
        margin-top: 26px;
        padding-bottom: 20px;
    }
}

.c-acc__title {
    align-items: center;
    cursor: pointer;
    display: flex;
    font-family: "LINESeedJPStd Bold";
    font-size: 14px;
    gap: 10px;
    justify-content: flex-start;
}

.c-acc__title:after {
    border-bottom: 2px solid #000;
    border-right: 2px solid #000;
    content: "";
    display: inline-block;
    height: 4px;
    margin-bottom: 4px;
    transform: rotate(45deg);
    transition: transform 0.3s ease;
    width: 4px;
}

.c-acc__title.open:after {
    border-bottom: 2px solid #000;
    border-right: 2px solid #000;
    content: "";
    display: inline-block;
    height: 4px;
    transform: rotate(-135deg);
    width: 4px;
}

.c-acc__detail {
    display: none;
    font-family: "LINESeedJPStd Regular";
    font-size: 14px;
    letter-spacing: 0.03em;
    line-height: 1.7142857143;
    margin-top: 6px;
    text-align: left;
}

@media (max-width: 1023px) {
    .c-acc__detail {
        font-size: 14px;
        margin-top: 6px;
    }
}


.c-acc__title {
    gap: 6px !important;
}

@media screen and (max-width: 1023px) {
    .c-acc__title {
        font-size: 14px;
        gap: 6px !important;
    }
}

.c-acc__title:after {
    /* position: absolute; */
    content: "";
    background: url(/sites/default/files/media/jp/service/yahoo-ads/lp/lp202607/img/icon_acc.svg) 0 0 no-repeat !important;
    background-size: cover !important;
    border-bottom: none !important;
    border-right: none !important;
    display: block !important;
    width: 8px !important;
    height: 5px !important;
    transform: rotate(-180deg) !important;
}

@media screen and (max-width: 1023px) {
    .c-acc__title:after {
        width: 8px !important;
        height: 5px !important;
    }
}

.c-acc__title.open:after {
    transform: rotate(0) !important;
}

.c-acc__link {
    text-decoration: underline;
    text-underline-offset: 2px;
    color: #252FEB;
}

@media screen and (max-width: 1023px) {
    .c-acc__link {
        text-underline-offset: 2px;
    }
}

/* ==========================================================================
   よくあるご質問
   ========================================================================== */

.p-faq {
    padding: 100px 0 120px;
}

@media screen and (max-width: 1023px) {
    .p-faq {
        padding: 60px 20px 60px;
    }
}

.p-faq__inner {
    max-width: 1240px;
    padding-inline: 20px;
    margin: 0 auto;
}

@media screen and (max-width: 1023px) {
    .p-faq__inner {
        padding-inline: 0;
    }
}

.p-faq__title {
    font-family: "LINESeedJPStd ExtraBold";
    font-size: 40px;
    color: #000000;
    text-align: center;
    line-height: 1.4;
}

@media screen and (max-width: 1023px) {
    .p-faq__title {
        font-size: 26px;
    }
}

.p-faq__list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 48px;
}

@media screen and (max-width: 1023px) {
    .p-faq__list {
        gap: 12px;
        margin-top: 32px;
    }
}

/* アコーディオンアイテム */
.p-faq__item {
    background: rgba(34, 92, 255, 0.07);
    border-radius: 16px;
    padding: 32px 40px;
}

@media screen and (max-width: 1023px) {
    .p-faq__item {
        padding: 24px 20px;
        border-radius: 12px;
    }
}

/* デフォルトのdetailsマーカーを非表示 */
.p-faq__question {
    display: flex;
    align-items: center;
    gap: 16px;
    cursor: pointer;
    list-style: none;
    font-family: "LINESeedJPStd Regular";
}

.p-faq__question::-webkit-details-marker {
    display: none;
}

.p-faq__question::marker {
    display: none;
    content: '';
}

/* Q. ラベル */
.p-faq__q-label {
    font-family: "LINESeedJPStd Bold";
    font-size: 32px;
    color: #000000;
    line-height: 1;
    flex-shrink: 0;
}

@media screen and (max-width: 1023px) {
    .p-faq__q-label {
        font-size: 24px;
    }
}

/* 質問テキスト */
.p-faq__q-text {
    font-family: "LINESeedJPStd Bold";
    font-size: 18px;
    color: #000000;
    line-height: 1.6;
    flex: 1;
    min-width: 0;
}

@media screen and (max-width: 1023px) {
    .p-faq__q-text {
        font-size: 16px;
    }
}

/* トグルアイコン */
.p-faq__q-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    position: relative;
}

.p-faq__q-toggle::after {
    content: '';
    width: 14px;
    height: 14px;
    background-color: #225CFF;
    -webkit-mask: url('/sites/default/files/media/jp/service/ly-ads/img/icon_arrow.svg') no-repeat center / contain;
    mask: url('/sites/default/files/media/jp/service/ly-ads/img/icon_arrow.svg') no-repeat center / contain;
    transition: transform 0.3s ease;
}

/* Open: 上向き / Closed: 下向き */
.p-faq__item[open] .p-faq__q-toggle::after {
    transform: rotate(180deg);
}

/* 回答エリア */
.p-faq__answer {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 24px;
    padding-right: 60px;
    padding-top: 0;
}

@media screen and (max-width: 1023px) {
    .p-faq__answer {
        margin-top: 16px;
        padding-right: 35px;
    }
}

/* 回答のフェードインアニメーション */
.p-faq__item[open] .p-faq__answer {
    animation: faqFadeIn 0.3s ease;
}

@keyframes faqFadeIn {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* A. ラベル */
.p-faq__a-label {
    font-family: "LINESeedJPStd Bold";
    font-size: 32px;
    color: #225CFF;
    line-height: 1;
    flex-shrink: 0;
}

@media screen and (max-width: 1023px) {
    .p-faq__a-label {
        font-size: 24px;
    }
}

/* 回答テキスト */
.p-faq__a-text {
    font-family: "LINESeedJPStd Regular";
    flex: 1;
    min-width: 0;
}

.p-faq__a-text p {
    font-family: "LINESeedJPStd Regular";
    font-size: 16px;
    color: #000000;
    line-height: 1.8;
}

@media screen and (max-width: 1023px) {
    .p-faq__a-text p {
        font-size: 14px;
    }
}

.p-faq__a-text a {
    font-family: "LINESeedJPStd Bold";
    color: #003E9A;
    text-decoration: none !important;
}

.p-faq__a-text a:hover {
    text-decoration: underline !important;
}

/* ==============================================
   プロモーションモーダル
============================================== */
.p-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10000;
    align-items: center;
    justify-content: center;
}

.p-modal.is-open {
    display: flex;
}

.p-modal__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
}

.p-modal__inner {
    position: relative;
    width: 578px;
    max-width: 90vw;
    max-height: 90vh;
    animation: modalFadeIn 0.3s ease;
}

.p-modal__content {
    overflow-y: auto;
    max-height: 90vh;
    border-radius: 16px;
    overflow-x: hidden;
}

@keyframes modalFadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.p-modal__close {
    position: absolute;
    top: -18px;
    right: -18px;
    width: 34px;
    height: 34px;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    z-index: 10;
    transition: opacity 0.2s;
}

.p-modal__close img {
    width: 34px;
    height: 34px;
    display: block;
}

.p-modal__close:hover {
    opacity: 0.7;
}

/* 白背景エリア */
.p-modal__white {
    background-color: #FFFFFF;
    padding: 40px 48px 32px;
}

.p-modal__heading {
    font-family: "LINESeedJPStd ExtraBold", sans-serif;
    font-size: 22px;
    color: #00003E;
    text-align: center;
    padding-bottom: 12px;
    position: relative;
    margin: 0 auto;
}

.p-modal__heading::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 110px;
    height: 2px;
    background-color: #00003E;
}

.p-modal__lead {
    font-family: "LINESeedJPStd Bold", sans-serif;
    font-size: 18px;
    color: #00003E;
    line-height: 1.8;
    text-align: center;
    margin-top: 20px;
}

.p-modal__small {
    font-family: "LINESeedJPStd Bold", sans-serif;
    font-size: 10px;
    color: #00003E;
}

.p-modal__blue {
    color: #225CFF;
}

.p-modal__blue--lg {
    font-size: 21px;
}

.p-modal__fig {
    margin-top: 20px;
    text-align: center;
}

.p-modal__fig img {
    width: 482px;
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}

/* ネイビー背景エリア */
.p-modal__dark {
    background-color: #00003E;
    padding: 32px 48px 40px;
}

.p-modal__dark-fig {
    text-align: center;
}

.p-modal__dark-fig img {
    width: 444px;
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}

.p-modal__balloon {
    font-family: "LINESeedJPStd Bold", sans-serif;
    font-size: 11px;
    color: #ffffff;
    text-align: center;
    margin-top: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.p-modal__balloon::before,
.p-modal__balloon::after {
    content: "";
    display: block;
    width: 1px;
    height: 14px;
    background-color: #ffffff;
}

.p-modal__balloon::before {
    transform: rotate(-30deg);
}

.p-modal__balloon::after {
    transform: rotate(30deg);
}

.p-modal__btn-wrap {
    margin-top: 12px;
    text-align: center;
}

.p-modal__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 283px;
    height: 46px;
    background: linear-gradient(90deg, #F77911 0%, #FF0033 100%);
    border: none;
    border-radius: 46px;
    font-family: "LINESeedJPStd Bold", sans-serif;
    font-size: 16px;
    color: #ffffff;
    text-decoration: none;
    transition: opacity 0.3s;
    cursor: pointer;
}

.p-modal__btn:hover {
    opacity: 0.85;
}

.p-modal__btn-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    background-color: #ffffff;
    border-radius: 50%;
    flex-shrink: 0;
}

.p-modal__btn-icon::after {
    content: "";
    display: block;
    width: 5px;
    height: 8px;
    mask-image: url("/sites/default/files/media/jp/service/ly-ads/lp/getstarted/img/icon_arrow.svg");
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-image: url("/sites/default/files/media/jp/service/ly-ads/lp/getstarted/img/icon_arrow.svg");
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    background-color: #F77911;
}

/* ボタン（blue）がbuttonタグの場合のリセット */
button.c-btn--blue {
    cursor: pointer;
}

/* モーダル SP */
@media screen and (max-width: 1023px) {
    .p-modal__inner {
        width: 350px;
        max-width: 94vw;
    }

    .p-modal__close {
        top: -14px;
        right: -14px;
        width: 28px;
        height: 28px;
    }

    .p-modal__close img {
        width: 28px;
        height: 28px;
    }

    .p-modal__white {
        padding: 28px 24px 20px;
    }

    .p-modal__heading {
        font-size: 21px;
    }

    .p-modal__lead {
        font-size: 16px;
        margin-top: 16px;
    }

    .p-modal__small {
        display: none;
    }

    .p-modal__blue {
        color: inherit;
    }

    .p-modal__blue--lg {
        font-size: 20px;
        color: #225CFF;
    }

    .p-modal__fig {
        margin-top: 16px;
    }

    .p-modal__fig img {
        width: 331px;
    }

    .p-modal__dark {
        padding: 24px 20px 28px;
    }

    .p-modal__dark-fig img {
        width: 282px;
    }

    .p-modal__btn {
        width: 278px;
        height: 45px;
        font-size: 16px;
    }
}

/* ==============================================
   Footer
============================================== */
.p-footer {
    background-color: #000048;
    height: 86px;
    display: flex;
    align-items: center;
}

.p-footer__inner {
    max-width: 1240px;
    padding-inline: 20px;
    margin: 0 auto;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.p-footer__nav-list {
    display: flex;
    align-items: center;
    gap: 32px;
}

.p-footer__nav-item a {
    font-family: "LINESeedJPStd Bold", sans-serif;
    font-size: 14px;
    color: #ffffff;
    transition: opacity 0.3s;
}

.p-footer__nav-item a:hover {
    opacity: 0.7;
}

.p-footer__copy {
    font-family: "LINESeedJPStd Bold", sans-serif;
    font-size: 14px;
    color: #ffffff;
}

/* ==============================================
   ハンバーガー切り替え（1300px以下）
============================================== */
.p-header__burger {
    display: none;
}

.p-header__drawer {
    display: none;
}

@media screen and (max-width: 1300px) {
    .p-header__nav {
        display: none;
    }

    .p-header__actions {
        display: none;
    }

    .p-header__burger {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 5px;
        width: 44px;
        height: 44px;
        background: none;
        border: none;
        cursor: pointer;
        padding: 0;
        z-index: 110;
    }

    .p-header__burger-line {
        display: block;
        width: 22px;
        height: 2px;
        background-color: #000048;
        border-radius: 1px;
        transition: transform 0.3s, opacity 0.3s;
    }

    .p-header__burger.is-active .p-header__burger-line:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }

    .p-header__burger.is-active .p-header__burger-line:nth-child(2) {
        opacity: 0;
    }

    .p-header__burger.is-active .p-header__burger-line:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }

    .p-header__drawer {
        display: block;
        position: fixed;
        top: 0;
        right: 0;
        width: 100%;
        height: 100vh;
        background-color: #ffffff;
        z-index: 105;
        visibility: hidden;
        opacity: 0;
        transition: visibility 0.3s, opacity 0.3s ease;
        padding: 80px 24px 40px;
        overflow-y: auto;
    }

    .p-header__drawer.is-open {
        visibility: visible;
        opacity: 1;
    }

    .p-header__drawer-list {
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    .p-header__drawer-item a {
        display: block;
        font-family: "LINESeedJPStd Bold", sans-serif;
        font-size: 16px;
        color: #000048;
        padding: 16px 0;
        border-bottom: 1px solid #E8E6F0;
    }

    .p-header__drawer-actions {
        margin-top: 24px;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 12px;
    }

    .p-header__drawer-cta {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 48px;
        background-color: #F77911;
        border-radius: 24px;
        font-family: "LINESeedJPStd Bold", sans-serif;
        font-size: 14px;
        color: #ffffff;
    }

    .p-header__drawer-login {
        font-family: "LINESeedJPStd Bold", sans-serif;
        font-size: 14px;
        color: #000048;
    }
}

@media screen and (max-width: 1023px) {

    /* ---------- Utility SP ---------- */
    .only-pc {
        display: none !important;
    }

    .only-sp {
        display: block !important;
    }
}

/* ==============================================
   SP レスポンシブ (max-width: 1023px)
   ヘッダー & KV
============================================== */
@media screen and (max-width: 1023px) {

    /* ---------- Header SP ---------- */
    .p-header__inner {
        padding: 0 16px;
        height: 56px;
    }

    .p-header__logo img {
        width: 132px;
    }

    /* ---------- KV SP ---------- */
    .p-kv {
        background-image: url('/sites/default/files/media/jp/service/ly-ads/lp/getstarted/img/sp/bg_kv.png');
        background-position: center -130px;
        margin: 0;
    }

    .p-kv__inner {
        padding: 27px 20px 30px;
    }

    .p-kv__subtitle {
        font-size: 18px;
    }

    .p-kv__title {
        font-size: 46px;
        margin-top: 4px;
    }

    .p-kv__spttl {
        width: 290px;
        margin: 0 auto;
    }

    .p-kv__actions {
        margin-top: 24px;
    }

    /* KV ボタン SP */
    .p-kv__btn {
        width: 272px;
        height: 51px;
        font-size: 14px;
        border-radius: 51px;
    }

    .p-kv__btn-icon {
        width: 18px;
        height: 18px;
    }

    .p-kv__btn-icon::after {
        width: 3px;
        height: 6px;
    }

    /* KV テキストリンク SP */
    .p-kv__textlink {
        font-size: 12px;
        margin-top: 16px;
    }

    /* KV アイコン SP */
    .p-kv__icon--01 {
        top: -19px;
        left: -20px;
        width: 84px;
        height: 84px;
    }

    .p-kv__icon--02 {
        width: 104px;
        height: 94px;
        top: auto;
        bottom: 197px;
        left: -29px;
    }

    .p-kv__icon--03 {
        width: 48px;
        height: 48px;
        top: 174px;
        left: -15px;
    }

    .p-kv__icon--04 {
        width: 87px;
        height: 87px;
        top: 135px;
        right: -27px;
        left: auto;
    }

    .p-kv__icon--05 {
        display: none;
    }

    .p-kv__icon--06 {
        width: 29px;
        height: 29px;
        top: 14px;
        right: 15px;
        left: auto;
    }

    .p-kv__icon--07 {
        display: none;
    }

    .p-kv__icon--08 {
        width: 29px;
        top: auto;
        height: 29px;
        bottom: 228px;
        right: 18px;
        left: auto;
    }


    /* KVデバイス画像 SP */
    .p-kv__device {
        overflow: hidden;
        margin-top: -77px;
    }

    .p-kv__device img {
        width: 880px;
        max-width: none;
        display: block;
        margin: 0 auto;
        position: relative;
        left: 50%;
        transform: translateX(-50%);
    }

    /* ---------- 全セクション SP overflow制御 ---------- */
    .l-contents {
        overflow-x: hidden;
    }

    /* ---------- Intro SP ---------- */
    .p-intro__top {
        padding: 40px 0 30px;
    }

    .p-intro__top-inner {
        padding-inline: 0;
    }

    .p-intro__title {
        font-size: 26px;
        flex-direction: column;
        gap: 8px;
    }

    .p-intro__title-icon {
        width: 29px;
        height: 29px;
    }

    .p-intro__cards {
        width: 100%;
        padding-inline: 16px;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 12px;
        margin-top: 24px;
    }

    .p-intro__card {
        width: 165px;
    }

    .p-intro__card-img {
        border-radius: 8px;
    }

    .p-intro__card-text {
        font-size: 16px;
        margin-top: 10px;
    }

    .p-intro__bottom-img {
        max-width: 355px;
        margin: 20px auto 0;
    }

    /* Section01 SP */
    .p-section01 {
        background-color: #ffffff;
    }

    /* スライダーエリア SP */
    .p-section01__slider-area {
        padding-bottom: 40px;
        background-color: #ffffff;
    }

    .p-section01__header {
        padding: 50px 20px 0;
    }

    .p-section01__header-inner {
        flex-direction: column;
        gap: 0;
        padding-inline: 0;
    }

    .p-section01__title-block {
        width: 100%;
    }

    .p-section01__subtitle {
        font-size: 18px;
    }

    .p-section01__title {
        font-size: 30px;
    }

    /* SP: タイトル横テキストを非表示（スライダー下に移動するため） */
    .p-section01__slider-area .p-section01__header-inner .p-section01__desc {
        display: none;
    }

    .p-section01__splide {
        margin-top: 20px;
    }

    .p-section01__splide .splide__slide {
        width: 268px !important;
    }

    .p-section01__splide .splide__arrow {
        width: 36px;
        height: 70px;
    }

    .p-section01__splide .splide__arrow svg {
        width: 12px;
        height: 12px;
    }


    /* SP: スライダー下テキスト表示用 */
    .p-section01__slider-desc {
        display: block;
        padding: 30px 20px 0;
    }

    .p-section01__slider-desc p {
        font-family: "LINESeedJPStd Regular", sans-serif;
        font-size: 14px;
        color: #000000;
        line-height: 1.8;
    }

    /* 下エリア SP: リーチ力 */
    .p-section01__reach {
        background-color: #E7EDFF;
        padding: 50px 0 70px;
    }

    .p-section01__reach-inner {
        padding-inline: 0;
    }

    .p-section01__reach .p-section01__header-inner {
        flex-direction: column;
        gap: 0;
        padding-inline: 20px;
    }

    /* SP: リーチエリアのタイトル横テキストも非表示（画像下に移動） */
    .p-section01__reach .p-section01__header-inner .p-section01__desc {
        display: none;
    }

    .p-section01__reach-cards {
        flex-direction: column;
        gap: 16px;
        margin-top: 30px;
        padding-inline: 20px;
    }

    .p-section01__reach-card {
        width: 100%;
    }

    /* SP: リーチエリア画像下テキスト表示用 */
    .p-section01__reach-desc {
        display: block;
        padding: 25px 20px 0;
    }

    .p-section01__reach-desc p {
        font-family: "LINESeedJPStd Regular", sans-serif;
        font-size: 14px;
        color: #000000;
        line-height: 1.8;
    }

    .p-section01__notes {
        margin-top: 17px;
        padding-inline: 27px;
    }

    .p-section01__notes p {
        font-size: 10px;
    }

    .p-section02 {
        padding-bottom: 0;
    }

    /* Section02 SP */
    .p-section02__header {
        padding: 48px 20px 0;
    }

    .p-section02__header-inner {
        flex-direction: column;
        gap: 16px;
        max-width: 335px;
        padding-inline: 0;
    }

    .p-section02__subtitle {
        font-size: 18px;
    }

    .p-section02__title {
        font-size: 30px;
    }

    .p-section02__desc {
        max-width: 100%;
        padding-top: 0;
    }

    .p-section02__desc p {
        font-size: 14px;
    }

    /* 白カード SP */
    .p-section02__card {
        margin-top: 24px;
        padding-inline: 11px;
    }

    .p-section02__card-inner {
        flex-direction: column;
        max-width: 100%;
        border-radius: 16px;
        padding: 24px 20px;
    }

    .p-section02__card--left .p-section02__card-inner {
        margin-left: 0;
    }

    /* SP: card-bodyをdisplay:contentsでフラット化し、card-inner内でorder制御 */
    .p-section02__card-inner {
        display: flex !important;
        flex-direction: column;
        max-width: 100%;
        border-radius: 16px;
        padding: 38px 10px;
        min-height: auto;
    }

    .p-section02__card-inner::before {
        display: none;
    }

    .p-section02__card--left .p-section02__card-inner {
        margin-left: 0;
        border-radius: 27px;
    }

    .p-section02__card--right .p-section02__card-inner {
        margin-right: 0;
        border-radius: 27px;
        padding-bottom: 44px;
    }

    .p-section02__card-body {
        padding: 0;
        display: contents;
    }

    /* SP: タイトル→画像→リード→テキストの順 */
    .p-section02__card-title {
        font-size: 30px;
        order: 1;
        width: 85%;
    }

    .p-section02__card-title--small {
        display: block;
        font-size: 15px;
    }

    .p-section02__card-fig {
        flex: none;
        width: 100%;
        padding-inline: 16px;
        margin: 16px auto 0;
        order: 2;
    }

    .p-section02__card--left .p-section02__card-fig,
    .p-section02__card--right .p-section02__card-fig {
        position: static;
        left: auto;
        right: auto;
    }

    .p-section02__card-fig img {
        border-radius: 12px;
    }

    .p-section02__card-lead {
        font-size: 18px;
        order: 3;
        margin-top: 38px;
        padding-inline: 22px;
        width: 100%;
    }

    .p-section02__card-desc {
        font-size: 14px;
        order: 4;
        padding-inline: 22px;
        margin-top: 13px;
    }


    .p-section02__loop-list {
        padding-top: 30px;
    }

    .p-section02__loop {
        width: 100%;
    }

    /* メリット SP */
    .p-section02__merit-inner {
        width: 90%;
        padding-inline: 0;
        margin: 24px auto 0;
        padding-block: 24px;
        order: 5;
        border-radius: 16px;
    }

    .p-section02__merit-head {
        flex-direction: column;
        gap: 12px;
    }

    .p-section02__merit-text {
        padding-inline: 26px;
    }

    .p-section02__merit-title {
        font-size: 24px;
        text-align: center;
        justify-content: center;
    }

    /* SP: メリットタイトル横のダイヤアイコンを非表示 */
    .p-section02__merit-title::before {
        display: none;
    }

    .p-section02__merit-desc {
        font-size: 14px;
        line-height: 1.7;
        margin-top: 14px;
    }

    /* SP: アイコン非表示 */
    .p-section02__merit-icon {
        display: none;
    }

    .p-section02__merit-img {
        max-width: 273px;
        margin: 32px auto 0;
    }

    /* SP: ディスプレイ広告カード内スライダー背景 */
    .p-section02__card-fig--bg {
        width: 100%;
        padding-inline: 16px;
        height: 210px;
        border-radius: 12px;
        margin: 16px auto 0;
    }

    .p-section02__card-top,
    .p-section02__card--right .p-section02__card-top {
        display: contents;
    }

    .p-section02__card-fig--bg {
        order: 2;
    }

    .p-section02__loop {
        width: 100%;
    }


    .p-section02__loop-item:nth-of-type(1) {
        width: 151px;
        padding: 0 6px;
    }

    .p-section02__loop-item:nth-of-type(2) {
        width: 144px;
        padding: 0 6px;
    }

    .p-section02__loop-item:nth-of-type(3) {
        width: 117px;
        padding: 0 6px;
    }

    .p-section02__loop-item:nth-of-type(4) {
        width: 150px;
        padding: 0 6px;
    }

    .p-section02__loop-item:nth-of-type(5) {
        width: 146px;
        padding: 0 6px;
    }

    .p-section02__loop-item:nth-of-type(6) {
        width: 152px;
        padding: 0 6px;
    }

    /* 比較エリア SP */
    .p-section02__compare {
        padding: 40px 0;
        margin-top: 10px;
    }

    .p-section02__compare-inner {
        width: 100%;
        padding-inline: 10px;
    }

    .p-section02__compare-title {
        font-size: 26px;
        text-align: center;
    }

    /* SP: タイトル横アイコン非表示 */
    .p-section02__compare-title-icon {
        display: none;
    }

    /* タブボタン */
    .p-section02__compare-tabs {
        display: flex !important;
        gap: 5px;
        margin-top: 20px;
    }

    .p-section02__compare-tab {
        width: 100%;
        height: 44px;
        border: none;
        border-radius: 8px;
        font-family: "LINESeedJPStd Bold", sans-serif;
        font-size: 17px;
        cursor: pointer;
        transition: background-color 0.3s, color 0.3s;
        /* デフォルト：非カレント */
        background-color: rgba(255, 255, 255, 0.2);
        color: rgba(255, 255, 255, 0.4);
    }

    .p-section02__compare-tab.is-active {
        background-color: #ffffff;
        color: #FF0033;
    }

    .p-section02__compare-tab.is-active[data-tab="display"] {
        color: #225CFF;
    }

    /* SP: カード横並び→タブ切り替え */
    .p-section02__compare-cards {
        flex-direction: column;
        margin-top: 24px;
    }

    .p-section02__compare-card {
        width: 100%;
    }

    .p-section02__compare-card[data-panel="display"] {
        display: none;
    }

    .p-section02__compare-card.is-hidden {
        display: none;
    }

    .p-section02__compare-card.is-visible {
        display: block;
    }

    /* CTA SP */
    .p-section02__cta-inner {
        flex-direction: column;
        padding: 32px 20px;
        border-radius: 16px;
    }

    .p-section02__cta-title {
        font-size: 22px;
        text-align: center;
    }

    .p-section02__cta-btns {
        flex-direction: column;
        width: 100%;
        gap: 12px;
    }

    .p-section02__cta-btns .c-btn {
        width: 100%;
    }

    .p-section02__cta-btns .c-btn--lg {
        height: 52px;
        font-size: 14px;
    }

    .p-section02__cta-link {
        font-size: 14px;
    }

    /* 共通CTA SP */
    .p-cta {
        margin-top: 23px;
        padding-inline: 0;
    }

    .p-cta__inner {
        border-radius: 0;
        padding: 39px 20px 0;
        flex-direction: column;
    }

    .p-cta--foot .p-cta__inner {
        border-radius: 0;
    }

    .p-cta__title {
        font-size: 28px;
    }

    /* SP: PCイラスト非表示 */
    .p-cta__illust {
        display: none;
    }

    .p-cta__illust-sp {
        margin-top: 16px;
    }

    .p-cta__illust-sp img {
        width: 100%;
        height: auto;
        display: block;
    }

    .p-cta__buttons {
        flex-direction: column;
        align-items: center;
        gap: 17px;
        margin-top: 20px;
    }

    .p-cta__btn--primary {
        padding-right: 20px;
    }

    .p-cta__btn {
        width: 287px;
        height: 58px;
        font-size: 16px;
    }

    .p-cta__btn-icon {
        width: 22px;
        height: 22px;
        right: 30px;
    }

    .p-cta__btn-icon::after {
        width: 3px;
        height: 6px;
    }

    .p-cta__link {
        margin-top: 16px;
    }

    .p-cta__link-text {
        font-size: 14px;
    }

    /* Section03 SP */
    .p-section03 {
        padding-top: 6px;
    }

    .p-section03__header {
        padding: 0 20px 24px;
    }

    .p-section03__header-sub {
        font-size: 18px;
    }

    .p-section03__header-title {
        font-size: 28px;
    }

    /* 横並びブロック → 縦積み */
    .p-section03__row {
        padding: 0 0;
        margin-top: 37px;
    }

    .p-section03__row-inner {
        flex-direction: column;
        gap: 20px;
        width: 100%;
        padding-inline: 21px;
    }

    .p-section03__row--reverse .p-section03__row-inner {
        flex-direction: column;
    }

    .p-section03__row--reverse {
        margin-bottom: 30px;
    }

    .p-section03__row-body {
        width: 100%;
    }

    .p-section03__row-fig,
    .p-section03__row-fig--promo {
        flex: none;
        width: 100%;
        max-width: none;
    }

    .p-section03__row-tag {
        font-size: 14px;
        padding: 3px 12px 2px;
    }

    .p-section03__row-title {
        font-size: 24px;
        margin-top: 12px;
    }

    .p-section03__row-desc {
        font-size: 14px;
        margin-top: 16px;
    }

    /* 料金ヘッダー SP */
    .p-section03__header--dark {
        padding: 40px 20px 24px;
        background-color: #000048;
    }

    .p-section03__header-sub--white {
        font-size: 18px;
    }

    .p-section03__header-title--white {
        font-size: 30px;
    }

    /* 料金カード SP */
    .p-section03__cards {
        padding: 0 0 40px;
    }

    .p-section03__cards-inner {
        width: 100%;
        padding-inline: 16px;
        flex-direction: column;
        gap: 12px;
        margin: 20px auto 0;
    }

    .p-section03__card {
        width: 100%;
    }

    .p-section03__card-head {
        height: 98px;
        padding: 0 16px;
    }

    .p-section03__card:nth-child(1) .p-section03__card-head {
        gap: 35px;
    }

    .p-section03__card:nth-child(1) .p-section03__card-head img {
        width: 50px;
    }

    .p-section03__card:nth-child(2) .p-section03__card-head {
        gap: 18px;
    }

    .p-section03__card:nth-child(2) .p-section03__card-head img {
        width: 42px;
    }

    .p-section03__card:nth-child(3) .p-section03__card-head {
        gap: 14px;
    }

    .p-section03__card:nth-child(3) .p-section03__card-head img {
        width: 46px;
    }

    .p-section03__card-head-text {
        font-size: 21px;
    }

    .p-section03__card-body {
        padding: 20px 38px 35px;
    }

    .p-section03__card-body p {
        font-size: 16px;
    }

    /* プロモーションヘッダー SP */
    .p-section03>.p-section03__header:not(.p-section03__header--dark) {
        padding: 40px 20px 0;
    }

    /* プロモーション SP */
    .p-section03__row--promo {
        padding: 0 8px;
    }

    .p-section03__row--promo .p-section03__row-inner {
        flex-direction: column-reverse;
        max-width: 100%;
    }

    .p-section03__row--promo .p-section03__row-fig--promo {
        width: 100%;
        max-width: none;
    }

    .p-section03__row--promo .p-section03__row-title {
        font-size: 28px;
    }

    .p-section03__row--promo .p-section03__row-desc {
        font-size: 14px;
    }

    .p-section03__row-btn {
        margin-top: 20px;
    }

    .c-btn--blue {
        width: 307px;
        max-width: 100%;
        height: 56px;
        font-size: 16px;
    }

    /* Section04 SP */
    .p-section04 {
        padding: 40px 0 40px;
    }

    .p-section04__header {
        padding: 0 15px;
    }

    .p-section04__header-inner {
        gap: 10px;
    }

    .p-section04__header-title {
        font-size: 26px;
    }

    .p-section04__header-icon {
        width: 30px;
    }

    .p-section04__group {
        margin-top: 33px;
    }

    .p-section04__group+.p-section04__group {
        margin-top: 27px;
    }

    .p-section04__group-inner {
        max-width: 100%;
        padding-inline: 15px;
    }

    .p-section04__group-title {
        font-size: 15px;
        gap: 8px;
        margin-left: 0;
    }

    .p-section04__group-title::before {
        width: 8px;
        height: 8px;
    }


    /* SP: 注釈非表示 */
    .p-section04__group-title-wrap {
        display: block;
    }

    .p-section04__group-note {
        font-size: 12px;
        margin-top: 5px;
    }

    /* SP: カード背景帯なし */
    .p-section04__cards-wrap {
        background-color: transparent;
        border-radius: 0;
        overflow: visible;
    }

    .p-section04__cards-wrap::after {
        display: none;
    }

    /* SP: カード2カラム */
    .p-section04__cards {
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        gap: 9px;
        width: 100%;
        padding: 0;
    }

    .p-section04__card {
        flex: 0 0 calc(50% - 5px);
        width: calc(50% - 5px);
        min-height: auto;
        border: 2px solid #000048;
        border-radius: 10px;
        padding: 16px 12px;
        box-shadow: unset;
    }

    .p-section04__card-label {
        font-size: 13px;
    }

    .p-section04__card-number {
        font-size: 30px;
    }

    .p-section04__card-unit {
        font-size: 20px;
    }

    .p-section04__card-desc {
        font-size: 12px;
        margin-top: 2px;
        line-height: 1.6;
    }

    .p-section04__card-company {
        font-size: 10px;
        margin-top: 40px;
        text-align: right;
    }

    .p-section04__card-unit {
        font-size: 24px;
    }

    /* ---------- Footer SP ---------- */
    .p-footer {
        height: 193px;
    }

    .p-footer__inner {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 24px;
    }

    .p-footer__nav-list {
        flex-direction: column;
        gap: 12px;
        align-items: center;
    }

    .p-footer__nav-item a {
        font-size: 12px;
    }

    .p-footer__copy {
        font-size: 10px;
    }

    /* SP追従ボタン表示 */
    .c-fix-btn {
        display: block;
    }
}

.c-fix-btn {
    position: fixed;
    bottom: 0;
    display: flex;
    align-items: center;
    padding-inline: 29px;
    width: 100%;
    height: 63px;
    background-color: #fff;
}

@media screen and (min-width: 1024px) {
    .c-fix-btn {
        display: none;
    }
}

/* KV メインボタン */
.c-fix-btn__btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 46px;
    border-radius: 51px;
    background-color: #F77911;
    border: 2px solid #F77911;
    border-radius: 36px;
    font-family: "LINESeedJPStd Bold", sans-serif;
    font-size: 17px;
    color: #FFFFFF;
    gap: 12px;
    transition: background-color 0.3s, color 0.3s, border-color 0.3s;
}

.c-fix-btn__btn:hover {
    background-color: #FFFFFF;
    color: #F77911;
}

.c-fix-btn__btn-icon {
    position: absolute;
    right: 30px;
    top: 50%;
    translate: 0 -50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 21px;
    height: 21px;
    background-color: #FFFFFF;
    border-radius: 50%;
    flex-shrink: 0;
    transition: background-color 0.3s;
}

.c-fix-btn__btn-icon::before {
    content: "";
    display: block;
    width: 13px;
    height: 10px;
    background-color: #F77911;
    -webkit-mask-image: url('/sites/default/files/media/jp/service/ly-ads/lp/getstarted/img/icon_arrow.svg');
    mask-image: url('/sites/default/files/media/jp/service/ly-ads/lp/getstarted/img/icon_arrow.svg');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    transition: background-color 0.3s;
}

.c-fix-btn__btn:hover .c-fix-btn__btn-icon {
    background-color: #F77911;
}

.c-fix-btn__btn:hover .c-fix-btn__btn-icon::before {
    background-color: #FFFFFF;
}

/* PC only / SP hide */
.pc-only {
    display: block;
}

.sp-only {
    display: none;
}

@media screen and (max-width: 1023px) {
    .pc-only {
        display: none !important;
    }

    .sp-only {
        display: block !important;
    }
}