@charset "utf-8";

/*
theme Name:sirius
*/

/* CSS Document */

* {
  margin: 0px;
  padding: 0px;
  border-top-style: none;
  border-right-style: none;
  border-bottom-style: none;
  border-left-style: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  list-style:none;
}


html {
  height: 100%;
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}


body {
  color: #454545;
  background-color: #fff;
  font-size: 12px;
  font-family: "Noto Sans", sans-serif;
  height: 100%;
  width: 100%;
  letter-spacing: 0.5px;
  font-feature-settings: "palt" 1;
  font-kerning: auto;
  -webkit-text-size-adjust: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  overflow-x: hidden;
}

a {
    text-decoration: none !important; 
}

a:link, 
a:visited {
    text-decoration: none;
}

.br-pc{
    display: block;
}

.br-sp{
    display: none;
}

/* 最初から表示させるためのクラス */
.is-visible {
    opacity: 1 !important;
    transform: translate(0, 0) !important;
    visibility: visible !important;
}

header {
    position: fixed; 
    top: 0;
    left: 0;
    width: 100%;
    background-color: #000; 
    z-index: 100; 
    color: #fff;
}

.main-header-bar {
    position: relative; 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
    padding: 40px 30px; 
}

/* ロゴの親要素（<a>タグ）のスタイル - 中央配置 */
.main-header-bar > a {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10; 
}

/* ロゴ画像 */
.logo {
    height: 80px; 
    width: auto;
    display: block; 
}

.hamburger {
  position: fixed;
  right: 5px;
  z-index: 100;
  width: 48px;
  height: 48px;
  border: none;
  background: transparent;
  cursor: pointer;
}

.hamburger__line {
  position: absolute;
  left: 11px;
  width: 26px;
  height: 2px;
  background-color: #fff; 
  transition: all .4s;
}
.hamburger__line:nth-of-type(1) {
  top: 14px;
}
.hamburger__line:nth-of-type(2) {
  top: 23px;
}
.hamburger__line:nth-of-type(3) {
  top: 32px;
}

/* メニューオープン時 */
.hamburger.active .hamburger__line:nth-of-type(1) {
  transform: translateY(9px) rotate(-45deg);
}
.hamburger.active .hamburger__line:nth-of-type(2) {
  opacity: 0;
}
.hamburger.active .hamburger__line:nth-of-type(3) {
  transform: translateY(-9px) rotate(45deg);
}

/* メニューオープン時（activeクラスが付いたとき）のラインの色を黒に */
.hamburger.active .hamburger__line {
    background-color: #333; 
}
.nav {
  position: fixed;
  top: 0;
  right: 0; 
  left: auto; 
  width: 250px;
  height: 100vh;
  background-color: #fff;
  box-shadow: -2px 0 4px rgba(0,0,0,.1); 
  transform: translateX(100%); 
  transition: transform .4s;
  z-index: 90;
}

.nav.active {
  transform: translateX(0); /* アクティブ時：右端に固定 */
}

.nav-list {
  margin: 0;
  padding: 100px 0 0;
  list-style: none;
}

.nav-item {
  padding: 0 20px;
}

.nav-link {
  display: block;
  padding: 15px 0;
  color: #333;
  text-decoration: none;
  border-bottom: 1px solid #eee;
  font-size: 14px;
  font-family:"Noto Sans", sans-serif;
  font-weight: bold;
}

.nav-item a:hover {
    opacity: 0.7;
}

/* ==================================== */
/* メインビジュアル (.mv) 修正 */
/* ==================================== */

.mv {
    position: relative;
    width: 100vw;
    height: 100vh; /* 画面高さ100% */
    overflow: hidden;
    background-color: #000;
}

/* 内部コンテナ*/
.mv-video-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    overflow: hidden;
}

/* 動画の比率を維持したまま、枠（100vh）を完全に埋めるためのラッパー */
.mv-video-wrapper {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 177.77vh; /* (16 / 9 * 100) */
    min-width: 100vw;
    height: 100vh;
    min-height: 56.25vw; /* (9 / 16 * 100) */
}

.mv-video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: scale(1.05); 
    pointer-events: none;
}

/* ブランド導入セクション */
.brand-intro-section {
    background-color: #000; /* 背景を黒に設定 */
    padding: 60px 0;
    text-align: center;
    color: #fff;
}

.brand-intro-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 30px;
}

/* ロゴエリアのレイアウト */
.brand-logos {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 40px; /* ロゴ同士の間隔 */
    margin-bottom: 30px;
}

.intro-logo-jeep {
    height: 60px; 
    width: auto;
}

.intro-logo-peugeot {
    height: 70px;
    width: auto;
}

/* 企業名テキスト */
.brand-intro-text {
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 0.1em;
    font-family: "Noto Sans", sans-serif; 
}

/* ==================================== */
/* サービスセクション (.service) */
/* ==================================== */

.service {
    margin: 0;
    padding: 30px 0 0; 
    background-color: #fff;
    text-align: center;
}

.inner {
    max-width: 1200px; 
    margin: 20px auto 0;
    padding: 0 30px; 
}

.section-title {
    font-size: 55px;
    font-family: "neue-haas-grotesk-display","Open Sans", sans-serif;
    font-weight: 900;
    font-style: normal;
    margin-bottom: 5px;
    letter-spacing: 2px;
    color: #000;;
}

.section-subtitle {
    font-size: 16px;
    font-family: "Noto Sans", sans-serif;
    color: #000;
    margin-bottom: 70px; 
    font-weight: normal;
}


/* --- サービスカードのレイアウト --- */
.service-cards {
    display: flex;
    justify-content: center;
    flex-wrap: wrap; 
    gap: 0; 
    width: 100vw; /* ビューポート幅いっぱいに設定 */
    position: relative;
    left: 50%;
    transform: translateX(-50%); /* 中央寄せのテクニック */
    margin-top: 40px; /* 見出しとの間の隙間はそのまま */
}

.card {
    position: relative;
    width: calc(100vw / 4); 
    min-height: 350px; 
    background-size: cover;
    background-position: center;
    color: #fff;
    padding: 0; 
    overflow: hidden;
}

/* --- カード背景画像の設定  --- */
.card-jeep {
    background-image: url('../img/jeep_s.jpg'); 
    background-color: #333; 
}

.card-peugeot {
    background-image: url('../img/peugeot_s.jpg'); 
    background-color: #333; 
}

/* 3. 認定中古車 */
.card-used {
    background-image: url('../img/approved_s.jpg'); 
    background-color: #333; 
}

/* 4. サービス */
.card-service {
    background-image: url('../img/service_s.jpg'); 
    background-color: #333; 
}



/* --- カードに重ねるコンテンツ --- */

.card-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 30px;
    z-index: 2;
    text-align: center;
}

.card-logo {
    font-size: 40px;
    font-family: "Noto Sans", sans-serif;
    margin-bottom: 10px;
}

.card-sub-logo {
    font-size: 16px;
    margin-bottom: 20px;
    color: #ccc;
}

/* --- ボタンのスタイル --- */
.card-buttons {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
    margin-bottom: 20px;
}

.btn {
    display: block;
    padding: 12px 20px;
    border: 1px solid #fff;
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    font-weight: bold;
    transition: background-color 0.3s, color 0.3s;
    width: 100%;
    max-width: 250px;
    margin: 0 auto;
    border-radius: 10px;
}

.btn-model, .btn-special {
    max-width: 250px; 
}

.btn:hover {
    background-color: rgba(255, 255, 255, 0.7);
}

.btn-top {
    background-color: #fff;
    color: #000;
    border: none;
    max-width: 250px;
    padding: 15px 20px;
    border-radius: 10px;
}

.btn-top:hover {
    opacity: 0.8;
    background-color: #fff;
    color: #000;
}

.sec-title {
    max-width: 100vw;
    margin: 0 auto;
    padding: 50px 60px;
    display: flex;
    gap: 30px;
}

.section-sub-title {
    font-size: 2.4rem;
    font-family: "neue-haas-grotesk-display","Open Sans", sans-serif;
}

.section-sub-text {
    font-size: 16px;
    font-family: "Noto Sans", sans-serif;
    padding-top: 20px;
    font-weight: normal;
}


img.store-bg-image {
    width: 100vw;
}

.store-infomation {
    position: relative; 
    z-index: 10;
    min-height: 440px; 
    background-image: url('../img/sirius_officce.jpg');
    background-size: cover;
    background-position: right center;
    background-repeat: no-repeat;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start; 
    margin: 0 auto;
    padding: 0 60px;
    overflow: hidden; 
    max-width: 100vw; 
}

/* --- 画像の設定 --- */
.store-bg-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
}

.store-infomation h2, 
.store-infomation p, 
.store-infomation {
    position: relative;
    z-index: 20;
    color: #000;
}
.store-infomation p {
    color: #000;
    font-size: 1.2rem;
    line-height: 2.3;
    margin-top: 20px;
    font-family: "Noto Sans", sans-serif;
}

.store-infomation h2{
    font-size: 40px;
    margin: 80px 0 30px;
    font-family: "Noto Sans", sans-serif;
    pointer-events: none;
    text-decoration: none !important;
}

a.btn-store {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 250px;
    margin: 0 auto 60px;
    padding: 1.2em 2em;
    border-radius: 5px;
    background-image: linear-gradient(0deg, #000000 0%, #9f9f9f 100%);
    color: #fff;
    font-weight: 600;
    font-size: 1.2em;
    border: 2px solid #000;
    transition: all 0.3s ease;
}

a.btn-store:hover {
    background-image: none;
    background-color: #ffffff;
    color: #000;
    border-color: #000;
    opacity: 1;
}

.store-button{
    position: relative;
    z-index: 20;
    margin: 30px auto 80px;
    width: 100%;
}

a.btn-store {
    margin: 0 auto;
}

.store-bg-sp_image{
    display: none;
}

/* ==================================== */
/* ニュース・トピックス (.topics-info) */
/* ==================================== */

.topics-container {
    padding-bottom: 50px;
}

.topics-list { 
    max-width: 1200px;
    margin: 10px auto 50px; 
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr); 
    gap: 15px; 
}

.topics-card > a {
    display: block; 
    text-decoration: none;
    color: #454545;
    background-color: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); 
    transition: transform 0.3s, box-shadow 0.3s;
    overflow: hidden; 
    height: 100%; 
    padding: 0; 
}

.topics-card > a:hover {
    transform: translateY(-3px); 
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

.topics-content {
    padding: 15px 15px 20px;
    background-color: #fff;
    position: relative; 
}

.card-image {
    position: relative;
    width: 100%;
    padding-top: 66.66%; /* 3:2 の縦横比 */
    overflow: hidden;
}

.card-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s;
}

/* 黒い帯の店舗名エリア */
.card-shop-name {
    display: block;
    background-color: #000; 
    color: #fff;
    text-align: center;
    font-size: 12px;
    font-weight: bold;
    padding: 10px 0; 
    margin: 0; 
}

/* 青い帯の店舗名エリア */
.card-shop-name2 {
    display: block;
    background-color: #0074e8; 
    color: #fff;
    text-align: center;
    font-size: 12px;
    font-weight: bold;
    padding: 10px 0; 
    margin: 0; 
}
.card-date {
    font-size: 11px;
    color: #888;
    margin-top: 15px;
    display: block;
    font-weight: bold;
}

.card-date-and-tags {
    margin-bottom: 12px;
}

.tags-row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 6px;
}

/* タグのスタイル */
.tag {
    display: inline-block;
    background-color: #fff;
    font-size: 10px;
    padding: 2px 8px;
    border: 1px solid #454545;
    color: #454545;
    border-radius: 3px;
    line-height: 1.2;
    white-space: nowrap; 
}
/* ボタンエリアのスタイル */
.button-area {
    text-align: center;
    margin-top: 30px;
}

.btn-primary {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 250px;
    padding: 1.2em 2em;
    border-radius: 5px;
    background-image: linear-gradient(0deg, #000000 0%, #9f9f9f 100%);
    color: #fff;
    font-weight: 600;
    font-size: 1.1em;
    text-decoration: none;
    transition: all 0.3s ease; 
    border: 2px solid #000;
}

.btn-primary:hover {
    background-image: none;
    background-color: #ffffff;
    color: #000;
    border-color: #000;
    opacity: 1;
}

.topics-card .card-title {
    font-size: 13px !important; 
    font-weight: bold;
    color: #454545;
    line-height: 1.5;
    margin-bottom: 0;
    margin-top: 0;
    display: block;
}

/* ==================================== */
/* バナーエリア (.bunner-info) */
/* ==================================== */

section.bunner-info {
    margin: 100px auto; 
    width: 100%;
}

.bunner {
    width: 100%;
    text-align: center; 
}

.bunner img {
    width: 100%;       /* 親要素の幅いっぱいに広げる */
    max-width: 1200px; /* PCでの最大幅を制限 */
    height: auto;
    display: block;
    margin: 0 auto;    /* 中央寄せ */
    transition: opacity 0.3s ease, transform 0.3s ease; /* ホバー時の動き */
}
.bunner a:hover img {
    opacity: 0.9;
    transform: scale(1.01); 
}

/* ==================================== */
/* 会社紹介セクション (.company-info) */
/* ==================================== */

.company_infomation {
    position: relative;
    width: 100%;
    min-height: 400px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center; 
    align-items: flex-start; 
    text-align: left; 
    padding: 50px 50px 70px;
}

/* 画像の設定 (<img>タグ) */
.company_infomation img:not(.company-logo) { 
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; /* 親要素の高さに合わせる */
    object-fit: cover;
    z-index: 1;
}

/* PC版ではスマホ用を非表示 */
.company-bg-sp {
    display: none; 
}

/* PC版ではPC用を表示 (セレクタを明確化) */
.company-bg-pc {
    display: block; 
}

/* ロゴ画像の設定 */
.company-logo {
    position: relative; 
    z-index: 2;
    height: 100px;
    margin-bottom: 50px;
}

/* 文字とボタンを画像の上に重ねる */
.company_infomation p {
    position: relative; 
    z-index: 2;
    color: #fff; 
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.7); 
    font-size: 1.2rem;
    line-height: 1.8;
    max-width: 100%;
    margin-bottom: 40px;
    text-align: left; 
    padding-left: 20px;

}

/* ボタンの配置 */
.company-button {
    position: relative; 
    z-index: 2;
    width: 100%;
    font-size: 1.2em;
}

/* ==================================== */
/* フッター (Footer) */
/* ==================================== */

footer {
    background-color: #000;
    color: #fff;
    padding: 40px 20px;
    text-align: center;
}

.footer_container {
    max-width: 1200px;
    margin: 0 auto;
}

.footer_nav ul {
    display: flex; 
    justify-content: center; 
    flex-wrap: wrap; 
    gap: 20px 30px; 
    padding-bottom: 20px; 
}

.footer_nav li {
    list-style: none;
}
.footer_nav a {
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    white-space: nowrap;
    opacity: 0.8;
    transition: opacity 0.3s;
    position: relative; 
    padding-bottom: 4px;
    font-weight: bold;
}

/* アニメーション用の下線（初期状態） */
.footer_nav a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%; 
    width: 0; 
    height: 1px;
    background: #fff;
    transition: all 0.3s ease;
    transform: translateX(-50%); 
}

/* ホバーした時の動き */
.footer_nav a:hover {
    opacity: 1;
}

.footer_nav a:hover::after {
    width: 100%;      
}
.copyright {
    margin-top: 20px;
    font-size: 12px;
}

.copyright small {
    display: block;
}

/* ==================================== */
/* シリウス ニュース一覧ページ専用 */
/* ==================================== */

/* ニュースリストセクションの余白調整 */
.news-list-section {
    padding-top: 20px;
    padding-bottom: 100px;
    background-color: #fff;
}

/* ページネーションのシリウス版カラー調整（黒ベース） */
.news-archive-page .page-link {
    border-color: #000;
    color: #000;
}

.news-archive-page .page-item.active .page-link {
    background-color: #000;
    color: #fff;
}

.news-archive-page .page-link:hover {
    background-color: #f0f0f0;
    color: #000;
}


/* ==================================== */
/* 会社紹介ページ：由来セクション */
/* ==================================== */

