@charset "UTF-8";
/* Scss Document */
/*=============================================================
 共通
=============================================================*/
section {
  z-index: 2;
}
@media screen and (min-width: 767.9px) and (max-width: 1024.9px) {
section {
    zoom: 1;
  }
}
section .container {
  padding-top: 6vw;
  padding-bottom: 8vw;
}
@media print, screen and (min-width: 767.9px) {
section .container {
    padding-top: 25px;
    padding-bottom: 50px;
  }
}
section .container.full {
  max-width: 100%;
  padding-bottom: 0;
}
/* =========================================================
   0) 共通：見出し（lp-ja）— 長い黄色ライン
   ========================================================= */
   .lp-ja{
    position: relative;
  }
  h2.lp-ja{
    position:relative;
    text-align:center;
    margin-bottom: 30px;
    font-size: clamp(20px, 2.8vw, 32px);
  }
  .lp-ja::before{
    content:"";
    position:absolute;
    left:0; right:0; top:-52px;
    margin-inline:auto;
    width:min(300px, 48vw);
    height:6px;
    background:#FFD400;
    display:block;
  }
  @media (max-width:768px){
  .lp-ja::before {
    top: -48px;
}
}
/* ===================== キービジュアル ===================== */
#home_kv {
  position: relative;
}
/* ---- 基本レイアウト ---- */
#lp_kv.kv-static,
#home_kv #lp_kv.kv-static{
  position: relative;
  width: 100%;
  height: auto;
  overflow: hidden;
}
#lp_kv.kv-static img,
#home_kv #lp_kv.kv-static img{
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}
/* <picture>配下も安全にブロック化 */
#home_kv #lp_kv picture,
#home_kv #lp_kv picture img{
  display:block; width:100%; height:auto;
}
#lp_kv .kv__inner,
#home_kv #lp_kv .kv__inner{
  width: 100%;
  height: 100%;
  position: relative;
}

/* ---- ボタン共通 ---- */
#lp_kv .kv__btns,
#home_kv #lp_kv .kv__btns{
  position: absolute;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: var(--btn-gap, 2%);
  width: var(--btn-w, 22%);
  left: var(--btn-left, 72%);
  bottom: var(--btn-bottom, 10%);
  transform: translateX(-50%);
  z-index: 5;
  pointer-events: auto;
}
#lp_kv .kv__btns .btn-img,
#home_kv #lp_kv .kv__btns .btn-img{
  flex: 0 0 calc((100% - var(--btn-gap, 2.2%)) / 2);
  max-width: calc((100% - var(--btn-gap, 2.2%)) / 2);
  display: block;
}
#lp_kv .kv__btns img,
#home_kv #lp_kv .kv__btns img{
  width: 100%;
  height: auto;
  display: block;
}

/* =========================================================
   レスポンシブ調整（変数で制御）— 既存数値はそのまま
   ========================================================= */

/* 大画面（≥1920px） */
@media (min-width:1920px){
  #lp_kv .kv__btns,
  #home_kv #lp_kv .kv__btns{
    --btn-w: 41%;
    --btn-left: 79%;
    --btn-bottom: 8%;
    --btn-gap: 3%;
    bottom: 80px;
  }
}

/* ワイド（1480px〜1919px） */
@media (min-width:1480px) and (max-width:1919.98px){
  #lp_kv .kv__btns,
  #home_kv #lp_kv .kv__btns{
    --btn-w: 41%;
    --btn-left: 79%;
    --btn-bottom: 9%;
    --btn-gap: 3%;
    bottom: 60px;
  }
}

/* デスクトップ（1200px〜1479px） */
@media (min-width:1200px) and (max-width:1479.98px){
  #lp_kv .kv__btns,
  #home_kv #lp_kv .kv__btns{
    --btn-w: 41%;
    --btn-left: 79%;
    --btn-bottom: 9.5%;
    --btn-gap: 3%;
    bottom: 60px;
  }
}

/* タブレット上（1025px〜1199px） */
@media (min-width:1025px) and (max-width:1199.98px){
  #lp_kv .kv__btns,
  #home_kv #lp_kv .kv__btns{
    --btn-w: 41%;
    --btn-left: 79%;
    --btn-bottom: 10.5%;
    --btn-gap: 3%;
    bottom: 50px;
  }
}

/* タブレット中（901px〜1024px） */
@media (min-width:901px) and (max-width:1024.98px){
  #lp_kv .kv__btns,
  #home_kv #lp_kv .kv__btns{
    --btn-w: 41%;
    --btn-left: 79%;
    --btn-bottom: 12%;
    --btn-gap: 3%;
    bottom: 50px;
  }
}

