* {
    margin: 0;
}
p{
}
img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
}
a {
    color: inherit;
    text-decoration: none;
}
.pc {
    display: block;
}
.sp {
    display: none;
}
@media all and (min-width: 0px) and (max-width: 767px) {
    .pc {
        display: none !important;
    }
    .sp {
        display: block !important;
    }
}

@media all and (min-width: 768px) {
    .container {
        padding: 0;
        overflow-x: hidden;
        display: flex;
        justify-content: center;
        align-items: flex-start;
}
    }

    .wrapper {
        box-shadow: 0 0 20px 2px rgba(0, 0, 0, 0.15);
        max-width: 1080px;
        width: 100%;
        margin: 0 auto;
    }
}

.header {
    background: #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
    position: relative;
    z-index: 10;
}

.header_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1080px;
    margin: 0 auto;
}

.header_cta {
    margin: 0;
    padding: 0;
}

.header_logo {
    margin-left: 20px;
    margin-top: 20px;
    margin-bottom: 20px;
}

.header_logoimg {
    width: 320px;
    height: auto;
    display: block;
}

.header_ctaimg {
    display: block;
    width: 100%;
    height: auto;
}
.header_cta.pc {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    margin-right: 20px;
}
.header_cta_box {
    display: inline-block;
    text-align: center;
    width: 300px;
}
.header_cta_ttl {
    background-color: #00b521;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    padding: 2px 3px 2px 7px;
    margin-bottom: 3px;
    line-height: 1.4;
}
.header_cta_txt {
    display: flex;
    align-items: center;
    justify-content: center;
}
.header_cta_icon {
    width: 28px;
    height: auto;
    display: inline-block;
    margin-right: -10px;
}
.header_cta_txt p {
    margin: 0;
    font-size: 35px;
    font-weight: 1000;
    color: #00b521;
    line-height: 1;
    font-family: Arial, sans-serif !important;
    transform: scale(0.9, 1);
}
@media screen and (max-width: 768px) {
    .header_inner {
        flex-direction: row;
        justify-content: space-between;
    }
    .header_logo {
        margin-top: 0;
        margin-bottom: 0;
        width: 37%;
    }
    .header_logoimg {
        width: 100%;
    }
    .header_cta {
        width: 37%;
    }
    .header_ctaimg {
        width: 100%;
    }
}
.fv {
    position: relative;
    background-color: #f2fdff;
    height: auto;
}
.cta_pc {
    padding-top: 2vw;
    background-image: linear-gradient(0deg, #ffcc1c 60%, #f2fdff);
    height: auto;
    padding-bottom: 70px;
}
.cta2_pc {
    padding-top: 5vw;
    background-image: linear-gradient(0deg, #ffcc1c 60%, #fff);
    height: auto;
    padding-bottom: 70px;
}
.fv_inner_pc {
    position: relative;
    width: 90%;
    max-width: 1080px;
    height: 100%;
    margin: 0 auto;
    padding: 20px;
    pointer-events: none;
}
.fv_top_pc {
    position: relative;
    margin: auto;
    width: 90%;
    pointer-events: none;
}
.fv_img2 {
    position: absolute;
    top: 23%;
    right: 0;
    width: 100%;
    z-index: 1;
    pointer-events: none;
}
.fv_img1 {
    position: absolute;
    top: 0;
    right: 0;
    height: 80%;
    width: auto;
    z-index: 2;
    pointer-events: none;
}
.fv_main {
    position: relative;
    width: 100%;
    height: auto;
    z-index: 3;
    pointer-events: none;
}
.fv_cta_wrap {
    position: relative;
}
.cta_inner_pc {
    background-color: #fff;
    margin-left: 8%;
    margin-right: 8%;
    z-index: 10;
    height: auto;
    border-radius: 8px;
    border: solid 2px #333;
    position: relative;
    padding: 2.3%;
}
.cta_price_wrap {
    position: relative;
    width: 100%;
    margin: 0 auto;
}
.fv_price_img {
    padding: 0 2% 0 0.5%;
    width: 57%;
    display: block;
    pointer-events: none;
}
.cta_btn {
    position: absolute;
    top: 139%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    width: 100%;
}
.cta_btnimg {
    width: 100%;
    display: block;
    pointer-events: none;
}
.cta_btn_inner {
    position: absolute;
    top: 83%;
    left: 44%;
    transform: translate(-50%, -50%);
    z-index: 11;
}
.cta_btn_inner p {
    font-size: clamp(28px, 7vw, 77px);
    font-family: Arial, sans-serif !important;
    font-weight: 1000;
    margin: 0;
    line-height: 1;
    transform: scale(0.9, 1);
    display: inline-block;
    color: #e30707;
    white-space: nowrap;
}
.cta_under1 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    gap: 10px;
    margin: clamp(100px, 21vw, 230px) 10px 10px 0;
    background-color: #eaeaea;
}
.cta_under_inner_left {
    background-color: #333;
    color: #ffcc1c;
    font-size: clamp(14px, 1.8vw, 20px);
    font-weight: bold;
    line-height: 1.2;
    width: 22%;
    padding: 8px 4px;
    text-align: center;
    position: relative;
}
.cta_under_inner_left::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -9px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 10px solid #333;
}
.cta_under_inner_left p {
    white-space: nowrap;
}
.cta_under_inner_right {
    text-align: center;
    width: 78%;
    font-size: clamp(14px, 2vw, 20px);
    font-weight: 1000;
    line-height: 1.5;
    color: #333;
}
.cta_under_inner_right p {
    margin: 0;
    white-space: nowrap;
    display: inline-block;
}
.cta_under_inner_right .red {
    color: #d90000;
    font-weight: 1000;
}
.current_time {
    font-size: clamp(20px, 2.5vw, 40px);
    font-weight: 1000;
}
.cta_under2 {
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 10px;
    margin-top: 10px;
}
.cta_under_inner {
    width: calc((100% - 30px) / 4);
    background-color: #eaeaea;
    border-radius: 8px;
    box-sizing: border-box;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 80px;
    padding: 10px 5px;
    position: relative;
}
.cta_under_item {
    width: auto;
    height: auto;
    max-width: 80%;
    max-height: 37.5%;
    margin-bottom: 5px;
}
@media all and (min-width: 768px) {
.cta_under_item {
    width: auto;
    height: auto;
    max-width: 90%;
    max-height: 60%;
    margin-bottom: 5px;
}}
.cta_under_inner p {
    font-size: 14px;
    margin-top: auto;
    margin-bottom: 0;
    white-space: nowrap;
    }
.txt_small {
    font-size: clamp(10px, 1.3vw, 14px);
}

.fvheader {
    background-color: #00b521;
    width: 100%;
}
.fvheadimg {
    width: calc(466 / 750 * 100%);
    margin: auto;
    display: block;
}

.fv.sp {
    position: relative;
    background-color: #f2fdff;
}

.fv_inner_sp {
    position: relative;
    padding: calc(22 / 750 * 100%);
    pointer-events: none;
}

.fv_top_sp {
    position: relative;
    width: 100%;
    height: auto;
    z-index: 3;
    pointer-events: none;
}

