@charset "utf-8";

/* ==================================================
   UTILIA Link LP用 統合スタイルシート
   (Lquestion / Lshinsei / LMessage / LinkLP共通)
   ================================================== */

/* --------------------------------------------------
   1. 共通・ユーティリティ
   -------------------------------------------------- */
.solutionCenter_Lquestion_section,
.solutionCenter_Lshinsei_section,
.solutionCenter_LMessage_section {
  padding: 100px 0;
}

.solutionCenter_Lquestion_bg-light,
.solutionCenter_Lshinsei_bg-gray,
.solutionCenter_LMessage_bg-light-blue {
  background-color: #f5f9fc;
}

.solutionCenter_Lquestion_bg-blue,
.solutionCenter_Lshinsei_bg-light-blue {
  background-color: #ffffff;
}

.taCenter {
  text-align: center !important;
}
.mb20 { margin-bottom: 20px !important; }
.mb40 { margin-bottom: 40px !important; }
.mt30 { margin-top: 30px !important; }
.mt60 { margin-top: 60px !important; }

.fwBold { font-weight: bold !important; }
.fs12 { font-size: 12px !important; }
.fs18 { font-size: 18px !important; }

/* 文字色ユーティリティ */
.text-orange { color: #ff9900; }
.text-blue { color: #3b82f6 !important; } /* 青色テキスト用 */
.solutionCenter_Lquestion_text-blue { color: #0080cc !important; }
.solutionCenter_Lquestion_text-primary { color: #035fb4 !important; }

/* PCのみ改行 */
@media only screen and (max-width: 767px) {
  .brPc { display: none; }
}

/* --------------------------------------------------
   2. 共通コンポーネント (ボタンなど)
   -------------------------------------------------- */
.solutionCenter_Lquestion_btn,
.solutionCenter_Lshinsei_btn,
.solutionCenter_LMessage_btn,
.solutionCenter_LinkLP_mv__btn {
  display: inline-block;
  text-decoration: none !important;
  font-weight: bold;
  text-align: center;
  border-radius: 50px;
  padding: 18px 40px;
  min-width: 260px;
  font-size: 18px;
  color: #fff !important;
  position: relative;
  transition: all 0.3s ease;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

.solutionCenter_Lquestion_btn:hover,
.solutionCenter_Lshinsei_btn:hover,
.solutionCenter_LMessage_btn:hover,
.solutionCenter_LinkLP_mv__btn:hover {
  opacity: 0.9;
  transform: translateY(-2px);
  box-shadow: 0 6px 10px rgba(0,0,0,0.15);
  text-decoration: none !important;
}

.solutionCenter_Lquestion_btn--green {
  background: linear-gradient(90deg, #4CAF50 0%, #45a049 100%);
}
.solutionCenter_Lquestion_btn--orange,
.solutionCenter_Lshinsei_btn--orange,
.solutionCenter_LMessage_btn--orange,
.solutionCenter_LinkLP_mv__btn {
  background: linear-gradient(90deg, #FF9800 0%, #F57C00 100%);
}

/* 矢印アイコン */
.solutionCenter_Lquestion_btn::after,
.solutionCenter_Lshinsei_btn::after,
.solutionCenter_LMessage_btn::after,
.solutionCenter_LinkLP_mv__btn::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  margin-left: 10px;
  vertical-align: 2px;
}

/* --------------------------------------------------
   3. Link LP共通 MV (solutionCenter_LinkLP_mv)
   -------------------------------------------------- */
.solutionCenter_LinkLP_mv {
  background-color: #fef5f2;
  padding: 80px 0;
  color: #333;
  position: relative; /* SPレイアウト調整用 */
}

.solutionCenter_LinkLP_mv__content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.solutionCenter_LinkLP_mv__text-box { width: 65%; }
.solutionCenter_LinkLP_mv__img-box { width: 30%; text-align: center; }

.solutionCenter_LinkLP_mv__logo img {
  max-width: 240px;
  height: auto;
  margin-bottom: 25px;
}

.solutionCenter_LinkLP_mv__ttl {
  font-size: 30px !important;
  font-weight: bold;
  line-height: 1.6;
  margin-bottom: 20px;
  color: #000;
  white-space: nowrap;
}

.solutionCenter_LinkLP_mv__sub {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.6;
  margin-bottom: 25px;
  color: #035fb4;
}

.solutionCenter_LinkLP_mv__btn-area {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
}

.solutionCenter_LinkLP_mv__btn-caption {
  color: #e57400;
  font-size: 16px;
  font-weight: bold;
  margin: 0 0 10px 0;
}

.solutionCenter_LinkLP_mv__img-box img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

/* --------------------------------------------------
   4. アンケートLP (Lquestion)
   -------------------------------------------------- */
.solutionCenter_Lquestion_section-ttl,
.solutionCenter_Lquestion_ttl-blue {
  font-size: 28px !important;
  font-weight: bold;
  text-align: center;
  color: #035fb4 !important;
  margin-bottom: 30px !important;
  background: none !important;
  padding: 0 !important;
  line-height: 1.5;
}

.solutionCenter_Lquestion_sub-txt {
  font-size: 18px;
  text-align: center;
  line-height: 1.8;
  margin-bottom: 40px;
}

.solutionCenter_Lquestion_text-md {
  font-size: 20px !important;
}

/* 課題リスト */
.solutionCenter_Lquestion_lead {
  font-size: 36px;
  font-weight: bold;
  text-align: center;
  color: #035fb4;
  margin-bottom: 30px;
  line-height: 1.4;
}
.solutionCenter_Lquestion_lead-sub {
  font-size: 18px;
  text-align: center;
  margin-bottom: 60px;
  line-height: 1.8;
}
.solutionCenter_Lquestion_trouble-list {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  max-width: 900px;
}
.solutionCenter_Lquestion_trouble-list li {
  display: flex;
  align-items: center;
  margin-bottom: 30px;
}
.solutionCenter_Lquestion_trouble-icon {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-right: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 3px solid #fff;
}
.solutionCenter_Lquestion_trouble-icon.is-blue { background-color: #3b82f6; }
.solutionCenter_Lquestion_trouble-icon.is-green { background-color: #86efac; }
.solutionCenter_Lquestion_trouble-icon.is-gray { background-color: #4b5563; }
.solutionCenter_Lquestion_trouble-icon img { width: 100%; height: auto; }
.solutionCenter_Lquestion_trouble-bubble {
  position: relative;
  background: #fff;
  border-radius: 15px;
  padding: 25px 30px;
  width: 100%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}
.solutionCenter_Lquestion_trouble-bubble::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -12px;
  margin-top: -12px;
  border: 12px solid transparent;
  border-right: 12px solid #fff;
}
.solutionCenter_Lquestion_trouble-text {
  font-size: 20px;
  font-weight: bold;
  color: #333;
  margin: 0;
  line-height: 1.5;
}
.solutionCenter_Lquestion_trouble-text .text-blue {
  font-size: 22px;
}

/* 解決策ヘッダー */
.solutionCenter_Lquestion_solution-header { text-align: center; margin-bottom: 60px; }
.solutionCenter_Lquestion_solution-wish { font-size: 32px; font-weight: bold; margin-bottom: 10px; }
.solutionCenter_Lquestion_solution-arrow {
  width: 24px; height: 24px;
  border-bottom: 5px solid #73c1e0;
  border-right: 5px solid #73c1e0;
  transform: rotate(45deg);
  margin: 0 auto 20px;
}
.solutionCenter_Lquestion_solution-sub { font-size: 32px; font-weight: bold; color: #035fb4; margin-bottom: 30px; }
.solutionCenter_Lquestion_solution-logo img { max-width: 240px; }

/* 特徴 (Features) */
.solutionCenter_Lquestion_features { display: flex; flex-direction: column; gap: 60px; }
.solutionCenter_Lquestion_feature-item { display: flex; align-items: center; justify-content: space-between; gap: 50px; }
.solutionCenter_Lquestion_feature-item--reverse { flex-direction: row-reverse; }
.solutionCenter_Lquestion_feature-item__content { flex: 1; }
.solutionCenter_Lquestion_feature-item__img { flex: 1; }
.solutionCenter_Lquestion_feature-item__img img { width: 100%; border-radius: 8px; box-shadow: 0 5px 15px rgba(0,0,0,0.1); }
.solutionCenter_Lquestion_feature-item__head { display: flex; align-items: baseline; margin-bottom: 20px; border-bottom: 2px solid #73c1e0; padding-bottom: 10px; }

/* 数字部分の調整（PC/SP共通）：改行禁止と縮小禁止を追加 */
.solutionCenter_Lquestion_feature-item__num { 
  font-size: 60px; 
  font-weight: bold; 
  color: #73c1e0; 
  margin-right: 15px; 
  white-space: nowrap; /* 改行禁止 */
  flex-shrink: 0;      /* 縮小禁止 */
  line-height: 1;      /* 行間を詰める */
}

.solutionCenter_Lquestion_feature-item__ttl { font-size: 24px; font-weight: bold; color: #035fb4; margin: 0; }
.solutionCenter_Lquestion_feature-item__desc { line-height: 1.8; text-align: justify; }

/* 機能アイコン (Functions) */
.solutionCenter_Lquestion_functions { display: flex; flex-wrap: wrap; justify-content: center; gap: 50px 80px; margin-bottom: 40px; }
.solutionCenter_Lquestion_function-card { width: calc((100% - 160px) / 3); text-align: center; }
.solutionCenter_Lquestion_function-card__icon { margin: 0 auto 20px; display: flex; align-items: center; justify-content: center; }
.solutionCenter_Lquestion_function-card__icon img { width: 130px; height: auto; }
.solutionCenter_Lquestion_function-card__ttl { font-weight: bold; font-size: 20px; color: #000; margin: 0; }

/* シリーズスライダー */
.solutionCenter_Lquestion_series-main-ttl { color: #035fb4; font-size: 28px; margin-bottom: 50px !important; }
.solutionCenter_Lquestion_series-slider { padding-bottom: 50px !important; }
.solutionCenter_Lquestion_series-card { text-align: center; padding: 10px; }
.solutionCenter_Lquestion_series-card__logo { height: 60px; display: flex; align-items: center; justify-content: center; margin-bottom: 20px; }
.solutionCenter_Lquestion_series-card__logo img { max-width: 100%; max-height: 100%; width: auto; }
.solutionCenter_Lquestion_series-card__ttl { font-size: 20px; font-weight: bold; margin-bottom: 15px; }
.solutionCenter_Lquestion_series-card__txt { font-size: 16px; line-height: 1.6; text-align: left; }
.swiper-pagination-bullet { background: #ccc !important; opacity: 1 !important; }
.swiper-pagination-bullet-active { background: #666 !important; }

/* 導入実績テーブル */
.solutionCenter_Lquestion_achievement-table { width: 100%; border-collapse: collapse; border: 1px solid #e5e5e5; background: #fff; }
.solutionCenter_Lquestion_achievement-table th,
.solutionCenter_Lquestion_achievement-table td { padding: 20px; vertical-align: middle; border: 1px solid #e5e5e5; }
.solutionCenter_Lquestion_achievement-table thead th { background: #0099ff; color: #fff; font-size: 18px; font-weight: bold; text-align: center; }
.solutionCenter_Lquestion_achievement-table .w-service { width: 40%; }
.solutionCenter_Lquestion_achievement-table .w-case { width: 60%; }
.solutionCenter_Lquestion_service-cell { display: flex; align-items: center; gap: 20px; }
.solutionCenter_Lquestion_service-cell__logo { width: 140px; flex-shrink: 0; text-align: center; }
.solutionCenter_Lquestion_service-cell__logo img { max-width: 100%; height: auto; max-height: 50px; }
.solutionCenter_Lquestion_service-cell__txt { font-size: 16px; line-height: 1.4; }


/* --------------------------------------------------
   5. 申請LP (Lshinsei)
   -------------------------------------------------- */
.solutionCenter_Lshinsei_ttl-center { font-size: 32px; font-weight: bold; text-align: center; margin-bottom: 40px; color: #000; }
.solutionCenter_Lshinsei_ttl-blue { font-size: 28px; font-weight: bold; text-align: center; margin-bottom: 50px; color: #035fb4; }
.solutionCenter_Lshinsei_text-block { max-width: 960px !important; margin: 0 auto; text-align: left !important; font-size: 16px; line-height: 2.0; }

.solutionCenter_Lshinsei_problem-area { background-color: #1e9dec; padding: 50px 0; margin-top: 30px; }
.solutionCenter_Lshinsei_problem-list { display: flex; justify-content: center; gap: 30px; list-style: none; padding: 0; margin: 0 auto 40px; max-width: 1000px; }
.solutionCenter_Lshinsei_problem-list li { background: #fff; width: 300px; padding: 30px 20px; border-radius: 10px; text-align: center; position: relative; box-shadow: 0 4px 10px rgba(0,0,0,0.1); }
.solutionCenter_Lshinsei_problem-list .check-mark { color: #1e9dec; font-size: 30px; font-weight: bold; margin-bottom: 10px; }
.solutionCenter_Lshinsei_problem-list .img-box { margin-bottom: 20px; height: 190px; display: flex; align-items: center; justify-content: center; }
.solutionCenter_Lshinsei_problem-list .img-box img { max-height: 100%; width: auto; }
.solutionCenter_Lshinsei_problem-list .text { font-weight: bold; font-size: 16px; line-height: 1.5; }
.solutionCenter_Lshinsei_problem-arrow-text { text-align: center; color: #fff; font-weight: bold; font-size: 20px; margin: 0; }

.solutionCenter_Lshinsei_summary-list { display: flex; justify-content: center; gap: 40px; list-style: none; padding: 0; margin-bottom: 50px; }
.solutionCenter_Lshinsei_summary-list li { width: 30%; text-align: center; }
.solutionCenter_Lshinsei_summary-list .img-box img { height: 190px; width: auto; }
.solutionCenter_Lshinsei_summary-list .ttl { font-size: 18px; font-weight: bold; margin-bottom: 10px; }
.solutionCenter_Lshinsei_summary-list .txt { font-size: 14px; line-height: 1.6; }
.solutionCenter_Lshinsei_highlight-text { text-align: center; font-size: 20px; font-weight: bold; line-height: 1.8; }

.solutionCenter_Lshinsei_detail-list { max-width: 1000px; margin: 0 auto; }
.solutionCenter_Lshinsei_detail-item { display: flex; align-items: center; justify-content: space-between; gap: 50px; margin-bottom: 80px; }
.solutionCenter_Lshinsei_detail-item--reverse { flex-direction: row-reverse; }
.solutionCenter_Lshinsei_detail-item .txt-col { width: 45%; }
.solutionCenter_Lshinsei_detail-item .img-col { width: 50%; text-align: center; }
.solutionCenter_Lshinsei_detail-item .img-col img { max-width: 100%; height: auto; }
.solutionCenter_Lshinsei_detail-item .ttl { font-size: 22px; font-weight: bold; margin-bottom: 20px; color: #333; display: flex; align-items: center; }
.solutionCenter_Lshinsei_detail-item .ttl .num { font-size: 40px; color: #87ceeb; margin-right: 15px; line-height: 1; }
.solutionCenter_Lshinsei_detail-item .desc { font-size: 16px; line-height: 1.8; text-align: justify; }


/* --------------------------------------------------
   6. メッセージLP (LMessage)
   -------------------------------------------------- */
.solutionCenter_LMessage_ttl-center { font-size: 28px; font-weight: bold; text-align: center; margin-bottom: 50px; line-height: 1.5; }
.solutionCenter_LMessage_ttl-blue { font-size: 28px; font-weight: bold; text-align: center; color: #035fb4; margin-bottom: 40px; line-height: 1.5; }
.solutionCenter_LMessage_sub-txt { font-size: 16px; line-height: 1.8; }

.solutionCenter_LMessage_trouble-list { display: flex; justify-content: center; gap: 40px; list-style: none; padding: 0; margin: 0 auto 60px; }
.solutionCenter_LMessage_trouble-list li { width: 280px; text-align: center; }
.solutionCenter_LMessage_trouble-list .img-box { margin-bottom: 15px; }
.solutionCenter_LMessage_trouble-list .img-box img { max-width: 100%; height: auto; }
.solutionCenter_LMessage_trouble-list .text { font-weight: bold; font-size: 20px; line-height: 1.6; }

.solutionCenter_LMessage_message-band { background-color: #0080cc; color: #fff; text-align: center; padding: 40px 20px; width: 100%; }
.solutionCenter_LMessage_message-band p { font-size: 24px; line-height: 1.8; font-weight: bold; margin: 0; }
.solutionCenter_LMessage_message-band .highlight { background: transparent; padding: 0 5px; }

.solutionCenter_LMessage_ba-container { display: flex; justify-content: center; align-items: stretch; gap: 20px; margin-top: 40px; }
.solutionCenter_LMessage_ba-image-box { width: 45%; text-align: center; }
.solutionCenter_LMessage_ba-image-box img { width: 100%; height: auto; vertical-align: bottom; }
.solutionCenter_LMessage_ba-arrow { width: 40px; position: relative; flex-shrink: 0; }
.solutionCenter_LMessage_ba-arrow::after { content: ""; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 0; height: 0; border-style: solid; border-width: 15px 0 15px 25px; border-color: transparent transparent transparent #035fb4; }

.solutionCenter_LMessage_merit-list { display: flex; justify-content: center; gap: 40px; list-style: none; padding: 0; margin: 0 auto; }
.solutionCenter_LMessage_merit-list li { width: 280px; text-align: center; }
.solutionCenter_LMessage_merit-list .img-box { margin-bottom: 20px; }
.solutionCenter_LMessage_merit-list .img-box img { width: 200px; height: auto; max-width: 100%; }
.solutionCenter_LMessage_merit-list .ttl { font-size: 24px; font-weight: bold; margin-bottom: 15px; line-height: 1.4; }
.solutionCenter_LMessage_merit-list .txt { font-size: 15px; line-height: 1.6; text-align: center; }


/* --------------------------------------------------
   7. スマホ対応 (Responsive: max-width 767px)
   -------------------------------------------------- */
@media only screen and (max-width: 767px) {
  
  /* 共通 */
  .solutionCenter_Lquestion_section,
  .solutionCenter_Lshinsei_section,
  .solutionCenter_LMessage_section {
    padding: 50px 0;
  }
  .pt-half { padding-top: 25px !important; }

  /* --- MV (LinkLP共通) 調整 --- */
  .solutionCenter_LinkLP_mv {
    padding: 50px 0;
    position: relative; /* ロゴの基準点 */
  }
  
  /* 1. 見出しの調整：2行で収まるようにサイズ縮小 */
  .solutionCenter_LinkLP_mv__ttl {
    /* 元の21pxから縮小 */
    font-size: 19px !important; 
    line-height: 1.7 !important; /* 行間を1.7に変更 */
    /* 改行位置の調整用に文字詰めを有効化 */
    font-feature-settings: "palt";
    /* 幅を100%確保 */
    width: 100%;
    /* 左寄せのデザインを維持しつつ改行制御 */
    text-align: left !important;
    white-space: normal;
    margin-top: 0px;
  }
  
  /* 2. キャプションの調整：1行で収める */
  .solutionCenter_LinkLP_mv__btn-caption {
    /* 画面幅に収まるようサイズを調整 */
    font-size: 11px !important;
    /* 強制的に1行にする */
    white-space: nowrap;
    /* 中央揃え */
    text-align: center !important;
    width: 100%;
    margin-bottom: 8px !important;
  }
  
  /* 3. ボタンエリアの中央寄せ */
  .solutionCenter_LinkLP_mv__btn-area {
    /* コンテナをFlexbox化して中央寄せを制御 */
    display: flex !important;
    flex-direction: column;
    align-items: center !important;
    justify-content: center;
    width: 100%;
    margin-top: 10px;
  }
  
  /* ボタン本体の調整 */
  .solutionCenter_LinkLP_mv__btn {
    /* 親要素に対して中央配置 */
    margin: 0 auto !important;
    /* 幅が画面からはみ出さないように設定 */
    width: auto;
    max-width: 100%;
    min-width: 240px;
    box-sizing: border-box;
  }
  
  /* レイアウト調整 */
  .solutionCenter_LinkLP_mv__content {
    flex-direction: column;
    text-align: center;
    gap: 10px;
  }
  /* ロゴ: 左上に固定、サイズ200px */
  .solutionCenter_LinkLP_mv__logo {
    position: absolute;
    top: 15px;
    left: 20px;
    z-index: 10;
    margin: 0;
    width: auto;
  }
  .solutionCenter_LinkLP_mv__logo img {
    max-width: 200px;
    width: 100%;
    height: auto;
    margin: 0;
  }
  /* 画像: ロゴの下に配置 */
  .solutionCenter_LinkLP_mv__img-box {
    width: 70%;
    margin: 45px auto 0px;
    order: 1;
  }
  .solutionCenter_LinkLP_mv__img-box img {
    width: 100%;
    max-width: 100%;
    height: auto;
  }
  /* テキストボックス */
  .solutionCenter_LinkLP_mv__text-box {
    width: 100%;
    order: 2;
    margin-top: 0;
    /* ロゴの高さ分、上部に余白を確保して中央寄りの意識 */
    padding-top: 25px; /* 元の50pxから半分の25pxに変更 */
    text-align: center; 
  }

  .solutionCenter_LinkLP_mv__sub {
    font-size: 15px;
    text-align: center;
    /* 左寄せデザインの場合は以下を有効に */
    /* text-align: left !important; */
    margin-bottom: 20px !important;
  }


  /* --- アンケートLP (Lquestion) --- */
  .solutionCenter_Lquestion_section-ttl,
  .solutionCenter_Lquestion_ttl-blue {
    font-size: 22px !important;
    margin-bottom: 20px !important;
  }
  .solutionCenter_Lquestion_sub-txt {
    font-size: 15px;
  }
  .solutionCenter_Lquestion_text-md {
    font-size: 15px !important;
  }
  
  .solutionCenter_Lquestion_lead { font-size: 24px; margin-bottom: 20px; }
  .solutionCenter_Lquestion_lead-sub { font-size: 15px; text-align: left; margin-bottom: 40px; }
  
  .solutionCenter_Lquestion_trouble-list li { align-items: flex-start; }
  .solutionCenter_Lquestion_trouble-icon { width: 60px; height: 60px; margin-right: 15px; }
  .solutionCenter_Lquestion_trouble-bubble { padding: 15px 20px; }
  .solutionCenter_Lquestion_trouble-text { font-size: 15px; }
  .solutionCenter_Lquestion_trouble-text .text-blue { font-size: 16px; }

  .solutionCenter_Lquestion_solution-wish { font-size: 22px; }
  .solutionCenter_Lquestion_solution-sub { font-size: 22px; }
  
  .solutionCenter_Lquestion_features { gap: 40px; }
  .solutionCenter_Lquestion_feature-item,
  .solutionCenter_Lquestion_feature-item--reverse { flex-direction: column-reverse; gap: 20px; }
  .solutionCenter_Lquestion_feature-item__head { margin-bottom: 15px; }
  .solutionCenter_Lquestion_feature-item__num { font-size: 40px; }
  .solutionCenter_Lquestion_feature-item__ttl { font-size: 20px; }

  .solutionCenter_Lquestion_functions { gap: 30px 20px; }
  .solutionCenter_Lquestion_function-card { width: calc((100% - 20px) / 2); padding: 0; }
  .solutionCenter_Lquestion_function-card__icon { margin-bottom: 10px; }
  .solutionCenter_Lquestion_function-card__icon img { width: 90px; }
  .solutionCenter_Lquestion_function-card__ttl { font-size: 15px; }

  .solutionCenter_Lquestion_series-main-ttl { font-size: 22px; }
  .solutionCenter_Lquestion_series-slider { padding-left: 0; padding-right: 0; }
  .solutionCenter_Lquestion_series-card__txt { font-size: 15px; }

  /* 導入実績テーブル (SP) */
  .solutionCenter_Lquestion_achievement-table-wrap { overflow-x: hidden; }
  .solutionCenter_Lquestion_achievement-table { display: table; width: 100%; border-collapse: collapse; table-layout: fixed; }
  .solutionCenter_Lquestion_achievement-table thead { display: table-header-group; }
  .solutionCenter_Lquestion_achievement-table thead th { font-size: 14px; padding: 10px 5px; }
  .solutionCenter_Lquestion_achievement-table .w-service { width: 45%; }
  .solutionCenter_Lquestion_achievement-table .w-case { width: 55%; }
  .solutionCenter_Lquestion_achievement-table tbody { display: table-row-group; }
  .solutionCenter_Lquestion_achievement-table tr { display: table-row; margin-bottom: 0; border: none; }
  .solutionCenter_Lquestion_achievement-table td { display: table-cell; padding: 10px; font-size: 13px; vertical-align: middle; }
  .solutionCenter_Lquestion_service-cell { flex-direction: column; align-items: center; gap: 5px; text-align: center; }
  .solutionCenter_Lquestion_service-cell__logo { width: 100%; }
  .solutionCenter_Lquestion_service-cell__logo img { max-height: 30px; width: auto; max-width: 100%; }
  .solutionCenter_Lquestion_service-cell__txt { font-size: 11px; line-height: 1.3; }
  .solutionCenter_Lquestion_service-cell__txt .fs12 { font-size: 10px; }

  /* --- 申請LP (Lshinsei) --- */
  .solutionCenter_Lshinsei_ttl-center,
  .solutionCenter_Lshinsei_ttl-blue { font-size: 22px; margin-bottom: 30px; }
  
  /* 今回追加修正：申請ページの見出し調整 */
  .solutionCenter_Lshinsei_ttl-center {
    font-size: 19px !important; /* 22pxから縮小 */
    font-feature-settings: "palt"; /* 文字詰め */
  }

  .solutionCenter_Lshinsei_text-block { text-align: left !important; font-size: 15px; padding: 0 10px; }
  .solutionCenter_Lshinsei_problem-list { flex-direction: column; align-items: center; gap: 20px; }
  .solutionCenter_Lshinsei_problem-list li { width: 100%; max-width: 320px; }
  .solutionCenter_Lshinsei_problem-arrow-text { font-size: 16px; }
  .solutionCenter_Lshinsei_summary-list { flex-direction: column; align-items: center; gap: 40px; }
  .solutionCenter_Lshinsei_summary-list li { width: 100%; max-width: 320px; }
  .solutionCenter_Lshinsei_highlight-text { font-size: 16px; text-align: left; }
  .solutionCenter_Lshinsei_detail-item,
  .solutionCenter_Lshinsei_detail-item--reverse { flex-direction: column-reverse; gap: 20px; margin-bottom: 60px; }
  .solutionCenter_Lshinsei_detail-item .txt-col,
  .solutionCenter_Lshinsei_detail-item .img-col { width: 100%; }
  .solutionCenter_Lshinsei_detail-item .ttl { font-size: 20px; }
  .solutionCenter_Lshinsei_detail-item .ttl .num { font-size: 32px; }

  /* --- メッセージLP (LMessage) --- */
  
  /* LMessageタイトル調整（SP） */
  .solutionCenter_LMessage_ttl-center {
    font-size: 19px !important; /* 22pxから縮小して1行化 */
    font-feature-settings: "palt"; /* 文字詰め */
    margin-bottom: 30px;
  }
  
  .solutionCenter_LMessage_trouble-list { flex-direction: column; align-items: center; gap: 30px; margin-bottom: 40px; }
  .solutionCenter_LMessage_trouble-list .text { font-size: 18px; }

  /* 青帯メッセージ修正（3行左寄せ） */
  .solutionCenter_LMessage_message-band .innerBox {
    text-align: center;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .solutionCenter_LMessage_message-band p {
    font-size: 15px !important; /* 18px -> 15px に縮小して3行に収める */
    text-align: left !important; /* 左寄せ */
    line-height: 1.6;
    display: block;
    width: auto;
    max-width: 100%;
    padding: 0;
  }
  /* このセクションだけPC用改行を有効化して意図した位置で改行させる */
  .solutionCenter_LMessage_message-band .brPc {
    display: inline !important;
  }

  /* その下の青文字タイトル（4行中央表示） */
  .solutionCenter_LMessage_ttl-blue {
    font-size: 20px !important; /* 22px -> 20px に縮小して折り返し防止 */
    text-align: center !important;
    line-height: 1.5;
    font-feature-settings: "palt";
    margin-bottom: 30px;
  }

  .solutionCenter_LMessage_ba-container { flex-direction: column; align-items: center; }
  .solutionCenter_LMessage_ba-image-box { width: 100%; }
  .solutionCenter_LMessage_ba-arrow { width: 100%; height: 40px; }
  .solutionCenter_LMessage_ba-arrow::after { border-width: 25px 15px 0 15px; border-color: #035fb4 transparent transparent transparent; }

  .solutionCenter_LMessage_merit-list { flex-direction: column; align-items: center; gap: 40px; }
  .solutionCenter_LMessage_merit-list .ttl { font-size: 20px; }
  .solutionCenter_LMessage_merit-list .txt { text-align: center; }
  .solutionCenter_LMessage_sub-txt { text-align: left !important; }
}