.company-intro-detail .company_infomation {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center; 
    text-align: center;
    padding: 100px 20px;
    min-height: 450px;
}
.company-intro-detail .company_infomation .company-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    z-index: 1;
}

/* 中央のロゴ (company-logo-img) のサイズを適切に制限 */
.company-logo-img {
    position: relative;
    z-index: 2;
    width: 300px !important; 
    height: auto !important; 
    margin: 0 auto 30px;
    display: block;
}

/* 会社紹介 */
.company-intro-detail .company_infomation {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important; 
    text-align: center !important;  
    padding: 100px 20px !important;
    min-height: 450px !important;
}

/* ロゴのスタイル */
.company-logo-img {
    position: relative !important; 
    z-index: 2;
    width: 320px !important; 
    max-width: 90%;
    height: auto !important;
    margin: 0 auto 40px !important; 
    display: block !important;
}

/* テキストボックス：ロゴの下に配置される */
.company-text-box {
    position: relative;
    z-index: 2;
    width: 100%;
}

.company-text-box p {
    color: #fff !important;
    font-size: 22px !important; 
    line-height: 1.8 !important;
    text-shadow: 2px 2px 10px rgba(0,0,0,0.8) !important;
    padding: 0 !important; 
    margin-bottom: 20px;
}

/* 会社概要セクション全体の余白 */
.company-outline-section {
    padding: 60px 0 120px;
    background-color: #fff;
}

/* テーブルのカスタマイズ */
.company-outline-table {
    margin-top: 40px;
}

.company-outline-table th {
    width: 25% !important; 
    font-weight: bold !important; 
    color: #333 !important;
    padding: 25px 0 !important;
}

.company-outline-table td {
    padding: 25px 0 !important;
    color: #454545 !important;
}

/* 会社紹介：グループ案内バナー */
.company-group-banner {
    width: 100%;
    margin-bottom: 0;
}

.group-banner-inner {
    position: relative;
    width: 100%;
    min-height: 400px; 
    display: flex;
    align-items: center;
    justify-content: flex-start; 
    padding: 0 10%;
    overflow: hidden;
}

/* 背景画像の設定 */
.group-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
    filter: brightness(0.7); 
}

/* コンテンツエリア */
.group-content {
    position: relative;
    z-index: 2;
    color: #fff;
    text-align: left;
}

.group-text {
    font-size: 24px;
    font-weight: bold;
    line-height: 1.8;
    margin-bottom: 40px;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    font-family: "Noto Sans", sans-serif;
}

/* 外部リンクボタン */
.btn-group-link {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    padding: 15px 40px;
    border: 1px solid #fff;
    border-radius: 10px;
    color: #fff !important;
    font-size: 18px;
    font-weight: bold;
    text-decoration: none;
    transition: all 0.3s ease;
    background: rgba(255, 255, 255, 0.1);
}

.btn-group-link:hover {
    background: #fff;
    color: #000 !important;
}

/* 外部リンクボタン内の画像アイコン調整 */
.btn-group-link .link-icon-white {
    width: 16px; 
    height: auto;
    margin-left: 10px;
    vertical-align: middle;
    transition: filter 0.3s ease;
}

/* ボタンをホバーした際、アイコンの色（黒など）を調整したい場合 */
.btn-group-link:hover .link-icon-white {
    filter: invert(1); 
}

/*******************************/
/* お問い合わせフォームセクション */
/*******************************/
.contact-form-section {
    padding: 40px 0 100px;
}

.contact-intro,
.sirius-form {
    max-width: 800px; 
    margin-left: auto;
    margin-right: auto;
}

.contact-intro {
    margin-bottom: 60px;
    line-height: 1.8;
    text-align: left; 
    font-size: 16px;
}

.required-note {
    margin-top: 20px;
    font-size: 16px;
}

/* 必須バッジ */
.badge-required {
    background-color: #d32f2f;
    color: #fff;
    font-size: 11px;
    padding: 2px 6px;
    border-radius: 3px;
    margin-left: 5px;
    vertical-align: middle;
}

.form-item {
    margin-bottom: 30px;
}

.form-item label {
    display: block;
    font-weight: bold;
    margin-bottom: 10px;
    font-size: 15px;
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr; /* 2カラム表示 */
    gap: 20px;
}

.sirius-form input[type="text"],
.sirius-form select,
.sirius-form textarea {
    width: 100%;
    height: 50px !important;
    padding: 12px;
    border: 1px solid #ccc;
    border-radius: 2px;
    font-size: 16px;
    background-color: #fff;
}

/* 電話番号入力欄の微調整 */
.sirius-form input[type="tel"],
.sirius-form input[type="email"] {
    width: 100%;
    height: 50px !important;
    padding: 12px;
    border: 1px solid #ccc;
    border-radius: 2px;
    font-size: 16px;
    background-color: #fff;
}

/* プレースホルダーの色を薄くする（オプション） */
::placeholder {
    color: #bbb;
    opacity: 1;
}

/* カレンダー入力欄（type="date"）のスタイル */
.sirius-form input[type="date"],
.sirius-form select {
    width: 100%;
    height: 50px !important;
    padding: 0 12px; /* select等と高さを合わせる調整 */
    border: 1px solid #ccc;
    border-radius: 2px;
    font-size: 16px;
    font-family: inherit;
    background-color: #fff;
}

/*幅を狭くする設定 */

.form-grid-narrow {
    display: grid !important;
    grid-template-columns: 200px 200px !important;
    gap: 10px !important;
}

/* カレンダーとセレクトボックス自体の最大幅も制限 */
.form-grid-narrow input[type="date"],
.form-grid-narrow input[type="tel"],
.form-grid-narrow input[type="text"],
.form-grid-narrow select {
    max-width: 180px !important;
}

/* お問い合わせ内容（textarea）のスタイル */
.sirius-form textarea {
    width: 100%;
    padding: 15px;
    border: 1px solid #ccc;
    border-radius: 2px;
    font-size: 16px;
    line-height: 1.6;
    background-color: #fff;
    resize: vertical; /* 縦方向のみリサイズ可能に */
    min-height: 200px;
}

/* 個人情報の取扱い同意エリア */
.privacy-agreement-area {
    margin-top: 60px;
    text-align: center;
}

.privacy-policy-box {
    background-color: #f5f5f5; /* 薄いグレーの背景 */
    padding: 30px;
    text-align: left;
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 30px;
    border-radius: 2px;
}

.privacy-policy-box h4 {
    font-size: 16px;
    margin-bottom: 20px;
    font-weight: bold;
}

.privacy-policy-box ol {
    margin: 15px 0 15px 20px;
    list-style-type: decimal;
}

.privacy-policy-box a {
    color: #d32f2f; 
    text-decoration: underline !important;
}

.agreement-note {
    margin-top: 20px;
}

/* チェックボックスのスタイル */
.checkbox-group {
    margin-bottom: 40px;
}

.checkbox-group label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    cursor: pointer;
    font-size: 16px;
}

.checkbox-group input[type="checkbox"] {
    width: 18px;
    height: 18px;
    cursor: pointer;
}

/* 送信ボタンの独自調整 */
.btn-form-submit {
    width: 100% !important;
    max-width: 300px !important;
    height: 60px !important;
    font-size: 18px !important;
    border-radius: 3px !important;
    cursor: pointer;
}
/*プライバシーポリシー・*/

.page-content {
    padding-top: 100px;
    background-color: #fff;
}
.content-header-title .main-title {
    font-size: 3rem;
    font-family: "neue-haas-grotesk-display", "Open Sans", sans-serif;
    font-weight: 700;
    color: #000;
    margin: 0;
    text-align: center;
}

.content-page .content-header-title, .content-page-content .content-header-title {
    padding-top: 80px;
    margin-bottom: 60px;
    text-align: center;
}

.content-header-title .sub-title {
    font-size: 16px;
    font-family: "Noto Sans", sans-serif;
    font-weight: normal;
    color: #333;
    margin-top: 20px;
    text-align: center;
}

.privacy-body {
    padding: 40px 0 100px;
    line-height: 1.6;
    color: #333;
}

.privacy-body h2 {
    font-size: 26px;
    margin-bottom: 40px;
    text-align: left; 
    line-height: 1.4;
}
.privacy-body h3 {
    font-size: 22px;
    margin-bottom: 40px;
    text-align: left; 
    line-height: 1.4;
}

/* 会社情報の右寄せ */
.company-info-block {
    text-align: right;
    margin-bottom: 40px;
    font-size: 15px;
    line-height: 1.6;
}

.privacy-intro {
    margin-bottom: 50px;
}

.privacy-intro p {
    margin-bottom: 1.5em;
    font-size: 15px;
}

/* セクション見出し（下線） */
.content-sub-title {
    font-size: 22px;
    border-bottom: 1px solid #ccc;
    padding-bottom: 10px;
    margin: 60px 0 30px;
    font-weight: bold;
}

.privacy-item {
    margin-bottom: 40px;
}

.privacy-item h3 {
    font-size: 17px;
    margin-bottom: 15px;
    font-weight: normal;
}

.privacy-item p {
    font-size: 14px;
}

/* 利用目的の箇条書きリスト */
.purpose-list {
    margin-top: 15px;
    padding-left: 0;
    list-style: none;
    font-size: 14px;
}

.purpose-list > li {
    margin-bottom: 5px;
}

/* グループ会社名などのサブタイトル */
.group-caption {
    display: block;
    margin: 10px 0 5px 20px;
    font-size: 15px;
}

/* ドット付きのネストリスト（画像再現） */
.group-names, .insurance-list {
    padding-left: 40px;
    list-style-type: disc; /* 黒丸ドット */
    margin-bottom: 14px;
}

.group-names li, .insurance-list li {
    margin-bottom: 5px;
}

.note {
    font-size: 15px;
    margin-left: 20px;
}

/* 安全管理措置のブロック全体 */
.safety-measures {
    margin-top: 20px;
    padding-left: 10px;
}

.measure-block {
    margin-bottom: 15px;
}

/* （カッコ書きの見出し）のスタイル */
.measure-block h4 {
    font-size: 15px;
    color: #333;
    font-style: normal;
}

.measure-block p {
    margin-left: 10px; 
    font-size: 14px;
    line-height: 1.6;
}

.exception-list {
    margin: 20px 0;
    padding-left: 0;
    list-style: none; 
}

.exception-list li {
    margin-bottom: 5px;
    padding-left: 2em;
    font-size: 14px;
    line-height: 1.6;
}

/* 記録保管に関する補足文 */
.additional-note {
    margin-top: 30px;
    margin-bottom: 50px;
    font-size: 14px;
}

/* ドット付きリスト */
.dot-list {
    margin-top: 5px;
    padding-left: 20px;
    list-style-type: disc; /* 黒丸ドット */
}

.dot-list li {
    margin-bottom: 5px;
    font-size: 14px;
}

/*  お問い合わせ先の情報ブロック */
.contact-info-block {
    margin-top: 20px;
    padding-left: 20px;
    line-height: 1.6;
}

.company-dept {
    font-weight: normal;
    margin-bottom: 5px;
}

/* 制定・改定日の右寄せブロック */
.date-info-block {
    text-align: right;
    margin-top: 60px;
    font-size: 15px;
    line-height: 1.5;
}

.privacy-body a {
    color: inherit; /* 親要素の文字色を継承する */
    text-decoration: none; /* 下線を消す */
}

.privacy-body a:hover {
    opacity: 0.7;
    text-decoration: underline; 
}

/* ==================================== */
/* 勧誘方針ページ設定 */
/* ==================================== */

.solicitation-body {
    padding: 20px 0 100px;
    line-height: 1.6;
}

.solicitation-body h2 {
    font-size: 26px;
    margin-bottom: 40px;
    text-align: center; 
    line-height: 1.4;
}

/* キャッチコピーを囲む枠線 */
.catch-copy-box {
    border: 2px solid #333;
    border-radius: 10px;
    padding: 30px 20px;
    text-align: center;
    margin-bottom: 60px;
}

.catch-copy-box p {
    font-size: 22px;
    font-weight: bold;
    color: #333;
    line-height: 1.5;
}

/* 項目タイトル（◆付き） */
.solicitation-item {
    margin-bottom: 50px;
}

.item-title {
    font-size: 18px;
    color: #333;
    font-weight: bold;
    margin-bottom: 20px;
}

/* 箇条書きドットの調整 */
.solicitation-item .dot-list {
    list-style: disc !important; /* 黒丸ドット */
    padding-left: 25px;
}

.solicitation-item .dot-list li {
    margin-bottom: 5px;
    font-size: 15px;
    color: #333;
    text-align: justify;
}

.legal-notice {
    margin-top: 40px;
    font-size: 15px;
    color: #333;
    text-align: left;
}

/* 情報ボックス（細枠） */
.agency-info-box {
    border: 1px solid #3b3b3b;
    border-radius: 5px;
    padding: 25px;
    margin-top: 40px;
    max-width: 450px; 
    text-align: left;
}

.agency-title {
    font-size: 16px;
    font-weight: bold;
    color: #3b3b3b;
    margin-bottom: 15px;
}

.agency-details p {
    font-size: 15px;
    margin-bottom: 5px;
    color: #333;
    line-height: 1.5;
}

.agency-name {
    font-size: 16px !important;
}
/* ==================================== */
/* 準備中ページ用スタイル */
/* ==================================== */

.under-construction {
    padding: 200px 0 100px; /* ヘッダーの高さを考慮して上部を多めに開ける */
    text-align: center;
    min-height: 70vh; /* フッターを画面下に沈めるための最小高さ */
    display: flex;
    align-items: center;
    justify-content: center;
}

.construction-text {
    font-size: 18px;
    font-family: "Noto Sans", sans-serif;
    line-height: 2;
    margin: 30px 0 40px;
    color: #666;
}

.back-home {
    margin-top: 20px;
}

/* ==================================== */
/* ページトップへ戻るボタン (.page-top) */
/* ==================================== */

.page-top {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 100;
    width: 50px;
    height: 50px;
    background-color: #000; /* 黒背景 */
    color: #fff;            /* 白矢印 */
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    border-radius: 5px;     /* 少し角丸 */
    opacity: 0;             /* 初期状態は透明 */
    visibility: hidden;     /* 初期状態は非表示 */
    transition: all 0.3s ease;
    border: 1px solid #fff;
}

/* ボタンが表示された時のクラス */
.page-top.is-show {
    opacity: 0.8;
    visibility: visible;
}

.page-top:hover {
    opacity: 1;
    background-color: #333;
    transform: translateY(-5px); /* 少し浮くアニメーション */
}

.page-top i {
    font-size: 20px;
}