/* タブレット下（821px〜900px） */
@media (min-width:821px) and (max-width:900.98px){
  #lp_kv .kv__btns,
  #home_kv #lp_kv .kv__btns{
    --btn-w: 41%;
    --btn-left: 79%;
    --btn-bottom: 12.5%;
    --btn-gap: 3%;
    bottom: 40px;
  }
}

/* タブ/SP境界（769px〜820px） */
@media (min-width:769px) and (max-width:820.98px){
  #lp_kv .kv__btns,
  #home_kv #lp_kv .kv__btns{
    --btn-w: 41%;
    --btn-left: 79%;
    --btn-bottom: 13%;
    --btn-gap: 3%;
    bottom: 40px;
  }
}

/* スマホ（≤768px） */
@media (max-width:768px){
  #lp_kv .kv__btns,
  #home_kv #lp_kv .kv__btns{
    --btn-w: 90%;
    --btn-left: 50%;
    --btn-bottom: 4.5%;
    --btn-gap: 3%;
    justify-content: space-between;
    bottom: 100px;
  }
}

/* スマホ細分化 */
@media (max-width:640px){
  #lp_kv .kv__btns,
  #home_kv #lp_kv .kv__btns{
    --btn-w: 94%;
    --btn-bottom: 4.0%;
    bottom: 80px;
  }
}
@media (max-width:480px){
  #lp_kv .kv__btns,
  #home_kv #lp_kv .kv__btns{
    --btn-w: 96%;
    --btn-bottom: 3.6%;
    bottom: 60px;
  }
}
@media (max-width:360px){
  #lp_kv .kv__btns,
  #home_kv #lp_kv .kv__btns{
    --btn-w: 95%;
    --btn-bottom: 3.2%;
    bottom: 40px;
  }
}
/* ---- KVの余白をデバイスごとに調整 ---- */
.shortterm-car-lease #home_kv {
  margin-top: 150px; /* PC基準: ヘッダー1段のとき */
}

/* PC（≥1025px） */
@media (min-width:1025px){
  .shortterm-car-lease #home_kv{
    margin-top: 150px; /* 1段ヘッダー想定 */
  }
}

/* タブレット以上（iPad mini含む 768px〜）：160px */
@media (min-width: 768px){
  .shortterm-car-lease #home_kv{
    margin-top: calc(150px + env(safe-area-inset-top, 0px));
  }
}

