.cta img {
    border-style: none;
    max-width: 100%;
    width: 100%;
    height: auto;
    vertical-align: bottom;
}

/* ==========================================================================
   1. 基本のリセット & 共通スタイル (abac8bc42f012da5.css より)
   ========================================================================== */
.FeatureTypographyContainer_auto_kerning__Vm9W_ * {
  font-feature-settings: "palt";
  letter-spacing: .05em;
}

/* ==========================================================================
   2. 親コンテナレイアウト (028f269b6a073229.css / abac8bc42f012da5.css より)
   ========================================================================== */
.MainVisualArea_button_and_banner_area__Pnnkl {
  grid-area: buttonArea;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding-top: 20px;
}
@media screen and (min-width: 768px) {
  .MainVisualArea_button_and_banner_area__Pnnkl {
    padding-top: 32px;
    padding-left: 48px;
    padding-right: 48px;
  }
}
@media screen and (min-width: 1024px) {
  .MainVisualArea_button_and_banner_area__Pnnkl {
    padding-left: unset;
    padding-right: unset;
  }
}

.ButtonAndBannerArea_button_and_banner_area__b_Cyg {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  row-gap: 28px;
}
@media screen and (min-width: 768px) {
  .ButtonAndBannerArea_button_and_banner_area__b_Cyg {
    row-gap: 40px;
  }
}

/* ==========================================================================
   3. ボタンエリア（「最短当日〜」テキスト + きらめくエフェクトの土台）
   ========================================================================== */
.ButtonAndBannerArea_button_area__71ncq {
  width: 100%;
  position: relative;
  overflow: hidden;
}
/* ボタン背景を走るきらめきアニメーション */
@keyframes ButtonAndBannerArea_shiny__MrA6V {
  0% { left: -20%; }
  10% { left: 120%; }
  100% { left: 120%; }
}
.ButtonAndBannerArea_button_area__71ncq:after {
  content: "";
  position: absolute;
  top: -10%;
  left: -20%;
  width: 40px;
  height: 100%;
  transform: scale(2) rotate(20deg);
  background-image: linear-gradient(100deg, rgba(255,255,255,0) 10%, rgba(255,255,255,.5) 100%, rgba(255,255,255,0) 0);
  animation-name: ButtonAndBannerArea_shiny__MrA6V;
  animation-duration: 4s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  pointer-events: none;
}
@media screen and (min-width: 768px) { .ButtonAndBannerArea_button_area__71ncq { width: 320px; } }
@media screen and (min-width: 1024px) { .ButtonAndBannerArea_button_area__71ncq { width: 480px; } }
@media screen and (min-width: 1300px) { .ButtonAndBannerArea_button_area__71ncq { width: 600px; } }

/* 注釈テキスト「＼ 最短当日から相談可能 ／」 */
.ButtonAndBannerArea_button_and_banner_area__b_Cyg .ButtonAndBannerArea_button_area__71ncq .ButtonAndBannerArea_can_consult_text__V1HUX {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
  color: #e35; /* コのほけん！のブランドピンク */
  text-align: center;
  margin-bottom: 8px;
  letter-spacing: .2em;
}
@media screen and (min-width: 768px) {
  .ButtonAndBannerArea_button_and_banner_area__b_Cyg .ButtonAndBannerArea_button_area__71ncq .ButtonAndBannerArea_can_consult_text__V1HUX {
    font-size: 16px;
  }
}

/* ==========================================================================
   4. 共通CTAボタンコンポーネント (CallToActionButton)
   ========================================================================== */
.CallToActionButton_call_to_action_button__YxEm4 {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 34px;
  text-decoration: none;
}
.CallToActionButton_call_to_action_button__YxEm4:hover {
  cursor: pointer;
  overflow: hidden;
}
.CallToActionButton_call_to_action_button__YxEm4.CallToActionbutton_has_hover_effect__iYaic:hover {
  transition: color, background-color .3s;
}

/* 赤色（ピンク）のボタンスタイル */
.CallToActionButton_call_to_action_button__YxEm4.CallToActionButton_primary__6vVis {
  color: #fff;
}
.CallToActionButton_call_to_action_button__YxEm4.CallToActionButton_primary__6vVis.CallToActionButton_red__KKH7j {
  border: 1px solid #e35;
  background-color: #e35;
}
.CallToActionButton_call_to_action_button__YxEm4.CallToActionButton_primary__6vVis.CallToActionButton_red__KKH7j:hover {
  background-color: #fff;
  color: #e35;
}

/* ラージサイズ（FV用） */
.CallToActionButton_call_to_action_button__YxEm4.CallToActionButton_large__IbUW5 {
  height: 56px;
}
.CallToActionButton_call_to_action_button__YxEm4.CallToActionButton_large__IbUW5 .CallToActionButton_main_text__s6Pm_ {
  font-size: 18px;
}

/* テキストラップ構造 */
.CallToActionButton_text_and_icon_wrap__FpRnk {
  display: flex;
  justify-content: space-between;
  margin-inline: 15px;
  align-items: center;
  width: 100%;
}
.CallToActionButton_text_and_icon_wrap__FpRnk.CallToActionButton_no_icon__KJtwv {
  justify-content: center;
}
.CallToActionButton_main_text__s6Pm_ {
  display: flex;
  justify-content: center;
  align-items: baseline;
  white-space: nowrap;
  font-weight: 700;
  line-height: 1.25;
}
.ButtonAndBannerArea_button_area__71ncq .ButtonAndBannerArea_button_text__VWLRY {
  font-size: 14px;
}
@media screen and (min-width: 768px) {
  .ButtonAndBannerArea_button_area__71ncq .ButtonAndBannerArea_button_text__VWLRY {
    font-size: 16px;
  }
}