/* --- アニメーションの初期状態（透明で少し下に配置） --- */
.fade-in {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

/* --- アニメーション実行時の状態（透明度100%で元の位置へ） --- */
.fade-in.is-active {
    opacity: 1;
    transform: translateY(0);
}

/* --- 店舗紹介ページ --- */

.store-page main {
    padding-top: 100px; 
}

.store-page .store-header-title {
    text-align: center;
    padding: 80px 0 0;
    overflow: hidden;
    text-align: center;
}

.store-page-content {
    padding-top: 100px; 
    padding-bottom: 100px;
    background-color: #fff;
}

/* 店舗詳細ページの認定中古車セクション：コンテンツエリア下部の不要な余白を削除 */
.is-subpage .store-page-content {
    padding-bottom: 0 !important;
}

/* 在庫セクション自体の余白で調整する */
.store-approved-inventory {
    padding-top: 80px; /* ニュースセクションとの間隔 */
    padding-bottom: 100px;
    background-color: #fff;
    position: relative;
    z-index: 1;
}

section.store-approved-inventory.jeep-approved{
    padding-top: 0;
}



.store-header-title .main-title {
    font-size: 3rem;
    font-family: "neue-haas-grotesk-display","Open Sans", sans-serif;
    font-weight: 700;
    color: #000;
    margin: 0;
}

.store-header-title .sub-title {
    font-size: 16px;
    font-family: "Noto Sans", sans-serif;
    font-weight: normal;
    color: #333;
    margin-top: 20px;
}

.store-brands {
    padding: 0;
    background-color: #fff;
}

.brand-logo-wrap {
    padding: 60px 0; 
    text-align: center;
}

.brand-logo-jeep {
    width: 250px;
    height: auto;
}

.brand-logo-peugeot {
    width: 150px;
    height: auto;
}

.brand-main-visual {
    width: 100vw; 
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    margin: 0; 
    line-height: 0; 
}

.full-width-img {
    width: 100%;
    height: 450px; 
    object-fit: cover;
    display: block;
}

/* 店舗リストを包むコンテナ */
.store-list-container {
    padding-top: 40px;
    padding-bottom: 0px;
}

.store-detail-card {
    position: relative;
    width: 100%;
    margin-bottom:0; 
    height: 520px; 
    display: flex;
    align-items: flex-end; 
    justify-content: flex-end; 
}

.jeep-card {
    margin-bottom: 60px;
}

/* Jeepの最後のカードだけ余白を消す */
.jeep-card:last-child {
    margin-bottom: 0 !important;
}

.peugeot-card {
    margin-bottom: 60px;
}

/* 背景画像エリア */
.store-visual-box {
    width: 65%; 
    height: 100%; 
    z-index: 1;
}
.store-visual-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* 画像の上に乗る白い情報ボックス */
.store-info-box {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 48%; 
    height: 80%; 
    background-color: rgba(255, 255, 255, 0.85); 
    padding: 50px 40px;
    z-index: 10;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

.store-detail-name {
    font-size: 23px;
    font-weight: 700;
    border-bottom: 1px solid #333;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

.store-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px; 
    margin-bottom: 25px;
}

.type-tag {
    display: inline-block;
    border: 1px solid #333;
    background-color: #fff; 
    color: #333;
    font-size: 13px;
    padding: 4px 20px;
    line-height: 1.5;
    text-align: center;
    min-width: 80px;
}

.store-address-group {
    line-height: 2;
    font-size: 14px;
}

.btn-detail-jeep {
    display: inline-block;
    background-image: linear-gradient(0deg, #559785 0%, #3d6b5e 100%);
    background-color: #559785;
    border: 2px solid transparent;
    transition: all 0.3s ease;
    width: 180px;
    border-radius: 5px;
    color: #fff;
    padding: 12px 30px;
    text-decoration: none;
    font-size: 14px;
    margin-top: 30px;
    transition: 0.3s;
    text-align: center;
}


.btn-detail-jeep:hover {
    background-image: none;
    background-color: #ffffff;
    color: #559785;
    border-color: #559785;
    opacity: 1;
}

.btn-detail-peugeot {
    display: inline-block;
    background-image: linear-gradient(0deg, #4bb7e6 0%, #00a3e0 100%);
    background-color: #00a3e0;
    border: 2px solid transparent;
    transition: all 0.3s ease;
    width: 180px;
    border-radius: 5px;
    color: #fff;
    padding: 12px 30px;
    text-decoration: none;
    font-size: 14px;
    margin-top: 30px;
    transition: 0.3s;
    text-align: center;
}


.btn-detail-peugeot:hover {
    background-image: none;
    background-color: #ffffff;
    color: #00a3e0;
    border-color: #00a3e0;
    opacity: 1;
}

/* ==================================== */
/* 店舗詳細ページ共通スタイル */
/* ==================================== */

/* 共通のタイトル周り */
.store-page .store-header-title,
.store-page-content .store-header-title {
    padding-top: 80px;
    margin-bottom: 60px;
    text-align: center;
}

/* 詳細ページ専用：ロゴと店名 */
.detail-brand-logo {
    text-align: center;
    margin-bottom: 20px;
}

/* ロゴのサイズ */
.detail-brand-logo .logo-img {
    width: 250px; 
    height: auto;
    display: inline-block;
}

.detail-store-display-name {
    text-align: center;
    font-size: 26px;
    margin-bottom: 60px;
    color: #000;
}

/* 全幅画像のスタイル */
.detail-main-visual {
    width: 100%;
    line-height: 0;
}

.detail-main-visual .full-width-img {
    width: 100%;
    height: 450px; 
    object-fit: cover;
}

/* --- 店舗詳細：イントロダクション --- */
.store-detail-intro {
    padding: 60px 0 0;
    background-color: #fff;
}

/* 紹介テキスト */
.intro-text-wrap {
    text-align: center;
    margin-bottom: 80px;
}

.intro-text-wrap p {
    font-size: 20px;
    line-height: 2; 
    color: #000;
}

/* 3枚画像ギャラリー */
.intro-gallery {
    display: flex;
    justify-content: space-between;
    gap: 10px; 
}

.gallery-item {
    flex: 1;
    line-height: 0;
}

.gallery-item img {
    width: 100%;
    height: 300px; 
    object-fit: cover;
}

/* --- 店舗概要 & アクセス --- */
.store-summary-access {
    padding: 60px 0 0;
    background-color: #fff;
}

.summary-container {
    display: flex;
    justify-content: space-between;
    gap: 40px;
}

.summary-box, .access-box {
    flex: 1;
}

/* タイトル部分 */

.sirius_icon {
    width: 40px;  
    height: auto;  
    vertical-align: middle; 
}

/* タイトル全体のレイアウト調整 */
.summary-title {
    font-size: 36px;
    font-family: "neue-haas-grotesk-display","Open Sans", sans-serif;
    color: #b5b5b5;
    padding-bottom: 30px;
    margin-bottom: 10px;
    display: flex;
    align-items: center; 
    gap:10px;
}

.summary-title span {
    font-size: 14px;
    color: #ccc;
    font-family: "Noto Sans", sans-serif;
    font-weight: normal;
}

/* テーブルスタイル */
.summary-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 16px;
}

.summary-table tr {
    border-bottom: 1px solid #bab8b8;
}

.summary-table th {
    text-align: left;
    padding: 15px 0;
    width: 80px;
    color: #121212;
    vertical-align: top;
    font-weight: normal;
}

.summary-table td {
    padding: 15px 0;
    color: #121212;
    line-height: 1.8;
}

.summary-table a {
    color: #121212;
}

.summary-table a:hover{
    color: #a1a1a1;
}

.summary-table tr.no-border {
    border-bottom: none;
}

/* 外部リンクアイコンの調整 */
.link_icon {
    width: 16px;      
    height: auto;
    vertical-align: middle;
    margin-left: 5px; 
    display: inline-block;
}
/* SNSアイコン */
.sns-icons {
    display: flex;
    gap: 20px;
}

.sns-icons img {
    width: 50px;
    height: auto;
    transition: opacity 0.3s;
}

.sns-icons a:hover img {
    opacity: 0.7;
}

/* マップ */
.map-iframe {
    width: 100%;
    height: 400px;
}

.map-iframe iframe {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.contact-button-area {
    margin-top: 20px;
}

.btn-contact-flat {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 500px;
    height: 80px;
    margin: 50px auto;
    background-color: #000000; 
    color: #ffffff;
    font-size: 22px;
    font-weight: 500;
    text-decoration: none !important;
    letter-spacing: 0.1em;
    border: 1px solid #ffffff;
    transition: all 0.3s ease;
}

.btn-contact-flat:hover {
    background-color: #a1a1a1; 
    opacity: 1;
    transform: translateY(-2px);
}

/* 前方のタイヤ痕を消す */
section.jeep-topics.no-deco::before {
    display: none !important;
    content: none !important;
    background-image: none !important;
}
/* ==================================== */
/* 下部ページ */
/* ==================================== */

/*ぱんくず*/
.breadcrumbs {
    width: 100%;
    text-align:left;
    padding-left: 40px;
}
.breadcrumbs a,
.breadcrumbs a:visited {
    color: #333 !important;
    text-decoration: none !important;
}

.breadcrumbs a:hover {
    opacity: 0.7;
}

.breadcrumbs ul li {
    display: inline-block;
    font-size: 11px;
    line-height: 1.5em;
    text-align: left;
}

.breadcrumbs ul li::after {
    content: ">";
    padding-right: 0.3em;
    padding-left: 0.3em;
}

.breadcrumbs ul li:last-child::after {
    content: "";
}

/* --- Jeepホーム専用パンくずをタイヤ痕に重ねる設定 --- */

/* PC版の調整 */
.jeep-home-breadcrumb {
    position: relative;
    z-index: 10;
    margin-bottom: -100px; /* 下のセクションに100px分食い込ませる */
    padding-top: 20px;
    padding-left: 60px;
}


/* --- ヘッダー共通設定（高さを揃える） --- */
.main-header-bar {
    height: 70px; /* 高さを明示的に固定して統一 */
    padding: 0 30px; 
}

/* サブページ用ヘッダーの調整 */
.main-header-bar.sub-header {
    justify-content: space-between;
    position: relative; /* 子要素の基準点 */
}

/* フロントページ用の中央配置設定をサブページでは無効化 */
.main-header-bar.sub-header > .header-left {
    position: static;
    transform: none;
}

/* ロゴのサイズと社名の位置微調整 */
.logo-jeep {
    height: 50px; 
    width: auto;
}

/* ハンバーガーメニューの配置（サブページ用） */
.main-header-bar.sub-header .hamburger {
    position: relative; 
    top: auto;
    right: auto;
}

/* ロゴと社名の並び */
.header-left {
    display: flex;
    align-items: center;
    gap: 15px;
}
.sub-logo-link {
    display: flex;
    align-items: center;
}

.company-name {
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    letter-spacing: 1px;
    line-height: 1;
    cursor: default;
}

/* 右側のパーツ（ボタンとハンバーガー） */
.header-right {
    display: flex;
    align-items: center;
    gap: 20px;
}

/* 予約・お問合せボタン */
.btn-header-contact {
    display: inline-block;
    padding: 8px 20px;
    border: 1px solid #fff;
    border-radius: 20px;
    color: #fff;
    text-decoration: none;
    font-size: 13px;
    font-weight: bold;
    transition: background-color 0.3s, color 0.3s;
}

.btn-header-contact:hover {
    background-color: #fff;
    color: #000;
}

/* Jeepホーム専用パンくずの調整 */
.jeep-home-breadcrumb {
    position: relative;
    z-index: 10;      /* タイヤ痕(z-index: -1)より上の数値にする */
    margin-top: 0px; /* MVとの隙間を微調整 */
    padding-left: 60px; /* PC版のロゴ位置などに合わせる */
}

/* ニュースセクション（タイヤ痕がある場所）の余白調整 */
.jeep-topics {
    padding: 120px 0 40px; /* パンくずを外に出したので、上の余白を少し詰める */
    overflow: hidden;
}


/* ==================================== */
/* Jeepページニュースセクション */
/* ==================================== */

.jeep-topics {
    padding: 40px 0;
    overflow: hidden; /* 背景画像のはみ出しをカット */
}
/* タイトルエリア全体の親 */
/* --- Jeepニュースヘッダー全体の調整 --- */
.jeep-topics-header {
    text-align: center;
    position: relative;
    padding: 0 0 80px 0; 
    overflow: hidden;
}

/* --- 背景画像の配置調整 --- */
.jeep-topics-header::before {
    content: "";
    position: absolute;
    top: 0; 
    left: 0;
    transform: none;    
    width: 100vw;
    height: 250px;
    background-image: url('../img/deco_title.jpg');
    background-repeat: no-repeat;
    background-position: left top; 
    background-size: contain;
    z-index: -1;
}


/* --- タイトル文字の位置 --- */
.jeep-topics-title-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 1;
    margin-top: 50px; 
}

.jeep-section-title {
    font-size: 3rem;
    font-family: "neue-haas-grotesk-display","Open Sans", sans-serif;
    font-weight: 700;
    color: #000;
    margin: 0;
    display: inline-block;
    padding: 0 15px;
    letter-spacing: -0.5px;
}

.jeep-section-subtitle {
    font-size: 14px;
    color: #000;
    margin-top: 5px;
    display: inline-block;
    padding: 0 10px;
    font-weight: normal;
}

/* リード文全体のスタイル */
.jeep-lead-text {
    font-size: 1.6rem;
    font-weight: 400; 
    color: #000;
    margin-top: 30px;
    font-family: "Noto Sans", sans-serif;
}

.text-bold {
    font-weight: 700; 
}


/*jeepサイトのnews部分だけパンくずがあるのでタイトルを下げる。*/
.jeep-home-breadcrumb + #jeep_news .jeep-topics-header {
    padding-top: 80px !important;
}


/* Jeepページのセクション内にある時だけ色を変える */
.jeep-topics .btn-primary {
    background-image: linear-gradient(0deg, #559785 0%, rgba(85, 151, 133, 0.5) 100%);
    background-color: transparent; /* 背景色はグラデーションに任せる */
    border: 2px solid transparent; /* グラデーションを活かすため枠線は一旦透明 */
    transition: all 0.3s ease;
}

/* ホバー時の挙動 */
.jeep-topics .btn-primary:hover {
    background-image: none;      /* グラデを消す */
    background-color: #ffffff;   /* 背景を白に */
    color: #559785;              /* 文字を指定色に */
    border-color: #559785;       /* 枠線を指定色で表示 */
    opacity: 1;
}

/* --- モデルラインナップ セクション --- */
.jeep-lineup {
    position: relative;
    width: 100%;
    min-height: 600px; 
    background-image: url('../img/jeep_lineup.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center; 
    margin: 10px 0 0;
}

.lineup-inner {
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
    padding: 0 60px;
}

.lineup-image {
    width: 100%;
    aspect-ratio: 16 / 9; 
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 画像本体の設定 */
.lineup-image img {
    width: 100%;
    height: 100%;
    object-fit: contain; 
    object-position: center;
}

/* 左側の半透明ブラックボックス */
.lineup-box {
    background-color: rgba(0, 0, 0, 0.6); /* 半透明の黒 */
    padding: 60px 50px;
    max-width: 500px;
    color: #fff;
    text-align: center;
}

.lineup-title {
    font-size: 42px;
    font-family: "neue-haas-grotesk-display","Open Sans", sans-serif;
    font-weight: bold;
    margin-bottom: 10px;
}

.lineup-subtitle {
    font-size: 16px;
    font-family: "Noto Sans", sans-serif;
    margin-bottom: 40px;
    letter-spacing: 1px;
}


/*jeep特選車セクション*/
.jeep-special {
    background-color: #f9f9f9; /* 背景色 */
    padding: 80px 0;
}

.special-title-area {
    text-align: center;
    margin-bottom: 50px;
}

.special-section-title {
    font-size: 3rem;
    font-family: "neue-haas-grotesk-display","Open Sans", sans-serif;
    font-weight: 700;
    color: #000;
    margin: 0;
}

.special-section-subtitle {
    font-size: 14px;
    color: #000;
    margin-top: 20px;
    font-weight: bold;
}

/* ラベルとリード文の並び */
.special-lead-area {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    margin-top: 30px;
}

.label-yellow {
    background-color: #ffeb3b;
    color: #000;
    font-weight: bold;
    padding: 5px 15px;
    font-size: 16px;
    white-space: nowrap;
}

.special-lead-text {
    font-size: 18px;
    color: #000;
    margin: 0;
}

/* グリッドレイアウト */
.special-list {
    display: grid;
    gap: 30px 20px;
    margin-bottom: 50px;
}

.special-card {
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

/* 画像と左上の"New"バッジ */
.card-image-wrap {
    position: relative;
    overflow: visible; 
    /*
    margin-top: 10px; 
    */
    margin-left: 0; 
}

.card-image-wrap img {
    width: 100%;
    height: auto;
    display: block;
}

.badge-new {
    position: absolute;
    top: -10px; 
    left: -10px;
    width: 70px;
    height: 70px;
    background-color: #000;
    color: #fff;
    font-weight: bold;
    font-size: 13px;
    clip-path: polygon(0 0, 100% 0, 0 100%);
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 15px 0 0 6px;
    z-index: 10;
}

/* コンテンツエリア */
.special-content {
    margin-top: 10px;
    padding: 10px 15px;
    text-align: left;
    border-left: 2px solid #559785;
}

.special-card {
    background: #f9f9f9;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
    padding: 0;
}

.car-name {
    font-size: 18px;
    font-weight: 800;
    margin-bottom: 10px;
    border-bottom: 1px solid #ddd;
    padding-bottom: 5px;
    font-family: "neue-haas-grotesk-display","Open Sans", sans-serif;
}

.car-detail {
    font-size: 12px;
    color: #666;
    line-height: 1.6;
    margin-bottom: 15px;
    font-family: "neue-haas-grotesk-display","Open Sans", sans-serif;
}

/* 価格エリア */
.price-area {
    display: flex;
    align-items: baseline;
    gap: 5px;
}

.price-label {
    background-color: #ffeb3b;
    font-size: 11px;
    font-weight: bold;
    padding: 2px 5px;
    font-family: "neue-haas-grotesk-display","Open Sans", sans-serif;
}

.price-value {
    color: #d32f2f; /* 赤系で強調 */
    font-size: 20px;
    font-weight: 800;
    font-family: "neue-haas-grotesk-display","Open Sans", sans-serif;
}

.price-tax {
    font-size: 10px;
    color: #888;
    font-family: "neue-haas-grotesk-display","Open Sans", sans-serif;
}

/*jeep認定中古車セクション*/

.approved-title-area {
    text-align: center;
    margin-bottom: 50px;
}

.approved-section-title {
    font-size: 3rem;
    font-family: "neue-haas-grotesk-display","Open Sans", sans-serif;
    font-weight: 700;
    color: #000;
    margin: 0;
}

.approved-section-subtitle {
    font-size: 14px;
    color: #000;
    margin-top: 20px;
    font-weight: normal;
}

.jeep-approved {
    background-color: #fff;
    padding: 80px 0;
    position: relative;
    overflow: hidden; 
}

.jeep-approved::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 100vw; 
    max-width: 1200px; 
    height: 500px; 
    background-image: url('../img/deco_title2.jpg');
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: contain;
    z-index: 0; 
    pointer-events: none;
    opacity: 1; 
}

/* コンテナがタイヤ画像より上に来るように設定 */
.approved-container {
    position: relative;
    z-index: 5;
}
.approved-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px 15px;
    margin-bottom: 50px;
    padding: 0 10px;
}

.approved-card {
    padding-right: 0; 
    width: 100%;
}

.approved-card .card-image-wrap {
    margin-left: 0; 
    margin-top: 15px;
}

.approved-content {
    margin-left: 0;   
}

/* 店舗名タグを浮かせて配置 */
.shop-tag {
    position: absolute;
    top: -5px; 
    left: -5px;
    background-color: #559785; 
    color: #fff;
    padding: 5px 12px;
    font-size: 11px;
    font-weight: bold;
    z-index: 10;
    box-shadow: 2px 2px 5px rgba(0,0,0,0.2); 
    white-space: nowrap;
}


/* 画像下の黒帯ロゴエリア */
.dealer-logo-bar {
    background-color: #000;
    color: #fff;
    display: flex;
    align-items: center;
    padding: 8px 12px;
    gap: 10px;
    justify-content: space-between;
}

.mini-logo {
    height: 15px; /* メタリックロゴのサイズに合わせて調整 */
    width: 40px;
}

img.mini-logo {
    width: 40px;
}
.dealer-info-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
}

/* Official Dealerラベルのスタイル */
.official-label {
    display: inline-block;
    font-size: 6px;
    border: 1px solid #fff; /* 白い四角枠 */
    padding: 1px 4px;
    line-height: 1;
    letter-spacing: 0.5px;
    transform: scale(0.85); 
    transform-origin: left bottom;
}

.dealer-names {
    font-size: 10px;
    line-height: 1.3;
    margin: 0;
    white-space: nowrap;
}

/* コンテンツエリア */
.approved-content {
    padding: 10px;
    box-shadow: 2px 2px 5px rgba(0,0,0,0.2); 
}

/* メーカー名 */
.car-maker {
    font-size: 11px;
    font-weight: normal;
    color: #000000;
    margin-bottom: 2px;
    display: block;
    line-height: 1.2;
}

/* 車種名 */
.car-name-main {
    font-size: 18px !important;
    font-weight: normal;
    margin-bottom: 8px;
    color: #000;
    display: block;
}

.info-item {
    font-size: 11px;
    color: #666;
}

/* 価格表示エリア */
.approved-price-area {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    margin-top: 10px;
}

/* 各行（車両本体価格・支払総額）のレイアウト */
.price-row {
    display: flex;
    align-items: baseline; /* 文字の下端で揃える */
    justify-content: flex-end; /* 中身を右に寄せる */
    gap: 4px; /* 各要素の間の隙間 */
    width: 100%;
    margin-bottom: 2px;
}

/* ラベルを左側に残さず、数値のすぐ左に配置する場合 */
.price-label {
    font-size: 11px;
    color: #666;
    margin-right: 5px; 
    font-family: "Noto Sans", sans-serif;
}

.jeep-approved .price-label,
.approved-list .price-label {
    background-color: transparent !important; /* 背景色を透明に */
    padding: 0;
    color: #666; 
    font-size: 12px;
}

/* 車両本体価格のスタイル（赤） */
.jeep-approved .main-price .price-unit,
.jeep-approved .main-price .price-number,
.jeep-approved .main-price .price-tax,
.approved-list .main-price .price-unit,
.approved-list .main-price .price-number,
.approved-list .main-price .price-tax {
    color: #d32f2f;
    font-family: "Noto Sans", sans-serif;
}

/* 支払総額のスタイル（黒） */
.jeep-approved .total-price .price-unit,
.jeep-approved .total-price .price-number,
.jeep-approved .total-price .price-tax,
.approved-list .total-price .price-unit, 
.approved-list .total-price .price-number, 
.approved-list .total-price .price-tax {
    color: #000; 
    font-family: "Noto Sans", sans-serif;
}

/* --- 数字のサイズ微調整 --- */

/* 車両本体価格  */
.jeep-approved .main-price .price-number,
.approved-list .main-price .price-number {
    font-size: 20px;
}

/* 支払総額 */
.jeep-approved .total-price .price-number,
.approved-list .total-price .price-number {
    font-size: 20px; 
}

.jeep-approved .main-price .price-unit,
.approved-list .main-price .price-unit {
    font-size: 10px;
}
.jeep-approved .total-price .price-unit,
.approved-list .total-price .price-unit {
    font-size: 10px;
}

/* 年式などの情報の区切り線調整 */
.car-info-grid {
    border-top: 1px solid #ddd;
    padding: 10px 0 0;
    display: flex;
    justify-content: space-between;
}

/*特選車と認定中古車セクションのホバー*/
.special-card {
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    background: #f9f9f9;
    overflow: visible !important;
}

/* ホバー時の画像拡大を一旦オフにするか、非常に小さくしてズレを防ぐ */
.special-card:hover .card-image-wrap img,
.approved-card:hover .card-image-wrap img {
    transform: none !important; 
}

.approved-card {
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    background: #fff;
    height: 100%; /* 親のグリッド内で高さを揃える */
}

.approved-content {
    padding: 15px;
    flex-grow: 1; /* 余ったスペースをすべて使い切る */
    display: flex;
    flex-direction: column;
    box-shadow: 2px 2px 5px rgba(0,0,0,0.1); /* 影の位置を安定させる */
}
/* 車両スペック情報の高さを固定する */

.car-spec {
    font-size: 13px;
    color: #333;
    line-height: 1.4;
    margin-bottom: 12px;
    height: 2.8em; /* 1.4（行間）× 2行 */
    min-height: 2.8em;
    overflow: hidden;
    display: block !important; 
}

/* 価格エリアを常に一番下に押し下げる */
.approved-price-area {
    margin-top: auto; /* 上部にマージンを自動で入れ、下端に固定 */
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}
.approved-card .card-image-wrap {
    margin: 0 !important; /* 個別マージンをリセット */
    width: 100%;
}

.approved-card .approved-content {
    margin: 0 !important; 
    padding: 10px 15px; /* 中の余白で調整 */
}

/* ホバー：カード全体（親）を動かす */
.special-card:hover,
.approved-card:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2) !important;
    z-index: 10; 
}

/* プジョーのミニロゴのみサイズを小さく調整 */
img.mini-logo[alt="peugeot"] {
    width: 30px !important;  
    height: auto !important; /* アスペクト比を維持 */
}



/* ====================================
   Jeep Footer & Store Section Integration
   ==================================== */

.store-title-area {
    text-align: center;
    margin-bottom: 50px;
}

.store-section-title {
    font-size: 3rem;
    font-family: "neue-haas-grotesk-display","Open Sans", sans-serif;
    font-weight: 700;
    color: #fff;
    margin: 0;
}

.store-section-subtitle {
    font-size: 14px;
    color: #fff;
    margin-top: 20px;
    font-weight: bold;
}

.jeep-footer-visual-group section,
.jeep-footer-visual-group div:not(.store-card) {
    background-color: transparent !important;
    background-image: none !important;
}


.store-card img {
    filter: brightness(0.8);
}

.jeep-footer-visual-group {
    display: block !important;
    width: 100% !important;
    background-image:url('../img/jeep_footer_img.jpg') !important;
    background-size: cover !important;
    background-position: center bottom !important;
    background-repeat: no-repeat !important;
    background-attachment: scroll !important; 
    color: #ffffff !important;
    padding-top: 100px;
    margin-top: 0;
}

/* --- mainタグが白背景で覆い被さらないように透過させる --- */
main {
    background-color: transparent !important;
}

/* --- セクションの背景も確実に透明にする --- */
.jeep-store-info,
.footer-visual-area {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}

/* --- フッターの透過 --- */
main {
    background-color: #fff !important; /* 基本は白背景に戻す */
}

.home main {
    background-color: transparent !important; /* トップページだけ透明にする */
}

.home .jeep-footer {
    background: rgba(0, 0, 0, 0.4) !important;
    background-color: rgba(0, 0, 0, 0.4) !important;
}



/* タイトル・サブタイトル・リード文・メッセージの文字色を白に固定 */
.jeep-footer-visual-group .approved-section-title,
.jeep-footer-visual-group .approved-section-subtitle,
.jeep-footer-visual-group .store-lead,
.jeep-footer-visual-group .footer-message {
    color: #ffffff !important;
    text-align: center;
}

.store-lead {
    margin: 20px 0 50px;
    font-size: 24px;
}

.store-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    padding: 0 10px;
    margin-bottom: 40px;
}