/* スマホ（〜767.98px）：99px */
@media (max-width: 767.98px){
  .shortterm-car-lease #home_kv{
    margin-top: calc(98px + env(safe-area-inset-top, 0px));
  }
}
/* ===================== ラインナップ ===================== */
#shortterm_item .lp-items{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
#shortterm_item .lp-item{
  position:relative;background:#fff;border:2px solid #DDE2E4;
  padding:20px 0 15px; text-align:center;line-height:1.25;
}
.lp-item .lp-logo{width:auto;height:40px;margin:0 auto 8px;display:block}
.lp-item .lp-thumb{display:block;margin:10px auto 0;max-width:92%;height:220px;object-fit:contain}
.lp-item .lp-name{font-weight:900;font-size:22px;margin:10px 0 6px}
.lp-item .lp-daily{color:#E40013;font-weight:900;margin:4px 0 14px;font-size:18px}
.lp-item .lp-daily small{display:block;font-weight:700}

/* 中古車バッジ（左上） */
.lp-item .lp-badge-used{
  position:absolute; top:5px; left:5px;
  display:inline-block; padding:.2em 1em .3em; line-height:1;
  background:#003A5F; color:#fff; font-size:12px;
}

/* 料金テーブル（左列=月数をブランドブルーに） */
.lp-item .lp-price{width:100%;margin:10px auto 12px;border-collapse:collapse}
.lp-item .lp-price td{border-top:1px solid #003A5F;padding:10px 2px;font-weight:800;font-size:24px}
.lp-item .lp-price td:first-child{color:#0C3B5E;width:30%;}
.lp-item .lp-price td:nth-child(2){color:#111;text-align:left}

/* 見積りリンク行 */
.lp-item .lp-more{
  margin-top:10px;padding-top:15px;border-top:2px solid #DADFE8;
  font-weight:800;font-size:18px;color:#002C47;display:flex;align-items:center;justify-content:center;gap:.4em;text-decoration:none
}
.lp-item .lp-more::after{
  content:"";width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:6px solid currentColor
}

/* “※料金はすべて税込価格” を右寄せ */
.archive .attation{text-align:right;margin-top:20px}

/* Tablet：2列 */
@media (max-width:1024.98px){
  #shortterm_item .lp-items{grid-template-columns:repeat(3,1fr);gap:24px}
  .lp-item .lp-thumb{height:200px}
}

/* SP：1列・余白調整 */
@media (max-width:768.98px){
  #shortterm_item .lp-items{grid-template-columns:1fr;gap:20px}
  .lp-item{padding:22px 18px}
  .lp-item .lp-name{font-size:20px}
  .lp-item .lp-price td{padding:12px 4px;font-size:16px}
}
/* ===================== 短期カーリースのご利用シーン ===================== */
#scene .com-tit01 + *{margin-top:50px}          /* h2直下を50px空ける */
#scene .com_col3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
#scene figure img{display:block;width:100%;height:auto;aspect-ratio:3 / 2; object-fit:cover;}
#scene figcaption{padding:0;text-align:left;line-height: 1.8;}  /* 説明は左寄せ */
#scene figcaption b{display:block;color:#0C3A5F;margin:0.5em 0;font-size:clamp(18px, 1.6vw, 20px);font-weight:700;}

/* Tablet */
@media (max-width:1024.9px){#scene .com_col3{grid-template-columns:repeat(2,1fr)}}
/* SP */
@media (max-width:768px){#scene .com_col3{grid-template-columns:1fr}
#scene figcaption {font-size: 16px;}
#scene figcaption b{font-size:clamp(16px, 4.2vw, 18px);font-weight:700;}}

/* ===================== 選ばれる理由 ===================== */
#lp-reasons .lp-sec-title{ margin-bottom:24px; text-align:center; }

#lp-reasons .lp-reason-cards{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:28px;
}
@media (max-width:960px){
  #lp-reasons .lp-reason-cards{ grid-template-columns:1fr; }
}

#lp-reasons .lp-reason{
    position: relative;
    --badge-w: 18px;
    --badge-h: 60px;
    --badge-left: 28px;
    --badge-top-offset: -16px;
    --badge-color: #2B7BB2;
    --card-bg: #fff;
    border:2px solid #2E6AA6;         /* 枠のブルー */
    border-radius:18px;
    padding:18px 18px 16px;
    box-sizing:border-box;
  }

/* しおり本体（数字入り） */
#lp-reasons .lp-reason::before{
  content: attr(data-no);
  position: absolute;
  left: var(--badge-left);
  top: var(--badge-top-offset);
  width: var(--badge-w);
  height: var(--badge-h);
  display: flex; align-items: center; justify-content: center;
  background: var(--badge-color);
  color: #fff; font-weight: 900; font-size: 28px; line-height: 1;
  border-radius: 6px 6px 0 0;
  z-index: 2;
  padding:5px 20px 20px;
}

/* 下辺中央の“白い切り欠き”（＝逆三角） */
#lp-reasons .lp-reason::after{
  content: "";
  position: absolute;
  left: calc(var(--badge-left) + var(--badge-w)/2 - -20px);
  top: calc(var(--badge-top-offset) + var(--badge-h) - -7px);
  transform: translateX(-50%);
  width: 0; height: 0;
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  border-top:0;
  border-bottom: 20px solid var(--card-bg); /* カード背景色でえぐる */
  z-index: 3;
}

/* アイコン・見出し・本文 */
#lp-reasons .lp-reason-illust{
  width:auto; max-width:100%;
  height:80px; display:block;
  margin:10px auto 8px;
}
#lp-reasons .lp-reason-ttl{
    margin:0 0 10px;
    font-size:18px;
    font-weight:700;
    color:hsl(205, 75%, 22%);
    text-align:center;
  }
#lp-reasons .lp-reason-txt{
  margin:0;
  font-size:16px;
  line-height:1.75;
  color:#333;
  text-align:left;
}

/* ---- Tablet/SP：バッジサイズと位置調整 ---- */
/* Tablet */
@media (max-width: 991.98px){
  #lp-reasons .lp-reason{
    --badge-w: 2vw;
    --badge-h: 66px;
    --badge-left: 22px;
  }
}
@media (max-width:599.98px){
  #lp-reasons .lp-reason{
    --badge-w: 18px; --badge-h: 60px; --badge-left:16px; --badge-top-offset:-14px;
  }
  /* モバイルは数字を少しだけ小さく */
  #lp-reasons .lp-reason::before{ font-size: 26px; }
}
/****************************************************
 * ========== 比較表の見出しのテキストカラー（短期カーリース） ==========
 ****************************************************/
 span.lp-em {
  color: #215F9A;
  font-size: 1.5em;
}
/* リード文は表幅に合わせる */
#lp-compare .lp-compare-lead{max-width:1080px;margin:0 auto 50px;font-size:16px;line-height:1.9;color:#222;text-align:left}
header.lp-sec-title.-sub {
  margin-bottom:20px;
}
#lp-compare .lp-compare-head {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  background: #F1F3F5;
  padding: 28px 0 20px;
  margin-bottom: 24px;
}
@media (max-width:768px){
#lp-compare .lp-compare-head {
  padding: 42px 0 20px;
}
}
/* ===================== 比較表 ===================== */
/* ラッパー＆テーブル土台 */
#lp-compare .lp-table-wrap{
  overflow:auto; -webkit-overflow-scrolling:touch;
  border-radius:12px; border:1px solid #E5ECF2;
}
#lp-compare .lp-table{
  width:100%; min-width:720px; border-collapse:separate; border-spacing:0; background:#fff;
}
#lp-compare .lp-table th,
#lp-compare .lp-table td{
  padding:25px 14px; border-bottom:1px solid #E5ECF2; vertical-align:middle;
  font-size:16px; line-height:1.6;
}