/* ==========================================================================
   5. バナーコンテナ（キャンペーンバナー画像 + 「詳細はこちら」帯）
   ========================================================================== */
.ButtonAndBannerArea_button_and_banner_area__b_Cyg .ButtonAndBannerArea_banner_container__az5W9 {
  display: flex;
  flex-direction: column;
  width: 100%;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .ButtonAndBannerArea_button_and_banner_area__b_Cyg .ButtonAndBannerArea_banner_container__az5W9 {
    max-width: 716px;
  }
}
.ButtonAndBannerArea_button_and_banner_area__b_Cyg .ButtonAndBannerArea_banner_container__az5W9:hover {
  cursor: pointer;
  opacity: .7;
}

/* バナーの下部テキスト帯「キャンペーン詳細はこちら」 */
.ButtonAndBannerArea_button_and_banner_area__b_Cyg .ButtonAndBannerArea_banner_container__az5W9 .ButtonAndBannerArea_campaign_detail_text__u6DAE {
  padding-top: 4px;
  padding-bottom: 4px;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 4px;
  background-color: #ef4400; /* オレンジ色の背景 */
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .ButtonAndBannerArea_button_and_banner_area__b_Cyg .ButtonAndBannerArea_banner_container__az5W9 .ButtonAndBannerArea_campaign_detail_text__u6DAE {
    padding-top: 8px;
    padding-bottom: 8px;
    font-size: 16px;
  }
}

/* 矢印アイコンの回転（「詳細はこちら」の横にある下矢印） (6485efcfd55edea9.css より) */
.ArrowIcon_down__KNRDn {
  transform: rotate(270deg);
  display: inline-block;
}

/* ==========================================================================
   1. 画面いっぱいに広げるコンテナ (819f63124a607a22.css より)
   ========================================================================== */