.store-card {
    flex: 1;
    position: relative;
    height: 350px;
    overflow: hidden;
    background-color: #000; 
}

.store-card::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4); 
    z-index: 1; 
    transition: background-color 0.3s ease;
}

.store-card:hover::after {
    background-color: rgba(0, 0, 0, 0.2);
}

.store-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    z-index: 0;
    transition: transform 0.5s ease;
}

/* テキストコンテンツを最前面に持ってくる */
.store-card-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    width: 90%;
    z-index: 2; 
}
.store-card:hover img {
    transform: scale(1.1); 
}

.store-name {
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 25px;
    color: #fff;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5); 
}

.btn-store-detail {
    display: inline-block;
    padding: 10px 30px;
    border: 1px solid #ffffff;
    color: #ffffff;
    text-decoration: none;
    font-size: 14px;
    background: rgba(0, 0, 0, 0.2);
    transition: 0.3s;
    border-radius: 5px;
}

.btn-store-detail:hover {
    background: #ffffff;
    color: #000000;
}

/* メッセージエリア */
.footer-visual-area {
    width: 100% !important;
    background: transparent !important; 
    padding: 100px 20px;
    text-align: center;
    z-index: 1;
}

.footer-message {
    font-size: 24px;
    line-height: 2.2;
    font-weight: bold;
}


.jeep-footer .copyright {
    color: rgba(255, 255, 255, 0.4) !important;
    margin-top: 30px;
}

/* --- フッターのボタン設定 --- */
.footer-back-button {
    text-align: center;
    margin: 30px 0 40px; /* ナビの下とコピーライトの間の余白 */
}

.btn-back-corporate {
    display: inline-block;
    padding: 12px 50px;
    border: 1px solid #fff; /* ★白枠 */
    color: #fff;            /* 文字色も白 */
    text-decoration: none;
    font-size: 14px;
    font-weight: bold;
    transition: all 0.3s ease;
    background-color: transparent;
    border-radius: 5px;
}

.btn-back-corporate:hover {
    background-color: #fff;
    color: #000; /* 背景が白くなるので文字を黒に */
}

/* ==================================== */
/* Jeepページ共通：ボタンカラー */
/* ==================================== */

.jeep-topics .btn-primary,
.jeep-lineup .btn-primary,
.jeep-special .btn-primary,
.jeep-approved .btn-primary {
    background-image: linear-gradient(0deg, #559785 0%, #3d6b5e 100%);
    background-color: #559785; 
    border: 2px solid transparent;
    transition: all 0.3s ease;
    width: 220px; 
}

/* ホバー時の挙動も共通化 */
.jeep-topics .btn-primary:hover,
.jeep-lineup .btn-primary:hover,
.jeep-special .btn-primary:hover,
.jeep-approved .btn-primary:hover {
    background-image: none;
    background-color: #ffffff;
    color: #559785;
    border-color: #559785;
    opacity: 1;
}


/*カードのレスポンシブ*/

.topics-list,
.special-list,
.approved-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr); 
    gap: 30px 20px;
    margin-bottom: 50px;
    padding: 0 10px;
}

/* -- 一覧ページ（Approved Car Inventory）専用のスタイル -- */

.approved-page main {
    padding-top: 100px; 
}

.approved-page .jeep-section-title {
    margin-bottom: 60px;
    text-align: center;
}
.approved-page .jeep-footer {
    background-color: #000 !important; 
    background-image: none !important; 
    position: relative;
    margin-top: 0;
}

/* -- ページネーション全体のレイアウト -- */
.pagination-area {
    margin: 60px 0;
    text-align: center;
}

.pagination-list {
    display: inline-flex;
    list-style: none;
    padding: 0;
    gap: 8px; /* ボタン同士の隙間 */
}

/* 各ボタンの基本スタイル */
.page-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid #ccc;
    color: #333;
    text-decoration: none;
    font-size: 14px;
    font-weight: bold;
    transition: all 0.3s ease;
    background-color: #fff;
}

/* ホバー時の挙動 */
.page-link:hover {
    background-color: #000;
    color: #fff;
    border-color: #000;
}

/* 現在のページ（active）のスタイル */
.page-item.active .page-link {
    background-color: #000;
    color: #fff;
    border-color: #000;
    cursor: default;
}

/* PREV / NEXT ボタンの幅調整 */
.page-item:first-child .page-link,
.page-item:last-child .page-link {
    width: auto;
    padding: 0 15px;
}

/* 無効状態（disabled）のスタイル */
.page-item.disabled .page-link {
    color: #ccc;
    border-color: #eee;
    cursor: not-allowed;
    pointer-events: none;
}

/* active状態の「1」を、通常時と同じ枠線スタイルにする */
.pagination-area .page-item.active .page-link {
    background-color: #fff !important; /* 背景白 */
    color: #333 !important;            /* 文字黒 */
    border-color: #ccc !important;     /* 枠線グレー */
    cursor: pointer;                  /* ホバー可能に見せる */
}

/* active状態でも、ホバーした時は黒くする */
.pagination-area .page-item.active .page-link:hover {
    background-color: #000 !important;
    color: #fff !important;
    border-color: #000 !important;
}

/* フッター内のコンテナの余白調整 */
.approved-page .jeep-footer .footer_container {
    padding-top: 40px;
    padding-bottom: 40px;
}

/* --- ニュース一覧ページ専用設定 --- */

.jeepnews-page .jeep-topics-header::before {
    display: none !important; 
}

.jeepnews-page main {
    padding-top: 100px;
}

.jeepnews-page .jeep-topics-title-wrap {
    margin-top: 20px; /* タイヤ痕がないので上端に合わせる */
}
.jeep-news-archive {
    position: relative; 
    overflow: hidden; 
    padding-bottom: 120px; 
}

.jeep-news-archive::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 100vw;
    max-width: 1200px; 
    height: 500px;
    background-image: url(../img/deco_title2.jpg);
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: contain;
    z-index: 0;
    pointer-events: none;
    opacity: 1;
}

.jeep-news-archive .jeep-topics-header,
.jeep-news-archive .topics-container {
    position: relative;
    z-index: 1;
}

/* --- モデルラインナップページ専用 --- */
.model-lineup-section {
    padding: 60px 0 100px;
    background-color: #fff;
}

.model-group-title {
    font-size: 36px;
    font-family: "neue-haas-grotesk-display", sans-serif;
    color: #b5b5b5; 
    margin-bottom: 50px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.model-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr); 
    gap: 60px 20px;
}