/* ===== 6色ルール =====
   列ごとにヘッダー色 / 本文色を分ける（合計6色）
   1列目：ヘッダー=濃いグレー, 本文=薄グレー
   2列目（短期カーリース）：ヘッダー=ブランドブルー, 本文=薄い水色
   3列目（長期レンタカー）：ヘッダー=黒系, 本文=薄グレー
---------------------------------------------------------------- */
/* ヘッダー行 */
#lp-compare .lp-table thead th{ font-weight:800; text-align:center; }
/* 1列目（左端ヘッダー）…“項目”は見せない */
#lp-compare .lp-table thead th.lp-th-blank{
  background:#EDEFF3;            /* 濃いグレー帯 */
  position:relative;
}
/* 2列目（短期）ヘッダー：ブルー */
#lp-compare .lp-table thead th:nth-child(2){
  background:#2B7BB2; color:#fff;
}
/* 3列目（レンタカー）ヘッダー：濃いグレー */
#lp-compare .lp-table thead th:nth-child(3){
  background:#595353;color:#fff;
}

/* 本文セルの背景（列単位） */
#lp-compare .lp-table tbody th{               /* 1列目（見出し列） */
  background:#F7F9FC; font-weight:800; text-align:left;
}
#lp-compare .lp-table tbody td:nth-child(2){  /* 2列目（短期）本文：薄い水色 */
  background:#EAF3FF;
}
#lp-compare .lp-table tbody td:nth-child(3){  /* 3列目（レンタカー）本文：薄グレー */
  background:#F0F1F2;
}

/* ===== 記号（中央揃え・色付き） =====
   .badge-ok  = ●（グリーン）
   .badge-delta = ▲（オレンジ）
   既存テキストの先頭にアイコンを追加し、中央に配置
---------------------------------------------------------------- */
#lp-compare .badge-ok,
#lp-compare .badge-delta{
  position:relative;
  padding-top:26px;            /* アイコン分の上余白 */
  text-align:center;           /* テキスト自体も中央 */
}

/* 共通：アイコンを中央に固定配置 */
#lp-compare .badge-ok::before,
#lp-compare .badge-delta::before{
  content:"";
  position:absolute; top:6px; left:50%; transform:translateX(-50%);
  display:block;
}

/* ● グリーン */
#lp-compare .badge-ok::before{
  width:14px; height:14px; border-radius:50%; background:#1BBE5C; /* グリーン */
}

/* ▲ オレンジ */
#lp-compare .badge-delta::before{
  width:0; height:0;
  border-left:8px solid transparent;
  border-right:8px solid transparent;
  border-bottom:14px solid #FF8A00;  /* オレンジ */
}

/* SP向け微調整（任意） */
@media (max-width:768px){
  #lp-compare .lp-table th,
  #lp-compare .lp-table td{ padding:18px 8px; }
  #lp-compare .badge-ok,
  #lp-compare .badge-delta{ padding-top:24px; }
  #lp-compare .badge-ok::before,
  #lp-compare .badge-delta::before{ top:4px; }
}
p.lp-note {
  text-align: left!important;
  margin-top:20px!important;
  margin-bottom: 20px;
  font-size: 16px!important;
  line-height: 1.9;
}
@media print, screen and (min-width: 1024.9px) {
  #gFooter .footer-nav2 ul {
    margin-right: 0!important;
  }
  p.lp-note {
    font-size: 16px!important;
    line-height: 1.9;
  }
}
/* ===================== 事例紹介 ===================== */

#home_case {
  background-color: #F5F5F5;
}

#home_case .com_col2 {
  text-align: left;
  position: relative;
}

@media screen and (max-width: 767.9px) {
  #home_case .com_col2 {
    margin-top: 30px;
  }
}

@media print, screen and (min-width: 767.9px) {

  #home_case .com_col2 {
    margin-top: 60px;
    padding: 2vw;
  }

/* 1事例ごとにカード化 */
#home_case .case-item {
  background: #fff;
  box-shadow: 2px 2px 6px rgba(0,0,0,0.25);
  padding: 20px;
  position:relative;
}

/* PC 横並び */
@media screen and (min-width: 767.9px) {
  #home_case .case-item {
    display: flex;
    gap: 24px;
  }
}

  /* 写真右に少し余白を足す */
  #home_case .com_col2 .caseBox {
    padding-right: 20px;
  }
}