.fv_coupon_sp {
    position: relative;
    padding-top: 3vw;
    width: 100%;
    height: auto;
    z-index: 3;
    pointer-events: none;
}
.fv_img1.sp {
    position: absolute;
    top: 0;
    right: 0;
    height: 60%;
    width: auto;
    z-index: 2;
    pointer-events: none;
}

.fv_img2.sp {
    position: absolute;
    top:63vw;
    right: 0;
    width: 100%;
    z-index: 1;
    pointer-events: none;
}

.cta_sp {
    background-image: linear-gradient(0deg, #ffcc1c 60%, #f2fdff);
    height: auto;
    padding: calc(22 / 750 * 100%);
    padding-bottom: clamp(1px, 10vw, 70px);
}
.cta2_sp {
    background-image: linear-gradient(0deg, #ffcc1c 60%, #fff);
    height: auto;
    padding: calc(22 / 750 * 100%);
    padding-bottom: clamp(1px, 10vw, 70px);
}
.cta_ttl_sp {
    width: calc(505 / 750 * 100%);
    display: block;
    margin: auto;
}
.cta_inner_sp {
    margin-top: 6vw;
    background-color: #fff;
    z-index: 10;
    height: auto;
    border-radius: 8px;
    border: solid 2px #333;
    position: relative;
    padding: 2.3%;
}
.cta_price_wrap_sp {
    position: relative;
    height: 67vw; /* ここで全体の縦スペース確保 */
}
.cta_price_sp {
    position: absolute;
    top: 4vw;
    left: 0;
    width: calc(460 / 705 * 100%);
    z-index: 3;
}

.cta_btn_sp {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 2;
}

.cta_person_sp {
    position: absolute;
    right: -2.3%;
    bottom: 30%; /* 少し下にはみ出す場合 */
    width: calc(260 / 705 * 100%);
    z-index: 2;
    pointer-events: none;
}
.cta_btnimg_sp {
    width: 100%;
    display: block;
}
.cta_btn_inner_sp {
    position: absolute;
    top: 62%; /* ボタン画像の中央 */
    left: 59%;
    transform: translate(-50%, -50%) scale(0.9, 1); /* 横だけ圧縮 */
    z-index: 3;
    pointer-events: none;
}

.cta_btn_inner_sp p {
    font-size: clamp(1px, 7.6vw, 70px);
    font-family: Arial, sans-serif !important;
    font-weight: 1000;
    color: #fff;
    margin: 0;
    line-height: 1;
    white-space: nowrap;
}

@media all and (min-width: 0px) and (max-width: 767px) {
    .cta_under1 {
        width: 96%;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        margin: 2% auto;
        border-radius: 8px;
    }

    .cta_under_inner_left {
        width: 100%;
        text-align: center;
        padding: 2vw 0;
        font-size: 4.5vw;
    }

    .cta_under_inner_left p {
        white-space: nowrap;
    }
    .cta_under_inner_left::after {
        right: 50%;
        top: 100%;
        transform: translateX(50%);
        border-top: 2.5vw solid #333;
        border-left: 2.5vw solid transparent;
        border-right: 2.5vw solid transparent;
        border-bottom: none;
    }

    .cta_under_inner_right {
        width: 100%;
        font-size: clamp(1px, 3.6vw, 30px);
        padding: 3vw 2vw;
        line-height: 1.6;
    }

    .cta_under_inner_right p {
        white-space: normal;
        text-align: center;
    }

    .midnum {
        font-size: clamp(15px, 5.3vw, 100px);
        font-weight: 1000;
    }
    .cta_under2 {
        width: 96%;
        flex-wrap: wrap;
        margin: auto;
        gap: 2vw;
        justify-content: space-between;
    }

    .cta_under_inner {
        width: calc(50% - 1vw);
        height: auto;
        padding: 3vw 0;
    }

    .cta_under_item {
        max-height: 32px;
        margin-bottom: 6px;
    }

    .cta_under_inner p {
        font-size: 3.4vw;
        white-space: nowrap;
        font-weight: bold;
    }

    .txt_small {
        font-size: 3vw;
    }
}
.problem {
    width: 100%;
    height: auto;
}
.price_pc_inner {
    width: calc(760 / 1080 * 100%);
    margin: 5vw auto;
    padding-bottom: 5vw;
}
.price_sp_inner {
    width: calc(705 / 750 * 100%);
    margin: 3vw auto;
    padding-bottom: calc(5vw + 20px);
}
@media screen and (min-width: 769px) {
.price_sp_inner {
    width: calc(400 / 750 * 100%);
    margin: 1vw auto;
    padding-bottom: 5vw;
}
    .guarantee_sp{
    width: calc(400 / 750 * 100%);
        margin: auto;
        display: block;
    }
    
}
.spinner {
    position: relative; /* 親にrelativeを指定 */
    width: calc(1014 / 1080 * 100%);
    margin: auto;
    background-color: #fff;
    border-radius: 8px;
    height: auto;
    padding-top: 10vw;
}
.spinner_s {
    position: relative;
    width: 100%;
    max-width: 1014px;
    margin: auto;
    background-color: #fff;
    border-radius: 8px;
    padding: clamp(1px,10vw,108px) 3vw 3vw;
    box-sizing: border-box;
    box-shadow: 0 0 1vw 1vw rgba(19, 36, 61, 0.1);
}

/* === デフォルト（PC用） === */
.price_detail_wrapper {
    display: flex;
    justify-content: space-between;
    gap: 2%; /* より安定したgapに変更 */
    flex-wrap: nowrap;
    box-sizing: border-box;
}

.price_detail_item {
    flex: 0 0 32%; /* gap 2% × 2 で、合計96% ＝ 収まる */
    display: flex;
    flex-direction: column;
    background-color: #1c3d5d;
    color: #fff;
    text-align: center;
    box-sizing: border-box;
}
/* 画像 + テキスト（縦並び） */
.price_detail_item_list {
    width: 100%;
    box-sizing: border-box;
}

.price_detail_text {
    text-align: center;
    font-weight: 700;
    font-size: clamp(1px, 2vw, 21.6px);
    color: #fff;
    line-height: 1.6;
    padding: 2vw 0;
}
.price_detail_item_list:nth-child(2) {
    align-items: center; /* ← 上下中央揃え */
    justify-content: center; /* ← 横方向中央 */
}

.price_detail_text span {
    color: #fbd01d;
}

@media screen and (min-width: 769px) {
    .price_detail_item {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .price_detail_item_list:nth-child(2) {
        display: flex;
        align-items: center; /* ← 上下中央揃え */
        justify-content: center;
        height: 100%; /* 親に合わせて伸ばす */
        text-align: center;
    }

    .price_detail_text {
        line-height: 1.6;
        font-size: clamp(1px, 2vw, 21.6px);
        margin: 0 auto;
        display: inline-block;
    }
}

/* スマホ表示（768px以下）でレイアウト切り替え */
@media screen and (max-width: 768px) {
    .price_detail_wrapper {
        flex-direction: column; /* 全体が縦並びになる */
        gap: 5vw;
    }

    .price_detail_item {
        flex-direction: row-reverse; /* 子要素が横並び（画像⇔テキスト） */
        width: 100%;
        align-items: center;
    }

    .price_detail_item_list:first-child {
        width: 37.5%; /* 画像 */
        justify-content: center;
        display: flex;
    }

    .price_detail_item_list:nth-child(2) {
        width: 62.5%; /* テキスト */
        justify-content: center;
        display: flex;
        text-align: left;
    }
    .price_detail_text {
        font-size: clamp(1px, 3.8vw, 30px);
    }
}

.price_range_ttl_sp {
    position: absolute;
    top: -25px; /* 上に25pxはみ出す */
    left: 50%;
    transform: translateX(-50%);
    width: calc(287 / 704 * 100%);
    display: block;
    z-index: 1;
}
.price_range_sp {
    width: calc(619 / 704 * 100%);
    margin: auto;
    display: block;
    padding-bottom: 5vw;
}



.txt_disc {
    font-size: clamp(2px, 3vw, 18px);
    line-height: 0.5;
}

.area {
    background-image: repeating-linear-gradient(45deg, #0000000a, #0000000a 4px, transparent 4px, transparent 10px),
        radial-gradient(circle at 20% 16%, rgba(255, 241, 183, 1), rgba(255, 207, 0, 1) 80%);
    padding-bottom: 5vw;
    position: relative;
  overflow: hidden; 
    z-index: -10;
}
.area::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  background-image: url("../img/area_ttl_bg.webp"); /* パス調整 */
  background-repeat: no-repeat;
  background-position: right center;
  background-size: contain;
  opacity: 0.06; /* 透かし具合（調整可） */
  pointer-events: none; /* クリックなどを無効化 */
  z-index: 1;
}

.spinnerss {
    position: relative; /* 親にrelativeを指定 */
    width: calc(1014 / 1080 * 100%);
    margin: auto;
    background-color: #fff;
    border-radius: 8px;
    height: auto;
    padding-top: 20px;
}
.area_subttl {
    position: absolute;
    top: -25px; /* 上に25pxはみ出す */
    left: 50%;
    transform: translateX(-50%);
    width: calc(230 / 1080 * 100%);
    display: block;
    z-index: 1;
}
@media screen and (max-width: 768px) {
.area_subttl {
    position: absolute;
    top: -20px; /* 上に25pxはみ出す */
    left: 50%;
    transform: translateX(-50%);
    width: calc(287 / 704 * 100%);
    display: block;
    z-index: 1;
    }
.spinnerss {
    position: relative; /* 親にrelativeを指定 */
    width: calc(1014 / 1080 * 100%);
    margin: auto;
    background-color: #fff;
    border-radius: 8px;
    height: auto;
    padding-top: 20px;
}
}
.area_ttl {
    padding-top: 5vw;
    padding-bottom: 2vw;
    width: calc(895 / 1080 * 100%);
    margin: auto;
}
@media screen and (max-width: 768px) {
    .area_ttl {
        width: calc(705 / 750 * 100%);
        margin: auto;
    }
}

.cta_disc {
    padding-top: 10px;
    width: calc(900 / 1080 * 100%);
    margin: auto;
    font-size: clamp(10px,1.3vw,14px);
    line-height: clamp(13px,1.7vw,18.7px);
}
.cta_disc_sp {
    padding-top: 10px;
    width: calc(655 / 704 * 100%);
    margin: auto;
    font-size: 3vw;
}

.cta2_ttl {
    width: calc(850 / 1080 * 100%);
    margin: auto;
    display: block;
    padding-bottom: 3vw;
    z-index: 2;
}

/* === 全体の背景とセクション間 === */
.voice {
    background-color: #feede6;
    padding: clamp(1px,5vw,54px) 0;
}

/* 見出し画像（PC・SP切り替え） */
.voice_ttl {
    display: none;
    margin: 0 auto clamp(1px,4vw,43px);
    max-width: 90%;
}
.voice_ttl.pc {
    max-width: 50%;
    display: block;
    padding-bottom: clamp(1px,2vw,22px);
}
.voice_ttl.sp {
    max-width: 70%;
    padding-bottom: 4vw;
    display: none;
}
@media screen and (max-width: 768px) {
    .voice_ttl.pc {
        display: none;
    }
    .voice_ttl.sp {
        display: block;
    }
}

/* フレックスで並べる：PC2列、SP1列 */
.voiceflex {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2vw;
    padding: 0 3vw; /* ← 左右に3vwずつ余白を追加 */
}

/* 各ボイスカード全体ボックス */
.voce_inner {
    position: relative;
    background: #fff;
    width: calc(50% - 2vw);
    box-sizing: border-box;
    margin-bottom: 2vw;
}
@media screen and (max-width: 768px) {
    .voce_inner {
        width: 100%;
        margin-bottom: 3vw;
    }
}

/* タイトル画像：上に半分はみ出す */
.voice_subttl {
    position: absolute;
    top: clamp(-20px, -2.6vw, -28.5px);
    left: 50%;
    transform: translateX(-50%);
    width: 50%;
    z-index: 2;
}
@media screen and (max-width: 768px) {
    .voice_subttl {
        position: absolute;
        top: -4vw;
        left: 50%;
        transform: translateX(-50%);
        width: 40%;
        z-index: 2;
    }
}

/* 内部の左右レイアウトエリア */
.voice_inner_item {
    display: flex;
    flex-wrap: nowrap;
    padding: 5.6%;
    box-sizing: border-box;
    gap: 15px;
}

.voice_inner_item_list {
    width: 50%;
    box-sizing: border-box;
    position: relative;
}

/* 画像 */
.voiceimg {
    width: 100%;
    display: block;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    position: relative;
}

/* ズームアイコン中央重ね配置 */
.zoom_icon {
    position: absolute;
    top: 45%;
    left: 50%;
    width: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

/* タップアイコン */
.voice_tap {
    display: block;
    width: 100%;
    margin-top: 1vw;
}
.voice_tap.sp {
    display: none;
}
.voice_tap.pc {
    display: block;
}
@media screen and (max-width: 768px) {
    .voice_tap.sp {
        display: block;
    }
    .voice_tap.pc {
        display: none;
    }
}

/* テキスト */
.voice_txt {
    padding-top: 10px;
    max-width: 100%;
    font-size: clamp(15.5px, 2vw, 21.5px);
    line-height: 1.5;
    font-weight: 700;
    color: #6d6d6d;
    margin-bottom: 1.5vw;
}

@media screen and (max-width: 768px) {
    .voice_txt {
        padding-top: 5px;
        max-width: 100%;
        font-size: 4.4vw;
        line-height: 1.5;
        font-weight: 700;
        color: #6d6d6d;
        margin-bottom: 1.5vw;
    }
}
/* 人物画像 */
.voice_person {
    max-width: 70%;
    width: 70%;
    margin: auto;
    display: block;
}
@media screen and (max-width: 768px) {
    .voice_person {
        max-width: 70%;
        width: 70%;
        margin: 2vw auto 0;
    }
}
.voice_meta {
    font-size: 0.85rem;
    color: #666;
    font-weight: 400;
    text-align: center;
    margin-top: 0.2vw;
}
@media screen and (max-width: 768px) {
    .voice_meta {
        font-size: 2.2vw;
        margin-top: 0.5vw;
    }
}

.voice_disc {
    position: absolute;
    right: 1vw;
    bottom: 0.5vw;
    font-size: 0.6rem;
    color: #999;
    text-align: right;
}
.faq {
    background-image: repeating-linear-gradient(
            to bottom,
            transparent 15px,
            #e6e6e6 16px,
            transparent 17px,
            transparent 31px,
            #e6e6e6 32px,
            transparent 33px,
            transparent 47px,
            #e6e6e6 48px,
            transparent 49px,
            transparent 63px,
            #e6e6e6 64px,
            transparent 65px,
            transparent 79px,
            #e6e6e6 80px
        ),
        repeating-linear-gradient(
            to right,
            transparent 15px,
            #e6e6e6 16px,
            transparent 17px,
            transparent 31px,
            #e6e6e6 32px,
            transparent 33px,
            transparent 47px,
            #e6e6e6 48px,
            transparent 49px,
            transparent 63px,
            #e6e6e6 64px,
            transparent 65px,
            transparent 79px,
            #e6e6e6 80px
        );
    background-color: #fff;
}
.faq_inner {
    padding: 0 3vw 3vw 3vw;
}
/* タイトルボックス：上下以外余白なし */
.faq_ttl_box {
    background-color: #01b522;
    width: 100%;
    text-align: center;
    padding: 2vw 0 2vw 0;
    margin-bottom: clamp(1px,4vw,44px); /* ← 下に余白 */
}

.faq_ttl {
    font-size: 1.8rem;
    color: #fff;
    font-weight: 1000;
    margin: 0;
}

/* 各質問アイテム */
.faq_item {
    border: 2px solid #01b522;
    background: #fff;
    margin-bottom: clamp(1px,2.5vw,27.5px); /* ← 間隔を半分に */
    width: 100%;
}
/* Q部分 */
.faq_q {
    margin: 0;
}

.faq_question {
    background-color: #01b522;
    color: #fff;
    font-weight: 1000;
    padding: 1vw 2vw;
    margin: 0;
    line-height: 1.6;
    display: flex;
    align-items: center;
    gap: 2vw;
    font-size: clamp(1px,2.4vw,26.36px);
}
/* Qアイコンをインラインで左に入れる */
.faq_icon_img_inline {
    width: clamp(1px,3vw,32.952px);
    height: clamp(1px,3vw,32.952px);
    flex-shrink: 0;
}

/* A部分 */
.faq_a {
    margin: 0;
}

.faq_answer {
    margin: 0;
    font-size: clamp(1px,2vw,22px);
    color: #333;
    line-height: 1.6;
    background: #fff;
    padding: 1.5vw 2vw;
}

.txt_smallqa {
    font-size: clamp(10px, 1.6vw, 17.6px);
}
/* スマホ調整 */
@media screen and (max-width: 768px) {
    .faq_ttl {
        font-size: 5vw;
    }

    .faq_question {
        font-size: 5vw;
        gap:2vw;
    }
    .faq_answer {
        font-size:  4.5vw;
        padding: 3vw 4vw;
    }

    .faq_icon_img_inline {
        width: 8vw;
        height: 8vw;
    }

    .txt_smallqa {
        font-size: 4vw;
    }
}
/* --- フッター全体 --- */
.footer {
    background-color: #13243d;
    color: #fff;
    padding: 6vw 5vw 10vw;
    font-size: 3.2vw;
}
@media screen and (max-width: 768px) {
.footer {
    background-color: #13243d;
    color: #fff;
    padding:6vw 5vw calc(10vw + 120px);
    font-size: 3.2vw;
    }}
.footer_inner {
    max-width: 1080px;
    margin: 0 auto;
    text-align: center;
}

/* --- ロゴ --- */
.footer_logo img {
    width: 140px;
    height: auto;
    margin: 0 auto 5vw;
}

/* --- ナビ（SPは縦並び） --- */
.footer_nav {
    list-style: none;
    padding: 0;
    margin: 0 0 6vw;
}

.footer_nav li {
    margin-bottom: 3vw;
}

.footer_nav a {
    color: #fff;
    text-decoration: none;
    font-weight: 500;
}

/* --- コピーライト --- */
.footer_copy {
    font-size: 3vw;
    opacity: 0.6;
}

/* --- PCレイアウト --- */
@media screen and (min-width: 769px) {
    .footer {
        padding: 30px 40px 40px;
        font-size: 14px;
    }

    .footer_inner {
        text-align: center;
    }

    .footer_nav {
        gap: 40px;
        margin: 20px 0 40px;
    }

    .footer_nav li {
        margin: 0;
    }

    .footer_copy {
        font-size: 13px;
        opacity: 0.6;
    }
}
.voice_modal {
    display: none;
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.6);
    z-index: 1000;
}

/* ← 背景として全体を覆う */
.voice_modal_overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
    z-index: 1;
}

.voice_modal_content {
    position: relative;
    z-index: 2; /* ← overlay より前に出す */
    margin: 6vh auto;
    max-width: 90vw;
    max-height: 90vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

.voice_modal_content img {
    max-width: 90vw;
    max-height: 90vh;
    object-fit: contain;
}

.voice_modal_close {
    position: absolute;
    top: -30px;
    right: 0;
    font-size: 2rem;
    color: #fff;
    cursor: pointer;
    z-index: 3;
}
@media screen and (max-width: 768px) {
    .voice_modal_close {
        top: 10px;
        right: 10px;
        font-size: 2.4rem;
        background: rgba(0, 0, 0, 0.3);
        padding: 4px 10px;
        border-radius: 4px;
    }
}
body.modal-open {
    overflow: hidden;
    height: 100%;
    touch-action: none; /* モバイルでのスワイプ防止（任意） */
}

.sec_worth {
    position: relative;
}

/* PC用：右上の丸に合わせる */
.hivepc {
    position: absolute;
    top: 56.5%;
    left: 81%;
    width: calc(110 / 1080 * 100%);
    z-index: 2;
}

/* SP用：位置を調整 */
.hivesp {
    position: absolute;
    top: 56.5%;
    left: 78%;
    width: calc(96 / 750 * 100%);
    z-index: 2;
}

.area-box-txt01 {
  font-family: 'Noto Sans', sans-serif;
    padding: 3.5em 0 1.9375rem 3%;
    font-size: clamp(1px,1.79vw,19.5px);
    letter-spacing: 0.05em;
    font-weight: 600;
    line-height: 1.9;
    /* border-radius: 2vw; */
    margin: -1.875rem 0 0 0;
}
@media screen and (max-width: 767px) {
    .area-box-txt01 {
  font-family: 'Noto Sans', sans-serif;
    padding: 12vw 0 1rem 1rem;
    font-size: 3.9vw;
    letter-spacing: 0.05em;
    font-weight: 600;
    line-height: 1.8;
    border-radius: 1.5625rem;
    margin: -2.8125rem 0 0 0;
    position: relative;
}
}
.bnr_txt {
    position: absolute;
    right: 20%;
    bottom: 22%;
    font-size: 26.19px;
    font-family: Arial, sans-serif !important;
    font-weight: 1000;
    margin: 0;
    line-height: 1;
    transform: scale(0.9, 1);
    display: inline-block;
    color: #333;
    white-space: nowrap;
}

.bnr_txt_sp {
    position: absolute;
    right: 10%;
    bottom: 30%;
    font-size: clamp(1px, 6.8vw, 77px);
    font-family: Arial, sans-serif !important;
    font-weight: 1000;
    margin: 0;
    line-height: 1;
    transform: scale(0.9, 1);
    display: inline-block;
    color: #333;
    white-space: nowrap;
}

.txtbase {
    font-family: "Noto Sans", sans-serif;
    font-weight: 900; /* Black */
    font-style: italic; /* 斜体 */
}
.txt01 {
    font-size: 9vw;
    color: red;
}
.txt02 {
    font-size: 7.5vw;
    color: #333;
}
@media screen and (min-width: 768px) {
    .txt01 {
        font-size: clamp(1px, 5vw, 55px);
    }
    .txt02 {
        font-size: clamp(1px, 4vw, 48px);
    }
}

.area-ttl01 {
    letter-spacing: 0.04em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: auto;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    position: relative;
}

.ttl_area {
    width: calc(1014 / 1080 * 100%);
    padding: 30px 0 45px 7.5rem;
    margin: auto;
    position: relative;
}
@media screen and (max-width: 767px) {
    .area-ttl01 {
        letter-spacing: 0.04em;
        position: relative;
        line-height: 1.19;
    }

    .ttl_area {
        width: calc(705 / 750 * 100%);
        padding: 30px 0 40px 0;
        margin: auto;
        position: relative;
    }
}

.area_ttl_bg {
    position: absolute;
    right: 5%;
    top: 0;
    width: 30%;
    z-index: -1;
    opacity: 0.8;
}

.area_ttl_bg_sp {
    position: absolute;
    right: 5%;
    top: 0;
    width: 80%;
    z-index: -1;
    opacity: 0.8;
}
.sp.block {
    display: none;
}
@media screen and (min-width: 769px) {
    .ttl_area::before {
        content: "";
        position: absolute;
        background: url(../img/beebuster.webp) no-repeat center/cover;
        width: 5.5rem;
        height: 5.5rem;
        top: 19%;
        left: 3%;
    }
}
/* スマホ表示時だけ表示する */
@media screen and (max-width: 768px) {
    .sp.block {
        display: block;
    }
    .area-ttl01sp::before {
        content: "";
        position: absolute;
        background: url(../img/beebuster.webp) no-repeat center/cover;
        width: 14vw;
        height: 14vw;
        top: -10%;
        right: 0%;
    }

    .area-ttl01sp {
        letter-spacing: 0.04em;
        position: relative;
        line-height: 1.19;
    }
}

@media screen and (min-width: 768px) {
    .area_car {
        position: absolute;
        top: -20%; /* 上に25pxはみ出す */
        right: -4%;
        transform: translateX(-50%);
        width: calc(80 / 704 * 100%);
        display: block;
        z-index: 1;
    }
}
@media screen and (max-width: 767px) {
    .area_carsp {
        position: absolute;
        top: 90px;
        right: -8%;
        transform: translateX(-50%);
        width: calc(180 / 750 * 100%);
        display: block;
        z-index: 10;
    }
}

.price {
    margin-top: 0;
    padding-bottom: clamp(1px, 3vw, 33px);
    padding-top: clamp(1px, 7vw, 77px);
    background-image: repeating-linear-gradient(
            to bottom,
            /* 横線 */ transparent 15px,
            #e6e6e6 16px,
            #e6e6e6 16px,
            transparent 17px,
            transparent 31px,
            #e6e6e6 32px,
            #e6e6e6 32px,
            transparent 33px,
            transparent 47px,
            #e6e6e6 48px,
            #e6e6e6 48px,
            transparent 49px,
            transparent 63px,
            #e6e6e6 64px,
            #e6e6e6 64px,
            transparent 65px,
            transparent 79px,
            #e6e6e6 80px,
            #e6e6e6 80px
        ),
        repeating-linear-gradient(
            to right,
            /* 縦線 */ transparent 15px,
            #e6e6e6 16px,
            #e6e6e6 16px,
            transparent 17px,
            transparent 31px,
            #e6e6e6 32px,
            #e6e6e6 32px,
            transparent 33px,
            transparent 47px,
            #e6e6e6 48px,
            #e6e6e6 48px,
            transparent 49px,
            transparent 63px,
            #e6e6e6 64px,
            #e6e6e6 64px,
            transparent 65px,
            transparent 79px,
            #e6e6e6 80px,
            #e6e6e6 80px
        );

    height: auto;
}
.price_ttl {
    width: 86.2%;
    margin: auto;
    margin-bottom: clamp(1px, 5vw, 55px);
}
.price_bee_type_ttl {
    width: 62.2%;
    margin: auto;
    display: block;
    margin-bottom: clamp(-11px, -1vw, 11px);
}
.price_bee_type {
    width: 93.9%;
    margin: auto;
    margin-bottom: clamp(1px, 3vw, 33px);
}
.price_where {
    width: 93.9%;
    margin: auto;
    margin-bottom: clamp(1px, 3vw, 33px);
}
.price_free {
    width: 81.85%;
    margin: auto;
}
.price_support {
    width: 91.67%;
    margin: auto;
}
.price_guarantee {
    width: 91.67%;
    margin: auto;
}
.disclaimer {
    padding: 0 0 2vw 0;
    margin-top: clamp(-16.44px, -1.5vw, 1px);
}
@media screen and (max-width: 767px) {
    .cta_disc {
        padding-top: 10px;
        width: calc(705 / 750 * 100%);
        margin: auto;
        font-size: clamp(10px, 1.3vw, 14px);
        line-height: clamp(15px, 1.7vw, 18.7px);
    }

    .price {
        margin-top: 0;
        padding-bottom: 3vw;
        padding-top: 13vw;
        background-color: repeating-linear-gradient(
                to bottom,
                /* 横線 */ transparent 9px,
                #e6e6e6 10px,
                #e6e6e6 10px,
                transparent 11px,
                transparent 19px,
                #e6e6e6 20px,
                #e6e6e6 20px,
                transparent 21px,
                transparent 29px,
                #e6e6e6 30px,
                #e6e6e6 30px,
                transparent 31px,
                transparent 39px,
                #e6e6e6 40px,
                #e6e6e6 40px,
                transparent 41px,
                transparent 49px,
                #e6e6e6 50px,
                #e6e6e6 50px
            ),
            repeating-linear-gradient(
                to right,
                /* 縦線 */ transparent 9px,
                #e6e6e6 10px,
                #e6e6e6 10px,
                transparent 11px,
                transparent 19px,
                #e6e6e6 20px,
                #e6e6e6 20px,
                transparent 21px,
                transparent 29px,
                #e6e6e6 30px,
                #e6e6e6 30px,
                transparent 31px,
                transparent 39px,
                #e6e6e6 40px,
                #e6e6e6 40px,
                transparent 41px,
                transparent 49px,
                #e6e6e6 50px,
                #e6e6e6 50px
            );
    }

    .price_ttl {
        width: 91.86%;
        margin: auto;
        margin-bottom: 6vw;
    }
    .price_bee_type_ttl {
        width: 89.33%;
        margin: auto;
        display: block;
        margin-bottom: -2.2vw;
    }
    .price_bee_type {
        width: 100%;
        margin: auto;
        margin-bottom: 4vw;
    }
    .price_where {
        width: 91.06%;
        margin: auto;
        margin-bottom: 3vw;
    }
    .price_free {
        width: 100%;
        margin: auto;
        margin-bottom: 7vw;
    }
    .price_support {
        width: 100%;
        margin: auto;
    }
    .price_guarantee {
        width: 100%;
        margin: auto;
    }
}.bnr_txt {
    position: absolute;
    right: 20%;
    bottom: 22%;
    font-size: 26.19px;
    font-family: Arial, sans-serif !important;
    font-weight: 1000;
    margin: 0;
    line-height: 1;
    transform: scale(0.9, 1);
    display: inline-block;
    color: #333;
    white-space: nowrap;
}

.bnr_txt_sp {
    position: absolute;
    right: 10%;
    bottom: 30%;
    font-size: clamp(1px, 6.8vw, 77px);
    font-family: Arial, sans-serif !important;
    font-weight: 1000;
    margin: 0;
    line-height: 1;
    transform: scale(0.9, 1);
    display: inline-block;
    color: #333;
    white-space: nowrap;
}

.txtbase {
    font-family: "Noto Sans", sans-serif;
    font-weight: 900; /* Black */
    font-style: italic; /* 斜体 */
}
.txt01 {
    font-size: 9vw;
    color: red;
}
.txt02 {
    font-size: 7.5vw;
    color: #333;
}
@media screen and (min-width: 768px) {
    .txt01 {
        font-size: clamp(1px, 5vw, 55px);
    }
    .txt02 {
        font-size: clamp(1px, 4vw, 48px);
    }
}

.area-ttl01 {
    letter-spacing: 0.04em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: auto;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    position: relative;
}

.ttl_area {
    width: calc(1014 / 1080 * 100%);
    padding: 30px 0 45px 7.5rem;
    margin: auto;
    position: relative;
}
@media screen and (max-width: 767px) {
    .area-ttl01 {
        letter-spacing: 0.04em;
        position: relative;
        line-height: 1.19;
    }

    .ttl_area {
        width: calc(705 / 750 * 100%);
        padding: 30px 0 40px 0;
        margin: auto;
        position: relative;
    }
}

.area_ttl_bg {
    position: absolute;
    right: 5%;
    top: 0;
    width: 30%;
    z-index: -1;
    opacity: 0.8;
}

.area_ttl_bg_sp {
    position: absolute;
    right: 5%;
    top: 0;
    width: 80%;
    z-index: -1;
    opacity: 0.8;
}
.sp.block {
    display: none;
}
@media screen and (min-width: 769px) {
    .ttl_area::before {
        content: "";
        position: absolute;
        background: url(../img/beebuster.webp) no-repeat center/cover;
        width: 5.5rem;
        height: 5.5rem;
        top: 19%;
        left: 3%;
    }
}
/* スマホ表示時だけ表示する */
@media screen and (max-width: 768px) {
    .sp.block {
        display: block;
    }
    .area-ttl01sp::before {
        content: "";
        position: absolute;
        background: url(../img/beebuster.webp) no-repeat center/cover;
        width: 14vw;
        height: 14vw;
        top: -10%;
        right: 0%;
    }

    .area-ttl01sp {
        letter-spacing: 0.04em;
        position: relative;
        line-height: 1.19;
    }
}

@media screen and (min-width: 768px) {
    .area_car {
        position: absolute;
        top: -20%; /* 上に25pxはみ出す */
        right: -4%;
        transform: translateX(-50%);
        width: calc(80 / 704 * 100%);
        display: block;
        z-index: 1;
    }
}
@media screen and (max-width: 767px) {
    .area_carsp {
        position: absolute;
        top: 90px;
        right: -8%;
        transform: translateX(-50%);
        width: calc(180 / 750 * 100%);
        display: block;
        z-index: 10;
    }
}

.price {
    margin-top: 0;
    padding-bottom: clamp(1px, 3vw, 33px);
    padding-top: clamp(1px, 7vw, 77px);
    background-image: repeating-linear-gradient(
            to bottom,
            /* 横線 */ transparent 15px,
            #e6e6e6 16px,
            #e6e6e6 16px,
            transparent 17px,
            transparent 31px,
            #e6e6e6 32px,
            #e6e6e6 32px,
            transparent 33px,
            transparent 47px,
            #e6e6e6 48px,
            #e6e6e6 48px,
            transparent 49px,
            transparent 63px,
            #e6e6e6 64px,
            #e6e6e6 64px,
            transparent 65px,
            transparent 79px,
            #e6e6e6 80px,
            #e6e6e6 80px
        ),
        repeating-linear-gradient(
            to right,
            /* 縦線 */ transparent 15px,
            #e6e6e6 16px,
            #e6e6e6 16px,
            transparent 17px,
            transparent 31px,
            #e6e6e6 32px,
            #e6e6e6 32px,
            transparent 33px,
            transparent 47px,
            #e6e6e6 48px,
            #e6e6e6 48px,
            transparent 49px,
            transparent 63px,
            #e6e6e6 64px,
            #e6e6e6 64px,
            transparent 65px,
            transparent 79px,
            #e6e6e6 80px,
            #e6e6e6 80px
        );

    height: auto;
}
.price_ttl {
    width: 86.2%;
    margin: auto;
    margin-bottom: clamp(1px, 5vw, 55px);
}
.price_bee_type_ttl {
    width: 62.2%;
    margin: auto;
    display: block;
    margin-bottom: clamp(-11px, -1vw, 11px);
}
.price_bee_type {
    width: 93.9%;
    margin: auto;
    margin-bottom: clamp(1px, 3vw, 33px);
}
.price_where {
    width: 93.9%;
    margin: auto;
    margin-bottom: clamp(1px, 3vw, 33px);
}
.price_free {
    width: 81.85%;
    margin: auto;
}
.price_support {
    width: 91.67%;
    margin: auto;
}
.price_guarantee {
    width: 91.67%;
    margin: auto;
}
.disclaimer {
    padding: 0 0 2vw 0;
    margin-top: clamp(-16.44px, -1.5vw, 1px);
}
@media screen and (max-width: 767px) {
    .cta_disc {
        padding-top: 10px;
        width: calc(705 / 750 * 100%);
        margin: auto;
        font-size: clamp(10px, 1.3vw, 14px);
        line-height: clamp(15px, 1.7vw, 18.7px);
    }

    .price {
        margin-top: 0;
        padding-bottom: 3vw;
        padding-top: 13vw;
        background-color: repeating-linear-gradient(
                to bottom,
                /* 横線 */ transparent 9px,
                #e6e6e6 10px,
                #e6e6e6 10px,
                transparent 11px,
                transparent 19px,
                #e6e6e6 20px,
                #e6e6e6 20px,
                transparent 21px,
                transparent 29px,
                #e6e6e6 30px,
                #e6e6e6 30px,
                transparent 31px,
                transparent 39px,
                #e6e6e6 40px,
                #e6e6e6 40px,
                transparent 41px,
                transparent 49px,
                #e6e6e6 50px,
                #e6e6e6 50px
            ),
            repeating-linear-gradient(
                to right,
                /* 縦線 */ transparent 9px,
                #e6e6e6 10px,
                #e6e6e6 10px,
                transparent 11px,
                transparent 19px,
                #e6e6e6 20px,
                #e6e6e6 20px,
                transparent 21px,
                transparent 29px,
                #e6e6e6 30px,
                #e6e6e6 30px,
                transparent 31px,
                transparent 39px,
                #e6e6e6 40px,
                #e6e6e6 40px,
                transparent 41px,
                transparent 49px,
                #e6e6e6 50px,
                #e6e6e6 50px
            );
    }

    .price_ttl {
        width: 91.86%;
        margin: auto;
        margin-bottom: 6vw;
    }
    .price_bee_type_ttl {
        width: 89.33%;
        margin: auto;
        display: block;
        margin-bottom: -2.2vw;
    }
    .price_bee_type {
        width: 100%;
        margin: auto;
        margin-bottom: 4vw;
    }
    .price_where {
        width: 91.06%;
        margin: auto;
        margin-bottom: 3vw;
    }
    .price_free {
        width: 100%;
        margin: auto;
        margin-bottom: 7vw;
    }
    .price_support {
        width: 100%;
        margin: auto;
    }
    .price_guarantee {
        width: 100%;
        margin: auto;
    }
}.bnr_txt {
    position: absolute;
    right: 20%;
    bottom: 22%;
    font-size: 26.19px;
    font-family: Arial, sans-serif !important;
    font-weight: 1000;
    margin: 0;
    line-height: 1;
    transform: scale(0.9, 1);
    display: inline-block;
    color: #333;
    white-space: nowrap;
}

.bnr_txt_sp {
    position: absolute;
    right: 10%;
    bottom: 30%;
    font-size: clamp(1px, 6.8vw, 77px);
    font-family: Arial, sans-serif !important;
    font-weight: 1000;
    margin: 0;
    line-height: 1;
    transform: scale(0.9, 1);
    display: inline-block;
    color: #333;
    white-space: nowrap;
}

.txtbase {
    font-family: "Noto Sans", sans-serif;
    font-weight: 900; /* Black */
    font-style: italic; /* 斜体 */
}
.txt01 {
    font-size: 9vw;
    color: red;
}
.txt02 {
    font-size: 7.5vw;
    color: #333;
}
@media screen and (min-width: 768px) {
    .txt01 {
        font-size: clamp(1px, 5vw, 55px);
    }
    .txt02 {
        font-size: clamp(1px, 4vw, 48px);
    }
}

.area-ttl01 {
    letter-spacing: 0.04em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: auto;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    position: relative;
}

.ttl_area {
    width: calc(1014 / 1080 * 100%);
    padding: 30px 0 45px 7.5rem;
    margin: auto;
    position: relative;
}
@media screen and (max-width: 767px) {
    .area-ttl01 {
        letter-spacing: 0.04em;
        position: relative;
        line-height: 1.19;
    }

    .ttl_area {
        width: calc(705 / 750 * 100%);
        padding: 30px 0 40px 0;
        margin: auto;
        position: relative;
    }
}

.area_ttl_bg {
    position: absolute;
    right: 5%;
    top: 0;
    width: 30%;
    z-index: -1;
    opacity: 0.8;
}

.area_ttl_bg_sp {
    position: absolute;
    right: 5%;
    top: 0;
    width: 80%;
    z-index: -1;
    opacity: 0.8;
}
.sp.block {
    display: none;
}
@media screen and (min-width: 769px) {
    .ttl_area::before {
        content: "";
        position: absolute;
        background: url(../img/beebuster.webp) no-repeat center/cover;
        width: 5.5rem;
        height: 5.5rem;
        top: 19%;
        left: 3%;
    }
}
/* スマホ表示時だけ表示する */
@media screen and (max-width: 768px) {
    .sp.block {
        display: block;
    }
    .area-ttl01sp::before {
        content: "";
        position: absolute;
        background: url(../img/beebuster.webp) no-repeat center/cover;
        width: 14vw;
        height: 14vw;
        top: -10%;
        right: 0%;
    }

    .area-ttl01sp {
        letter-spacing: 0.04em;
        position: relative;
        line-height: 1.19;
    }
}

@media screen and (min-width: 768px) {
    .area_car {
        position: absolute;
        top: -20%; /* 上に25pxはみ出す */
        right: -4%;
        transform: translateX(-50%);
        width: calc(80 / 704 * 100%);
        display: block;
        z-index: 1;
    }
}
@media screen and (max-width: 767px) {
    .area_carsp {
        position: absolute;
        top: 90px;
        right: -8%;
        transform: translateX(-50%);
        width: calc(180 / 750 * 100%);
        display: block;
        z-index: 10;
    }
}

.price {
    margin-top: 0;
    padding-bottom: clamp(1px, 3vw, 33px);
    padding-top: clamp(1px, 7vw, 77px);
    background-image: repeating-linear-gradient(
            to bottom,
            /* 横線 */ transparent 15px,
            #e6e6e6 16px,
            #e6e6e6 16px,
            transparent 17px,
            transparent 31px,
            #e6e6e6 32px,
            #e6e6e6 32px,
            transparent 33px,
            transparent 47px,
            #e6e6e6 48px,
            #e6e6e6 48px,
            transparent 49px,
            transparent 63px,
            #e6e6e6 64px,
            #e6e6e6 64px,
            transparent 65px,
            transparent 79px,
            #e6e6e6 80px,
            #e6e6e6 80px
        ),
        repeating-linear-gradient(
            to right,
            /* 縦線 */ transparent 15px,
            #e6e6e6 16px,
            #e6e6e6 16px,
            transparent 17px,
            transparent 31px,
            #e6e6e6 32px,
            #e6e6e6 32px,
            transparent 33px,
            transparent 47px,
            #e6e6e6 48px,
            #e6e6e6 48px,
            transparent 49px,
            transparent 63px,
            #e6e6e6 64px,
            #e6e6e6 64px,
            transparent 65px,
            transparent 79px,
            #e6e6e6 80px,
            #e6e6e6 80px
        );

    height: auto;
}
.price_ttl {
    width: 86.2%;
    margin: auto;
    margin-bottom: clamp(1px, 5vw, 55px);
}
.price_bee_type_ttl {
    width: 62.2%;
    margin: auto;
    display: block;
    margin-bottom: clamp(-11px, -1vw, 11px);
}
.price_bee_type {
    width: 93.9%;
    margin: auto;
    margin-bottom: clamp(1px, 3vw, 33px);
}
.price_where {
    width: 93.9%;
    margin: auto;
    margin-bottom: clamp(1px, 3vw, 33px);
}
.price_free {
    width: 81.85%;
    margin: auto;
}
.price_support {
    width: 91.67%;
    margin: auto;
}
.price_guarantee {
    width: 91.67%;
    margin: auto;
}
.disclaimer {
    padding: 0 0 2vw 0;
    margin-top: clamp(-16.44px, -1.5vw, 1px);
}
@media screen and (max-width: 767px) {
    .cta_disc {
        padding-top: 10px;
        width: calc(705 / 750 * 100%);
        margin: auto;
        font-size: clamp(10px, 1.3vw, 14px);
        line-height: clamp(15px, 1.7vw, 18.7px);
    }

    .price {
        margin-top: 0;
        padding-bottom: 3vw;
        padding-top: 13vw;
        background-color: repeating-linear-gradient(
                to bottom,
                /* 横線 */ transparent 9px,
                #e6e6e6 10px,
                #e6e6e6 10px,
                transparent 11px,
                transparent 19px,
                #e6e6e6 20px,
                #e6e6e6 20px,
                transparent 21px,
                transparent 29px,
                #e6e6e6 30px,
                #e6e6e6 30px,
                transparent 31px,
                transparent 39px,
                #e6e6e6 40px,
                #e6e6e6 40px,
                transparent 41px,
                transparent 49px,
                #e6e6e6 50px,
                #e6e6e6 50px
            ),
            repeating-linear-gradient(
                to right,
                /* 縦線 */ transparent 9px,
                #e6e6e6 10px,
                #e6e6e6 10px,
                transparent 11px,
                transparent 19px,
                #e6e6e6 20px,
                #e6e6e6 20px,
                transparent 21px,
                transparent 29px,
                #e6e6e6 30px,
                #e6e6e6 30px,
                transparent 31px,
                transparent 39px,
                #e6e6e6 40px,
                #e6e6e6 40px,
                transparent 41px,
                transparent 49px,
                #e6e6e6 50px,
                #e6e6e6 50px
            );
    }

    .price_ttl {
        width: 91.86%;
        margin: auto;
        margin-bottom: 6vw;
    }
    .price_bee_type_ttl {
        width: 89.33%;
        margin: auto;
        display: block;
        margin-bottom: -2.2vw;
    }
    .price_bee_type {
        width: 100%;
        margin: auto;
        margin-bottom: 4vw;
    }
    .price_where {
        width: 91.06%;
        margin: auto;
        margin-bottom: 3vw;
    }
    .price_free {
        width: 100%;
        margin: auto;
        margin-bottom: 7vw;
    }
    .price_support {
        width: 100%;
        margin: auto;
    }
    .price_guarantee {
        width: 100%;
        margin: auto;
    }
}
.sec_point {
    background-image: repeating-linear-gradient(45deg, #d6da49, #d6da49 15px, #e1e64d 15px, #e1e64d 30px);
    padding: clamp(1px, 2.5vw, 27.5px) 0 clamp(1px, 5vw, 66px) 0;
}
.point_ttl {
    width: 64.81%;
    margin: auto;
    margin-bottom: clamp(1px, 3.5vw, 38.5px);
}
.point_content {
    width: 83.51%;
    margin: auto;
    margin-bottom: clamp(1px, 1.1vw, 12.1px);
}
@media screen and (max-width: 767px) {
    .sec_point {
        background-image: repeating-linear-gradient(45deg, #d6da49, #d6da49 12px, #e1e64d 12px, #e1e64d 24px);
        padding: 7vw 0;
    }
    .point_ttl {
        width: 93.86%;
        margin: auto;
        margin-bottom: 4vw;
    }
    .point_content {
        width: 93.86%;
        margin: auto;
        margin-bottom: 2vw;
    }
}

.sec_quality {
    padding: 0 0 clamp(1px, 2vw, 22px) 0;
    background-image: url("../img/quality_ttl_bg.webp");
    background-repeat: no-repeat; /* 反復しない */
    background-position: top center; /* 上＋中央寄せ */
    background-size: contain;
}
.quality_ttl {
    width: 51.85%;
    margin: auto;
    padding-top: clamp(1px, 6vw, 66px);
    margin-bottom: clamp(1px, 5vw, 55px);
}
.quality_inner {
    width: 100%;
    max-width: 1014px;
    margin: auto;
    background-color: #fff;
    border-radius: 8px;
    padding: clamp(1px, 3vw, 33px);
    box-sizing: border-box;
    box-shadow: 0 0 1vw 1vw rgba(41, 159, 255, 0.08);
}
.quality_flex {
    display: flex;
}
.quality_txt {
    width: calc(564 / 939 * 100%);
    margin-right: calc(43 / 939 * 100%);
    font-size: clamp(1px, 2.125vw, 23.75px);
    line-height: clamp(1px, 3.9vw, 42.9px);
    font-weight: 400;
}
@media screen and (max-width: 767px) {
    .sec_quality {
        padding: 0 0 clamp(1px, 5vw, 22px) 0;
        background-image: url("../img/quality_ttl_bg_sp.webp");
        background-repeat: no-repeat; /* 反復しない */
        background-position: top center; /* 上＋中央寄せ */
        background-size: contain;
    }
    .quality_ttl {
        width: 75.85%;
        margin: auto;
        margin-bottom: 6vw;
        padding-top: 12vw;
    }
    .quality_item {
    max-width: 100%;
    margin: auto;
    margin-bottom: 3vw;
}
   .quality_txt {
    line-height: 8vw;
    width: 100%;
    font-size: 4.6vw;
    font-weight: 400;
    margin: auto;
}
.quality_inner {
    width: 91%;
    max-width: 91%;
    margin: auto;
    background-color: #fff;
    border-radius: 8px;
    padding: clamp(1px, 4vw, 33px);
    box-sizing: border-box;
    box-shadow: 0 0 1vw 1vw rgba(41, 159, 255, 0.1);
}
}

.floating-banner {
    position: fixed;
    z-index: 9999;
    transition: opacity 0.5s ease;
}

@media screen and (min-width: 768px) {
    .floating-banner {
        width: 330px;
        right: 20px;
        bottom: 20px;
        opacity: 1;
        pointer-events: auto;
    }
}

@media screen and (max-width: 767px) {
    .floating-banner {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0; /* 画面下に固定 */
        transform: translateY(110%); /* 初期は画面外に隠す */
        opacity: 0;
        pointer-events: none;
        transition:
            transform 0.28s ease,
            opacity 0.28s ease;
    }
    .floating-banner.sp.is-visible {
        transform: translateY(0);
        opacity: 1;
        pointer-events: auto;
    }

    .floating-banner img {
        width: 100%;
        height: auto;
        display: block;
    }
}


.pb-adjust{
    padding-bottom: 1vw!important;
}
@media screen and (max-width: 767px) {
    
.pb-adjust{
    padding-bottom: 5vw!important;
}
}