.model-card {
    text-align: center;
}

.model-image {
    width: 100%;
    margin-bottom: 20px;
    transition: transform 0.3s ease;
}

.model-card:hover .model-image {
    transform: translateY(-5px); 
}

.model-image img {
    width: 100%;
    height: auto;
    object-fit: contain;
}

.model-name {
    font-size: 20px;
    font-weight: 800;
    margin-bottom: 15px;
    color: #000;
}

.price-label-small {
    font-size: 10px;
    color: #888;
    margin-bottom: 5px;
}

.model-price {
    font-size: 20px;
    font-weight: bold;
    color: #000;
}

.model-action .btn-detail-jeep {
    width: 130px !important; 
    padding: 10px 0 !important;
}

.model-lineup-section .btn-detail-jeep {
    margin-top: 20px; 
}

/* --- style.css サービスページ専用スタイル --- */

/* サービスブランドセクション全体 */
.service-brand-visual {
    padding-bottom: 60px;
    background-color: #fff;
}

/* 黄色い注釈ボックス */
.service-notice-box {
    margin-top: 40px;
    margin-bottom: 60px;
    text-align: center;
}

.notice-text {
    display: inline-block;
    background-color: #ffeb00; /* 画像に基づいた鮮やかな黄色 */
    color: #000;
    font-weight: bold;
    font-size: 20px;
    padding: 15px 60px;
    box-shadow: 0 3px 6px rgba(0,0,0,0.1);
}
/* --- style.css サービス店舗詳細カード --- */

.service-store-list {
    padding: 60px 0 0;
    background-color: #fff;
}

/* カード本体：薄いグレーの背景 */
.service-detail-card {
    background-color: #f2f2f2;
    padding: 60px 40px;
    text-align: center;
    max-width: 900px;
    margin: 0 auto 40px;
}

.service-store-name {
    font-size: 24px;
    font-weight: bold;
    color: #000;
    margin-bottom: 20px;
}

/* 区切り線 */
.name-divider {
    border: none;
    border-top: 1px solid #333;
    width: 80%;
    margin: 0 auto 40px;
}

.contact-label {
    font-size: 20px;
    color: #333;
    margin-bottom: 10px;
}

/* 電話番号：大きく太く強調 */
.contact-number {
    font-size: 48px;
    font-weight: bold;
    color: #000;
    margin-bottom: 40px;
    font-family: "neue-haas-grotesk-display", "Open Sans", sans-serif;
}

.service-address-group {
    font-size: 16px;
    line-height: 1.8;
    color: #333;
    margin-bottom: 40px;
}

/* ボタンの中央配置調整 */
.service-action {
    display: flex;
    justify-content: center;
}

/* カード間の余白設定 */
.service-detail-card {
    margin-bottom: 30px; /* カード同士の間隔 */
}

/* 最後のカードの下は広めにとる */
.service-detail-card:last-child {
    margin-bottom: 60px;
}

/*特選車ページ*/

/* 特選車ページ：リードエリアの調整 */
.special-lead-area-wrap {
    margin: 40px 0 80px;
}

.special-lead-area {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

/* 特選車ページ専用のリード文スタイル */

/* 親要素で範囲を限定 */
.page-specially-lead .special-lead-area {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-bottom: 50px; /* 下のカードリストとの間隔 */
}

/* このページだけの黄色ラベル */
.page-specially-lead .label-yellow {
    background-color: #ffeb00;
    color: #000;
    font-size: 20px; 
    font-weight: bold;
    padding: 5px 15px;
    display: inline-block;
}

/* 特選車のページだけのリードテキスト */
.page-specially-lead .special-lead-text {
    font-size: 26px; /* 目立つ大きさに */
    font-weight: normal;
    color: #000;
    margin: 0;
    letter-spacing: 0.05em;
}

/* リンク自体の装飾をリセット */
.special-card .card-link {
    display: flex;
    flex-direction: column;
    text-decoration: none !important;
    color: inherit;
    height: 100%;
    transition: transform 0.3s ease; 
}

.specially-page-main .special-card {
    transition: none; 
}

.specially-page-main .special-card .card-link:hover {
    transform: translateY(-8px) !important;
}

/* カード内のタイトル等の色が変わらないように固定 */
.special-card .car-name,
.special-card .car-detail {
    color: #000;
}

/* --- 車両詳細スライダー：サイズ固定版 --- */
/* スライダー外枠 */
.car-detail-slider.swiper {
    width: 100%;
    padding: 40px 0;
    overflow: hidden; 
    background-color: #fff;
    cursor: grab;
}

/* スライドの親要素 */
.swiper-wrapper {
    align-items: center; 
}

/* 各スライドアイテム */
.slider-item.swiper-slide {
    /* 前の数値をそのまま適用 */
    flex: 0 0 800px !important; 
    width: 800px !important;
    height: 600px !important;
    
    padding: 0 5px; 
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fff;
}

/* 画像の設定 */
.slider-item.swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: contain; 
    opacity: 1;
}

/* --- スライダーのドット（ページネーション）カスタマイズ --- */

/* ドット全体のコンテナ位置微調整 */
.car-detail-slider .swiper-pagination {
    bottom: 0px !important; 
}

/* 通常時（アクティブでない）のドット */
.car-detail-slider .swiper-pagination-bullet {
    width: 12px !important;    /* 横幅 */
    height: 12px !important;   /* 縦幅 */
    background: #ccc !important; /* 通常時の色（薄いグレー） */
    opacity: 1 !important;
    margin: 0 6px !important;  /* ドット同士の間隔 */
    transition: all 0.3s; 
}

/* 現在表示されているアクティブなドット */
.car-detail-slider .swiper-pagination-bullet-active {
    width: 15px !important; 
    height: 15px !important;
    background: #559785 !important;
    border-radius: 50%;        /* 円形を維持 */
}

/* 車両詳細情報セクション */
.car-info-detail {
    padding: 60px 0;
    background-color: #fff;
    text-align: center;
}

/* 車種名：上下に細いグレーの線 */
.car-full-name {
    font-size: 28px;
    font-weight: bold;
    padding: 30px 0;
    margin-bottom: 30px;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    color: #000;
}

/* 価格ボックス */
.price-summary-box {
    margin-bottom: 50px;
}


.price-main-row {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-bottom: 15px;
}

.price-tag-yellow {
    background-color: #ffeb00; /* 鮮やかな黄色 */
    padding: 8px 25px;
    font-weight: bold;
    font-size: 20px;
}

.price-grand-total {
    font-size: 36px;
    font-weight: bold;
    color: #d32f2f; /* 赤色 */
    font-family: "neue-haas-grotesk-display", "Open Sans", sans-serif;
}

.price-sub-row {
    font-size: 16px;
    color: #666;
    font-weight: normal !important;
    font-family: "neue-haas-grotesk-display", "Open Sans", sans-serif;
}

.maker-price-value {
    margin-left: 15px;
}

span.maker-price-value{
    font-size: 22px;
}

/* テキストエリア */
.car-description {
    max-width: 900px;
    margin: 0 auto 60px;
    text-align: left; 
    line-height: 2;
}

.spec-line {
    font-size: 16px;
    margin-bottom: 15px;
}

.intro-text {
    font-size: 16px;
}

.text-red {
    color: #d32f2f;
    font-weight: bold;
}

span.address-text {
    font-size: 16px;
}

/* 動画レスポンシブ対応 */
.video-container {
    position: relative;
    padding-bottom: 45%; 
    height: 0;
    overflow: hidden;
    max-width: 800px;
    margin: 0 auto;
}

.video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* 取り扱い店舗セクション */
.dealer-info-section {
    padding: 60px 0;
    background-color: #fff;
    border: none !important; 
}

.dealer-info-section .inner {
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    padding: 60px 0;
    margin-right: auto;
    margin-left: auto;
    width: calc(100% - 40px); 
    max-width: 1200px; 
    box-sizing: border-box;
}

/* 「取り扱い店舗」タイトルボックス */
.dealer-title-box {
    border: 1px solid #333;
    padding: 10px;
    text-align: center;
    max-width: 800px;
    margin: 0 auto 40px;
}

.dealer-title {
    font-size: 18px;
    font-weight: bold;
    margin: 0;
}

/* グリッドレイアウト */
.dealer-content-grid {
    display: grid;
    grid-template-columns: 1fr 1fr; /* 左右2分割 */
    gap: 40px;
    max-width: 900px;
    margin: 0 auto;
    align-items: start;
}

.dealer-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* 店舗情報エリア */
.dealer-details {
    text-align: left;
}

.dealer-name {
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 20px;
    border-bottom: none; 
}

/* 住所とリンク設定 */
.dealer-address {
    margin-bottom: 30px;
}

.map-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #333;
    text-decoration: none;
    font-size: 15px;
    border-bottom: 1px solid #333; /* 住所の下線 */
    padding-bottom: 3px;
}

.map-icon {
    width: 20px;
    height: auto;
}

/* 黒背景ボタン */
.dealer-actions {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.btn-dealer-tel,
.btn-dealer-form {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #121212; /* 黒色 */
    color: #fff !important;
    height: 60px;
    font-size: 20px;
    font-weight: bold;
    text-decoration: none;
    transition: opacity 0.3s;
}

.btn-dealer-tel:hover,
.btn-dealer-form:hover {
    background-color: #a1a1a1; 
    opacity: 1;
    transform: translateY(-2px);
}

.btn-label {
    font-size: 20px;
    margin-right: 10px;
}

/* フッターの透過解除（一覧ページ共通） */
.jeepnews-page .jeep-footer {
    background-color: #000 !important;
}

/* .is-subpage クラスがある時だけ、背景画像と透過を解除して黒にする */
.is-subpage .jeep-footer {
    background-image: none !important;
    background-color: #000000 !important;
}

.is-subpage .jeep-footer::before {
    display: none !important;
    content: none !important;
}


/*プジョー認定中古車変更部分*/
.shop-tag_p {
    position: absolute;
    top: -5px; 
    left: -5px;
    background-color: #1a78f3; 
    color: #fff;
    padding: 5px 12px;
    font-size: 11px;
    font-weight: bold;
    z-index: 10;
    box-shadow: 2px 2px 5px rgba(0,0,0,0.2); 
    white-space: nowrap;
}


/* ジープサイト専用フッターの背景を黒にする */
.jeep-footer {
    background-color: #000 !important; 
    background-image: none !important; 
    padding: 60px 0 100px;
    color: #fff;
    position: relative;
    z-index: 10;
}

/* フッター内の文字色も白に統一（念のため） */
.jeep-footer .footer_nav ul li a {
    color: #fff !important;
}

.jeep-footer .copyright {
    color: #ccc;
    margin-top: 40px;
    text-align: center;
}

/* --- ボタン_スライドグラデーション用の共通ベース ここから --- */
.btn-primary,
.btn-detail-jeep,
.btn-detail-peugeot,
.btn-store {
    position: relative;
    z-index: 1;
    overflow: hidden;
    background-color: transparent !important;
    border: none !important;
    transition: color .4s;
}

/* 背景の土台（黒など） */
.btn-primary::after,
.btn-store::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -2;
    background: #000; /* 通常時の背景色 */
    content: "";
}

/* 背景の土台（プジョー） */
.btn-detail-peugeot::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -2;
    background: #15a6db; /* 通常時の背景色 */
    content: "";
}

/* スライドしてくるグラデーション層 */
.btn-primary::before,
.btn-detail-jeep::before,
.btn-store::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    background: rgb(0, 0, 0);
    background: linear-gradient(45deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255, 0.9) 100%);
    content: "";
    transition: transform .3s;
    transform-origin: right top;
    transform: skewX(45deg) scale(0, 1);
}

.btn-detail-peugeot::before{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    background: #00a3e0;
    background: linear-gradient(45deg, #44c0ed 0%, rgb(255, 255, 255) 100%);
    content: "";
    transition: transform .3s;
    transform-origin: right top;
    transform: skewX(45deg) scale(0, 1);
}

/* --- Hover時の動き --- */
.btn-primary:hover::before,
.btn-detail-jeep:hover::before,
.btn-store:hover::before {
    transform-origin: left bottom;
    transform: skewX(45deg) scale(2, 2);
    opacity: 0;
    transition: transform 0.3s, opacity 0s 0.3s;
}

.btn-detail-peugeot:hover::before {
    transform-origin: left bottom;
    transform: skewX(45deg) scale(2, 2);
    opacity: 0;
    transition: transform 0.3s, opacity 0s 0.3s;
}

/* ボタン本体の共通ホバー設定 */
.btn-primary:hover,
.btn-detail-jeep:hover,
.btn-store:hover,
.btn-detail-peugeot:hover {
    color: #fff !important; /* 文字は白で固定 */
}


/* --- Jeepボタン：グリーンからスライドしてグリーンに戻る --- */

.jeep-topics .btn-primary,
.jeep-lineup .btn-primary,
.jeep-special .btn-primary,
.jeep-approved .btn-primary {
    position: relative;
    z-index: 1;
    overflow: hidden;
    width: 220px;
    padding: 1.2em 2em;
    border-radius: 5px;
    text-align: center;
    font-weight: 600;
    text-decoration: none;
    /* 背景は::afterで作るため透明 */
    background-color: transparent !important;
    background-image: none !important;
    border: 2px solid #559785 !important;
    color: #fff !important; /* 通常時：白文字 */
    transition: color 0.3s;
}

/* 背景の土台（Jeepグリーン） */
.btn-detail-jeep::after,
.jeep-topics .btn-primary::after,
.jeep-lineup .btn-primary::after,
.jeep-special .btn-primary::after,
.jeep-approved .btn-primary::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -2;
    background: #559785; /* 通常時・完了時：グリーン */
    content: "";
}

/* スライドしてくる白いグラデーション層 */
.btn-detail-jeep::before,
.jeep-topics .btn-primary::before,
.jeep-lineup .btn-primary::before,
.jeep-special .btn-primary::before,
.jeep-approved .btn-primary::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    /* グリーンから白へのスライド用グラデーション */
    background: linear-gradient(45deg, #559785 0%, #ffffff 100%);
    content: "";
    transition: transform 0.3s ease-in-out;
    transform-origin: right top;
    transform: skewX(45deg) scale(0, 1);
}

/* --- Hover時の動き --- */
.btn-detail-jeep:hover,
.jeep-topics .btn-primary:hover,
.jeep-lineup .btn-primary:hover,
.jeep-special .btn-primary:hover,
.jeep-approved .btn-primary:hover {
    color: #fff !important; /* 文字は白を維持 */
}
.btn-detail-jeep:hover::before,
.jeep-topics .btn-primary:hover::before,
.jeep-lineup .btn-primary:hover::before,
.jeep-special .btn-primary:hover::before,
.jeep-approved .btn-primary:hover::before {
    transform-origin: left bottom;
    transform: skewX(45deg) scale(2, 2);
    /* スライド完了(0.3s)後に透明にして、下のグリーンを見せる */
    opacity: 0;
    transition: transform 0.3s, opacity 0s 0.3s;
}

/* --- 会社紹介ボタン：白から白へ戻る完結版 --- */
.company-button .btn-company {
    padding: 15px 30px;
    text-align: center;
    color: #000 !important;
    overflow: hidden;
    display: block;
    position: relative;
    z-index: 99;
    text-decoration: none;
    width: 250px;
    margin: 40px auto 0;
    font-weight: bold;
    border-radius: 5px;
    border: 1px solid #000;
    background: transparent !important;
    transition: color 0.3s;
}

/* 土台層：初期状態と完了後の「白」 */
.company-button .btn-company::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -99;
    background: #fff; 
    content: "";
}

/* スライド層：光の演出（白〜黒のグラデーション） */
.company-button .btn-company::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1; 
    background: rgb(255, 255, 255);
    background: linear-gradient(45deg, rgb(255, 255, 255) 0%, rgba(0, 0, 0, 0.7) 100%);
    content: "";
    transform-origin: right top;
    transform: skewX(45deg) scale(0, 1);
    transition: transform 0.2s ease-in;
}

/* --- Hover --- */

.company-button .btn-company:hover {
    color: #000 !important; 
}