/* 画像 */
#home_case .caseBox .thumbnail img {
  width: 100%;
  height: auto;
  border-radius: 10px;
}

/* 見出し */
.voice h3 {
  font-weight: 700;
  color: #002C47;
  margin: 1em 0 0.5em 0;
  line-height: 1.4;
  font-size: 5vw;
  border-bottom: 2px solid #000;
  padding-bottom: 10px;
}

@media print, screen and (min-width: 767.9px) {
  .voice h3 {
    font-size: 24px;
    margin: 0.3em 0 0.5em 0;
  }
}

.voice h3 strong {
  color: #359CBC;
}

/* 会社名など */
#home_case .caseBox p {
  font-weight: 500;
  font-size: 4.5vw;
  margin-bottom: 5px;
}

@media print, screen and (min-width: 767.9px) {
  #home_case .caseBox p {
    font-size: 16px;
    margin-bottom: 10px;
  }
}

#home_case .caseBox p small {
  display: inline-block;
}

@media print, screen and (min-width: 767.9px) {
  #home_case .caseBox p small {
    font-size: 13px;
    margin-bottom: 0.2em;
  }
}

p.bold {
  font-weight: 700 !important;
  color: #002C47;
  margin: 1rem 0 !important;
  font-size: 16px;
}

@media screen and (max-width: 767.9px) {
  #home_case .voice {
    margin-top: 20px;
  }
}

@media print, screen and (min-width: 767.9px) {
  #home_case .voice p {
    margin-top: 0.5em;
    font-size: 14px;
  }
}

#home_case .voice p {
  font-weight: 400;
}

.accent {
  color: #359CBC;
  font-weight: bold;
}

/* 詳細リンク */
.more-link {
  margin-top: 10px;
  font-weight: 600;
  font-size: 14px;
  text-align: right;
}
@media print, screen and (min-width: 767.9px) {

  /* テーマ側の回り込みを無効化して、LP側で横並びを固定 */
  #home_case .com_col2 {
    display: flex;
    align-items: flex-start;
    gap: 24px;          /* 余白はここで管理 */
  }

  #home_case .com_col2 .caseBox,
  #home_case .com_col2 .voice {
    float: none !important;
    clear: none !important;
    width: auto !important;
    flex: 1;
    min-width: 0;       /* はみ出し防止 */
  }
}
/* 2件以下 → 縦 */
#home_case .com_col2.is-vertical {
  display: flex !important;
  flex-direction: column !important;
  gap: 30px;
}

/* 各事例 */
#home_case .case-item {
  background: #fff;
  box-shadow: 2px 2px 6px rgba(0,0,0,0.25);
  padding: 20px;
}

/* 横並び（中身） */
@media screen and (min-width: 767.9px) {
  #home_case .case-item {
    display: flex;
    gap: 24px;
  }
  #home_case .case-item::before {
    content: "";
    position: absolute;
    top: 7%;
    left: 50%;
    width: 2px;
    height: 86%;
    background-color: #B3C0C8;
  }
  #home_case .case-item .caseBox,
  #home_case .case-item .voice {
    flex: 1;
  }
}
/* ===================== ご利用の流れ ===================== */
@media print, screen and (min-width: 767.9px) {
#beginners {
    margin-bottom: 50px;
  }
}
#beginners .col_flow {
  position: relative;
}
@media print, screen and (min-width: 767.9px) {
  #beginners .col_flow {
    display: grid;
    gap: 80px;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  }
}
@media screen and (max-width: 767.9px) {
  #beginners .col_flow:before {
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    background-color: #002C47;
    position: absolute;
    top: 0;
    left: 40px;
  }
}
#beginners .col_flow figure {
  position: relative;
  margin: 30px 0;
}
@media screen and (max-width: 767.9px) {
  #beginners .col_flow figure {
    display: flex;
    align-items: center;
  }
}
@media print, screen and (min-width: 767.9px) {
  #beginners .col_flow figure {
    margin: 30px 0;
  }
}
@media screen and (max-width: 767.9px) {
  #beginners .col_flow figure img {
    width: 80px !important;
    height: auto;
    margin-right: 20px;
  }
}
#beginners .col_flow figure figcaption {
  margin-top: 0.5em;
  font-weight: 500;
}
@media print, screen and (min-width: 767.9px) {
  #beginners .col_flow figure figcaption {
    margin-top: 1em;
  }
}
@media screen and (max-width: 767.9px) {
  #beginners .col_flow figure figcaption {
    font-size: 4vw;
    font-weight: 700;
  }
}
@media screen and (max-width: 767.9px) {
  #beginners .col_flow figure figcaption br {
    display: none;
  }
}
@media print, screen and (min-width: 767.9px) {
  #beginners .col_flow figure:before {
    position: absolute;
    top: 30%;
    left: -40px;
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 12px solid #002C47;
    border-right: 0;
  }
}
#beginners .col_flow figure:first-child:before {
  display: none;
}
@media print, screen and (min-width: 767.9px) {
  #beginners ul {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    align-items: center;
    justify-content: center;
    margin: 50px auto;
    max-width: 80%;
  }
}
#beginners ul li {
  font-weight: 500;
}
@media screen and (max-width: 767.9px) {
  #beginners ul li {
    margin: 10px 0;
  }
}
@media print, screen and (min-width: 767.9px) {
  #beginners ul li {
    font-size: 18px;
  }
}
@media print, screen and (min-width: 767.9px) {
  #beginners ul li:nth-child(2) {
    margin: 0 0;
  }
}