.WidthMaxContainer_width_max_container__VRAd7 {
  /* --vw が未定義の場合のフォールバックとして 1vw を指定 */
  width: calc(var(--vw, 1vw) * 100); 
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

/* ==========================================================================
   2. 関連する子要素・スクロール用レイアウト (028f269b6a073229.css より)
   ========================================================================== */
/* スクロールエリアのオーバーレイ構造（ボタン等の配置用ベース） */
.HorizontalScrollContainer_overlay__DbxiW {
  position: relative;
}

/* 子要素を中央寄せにするベースレイアウト */
.HorizontalScrollContainer_centering_layout__leMrR {
  display: flex;
  /* justify-content: left; */
  justify-content: center;
}

/* スクロールを発生させるコンテナ（スマホ等で横スクロールさせる場合） */
.HorizontalScrollContainer_scroll_layout__vdPja {
  overflow: scroll;
  scroll-behavior: smooth;
  scrollbar-width: none; /* Firefoxのスクロールバーを非表示 */
}
.HorizontalScrollContainer_scroll_layout__vdPja::-webkit-scrollbar {
  display: none; /* Chrome, Safari, Edgeのスクロールバーを非表示 */
}

/* カードを横並びにするフレックスコンテナ */
.HorizontalScrollContainer_flex_container__avAQo {
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  justify-content: center;
}

/* 左右に余白（パディング）を持たせる設定 */
.HorizontalScrollContainer_flex_container__avAQo.HorizontalScrollContainer_padding_fixed__VYt9m {
  padding-left: 16px;
  padding-right: 16px;
}
@media screen and (min-width: 768px) {
  .HorizontalScrollContainer_flex_container__avAQo.HorizontalScrollContainer_padding_fixed__VYt9m {
    padding-left: 48px;
    padding-right: 48px;
  }
}

/* 横スクロール時のアイテム間の隙間 */
.HorizontalScrollContainer_flex_container__avAQo.HorizontalScrollContainer_gap_narrow__dipd9 {
  gap: 16px;
}


/* ==========================================================================
   1. コンポーネント全体のレイアウト (028f269b6a073229.css より)
   ========================================================================== */
.ConsultationCampaignTelContact_consultation_campaign_tel_contact___4j3u {
  display: flex;
  justify-content: center;
  font-size: 12px;
  font-weight: 300;
  line-height: 1.25;
  margin-top: 30px;
}

/* 上下のテキストと電話番号ブロックを並べる垂直フレックス */
.ConsultationCampaignTelContact_consultation_campaign_tel_contact___4j3u .ConsultationCampaignTelContact_tel_contact_wrap__b4w8X {
  display: flex;
  flex-direction: column;
  row-gap: 2px;
}

/* ボタン形態として使う場合の特別配置 */
.ConsultationCampaignTelContact_consultation_campaign_tel_contact___4j3u .ConsultationCampaignTelContact_tel_contact_wrap__b4w8X.ConsultationCampaignTelContact_button__lQ51e {
  align-items: center;
  row-gap: 8px;
}

/* ==========================================================================
   2. 文脈に合わせたテキストのカラー出し分け (028f269b6a073229.css より)
   ========================================================================== */
/* 通常の緑文字パターン（「お急ぎの方は〜」など） */
.ConsultationCampaignTelContact_consultation_campaign_tel_contact___4j3u .ConsultationCampaignTelContact_tel_contact_wrap__b4w8X .ConsultationCampaignTelContact_green__v_2Xx {
  color: #0a0;
  font-weight: 300;
  line-height: 1.25;
  font-size: 12px;
}
.ConsultationCampaignTelContact_consultation_campaign_tel_contact___4j3u .ConsultationCampaignTelContact_tel_contact_wrap__b4w8X .ConsultationCampaignTelContact_green__v_2Xx.ConsultationCampaignTelContact_button__lQ51e {
  font-weight: 700;
  line-height: 1.25;
}

/* 背景が濃い色（青背景など）の時の白文字パターン */
.ConsultationCampaignTelContact_consultation_campaign_tel_contact___4j3u .ConsultationCampaignTelContact_tel_contact_wrap__b4w8X .ConsultationCampaignTelContact_white___PiCH {
  color: #fff;
  font-weight: 300;
  line-height: 1.25;
}

/* ==========================================================================
   3. 電話番号と受付時間ブロック (FooterTelBlock / 028f269b6a073229.css より)
   ========================================================================== */
.FooterTelBlock_footer_tel_block__o9Wu9 {
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  border-radius: 8px;
  text-decoration: none;
}

/* 電話アイコン（SVG）と電話番号テキストの水平並び */
.FooterTelBlock_number_area__7ht6C {
  display: grid;
  grid-template-columns: 38px 177px;
  justify-items: flex-start;
  align-items: flex-end;
}

/* 「9:00〜20:00（年末年始除く）」の受付時間 */
.FooterTelBlock_reception_time_text__p_tWy {
  margin-top: 4px;
  font-size: 12px;
  font-weight: 300;
  line-height: 1.25;
  white-space: nowrap;
}
.FooterTelBlock_reception_time_text__p_tWy:not(.FooterTelBlock_button__SVNwT).FooterTelBlock_green__D1j5n {
  color: #0a0;
}
.FooterTelBlock_reception_time_text__p_tWy:not(.FooterTelBlock_button__SVNwT).FooterTelBlock_white__0yoSH {
  color: #fff;
}

/* ==========================================================================
   4. 電話番号専用数字フォント (FooterTelBlock / 028f269b6a073229.css より)
   ========================================================================== */
.FooterTelBlock_tel_number__9iruS {
  font-family: Barlow Condensed, sans-serif; /* 🛠️ インポートされている数字専用フォント */
  font-weight: 600;
  line-height: 1;
  font-feature-settings: normal!important;
  letter-spacing: normal!important;
  font-size: 40px;
  white-space: nowrap;
}
.FooterTelBlock_tel_number__9iruS.FooterTelBlock_green__D1j5n {
  color: #0a0;
}
.FooterTelBlock_tel_number__9iruS.FooterTelBlock_white__0yoSH {
  color: #fff;
}
/* リンクとして機能させた際の下線 */
.FooterTelBlock_tel_number__9iruS.FooterTelBlock_link__y0cYI {
  border-bottom: 1px solid currentColor;
}

/* ==========================================================================
   1. 自動カーニング・文字詰め設定 (6485efcfd55edea9.css より)
   ========================================================================== */
.FeatureTypographyContainer_auto_kerning__Vm9W_,
.FeatureTypographyContainer_auto_kerning__Vm9W_ *,
.FeatureTypographyContainer_auto_kerning__Vm9W_ :after,
.FeatureTypographyContainer_auto_kerning__Vm9W_ :before {
  /* 🛠️ 日本語のフォントの余白を自動で詰め、美しいプロポーショナル配置にする設定 */
  font-feature-settings: "palt";
  /* 文字と文字の間隔（レタースペース）をわずかに広げて可読性を上げる */
  letter-spacing: .05em;
}

/* ==========================================================================
   2. ラッパー要素の無効化（レイアウト維持） (6485efcfd55edea9.css より)
   ========================================================================== */
.FeatureTypographyContainer_display_contents__bvAB7 {
  /* 🛠️ 自身をレイアウト上の「透明な存在」にし、子要素を直接親のGridやFlexに組み込む設定 */
  display: contents;
}

/* ==========================================================================
   1. カード全体のコンテナ (028f269b6a073229.css より)
   ========================================================================== */
.LifeConsultantCard_life_consultant_card__gulyN {
  width: 100%;
  height: 100%;
  padding: 16px;
  /* 上部ヘッダー(108px) と 下部自己紹介(1fr) の2層に分けるグリッド配置 */
  display: grid;
  grid-template-rows: 108px 1fr;
  grid-row-gap: 16px;
  row-gap: 16px;
  border-radius: 8px;
  background-color: #fff;
  box-shadow: 0 0 8px 0 rgba(0,0,0,.05); /* 柔らかいシャドウ効果 */
}

/* ==========================================================================
   2. 上部ヘッダー（写真 ＋ プロフィールテキスト）
   ========================================================================== */
/* 写真(108px) と テキスト(1fr) を横並びにするグリッド */
.LifeConsultantCard_header__2KF5I {
  display: grid;
  grid-template-columns: 108px 1fr;
  grid-column-gap: 12px;
  column-gap: 12px;
}

/* FPの顔写真 */
.LifeConsultantCard_header__2KF5I .LifeConsultantCard_image__DgQRH {
  width: 108px;
  height: 108px;
  border-radius: 4px;
}

/* 名前とタグを包むブロック（垂直方向の中央寄せ） */
.LifeConsultantCard_header__2KF5I .LifeConsultantCard_profile__17udo {
  display: grid;
  grid-template-rows: auto auto;
  align-content: center;
  grid-row-gap: 8px;
  row-gap: 8px;
}

/* FPの名前 */
.LifeConsultantCard_header__2KF5I .LifeConsultantCard_profile__17udo .LifeConsultantCard_name__eaqqH {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.25;
  color: #333;
}

/* 資格タグを並べるフレックスコンテナ */
.LifeConsultantCard_header__2KF5I .LifeConsultantCard_profile__17udo .LifeConsultantCard_tags_container__AcrYp {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  align-items: flex-start;
  row-gap: 4px;
  column-gap: 4px;
}

/* 「CFP」「FP1級」などのオレンジ色の資格タグ */
.LifeConsultantCard_header__2KF5I .LifeConsultantCard_profile__17udo .LifeConsultantCard_tags_container__AcrYp .LifeConsultantCard_tag__vlCS5 {
  padding: 4px;
  background-color: #f64; /* コのほけん！のブランドオレンジ */
  font-size: 11px;
  font-weight: 700;
  line-height: 1.25;
  color: #fff;
}

/* ==========================================================================
   3. 下部ボディ（「自己紹介」見出し ＋ 紹介文テキスト）
   ========================================================================== */
/* 見出し と 本文 を縦に並べるグリッド */
.LifeConsultantCard_body__D3OHB {
  display: grid;
  grid-template-rows: auto 1fr;
  grid-row-gap: 4px;
  row-gap: 4px;
}

/* 「自己紹介」という固定見出しテキスト */
.LifeConsultantCard_body__D3OHB .LifeConsultantCard_title__VUwcF {
  font-weight: 700;
  line-height: 1.25;
  color: #333;
  font-size: 14px;
}

/* 自己紹介の本文（両端揃え） */
.LifeConsultantCard_body__D3OHB .LifeConsultantCard_introduction__10PZY {
  text-align: justify; /* テキストの左右の端を綺麗に揃える */
  font-weight: 300;
  line-height: 1.5;
  color: #333;
}

/* 本文の文字サイズバリエーション（今回はlargeが適用されています） */
.LifeConsultantCard_body__D3OHB .LifeConsultantCard_introduction__10PZY.LifeConsultantCard_small__ZJ9wF {
  font-size: 14px;
}
.LifeConsultantCard_body__D3OHB .LifeConsultantCard_introduction__10PZY.LifeConsultantCard_large__O9rY_ {
  font-size: 16px;
}

/* ==========================================================================
   1. 共通文字詰め・カーニング制御 (6485efcfd55edea9.css より)
   ========================================================================== */
.FeatureTypographyContainer_auto_kerning__Vm9W_,
.FeatureTypographyContainer_auto_kerning__Vm9W_ *,
.FeatureTypographyContainer_auto_kerning__Vm9W_ :after,
.FeatureTypographyContainer_auto_kerning__Vm9W_ :before {
  font-feature-settings: "palt";
  letter-spacing: .05em;
}
.FeatureTypographyContainer_display_contents__bvAB7 {
  display: contents;
}

/* ==========================================================================
   2. セクション全体の背景色と配置レイアウト (028f269b6a073229.css より)
   ========================================================================== */
/* 最外枠の背景（薄ベージュ） */
.ConsultationCampaignLandingPage_consulting_user_review_section__alNyi {
  background-color: #f5f2ee;
}

/* コンテンツ配置エリア */
.ConsultingUserReviewArea_consulting_user_review_area__82baF {
  padding-top: 40px;
  padding-bottom: 40px;
  margin-left: 16px;
  margin-right: 16px;
  max-width: 1300px;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .ConsultingUserReviewArea_consulting_user_review_area__82baF {
    padding-top: 52px;
    padding-bottom: 52px;
    margin-left: 48px;
    margin-right: 48px;
  }
}
@media screen and (min-width: 1396px) {
  .ConsultingUserReviewArea_consulting_user_review_area__82baF {
    margin-left: auto;
    margin-right: auto;
  }
}

/* ==========================================================================
   3. タイトルブロック（「ご相談者様の口コミ・評判」） (028f269b6a073229.css より)
   ========================================================================== */
.ConsultingUserReviewArea_consulting_user_review_area__82baF .ConsultingUserReviewArea_title_block__1CUlx {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 8px;
  margin-bottom: 24px;
}
@media screen and (min-width: 768px) {
  .ConsultingUserReviewArea_consulting_user_review_area__82baF .ConsultingUserReviewArea_title_block__1CUlx {
    row-gap: 12px;
  }
}
.ConsultingUserReviewArea_consulting_user_review_area__82baF .ConsultingUserReviewArea_title__GkBDz {
  font-size: 28px;
  font-weight: 300;
  line-height: 1.25;
  color: #333;
}
@media screen and (min-width: 768px) {
  .ConsultingUserReviewArea_consulting_user_review_area__82baF .ConsultingUserReviewArea_title__GkBDz {
    font-size: 40px;
  }
}

/* ==========================================================================
   4. 画面を突き破る外枠 & 横スクロール制御 (819f63124a607a22.css より)
   ========================================================================== */
/* 親幅を無視して100vwに広げるマジックコンテナ */
.WidthMaxContainer_width_max_container__VRAd7 {
  width: calc(var(--vw, 1vw) * 100);
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

.ConsultingUserReviewBlock_consulting_user_review_block__cy3Tq {
  width: 100%;
  position: relative;
}

/* カードを横スクロールさせるグリッドコンテナ */
.ConsultingUserReviewBlock_consulting_user_review_block__cy3Tq .ConsultingUserReviewBlock_review_card_list__5kF_Z {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(2, auto); /* SP時は縦に2段並んで横スクロールする */
  grid-row-gap: 12px;
  row-gap: 12px;
  grid-column-gap: 12px;
  column-gap: 12px;
  overflow-x: scroll;
  scrollbar-width: none; /* Firefoxスクロールバー非表示 */
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  padding-left: 28px;
}
.ConsultingUserReviewBlock_consulting_user_review_block__cy3Tq .ConsultingUserReviewBlock_review_card_list__5kF_Z::-webkit-scrollbar {
  display: none; /* Chrome, Safariスクロールバー非表示 */
}
@media screen and (min-width: 768px) {
  .ConsultingUserReviewBlock_consulting_user_review_block__cy3Tq .ConsultingUserReviewBlock_review_card_list__5kF_Z {
    margin-left: 48px;
    margin-right: 48px;
  }
}
@media screen and (min-width: 1396px) {
  .ConsultingUserReviewBlock_consulting_user_review_block__cy3Tq .ConsultingUserReviewBlock_review_card_list__5kF_Z {
    max-width: 1300px;
    margin-left: auto;
    margin-right: auto;
  }
}

/* スクロールをパチッと止めるスナップ位置とカードの幅調整 */
.ConsultingUserReviewBlock_consulting_user_review_block__cy3Tq .ConsultingUserReviewBlock_review_card_wrap__y0_oR {
  width: calc(100vw - 24px - 32px);
  scroll-snap-align: center;
  scroll-snap-stop: always;
}
.ConsultingUserReviewBlock_consulting_user_review_block__cy3Tq .ConsultingUserReviewBlock_review_card_wrap__y0_oR:nth-child(-n+2) {
  /* margin-left: 28px; */
}
.ConsultingUserReviewBlock_consulting_user_review_block__cy3Tq .ConsultingUserReviewBlock_review_card_wrap__y0_oR:last-child {
  margin-right: 28px;
}
@media screen and (min-width: 768px) {
  .ConsultingUserReviewBlock_consulting_user_review_block__cy3Tq .ConsultingUserReviewBlock_review_card_wrap__y0_oR {
    width: calc((var(--vw, 1vw) * 100 - 96px - 12px) / 2);
    scroll-snap-align: unset;
    scroll-snap-stop: unset;
  }
  .ConsultingUserReviewBlock_consulting_user_review_block__cy3Tq .ConsultingUserReviewBlock_review_card_wrap__y0_oR.ConsultingUserReviewBlock_scroll_stop__dYqmx {
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
  .ConsultingUserReviewBlock_consulting_user_review_block__cy3Tq .ConsultingUserReviewBlock_review_card_wrap__y0_oR:last-child,
  .ConsultingUserReviewBlock_consulting_user_review_block__cy3Tq .ConsultingUserReviewBlock_review_card_wrap__y0_oR:nth-child(-n+2) {
    margin-left: unset;
    margin-right: unset;
  }
  .ConsultingUserReviewBlock_consulting_user_review_block__cy3Tq .ConsultingUserReviewBlock_review_card_wrap__y0_oR:last-child {
    scroll-snap-align: end;
    scroll-snap-stop: always;
  }
}
@media screen and (min-width: 1396px) {
  .ConsultingUserReviewBlock_consulting_user_review_block__cy3Tq .ConsultingUserReviewBlock_review_card_wrap__y0_oR {
    width: 644px;
  }
}
@media screen and (min-width: 1500px) {
  .ConsultingUserReviewBlock_consulting_user_review_block__cy3Tq .ConsultingUserReviewBlock_review_card_wrap__y0_oR {
    width: 425.3333333333px;
  }
}

/* 左右スライドボタン（PCなどで矢印ナビを表示する場合） */
.ConsultingUserReviewBlock_consulting_user_review_block__cy3Tq .ConsultingUserReviewBlock_arrow_scroll__CxVEZ {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}
.ConsultingUserReviewBlock_consulting_user_review_block__cy3Tq .ConsultingUserReviewBlock_arrow_scroll__CxVEZ.ConsultingUserReviewBlock_right__hmaVq {
  right: 0;
  margin-right: 28px;
}
@media screen and (min-width: 1396px) {
  .ConsultingUserReviewBlock_consulting_user_review_block__cy3Tq .ConsultingUserReviewBlock_arrow_scroll__CxVEZ.ConsultingUserReviewBlock_right__hmaVq {
    right: calc((100vw - 1300px) / 2 - 20px);
    margin-right: unset;
  }
}
.ArrowScrollIcon_arrow_scroll__y8F_E {
  width: 40px;
  height: 40px;
  background-color: #000;
  opacity: .5;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
}
.ArrowScrollIcon_arrow_scroll__y8F_E.ArrowScrollIcon_right__qRy9K {
  padding-left: 2px;
}
.ArrowScrollIcon_arrow_scroll__y8F_E:hover {
  opacity: .25;
}
.ArrowIcon_right__9aZll {
  transform: rotate(180deg);
}

/* ==========================================================================
   5. 口コミカード単体 (ConsultingUserReviewCard) (819f63124a607a22.css より)
   ========================================================================== */
.ConsultingUserReviewCard_consulting_user_review_card__R6cSm {
  width: 100%;
  height: 100%;
  border-radius: 12px;
  background-color: #fff;
  padding: 20px;
  display: flex;
  flex-direction: column;
  row-gap: 12px;
}
/* アイコンとユーザー情報 */
.ConsultingUserReviewCard_consulting_user_review_card__R6cSm .ConsultingUserReviewCard_icon_name_block__96RgA {
  display: flex;
  align-items: center;
  column-gap: 12px;
}
.ConsultingUserReviewCard_consulting_user_review_card__R6cSm .ConsultingUserReviewCard_icon_wrap__IWe98 {
  width: 48px;
}
.UserIllustrationIcon_user_illustration_icon__Z7RI3.UserIllustrationIcon_size_48__Hcb8o {
  width: 48px;
  height: 48px;
}
.ConsultingUserReviewCard_consulting_user_review_card__R6cSm .ConsultingUserReviewCard_user_info__zWQHT {
  font-weight: 300;
  line-height: 1.25;
  color: #333;
  width: calc(100% - 48px);
  text-align: left;
}

/* 保険種別タグ */
.ConsultingUserReviewCard_consulting_user_review_card__R6cSm .ConsultingUserReviewCard_insurance_type_block__PP43a {
  display: flex;
  flex-wrap: wrap;
  column-gap: 8px;
  row-gap: 8px;
}
.InsuranceTypeTag_insurance_type_tag__EPjLH {
  padding-top: 4px;
  padding-bottom: 4px;
  border-radius: 16px;
  border: 1px solid #15b;
  color: #15b;
  font-weight: 300;
  line-height: 1.25;
}
.InsuranceTypeTag_insurance_type_tag__EPjLH.InsuranceTypeTag_size_large__03XvL {
  padding-left: 12px;
  padding-right: 12px;
  font-size: 14px;
}

/* 口コミ本文 */
.ConsultingUserReviewCard_consulting_user_review_card__R6cSm .ConsultingUserReviewCard_comment_block__JAXy4 {
  font-weight: 300;
  line-height: 1.5;
  color: #333;
  text-align: justify;
}
.ConsultingUserReviewCard_consulting_user_review_card__R6cSm.ConsultingUserReviewCard_large__F3IHd .ConsultingUserReviewCard_comment_block__JAXy4,
.ConsultingUserReviewCard_consulting_user_review_card__R6cSm.ConsultingUserReviewCard_large__F3IHd .ConsultingUserReviewCard_user_info__zWQHT {
  font-size: 16px;
}

/* ==========================================================================
   6. 下部スクロールバー指示器 (819f63124a607a22.css より)
   ========================================================================== */
.ConsultingUserReviewBlock_scroll_bar__q_inI {
  width: calc(100vw - 24px - 32px);
  height: 8px;
  margin-top: 16px;
  margin-left: auto;
  margin-right: auto;
  border-radius: 100px;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .ConsultingUserReviewBlock_scroll_bar__q_inI {
    width: 500px;
    margin-top: 24px;
    margin-bottom: 24px;
  }
}
.ConsultingUserReviewBlock_scroll_bar__q_inI .ConsultingUserReviewBlock_black_bar__XdiO3 {
  background-color: #999;
  height: 8px;
  border-radius: 100px;
}

/* ==========================================================================
   7. 下部：調査概要 ＆ 注意事項（※リスト） (819f63124a607a22.css より)
   ========================================================================== */
/* 調査対象情報 */
.ConsultingUserReviewArea_captioned_text_list_wrap__a5xTy {
  margin-top: 24px;
  margin-bottom: 4px;
}
.CaptionedTextList_captioned_text__TibCp {
  font-size: 12px;
}
.CaptionedTextList_captioned_text__TibCp+.CaptionedTextList_captioned_text__TibCp {
  margin-top: 4px;
}
.CaptionedTextList_title__CAxjl {
  font-weight: 700;
  line-height: 1.5;
  font-size: 12px;
  color: #333;
  white-space: nowrap;
}
.CaptionedTextList_text__YIvBp {
  font-weight: 300;
  line-height: 1.5;
  font-size: 12px;
  color: #666;
}

/* 注意事項リスト */
.CautionList_caution_list__wDdIt {
  padding-left: 12px;
  display: flex;
  flex-direction: column;
  row-gap: 4px;
}
/* 擬似要素による「※」自動付与とインデントのズレ防止設定 */
.CautionList_caution_list__wDdIt .CautionList_caution__ke0cY {
  list-style: "※";
  padding-left: 4px;
  text-align: justify;
  letter-spacing: normal;
  white-space: pre-wrap;
  color: #666;
  font-weight: 300;
  line-height: 1.5;
  font-size: 12px;
}

/* ==========================================================================
   1. キャンペーン概要・記事装飾大枠 (028f269b6a073229.css より)
   ========================================================================== */
.CampaignArea_campaign_area__B90Ms {
  margin-top: 32px;
  margin-bottom: 40px;
  display: flex;
  flex-direction: column;
  row-gap: 68px;
}
@media screen and (min-width: 768px) {
  .CampaignArea_campaign_area__B90Ms {
    margin-top: 0px;
    margin-bottom: 0px;
    row-gap: 80px;
  }
}

/* 記事スタイル全体の挙動調整 */
.CampaignArea_simple_article_style__oSBEH {
  word-break: break-all;
  text-align: left;
}

/* --------------------------------------------------------------------------
   2. 見出し構造（h2:大見出し / h3:中見出し）
   -------------------------------------------------------------------------- */
/* 「キャンペーン概要」部分（左側に太い青の縦線が入る） */
.CampaignArea_simple_article_style__oSBEH h2 {
  font-size: 20px;
  font-weight: 300;
  line-height: 1.25;
  color: #000;
  border-left: 4px solid #15b; /* ブランドブルーの縦線 */
  padding: 8px 12px;
  margin-bottom: 12px;
}
@media screen and (min-width: 768px) {
  .CampaignArea_simple_article_style__oSBEH h2 {
    font-size: 24px;
  }
}
.CampaignArea_simple_article_style__oSBEH h2:not(:first-of-type) {
  margin-top: 48px;
}

/* 「キャンペーン期間」などの各項目見出し（背景に薄ベージュが敷かれる） */
.CampaignArea_simple_article_style__oSBEH h3 {
  font-size: 16px;
  font-weight: 300;
  line-height: 1.25;
  color: #000;
  border-left: 4px solid #15b;
  padding: 8px 12px;
  background-color: #f5f2ee; /* 背景のベージュ色 */
  margin-top: 24px;
  margin-bottom: 16px;
}
@media screen and (min-width: 768px) {
  .CampaignArea_simple_article_style__oSBEH h3 {
    font-size: 20px;
  }
}

/* --------------------------------------------------------------------------
   3. 本文・リスト構造（ul / li の「・」制御）
   -------------------------------------------------------------------------- */
/* 通常のテキスト文章 */
.CampaignArea_simple_article_style__oSBEH > p {
  font-size: 14px;
  font-weight: 300;
  line-height: 1.5;
  color: #333;
  margin-top: 16px;
}
@media screen and (min-width: 768px) {
  .CampaignArea_simple_article_style__oSBEH > p {
    font-size: 16px;
  }
}

.CampaignArea_simple_article_style__oSBEH strong {
  font-weight: 700;
}

.CampaignArea_simple_article_style__oSBEH p + ul {
  margin-top: 8px;
}

/* 注意事項などの箇条書きリスト */
.CampaignArea_simple_article_style__oSBEH ul li {
  font-size: 14px;
  font-weight: 300;
  line-height: 1.5;
  color: #333;
  margin-left: 18px;
}
@media screen and (min-width: 768px) {
  .CampaignArea_simple_article_style__oSBEH ul li {
    font-size: 16px;
    margin-left: 20px;
  }
}

/* リストの文頭に「・」を明示的に付与する設定 */
.CampaignArea_simple_article_style__oSBEH ul > li {
  list-style-type: "・";
}
.CampaignArea_simple_article_style__oSBEH li + li,
.CampaignArea_simple_article_style__oSBEH li > ul {
  margin-top: 4px;
}

/* --------------------------------------------------------------------------
   4. 特殊な注釈テキスト（※マークの自動生成とぶら下げインデント）
   -------------------------------------------------------------------------- */
/* span class="annotation" がついた部分の文頭に「※」を自動挿入 */
.CampaignArea_simple_article_style__oSBEH p span[class=annotation]:before {
  content: "※";
}

.CampaignArea_simple_article_style__oSBEH p span[class=annotation] {
  font-size: 12px;
  font-weight: 300;
  line-height: 1.5;
  color: #666;
  display: block;
  position: relative;
  /* 2行目に突入した際、※マークの後ろにテキストが綺麗に揃う（ぶら下げインデント）の計算 */
  padding-left: calc(1em + 3px); 
}

.CampaignArea_simple_article_style__oSBEH p span[class=annotation]:before {
  position: absolute;
  left: 0;
}

/* 注釈が連続して並ぶ場合の上下の隙間 */
.CampaignArea_simple_article_style__oSBEH p:has(span[class=annotation]) + p:has(span[class=annotation]) {
  margin-top: 4px;
}

/* ==========================================================================
   5. 下部：無料相談予約ボタンエリア (028f269b6a073229.css / abac8bc42f012da5.css より)
   ========================================================================== */
@keyframes ConsultationButtonArea_shiny__o49b5 {
  0% { left: -20%; }
  10% { left: 120%; }
  100% { left: 120%; }
}

.ConsultationButtonArea_consultation_button_area__9Zam6 .ConsultationButtonArea_button_area__hb1cm .ConsultationButtonArea_can_consult_text__6gZ2P {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
  color: #e35;
  text-align: center;
  margin-bottom: 8px;
  letter-spacing: .2em;
}
@media screen and (min-width: 768px) {
  .ConsultationButtonArea_consultation_button_area__9Zam6 .ConsultationButtonArea_button_area__hb1cm .ConsultationButtonArea_can_consult_text__6gZ2P {
    font-size: 16px;
  }
}

.ConsultationButtonArea_consultation_button_area__9Zam6 .ConsultationButtonArea_button_area__hb1cm .ConsultationButtonArea_consult_button__fFLy5 {
  width: 100%;
  position: relative;
}
@media screen and (min-width: 768px) {
  .ConsultationButtonArea_consultation_button_area__9Zam6 .ConsultationButtonArea_button_area__hb1cm .ConsultationButtonArea_consult_button__fFLy5 {
    width: 600px;
    margin-left: auto;
    margin-right: auto;
  }
}

.ConsultationButtonArea_consultation_button_area__9Zam6 .ConsultationButtonArea_button_area__hb1cm .ConsultationButtonArea_consult_button__fFLy5 .ConsultationButtonArea_cta_button__kdLTF {
  position: relative;
  overflow: hidden;
}

/* ボタンが定期的にピカッと光るエフェクトの擬似要素 */
.ConsultationButtonArea_consultation_button_area__9Zam6 .ConsultationButtonArea_button_area__hb1cm .ConsultationButtonArea_consult_button__fFLy5 .ConsultationButtonArea_cta_button__kdLTF:after {
  content: "";
  position: absolute;
  top: -10%;
  left: -20%;
  width: 40px;
  height: 100%;
  transform: scale(2) rotate(20deg);
  background-image: linear-gradient(100deg, rgba(255,255,255,0) 10%, rgba(255,255,255,.5) 100%, rgba(255,255,255,0) 0);
  animation-name: ConsultationButtonArea_shiny__o49b5;
  animation-duration: 4s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  pointer-events: none;
}

.ConsultationButtonArea_consultation_button_area__9Zam6 .ConsultationButtonArea_button_area__hb1cm .ConsultationButtonArea_button_text__rC2U4 {
  font-size: 14px;
}
@media screen and (min-width: 768px) {
  .ConsultationButtonArea_consultation_button_area__9Zam6 .ConsultationButtonArea_button_area__hb1cm .ConsultationButtonArea_button_text__rC2U4 {
    font-size: 16px;
  }
}


.LifeConsultantCardArea_life_consultant_card_area__MBsht .LifeConsultantCardArea_heading__bq5il {
    text-align: center;
    font-weight: 300;
    line-height: 1.25;
    font-size: 28px;
    margin-bottom: 30px;
    padding-left:16px;
    padding-right:16px;
}

@media screen and (min-width: 768px) {
    .LifeConsultantCardArea_life_consultant_card_area__MBsht .LifeConsultantCardArea_heading__bq5il {
        font-size: 40px;
    }
}

.HorizontalScrollContainer_arrow_scroll__FnPgW {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1
}

.HorizontalScrollContainer_arrow_scroll__FnPgW.HorizontalScrollContainer_left__eZd4o {
    left: 40px
}

.HorizontalScrollContainer_arrow_scroll__FnPgW.HorizontalScrollContainer_right__9To07 {
    right: 40px
}

.HorizontalScrollContainer_flex_container__avAQo {
    width: -moz-fit-content;
    width: fit-content;
    display: flex;
    justify-content: center;
}

/* ==========================================================================
   スライダーのスクロール機能を強制有効化する記述
   ========================================================================== */

/* JSが特定したセンタリングラッパーに対して、横スクロールの許可と
   JSのスムーズスクロールに干渉する強力なスナップを一時的に中和します */
.HorizontalScrollContainer_centering_layout__leMrR,
.ConsultingUserReviewBlock_review_card_list__5kF_Z {
  overflow-x: auto !important;
  scroll-behavior: smooth !important;
  -webkit-overflow-scrolling: touch !important; /* スマホでの操作を滑らかに */
}

/* もし現在、CSS側の以下のクラスに scroll-snap-type が効いている場合、
   JSの挙動と喧嘩して元の位置(0px)に戻されるのを防ぐため、
   指スクロールの滑らかさを維持しつつスナップの強度を調整します */
.HorizontalScrollContainer_scroll_layout__vdPja {
  overflow-x: auto !important;
}

.ConsultationFlowArea_type_block__UYWnS {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 24px;
    margin-bottom: 24px
}

@media screen and (min-width: 375px) {
    .ConsultationFlowArea_type_block__UYWnS {
        flex-wrap:nowrap
    }
}

.ConsultationFlowArea_type_block__UYWnS .ConsultationFlowArea_type_info__BYDwW {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
    color: #fff;
    background-color: #f64;
    border: 1px solid #f64;
    width: 128px;
    height: 28px
}

.ConsultationFlowArea_flow_block__mFmhP {
    display: flex;
    flex-direction: column;
    align-items: center
}

.ConsultationFlowArea_flow_block__mFmhP .ConsultationFlowArea_flow_wrap__aYUQC {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    background-color: #fff;
    padding: 16px;
    gap: 12px
}

@media screen and (min-width: 768px) {
    .ConsultationFlowArea_flow_block__mFmhP .ConsultationFlowArea_flow_wrap__aYUQC {
        flex-direction:row;
        align-items: unset;
        max-width: 1100px;
        padding: 28px;
        gap: unset
    }
}

.SingleColumnLayout_single_column_layout__Vf0oV {
    overflow: hidden;
    padding-left: 16px;
    padding-right: 16px
}

@media screen and (min-width: 768px) {
    .SingleColumnLayout_single_column_layout__Vf0oV {
        padding-left:48px;
        padding-right: 48px
    }
}

@media screen and (min-width: 1396px) {
    .SingleColumnLayout_single_column_layout__Vf0oV {
        padding-left:unset;
        padding-right: unset
    }
}

.SingleColumnLayout_contents_area__EG2Yx {
    max-width: 1300px;
    margin-left: auto;
    margin-right: auto
}

.SingleColumnLayout_contents_area__EG2Yx.SingleColumnLayout_narrow__ISOTS {
    max-width: 1100px
}

.SingleColumnLayout_contents_area__EG2Yx.SingleColumnLayout_old__tUFVN {
    max-width: 1200px
}

.CopyrightFooter_copyright_footer__yEVSE {
    background: #fff;
    padding-top: 24px;
    padding-bottom: 16px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    row-gap: 16px
}

@media screen and (min-width: 768px) {
    .CopyrightFooter_copyright_footer__yEVSE {
        padding-top:16px
    }
}

@media screen and (min-width: 1024px) {
    .CopyrightFooter_copyright_footer__yEVSE {
        flex-direction:row;
        justify-content: space-between;
        align-items: flex-end
    }
}

.CopyrightFooter_agent_logo__Wfvk0 {
    width: 272px;
    height: 42px
}

.CopyrightFooter_copyright__vfm8l {
    font-weight: 300;
    line-height: 1.25;
    font-size: 12px;
    color:#333;
}

@media screen and (max-width: 768px) {
    .CopyrightFooter_copyright__vfm8l {
        font-size:12px
    }
}

.KonohokenFooter_footer_container__UJLpI {
    padding-top: 24px;
    padding-bottom: 24px
}

.KonohokenFooter_contact_area__s0XKz {
    padding-bottom: 36px
}

@media screen and (min-width: 768px) {
    .KonohokenFooter_contact_area__s0XKz {
        padding-bottom:24px;
        width: 100%
    }
}

.KonohokenFooter_horizontal_container__NdD7C {
    border-top: .5px solid #fff;
    padding-top: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    row-gap: 36px
}

@media screen and (min-width: 768px) {
    .KonohokenFooter_horizontal_container__NdD7C {
        display:grid;
        grid-template-columns: 1fr 1fr;
        align-items: flex-start;
        width: 100%
    }
}

.KonohokenFooter_company_info_area__3tDmk {
    width: 100%
}

@media screen and (min-width: 768px) {
    .KonohokenFooter_company_info_area__3tDmk {
        padding-right:32px
    }
}

@media screen and (min-width: 1024px) {
    .KonohokenFooter_company_info_area__3tDmk {
        padding-right:48px
    }
}

.KonohokenFooter_navigation_area__XzQLR {
    width: 100%
}

@media screen and (min-width: 768px) {
    .KonohokenFooter_navigation_area__XzQLR {
        border-left:.5px solid #fff;
        padding-left: 32px
    }
}

@media screen and (min-width: 1024px) {
    .KonohokenFooter_navigation_area__XzQLR {
        padding-left:48px
    }
}

.KonohokenFooter_contact_mail__wQmeM {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    row-gap: 4px
}

@media screen and (min-width: 768px) {
    .KonohokenFooter_contact_mail__wQmeM {
        justify-content:space-between
    }
}

.KonohokenFooter_mail_content__hKGNj {
    display: flex;
    align-items: center;
    column-gap: 12px;
    text-decoration: none
}

.KonohokenFooter_mail_icon_image__sAVFd {
    width: 32px;
    height: 32px
}

@media screen and (min-width: 768px) {
    .KonohokenFooter_mail_icon_image__sAVFd {
        width:40px;
        height: 40px
    }
}