.company-button .btn-company:hover::before {
    transform-origin: left bottom;
    transform: skewX(45deg) scale(2, 2);
    opacity: 0;
    transition: transform 0.2s ease-out, opacity 0s 0.2s;
}
/* --- ボタン_スライドグラデーション用の共通ベース ここまで --- */

/* --- フローティングバナー（PC版：中央浮き） --- */
.floating-banner {
    width: 900px;
    height: 70px;
    display: flex;
    align-items: center;
    position: fixed;
    bottom: -100px; /* 初期状態は画面外 */
    left: 50%;
    transform: translateX(-50%);
    background-color: #fff;
    border-radius: 0 0;
    box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.3);
    transition: bottom 0.5s ease; /* スライドインアニメーション */
    z-index: 9999;
    overflow: hidden;
}

/* スクロール後にJSで付与するクラス */
.floating-banner.is-show {
    bottom: 0;
}

.banner-item.banner-store-name {
    font-size: 16px;
}

.banner-item {
    flex: 1;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-decoration: none !important;
    text-align: center;
    transition: opacity 0.3s;
}

.banner-item:hover {
    opacity: 0.8;
}

/* 各エリアの配色設定 */
.banner-store-name {
    background-color: #fff;
    color: #333;
    font-weight: bold;
    padding: 0 10px;
    line-height: 1.4;
}
.banner-store-name span { font-size: 14px; font-weight: normal; }

.banner-tel {
    background-color: #121212; 
    color: #fff;
}

.banner-service {
    background-color: #121212; 
    color: #fff;
    border-left: 1px solid #444;
}

/* テキスト装飾 */
/* 左側 */
.banner-tel .tel-number {
    font-size: 22px; /* 電話番号は数字なので少し大きめ */
    font-weight: bold;
    font-family: "neue-haas-grotesk-display", sans-serif;
}

/* 右側 */
.banner-service .tel-number {
    font-size: 18px; 
    font-weight: bold;
    letter-spacing: 0.05em;
}

/* アイコンサイズの微調整 */
.banner-service .tel-number i {
    font-size: 20px; /* メールのアイコンを少し強調 */
    margin-right: 10px;
}

/* 特選車ページ専用：ulクラスによる境界線制御 */
@media screen and (min-width: 1201px) {
    .specially-page-main .special-list.auto-border-list {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        /*
        gap: 140px 20px !important; 
        */
        position: relative;
        overflow: visible !important; 
        background-image: none !important;
    }

    /* 親要素(ul)に固定の境界線を引く */
    .specially-page-main .special-list.auto-border-list::after {

/*
        content: "";
        position: absolute;
        top: 435px; 
        left: 0;
        width: 100%;
        height: 1px;
        background-color: #ccc;
        pointer-events: none;
        z-index: 1;
        */

    }

    .specially-page-main .special-card {
        background-color: transparent;
        padding: 0;
        border: none !important;
        box-shadow: none !important;
        transform: none !important; 
        transition: none !important; 
        position: relative;
        z-index: 2;
    }
    
    .specially-page-main .special-card::after {
        content: none !important;
    }

    .specially-page-main .special-card .card-link {
        display: flex;
        flex-direction: column;
        text-decoration: none !important;
        color: inherit;
        height: 100%;
        box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
        transition: transform 0.3s ease !important; 
        will-change: transform;
    }

    /* ホバー時の浮き上がり幅を -8px に統一 */
    .specially-page-main .special-card .card-link:hover {
        transform: translateY(-8px) !important;
    }
}

@media (max-width: 1200px) {

    .page-top {
        width: 40px;
        height: 40px;
        right: 15px;
        bottom: 15px; 
        transition: bottom 0.5s ease; /* 動きをスムーズにする */
        z-index: 10001 !important;  
    }

    /* JavaScriptでクラスが付与された際、バナーの上に避難させる */
    .page-top.is-lifted {
        bottom: 90px !important; 
    }

    .card {
        min-height: 0; 
        height: 0;
        padding-top: 40%; 
        width: calc(100vw / 2); /* 2分割を維持 */
    }

    .store-infomation h2 {
        font-size: 34px;
        margin: 80px 0 30px;
        font-family: "Noto Sans", sans-serif;
    }
    .jeep-lineup {
        background-image: url('../img/jeep_lineup_1200.jpg');
        min-height: 600px; /* 画像の比率に合わせて調整 */
    }
    .store-grid {
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        justify-content: center;
    }
    .store-card {
        height: 350px;
    }

    .topics-list,
    .special-list,
    .approved-list {
        grid-template-columns: repeat(3, 1fr) !important; /* 強制的に3列 */
        gap: 20px;
    }

    .specially-page-main .special-card::after {
        display: none !important;
    }

    .dealer-content-grid {
        flex-direction: column; 
        gap: 30px;
    }

    .dealer-image {
        width: 100%; 
    }

    .dealer-details {
        width: 100%;
        text-align: center; 
    }

    .dealer-name {
        font-size: 20px;
        margin-bottom: 15px;
    }

    .dealer-address {
        display: flex;
        justify-content: center; 
        margin-bottom: 25px;
    }

    .map-link {
        font-size: 14px; 
    }

    .dealer-actions {
        display: flex;
        flex-direction: column;
        gap: 15px;
        width: 100%;
        max-width: 500px; 
        margin: 0 auto;
    }

    .btn-dealer-tel,
    .btn-dealer-form {
        height: 55px; 
        font-size: 16px;
    }

}

@media (max-width: 1000px) {

    .jeep-topics-header::before {
        height: 120px;
        width: 120vw;
        left: -10px;
        background-size: cover;
    }

    /*会社紹介ページ*/
    section.company-intro-detail.fade-in.is-active {
        margin-top: 40px;
    }

    .company_infomation p {
        text-align: center;
    }

    .company-logo-img {
        width: 250px !important; 
        margin: 0 auto 25px !important; 
    }

    /*テキストの調整（ロゴの下に配置され、中央に揃う） */
    .company-text-box p {
        font-size: 18px !important; 
        line-height: 1.6 !important;
        padding: 0 !important; 
        width: 100%;
        color: #fff !important;
        text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.8) !important;
    }

    .jeep-lead-text {
        font-size: 1.4rem; 
        margin-top: 20px;
    }

    .company-logo {
        height: 80px;
        margin-bottom: 30px;
    }
    .company_infomation {
        align-items: center;
        text-align: center;
    }

    .jeep-topics-header {
        padding: 0 0;
    }

    .jeep-lead-text {
        font-size: 1.2rem;
    }

    /*jeepサイトのnews部分だけパンくずがあるのでタイトルを下げる。*/
    #jeep_news .jeep-topics-header {
        padding-top: 80px !important; 
    }


    .jeep-lineup {
        background-image: url('../img/jeep_lineup_1200.jpg');
        min-height: 500px; /* 画像の比率に合わせて調整 */
    }

    .jeep-lineup {
        min-height: 450px;
        margin: 10px 0 0;
        background-position: center; 
    }
    
    .lineup-box {
        max-width: 100%; 
        padding: 40px 20px;
    }
    
    .lineup-title {
        font-size: 32px;
    }

    .topics-list,
    .special-list,
    .approved-list {
        grid-template-columns: repeat(2, 1fr) !important; /* 強制的に2列 */
        gap: 20px;
    }

    .jeep-footer-visual-group {
        background-size: 130% auto !important; 
        background-position: center bottom !important; 
        background-attachment: scroll !important;
        background-repeat: no-repeat !important;
        background-color: #000 !important; 
        padding-top: 60px;
    }
/*  店舗紹介ページ  */

    .full-width-img {
        width: 100%;
        height: 300px;
        object-fit: cover;
        display: block;
    }
    .store-detail-card {
        height: 420px; 
        margin-bottom: 80px;
    }

    .store-info-box {
        padding: 20px; 
        width: 50%; 
    }

    .store-detail-name {
        font-size: 16px; 
        margin-bottom: 15px;
    }

    .store-address-group {
        font-size: 14px; 
        line-height: 1.6;
    }

    .jeep-card { margin-bottom: 80px; }
    .jeep-card:last-child { margin-bottom: 0 !important; }
    .peugeot-card { margin-bottom: 80px; }

    .detail-main-visual .full-width-img {
        width: 100%;
        height: 300px;
        object-fit: cover;
    }
    .gallery-item img {
        height: 220px;
    }

    .intro-text-wrap p {
        font-size: 16px;
        line-height: 1.8;
    }

    .summary-container {
        gap: 30px; 
    }
    
    .summary-title {
        font-size: 28px; 
    }
    
    .summary-table {
        font-size: 15px; 
    }

    .brand-logo-jeep {
        width: 200px;
        height: auto;
    }

    .brand-logo-peugeot {
        width: 100px;
        height: auto;
    }

 /*モデルラインナップ*/
    .model-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .dealer-info-section .inner {
        padding: 40px 0;
        width: 90%; 
    }

/*特選車詳細ページ*/
    .dealer-content-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

/* spanをブロック要素にすることで強制的に改行させる */
    .address-group span {
        display: block;
        margin-right: 0;
    }

    .dealer-address {
        display: flex;
        justify-content: center;
        margin-bottom: 25px;
    }

    .map-link {
        display: flex;
        align-items: flex-end; /* アイコンを下の行の高さに合わせる */
        justify-content: center;
        text-align: center;
        line-height: 1.6;
    }

    .slider-item {
        /* スマホでは 800px は大きすぎるため、画面幅に合わせつつ比率を維持します */
        flex: 0 0 85% !important;
        width: 85% !important;
        height: auto !important;
        aspect-ratio: 800 / 600; /* 比率を 4:3 に固定 */
    }

}