/* ===================== よくある質問 ===================== */
#home_faq h3 {
  margin-top: 60px;
  text-align: left;
  font-size: 150%;
}
#home_faq .faq_cate {
  text-align: left;
  margin-top: 10px;
}
@media print, screen and (min-width: 767.9px) {
  #home_faq .faq_cate {
    margin-top: 30px;
  }
}
#home_faq .faq_cate .js-toggle-tit {
  background-color: #DADFE8;
  margin-top: 15px;
  padding: 1em 20px;
  cursor: pointer;
  position: relative;
  font-weight: 700;
}
@media print, screen and (min-width: 767.9px) {
  #home_faq .faq_cate .js-toggle-tit {
    font-size: 18px;
  }
}
#home_faq .faq_cate .js-toggle-tit:first-child {
  margin-bottom: 0px;
}
#home_faq .faq_cate .js-toggle-tit:before, #home_faq .faq_cate .js-toggle-tit:after {
  content: "";
  display: block;
  width: 10px;
  height: 2px;
  position: absolute;
  top: 50%;
  right: 20px;
  background-color: #002C47;
}
@media print, screen and (min-width: 767.9px) {
  #home_faq .faq_cate .js-toggle-tit:before, #home_faq .faq_cate .js-toggle-tit:after {
    width: 20px;
    height: 3px;
  }
}
#home_faq .faq_cate .js-toggle-tit:after {
  transform: rotate(90deg);
  -webkit-transition: all .3s;
  transition: all .3s;
}
#home_faq .faq_cate .js-toggle-tit.on:after {
  transform: rotate(0deg);
  -webkit-transition: all .3s;
  transition: all .3s;
}
#home_faq .faq_cate .js-toggle-content {
  background-color: #DADFE8;
  padding: 0 20px 20px 20px;
  display: none;
}
#home_faq .faq_cate .js-toggle-content dl {
  background-color: #fff;
  margin-top: 1em;
  position: relative;
}
#home_faq .faq_cate .js-toggle-content dl a {
  color: #359CBC;
  text-decoration: underline;
}
#home_faq .faq_cate .js-toggle-content dl:first-of-type {
  margin-top: 0;
}
#home_faq .faq_cate .js-toggle-content dl:before {
  content: "Q";
  display: inline-block;
  position: absolute;
  top: 1em;
  left: 1em;
  font-size: 110%;
  font-weight: 700;
  color: #359CBC;
}
#home_faq .faq_cate .js-toggle-content dl .js-toggle-tit_cild {
  position: relative;
  cursor: pointer;
  padding: 1em 2.5em 1em 2.5em;
  font-size: 110%;
  font-weight: 700;
  color: #359CBC;
}
#home_faq .faq_cate .js-toggle-content dl .js-toggle-tit_cild:before, #home_faq .faq_cate .js-toggle-content dl .js-toggle-tit_cild:after {
  content: "";
  display: block;
  width: 10px;
  height: 2px;
  position: absolute;
  top: 50%;
  right: 20px;
  background-color: #002C47;
}
@media print, screen and (min-width: 767.9px) {
  #home_faq .faq_cate .js-toggle-content dl .js-toggle-tit_cild:before, #home_faq .faq_cate .js-toggle-content dl .js-toggle-tit_cild:after {
    width: 10px;
    height: 2px;
  }
}
#home_faq .faq_cate .js-toggle-content dl .js-toggle-tit_cild:after {
  transform: rotate(90deg);
  -webkit-transition: all .3s;
  transition: all .3s;
}
#home_faq .faq_cate .js-toggle-content dl .js-toggle-tit_cild.on:after {
  transform: rotate(0deg);
  -webkit-transition: all .3s;
  transition: all .3s;
}
#home_faq .faq_cate .js-toggle-content dl .js-toggle-content_cild {
  display: none;
  padding: 0 1em 1em 4.5em;
  margin-left: 0!important;
  position: relative;
  font-weight: 500;
}
#home_faq .faq_cate .js-toggle-content dl .js-toggle-content_cild.on {
  display: block;
}
#home_faq .faq_cate .js-toggle-content dl .js-toggle-content_cild:before {
  content: "A";
  display: inline-block;
  position: absolute;
  left: 3em;
  top: 0;
}
#home_faq .faq_cate:first-of-type {
  margin-top: 30px;
}