@media (max-width: 768px) {

    .br-pc{
        display: none;
    }
    .br-sp{
        display: block;
    }


.disnon-sp{
    display: none !important;

}




header {
        position: fixed !important;
        background-color: #000 !important;
        z-index: 100;
    }

    /* --- メインビジュアル：上端の「枠」を消すための設定 --- */
    .mv {
        position: relative;
        width: 100%;
        height: auto !important;
        margin-top: -70px !important; 
        padding-top: 100px !important; 
        background-color: #000;
        overflow: hidden;
    }

    /* ビデオコンテナ：上下の黒線を完全に消すための比率(4:3) */
    .mv-video-container {
        position: relative;
        width: 100%;
        height: 0;
        padding-top: 75%; /* Jeepの見た目に近いボリューム感 */
        background-color: #000;
    }

    /* ビデオラッパー：16:9の動画を4:3の枠いっぱいに拡大して「枠」を埋める */
    .mv-video-wrapper {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 135%; 
        height: 100.5%;
    }

    .mv-video-wrapper iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100% !important;
        height: 100% !important;
        transform: scale(1.05); 
        pointer-events: none;
    }

    /* 下のロゴセクション */
    .brand-intro-section {
        margin-top: -2px !important; 
        padding: 15px 0 40px !important; 
        background-color: #000;
    }

    .brand-logos {
        gap: 20px;
        margin-bottom: 10px;
    }

    /* ロゴ自体のサイズや間隔の微調整 */
    .brand-logos {
        gap: 20px; 
        margin-bottom: 15px; 
    }
    .intro-logo-jeep {
        height: 40px;
    }
    .intro-logo-peugeot {
        height: 50px;
    }
    .brand-intro-text {
        font-size: 16px;
    }

    .service {
        margin: 0;
    }    
    .section-title {
        font-size: 28px;
    }

    .section-subtitle {
        margin-bottom: 30px;
    }
    
    .card-logo {
        font-size: 30px;
    }

    .card-buttons {
        flex-direction: column;
        margin-bottom: 10px;
    }
    
    .btn-model, .btn-special {
        max-width: 250px;
    }

    .card-content {
        padding: 20px;
    }

    .card {
        min-height: 0; 
        height: 0;
        padding-top: 40%; 
        width: calc(100vw / 2); /* 2分割を維持 */
    }

    .btn {
        padding: 8px 10px;
        font-size: 10px;
        width: 100%;
        max-width: 250px;
        margin: 0 auto;
        border-radius: 8px;
    }

    .sec-title {
        flex-direction: column;
        padding: 30px 20px;
        gap: 0;
    }


    h3.section-sub-title {
        font-size: 26px;
    }

    p.section-sub-text {
        padding-top: 10px;
    }

    .store-bg-sp_image{
        display: block;
    }

    .store-bg-image{
        display: none;
    }
    
    .store-info { 
        padding: 0; 
    }
    
    .store-infomation {
        min-height: 60vh; 
        height: auto;
        padding: 40px 20px 60px; 
        justify-content: flex-start; 
        align-items: center; 
        text-align: center; 
    }

    /* スマホ用の背景画像（.store-bg-sp_image）を絶対配置で全体に広げる */
    .store-bg-sp_image {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        z-index: 1;
        opacity: 0.8; 
    }

    /* PC用画像は非表示 */
    .store-bg-image {
        display: none;
    }

    .store-infomation h2, 
    .store-infomation p {
        color: #000; 
    }
    
    .store-infomation h2 {
        font-size: 26px; 
        margin: 50px 0 20px; 
        line-height: 1.5;
        position: relative;
        z-index: 20; 
    }
    
    .store-infomation p {
        font-size: 16px;
        line-height: 2;
        margin-top: 0;
        position: relative;
        z-index: 20;
        padding: 20px;
        text-align: left;
    }
    
    .store-button {
        position: relative;
        z-index: 20;
        margin: 40px auto 0; 
    }

    a.btn-store {
        width: 100%; 
        max-width: 250px; 
        margin: 0 auto; 
    }
    
    .br-pc {
        display: none; 
    }
    
    .store-infomation {
        background-image: none; 
        min-height: 400px; 
        padding: 40px 20px 80px; 
        justify-content: flex-start; 
        align-items: center; 
        text-align: center; 
    }

    .store-bg-sp_image {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        z-index: 1;
        opacity: 0.8; 
    }
    /*トピックス・ニュース*/

    .topics-container.inner {
        padding: 0 20px;
    }

    .card-shop-name, .card-shop-name2 {
        font-size: 11px;
        padding: 8px 0;
    }

    .topics-content {
        padding: 10px 10px 15px;
    }

    .card-title {
        font-size: 13px; 
    }

    .card-date-and-tags {
        gap: 5px;
    }
    
    /*バナー*/

    section.bunner-info {
        margin: 50px auto 20px; 
    }
    
    .bunner {
        padding: 0 10px; 
    }

    /*会社紹介*/
    .company-bg-pc {
        display: none; 
    }
    
    .company-bg-sp {
        display: block;
        /* absoluteで重ね合わせるための共通スタイルはそのまま */
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        z-index: 1;
    }
    
    .company_infomation {
        min-height: 500px;
        align-items: center;
        text-align: center; 
        padding: 40px 20px;
    }

    .company-logo {
        height: 80px;
        margin-bottom: 30px;
    }

    .company_infomation p {
        font-size: 16px;
        line-height: 1.6;
        padding: 0 10px; /* 左右の余白を追加 */
        margin-bottom: 30px;
        text-align: center;
    }
    
    .btn-company {
        padding: 1.2em 2em;
        font-size: 14px;
    }
    footer {
        padding: 30px 10px;
    }

    .footer_nav ul {
        display: grid; 
        grid-template-columns: 1fr 1fr; 
        gap: 15px 5px; /* 縦の隙間を大きく、横の隙間を小さく */
        padding: 0 10px 15px; /* 左右の余白を調整 */
    }

    .footer_nav a {
        font-size: 12px;
    }
    
    .copyright {
        margin-top: 15px;
    }

    .page-top {
        width: 40px;
        height: 40px;
        right: 15px;
        bottom: 15px; /* 通常時の位置 */
        background-color: #000;
        color: #fff;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 5px;
        z-index: 10001 !important; 
        transition: bottom 0.5s ease, opacity 0.3s; 
    }

    /* バナーが出現した時に持ち上げる設定 */
    .page-top.is-lifted {
        bottom: 90px !important; 
    }

    .topics-list,
    .special-list,
    .approved-list {
        grid-template-columns: repeat(2, 1fr) !important; /* 強制的に2列 */
        padding: 0 10px;
        gap: 20px;
    }

    .store-page-content {
        padding-top: 100px;
    }
    .store-header-title .main-title {
        font-size: 2.2rem;
    }

    .brand-logo-jeep {
        width: 200px;
    }

    .full-width-img {
        height: 250px; 
    }
    .brand-logo-wrap {
        padding: 40px 0;
    }

    .store-detail-card {
        height: auto; 
        display: block; 
        margin-bottom: 60px;
        border: 1px solid #eee;
    }

    .store-visual-box {
        width: 100%; 
        height: 350px;
    }

    .store-info-box {
        position: static; 
        width: 100%;
        height: auto;
        padding: 30px 20px;
        background-color: #fff; 
        box-shadow: none; 
    }

    .jeep-card { margin-bottom: 60px; }
    .jeep-card:last-child { margin-bottom: 0 !important; }
    .peugeot-card { margin-bottom: 60px; }

    .brand-logo-jeep {
        width: 150px;
        height: auto;
    }

    .brand-logo-peugeot {
        width: 70px;
        height: auto;
    }

    .btn-detail-jeep, .btn-detail-peugeot {
        width: 250px;
        font-size: 14px;
        padding: 0.8em 1.5em; 
    }

    .detail-brand-logo .logo-img {
        width: 200px;
        height: auto;
    }

    .store-detail-intro {
        padding: 30px 0 30px;
    }
    .intro-text-wrap {
        text-align: left; 
        margin-bottom: 40px;
    }
    .intro-text-wrap p {
        font-size: 1.2em;
        line-height: 1.8;
    }
    .intro-gallery {
        flex-direction: column;
        gap: 15px;
    }
    .gallery-item img {
        height: 100%; 
    }

    .detail-main-visual .full-width-img {
        width: 100%;
        height: 300px;
        object-fit: cover;
    }

    .detail-store-display-name{
        text-align: center;
        font-size: 22px;
        margin-bottom: 60px;
        color: #000;
    }

    .store-summary-access {
        padding: 50px 0 0; 
    }

    .summary-container {
        flex-direction: column; 
        gap: 50px;
    }

    .summary-title {
        font-size: 28px;
        padding-bottom: 10px;
        margin-bottom: 20px;
    }

    .summary-table th {
        width: 80px; 
        padding: 12px 0;
    }

    .summary-table td {
        padding: 12px 0;
    }

    .map-iframe {
        height: 300px; 
    }

    .sns-icons img {
        width: 40px;
    }

    .btn-contact-flat {
        font-size: 18px;
        height: 60px;
    }

    /*会社紹介ページ*/
    .company-logo-img {
        width: 220px !important; 
        margin: 0 auto 25px !important; 
    }

    /*テキストの調整（ロゴの下に配置され、中央に揃う） */
    .company-text-box p {
        font-size: 18px !important; 
        line-height: 1.6 !important;
        padding: 0 !important; /* 以前の左寄せ用パディングを解除 */
        width: 100%;
        color: #fff !important;
        text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.8) !important;
    }

    .summary-title {
        font-size: 30px;
        font-family: "neue-haas-grotesk-display", "Open Sans", sans-serif;
        color: #b5b5b5;
        padding-bottom: 15px;
        margin-bottom: 10px;
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .company-outline-section {
        padding: 40px 0 80px;
    }
    .company-outline-table th {
        width: 35% !important;
        font-size: 14px;
    }
    .company-outline-table td {
        font-size: 14px;
    }

    /*******************************/
    /* お問い合わせフォームセクション */
    /*******************************/

    .form-grid {
        grid-template-columns: 1fr !important;
        gap: 0; 
    }

    .form-grid-narrow {
        grid-template-columns: 1fr !important;
        width: 100% !important;
    }

    /* 入力欄の横幅を100%に広げる */
    .form-grid-narrow input[type="date"],
    .form-grid-narrow input[type="tel"],
    .form-grid-narrow input[type="text"],
    .form-grid-narrow select {
        max-width: 100% !important;
    }

    /* 各項目の下の余白を確保 */
    .form-item {
        margin-bottom: 20px;
    }

    .sirius-form input[type="date"],
    .sirius-form select {
        height: 50px !important;
        line-height: 50px; 
        padding: 0 12px !important;
    }

   /*プライバシーポリシー*/ 

    .content-page .content-header-title, .content-page-content .content-header-title {
        padding-top: 80px;
        margin-bottom: 0;
        text-align: center;
    }

    .privacy-body {
        padding: 40px 0 40px;
        line-height: 1.6;
        color: #333;
    }

    .privacy-body h2 {
        font-size: 20px;
        margin-bottom: 40px;
        text-align: left; 
        line-height: 1.4;
    }
    .privacy-body h3 {
        font-size: 18px;
        margin-bottom: 40px;
        text-align: left; 
        line-height: 1.4;
    }

    .content-header-title .main-title {
        font-size: 2rem;
    }

    .company-info-block {
        text-align: left; 
        margin-bottom: 30px;
        font-size: 14px;
    }
    .content-sub-title {
        font-size: 18px;
    }

    .privacy-body h1 {
        font-size: 20px;
        margin-bottom: 30px;
        text-align: left; 
    }

    .privacy-intro, .privacy-item p {
        font-size: 14px;
    }
    .group-names, .insurance-list {
        padding-left: 20px;
    }

    .measure-block p {
        margin-left: 0;
        font-size: 14px;
    }

    .exception-list li,
    .additional-note {
        font-size: 14px;
    }

    .dot-list li,
    .contact-info-block p,
    .date-info-block p {
        font-size: 14px;
    }

    .date-info-block {
        margin-top: 40px;
    }

/*勧誘方針*/

    .solicitation-body h2 {
        font-size: 20px;
        margin-bottom: 40px;
        text-align: center; 
        line-height: 1.4;
    }

    /* キャッチコピーを囲む枠線 */
    .catch-copy-box {
        border: 2px solid #333;
        border-radius: 10px;
        padding: 30px 20px;
        text-align: center;
        margin-bottom: 60px;
    }

    .catch-copy-box p {
        font-size: 18px;
        font-weight: bold;
        color: #333;
        line-height: 1.5;
    }

    .legal-notice {
        font-size: 13px;
    }
    .agency-info-box {
        max-width: 100%; /* スマホでは全幅に広げる */
        padding: 20px;
    }
    .agency-title {
        font-size: 14px;
    }
    .agency-details p {
        font-size: 14px;
    }

    .catch-copy-box p {
        font-size: 18px;
        font-weight: bold;
        color: #333;
        line-height: 1.5;
    }

    /*下部ページのcss*/
/* ヘッダー全体の高さ調整 */
    .main-header-bar.sub-header {
        height: auto; /* 高さを中身に合わせる */
        padding: 10px 15px;
        min-height: 70px;
    }

    /* ロゴと社名を縦並びにする */
    .header-left {
        flex-direction: column; 
        align-items: flex-start; 
        gap: 2px; 
    }

    .sub-logo-link {
        display: block;
    }

    .logo-jeep {
        height: 60px; 
    }

    /* 社名をロゴの下に小さく配置 */
    .company-name {
        display: block; 
        font-size: 9px; 
        transform: scale(0.9); 
        transform-origin: left top;
        white-space: nowrap;
        opacity: 0.9;
        padding-left: 10px;
    }

    /* 右側エリア：ボタンとハンバーガーの並び */
    .header-right {
        gap: 8px;
    }

    .btn-header-contact {
        padding: 6px 10px;
        font-size: 10px;
        border-radius: 15px;
        margin-right: 45px; 
    }

    /* ハンバーガーメニューを右端中央に固定 */
    .main-header-bar.sub-header .hamburger {
        position: absolute;
        right: 5px;
        top: 50%;
        transform: translateY(-50%);
    }


    /*パンくず*/
    .breadcrumbs {
        width: 100%;
        text-align:left;
        padding-left: 20px;
    }

    .jeep-home-breadcrumb {
        margin-bottom: -80px; /* スマホでは食い込み量を少し減らす */
        padding-left: 20px;
    }

    .jeep-topics-header {
        padding: 0 0;
    }
    .jeep-topics-header::before {
        height: 120px; 
        width: 120vw; 
        left: -10px;  
        background-size: cover;
    }
    
    .jeep-topics-title-wrap {
        margin-top: 30px; 
    }

    .jeep-section-title {
        font-size: 28px;
        padding: 0 10px;
    }

    .jeep-section-subtitle {
        font-size: 12px;
        margin-top: 3px;
    }

    .jeep-lead-text {
        font-size: 1.2rem;
        margin-top: 30px;
        padding: 0 15px;
        line-height: 1.6;
    }
    
    .jeep-topics .btn-primary {
        width: 200px;
        font-size: 14px;
        padding: 0.8em 1.5em;
    }

    .jeep-lineup {
        min-height: 350px;
        margin: 10px 0 0;
        background-position: center; 
    }
    
    .lineup-box {
        max-width: 100%; 
        padding: 40px 20px;
    }
    
    .lineup-title {
        font-size: 32px;
    }

    /*特選車セクション*/

    .special-lead-area { flex-direction: column; gap: 10px; }

    .special-section-title { 
        font-size: 24px;
    }
    .special-lead-area {
        flex-direction: column;
        gap: 5px;
    }
    .special-lead-text { 
        font-size: 15px;
    }

    /*認定中古車セクション*/

    .dealer-names {
        font-size: 8px;
        line-height: 1.3;
        margin: 0;
        white-space: nowrap;
    }
    .jeep-approved::after {
        width: 120vw;
        height: 120px;
    }

    .jeep-footer-visual-group {
        background-attachment: scroll !important;
        padding-top: 40px;
    }

    .store-lead {
        margin: 20px 0 50px;
        font-size: 20px;
    }

    .store-grid {
        grid-template-columns: 1fr; 
        gap: 5px;
    }

    .store-card {
        height: 350px; 
    }

    .store-name {
        font-size: 20px; 
        margin-bottom: 15px;
    }

    .footer-visual-area {
        padding: 60px 20px; 
    }

    .jeep-store-info {
        background-color: #000; 
    }

    .footer-message {
        font-size: 18px;
        line-height: 2;
    }
    .approved-section-title {
        font-size: 2rem;
        font-family: "neue-haas-grotesk-display","Open Sans", sans-serif;
        font-weight: 700;
        color: #000;
        margin: 0;
    }

    .store-section-title{
        font-size: 2rem;
    }

    .jeep-footer-visual-group {
        background-size: 170% auto !important; 
        background-position: center bottom !important; 
        background-attachment: scroll !important;
        background-repeat: no-repeat !important;
        background-color: #000 !important; 
        padding-top: 60px;
    }

    .jeep-footer-visual-group {
        background-color: #000; 
    }

    .footer-back-button {
        margin: 20px 0 30px;
    }
    .btn-back-corporate {
        font-size: 13px;
    }

    /*jeepapprovedページ*/
    .approved-page main {
        padding-top: 100px; /* スマホでのヘッダーとの余白 */
    }

    /*jeep特選車ページ*/
    .special-lead-area-wrap {
        margin: 40px 0px 50px;
    }

    .page-specially-lead .special-lead-area {
        flex-direction: column;
        gap: 10px;
        margin-bottom: 30px;
    }

    .car-info-detail {
        padding: 30px 0;
        background-color: #fff;
        text-align: center;
    }

    .price-sub-row span {
        display: block; 
        margin-left: 0;
        line-height: 1.6;
    }

    .dealer-info-section {
        padding: 30px 0;
        background-color: #fff;
        border: none !important;
    }

    .page-specially-lead .special-lead-text {
        font-size: 18px;
    }

    .car-detail-slider {
        padding: 30px 0;
        overflow: hidden;
        background-color: #fff;
    }

    .slider-item img {
        height: 100%; /* スマホ用の高さ */
    }

    .car-full-name { 
        font-size: 20px; 
    }

    .price-main-row {
        flex-direction: column; 
        gap: 10px; 
    }

    .price-grand-total { 
        font-size: 28px; 
    }

    .price-tag-yellow { 
        font-size: 14px; 
        width: 100%; 
        max-width: 200px; 
    }

    .dealer-content-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .dealer-title-box { 
        width: 95%; 
    }
    .btn-dealer-tel, .btn-dealer-form { 
        font-size: 16px; 
    }

    /*特選車詳細ページ*/
    .slider-item.swiper-slide {
        flex: 0 0 85% !important; 
        width: 85% !important;
        height: auto !important;
        aspect-ratio: 800 / 600; 
    }

    .dealer-info-section .inner {
        width: 92%;
    }

    .video-container {
        width: 100%; 
        margin-left: 0;
        margin-right: 0;
        max-width: none;
        height: auto;
        padding-bottom: 56.25%; /* 9 ÷ 16 = 0.5625 (16:9の黄金比) */
        margin-top: 30px;
        margin-bottom: 30px;
    }

    /* 中の動画もコンテナの比率に合わせて広げる */
    .video-container iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: contain; 
    }

 /*サービス店舗ページ*/   
    .notice-text {
        font-size: 16px;
        padding: 10px 20px;
        width: 100%; 
    }

    .service-detail-card {
        padding: 40px 20px;
    }
    
    .service-store-name {
        font-size: 18px;
    }
    
    .contact-number {
        font-size: 32px;
    }
    
    .service-address-group {
        font-size: 14px;
        text-align: left; 
        display: inline-block;
    }

    /* カード間の余白設定 */
    .service-detail-card {
        margin-bottom: 30px; /* カード同士の間隔 */
    }

    /* 最後のカードの下は広め */
    .service-detail-card:last-child {
        margin-bottom: 60px;
    }

    /* 黄色ボックスの再利用スタイル */
    .service-notice-box {
        margin-bottom: 40px; /* 下のカードとの距離 */
    }

    .service-store-list {
        padding: 0;
        background-color: #fff;
    }

    .floating-banner {
        width: 100%;
        height: 70px;
        border-radius: 0;
        bottom: -80px; /* 初期状態（隠し） */
    }

    .banner-store-name {
        display: none; /* 店舗名を隠して2分割にする */
    }

    .banner-tel, .banner-service {
        flex: 1;
    }

    .banner-tel .tel-number {
        font-size: 15px; /* スマホの横幅に合わせて調整 */
    }

    /* 右側：来場予約・お問合せ（テキスト） */
    .banner-service .tel-number {
        font-size: 13px; 
    }

    .banner-service .tel-number i {
        font-size: 14px;
        margin-right: 5px;
    }

}
@media (max-width: 650px) {
    .topics-list,
    .special-list,
    .approved-list {
        grid-template-columns: 1fr !important; /* 強制的に1列 */
        padding: 0 30px;
    }

    .full-width-img {
        height: 120px;
    }

}

@media (max-width: 480px) {

    .logo {
        height: 70px;
        width: auto;
        display: block;
    }

    header {
        position: fixed !important;
        top: 0;
        width: 100%;
        z-index: 100;
    }

/*  メインビジュアル外枠 */
    .mv {
        margin-top: -150px !important; 
        padding-top: 200px !important; 
        height: auto !important;
    }

    .sirius-body .mv { margin-top: -170px !important; }

    /* 動画の高さ（ボリューム）を出す設定 */
    .mv-video-container {
        padding-top: 75% !important; 
    }

    .mv-video-wrapper {
        width: 122.2% !important; 
        height: 101% !important;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%) scale(1.1) !important; 
    }
    
    /*  動画本体のズレを防止 */
    .mv-video-wrapper iframe {
        width: 100% !important;
        height: 100% !important;
    }

    /*パンくず*/
    .breadcrumbs {
        width: 100%;
        text-align:left;
        padding-left: 25px !important;
    }

    .section-title {
        font-size: 26px;
    }

    h3.section-sub-title {
        font-size: 22px;
    }

    .section-sub-title {
        font-size: 2rem;
        font-family: "neue-haas-grotesk-display", "Open Sans", sans-serif;
    }

    .card {
        width: 100%;
        padding-top: 85%;
        min-height: 0;
    }

    .btn {
        padding: 12px 10px;
        font-size: 12px;
        width: 100%;
        max-width: 250px;
        margin: 0 auto;
        border-radius: 8px;
    }


    .store-infomation h2 {
        font-size: 22px;
    }

    .company_infomation {
        padding: 20px;
    }

    .company_infomation p {
        font-size: 16px;
    }
    .topics-list {
        grid-template-columns: 1fr; /* 1列表示 */
    }

    .card-date-and-tags {
        gap: 5px;
    }

    section.bunner-info .inner {
        padding: 0 5px; 
    }
    .topics-list,
    .special-list,
    .approved-list {
        grid-template-columns: 1fr !important; 
        padding: 0 10px;
    }

    .inner {
        max-width: 480px;
        margin: 20px auto 0;
        padding: 0 20px;
    }

    .store-header-title .main-title {
        font-size: 2rem;
    }

    .store-header-title .sub-title {
        margin-top: 10px;
    }

    .store-visual-box {
        width: 100%; 
        height: 250px;
    }

    .store-detail-name {
        font-size: 16px;
        margin-bottom: 15px;
    }
    .store-address-group {
        font-size: 12px;
        line-height: 1.6;
    }

    .detail-main-visual .full-width-img {
        width: 100%;
        height: 150px;
        object-fit: cover;
    }

    .detail-store-display-name {
    text-align: center;
    font-size: 16px;
    margin-bottom: 20px;
    color: #000;
}

    .summary-table {
        font-size: 13px; /* さらに文字を小さくして改行を防ぐ */
    }

    /* 連絡先などで改行が起きても崩れないよう調整 */
    .summary-table td {
        line-height: 1.6;
    }

    .summary-title span {
        font-size: 12px;
    }

    .brand-logo-jeep {
        width: 120px;
        height: auto;
    }

    .brand-logo-peugeot {
        width: 70px;
        height: auto;
    }

    /*会社紹介*/
    .group-text {
        font-size: 18px !important;
    }

    .btn-group-link {
        display: inline-flex;
        align-items: center;
        gap: 15px;
        padding: 15px 20px;
        border: 1px solid #fff;
        border-radius: 10px;
        color: #fff !important;
        font-size: 18px;
        font-weight: bold;
        text-decoration: none;
        transition: all 0.3s ease;
        background: rgba(255, 255, 255, 0.1);
    }

    .company-outline-section .summary-title {
        font-size: 24px !important; 
        margin-bottom: 10px !important;
    }

    /* アイコンのサイズもバランスを見て調整 */
    .company-outline-section .sirius_icon {
        width: 30px !important; 
    }

    .company-intro-detail .company_infomation {
        min-height: 350px !important; /* スマホで見やすい高さに調整 */
        padding: 60px 20px !important; /* 上下の余白を少し詰める */
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
        margin-top: 30px;
    }

    /*  背景画像のスマホ切り替え */
    .company-bg-pc {
        display: none !important;
    }
    .company-bg-sp {
        display: block !important;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        z-index: 1;
    }

    /* ロゴのサイズ調整（画面いっぱいに広がらないよう制限） */
    .company-logo-img {
        width: 180px !important;
        margin: 0 auto 25px !important; /* ロゴ下の余白*/
    }

    /*テキストの調整（ロゴの下に配置され、中央に揃う） */
    .company-text-box p {
        font-size: 14px !important; 
        line-height: 1.6 !important;
        padding: 0 !important; 
        width: 100%;
        color: #fff !important;
        text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.8) !important;
    }

    /* テーブルを上下並びにする設定 */
    .company-outline-table tr {
        display: flex;
        flex-direction: column; /* 上下並びにする */
        padding: 15px 0;
        border-bottom: 1px solid #bab8b8 !important;
    }

    .company-outline-table th, 
    .company-outline-table td {
        display: block; 
        width: 100% !important;
        text-align: center !important;
        padding: 0 !important;
        border-bottom: none !important; 
    }

    .company-outline-table th {
        font-size: 14px;
        margin-bottom: 5px; 
        color: #333;
    }

    .company-outline-table td {
        font-size: 15px;
        color: #666;
    }

    /*******************************/
    /* お問い合わせフォームセクション */
    /*******************************/
    .contact-intro {
        font-size: 14px;
        padding: 0 10px;
    }
    
    .sirius-form {
        padding: 0 10px;
    }

/*下部ページのcss*/
    .logo-jeep {
        height: 40px;
    }
    .company-name {
        font-size: 8px;
    }

    .jeep-section-title {
        font-size: 2rem !important;
    }

    .jeep-topics-title-wrap {
        margin-top: 40px;
    }
    .jeep-section-subtitle {
        font-size: 11px;
    }

    .jeep-topics-header {
        padding: 0 0;
    }

    .jeep-lead-text {
        font-size: 1rem;
        margin-top: 15px;
        display: inline-block;
        text-align: center;
        max-width: 90%;
    }
    .btn-header-contact {
        font-size: 9px;
        padding: 5px 8px;
    }

    .jeep-topics-header::before {
        height: 120px; 
        width: 180vw; 
        left: -10px;  
        background-size: cover;
    }

    .jeep-topics-title-wrap {
        margin-top: 40px;  
    }

    .jeep-section-title {
        font-size: 24px;
        padding: 0 10px;
    }

    /* リード文との間隔 */
    .jeep-lead-text {
        margin-top: 25px;
        font-size: 1rem;
    }

    .jeep-topics{
        padding: 40px 0 40px;
        overflow: hidden;
    }
    
    .lineup-inner {
        max-width: 400px;
        width: 100%;
        margin: 0 auto;
        padding: 20px 30px;
    }

    .jeep-lineup {
        background-image: url('../img/jeep_lineup_480.jpg'); 
        min-height: 200px; 
        background-position: center;
        margin-top: 0; 
    }

    .lineup-box {
        padding: 30px 15px; 
    }

    .lineup-title {
        font-size: 24px; 
    }

    .lineup-subtitle {
        font-size: 13px;
        margin-bottom: 25px;
    }
    .special-list {
        grid-template-columns: 1fr;
    }
    .card-image-wrap {
        margin: 10px 0 0 0; 
    }
    .special-lead-area { flex-direction: column; gap: 20px; }
    .label-yellow { font-size: 14px; }

/* タイトル全体のレイアウトを調整 */
    .summary-title {
        display: flex;
        flex-direction: column; 
        align-items: flex-start; 
        gap: 5px; 
    }

    /* アイコンと英語テキストを横並び維持の設定 */
    .summary-title {
        position: relative;
        padding-left: 45px; 
    }

    .summary-title .sirius_icon {
        position: absolute;
        left: 0;
        top: 5px; 
    }

    /* 日本語部分を独立した行にする */
    .summary-title span, 
    .summary-title .title-sub-jp {
        display: block; 
        margin-left: 0; 
        font-size: 12px; 
        color: #888; 
    }
    .btn-contact-flat {
        font-size: 16px;
        height: 60px;
    }

/*認定中古車セクション*/

    .approved-section-title {
        font-size: 2rem;
        font-family: "neue-haas-grotesk-display","Open Sans", sans-serif;
        font-weight: 700;
        color: #000;
        margin: 0;
    }

    .dealer-names {
        font-size: 10px;
        line-height: 1.6;
        margin: 0;
        white-space: nowrap;
    }

    .jeep-footer-visual-group {
        background-attachment: scroll !important;
        padding-top: 40px;
    }

    .store-grid {
        grid-template-columns: 1fr; /* 完全1列 */
        gap: 10px;
    }

    .store-lead {
        margin: 20px 0 30px;
        font-size: 16px;
        padding: 0 20px;
    }

    .store-card {
        height: 350px; 
    }

    .store-name {
        font-size: 18px; /* 文字を少し小さく */
        margin-bottom: 15px;
    }

    .footer-visual-area {
        padding: 60px 20px; 
        background: transparent !important; 
    }

    .jeep-store-info {
        background-color: #000 !important; 
    }

    .footer-message {
        font-size: 16px; 
        line-height: 2;
    }

    .store-section-title{
        font-size: 2rem;
    }

    .page-link {
        width: 35px;
        height: 35px;
        font-size: 12px;
    }

    .jeepnews-page main {
        padding-top: 100px;
    }

    .jeep-news-archive::after {
        height: 250px; /* スマホではタイヤ痕を小さくする */
    }

   /*モデルラインナップ*/ 

    .model-group-title {
        font-size: 26px !important;
    }
    .model-grid {
        grid-template-columns: 1fr !important;
        gap: 40px;
    }

    /*jeep特選車ページ*/

    .page-specially-lead .special-lead-area {
        flex-direction: column;
        gap: 10px;
        margin-bottom: 20px;
    }

    .page-specially-lead .special-lead-text {
        font-size: 16px;
    }

}


/*追記*/


/* For modern browsers */
.cf:before,
.cf:after { content:""; display:table; }
.cf:after { clear:both; }

/* For IE 6/7 (trigger hasLayout) */
.cf { zoom:1; overflow: hidden; }

/*ニュース詳細*/




.page-category-name{
    font-weight: bold;
    display: block;
    font-size: 24px;
    color: #000;
    border-bottom: 2px solid #000;
    padding-bottom: 3px;
    display: table;
    margin: 0 auto;
    margin-bottom: 40px;
    text-align: center;
}




.news-single-wrap{
    max-width: 1200px;
    margin: 0 auto;
    color: #000;
    margin-bottom: 60px;

}


.category-wrap span{
    display: inline-block;
  background-color: #fff;
  font-size: 11px;
  padding: 2px 8px;
  border: 1px solid #454545;
  color: #454545;
  border-radius: 3px;
  line-height: 1.2;
  white-space: nowrap;
  margin-right: 10px;
  margin-bottom: 10px;
}

.category-wrap {
    margin-bottom: 10px;

}






.news-left{
    float: left;
    width: 70%;
}

.news-right{
    float: right;
    width: 25%;
}


.date{
    font-size: 14px;
    display: block;
    margin-bottom: 0px;

}


.news-left h3{
    font-size: 26px;
    border-bottom: 1px solid #ccc;
    padding-bottom: 10px;
    margin-bottom: 30px;
    line-height: 1.6;
}


.single-content p{
    font-size: 16px;
    margin-bottom: 30px;
    line-height: 1.8;
}

.single-content div{
    font-size: 16px;
    margin-bottom: 30px;
    line-height: 1.8;
}


.single-content span{
    font-size: 16px;
    margin-bottom: 30px;
    line-height: 1.8;
}

.single-content a{
    text-decoration: underline !important;

}



.single-content img{
    max-width: 100%;
    width: auto;
}

.video-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 25px;
    height: 0;
    margin-bottom: 30px;
}

.video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}




.nav-below{
    padding-top: 80px;
    display: table;
    margin:0 auto;
    font-size: 16px;

}

.nav-below span{
padding: 0 10px; 
}


.nav-below a{
    color: #000;

}


.nav-below a:hover{
 
    text-decoration: underline !important;
}

#categories-2{
    margin-bottom: 20px;

}


/*ウィジェット*/

.widget-title{
    font-size: 16px;
    background: #000;

    padding: 10px;
    font-weight: bold;
    color: #fff;



}

#recent-posts-3 li a,
#archives-3 li a,
#categories-3 li a,
#custom-post-type-recent-posts-4 li a,
#custom-post-type-categories-3  li a{
    border-bottom:1px dotted #999;
    padding: 20px 10px;
    display: block;
    text-decoration: none;
    color: #000;
}

#recent-posts-3 li a{
     font-size: 14px;
}




#recent-posts-3 li:hover,
#archives-3 li:hover,
#categories-3 li:hover,
#custom-post-type-recent-posts-4 li:hover,
#custom-post-type-categories-4 li:hover{
    background: #f5f5f5;
    color: #333;
}

#recent-posts-3,
#calendar-2,
#archives-3,
#categories-3,
#custom-post-type-recent-posts-4,
#custom-post-type-categories-4{
margin-bottom: 30px;

    list-style: none;
}




#recent-posts-3  li:last-child a,
#calendar-2  li:last-child a,
#archives-3  li:last-child a,
#categories-3  li:last-child a,
#custom-post-type-recent-posts-4  li:last-child a,
#custom-post-type-categories-4 li:last-child a{
    border-bottom:none !important;
    margin-bottom: 30px;
}


.cat-item a{
    padding: 10px;
    color: #000;
    display: block;
    border-bottom: 1px dotted #ccc;
}




#recent-posts-2 li a{
    padding: 10px;
    color: #000;
      display: block;  
    border-bottom: 1px dotted #ccc;
}


#recent-posts-2 li:last-child a{
    border-bottom: none;

}

li.cat-item:last-child a{
    border-bottom: none;

}


.num-txt-wrap{
    text-align: center;
    margin-bottom: 30px;
    display: block;
    color: #000;

}

.price-sold{
    color: #000;
    font-size: 20px;
    margin-top: 15px;
    text-align: center;
    font-weight: bold;
}

.price-ask{
    color: #000;
    font-size: 20px;
    margin-top: 15px;
    text-align: center;
      font-weight: bold;
}




.wpcf7-submit:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}


.car-none{
    margin-bottom: 40px;
    text-align: center;
    color: #000;

}



.img-container02 {
    position: relative;
    margin: 0;
}

.img-container02:before {
    padding-top: 66.66%;
    display: block;
    content: "";
}


.img-container-inner02 {
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}



.model-card {
  text-align: center;
  width: auto !important;
  min-width: 0;
}


.model-name{
word-break: break-word;
overflow-wrap: anywhere;
}

.model-price{
    word-break: break-word;
overflow-wrap: anywhere;
}






.pagination-area .page-item.active .page-link{
    background-color: #000 !important;
    color: #fff !important;

}



.intro-text p{
    margin-bottom: 20px;
    font-size: 15px;
    line-height: 1.4;

}


.iframe-wrap{
    background: ccc;
    padding: 40px 0px;
}

.youtube-wrap {
  position: relative;
  width: 100%;
  padding-top:56.25%;
}

.youtube-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


.block-center{
    display: table;
    margin: 0 auto;

}



.datepicker {
  width: 100%;
  padding: 10px;
  font-size: 16px;
  box-sizing: border-box;
}

.datepicker {
  width: 100%;
  padding: 10px 40px 10px 12px; /* 右に余白 */
  font-size: 16px;
  box-sizing: border-box;
  background: #fff url('../img/calender.png') no-repeat right 12px center;
  background-size: 20px;
}



.modelpage-contact-banner-wrap{
display: table;
margin: 0 auto;
padding: 0 20px;
}

.modelpage-contact-banner{
max-width: 1400px;
background: #000;
padding: 20px 60px;
margin-top: 40px;

}

.modelpage-contact-banner dl dt{
    font-size: 34px;
    color: #fff;
    text-align: center;
    margin-bottom: 10px;
    font-weight: bold;

}

.modelpage-contact-banner dl dd{
    font-size: 22px;
        color: #fff;
    text-align: center;
        margin-bottom: 20px;
            font-weight: bold;
}

  .modelpage-contact-banner a{
    background: #fff;
    color: #000;
    font-size: 18px;
    display: table;
    padding: 15px 40px;
    border-radius: 50px;
    text-align: center;
        font-weight: bold;
        margin: 0 auto;
        border: 1px solid #fff;

}

  .modelpage-contact-banner a:hover{
    background: #000;
    color: #fff;
        border: 1px solid #fff;

}





@media (max-width: 768px) {

input[type="date"] {
  display: block;
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  font-size: 16px;
  color: #000;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
  opacity: 1;
}

input[type="date"]::-webkit-date-and-time-value {
  text-align: left;
}


input[type="date"]::-webkit-datetime-edit {
  color: #000;
}




.block-center{
    display: table;
    text-align: left;

}



.form-grid-narrow input[type="date"]{
max-width:60% !important;
}



.news-left{
    float: none;
    width: 100%;
    margin-bottom: 40px;
}

.news-right{
    float: none;
    width: 100%;
}


.page-category-name{
    font-weight: bold;
    display: block;
    font-size: 18px;
    color: #000;
    border-bottom: 2px solid #000;
    padding-bottom: 3px;
    display: table;
    margin: 0 auto;
    margin-bottom: 40px;
    text-align: center;
}


.intro-text p{
    font-size: 14px;
    line-height: 1.4;

}

.modelpage-contact-banner{

padding: 20px 20px;


}
.modelpage-contact-banner dl dt{
    font-size: 26px;


}

.modelpage-contact-banner dl dd{
    font-size: 18px;

}

  .modelpage-contact-banner a{
    font-size: 15px;

}


}


.satei01-tag{
    display: block;
    margin-bottom: 5px;

}

.text-center{
    text-align: center;

}