/* ===================== お問合せフォーム ===================== */
#home_contact {
  background-color: #F5F5F5;
}
@media print, screen and (min-width: 767.9px) {
  #home_contact {
    font-size: 18px;
  }
}
#home_contact p a {
  text-decoration: underline;
}
#home_contact p.attation {
  text-align: left;
  font-weight: 700;
  margin-top: 10px;
}
@media print, screen and (min-width: 767.9px) {
  #home_contact p.attation {
    font-size: 18px;
    margin-top: 0;
    margin-bottom: 20px;
  }
}
#home_contact p.attation span {
  color: #FF0000;
}
#home_contact table {
  width: 100%;
  text-align: left;
}
#home_contact table th {
  font-weight: 400;
  vertical-align: top;
}
@media screen and (max-width: 767.9px) {
  #home_contact table th {
    padding-top: 1em;
  }
}
@media print, screen and (min-width: 767.9px) {
  #home_contact table th {
    padding: 1em 2em 1em 0;
    white-space: nowrap;
  }
}
#home_contact table th span {
  color: #FF0000;
}
@media print, screen and (min-width: 767.9px) {
  #home_contact table td {
    padding: 1em 0;
  }
}
#home_contact table td label {
  display: block;
}
@media screen and (max-width: 767.9px) {
  #home_contact table td label {
    margin: 1em 0 0 0;
  }
}
@media print, screen and (min-width: 767.9px) {
  #home_contact table td.radio_col2 {
    display: flex;
    flex-flow: row wrap;
  }
}
@media print, screen and (min-width: 767.9px) {
  #home_contact table td.radio_col2 .mwform-radio-field {
    width: 40%;
	margin-left:0;  
  }
}
#home_contact table td.radio_col1 label {
  display: block;
}
@media screen and (max-width: 767.9px) {
  #home_contact table th, #home_contact table td {
    display: block;
  }
}
#home_contact .privacy {
  margin-bottom: 2em;
}
@media print, screen and (min-width: 767.9px) {
  #home_contact .privacy {
    margin-bottom: 3em;
  }
}
#home_contact .privacy p {
  margin-top: 1em;
}

/* ===================== CTA帯 ===================== */
.lp-cta-band .lp-cta-outer{
  background:#215F9A;
}
.lp-cta-band .lp-cta-card .under{
  display:block; font-weight:600;
  text-decoration: underline; text-decoration-color:#000; text-decoration-thickness:2px;line-height:1.5;
}
.lp-cta-band {
  background-color: #215F9A;
  color: #fff;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.lp-cta-band .lp-cta-card {
    position: relative;
    margin: 0 auto;
    text-align: center;
    background:#ffd400;
    color:#111;
    font-weight:800;
    font-size: clamp(22px, 5vw, 36px);
    line-height: 1.3;
    padding: clamp(16px, 2.2vw, 22px) clamp(32px, 4vw, 52px);
    width: min(980px, 50%);
  /* 左上・右下が欠けた形状 */
 clip-path: polygon(40px 0, 100% 0, 100% calc(100% - 40px),
                     calc(100% - 40px)  100%, 0 100%, 0 40px);
}

.lp-cta-band .lp-cta-card::before,
.lp-cta-band .lp-cta-card::after{
  content:"";
  position:absolute; top:0; bottom:0; width:64px;
}
.lp-cta-band .lp-cta-card::before{
  left:-26px; transform: skewX(0);
}
.lp-cta-band .lp-cta-card::after{
  right:-31px; transform: scaleX(-1);
}

@media (max-width:1024px){
.lp-cta-band .lp-cta-card {
  width:min(980px,85%)   
}
}

@media (min-width:769px){
  .lp-cta-band .lp-cta-btns {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 20px;
    gap: 20px;
    flex-wrap: nowrap;
  }
  .lp-cta-band .lp-cta-btns .btn-img {
    flex: 0 0 clamp(320px, 22vw, 400px);
    max-width: 100%;
    height: auto;
  }
  .lp-cta-band .lp-cta-card {
    width:min(980px,62%);
  }
}
@media (max-width:768px){
.lp-cta-band .lp-cta-btns {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 20px;
}
}
/* ===== SP用（縦並び・帯幅＝ボタン幅） ===== */
@media (max-width: 767.9px){

  .lp-cta-band{
    --sp-btn-w: 86vw;   /* ボタン＆帯の幅 */
    --sp-gap:   12px;   /* ボタン間隔 */
    --sp-max:   92vw;   /* 画面幅の最大値 */
  }

  .lp-cta-band .lp-cta-card {
    --cut: 20px;
    width: min(var(--sp-btn-w), var(--sp-max));
    margin: 0 auto;
    padding: 12px 10px;
    clip-path: polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)),
                       calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut));
  }

  .lp-cta-band .lp-cta-btns {
    margin: 16px auto 0;
    width: min(var(--sp-btn-w), var(--sp-max));
    display: flex;
    flex-direction: column;      /* 縦並び */
    align-items: stretch;
    gap: var(--sp-gap);
    align-items:center;
  }
  .lp-cta-band .lp-cta-btns .btn-img {
    width: 100%;
    height: 56px;
  }
}
/* ボタン内の文字を大きく＆縦中央に。アイコン高さに合わせる */
.lp-cta-band .lp-cta-btns .btn-img{
  display:flex; align-items:center; justify-content:center;
  gap:12px; padding: 16px 5px; min-height:74px;
}
.lp-cta-band .lp-cta-btns .btn-img .btn-label{
  font-size: clamp(16px, 2.2vw, 30px);
  font-weight: 800; line-height:1.1;
  margin-left:50px;
}
/* 白いタブ（赤文字）の位置をやや下げて中央化（PC側） */
.lp-cta-band .lp-cta-btns .btn-img .btn-badge{
  position:absolute; top: -5px; left:50%; transform:translateX(-50%);
  white-space:nowrap;
}

/* モバイルのボタン幅最適化（2列ブレーク可） */
@media (max-width: 768px){
  .lp-cta-band .lp-cta-btns{ gap:14px; }
  .lp-cta-band .lp-cta-btns .btn-img{ max-width: 320px; width: 100%; }
}

/* デフォルトは非表示（PC/タブ） */
.sp-br { display: none; }

/* スマホだけ改行を有効化 */
@media (max-width: 767.9px) {
  .sp-br { display: inline; } /* <br> は display:inline でOK */
}

/* --- KVボタンが巨大化するのを制御（SCF版のみ） --- */
.shortterm-car-lease #lp_kv.kv-static .kv__btns{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: var(--btn-bottom, 9%);
  display: flex;
  gap: var(--btn-gap, 2.2%);
  z-index: 5;
}

/* アンカー自体に幅を持たせる（ここが無いとimgが実寸でデカくなる） */
.shortterm-car-lease #lp_kv.kv-static .kv__btns .btn-img{
  width: var(--btn-w, 22%);   /* ここで全体に対するボタン幅を決定 */
}

/* 画像はボタン幅にフィット */
.shortterm-car-lease #lp_kv.kv-static .kv__btns .btn-img img{
  width: 100%;
  height: auto;
  display: block;
}
/* SCFが挿入した以外のボタンを非表示にする */
/*.shortterm-car-lease .kv__btns:not([data-src="scf"]) {
  display: none !important;
}*/
/*=============================================================
 フォーム確認・送信・エラー画面
=============================================================*/
#formStyle {
  background-color: #F5F5F5;
}
@media print, screen and (min-width: 767.9px) {
  #formStyle {
    font-size: 18px;
  }
}
#formStyle p.lead {
  font-weight: 700;
  margin-top: 30px;
}
@media print, screen and (min-width: 767.9px) {
  #formStyle p.lead {
    font-size: 18px;
    margin-top: 0;
    margin-bottom: 20px;
  }
}
#formStyle table {
  width: 100%;
  text-align: left;
}
#formStyle table th {
  font-weight: 400;
  vertical-align: top;
  box-sizing: border-box;
}
@media screen and (max-width: 767.9px) {
  #formStyle table th {
    padding-top: 1em;
  }
}
@media print, screen and (min-width: 767.9px) {
  #formStyle table th {
    padding: 1em 2em 1em 0;
    white-space: nowrap;
    width: 30%;
  }
}
#formStyle table th span {
  color: #FF0000;
}
@media print, screen and (min-width: 767.9px) {
  #formStyle table td {
    padding: 1em 0;
  }
}
#formStyle table td label {
  margin: 0.25em 0;
}
@media print, screen and (min-width: 767.9px) {
  #formStyle table td.radio_col2 {
    display: flex;
    flex-flow: row wrap;
  }
}
#formStyle table td.radio_col2 .mwform-radio-field {
  display: block;
  margin: 0;
}
@media print, screen and (min-width: 767.9px) {
  #formStyle table td.radio_col2 .mwform-radio-field {
    width: 40%;
  }
}
#formStyle table td.radio_col1 label {
  display: block;
}
@media screen and (max-width: 767.9px) {
  #formStyle table th, #formStyle table td {
    display: block;
  }
}
#formStyle .privacy p {
  margin-top: 1em;
}
#formStyle .btn_arrow01 {
  margin-top: 2em;
}