@charset "utf-8";


/*Font Awesomeの読み込み
---------------------------------------------------------------------------*/
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css");


/*Google Fontsの読み込み
---------------------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=MonteCarlo&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&display=swap');


/*テンプレート専用cssファイルの読み込み
---------------------------------------------------------------------------*/
@import url("slide.css");
@import url("inview.css");


/*CSSカスタムプロパティ（サイト全体を一括管理する為の設定）
---------------------------------------------------------------------------*/
:root {
	--base-color: #fff;					/*テンプレートの土台となる色（主に背景カラー）*/
	--base-inverse-color: #323232;		/*上のbase-colorの対となる色（主にテキストカラー）*/

	--primary-color: #fcda53;			/*テンプレートのメインまたはアクセントカラー*/
	--primary-inverse-color: #323232;	/*上のprimary-colorの対となる色*/

	--space-large: 8vw;			/*主に余白の一括管理用。画面幅100%＝100vwです。*/
}


/*fadeInのキーフレーム設定（汎用的）
---------------------------------------------------------------------------*/
@keyframes fadeIn {
	0% {opacity: 0;}
	100% {opacity: 1;}
}


/*fadeOutのキーフレーム設定（汎用的）
---------------------------------------------------------------------------*/
@keyframes fadeOut {
	0% {opacity: 1;}
	100% {opacity: 0;visibility: hidden;}
}


/*全体の設定
---------------------------------------------------------------------------*/

body * {
    box-sizing: border-box;
}

html, body {
    font-size: 13px; /* 基準となるフォントサイズ */
    height: 100%;
}

/* 画面幅1200px以上の追加指定 */
@media screen and (min-width: 1200px) {
    html, body {
        font-size: 14px;
    }
}

/* 画面幅1600px以上の追加指定 */
@media screen and (min-width: 1600px) {
    html, body {
        font-size: 16px; /* 1vwを削除し、固定値に変更しました */
    }


	}/*追加指定ここまで*/


body {
	margin: 0;padding:0;
	font-family: "Noto Sans JP", "Hiragino Mincho Pro", "ヒラギノ明朝 Pro W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;	/*フォント種類*/
	font-optical-sizing: auto;
	font-weight: 500;
	-webkit-text-size-adjust: none;
	background: var(--base-color);		/*varは背景色のことで冒頭のbase-colorを読み込みます。*/
	color: var(--base-inverse-color);	/*文字色。冒頭で指定しているbase-inverse-colorを読み込みます。*/
	line-height: 2;		/*行間*/
}

/*リセット他*/
figure {margin: 0;}
dd {margin: 0;}
nav ul {list-style: none;}
nav,ul,li,ol {margin: 0;padding: 0;}
section li {margin-left: 1rem;}

/*table全般の設定*/
table {border-collapse:collapse;}

/*画像全般の設定*/
img {border: none;max-width: 100%;height: auto;vertical-align: middle;}

/*videoタグ*/
video {max-width: 100%;}

/*iframeタグ*/
iframe {width: 100%;}

/*input*/
input {font-size: 1rem;}

/*section*/
/*section*/
section {
	overflow-x: hidden;
	padding: 0;	/* ← ★ココを 0 に変更して大元の余白を完全に無くす！ */
}


/*リンクテキスト全般の設定
---------------------------------------------------------------------------*/
a {
	color: inherit;
	transition: 0.3s;	/*hoverまでにかける時間。0.3秒。*/
}

/*マウスオン時*/
a:hover {
	text-decoration: none;	/*下線を消す*/
	opacity: 0.9;			/*色を90%だけ出す*/
}


/*loading（ローディング）
---------------------------------------------------------------------------*/
@keyframes progress {
	0% {transform: scaleX(0);}
	100% {transform: scaleX(1);}
}

/*ロゴ画像*/
#logo {
	margin: 0;
	padding: 0;
	padding-left: 3vw;	/* PC時のロゴの左側に空ける余白 */
}
#logo img {
	display: block;
	width: 150px;	/* PC時のロゴの基本幅 */
}

/* ▼▼ スマホ時（767px以下）の「強制ど真ん中」設定 ▼▼ */
@media screen and (max-width: 767px) {
	#logo {
		/* padding-leftをゼロにして、絶対配置で真ん中に固定！ */
		padding-left: 0 !important;
		position: absolute !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
		z-index: 10 !important;
	}
	#logo img {
		width: 180px !important; /* ← ★スマホ時のロゴサイズはココ！ */
		margin: 0 auto !important;
	}
}

/*画面幅700px以上の追加指定*/
@media screen and (min-width:700px) {
	/*ロゴ画像*/
	#logo img {
		width: 200px;	/* PC大画面時のロゴの幅 */
	}
}/*追加指定ここまで*/



/*ローディングブロック*/
#loading {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--primary-color);	/*背景色*/
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    animation: fadeOut 1s ease 2s forwards;
}

/*プログレスバーの土台*/
.progress-container {
    width: 200px;		/*幅。お好みで。*/
    height: 4px;		/*高さ。お好みで。*/
    border-radius: 2px;	/*角をほんの少し丸くする*/
    background: #fff;	/*バーのベースカラー*/
    overflow: hidden;
}

/*プログレスバー*/
.progress-bar {
    width: 100%;
    height: 100%;
    background: #000;	/*進行中のバーの色*/
    animation: progress 2s linear;  /*#loadingのanimation時間に合わせて2秒に設定*/
    transform-origin: left;
}


/*container（サイト全体を囲むボックス）
---------------------------------------------------------------------------*/
#container {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;

}


/*header（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	position: absolute;z-index: 100;
	left: 0px;
	top: 0px;
	width: 100%;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 60px;	/*ヘッダーの高さ*/
	background: #fff;	/*背景色*/
	box-shadow: 0px 0px 50px rgba(0,0,0,0.1);	/*ボックスの影。右へ、下へ、ぼかし幅。0,0,0は黒のことで0.1は色が10%出た状態。*/
}

	/*画面幅700px以上の追加指定*/
	@media screen and (min-width:700px) {

	header {
		height: 90px;	/*ヘッダーの高さ*/
	}

	}/*追加指定ここまで*/

/*ロゴ画像*/
#logo img {
	display: block;
	width: 150px;	/*ロゴの幅*/
}
#logo {
	margin: 0;padding: 0;
	padding-left: 3vw;	/*ロゴの左側に空ける余白*/
}

	/*画面幅700px以上の追加指定*/
	@media screen and (min-width:700px) {

	/*ロゴ画像*/
	#logo img {
		width: 200px;	/*ロゴの幅*/
	}

	}/*追加指定ここまで*/


/*ヘッダー内メニュー
---------------------------------------------------------------------------*/
/*900px未満では非表示*/
header nav ul {display: none;}

	/*画面幅900px以上の追加指定*/
	@media screen and (min-width:900px) {
		
	/*メニューブロック全体の設定*/
	header > nav > ul {
		margin-right: 100px;	/*ハンバーガーアイコンに重ならないように余白*/
		display: flex;			/*横並びにする*/
	}

	/*メニュー１個あたりの設定*/
	header nav li a {
		display: block;text-decoration: none;
		font-size: 0.9rem;		/*文字サイズ90%*/
		padding: 0.5rem 1rem;	/*メニュー内の余白。上下、左右へ。*/
	}
	
	/*ドロップダウンメニュー冒頭の矢印アイコン*/
	header nav i {
		padding-right: 0.5rem;	/*右に空ける余白*/
	}

	}/*追加設定ここまで*/


/*ヘッダー内メニュー、開閉メニュー、共通のドロップダウン設定
---------------------------------------------------------------------------*/
header nav ul ul,
.small-screen #menubar ul ul {
	animation: fadeIn 0.5s 0.1s both;	/*0.1秒待機後、0.5秒かけてフェードイン表示*/
}


/*ヘッダー内メニューのドロップダウン
---------------------------------------------------------------------------*/
/*ドロップダウンメニューブロック全体*/
header nav ul ul {
	position: absolute;z-index: 100;
	margin-left: 1rem;
}

/*メニュー１個あたりの設定*/
header nav ul ul a {
	padding: 0.3em 1em;					/*上下、左右へのメニュー内の余白*/
	margin-top: 4px;					/*上に空けるスペース。ドロップダウン同士の隙間。*/
	background: var(--base-color);		/*背景色。冒頭のbase-colorを読み込みます。*/
	color: var(--base-inverse-color);	/*文字色。冒頭のbase-inverse-colorを読み込みます。*/
	border: 1px solid var(--base-inverse-color);	/*枠線の幅、線種、varは色の指定で冒頭のbase-inverse-colorを読み込みます。*/
	border-radius: 3px;					/*角を少し丸くする指定*/
}


/*メニューブロック初期設定
---------------------------------------------------------------------------*/
/*メニューをデフォルトで非表示*/
#menubar {display: none;}
#menubar ul {list-style: none;margin: 0;padding: 0;}
#menubar a {display: block;text-decoration: none;}

/*上で非表示にしたメニューを表示させる為の設定*/
.large-screen #menubar {display: block;}
.small-screen #menubar.display-block {display: block;}

/*3本バーをデフォルトで非表示*/
#menubar_hdr.display-none {display: none;}

/*ドロップダウンをデフォルトで非表示*/
.ddmenu_parent ul {display: none;}

/*ddmenuを指定しているメニューに矢印アイコンをつける設定*/
a.ddmenu::before {
	font-family: "Font Awesome 6 Free";	/*Font Awesomeを使う指示*/
	content: "\f078";		/*使いたいアイコン名（Font Awesome）をここで指定*/
	font-weight: bold;		/*この手の設定がないとアイコンが出ない場合があります*/
	margin-right: 0.5em;	/*アイコンとテキストとの間に空けるスペース*/
}

/*メニューブロック内のロゴ画像の幅*/
#menubar .logo {
	width: 200px;
}


/*開閉メニュー
---------------------------------------------------------------------------*/
/*animation1のキーフレーム設定*/
@keyframes animation1 {
	0% {right: -100vw;}
	100% {right: 0px;}
}

/*メニューブロック設定*/
.small-screen #menubar.display-block {
	position: fixed;overflow: auto;z-index: 100;
	right: 0px;top: 0px;
	width: 100%;
	height: 100%;
	padding: 90px 10vw 50px;				/*ブロック内の余白。上、左右、下への順番。*/
	background: var(--primary-color);		/*背景色。冒頭のprimary-colorを読み込みます。*/
	color: var(--primary-inverse-color);	/*文字色。冒頭のprimary-inverse-colorを読み込みます。*/
	animation: animation1 0.2s both;		/*animation1を実行する。0.2sは0.2秒の事。*/
}

/*メニュー１個あたりの設定*/
.small-screen #menubar li {
	margin: 1rem 0;			/*メニューの外側に空けるスペース。上下、左右への順番。*/
}
.small-screen #menubar a {
	border-radius: 5px;		/*角を丸くする指定*/
	padding: 1rem 2rem;		/*メニュー内の余白。上下、左右へ。*/
	background: var(--base-inverse-color);		/*背景色。冒頭のbase-inverse-colorを読み込みます。*/
	color: var(--base-color);					/*背景色。冒頭のbase-colorを読み込みます。*/
}

/*子メニュー*/
.small-screen #menubar ul ul a {
	background: var(--base-color);		/*背景色。冒頭のbase-colorを読み込みます。*/
	color: var(--base-inverse-color);	/*文字色。冒頭のbase-inverse-colorを読み込みます。*/
	border: 1px solid var(--base-inverse-color);	/*枠線の幅、線種、varは色の指定で冒頭のbase-inverse-colorを読み込みます。*/
	margin-left: 2rem;	/*左に空けるスペース*/
}


/*３本バー（ハンバーガー）アイコン設定
---------------------------------------------------------------------------*/
/*３本バーを囲むブロック*/
#menubar_hdr {
	animation: fadeIn 0s 0.2s both;
	position: fixed;z-index: 101;
	cursor: pointer;
	right: 0px;				/*右からの配置場所指定*/
	top: 0px;				/*上からの配置場所指定*/
	padding: 20px 15px;		/*上下、左右への余白*/
	width: 60px;			/*幅（３本バーが出ている場合の幅になります）*/
	height: 60px;			/*高さ*/
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	transform-origin: right top;
	background: var(--base-inverse-color);	/*背景色。冒頭のbase-inverse-colorを読み込みます。*/
	border-radius: 0px 0px 0px 10px;		/*角を丸くする指定。左上、右上、右下、左下への順番。*/
}

	/*画面700px以上の追加指定*/
	@media screen and (min-width:700px) {

	#menubar_hdr {
		transform: scale(1.5);	/*1.5倍のサイズに。お好みで。*/
	}

	}/*追加指定ここまで*/


/*バー１本あたりの設定*/
#menubar_hdr span {
	display: block;
	transition: 0.3s;	/*アニメーションにかける時間。0.3秒。*/
	border-top: 1.5px solid var(--base-color);	/*線の幅、線種、varは色のことで冒頭のbase-colorを読み込みます。*/
}

/*×印が出ている状態の3本バーの背景色*/
#menubar_hdr.ham {
	background: #ff0000;
}

/*×印が出ている状態の設定。※１本目および２本目のバーの共通設定。*/
#menubar_hdr.ham span:nth-of-type(1),
#menubar_hdr.ham span:nth-of-type(3) {
	transform-origin: center center;	/*変形の起点。センターに。*/
}

/*×印が出ている状態の設定。※１本目のバー。*/
#menubar_hdr.ham span:nth-of-type(1){
	transform: rotate(45deg) translate(6px, 5.8px);	/*回転45°と、X軸Y軸への移動距離の指定*/
}

/*×印が出ている状態の設定。※３本目のバー。*/
#menubar_hdr.ham span:nth-of-type(3){
	transform: rotate(-45deg) translate(7px, -7px);	/*回転-45°と、X軸Y軸への移動距離の指定*/
}

/*×印が出ている状態の設定。※２本目のバー。*/
#menubar_hdr.ham span:nth-of-type(2){
	display: none;	/*２本目は使わないので非表示にする*/
}

/* ======================================================
   メイン画像セクション（最終・安定版）
   ====================================================== */

/* ========================================================
   サイト全体の共通設定（Webpによるレイアウト崩れ防止）
======================================================== */
picture {
  display: contents !important;
}

/* --- 1. アニメーション定義（全共通） --- */
@keyframes carRun { 0% { left: 110%; } 100% { left: -400px; } }
@keyframes carJump { 0%, 40%, 100% { margin-bottom: 0; transform: rotate(0deg); } 50% { margin-bottom: 15px; transform: rotate(-3deg); } 60% { margin-bottom: 0; transform: rotate(2deg); } }
@keyframes bgFade { 0%, 40% { opacity: 1; } 50%, 90% { opacity: 0; } 100% { opacity: 1; } }
@keyframes textFade { 0%, 40% { opacity: 1; visibility: visible; } 50%, 90% { opacity: 0; visibility: hidden; } 100% { opacity: 1; visibility: visible; } }
@keyframes markerRun { 0% { background-size: 0% 100%; } 100% { background-size: 100% 100%; } }

/* --- 2. 基本構造（ガタつき・はみ出し防止） --- */
#mainimg {
    width: 100%;
    position: relative;
    overflow: hidden; /* 車のはみ出しを確実に隠す */
    background-color: var(--base-color);
    box-sizing: border-box;
    z-index: 1;
}

#mainimg .text {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important;
    font-weight: 900 !important;
    color: #ffffff !important;
    text-shadow: 0 0 10px rgba(0,0,0,1.0), 0 0 20px rgba(0,0,0,0.8), 0 0 30px rgba(0,0,0,0.6) !important;
}

/* ------------------------------------------------------
   3. スマートフォン用 (～599px)
------------------------------------------------------ */
@media screen and (max-width: 599px) {
    #mainimg {
        /* ★ 画像の高さを 168% に調整（少し狭めつつ下切れ防止） */
        padding-top: 168%; 
        margin-top: 65px;  /* ヘッダー高さに合わせて微調整 */
        
        /* ▼ 隙間対策：背景を1px上にずらして密着（WebP対応版！） ▼ */
        background: url("../images/mainimg_sh_sp1.png") no-repeat center -1px / cover; /* 古いスマホ用 */
        background: image-set(
            url("../images/mainimg_sh_sp1.webp") type("image/webp"),
            url("../images/mainimg_sh_sp1.png") type("image/png")
        ) no-repeat center -1px / cover; /* 最新スマホ用 */
        
        position: relative;
        overflow: hidden;
        box-sizing: border-box;
    }
    
    #mainimg::before {
        content: ""; position: absolute; 
        top: -1px; left: 0; width: 100%; height: 101%; z-index: 1;
        
        /* ▼ フェード用背景画像（WebP対応版！） ▼ */
        background: url("../images/mainimg_sh_sp1.jpg") no-repeat center top / cover; /* 古いスマホ用 */
        background: image-set(
            url("../images/mainimg_sh_sp1.webp") type("image/webp"),
            url("../images/mainimg_sh_sp1.png") type("image/png")
        ) no-repeat center top / cover; /* 最新スマホ用 */
        
        animation: bgFade 15s ease-in-out infinite;
    }
    
    #mainimg::after {
        content: ""; position: absolute; bottom: 0; left: 100%; 
        
        /* ▼ 車のサイズ（ご指定の幅300pxに合わせた高さ93px） ▼ */
        width: 300px;  
        height: 93px; 
        
        /* ▼ 走る車（WebP対応版！） ▼ */
        background: url("../images/car.png") no-repeat center bottom / contain; /* 古いスマホ用 */
        background: image-set(
            url("../images/car.webp") type("image/webp"),
            url("../images/car.png") type("image/png")
        ) no-repeat center bottom / contain; /* 最新スマホ用 */
        
        z-index: 10;
        animation: carRun 12s linear infinite, carJump 1.5s ease-in-out infinite;
    }
    
    #mainimg > div {
        position: absolute; z-index: 3; 
        /* ★ 画像を狭めた分、テキスト開始位置を少し上に（80px → 60px） */
        top: 60px; 
        left: 0; width: 100%;
        display: flex; flex-direction: column; align-items: center;
    }
    
    #mainimg .text {
        animation: textFade 15s ease-in-out 1s infinite;
        font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important;
        font-size: 28px; 
        font-weight: 900 !important; 
        line-height: 1.4; 
        text-align: center; 
        color: #ffffff !important; 
        text-shadow: 
            0 0 10px rgba(0,0,0,1.0), 
            0 0 20px rgba(0,0,0,0.8), 
            0 0 30px rgba(0,0,0,0.6) !important;
        margin-bottom: 10px;
    }
    
    #mainimg .btn { display: none; }
    
    .moving-line {
        display: inline-block; position: relative; padding: 0 5px; font-weight: 900;
        background: linear-gradient(transparent 60%, rgba(255, 235, 59, 0.8) 60%) no-repeat;
        background-size: 0% 100%; 
        animation: markerRun 1.5s ease-out forwards; 
        animation-delay: 2.5s;
    }
}


/* ------------------------------------------------------
   4. PC・タブレット用 (600px～)
   ------------------------------------------------------ */
@media screen and (min-width: 600px) {
    #mainimg {
        padding-top: 55%; 
        margin-top: 70px; /* ここの数値を小さく（マイナスに近づける）と全体が上に動きます */
        
        /* 1. 古いブラウザ用（JPGのフォールバック） */
        background: url("../images/mainimg_sh_2.png") no-repeat center top / cover;
        /* 2. WebP対応ブラウザ用 */
        background: image-set(
            url("../images/mainimg_sh_2.webp") type("image/webp"),
            url("../images/mainimg_sh_2.png") type("image/png")
        ) no-repeat center top / cover;
    }

    #mainimg::before {
        content: ""; 
        position: absolute; 
        top: 0; /* 開始位置 */
        left: 0; 
        width: 100%; 
        height: 100%; /* 高さの指定（topとheightでサイズを決定） */
        z-index: 1;
        
        /* 1. 古いブラウザ用（JPGのフォールバック） */
        background: url("../images/mainimg_sh_1.png") no-repeat center top / cover;
        /* 2. WebP対応ブラウザ用 */
        background: image-set(
            url("../images/mainimg_sh_1.webp") type("image/webp"),
            url("../images/mainimg_sh_1.png") type("image/png")
        ) no-repeat center top / cover;
        
        animation: bgFade 15s ease-in-out infinite;
    }

    #mainimg::after {
        content: ""; 
        position: absolute; 
        top: 100%; /* 開始位置を親要素の一番下に設定 */
        
        /* ▼ ココを大きくする！（例：1.5倍くらいに大きくしました） ▼ */
        width: 500px;  /* ← 車の横幅（元は 350px） */
        height: 250px; /* ← 車の高さ（元は 180px） */
        
        /* ★【超重要】必ず height と同じ数値をマイナスで入れる！★ */
        margin-top: -250px; /* ← heightが250pxなら、ここも -250px にする！ */
        
        left: 100%; 
        z-index: 10;
        
        /* 画像の読み込み（万が一WebPが無い時でも絶対にpngが出るように設定） */
        background: url("../images/car.png") no-repeat center bottom / contain;
        background: image-set(
            url("../images/car.webp") type("image/webp"),
            url("../images/car.png") type("image/png")
        ) no-repeat center bottom / contain;
        
        /* アニメーションの速度（8s を 10s などにするとゆっくり走ります） */
        animation: carRun 10s linear infinite, carJump 1.5s ease-in-out infinite;
    }

    #mainimg > div {
        position: absolute; z-index: 3; top: 55%; left: 6%; transform: translateY(-50%);
        display: flex; flex-direction: column; align-items: flex-start;
    }
    #mainimg .text {
        animation: textFade 15s ease-in-out 1s infinite;
        font-size: 3.0vw; text-align: left; line-height: 1.4; margin-top: 40px;
    }
    
    /* ▼▼▼ メイン画像内ボタン（オリジナルカラー ＋ フワッとアクション） ▼▼▼ */
    #mainimg .btn { display: flex; gap: 15px; margin-top: -15px; }
    
    #mainimg .btn a {
        text-decoration: none; display: flex; align-items: center; justify-content: center;
        padding: 1.0rem 2.1rem; font-size: 1.0vw; min-width: 160px; border-radius: 6px;
        font-weight: 900; box-sizing: border-box;
        
        /* ?? 色は個別に指定するため、共通のベース影と動きだけ設定 */
        box-shadow: 0 5px 15px rgba(0,0,0,0.3); 
        transition: all 0.3s ease;
    }

    /* アイコンの微調整（右に少し隙間を作ってバランス良く） */
    #mainimg .btn a i {
        margin-right: 8px;
        font-size: 1.2vw;
    }

    /* 1番目：メール（イエロー ＋ 黒文字） */
    #mainimg .btn p:nth-of-type(1) a { 
        background: #ffeb3b; 
        color: #000000; 
    }
    #mainimg .btn p:nth-of-type(1) a:hover { 
        background: #fbc02d; /* マウスホバーで少し濃いイエローに */
        transform: translateY(-3px); 
        box-shadow: 0 8px 20px rgba(0,0,0,0.4); 
    }

    /* 2番目：お電話（オレンジ ＋ 白文字） */
    #mainimg .btn p:nth-of-type(2) a { 
        background: #ff9800; 
        color: #ffffff; 
        text-shadow: 0 1px 2px rgba(0,0,0,0.3); /* 白文字をくっきり */
    }
    #mainimg .btn p:nth-of-type(2) a:hover { 
        background: #f57c00; 
        transform: translateY(-3px); 
        box-shadow: 0 8px 20px rgba(0,0,0,0.4); 
    }

    /* 3番目：LINE（グリーン ＋ 白文字） */
    #mainimg .btn .line-btn a { 
        background: #06C755; 
        color: #ffffff; 
        text-shadow: 0 1px 2px rgba(0,0,0,0.3); 
    }
    #mainimg .btn .line-btn a:hover { 
        background: #05a044; 
        transform: translateY(-3px); 
        box-shadow: 0 8px 20px rgba(0,0,0,0.4); 
    }
    /* ▲▲▲ ボタンデザインここまで ▲▲▲ */

    .moving-line {
        background: linear-gradient(transparent 45%, rgba(255, 152, 0, 0.7) 45%) no-repeat;
        padding: 0 10px; animation: markerRun 1.5s ease-out forwards; animation-delay: 2.5s;
    }
} /* ← ★ @media screen and (min-width: 600px) の正しい閉じカッコ ★ */

/* ======================================================
   5. PC大画面用 (1025px～)
====================================================== */
@media screen and (min-width: 1025px) {
    #mainimg { padding-top: 45%; background-position: center center; }
    #mainimg::before { background-position: center center; }
}


/*main（メインコンテンツ）
---------------------------------------------------------------------------*/
main {
	flex: 1 0 auto;
	overflow-x: hidden;
}

/*h2見出し（共通）*/
main h2 {
	margin: 0;padding: 0;
	font-size: 1.4rem;		/*文字サイズ。240%。*/
	font-weight: 800;		/*太字に*/
	margin-bottom: 5vw;		/*下にスペースを空ける*/
	display: flex;
	flex-direction: column-reverse;
	letter-spacing: 0.1em;	/*文字間隔を少しだけ広く*/
	position: relative;
}

	/*画面700px以上の追加指定*/
	@media screen and (min-width:700px) {
	main h2 {
		font-size: 2.4rem;		/*文字サイズ。240%。*/
	}
	}/*追加指定ここまで*/


/*テキストをセンタリングする場合*/
main h2.c {
	align-items: center;
}

/*h2内のspan（小文字）*/
main h2 span {
	font-size: 0.85rem;	/*文字サイズ85%*/
	opacity: 0.5;		/*透明度。色を50%だけ出す。*/
	font-weight: normal;	/*太字ではなく標準にする*/
}

/*h2内のimg画像*/
h2 img {
	width: 100px;	/*画像の幅*/
	transform: rotate(-10deg);	/*左に10度傾ける*/
	position: absolute;
	left: -10px;	/*左からの配置場所*/
	top: -40px;	/*上からの配置場所*/
}

	/*画面700px以上の追加指定*/
	@media screen and (min-width:700px) {
	h2 img {
		width: 140px;	/*画像の幅*/
		left: 40px;		/*左からの配置場所*/
	}
	}/*追加指定ここまで*/

/* --- 3. スマートフォン用 (599px以下) --- */
@media screen and (max-width: 599px) {
    /* 1. ボックスの間隔：ご指定の 74px を維持 */
    .list-grid1 .list:nth-of-type(1) {
        margin-bottom: 0 !important;
    }
    .list-grid1 .list:nth-of-type(2) {
        margin-top: 74px !important; 
        margin-bottom: 200px !important; 
        position: relative !important;
    }

    /* 2. 03番目の位置を安定させる */
    .list-grid1 .list:nth-of-type(3) {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    /* 3. 03と04の間隔：74px を維持 */
    .list-grid1 .list:nth-of-type(4) {
        margin-top: 74px !important; 
        position: relative !important;
    }

    /* 4. 矢印の位置：【さらに引き上げ】 */
    .list-grid1 .list:nth-of-type(2)::before,
    .list-grid1 .list:nth-of-type(4)::before {
        content: "≫" !important;
        position: absolute !important;
        
        /* ★ topを -100px から -125px に大幅アップ。
           これで上のボックスにガッツリと深く被ります */
        top: -125px !important; 
        
        left: 50% !important;
        display: block !important;
        transform: translateX(-50%) rotate(90deg) scale(1.5, 1.2) !important;
        color: #ff9800 !important;
        font-size: 60px !important; 
        font-weight: 900 !important;
        letter-spacing: -5px !important;
        animation: finalArrowSP 2.5s infinite ease-in-out !important;
        z-index: 100 !important;
    }
}

/*フッター
---------------------------------------------------------------------------*/
footer {
	background: var(--primary-color);		/*背景色。冒頭のprimary-colorを読み込みます。*/
	color: var(--primary-inverse-color);	/*文字色。冒頭のprimary-inverse-colorを読み込みます。*/
	padding: 2rem;	/*フッター内の余白。2文字分。*/
	display: flex;
	flex-direction: column-reverse;
}

/*フッター直下の1つ目ブロック（ロゴやSNSアイコンが入ったブロック）*/
footer div:nth-of-type(1) {
    text-align: center;
}

/*フッター直下の２つ目ブロック（メニューブロック）*/
footer div:nth-of-type(2) {
    flex: 1;
    display: flex;
    gap: 2rem;	/*このブロック内の直下のブロック同士に空ける余白。４文字分。*/
}


	/*画面700px以上の追加指定*/
	@media screen and (min-width:700px) {

	footer {
		flex-direction: row;
		gap: 4rem;		/*フッター内の直下のブロック同士に空ける余白。４文字分。*/
		padding: 4rem;	/*フッター内の余白。４文字分。*/
	}

	/*フッター直下の1つ目ブロック（ロゴやSNSアイコンが入ったブロック）*/
	footer div:nth-of-type(1) {
		text-align: left;
		width: 30%;	/*幅*/
	}

	/*フッター直下の２つ目ブロック（メニューブロック）*/
	footer div:nth-of-type(2) {
		justify-content: flex-end;	/*ブロックを右に寄せる。この行を削除すれば、ロゴ画像の方によります。*/
		gap: 4rem;	/*このブロック内の直下のブロック同士に空ける余白。４文字分。*/
	}

	}/*追加指定ここまで*/


footer ul {
	margin: 0;padding: 0;list-style: none;
	margin-bottom: 2rem;
}


/*Copyright部分*/
footer small {
	display: block;
	padding-top: 2rem;	/*SNSアイコンとコピーライトの間の余白調整*/
}


/*フッター内にあるソーシャルメディアのアイコン
---------------------------------------------------------------------------*/
.icons {
	list-style: none;
	margin: 0;padding: 0;
	display: flex;
	justify-content: center;
	gap: 1rem;	/*アイコン同士のマージン的な要素。１文字分。*/
}

	/*画面700px以上の追加指定*/
	@media screen and (min-width:700px) {
	
	.icons {
		justify-content: flex-start;
	}

	}/*追加指定ここまで*/

.icons i {
	font-size: 30px;	/*アイコンサイズ*/
}



---------------------------------------------------------------------------*/
.pr a {
	text-decoration: none;
	display: block;
	background: rgba(0,0,0,0.9);
	text-align: right;
	padding: 0.5rem 1rem;
	color: #ccc;
}
.pr a::before {
	font-family: "Font Awesome 6 Free";
	content: "\e2ca";
	font-weight: bold;
	margin-right: 0.5em;
}


/*c2（２カラムレイアウト用）
---------------------------------------------------------------------------*/

	/*画面幅700px以上の追加指定*/
	@media screen and (min-width:700px) {

	.c2 {
		display: flex;
		gap: 2rem;
	}

	/*左側のタイトルブロックの幅*/
	.c2 .title {
		width: 30%;
	}

	/*右側のテキストブロック*/
	.c2 .text {
		flex: 1;
	}

	}/*追加指定ここまで*/


/*FAQ
---------------------------------------------------------------------------*/

	/*画面幅700px以上の追加指定*/
	@media screen and (min-width:700px) {

	.faq {
		font-size: 1.2rem;	/*文字サイズを120%*/
	}

	}/*追加指定ここまで*/

/*質問*/
.faq dt {
	display: flex;
	align-items: flex-start;
	border-radius: 3px;		/*角を少しだけ丸く*/
	margin-bottom: 1rem;	/*下に空けるスペース。質問ブロック同士の余白です。*/
	background: var(--base-color);		/*背景色。冒頭のbase-colorを読み込みます。*/
	color: var(--base-inverse-color);	/*文字色。冒頭のbase-inverse-colorを読み込みます。*/
	padding: 1rem;	/*ブロック内の余白。１文字分。*/
}

/*「Q」アイコン*/
.faq dt::before {
	font-family: "Font Awesome 6 Free";
	content: "\51";	/*アイコン画像の指定*/
	margin-right: 0.5rem;	/*右側に空けるスペース*/
	background: var(--primary-inverse-color);	/*背景色。冒頭のprimary-inverse-colorを読み込みます。*/
	color: var(--primary-color);				/*文字色。冒頭のprimary-colorを読み込みます。*/
	border-radius: 50%;	/*角を丸くする*/
	width: 30px;		/*幅*/
	line-height: 30px;	/*高さ*/
	text-align: center;
	flex-shrink: 0;
	margin-top: 0.2em;	/*微調整*/
}

/*回答*/
.faq dd {
	padding: 0 1rem 1rem 3.7rem;	/*ボックス内の余白。上、右、下、左への順番。*/
}

/*opencloseを適用した要素のカーソル*/
.openclose {
	cursor: pointer;	/*カーソルの形状。リンクと同じスタイルにしてクリックできると認識してもらう。*/
}


/*お知らせブロック
---------------------------------------------------------------------------*/
/*記事の下に空ける余白*/
.new dd {
	padding-bottom: 1rem;
}

/*ブロック内のspan。日付の横のアイコン的な部分の共通設定*/
.new dt span {
	display: inline-block;
	text-align: center;
	line-height: 1.8;		/*行間（アイコンの高さ）*/
	border-radius: 2px;		/*角を丸くする指定*/
	padding: 0 1rem;		/*上下、左右へのブロック内の余白*/
	width: 8rem;			/*幅。8文字分。*/
	transform: scale(0.85);	/*85%のサイズに縮小*/
	border: 1px solid #777;	/*枠線の幅、線種、色*/
}

/*icon-bg1。サンプルテンプレートでは「重要」と書いてあるマーク*/
.new .icon-bg1 {
	border-color: transparent;	/*枠線を透明に*/
	background: #cd0000;		/*背景色*/
	color: #fff;				/*文字色*/
}

/*icon-bg2。サンプルテンプレートでは「サービス」と書いてあるマーク*/
.new .icon-bg2 {
	border-color: transparent;				/*枠線を透明に*/
	background: var(--primary-color);		/*背景色。冒頭のprimary-colorを読み込みます。*/
	color: var(--primary-inverse-color);	/*文字色。冒頭のprimary-inverse-colorを読み込みます。*/
}

	/*画面幅700px以上の追加指定*/
	@media screen and (min-width:700px) {

	/*ブロック全体*/
	.new {
		display: grid;	/*gridを使う指定*/
		grid-template-columns: auto 1fr;	/*横並びの指定。日付とアイコン部分の幅は自動で、内容が入るブロックは残り幅一杯とる。*/
	}

	}/*追加指定ここまで*/


/*サムネイルスライドショー
---------------------------------------------------------------------------*/
/*画像たちを囲むブロック*/
.slide-thumbnail1 .img {
	display: flex;
}

/*画像*/
.slide-thumbnail1 .img img {
	padding: 5px;	/*画像の余白*/
}

/*右から左へ、左から右へ、のアニメーション*/
.slide-thumbnail1 .rtl, .slide-thumbnail1 .ltr {
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}
.slide-thumbnail1 .rtl {animation-name: slide-rtl;}
.slide-thumbnail1 .ltr {animation-name: slide-ltr;}

@keyframes slide-rtl {
0% {transform: translateX(0);}
100% {transform: translateX(-50%);}
}

@keyframes slide-ltr {
0% {transform: translateX(-50%);}
100% {transform: translateX(0);}
}


/*テキストスライド
---------------------------------------------------------------------------*/
.text-slide-wrapper {
	overflow-x: hidden;
	margin-top: calc(-1 * (1.6 * var(--space-large)));	/*本来の位置より上にずらす。ずらしたくなければこの１行を削除。*/
}

.text-slide {
	font-family: "Jost", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	display: flex;
	white-space: nowrap;
    font-size: 15vw;	/*文字サイズ*/
	opacity: 0.05;		/*透明度。色が5%出た状態。*/
}

.text-slide span {
	padding: 0 20px;
}


/*btn1（ボタン）
---------------------------------------------------------------------------*/
.btn1 a {
	text-shadow: none;display: block;text-decoration: none;
	background: var(--primary-color);		/*背景色。冒頭のprimary-colorを読み込みます。*/
	color: var(--primary-inverse-color);	/*文字色。冒頭のprimary-inverse-colorを読み込みます。*/
	font-size: 1.4rem;		/*文字サイズ。140%に。*/
	padding: 0.5rem 2rem;	/*ボタン内の余白。上下、左右へ。*/
	border-radius: 100px;	/*角を丸くする*/
	text-align: center;		/*テキストをセンタリング*/
}

/*bg-primary-colorの上で使う場合*/
.bg-primary-color .btn1 a {
	background: var(--primary-inverse-color);		/*背景色。冒頭のprimary-inverse-colorを読み込みます。*/
	color: var(--primary-color);	/*文字色。冒頭のprimary-colorを読み込みます。*/
}

/*マウスオン時*/
.btn1 a:hover {
	opacity: 1;
	transform: scale(1.05);	/*105%に拡大*/
	background: var(--primary-inverse-color);	/*背景色。冒頭のprimary-inverse-colorを読み込みます。*/
	color: var(--primary-color);				/*文字色。冒頭のprimary-colorを読み込みます。*/
}

/*bg-primary-colorの上で使う場合*/
.bg-primary-color .btn1 a:hover {
	background: #fff;	/*背景色*/
	color: #333;		/*文字色*/
}

/*矢印アイコン*/
.btn1 a::after {
	font-family: "Font Awesome 6 Free";	/*Font Awesomeを使う指示*/
	content: "\f0a9";		/*使いたいアイコン名（Font Awesome）をここで指定*/
	font-weight: bold;		/*この手の設定がないとアイコンが出ない場合があります*/
	margin-left: 0.5em;		/*アイコンとテキストとの間に空けるスペース*/
}


/*bg-primary-color
---------------------------------------------------------------------------*/
.bg-primary-color {
	background: var(--primary-color);		/*背景色。冒頭のprimary-colorを読み込みます。*/
	color: var(--primary-inverse-color);	/*文字色。冒頭のprimary-inverse-colorを読み込みます。*/
}


/*bg1
---------------------------------------------------------------------------*/
.bg1 {
	background-color: var(--base-inverse-color);	/*背景色。冒頭のbase-inverse-colorを読み込みます。*/
	color: var(--base-color);	/*文字色。冒頭のbase-colorを読み込みます。*/
}


/*bg2
---------------------------------------------------------------------------*/
.bg2 {
	background: #f3f3e9;	/*背景色*/
}


/*bg3
---------------------------------------------------------------------------*/
.bg3 {
	background: #fff;	/*背景色*/
}


/*パターン背景
---------------------------------------------------------------------------*/
/*bg-pattern1*/
.bg-pattern1 {
	background-image: url("../images/bg_pattern1.png");	/*背景パターンの読み込み*/
	background-repeat: repeat;
	background-position: center top;
	background-size: 10px;	/*サイズ*/
}

/*bg-pattern2*/
.bg-pattern2 {
	background-image: url("../images/bg_pattern2.png");	/*背景パターンの読み込み*/
	background-repeat: repeat;
	background-position: center top;
	background-size: 10px;	/*サイズ*/
}

/*bg-pattern3*/
.bg-pattern3 {
	background-image: url("../images/bg_pattern3.png");	/*背景パターンの読み込み*/
	background-repeat: repeat;
	background-position: center top;
	background-size: 10px;	/*サイズ*/
}


/*ボックス下部を三角形（▼）にする場合。三角形の高さ自体はmask-imageのd=の中にある２つの「95」という数値で変更できます。小さいほど角度が大きくなります。
---------------------------------------------------------------------------*/
.arrow {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M0,0 L100,0 L100,95 L50,100 L0,95 Z' fill='%23000000'/%3E%3C/svg%3E");
    mask-size: 100% 100%;
    mask-repeat: no-repeat;
}

	/*画面幅700px以上の追加指定*/
	@media screen and (min-width:700px) {

	/*三角形の高さの再設定。95を90に変更しています。*/
	.arrow {
		mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M0,0 L100,0 L100,90 L50,100 L0,90 Z' fill='%23000000'/%3E%3C/svg%3E");
		padding-bottom: 150px;
	}
	

	}/*追加指定ここまで*/


/*背景色が切れているのが見えないように微調整*/
.arrow + section {
	padding-top: calc(var(--space-large) + 150px);
	margin-top: -150px;
}


/*list-grid-simple（制作実績ブロック）
---------------------------------------------------------------------------*/
.list-grid-simple .list * {margin: 0;padding: 0;}

/*listブロック全体を囲むブロック*/
.list-grid-simple {
    display: grid;
    grid-template-columns: repeat(2, 1fr);	/*2列にする指定。4列にしたければrepeat(4, 1fr)とする。*/
    gap: 3rem;	/*ブロックの間に空けるマージン的な指定*/
}

/*ボックス１個あたり*/
.list-grid-simple .list {
    display: grid;
	position: relative;
}

/*h4見出し*/
.list-grid-simple .list h4 {
	margin-top: 0.5rem;		/*上に0.5文字分のスペースを空ける*/
	font-weight: normal;	/*太さを標準に*/
}

	/*画面幅800px以上の追加指定*/
	@media screen and (min-width:800px) {

	/*listブロック全体を囲むブロック*/
	.list-grid-simple {
		grid-template-columns: repeat(3, 1fr);	/*3列にする指定。4列にしたければrepeat(4, 1fr)とする。*/
	}

	}/*追加指定ここまで*/


/*---------------------------------------------------------------------------
  list-grid1（スマホ・タブレット：見出しと本文を密着調整版）
---------------------------------------------------------------------------*/
.list-grid1 .list * {margin: 0;padding: 0;}

.list-grid1 {
	margin-top: 150px;
	display: grid;
	grid-template-columns: 1fr;
	gap: 120px 4vw;
	width: 100%;
	max-width: 1300px;
	margin-left: auto;
	margin-right: auto;
}

/* タブレット・PC（600px以上） */
@media screen and (min-width:600px) {
	.list-grid1 {
		margin-top: 180px;
		grid-template-columns: repeat(2, 1fr);
		gap: 150px 20px;
		width: 96vw !important; 
		margin-left: calc(50% - 48vw) !important; 
	}
}

/* PC（1000px以上） */
@media screen and (min-width:1000px) {
	.list-grid1 {
		margin-top: 220px;
		gap: 180px 40px;
		width: 100% !important; 
		margin-left: auto !important;
	}
}

/* ボックス1個あたり */
.list-grid1 .list {
	display: flex;
	flex-direction: column;
	position: relative;
	border-radius: 12px;
	background: #fff;
	color: #333;
	box-shadow: 0 5px 25px rgba(0,0,0,0.08); 
	padding: 160px 1.5rem 2.5rem; 
}

@media screen and (min-width:600px) {
	.list-grid1 .list {
		padding: 240px 2.5rem 3.5rem; 
	}
}

@media screen and (min-width:1000px) {
	.list-grid1 .list {
		padding: 310px 4rem 4rem; 
	}
}

/* ★★★ アイコン画像設定 ★★★ */
.list-grid1 .list figure.icon {
	margin: 0 auto;
	width: 280px;        
	margin-top: -100px;   
	position: absolute;
	top: 0; left: 50%;
	transform: translateX(-50%);
	z-index: 2;
}

@media screen and (min-width:600px) {
	.list-grid1 .list figure.icon {
		width: 360px;    
		margin-top: -120px; 
	}
}

@media screen and (min-width:1000px) {
	.list-grid1 .list figure.icon {
		width: 400px;    
		margin-top: -140px;
	}
}

/* ② 見出し（h4） */
.list-grid1 .list h4 {
	font-size: 1.45rem; 
	line-height: 1.4;
	/* ★ 【スマホ】1.5rem → 0.6rem に短縮（pとの隙間） */
	margin-bottom: 0.6rem; 
	margin-top: 4.5rem; 
	text-align: center;
	font-weight: bold;
	position: relative;
	z-index: 3;
}

@media screen and (min-width:600px) {
	.list-grid1 .list h4 {
		font-size: 1.6rem; 
		/* ★ 【タブレット】1.5rem → 0.8rem に短縮（pとの隙間） */
		margin-bottom: 0.8rem;
		margin-top: 2.5rem; 
	}
}

@media screen and (min-width:1000px) {
	.list-grid1 .list h4 {
		font-size: 1.9rem; 
		/* ★ 【PC】隙間はゆったり(1.5rem)のまま維持 */
		margin-bottom: 1.5rem;
		margin-top: 0.5rem; 
	}
}

/* ③ 本文（p） */
.list-grid1 .list p {
	font-size: 1.05rem;
	line-height: 1.8;
}

@media screen and (min-width:800px) {
	.list-grid1 .list p {
		font-size: 1.25rem;
	}
}


/* 追加指定ここまで */


/* --- 修正版：マウスオン用のアニメーション（隙間対策済み） --- */

/* 親要素：ここに基準点(relative)と、はみ出し禁止(hidden)を追加 */
.list-c2 .list {
	position: relative;
	overflow: hidden;
	z-index: 1;
}

/* 黒い膜：親要素の中に固定されるようになります */
.list-c2 .list::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.6);
	z-index: 2; /* 文字より下、背景より上に */
	transition: transform 0.3s 0.1s;
	pointer-events: none; /* 下のボタンやリンクをクリックできるように */
}

/* マウスオンで枠外（下）へスライド */
.list-c2 .list:hover::before {
	transform: translateY(100%);
}

/* 中のテキストや画像が黒い膜に消されないように調整 */
.list-c2 .list figure,
.list-c2 .list h4,
.list-c2 .list .text {
	position: relative;
	z-index: 3;
}

/*背景画像が少しずつ上に移動する
---------------------------------------------------------------------------*/
/*ブロック全体*/
.bg-slideup {
	margin-left: calc(-1 * var(--space-large));
	margin-right: calc(-1 * var(--space-large));
}

section > .bg-slideup:first-child {
	margin-top: calc(-1 * var(--space-large));
}

/*画像ボックス*/
.bg-slideup .image {
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	padding: 10vw 20px;	/*上下、左右へのボックス内の余白。画面幅100% = 100vwです。*/
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 3rem;		/*英語テキストと日本語テキストの間のスペース。３文字分。*/
	color: #fff;	/*文字色*/
}

/* 英語テキスト */
.en-text {
	writing-mode: horizontal-tb;
	font-size: 0.8rem;	/*文字サイズ80%*/
}

/* 日本語テキスト */
.jp-text {
	writing-mode: vertical-rl;
	text-orientation: upright;
}

/*制作実績ブロックの画像指定*/
#products .bg-slideup .image {
	background-image: url("../images/bg_works.jpg");	/*背景画像の指定*/
}

/*会社概要ブロックの画像指定*/
#company .bg-slideup .image {
	background-image: url("../images/bg_company.jpg");	/*背景画像の指定*/
}


/*list-normal1（「お客様の声」「制作の流れ」ブロックで使用）
---------------------------------------------------------------------------*/
.list-normal1 * {margin: 0;padding: 0;}

	/*画面幅600px以上の追加指定*/
	@media screen and (min-width:600px) {

	/*テキストブロック*/
	.list-normal1 .text {
		flex: 1;
	}
	
	/*画像とテキストの左右を入れ替えたい場合（600px以上のみ使用可能）*/
	.reverse {
		flex-direction: row-reverse;
		background-position: left bottom !important;
	}
	
	}/*追加指定ここまで*/


/*ブロック１個あたり*/
.list-normal1 .list {
	background: var(--base-color) url("../images/bg-dot.png") no-repeat right bottom / 200px;
	color: var(--base-inverse-color);	/*文字色。冒頭のbase-inverse-colorを読み込みます。*/
	padding: 3rem;
	margin-bottom: 2rem;
	box-shadow: 3px 3px 10px rgba(0,0,0,0.1);
	position: relative;
}

	/*画面幅600px以上の追加指定*/
	@media screen and (min-width:600px) {

	/*ブロック１個あたり*/
	.list-normal1 .list {
		display: flex;
		gap: 2rem;	/*画像とテキストの間のスペース。２文字分。画像がない場合はこれは適用されません。*/
	}
	
	}/*追加指定ここまで*/


/*画像ブロック*/
.list-normal1 figure {
	width: 30%;	/*幅*/
	margin-bottom: 1rem;	/*下に空けるスペース*/
}

	/*画面幅600px以上の追加指定*/
	@media screen and (min-width:600px) {

	/*画像の下マージンのリセット*/
	.list-normal1 figure {
		margin-bottom: 0;
	}

	}/*追加指定ここまで*/


/*h4見出し*/
.list-normal1 h4 {
	font-size: 1.2rem;	/*文字サイズ200%*/
	line-height: 1.5;	/*行間*/
	margin-bottom: 1rem;	/*下に空けるスペース*/
}

	/*画面幅600px以上の追加指定*/
	@media screen and (min-width:600px) {

	.list-normal1 h4 {
		font-size: 2rem;	/*文字サイズ200%*/
		line-height: 1.8;	/*行間*/
	}

	}/*追加指定ここまで*/


/*h4内にアイコンを配置した場合（制作の流れの見出し左のアイコン）*/
.list-normal1.flow h4 i {
	margin-right: 1rem;	/*アイコンとテキストとの間の余白*/
}

/*名前*/
.list-normal1 .name {
	text-align: right;	/*右寄せ*/
	margin-top: 1rem;	/*上に空けるスペース*/
}

/*制作の流れで使用しているブロック間の「▼」の矢印*/
.list-normal1.flow .list::after {
	content: "▼";	/*このテキストを出力します*/
	position: absolute;
	left: 50%;		/*左からの配置場所。厳密ではありませんが、文字が小さいので問題ないかと。*/
	bottom: -2rem;	/*下からの配置場所。マイナスがつくので本来の場所とは逆向きに移動。*/
	transform: scaleX(1.5);	/*横幅を150%に*/
	opacity: 0.5;			/*透明度。色が50%出た状態。*/
}

/*最後のボックスだけ下矢印を出さない*/
.list-normal1.flow .list:last-child::after {
	content: none;
}


/*テーブル（ta1）
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/
.ta1 caption {
	font-weight: bold;		/*太字に*/
	padding: 0.5rem 1rem;	/*ボックス内の余白*/
	background: var(--base-inverse-color);	/*背景色*/
	color: var(--base-color);				/*文字色*/
	margin-bottom: 1rem;	/*下に空けるスペース*/
	border-radius: 5px;		/*角を丸くする指定*/
}

/*ta1テーブルブロック設定*/
.ta1 {
	table-layout: fixed;
	width: 100%;				/*幅*/
	border-top: 1px solid #ccc;	/*テーブルの一番上の線。幅、線種、色*/
	margin-bottom: 2rem;		/*テーブルの下に空けるスペース。２文字分。*/
}
/*tr（１行分）タグ設定*/
.ta1 tr {
	border-bottom: 1px solid #ccc;	/*テーブルの下線。幅、線種、色*/
}

/*th（左側）、td（右側）の共通設定*/
.ta1 td, .ta1 th {
	word-break: break-all;
	background: var(--base-color);		/*背景色。冒頭のbase-colorを読み込みます。*/
	color: var(--base-inverse-color);	/*文字色。冒頭のbase-inverse-colorを読み込みます。*/
	text-align: left;	/*左よせにする*/
	padding: 0.5rem;	/*余白*/
}

/*th（左側）のみの設定*/
.ta1 th {
	width: 25%;			/*幅*/
	text-align: center;	/*テキストをセンタリング*/
}


/*テーブル（プラン）　※基本的な設定は上のta1で設定
---------------------------------------------------------------------------*/
.ta1.plan, .ta1.plan td, .ta1.plan th {
	text-align: center;
	border: 2px solid var(--base-inverse-color);	/*テーブルの枠線の幅、線種、varは色のことで冒頭のbase-inverse-colorを読み込みます*/
	padding: 0.5rem;
}

	/*画面幅801px以上の追加指定*/
	@media screen and (min-width:801px) {

	.ta1.plan, .ta1.plan td, .ta1.plan th {
		font-size: 1.2rem;
		padding: 2rem 1rem;
	}

	}/*追加指定ここまで*/


/*一番左側の縦列の幅*/
.ta1.plan th:first-child,
.ta1.plan td:first-child {
    width: 12rem;	/*目安としては約12文字分。*/
}

/*１行目のプランブロック*/
.ta1.plan th {
	width: auto;
	position: relative;
	overflow: hidden;
}

/*１行目のプランブロック内の「おすすめ」表示*/
.ta1.plan th .osusume {
	position: absolute;
	left: 0px;
	top: 0px;
	background: #ff0000;	/*背景色*/
	color: #fff;			/*文字色*/
	font-size: 0.8rem;		/*文字サイズ80%*/
	width: 120px;
	text-align: center;
	padding-top: 43px;
	padding-bottom: 2px;
	transform: rotate(-45deg) translate(-18px, -60px);
}

/*１行目のプランブロック内のアイコン（王冠マーク）*/
.ta1.plan th i {
	display: block;
	font-size: 1.4rem;	/*サイズ*/
}

/* 左から2つ目の「エコノミープラン」の見出し（th）に背景色を設定 */
.ta1.plan th:nth-child(2) {
	background: #fffcda;
}
/* 左から2つ目の「エコノミープラン」の列（td）に背景色を設定 */
.ta1.plan td:nth-child(2) {
	background: #fffcda;
}

/* 左から３つ目の「スタンダードプラン」の見出し（th）に背景色を設定 */
.ta1.plan th:nth-child(3) {
	background: var(--primary-color);		/*背景色。冒頭のprimary-colorを読み込みます。*/
	color: var(--primary-inverse-color);	/*文字色。冒頭のprimary-inverse-colorを読み込みます。*/
}
/* 左から３つ目の「スタンダードプラン」の列（td）に背景色を設定 */
.ta1.plan td:nth-child(3) {
	background: var(--primary-color);		/*背景色。冒頭のprimary-colorを読み込みます。*/
	color: var(--primary-inverse-color);	/*文字色。冒頭のprimary-inverse-colorを読み込みます。*/
}

/* 左から４つ目の「プレミアムプラン」の見出し（th）に背景色を設定 */
.ta1.plan th:nth-child(4) {
	background: #fffcda;
}
/* 左から４つ目の「プレミアムプラン」の列（td）に背景色を設定 */
.ta1.plan td:nth-child(4) {
	background: #fffcda;
}

/*１行目の金額*/
.plan th > span {
	display: block;
	font-size: 1.6rem;	/*文字サイズを160%*/
	font-family: "Oswald", sans-serif;	/*フォント指定*/
	font-optical-sizing: auto;
	font-weight: 700;	/*太さ。200?900まで指定できます。数値が大きいほど太くなる。*/
}

	/*画面幅801px以上の追加指定*/
	@media screen and (min-width:801px) {

	/*１行目の金額*/
	.plan th > span {
		font-size: 2.4rem;	/*文字サイズを240%*/
	}

	}/*追加指定ここまで*/


	/*画面幅800px以下の追加指定*/
	@media screen and (max-width:800px) {

	.scroll .ta1.plan {width: 700px;}
	.scroll {overflow-x: auto;}

	}/*追加指定ここまで*/


/*調整用スタイル
---------------------------------------------------------------------------*/
.padding0 {
	padding: 0 !important;
}
.padding-lr0 {
	padding-left: 0 !important;
	padding-right: 0 !important;
}


/*マニュアルページ用
---------------------------------------------------------------------------*/
#manual #container {
	all: unset;
}
.manual {
	background: #fff;
	color: #333;
	padding: 5vw;
}
.manual .look {background: #eee;}
.manual h2 {
	margin-top: 2rem;
	font-size: 2rem;
	text-align: center;
}
.manual h3 {
	line-height: 3;
	margin-top: 2rem;
}
.manual h3 span {
	background: linear-gradient(transparent 60%, yellow);
}
.manual h3 + p {margin-top: -0.5rem;}
.manual.margin-left {padding-left: 300px;}

	/*画面幅999px以下の追加指定*/
	@media screen and (max-width:999px) {

	.manual.margin-left {padding-left: 4vw;}

	}/*画面幅900px以上の追加指定ここまで*/


/*その他
---------------------------------------------------------------------------*/
.clearfix::after {content: "";display: block;clear: both;}
.color-check, .color-check a {color: #ff0000 !important;}
.l {text-align: left !important;}
.c {text-align: center !important;}
.r {text-align: right !important;}
.ws {width: 95%;display: block;}
.wl {width: 95%;display: block;}
.mb0 {margin-bottom: 0px !important;}
.mb30 {margin-bottom: 30px !important;}
.mb-space-large {margin-bottom: var(--space-large) !important;}
.look {line-height: 1.5 !important; display: inline-block;padding: 5px 10px;background: rgba(0,0,0,0.1);border: 1px solid rgba(0,0,0,0.3);border-radius: 3px;margin: 5px 0; word-break: break-all;}
.small {font-size: 0.75em;}
.large {font-size: 2em; letter-spacing: 0.1em;}
.pc {display: none;}
.dn {display: none !important;}
.block {display: block !important;}
.inline-block {display: inline-block !important;}
.relative {position: relative;}
.marker {background: linear-gradient(transparent 50%, yellow);}
pre {white-space: pre-wrap;word-wrap: break-word;overflow-wrap: break-word;}

	/*画面幅900px以上の追加指定*/
	@media screen and (min-width:900px) {

	.ws {width: 48%;display: inline;}
	.sh {display: none;}
	.pc {display: block;}

	}

/* --- 1. アニメーション定義 --- */

/* PC用：左から右にゆったり流れる */
@keyframes finalArrowPC {
  0%   { opacity: 0; margin-left: -50px; }
  50%  { opacity: 1; }
  100% { opacity: 0; margin-left: 0px; }
}

/* スマホ用：【位置固定・スムーズ版】
   理想の位置(-150px)から開始し、100px分のストロークで滑らかに流します */
@keyframes finalArrowSP {
  0%   { 
    opacity: 0; 
    transform: translateX(-50%) rotate(90deg) scale(1.5, 1.2);
    margin-top: -150px; /* 開始位置（一番上） */
  }
  50%  { 
    opacity: 1; 
    margin-top: -100px; /* 中間地点（ふわっと通過） */
  }
  100% { 
    opacity: 0; 
    transform: translateX(-50%) rotate(90deg) scale(1.5, 1.2);
    margin-top: -50px;  /* 終了位置（一番下） */
  }
}

/* --- 2. PC・タブレット用 (600px以上) --- */
@media screen and (min-width: 600px) {
  .list-grid1 .list:nth-of-type(2)::before,
  .list-grid1 .list:nth-of-type(4)::before {
    content: "≫" !important;
    position: absolute !important;
    left: -8% !important; 
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #ff9800 !important;
    font-size: 100px !important; 
    font-weight: 900 !important;
    letter-spacing: -8px !important; 
    animation: finalArrowPC 2.5s infinite ease-in-out !important;
    z-index: 100 !important;
    white-space: nowrap !important;
    line-height: 1 !important;
  }
}

/* ======================================================
   ★ 全デバイス対応：固定コンタクトボタン設定
   ====================================================== */

/* ======================================================
   1. スマホ用レイアウト (画面幅599px以下)
   【全幅ベタ付け ＋ 画像特大 ＋ ふわっと表示】
   ====================================================== */
@media screen and (max-width: 599px) {

  /* PC用のコンタクトタワーを隠す */
  #pc-fixed-contact {
    display: none !important;
  }

  /* ▼ スマホ固定ボトムメニューの大枠（隙間を無くして全幅にする） */
  #sp-fixed-btn {
    display: flex !important;
    position: fixed;
    bottom: -100px;      /* 初期状態は画面外のさらに下に隠す */
    opacity: 0;
    visibility: hidden;
    
    /* 左右の隙間をゼロにして画面いっぱいに広げる */
    left: 0;
    width: 100%;
    
    /* ベタ付けになるので、影（box-shadow）を上方向にしっかり出す */
    box-shadow: 0 -5px 25px rgba(0,0,0,0.4); 
    border-top: 1px solid rgba(255, 255, 255, 0.3); /* 上部にだけ薄い光の線 */
    
    height: 80px;
    z-index: 9999;
    background-color: transparent; 
    transition: bottom 0.6s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.6s ease, visibility 0.6s;
  }

  /* ▼ スクロールして「is-show」クラスが付いた時の状態 */
  #sp-fixed-btn.is-show {
    /* 下の隙間もゼロに！画面の底にピタッとくっつく */
    bottom: 0;            
    opacity: 1;
    visibility: visible;
  }

  /* ▼ スマホ固定ボトムメニューの各ボタン */
  #sp-fixed-btn a {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #ffffff;
    font-size: 11.5px;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: 0.02em;
    
    /* 文字の影を薄く、控えめに調整 */
    text-shadow: 0 1px 2px rgba(0,0,0,0.3); 
    
    text-align: center;
    box-sizing: border-box;
    padding: 0 2px;
    border-right: 1px solid rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
  }

  /* ▼ 各ボタンの背景色（※現在の3つのボタンに合わせて整理！） */
  .btn-store { background-color: rgba(55, 55, 55, 0.88); }  /* 営業カレンダー（グレー） */
  .btn-tel   { background-color: rgba(220, 53, 69, 0.88); } /* TEL相談・予約（赤） */
  .btn-line  { 
    background-color: rgba(6, 199, 85, 0.88);               /* LINE相談（緑） */ 
    position: relative; 
  }

  /* ▼ LINEボタンの上に画像を飛び出させる魔法 */
  .btn-line::before {
    content: "";
    position: absolute;
    bottom: 100%;        
    left: -30%;          
    width: 160%;        
    height: 130px;      
    background: url("../images/pc_light.png") no-repeat center bottom / contain;
    pointer-events: none; 
    filter: drop-shadow(0 -2px 6px rgba(255,255,255,0.4)); 
    z-index: 10;
  }

  /* 一番右のLINEボタンの右側の区切り線を消す */
  #sp-fixed-btn a:last-child {
    border-right: none;
  }

  /* スマホ用アイコンの微調整 */
  #sp-fixed-btn i {
    font-size: 22px;
    margin-bottom: 5px;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.5));
  }
  
  /* ▼ 「/」の左右の隙間をミリ単位で微調整する魔法 */
  #sp-fixed-btn .slash {
    margin: 0 2px; 
    font-weight: normal; 
  }
}

/* ------------------------------------------------------
   2. PC・タブレット用レイアウト (画面幅600px以上)
   【完全にお気に入りの元の状態を復元】
   ------------------------------------------------------ */
@media screen and (min-width: 600px) {
  
  /* スマホ用のボトムメニューを隠す */
  #sp-fixed-btn { 
    display: none !important; 
  }

  /* ▼ PC用コンタクトタワーの大枠（絶対に消えないように強化） */
  #pc-fixed-contact {
    display: flex !important; 
    flex-direction: column; 
    align-items: center;
    position: fixed; 
    bottom: 25px; 
    right: 8px; 
    z-index: 10000; 
    width: 112px;
  }

  /* ▼ PC用：上部のキャラクター・写真部分 */
  .contact-photo {
    width: 112px; 
    height: 160px;
    background: url("../images/pc_light.png") no-repeat center bottom / contain;
    margin-bottom: -12px; 
    z-index: 11; 
    position: relative; 
    pointer-events: none;
    filter: drop-shadow(0 0 2px rgba(255,255,255,0.4)) drop-shadow(0 0 5px rgba(255,255,255,0.2));
  }

  /* ▼ PC用：ボタンを囲む枠 */
  .contact-btns {
    display: flex; 
    flex-direction: column; 
    width: 100%; 
    border-radius: 0 0 15px 15px;
    overflow: hidden; 
    box-shadow: 0 12px 35px rgba(0,0,0,0.4); 
    z-index: 10; 
    border: 1px solid rgba(255,255,255,0.3);
  }

  /* ▼ PC用：各ボタンの共通設定 */
  #pc-fixed-contact a {
    display: flex; 
    flex-direction: column; 
    align-items: center; 
    justify-content: center;
    width: 100%; 
    height: 125px; 
    color: #fff !important; 
    text-decoration: none;
    transition: background 0.3s ease; 
    padding: 10px 5px; 
    backdrop-filter: blur(15px); 
    box-sizing: border-box;
  }

  /* ▼ PC用：営業カレンダー（旧メール）ボタンの設定 */
  .btn-mail-pc { background: rgba(45, 45, 45, 0.92); border-bottom: 1px solid rgba(255,255,255,0.1); border-top-left-radius: 0 !important; border-top-right-radius: 0 !important; }
  .btn-mail-pc:hover { background: rgba(0, 0, 0, 1) !important; }

  /* ▼ PC用：電話・店舗情報（旧仮審査）ボタンの設定 */
  .btn-judge-pc { background: rgba(255, 152, 0, 0.92); border-bottom: 1px solid rgba(255,255,255,0.1); }
  .btn-judge-pc:hover { background: rgba(230, 126, 34, 1) !important; }

  /* ▼ PC用：LINEボタンの設定 */
  .btn-line-pc { background: rgba(6, 199, 85, 0.92); }
  .btn-line-pc:hover { background: rgba(5, 160, 70, 1) !important; }

  /* ▼ PC用：アイコンとテキストのアニメーション・装飾 */
  #pc-fixed-contact a i { font-size: 28px; margin-bottom: 8px; filter: drop-shadow(0 2px 4px rgba(0,0,0,0.4)); transition: transform 0.3s ease; }
  #pc-fixed-contact a:hover i { transform: translateY(-4px); }
  #pc-fixed-contact a span { font-size: 12px; font-weight: 700; text-align: center; line-height: 1.5; letter-spacing: 0.03em; text-shadow: 1px 1px 3px rgba(0,0,0,1); }
}


/* ------------------------------------------------------
   3. 共通アニメーション
------------------------------------------------------ */
@keyframes iconAttention {
  0%, 90% { transform: scale(1); }
  95% { transform: scale(1.2) rotate(-5deg); }
  100% { transform: scale(1); }
}

/* ★復活！マーカーを引くアニメーション（PC・スマホ共通） */
@keyframes stylish-marker-draw { 
  0% { width: 0; opacity: 0; } 
  10% { opacity: 1; } 
  100% { width: 100%; opacity: 1; } 
}


/* ////////////////////////////////////////////////////////////////
   【第1ブロック】大枠と白背景（基本設定：スマホ用）
   サイトの土台となる部分です。余計な隙間をゼロにしています。
//////////////////////////////////////////////////////////////// */

/* =========================================
   FV全体の大枠（上下の隙間破壊）
========================================= */
.hero-full-wrapper {
    /* 【上下調整】マイナスで上へ、プラスで下へ */
    margin-top: 0 !important; 
    margin-bottom: 0 !important; 
    padding: 40px 0% 0px 0% !important; 
    border: none !important;
    box-sizing: border-box !important;
}

/* FV直下のセクションとの隙間を強制リセット */
.hero-full-wrapper + *, .hero-full-wrapper + section, .hero-full-wrapper + div {
    margin-top: 0 !important;
}

/* =========================================
   白背景カード統合版（はみ出し防止）
========================================= */
.hero-custom-bg {
    background-color: #ffffff !important; 
    background-image: none !important;    
    width: 100% !important;
    margin: 0 auto !important;
    
    /* スマホは画面いっぱいに広げる */
    padding: 15px 0 120px !important; 
    margin-bottom: 0 !important; 
    box-shadow: none !important; 
    border-radius: 0 !important; 
    
    position: relative !important;
    overflow: hidden !important; 
}
.hero-custom-bg > * { position: relative !important; z-index: 10 !important; }
.hero-custom-bg::before { display: none !important; }

/* スマホ用：縦一列に並べる間取り図 */
.hero-inner {kannope
    display: flex !important;
    flex-direction: column !important; 
    width: 100% !important; 
}


/* ////////////////////////////////////////////////////////////////
   【第2ブロック】ボス画像と網目背景（基本設定：スマホ用）
   「社長の画像」と「その後ろの網目背景」の配置です。
//////////////////////////////////////////////////////////////// */

/* =========================================
   ボス画像エリアの大枠
========================================= */
.hero-badges { 
    order: 1 !important; 
    /* 【上下調整】数値を小さく（マイナス）すると上に動きます */
    margin-top: 15px !important; 
    margin-bottom: 30px !important; 
    position: relative !important;
    display: block !important;
    text-align: center !important;
    top: 10px !important; 
    overflow: visible !important;
}

/* =========================================
   網目背景（スマホ版）
========================================= */
.hero-badges::after {
    content: "" !important; display: block !important; position: absolute !important; z-index: 0 !important; 
    left: 50% !important; transform: translateX(-50%) !important; 
    
    /* 横幅を画面いっぱいに広げる */
    width: 100vw !important; 
    
    /* 【サイズ指定】開始位置＋高さ（bottomは使いません！） */
    top: 7px !important; 
    height: 180px !important; 
    
    pointer-events: none !important; 
    clip-path: polygon(0% 0%, 100% 0%, 100% 85%, 50% 100%, 0% 85%) !important;
    background-color: rgba(255, 255, 255, 0.5) !important; 
    background-image: linear-gradient(rgba(0, 0, 0, 0.02) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 0, 0, 0.02) 1px, transparent 1px) !important; 
    background-size: 6px 6px !important; filter: drop-shadow(0px 10px 20px rgba(0, 0, 0, 0.08)) !important;
}

/* =========================================
   ボス画像とテキストのズレ防止
========================================= */
.boss-image {


/* ▼ココを追加！▼ PCの社長画像の大きさ（％）をココで指定！ */
      width: 90% !important; /* ← ★縮小したい場合は 80% や 70% に減らしてください！ */
      
      max-width: 600px !important; /* PC大画面での社長の最大の大きさ */
      margin: 0 auto !important; /* 中央寄せをキープ */
    position: relative !important;
    display: inline-block !important; /* 箱を画像のサイズにピッタリ合わせる */
    z-index: 1 !important;
    width: 88% !important; /* スマホでの画像の大きさ */
    margin: 0 auto 20px auto !important;
    
    /* 【上下調整】数値を小さく（マイナス）すると上に動きます */
    margin-top: -20px !important;
}
.boss-image img { width: 100% !important; height: auto !important; display: block !important; }

/* ========================================================
   ■ 「熱い情熱」でクルマ選びをサポートのスマホ・PC別々設定
======================================================== */

/* --------------------------------------------------------
   【スマホ版】（767px以下）
-------------------------------------------------------- */
@media screen and (max-width: 767px) {
  .boss-overlay-text {
      position: absolute !important; 
      /* 上下位置：小さく（マイナス）すると上に動きます */
      top: 25% !important; 
      left: 43.5% !important; 
      transform: translate(-50%, -50%) !important; 
      /* 幅：ここを調整してテキストの収まりを決定 */
      width: 115% !important; 
      z-index: 10 !important; display: block !important; 
  }
  .boss-text-single {
      white-space: nowrap !important;
      display: inline-block !important;
      position: relative !important;
      /* スマホ用サイズ */
      font-size: 3.7vw !important; 
      font-weight: 500 !important; font-family: "Helvetica Neue", Arial, sans-serif !important; color: #666666 !important;
      margin: 0 !important; letter-spacing: 0.03em !important;
      -webkit-text-stroke: 0.4px #888888 !important;
      text-shadow: 0px 4px 12px rgba(0, 0, 0, 0.25) !important; 
  }
}

/* --------------------------------------------------------
   【PC版】（768px以上）
-------------------------------------------------------- */
@media screen and (min-width: 768px) {
  .boss-overlay-text {
      position: absolute !important; 
      /* PC用の位置調整 */
      top: 26% !important; 
      left: 46% !important; 
      transform: translate(-50%, -50%) !important; 
      width: 100% !important; 
      z-index: 10 !important; display: block !important; 
  }
  .boss-text-single {
      white-space: nowrap !important;
      display: inline-block !important;
      position: relative !important;
      /* PC用サイズ：3vwで大きさを調整！ */
      font-size: 1.8vw !important; 
      font-weight: 500 !important; font-family: "Helvetica Neue", Arial, sans-serif !important; color: #666666 !important;
      margin: 0 !important; letter-spacing: 0.03em !important;
      -webkit-text-stroke: 0.7px #888888 !important;
      text-shadow: 0px 4px 12px rgba(0, 0, 0, 0.25) !important; 
  }
}

/* マーカーアニメーション */
.boss-marker { display: inline-block !important; position: relative !important; z-index: 10 !important; isolation: isolate !important; }
.boss-marker::before {
    content: "" !important; display: block !important; position: absolute !important; z-index: -1 !important; left: 2% !important; 
    
    /* ▼ ココを調整！マーカーの上下位置 ▼ */
    /* 元々は 0.3em でした。数値を小さく（0.1em や 0em、さらに下げるなら -0.1emなど）すると下に下がります！ */
    bottom: 0.2em !important; /* ← ★ココで微調整！ */
    
    height: 30% !important; background: linear-gradient(70deg, rgba(255, 51, 0, 0.5) 0%, rgba(255, 136, 0, 0.4) 100%) !important; border-radius: 4px !important; transform: skew(-15deg) !important; pointer-events: none !important; width: 0; opacity: 0; 
    animation: stylish-marker-draw 1.2s cubic-bezier(0.22, 1, 0.36, 1) forwards !important; animation-delay: 3.0s !important; 
}

/* ========================================================
   ■ 「熱い情熱で…」テキストのフォントサイズ調整（PC/スマホ独立）
======================================================== */

/* --------------------------------------------------------
   【スマホ専用】（767px以下） ※現状維持
-------------------------------------------------------- */
@media screen and (max-width: 767px) {
  .boss-marker {
    /* スマホは今のままでバッチリとのことなので、特に指定しなくてもOKですが、
       もし後で微調整したくなった時のために箱だけ用意しておきます！ */
    /* font-size: 16px !important; */ 
  }
}

/* --------------------------------------------------------
   【PC専用】（768px以上） ※文字の大きさとマーカーを調整！
-------------------------------------------------------- */
@media screen and (min-width: 768px) {
  
  /* ① 文字の大きさ調整 */
  .boss-marker {
    /* ▼ PC版のみ文字を大きくする魔法 ▼ */
    font-size: 23px !important; /* ← ★ココを 28px や 32px など好きな大きさに！ */
  }

  /* ② マーカー（蛍光ペン）の太さと位置の微調整 */
  .boss-marker::before {
    /* ▼ 【位置調整】文字の底辺からの距離 ▼ */
    /* 数値を小さく（0em や -0.1em など）すると下に下がります */
    bottom: 0.25em !important; /* ← ★PC版の「上下位置」はココ！ */
    
    /* ▼ 【太さ調整】マーカーの太さ（高さ） ▼ */
    /* 数値を大きく（40% や 50% など）すると線が太くなります */
    height: 25% !important;   /* ← ★PC版の「太さ」はココ！ */
  }
  
}

/* 月桂冠（バッジ） */
.badge-image-bottom {
    display: block !important; text-align: center !important;
    position: relative !important;
    z-index: 5 !important;
    width: 100% !important; 

margin-top: 5px !important; 
      margin-bottom: 40px !important; 
  }
  /* PC版：月桂冠（バッジ）を包む箱 ▼ココで上下の隙間を調整！▼ */
  .badge-image-bottom { 
      /* マイナスを大きくするとボス画像に近づき、プラスにすると離れます */
      margin-top: -20px !important;    /* ← ★PCの「上」の隙間調整 */
      margin-bottom: 30px !important;  /* ← ★PCの「下」の隙間調整 */
  }

/* ▼▼▼ ココを新しく追加！ PCの月桂冠の大きさ（％）▼▼▼ */
  /* PC版：月桂冠の画像本体 ▼ココで大きさを調整！▼ */
  .badge-image-bottom img { 
      width: 95% !important; /* ← ★PCの大きさ（％）はココ！ */
      max-width: 800px !important; 
      
      /* 画像本体は大きさと「中央寄せ」だけに専念させます */
      margin: 0 auto !important; 
  }

/* ▼▼▼ ココを新しく追加！ スマホの月桂冠の大きさ（％）▼▼▼ */
  /* スマホ版：月桂冠（バッジ）を包む箱 ▼ココで上下の隙間を調整！▼ */
  .badge-image-bottom { 
      display: block !important; 
      text-align: center !important; 
      position: relative !important; 
      z-index: 5 !important; 
      width: 100% !important; 
      
      /* マイナスを大きくするとボス画像に近づき、プラスにすると離れます */
      margin-top: -10px !important;   /* ← ★スマホの「上」の隙間調整 */
      margin-bottom: 35px !important; /* ← ★スマホの「下」の隙間調整 */
  }

  /* スマホ版：月桂冠の画像本体 ▼ココで大きさを調整！▼ */
  .badge-image-bottom img {
      width: 90% !important; /* ← ★スマホの大きさ（％）はココ！ */
      height: auto !important;
      
      /* 画像本体は大きさと「中央寄せ」だけに専念させます */
      margin: 0 auto !important; 
  }


/* =======================================================================================
【第3ブロック】
スマホ版：ジムニー＋3つの「安心感で愛車選びを応援！画像（LP-start）と背景の重ね合わせ設定
========================================================================================== */

/* =========================================
   キャッチフレーズ画像
========================================= */
.hero-catchphrase { order: 2 !important; position: relative !important; z-index: 10 !important; }
img.catch-img-line { margin-top: 0px !important; margin-bottom: 8px !important; }
img.catch-img-line.line-1 { width: 82% !important; margin-bottom: 22px !important; }
img.catch-img-line.line-2 { width: 53% !important; margin-bottom: 24px !important; }
img.catch-img-line.line-3 { width: 36% !important; margin-bottom: 0 !important; }

/* =========================================
   ジムニー画像
========================================= */
.hero-car { 
    order: 3 !important; position: relative !important; z-index: 5 !important; width: 65% !important; margin-left: auto !important; text-align: right !important; 
    /* 【上下調整】数値を小さく（マイナス）すると車が上に動きます */
    transform: translateY(-55px) !important; 
}
.hero-car img { width: 100% !important; transform: none !important; }

/* =========================================
   3つの安心ボックス
========================================= */
.benefits-container { 
    display: flex !important; gap: 2% !important; order: 4 !important; position: relative !important; z-index: 20 !important; 
    margin-top: 40px !important; padding: 0 8px 30px 8px !important; margin-bottom: 20px !important; 
    /* 【上下調整】数値を小さく（マイナス）すると全体が上に動きます */
    transform: translateY(-100px) !important; 
}
.benefit-box { flex: 1 1 32% !important; padding-top: 19px !important;
 padding-bottom: 8px !important; padding-left: 2px !important;
 padding-right: 2px !important; background-color: transparent !important;}

.box-red { background-color: #E55B5B !important; } 
.box-blue { background-color: #4DB8CA !important; }
.box-green { background-color: #439A46 !important; }
.benefit-title { font-size: clamp(2.0rem, 3.8vw, 3.0rem) !important;
 margin-top: 0 !important; line-height: 1.1 !important;
 margin-bottom: -4px !important;
 text-shadow: 1px 1px 2px rgba(0,0,0,0.1) !important; }
.benefit-sub { font-size: clamp(1.4rem, 2.5vw, 1.9rem) !important;
 border: 2px solid #ffffff !important; display: block !important; width: 75% !important;
 text-align: center !important; padding: 5px 0 !important; margin-left: auto !important;
 margin-right: auto !important; border-radius: 4px !important;
 text-shadow: 1px 1px 1px rgba(0,0,0,0.1) !important;
 letter-spacing: -0.02em !important; }


/* ==================================================================================================
   PC版：3層構造ジムニー＋3つの「安心感で愛車選びを応援！＋水色背景下（背景 ＞ 文字・箱 ＞ ジムニー）
=================================================================================================== */
.hero-catchphrase { 
    text-align: center !important; 
    padding-left: 0 !important; 
    position: relative !important; 
    z-index: 10 !important; 
    width: 100% !important; 
    display: flow-root !important; 
    
    /* ▼ セクション全体としての上下の隙間調整 ▼ */
    margin-top: 0px !important; 
    margin-bottom: 0px !important; /* ← ★下の要素との隙間はここで確保 */
}

/* ----------------------------------------------------
   【1層目】一番後ろ：背景（水色斜め線）の設定
---------------------------------------------------- */
.hero-catchphrase .catch-layer-back {
    position: absolute !important;
    z-index: 1 !important; /* 一番後ろ */
    
    /* 左右の位置調整（常にど真ん中） */
    left: 50% !important;
    transform: translateX(-50%) !important;
    
    /* ▼ 画像の大きさ ▼ */
    width: 119% !important; /* 画面端まで突き抜ける魔法（vw） */
    max-width: none !important;
    
    /* ▼ 上下の位置調整 ▼ */
    top: 0px !important;
    margin-top: -5.9% !important; /* ← ★マイナスで上へ、プラスで下へ動きます */
}
.hero-catchphrase .catch-layer-back img { width: 100% !important; height: auto !important; object-fit: cover !important; }


/* ----------------------------------------------------
   【2層目】真ん中：文字と3つの箱（LP-start-pc）の設定
---------------------------------------------------- */
.hero-catchphrase .catch-layer-middle {
    position: relative !important; 
    z-index: 2 !important; 
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    
    /* ▼ 画像の大きさ ▼ */
    width: 112% !important; /* ← ★ 105%から数値を増やして大きくする！ */
    
    /* ▼▼▼ ココが原因でした！ストッパーの上限を解放します ▼▼▼ */
    max-width: none !important; /* ← ★ 950px から none（制限なし）に変更！ */

    /* ▼ 左右の位置調整 ▼ */
    left: 50% !important;
    transform: translateX(-50%) !important; /* ← ★プラスの数値で右へ、マイナスで左へ動きます！ */
    
    /* ▼ 上下の位置調整 ▼ */
    margin-top: -35px !important; /* ← ★プラスで下へ、マイナスで上へ動きます */
}
.hero-catchphrase .catch-layer-middle img { width: 100% !important; height: auto !important; display: block !important; margin: 0 auto !important; }


/* ----------------------------------------------------
   【3層目】一番手前：ジムニー（LP-start-pc-jimny）の設定
---------------------------------------------------- */
.hero-catchphrase .catch-layer-front {
    position: absolute !important;
    z-index: 3 !important; /* 一番手前に飛び出す！ */
    
    /* ▼ 画像の大きさ ▼ */
    width: 790px !important; /* ← ★ジムニーの大きさはここで調整！ */
    
    /* ▼ 左右の位置調整 ▼ */
    /* 画面の中央（50%）を基準に、どれくらいズラすかを translateX で決めます */
    left: 50% !important;
    transform: translateX(-46%) !important; /* ← ★プラスの数値で右へ、マイナスで左へ動きます！ */
    
    /* ▼ 上下の位置調整 ▼ */
    bottom: 0px !important; /* 箱の一番下に足を合わせる */
    margin-bottom: -5% !important; /* ← ★マイナスにすると枠からはみ出して下に飛び出します！ */
}
.hero-catchphrase .catch-layer-front img { width: 100% !important;
 height: auto !important;
 display: block !important;

 }

/* ////////////////////////////////////////////////////////////////
   【第4ブロック】PC・タブレット用レイアウト（768px以上）
   PC画面でもスマホと同じ「縦並び」の構成に統一します！
//////////////////////////////////////////////////////////////// */
@media screen and (min-width: 768px) {

  /* =========================================
     PC版：大枠と白背景
  ========================================= */
  .hero-full-wrapper {
      padding: 60px 2.5% 2.5% 2.5% !important; 
  }
  
  .hero-custom-bg {
      max-width: 800px !important; /* PC版の白枠の最大幅 */
      padding: 40px 60px !important; 
      display: flow-root !important; 
      box-shadow: 0 20px 60px rgba(0,0,0,0.6) !important;
      border-radius: 10px !important; 
  }

  /* ▼▼▼ 【最大の修正】横並びを解除し、スマホと同じ縦並びに変更！ ▼▼▼ */
  .hero-inner {
      display: flex !important;
      flex-direction: column !important; /* 縦に並べる魔法 */
      align-items: center !important;
      width: 100% !important; 
      margin: 0 auto !important;
  }

  /* =========================================
     PC版：表示の順番をスマホと揃える魔法
  ========================================= */
  
  /* ① コミコミ案内の画像（LP-start）を「上」にする */
  .hero-inner > .is-pc {
      order: 1 !important; 
      width: 100% !important;
      margin-bottom: 50px !important; /* 下の社長との間に隙間を作る */
  }

  /* ② 社長と月桂冠を「下」にする */
  .hero-badges { 
      order: 2 !important; 
      margin-top: 0px !important; /* 過去の引き上げ調整をリセット */
      margin-bottom: 20px !important; 
      text-align: center !important; 
      width: 100% !important; 
      position: relative !important;
      z-index: 1 !important;
  }

  /* =========================================
     PC版：社長画像・網目背景・月桂冠のサイズ設定
  ========================================= */
  
  /* PC版：暴走ストッパー搭載の網目背景 */
  .hero-badges::after {
      top: 40px !important; 
      height: 90% !important;  
      clip-path: polygon(0% 0%, 100% 0%, 100% 73%, 50% 100%, 0% 73%) !important;
      background-size: 10px 10px !important; 
  }

  /* PC版：巨大化ストッパー搭載のボス画像 */
  .boss-image {
      max-width: 600px !important; /* PC大画面での社長の最大の大きさ */
  }
  
  .boss-overlay-text {
      top: 26% !important; 
      left: 46% !important;
  }
  .boss-text-single {
      -webkit-text-stroke: 0.7px #888888 !important; 
  }
  
  /* PC版：月桂冠（バッジ） */
  .badge-image-bottom { 
      margin-top: 5px !important; 
      margin-bottom: 40px !important; 
  }
  .badge-image-bottom img { 
      width: 80% !important; /* 月桂冠の大きさを調整 */
      max-width: 800px !important; 
  }

  
















/* --------------------------------------------------------
   【スマホ版】のロゴ設定（画面幅767px以下の小画面）
-------------------------------------------------------- */
@media screen and (max-width: 767px) {
    /* ロゴを包んでいる箱（h1）の設定 */
    #logo {
        /* ▼ 他の要素を完全に無視して「画面のど真ん中」に固定する魔法 ▼ */
        position: absolute !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        
        /* ▼ 元々あった「左側の余白（3vw）」を強制リセットしてズレを消滅させる ▼ */
        padding-left: 0 !important; 
        margin: 0 !important;
        
        width: auto !important;
        text-align: center !important;
        display: block !important;
        z-index: 10 !important; /* 誰よりも手前に表示する */
    }

    /* ロゴ画像自体の設定 */
    #logo img {
        /* 【横幅指定】スマホ版で大きく見せるためのサイズ指定です。
           もっと大きくしたい場合は 200px などに変更してください！ */
        width: 180px !important; 
        max-width: none !important; 
        
        /* 【高さ指定】縦横比を崩さずに自動調整します */
        height: auto !important;
        
        /* 画像自体をブロック化して中央配置 */
        display: block !important;
        margin: 0 auto !important;

        /* 【上下調整】スマホヘッダー内で上に微調整したい場合はマイナスにします */
        /* ※真ん中揃えにしたことで高さの見え方が変わるため、-2px から 0px や 5px などに微調整してみてください */
        margin-top: 0px !important; 
    }
}


/* ========================================================
   コミコミ宣言セクション（表面100%・背景重ね合わせ）
======================================================== */

/* --- 1. 大枠（配置と全体調整） --- */
/* スマートフォン用（基本スタイル） */
.komikomi-wrapper {
  position: relative;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  
  /* 【ルール完全準拠: セクション全体の上下調整はmargin-top等でマイナス・プラス】 */
  /* ここの数値を小さく（マイナスに）するとセクション全体が上に動きます */
  margin-top: -150px;
}
}
/* --------------------------------------------------------
   【スマホ版】各セクションの隙間微調整
-------------------------------------------------------- */
@media screen and (max-width: 767px) {
  
  /* ▼ コミコミ宣言（Lp01-2-sp）の上の隙間調整 ▼ */
  .space-komikomi-sp {
    /* プラスの数字を大きくすると隙間が広がり、マイナスにすると上の画像に食い込みます！ */
    margin-top: -15px !important; /* ← ★ココを 50px や -10px などにして調整してください！ */
  }

}
/* --------------------------------------------------------
   【PC専用】パソコン・タブレット用（768px以上でのみ発動）
-------------------------------------------------------- */
@media (min-width: 768px) {
  .komikomi-wrapper {
    /* 【調整用コメント】前面画像の最大表示サイズ（PC用） */
    /* この数値を変更することで、全体の大きさを直感的に微調整できます */
    max-width: 800px; 
  }
}

/* --- 2. 前面画像（100%基準） --- */
.komikomi-front {
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  z-index: 2;
}

/* --- 3. 背景画像（170%拡大・サイズ制御版） --- */
.komikomi-back {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  max-width: none !important; 

  /* 横幅の指定（ここで広げたい幅を指定します） */
  width: 170% !important; 

  /* 【ルール完全準拠: 背景サイズはtopとheightで行う】 */
  /* ▼ 横幅を広げても下へ伸ばさないための設定 ▼ */
  top: -25% !important; /* 背景の開始位置 */
  
  /* autoをやめ、固定の割合を指定することで縦の広がり（下への伸び）をストップさせます */
  /* この数値を小さくすると背景が短くなり、大きくすると下に伸びます */
  height: 130% !important; 
  
  /* 画像の比率を維持しつつ、指定したtopとheightの枠に綺麗に収めます */
  object-fit: cover; 
  
  /* 切り抜く際の基準を「上端」にすることで、下方向の不要な伸びをカットします */
  object-position: center top;

  /* 【ルール完全準拠: 上下調整はmargin-top等でマイナス・プラス】 */
  /* ▼ 背景単独での上下位置の微調整用 ▼ */
  /* top（開始位置）はそのままに、ここの数値を小さく（マイナスに）すると背景だけが上に動きます */
  margin-top: 0px !important; 
}
}





/* ========================================================
   Point 01：全てコミコミ セクション（PC専用・Lp01-1）
   ※ポイント②（理想形）の完全移植バージョン！
======================================================== */

/* ▼ pictureタグが邪魔をして背景が切れるのを防ぐ透明化の魔法 ▼ */
.komikomi2-wrapper picture {
  display: contents !important;
}

/* --------------------------------------------------------
   【PC専用】パソコン・タブレット用（768px以上でのみ発動）
-------------------------------------------------------- */
@media (min-width: 768px) {
  
  /* --- 1. 大枠（配置と全体調整） --- */
  .komikomi2-wrapper {
    position: relative;
    max-width: 950px; 
    margin-left: auto;
    margin-right: auto;
    
    /* ▼ 上下のセクションとの隙間調整 ▼ */
    margin-top: -120px;    /* ← ★上の要素との隙間調整 */
    margin-bottom: 88px;  /* ← ★下の要素との隙間調整 */
  }

  /* --- 2. 前面画像（Lp01-1） --- */
  .komikomi2-front {
    display: block;
    position: relative;
    z-index: 2; /* 背景より手前に */
    max-width: none !important; 
    width: 100% !important; 
    
    /* 常にど真ん中配置 */
    left: 50% !important;
    transform: translateX(-50%) translateY(0px) !important; 
    
    /* 縦伸びと比率崩れを完全に防ぐ専用設定 */
    height: auto !important; 
    object-fit: contain !important; 
    margin-bottom: 0% !important; 
  }

  /* --- 3. 背景画像（斜め線：Lp01-1-back） --- */
  .komikomi2-back {
    display: block !important; 
    position: absolute;
    z-index: 1; /* 前面より後ろ（1）に統一 */
    
    /* 常にど真ん中配置 */
    left: 50% !important;
    transform: translateX(-50%) !important;
    max-width: none !important; 
    
    /* ▼ ブラウザの端から端まで広げる魔法（ポイント②と同じ120%！） ▼ */
    width: 120% !important;  
    
    /* ▼ 縦幅の限界を決める（ここで細さを調整！） ▼ */
    /* ここの数値を 70% や 80% などに変えて、斜め線の潰れ具合（細さ）を調整します */
    height: 92% !important; /* ← ★まずはポイント②と同じ78%でお試しください！ */

    /* ▼ 【ココが解決の鍵！】ハサミで切らずに「枠に合わせて潰す」魔法 ▼ */
    object-fit: fill !important; 
    
    /* ▼ ズレ防止！基準を横幅に統一するための設定 ▼ */
    top: 0% !important; 
    
    /* ▼ 背景画像の上下位置の微調整 ▼ */
    /* top: 0%; に変更したため、margin-topで前面画像との重なり具合を調整します */
    /* マイナスで上へ、プラスで下へ動きます */
    margin-top: 4.5% !important; /* ← ★斜め線の「上下位置」がしっくりくるようにココで微調整！ */
  }
}



/* ========================================================
   メーカー取扱いセクション（PC：レイヤー重ね / スマホ：1枚絵）
======================================================== */

/* --------------------------------------------------------
   【スマホ専用】（767px以下） ③ スマホ版の画像下の余白調整
-------------------------------------------------------- */
@media (max-width: 767px) {
  .space-maker-sp {
    /* ▼ padding（内側）を margin（外側への押し出し）に変更しました！ ▼ */
    display: block !important;
    margin-bottom: 10px !important; /* ← ★ココを 80px など好きな数字に増やして調整！ */
  }
}

/* --------------------------------------------------------
   【PC専用】パソコン・タブレット用（768px以上）
-------------------------------------------------------- */
@media (min-width: 768px) {
  
  /* --- 1. 大枠の設定 --- */
  .maker-wrapper {
    max-width: 800px;
    
    /* ▼ ① PCのみセクション全体を上に移動 ▼ */
    /* ここのマイナスの数値を大きくすると、セクション全体が上に動いて微調整できます */
    margin-top: -0px !important;     /* ← ★ココで全体を上に移動！ */
    
    margin-bottom: 50px;  /* 下のセクションとの隙間 */
    margin-left: auto;
    margin-right: auto;
    position: relative;
  }

  /* --- 2. 一番後ろの背景画像（自作の超ワイド版専用設定！） --- */
  .maker-back {
    display: block !important;
    position: absolute;
    z-index: 1;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: auto !important; 
    height: 100% !important; 
    top: 0% !important;
    
    /* ▼ ② text2（白文字）や各ロゴを表示させるための「赤い帯」の引き上げ ▼ */
    margin-top: 0% !important; /* ← ★ココを -15% や -20% などにして赤い帯を上に引き上げてください！ */
  }

  .maker-back img {
    display: block !important;
    height: 100% !important;
    width: auto !important;
    max-width: none !important;
  }

  /* --- 3. 前面グループ（残り画像をまとめる箱） --- */
  .maker-front-group {
    display: block;
    position: relative;
    z-index: 2;
    width: 120% !important; 
    max-width: none !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    top: 0% !important;
    margin-top: 0% !important; 
  }

  /* --- 4. ベース画像（これが親の箱の「高さ」を決める柱になります） --- */
  .maker-layer-base {
    display: block;
    position: relative; 
    width: 100% !important;
    height: auto !important;
    z-index: 2;
  }

  /* --- 5. 上に乗っかる透明パーツ達（すべて共通魔法！） --- */
  .maker-layer-item {
    display: block !important;
    position: absolute !important;
    left: 0% !important;
    top: 0% !important;
    width: 100% !important;
    height: auto !important;
    z-index: 3;
    margin-top: 0% !important;
  }
  .maker-layer-item img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
  }
}


/* ===========================================================================
  ポイント②車検代の費用 諸経費もコミコミ!!（PC背景分離・％連動スケール版）
============================================================================== */

/* --------------------------------------------------------
   【スマホ専用】背景を隠して1枚絵にする（767px以下）
-------------------------------------------------------- */
@media (max-width: 767px) {
  .point02-wrapper {
    position: relative;
    width: 100%;
    margin-top: 0px; ｓ
    margin-bottom: 0px; 
  }
  
  /* スマホではPC用の背景を隠す魔法 */
  .point02-back {
    display: none !important; 
  }
  
  /* 前面画像（スマホ時は1枚絵）は100%で表示して崩れ防止 */
  .point02-front {
    display: block;
    width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
  }
}

/* --------------------------------------------------------
   【PC専用】パソコン・タブレット用（768px以上でのみ発動）
-------------------------------------------------------- */
@media (min-width: 768px) {
  
  /* --- 1. 大枠（配置と全体調整） --- */
  .point02-wrapper {
    position: relative;
    
    /* 【調整用コメント】セクション全体の最大表示サイズ */
    max-width: 950px; 
    margin-left: auto;
    margin-right: auto;
    

  }
    /* ▼ 下のセクションとの被りを解消するバリア（余白） ▼ */
    /* 下の要素が上に突き刺さってくる場合は、この数値を「11.7」などに大きくしてください */
    margin-bottom: -7%; 
  }

  /* --- 2. 前面画像（Lp-02-1.jpg） --- */
  .point02-front {
    display: block;
    position: relative;
    z-index: 2; /* 背景より手前にする */
    
    /* サイト共通の「100%まで」の制限を強制解除 */
    max-width: none !important; 
    
    /* ▼ 前面画像のサイズ調整 ▼ */
    /* ここの数値を変更すると前面画像が拡大・縮小します */
    width: 100% !important; 
    
    /* 常にど真ん中に配置するための設定（変更不要） */
    left: 50% !important;
    transform: translateX(-50%) translateY(0px) !important; 
    height: auto;
    
    /* ▼ 前面画像の上下位置調整（ゴムのように伸縮する％を使用！） ▼ */
    /* 前面画像単体を少し上下に動かしたい場合は、ここを「-5%」や「5%」に変更します */
    margin-top: 0% !important; 
  }

/* --- 3. 背景画像（Lp-02-1-back.png / 切らずにギュッと潰す版） --- */
  .point02-back {
    display: block !important; 
    position: absolute;
    z-index: 1; /* 前面画像より後ろ（背景）にする */
    
    /* 常にど真ん中配置 */
    left: 50% !important;
    transform: translateX(-50%) !important;
    max-width: none !important; 

    /* ▼ ブラウザの端から端まで広げる魔法 ▼ */
    /* ※110%だと端に隙間ができる可能性があるため、前回同様120%にして絶対に見切れないようにします */
    width: 120% !important; 

    /* ▼ 縦幅の限界を決める（ここで細さを調整！） ▼ */
    /* ここの数値を 75% や 80% などに小さくするほど、カットされずに全体がギュッと縦に潰れて細くなります */
    height: 78% !important; /* ← ★まずは80%でお試しください！お好みの細さに変更OKです */

    /* ▼ 【ココが解決の鍵！】ハサミで切らずに「枠に合わせて潰す」魔法 ▼ */
    object-fit: fill !important; 

    /* ▼ ズレ防止！基準を横幅に統一するための設定 ▼ */
    top: 0% !important; 
    
    /* ▼ 背景画像の上下位置調整 ▼ */
    /* ギュッと潰したことで位置がズレた場合は、ここで上下を合わせてください */
    /* マイナスを大きくする（例：-20%）と背景が上にスライドし、小さくする（例：-5%）と下に下がります */
    margin-top: -3% !important; /* ← ★背景の位置はココで微調整！ */
  }

/* ===================================================================
   （男女旗あり）定額コミコミ セクション（PC表示・同じ高さピタッと版）
==================================================================== */

/* --------------------------------------------------------
   【スマホ専用】（767px以下）
   ※もしスマホで表示する場合は背景を隠して1枚絵にします
-------------------------------------------------------- */
@media (max-width: 767px) {
  .lp02-45-wrapper {
    position: relative;
    width: 100%;
    margin-top: 0px; 
    margin-bottom: 0px; 
  }
  .lp02-45-back {
    display: none !important; /* 背景は隠す */
  }
  .lp02-45-front {
    display: block;
    width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
  }
}


/* --------------------------------------------------------
   【PC専用】パソコン・タブレット用（768px以上でのみ発動）
-------------------------------------------------------- */
@media (min-width: 768px) {
  
  /* --- 1. 大枠（ここで上下の隙間をすべてコントロールします！） --- */
  .lp02-45-wrapper {
    position: relative;


    /* セクション全体の最大サイズ（他のセクションと揃えると綺麗です） */
    max-width: 800px; 
    margin-left: auto;
    margin-right: auto;
    
    /* ▼ 調整ポイント①：上のセクションとの隙間 ▼ */
    /* 上に隙間を作りたい場合は 50px や 100px にします */
    /* ピタッとくっつけたい、または上に食い込ませたい場合は 0px やマイナスにします */
    margin-top: 20px; /* ← ★ココでお好みの隙間に調整！ */
    
    /* ▼ 調整ポイント②：下のセクションとの隙間 ▼ */
    /* 下に隙間を作りたい場合は 50px や 100px にします */
    margin-bottom: 20px; /* ← ★ココでお好みの隙間に調整！ */

  }

  /* --- 2. 前面画像（Lp-02-4_5.jpg） --- */
  .lp02-45-front {
    display: block;
    position: relative;
    z-index: 2; /* 背景より手前に */
    
    max-width: none !important; 
    
    /* 前面画像の横幅（他と揃えて 100% や 110% などに調整可能） */
    width: 97% !important; 
    
    /* 常にど真ん中配置 */
    left: 50% !important;
    transform: translateX(-50%);
    height: auto;
  }

  /* --- 3. 背景画像（Lp-02-4_5back.png） --- */
  
  /* ▼ 修正追加：pictureタグが邪魔をして右が切れるのを防ぐ透明化の魔法 ▼ */
  .lp02-45-wrapper picture {
    display: contents !important;
  }

  .lp02-45-back {
    display: block !important; 
    position: absolute;
    z-index: 1; /* 前面画像より後ろに */
    
    /* 常にど真ん中配置 */
    left: 50% !important;
    transform: translateX(-50%) !important;
    max-width: none !important; 

    /* ▼ ブラウザの端から端まで広げる魔法 ▼ */
    width: 125% !important; 

    /* ▼ 前面画像と「全く同じ高さ」に揃える ▼ */
    height: 120% !important; 

    /* ▼ V字の角度を綺麗に保つ魔法 ▼ */
    /* fill（潰す）ではなく cover（比率維持）にすることでV字が美しく保たれます */
    object-fit: cover !important; 
    
    /* 切り抜きの基準位置を「上端」にしてV字を死守する */
    object-position: center top !important;
    
    /* ▼ 背景画像の上下位置調整 ▼ */
    top: 10% !important; 
    
    /* 前面画像のどの位置にV字を持ってくるかをココで微調整します */
    /* マイナスを大きくするとV字が上に上がり、プラスにすると下がります */
    margin-top: -18% !important; /* ← ★V字の位置はココで調整！ */
}
}
/* ========================================================
   コスパ 宣言頭金0円・コミコミ宣言 セクション（Lp-02-7）
======================================================== */

/* ▼ pictureタグが邪魔をして背景が切れるのを防ぐ透明化の魔法 ▼ */
.lp02-7-wrapper picture {
  display: contents !important;
}

/* --------------------------------------------------------
   【スマホ専用】（767px以下）
-------------------------------------------------------- */
@media (max-width: 767px) {
  .lp02-7-wrapper {
    position: relative;
    width: 100%;
    margin-top: 0px; 
    margin-bottom: 0px; 
  }
  
  /* スマホ時は背景を隠す */
  .lp02-7-back {
    display: none !important; 
  }
  
  /* 前面画像は1枚絵として100%表示 */
  .lp02-7-front {
    display: block;
    width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
  }
}

/* --------------------------------------------------------
   【PC専用】パソコン・タブレット用（768px以上でのみ発動）
-------------------------------------------------------- */
@media (min-width: 768px) {
  
  /* --- 1. 大枠（配置と全体調整） --- */
  .lp02-7-wrapper {
    position: relative;
    
    /* セクション全体の最大サイズ（他のセクションと揃える） */
    max-width: 950px; 
    margin-left: auto;
    margin-right: auto;
    
    /* ▼ 上下のセクションとの隙間調整 ▼ */
    margin-top: 0px; 
    margin-bottom: -15px; /* ← ★下の要素との純粋な余白はココで調整！ */
    
    /* ※下の要素との隙間調整は、前面画像（.lp02-7-front）で行います */
  }

  /* --- 2. 前面画像（Lp-02-7.png） --- */
  .lp02-7-front {
    display: block;
    position: relative;
    z-index: 2; /* 背景より手前に */
    max-width: none !important; 
    
    /* 横幅（迫力を出したい場合は 100% や 110% に調整） */
    width: 100% !important; 
    
    /* 常にど真ん中配置 */
    left: 50% !important;
    transform: translateX(-50%) translateY(0px) !important; 
    
    /* ▼ 縦伸びと比率崩れを完全に防ぐ専用設定 ▼ */
    height: auto !important; 
    object-fit: contain !important; 
    
    /* ▼ 下のセクションとの隙間調整 ▼ */
    /* 画像の拡大・縮小と連動して絶対にズレない最強の余白設定です */
    margin-bottom: -8% !important; /* ← ★下の要素との隙間はココで調整！ */
  }

  /* --- 3. 背景画像（Lp-02-7back.png） --- */
  .lp02-7-back {
    display: block !important; 
    position: absolute;
    z-index: 1; /* 前面画像より後ろに */
    
    /* 常にど真ん中配置 */
    left: 49% !important;
    transform: translateX(-50%) !important;
    max-width: none !important; 

    /* ▼ ブラウザの端から端まで広げる魔法 ▼ */
    width: 120% !important; 

    /* ▼ 前面画像と「全く同じ高さ」に揃える ▼ */
    height: 100% !important; 

    /* ▼ V字の角度を綺麗に保つ魔法 ▼ */
    /* fill（潰す）ではなく cover（比率維持）にすることでV字が美しく保たれます */
    object-fit: cover !important; 
    
    /* 切り抜きの基準位置を「上端」にしてV字を死守する */
    object-position: center top !important;
    
    /* ▼ 背景画像の上下位置調整 ▼ */
    top: 0% !important; 
    
    /* 前面画像のどの位置にV字を持ってくるかをココで微調整します */
    /* マイナスを大きくするとV字が上に上がり、プラスにすると下がります */
    margin-top: -2.4% !important; /* ← ★V字の位置はココで調整！ */
  }
 }

/* ========================================================
   最大45万円もお得！（Lp02-8）105%拡大・専用設定
======================================================== */
/* 大枠の余白調整（最強突破バージョン） */
.lp02-8-wrapper {
  position: relative;
  
  /* ▼ 修正：margin を padding に変え、単位を vw にして !important を付与 ▼ */
  /* 10vw ＝ 画面の横幅の10%分の隙間（親枠に影響されません！） */
  padding-top: 4vw !important; 
  padding-bottom: 5vw !important; 
}

/* 105%拡大＆ど真ん中配置の魔法（ここはそのまま！） */
.lp02-8-img {
  display: block;
  position: relative;
  
  width: 98% !important; 
  max-width: none !important; 
  height: auto !important; 
  object-fit: contain !important; 
  
  left: 50% !important;
  transform: translateX(-50%) !important;
}
/* ========================================================
   タイパ宣言 セクション（Lp02-9）
======================================================== */

/* ▼ pictureタグが邪魔をして背景が切れるのを防ぐ透明化の魔法 ▼ */
.lp02-9-wrapper picture {
  display: contents !important;
}

/* --------------------------------------------------------
   【スマホ専用】（767px以下）
-------------------------------------------------------- */
@media (max-width: 767px) {
  .lp02-9-wrapper {
    position: relative;
    width: 100%;
    margin-top: 0px; 
    margin-bottom: 0px; 
  }
  
  /* スマホ時は背景を隠す */
  .lp02-9-back {
    display: none !important; 
  }
  
  /* 前面画像は1枚絵として100%表示 */
  .lp02-9-front {
    display: block;
    width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
  }
}

/* --------------------------------------------------------
   【PC専用】パソコン・タブレット用（768px以上でのみ発動）
-------------------------------------------------------- */
@media (min-width: 768px) {
  
  /* --- 1. 大枠（配置と全体調整） --- */
  .lp02-9-wrapper {
    position: relative;

    /* セクション全体の最大サイズ（他のセクションと揃える） */
    max-width: 950px; 
    margin-left: auto;
    margin-right: auto;
    
    /* ▼ 上のセクションとの隙間調整 ▼ */
    margin-top: -30px; 
  }

  /* --- 2. 前面画像（Lp02-9.jpg） --- */
  .lp02-9-front {
    display: block;
    position: relative;
    z-index: 2; /* 背景より手前に */
    max-width: none !important; 
    
    /* 横幅（他と揃えて 100% に設定） */
    width: 100% !important; 
    
    /* 常にど真ん中配置 */
    left: 50% !important;
    transform: translateX(-50%) translateY(0px) !important; 
    
    /* ▼ 縦伸びと比率崩れを完全に防ぐ専用設定 ▼ */
    height: auto !important; 
    object-fit: contain !important; 
    
    /* ▼ 下のセクションとの隙間調整 ▼ */
    margin-bottom: 7% !important; /* ← ★下の要素との隙間はココで調整！ */
  }

  /* --- 3. 背景画像（Lp02-9back.png） --- */
  .lp02-9-back {
    display: block !important; 
    position: absolute;
    z-index: 1; /* 前面画像より後ろに */
    
    /* 常にど真ん中配置 */
    left: 50% !important;
    transform: translateX(-50%) !important;
    max-width: none !important; 

    /* ▼ ブラウザの端から端まで広げる魔法 ▼ */
    width: 120% !important; 

    /* ▼ 前面画像と「全く同じ高さ」に揃える ▼ */
    height: 100% !important; 

    /* ▼ V字の角度を綺麗に保つ魔法 ▼ */
    object-fit: cover !important; 
    
    /* 切り抜きの基準位置を「上端」にしてV字を死守する */
    object-position: center top !important;
    
    /* ▼ 背景画像の上下位置調整 ▼ */
    top: 0% !important; 
    
    /* 前面画像のどの位置にV字を持ってくるかをココで微調整します */
    /* マイナスを大きくするとV字が上に上がり、プラスにすると下がります */
    margin-top: -3.5% !important; /* ← ★V字の位置はココで調整！ */
  }
 }

/* ========================================================
   長期保険 セクション（Lp02-14）
======================================================== */

/* ▼ pictureタグが邪魔をして背景が切れるのを防ぐ透明化の魔法 ▼ */
.lp02-14-wrapper picture {
  display: contents !important;
}

/* --------------------------------------------------------
   【スマホ専用】（767px以下）
-------------------------------------------------------- */
@media (max-width: 767px) {
  .lp02-14-wrapper {
    position: relative;
    width: 100%;
    margin-top: 0px; 
    margin-bottom: 0px; 
  }
  
  /* スマホ時は背景を隠す */
  .lp02-14-back {
    display: none !important; 
  }
  
  /* 前面画像は1枚絵として100%表示 */
  .lp02-14-front {
    display: block;
    width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
  }
}

/* --------------------------------------------------------
   【PC専用】パソコン・タブレット用（768px以上でのみ発動）
-------------------------------------------------------- */
@media (min-width: 768px) {
  
  /* --- 1. 大枠（配置と全体調整） --- */
  .lp02-14-wrapper {
    position: relative;
    
    /* セクション全体の最大サイズ（他のセクションと揃える） */
    max-width: 950px; 
    margin-left: auto;
    margin-right: auto;
    
    /* ▼ 上のセクションとの隙間調整 ▼ */
    /* ▼ 上下の隙間調整 ▼ */
    /* 隙間を空けたい場合は 50px や 5% などに増やし、食い込ませたい場合はマイナスにします */
    margin-top: -20px;    /* ← ★上のセクションとの余白調整 */
    margin-bottom: -70px; /* ← ★下のセクションとの余白調整 */
  }

  /* --- 2. 前面画像（Lp02-14） --- */
  .lp02-14-front {
    display: block;
    position: relative;
    z-index: 2; /* 背景より手前に */
    max-width: none !important; 
    
    /* 横幅（他と揃えて 100% に設定） */
    width: 100% !important; 
    
    /* 常にど真ん中配置 */
    left: 50% !important;
    transform: translateX(-50%) translateY(0px) !important; 
    
    /* ▼ 縦伸びと比率崩れを完全に防ぐ専用設定 ▼ */
    height: auto !important; 
    object-fit: contain !important; 
    
    /* ▼ 下のセクションとの隙間調整 ▼ */
    margin-bottom: 4% !important; /* ← ★下の要素との隙間はココで調整！ */
  }

  /* --- 3. 背景画像（Lp02-14back） --- */
  .lp02-14-back {
    display: block !important; 
    position: absolute;
    z-index: 1; /* 前面画像より後ろに */
    
    /* 常にど真ん中配置 */
    left: 49.2% !important;
    transform: translateX(-50%) !important;
    max-width: none !important; 

    /* ▼ ブラウザの端から端まで広げる魔法 ▼ */
    width: 120% !important; 

    /* ▼ 前面画像と「全く同じ高さ」に揃える ▼ */
    height: 100% !important; 

    /* ▼ V字の角度を綺麗に保つ魔法 ▼ */
    object-fit: cover !important; 
    
    /* 切り抜きの基準位置を「上端」にしてV字を死守する */
    object-position: center top !important;
    
    /* ▼ 背景画像の上下位置調整 ▼ */
    top: 0% !important; 
    
    /* 前面画像のどの位置にV字を持ってくるかをココで微調整します */
    /* マイナスを大きくするとV字が上に上がり、プラスにすると下がります */
    margin-top: -2.5% !important; /* ← ★V字の位置はココで調整！ */
  }
  }


/* ========================================================
   リース満了後 セクション（1枚背景・シンプル構造版）
======================================================== */

/* ▼ pictureタグが邪魔をして背景が切れるのを防ぐ透明化の魔法 ▼ */
.lp02-15-wrapper picture {
  display: contents !important;
}

/* --------------------------------------------------------
   【スマホ専用】（767px以下）モバイルファースト基準
-------------------------------------------------------- */
@media (max-width: 767px) {
  .lp02-15-wrapper {
    position: relative;
    width: 100%;
    margin-top: 0px; 
    margin-bottom: 0px; 
  }
  
  /* スマホ時はPC用の背景を隠す */
  .lp02-15-back {
    display: none !important; 
  }
  
  /* 前面画像は1枚絵として100%表示 */
  .lp02-15-front {
    display: block;
    width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
  }
}

/* --------------------------------------------------------
   【PC専用】パソコン・タブレット用（768px以上でのみ発動）
-------------------------------------------------------- */
@media (min-width: 768px) {
  
  /* --- 1. 大枠（配置と全体調整） --- */
  .lp02-15-wrapper {
    position: relative;
    s
    /* セクション全体の最大サイズ（他のセクションと揃える） */
    max-width: 950px; 
    margin-left: auto;
    margin-right: auto;
    
    /* ▼ 上下のセクションとの隙間調整 ▼ */
    /* ここの数値を小さく（マイナスに）するとセクション全体が上に動きます */
    /* プラスの数値を大きくすると下に動いて上の要素との隙間が広がります */
    margin-top: 100px; 
    margin-bottom: -20px; /* ← ★下の要素との純粋な余白はココで調整！ */
  }

  /* --- 2. 前面画像（Lp02-15） --- */
  .lp02-15-front {
    display: block;
    position: relative;
    z-index: 2; /* 背景より手前に */
    max-width: none !important; 
    
    /* 横幅（他と揃えて 100% に設定） */
    width: 100% !important; 
    
    /* 常にど真ん中配置 */
    left: 50% !important;
    transform: translateX(-50%) translateY(0px) !important; 
    
    /* 縦伸びと比率崩れを防ぐ設定 */
    height: auto !important; 
    object-fit: contain !important; 
    
    /* ▼ 下のセクションの食い込み調整 ▼ */
    /* ここの数値を小さく（マイナスに）すると下の要素が上に引っ張り上げられます */
    margin-bottom: 3% !important; 
  }

  /* --- 3. 背景画像（Lp02-15back） --- */
  .lp02-15-back {
    display: block !important; 
    position: absolute;
    z-index: 1; /* 前面画像より後ろに */
    
    /* 常にど真ん中配置 */
    left: 50% !important;
    transform: translateX(-50%) !important;
    max-width: none !important; 

    /* ★画面の端から端まで絶対に広げる最強の横幅★ */
    width: 120% !important; 

    /* ▼ 前面画像に対する高さの割合 ▼ */
    /* 背景画像を前面画像よりも少し長めにしたい場合は 110% や 120% などにする */
    height: 100% !important; 

    /* ▼ 背景画像の形（V字など）を綺麗に保つ魔法 ▼ */
    object-fit: cover !important; 
    
    /* 切り抜きの基準位置を「上端」にする */
    object-position: center top !important;
    
    /* ▼ 背景画像の上下位置調整 ▼ */
    top: 0% !important; /* 開始位置は必ず上端 */
    
    /* 前面画像のどの位置に背景のV字ラインを持ってくるかをココで微調整します */
    /* ここの数値を小さく（マイナスに）すると背景が上に動きます */
    /* プラスの数値を大きくすると下に動きます */
    margin-top: -3% !important; /* ← ★背景の位置はココで調整！ */
  }
}

/* ========================================================
   迅速対応 セクション（Lp-03-4）
======================================================== */

/* ▼ pictureタグが邪魔をして背景が切れるのを防ぐ透明化の魔法 ▼ */
.lp03-4-wrapper picture {
  display: contents !important;
}
}
/* --------------------------------------------------------
   【スマホ専用】（767px以下）
-------------------------------------------------------- */
@media (max-width: 767px) {
  .lp03-4-wrapper {
    position: relative;
    width: 100%;
    margin-top: 0px; 
    margin-bottom: 0px; 
  }
  
  /* スマホ時は背景を隠す */
  .lp03-4-back {
    display: none !important; 
  }
  
  /* 前面画像は1枚絵として100%表示 */
  .lp03-4-front {
    display: block;
    width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
  }
}

/* --------------------------------------------------------
   【PC専用】パソコン・タブレット用（768px以上でのみ発動）
-------------------------------------------------------- */
@media (min-width: 768px) {
  
  /* --- 1. 大枠（配置と全体調整） --- */
  .lp03-4-wrapper {
    position: relative;
    
    /* セクション全体の最大サイズ（他のセクションと揃える） */
    max-width: 950px; 
    margin-left: auto;
    margin-right: auto;
    
    /* ▼ 上のセクションとの隙間調整 ▼ */
    margin-top: 0px; 
    /* ▼ 下のセクションとの隙間調整（追加！） ▼ */
    /* 下にスペースを空けたい場合は 50px や 5vw などに数値を増やしてください */
    margin-bottom: 40px;
  }

  /* --- 2. 前面画像（Lp-03-4） --- */
  .lp03-4-front {
    display: block;
    position: relative;
    z-index: 2; /* 背景より手前に */
    max-width: none !important; 
    
    /* 横幅（他と揃えて 100% に設定） */
    width: 100% !important; 
    
    /* 常にど真ん中配置 */
    left: 50% !important;
    transform: translateX(-50%) translateY(0px) !important; 
    
    /* ▼ 縦伸びと比率崩れを完全に防ぐ専用設定 ▼ */
    height: auto !important; 
    object-fit: contain !important; 
    
    /* ▼ 下のセクションとの隙間調整 ▼ */
    margin-bottom: 0% !important; /* ← ★下の要素との隙間はココで調整！ */
  }

  /* --- 3. 背景画像（Lp-03-4back） --- */
  .lp03-4-back {
    display: block !important; 
    position: absolute;
    z-index: 1; /* 前面画像より後ろに */
    
    /* 常にど真ん中配置 */
    left: 50% !important;
    transform: translateX(-50%) !important;
    max-width: none !important; 

    /* ★画面の端から端まで絶対に広げる最強の横幅★ */
    width: 120% !important; 

/* ▼ ココを修正！上に引き上げた分（15%）だけ高さを足して足元を隠す！ ▼ */
    /* ※もしこれでも少し足りなければ 120% などに増やしてください */
    height: 108% !important; /* ← ★ 100% から 115% に変更！ */

    /* ▼ 背景画像の形（V字など）を綺麗に保つ魔法 ▼ */
    object-fit: cover !important; 
    
    /* 切り抜きの基準位置を「上端」にする */
    object-position: center top !important;
    
    /* ▼ 背景画像の上下位置調整 ▼ */
    top: 0% !important; 
    
    /* 前面画像のどの位置に背景のV字ラインを持ってくるかをココで微調整します */
    /* マイナスを大きくすると背景が上に上がり、プラスにすると下がります */
    margin-top: -15% !important; /* ← ★背景の位置はココで調整！ */
  }
}
/* ========================================================
   よくある噂 セクション（Lp-03-7）
======================================================== */

/* ▼ pictureタグが邪魔をして背景が切れるのを防ぐ透明化の魔法 ▼ */
.lp03-7-wrapper picture {
  display: contents !important;
}

/* --------------------------------------------------------
   【スマホ専用】（767px以下）
-------------------------------------------------------- */
@media (max-width: 767px) {
  .lp03-7-wrapper {
    position: relative;
    width: 100%;
    margin-top: 0px; 
    margin-bottom: 0px; 
  }
  
  /* スマホ時は背景を隠す */
  .lp03-7-back {
    display: none !important; 
  }
  
  /* 前面画像は1枚絵として100%表示 */
  .lp03-7-front {
    display: block;
    width: 70% !important;
    height: auto !important;
    margin: 0 auto !important;
  }
}

/* --------------------------------------------------------
   【PC専用】パソコン・タブレット用（768px以上でのみ発動）
-------------------------------------------------------- */
@media (min-width: 768px) {
  
  /* --- 1. 大枠（配置と全体調整） --- */
  .lp03-7-wrapper {
    position: relative;

    
    /* セクション全体の最大サイズ（他のセクションと揃える） */
    max-width: 950px; 
    margin-left: auto;
    margin-right: auto;
    
    /* ▼ 上のセクションとの隙間調整 ▼ */
    margin-top: 0px; 
    /* ▼ 下のセクションとの隙間調整（追加！） ▼ */
    /* 下にスペースを空けたい場合は 50px や 5vw などに数値を増やしてください */
    margin-bottom: 20px;
  }

  /* --- 2. 前面画像（Lp-03-7） --- */
  .lp03-7-front {
    display: block;
    position: relative;
    z-index: 2; /* 背景より手前に */
    max-width: none !important; 
    
    /* 横幅（他と揃えて 100% に設定） */
    width: 95% !important; 
    
    /* 常にど真ん中配置 */
    left: 50% !important;
    transform: translateX(-50%) translateY(0px) !important; 
    
    /* ▼ 縦伸びと比率崩れを完全に防ぐ専用設定 ▼ */
    height: auto !important; 
    object-fit: contain !important; 
    
    /* ▼ 下のセクションとの隙間調整 ▼ */
    margin-bottom: 0% !important; /* ← ★下の要素との隙間はココで調整！ */
  }

  /* --- 3. 背景画像（Lp-03-7back） --- */
  .lp03-7-back {
    display: block !important; 
    position: absolute;
    z-index: 1; /* 前面画像より後ろに */
    
    /* 常にど真ん中配置 */
    left: 50% !important;
    transform: translateX(-50%) !important;
    max-width: none !important; 

    /* ★画面の端から端まで絶対に広げる最強の横幅★ */
    width: 120% !important; 

/* ▼ ココを修正！上に引き上げた分（15%）だけ高さを足して足元を隠す！ ▼ */
    /* ※もしこれでも少し足りなければ 120% などに増やしてください */
    height: 106% !important; /* ← ★ 100% から 115% に変更！ */

    /* ▼ 背景画像の形（V字など）を綺麗に保つ魔法 ▼ */
    object-fit: cover !important; 
    
    /* 切り抜きの基準位置を「上端」にする */
    object-position: center top !important;
    
    /* ▼ 背景画像の上下位置調整 ▼ */
    top: 0% !important; 
    
    /* 前面画像のどの位置に背景のV字ラインを持ってくるかをココで微調整します */
    /* マイナスを大きくすると背景が上に上がり、プラスにすると下がります */
    margin-top: -15.5% !important; /* ← ★背景の位置はココで調整！ */
  }
  }

/* ========================================================
   クルマ選びの悩み セクション（Lp-03-8）
======================================================== */

/* ▼ pictureタグが邪魔をして背景が切れるのを防ぐ透明化の魔法 ▼ */
.lp03-8-wrapper picture {
  display: contents !important;
}

/* --------------------------------------------------------
   【スマホ専用】（767px以下）
-------------------------------------------------------- */
@media screen and (max-width: 767px) {
  
  .space-lp03-8-sp {
    display: block !important;
    
    /* ▼ スマホ版の「上」の隙間調整 ▼ */
    /* プラスで隙間が広がり、マイナスで上の要素に食い込みます */
    margin-top: 20px !important; /* ← ★ココでお好みの数値に調整！ */
    
    /* ▼ （おまけ）スマホ版の「下」の隙間も調整したい場合はココ ▼ */
    margin-bottom: 0px !important; 
  }
  
}

/* --------------------------------------------------------
   【PC専用】（768px以上）
-------------------------------------------------------- */
@media screen and (min-width: 768px) {
  
  .lp03-8-wrapper {
    /* ▼ PC版の「上」の隙間調整 ▼ */
    /* マイナスにすると上に持ち上がり、プラスにすると下に下がります */
    margin-top: 50px !important; /* ← ★ココでお好みの数値に調整！ */
    
    /* ▼ （おまけ）PC版の「下」の隙間も調整したい場合はココ ▼ */
    margin-bottom: 0px !important; 
  }
  
}
/* --------------------------------------------------------
   【PC専用】パソコン・タブレット用（768px以上でのみ発動）
-------------------------------------------------------- */
@media (min-width: 768px) {
  
  /* --- 1. 大枠（配置と全体調整） --- */
  .lp03-8-wrapper {
    position: relative;
    
    /* セクション全体の最大サイズ（他のセクションと揃える） */
    max-width: 950px; 
    margin-left: auto;
    margin-right: auto;
    
    /* ▼ 上下のセクションとの隙間調整 ▼ */
    margin-top: 30px; 
    margin-bottom: 0px; /* ← ★下の要素との純粋な余白はココで調整！ */
  }

  /* --- 2. 前面画像（Lp-03-8） --- */
    position: relative;
  .lp03-8-front {
    display: block;
    z-index: 2; /* 背景より手前に */
    max-width: none !important; 
    
    /* 横幅（他と揃えて 100% や 95% などに設定） */
    width: 95% !important; 
    
    /* 常にど真ん中配置 */
    left: 50% !important;
    transform: translateX(-50%) translateY(0px) !important; 
    
    /* ▼ 縦伸びと比率崩れを完全に防ぐ専用設定 ▼ */
    height: auto !important; 
    object-fit: contain !important; 
    
    /* ▼ 下のセクションの食い込み調整 ▼ */
    margin-bottom: 0% !important; /* ← ★下の要素を引っ張り上げたい場合はココをマイナスに！ */
  }

  /* --- 3. 背景画像（Lp-03-8back） --- */
  .lp03-8-back {
    display: block !important; 
    position: absolute;
    z-index: 1; /* 前面画像より後ろに */
    
    /* 常にど真ん中配置 */
    left: 50% !important;
    transform: translateX(-50%) !important;
    max-width: none !important; 

    /* ★画面の端から端まで絶対に広げる最強の横幅★ */
    width: 120% !important; 

    /* ▼ 前面画像と「全く同じ高さ」に揃える ▼ */
    /* ※もしmargin-topをマイナスにして上に引き上げる場合は、ここを115%などに増やしてください */
    height: 100% !important; 

    /* ▼ 背景画像の形（V字など）を綺麗に保つ魔法 ▼ */
    object-fit: cover !important; 
    
    /* 切り抜きの基準位置を「上端」にする */
    object-position: center top !important;
    
    /* ▼ 背景画像の上下位置調整 ▼ */
    top: 0% !important; 
    
    /* 前面画像のどの位置に背景のV字ラインを持ってくるかをココで微調整します */
    /* マイナスを大きくすると背景が上に上がり、プラスにすると下がります */
    margin-top: -9% !important; /* ← ★背景の位置はココで調整！ */
  }
}
/* ========================================================
   HEROZの安さの秘密 セクション（Lp-03-12）
======================================================== */

/* ▼ pictureタグが邪魔をして背景が切れるのを防ぐ透明化の魔法 ▼ */
.lp03-12-wrapper picture {
  display: contents !important;
}

/* --------------------------------------------------------
   【スマホ版（基本スタイル）】
   ※画面幅767px以下で適用されます
-------------------------------------------------------- */

/* --- 大枠設定 --- */
.lp03-12-wrapper {
  position: relative;
  width: 100%;
}

/* --- スマホ時は背景を隠す --- */
.lp03-12-back {
  display: none !important; 
}

/* --- 前面画像は1枚絵として100%表示 --- */
.lp03-12-front {
  display: block;
  width: 100% !important;
  height: auto !important;
  margin: 0 auto !important;
}

/* --- 基本のスマホ画像共通設定 --- */
.sp-single-image {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 auto !important;
}

/* ▼▼ スマホ版：個別の隙間調整（ココが重要！） ▼▼ */
.space-12-sp {
  display: block !important;

  /* 【上の隙間】ここの数値を小さく（マイナス）すると上に、大きく（プラス）すると下に動きます */
  margin-top: 20px !important;     /* ← ★スマホの「上」の隙間はココ！ */

  /* 【下の隙間】次の画像を押し下げる場合はプラスにします */
  margin-bottom: 0px !important;   /* ← ★スマホの「下」の隙間はココ！ */
}


/* --------------------------------------------------------
   【PC専用】パソコン・タブレット用（768px以上でのみ発動）
-------------------------------------------------------- */
@media (min-width: 768px) {
  
  /* --- 1. 大枠（配置と全体調整） --- */
  .lp03-12-wrapper {
    position: relative;
    max-width: 950px; 
    margin-left: auto;
    margin-right: auto;
    
    /* ▼ PC版：上下のセクションとの隙間調整 ▼ */
    margin-top: 40px !important;      /* ← ★PCの「上」の隙間はココで調整！ */
    margin-bottom: 0px !important;   /* ← ★PCの「下」の隙間はココで調整！ */
  }

  /* --- 2. 前面画像（Lp-03-12） --- */
  .lp03-12-front {
    display: block;
    position: relative;
    z-index: 2; 
    max-width: none !important; 
    width: 100% !important; 
    left: 50% !important;
    transform: translateX(-50%) translateY(0px) !important; 
    height: auto !important; 
    object-fit: contain !important; 
    margin-bottom: 0% !important; 
  }

  /* --- 3. 背景画像（Lp-03-12back） --- */
  .lp03-12-back {
    display: block !important; /* PC版では背景を表示 */
    position: absolute;
    z-index: 1; 
    left: 50% !important;
    transform: translateX(-50%) !important;
    max-width: none !important; 
    width: 180% !important; 
    height: 109% !important; 
    object-fit: cover !important; 
    object-position: center top !important;
    top: 0% !important; 
    margin-top: -40% !important; 
  }
}

/* ========================================================
   ■ 当店が地元から選ばれる理由とは!? セクション（Lp-03-14）
   スマホ・PC独立 隙間調整バージョン
======================================================== */

/* --------------------------------------------------------
   【スマホ版】（基本スタイル・画面幅767px以下で適用）
-------------------------------------------------------- */

/* ▼ スマホ版：個別の隙間調整 ▼ */
.space-14-sp {
  display: block !important;
  
  /* ここの数値を小さく（マイナスに）すると画像が上に動きます */
  /* プラスの数値を大きくすると下に動いて上の要素との隙間が広がります */
  margin-top: 10px !important;  /* ← ★スマホの上の隙間はココで調整！ */
  
  margin-bottom: 0px !important; 
}

/* ▼ PC用大枠の基本設定（スマホでは非表示ですが構造上定義しておきます） ▼ */
.lp03-14-wrapper {
  width: 100%;
}

.lp03-14-img {
  display: block;
  width: 100% !important;
  height: auto !important;
  margin: 0 auto !important;
}

/* --------------------------------------------------------
   【PC専用】パソコン・タブレット用（画面幅768px以上で発動）
-------------------------------------------------------- */
@media (min-width: 768px) {
  
  /* --- 1. 大枠 --- */
  .lp03-14-wrapper {
    max-width: 950px; 
    margin-left: auto;
    margin-right: auto;
    
    /* ▼ PC版：上の隙間調整 ▼ */
    /* ここの数値を小さく（マイナスに）すると画像が上に動きます */
    /* プラスの数値を大きくすると下に動いて上の要素との隙間が広がります */
    margin-top: 30px !important;    /* ← ★PCの上の隙間はココで調整！ */
    
    margin-bottom: 0px !important; 
  }

  /* --- 2. 画像本体 --- */
  .lp03-14-img {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  
}

/* ========================================================
   ご来店から納車式までの流れ セクション（Lp-03-15）
======================================================== */

/* ▼ pictureタグが邪魔をして背景が切れるのを防ぐ透明化の魔法 ▼ */
.lp03-15-wrapper picture {
  display: contents !important;
}

/* --------------------------------------------------------
   【スマホ専用】（767px以下）
-------------------------------------------------------- */
@media (max-width: 767px) {
  .lp03-15-wrapper {
    position: relative;
    width: 100%;
    margin-top: 0px; 
    margin-bottom: 0px; 
  }
  
  /* スマホ時は背景を隠す */
  .lp03-15-back {
    display: none !important; 
  }
  
  /* 前面画像は1枚絵として100%表示 */
  .lp03-15-front {
    display: block;
    width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
  }
}

/* --------------------------------------------------------
   【PC専用】パソコン・タブレット用（768px以上でのみ発動）
-------------------------------------------------------- */
@media (min-width: 768px) {
  
  /* --- 1. 大枠（配置と全体調整） --- */
  .lp03-15-wrapper {
    position: relative;
    
    /* セクション全体の最大サイズ（他のセクションと揃える） */
    max-width: 950px; 
    margin-left: auto;
    margin-right: auto;
    
    /* ▼ 上下のセクションとの隙間調整 ▼ */
    margin-top: 0px; 
    margin-bottom: 30px; /* ← ★下の要素との純粋な余白はココで調整！ */
  }

  /* --- 2. 前面画像（Lp-03-15） --- */
  .lp03-15-front {
    display: block;
    position: relative;
    z-index: 2; /* 背景より手前に */
    max-width: none !important; 
    
    /* 横幅（他と揃えて 100% に設定） */
    width: 100% !important; 
    
    /* 常にど真ん中配置 */
    left: 50% !important;
    transform: translateX(-50%) translateY(0px) !important; 
    
    /* ▼ 縦伸びと比率崩れを完全に防ぐ専用設定 ▼ */
    height: auto !important; 
    object-fit: contain !important; 
    
    /* ▼ 下のセクションの食い込み調整 ▼ */
    margin-bottom: 0% !important; /* ← ★下の要素を引っ張り上げたい場合はココをマイナスに！ */
  }

  /* --- 3. 背景画像（Lp-03-15back） --- */
  .lp03-15-back {
    display: block !important; 
    position: absolute;
    z-index: 1; /* 前面画像より後ろに */
    
    /* 常にど真ん中配置 */
    left: 50% !important;
    transform: translateX(-50%) !important;
    max-width: none !important; 

    /* ★画面の端から端まで絶対に広げる最強の横幅★ */
    width: 120% !important; 

    /* ▼ 前面画像と「全く同じ高さ」に揃える ▼ */
    /* ※もしmargin-topをマイナスにして上に引き上げる場合は、ここを115%などに増やしてください */
    height: 130% !important; 

    /* ▼ 背景画像の形（V字など）を綺麗に保つ魔法 ▼ */
    object-fit: cover !important; 
    
    /* 切り抜きの基準位置を「上端」にする */
    object-position: center top !important;
    
    /* ▼ 背景画像の上下位置調整 ▼ */
    top: 0% !important; 
    
    /* 前面画像のどの位置に背景のV字ラインを持ってくるかをココで微調整します */
    /* マイナスを大きくすると背景が上に上がり、プラスにすると下がります */
    margin-top: -5% !important; /* ← ★背景の位置はココで調整！ */
  }

  }

/* ========================================================
   ご来店お待ちしております セクション（Lp-03-16）
======================================================== */

/* ▼ pictureタグが邪魔をして背景が切れるのを防ぐ透明化の魔法 ▼ */
.lp03-16-wrapper picture {
  display: contents !important;
}

/* --------------------------------------------------------
   【スマホ専用】（767px以下）
-------------------------------------------------------- */
@media (max-width: 767px) {
  .lp03-16-wrapper {
    position: relative;
    width: 100%;
    margin-top: 0px; 
    margin-bottom: 0px; 
  }
  
  /* スマホ時は背景を隠して1枚絵にします */
  .lp03-16-back {
    display: none !important; 
  }
  
  /* 前面画像は100%で表示 */
  .lp03-16-front {
    display: block;
    width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
  }
}

/* --------------------------------------------------------
   【PC専用】パソコン・タブレット用（768px以上でのみ発動）
-------------------------------------------------------- */
@media (min-width: 768px) {
  
  /* --- 1. 大枠（配置と上下の余白調整） --- */
  .lp03-16-wrapper {
    position: relative;

/* ★追加：中の絶対配置要素（画像）が浮いても、枠自体が潰れないようにする最強のストッパー */
    display: flow-root !important; 
    
    max-width: 950px; 
    margin-left: auto;
    margin-right: auto;
    
/* ▼ 上下のセクションとの純粋な余白調整 ▼ */
    margin-top: 30px; 
    
    /* ★修正：下の要素（黄色い箱）をグッと押し下げるための余白を追加！ */
    /* ここを 10vw や 150px などに増やすことで、黄色い箱が絶対に潜り込まなくなります */
    margin-bottom: 8vw !important; 
  }

  /* --- 2. 前面画像（Lp-03-16） --- */
  .lp03-16-front {
    display: block;
    position: relative;
    z-index: 2; /* 背景より手前に */
    max-width: none !important; 
    
    /* 横幅（他と揃えて100%に設定） */
    width: 100% !important; 
    
    /* 常にど真ん中配置 */
    left: 50% !important;
    transform: translateX(-50%) translateY(0px) !important; 
    
    /* 縦伸びと比率崩れを防ぐストッパー */
    height: auto !important; 
    object-fit: contain !important; 
    
    /* ▼ 下のセクションの食い込み調整 ▼ */
    /* ここの数値を小さく（マイナスに）すると、下のセクションが上に引っ張り上げられます */
    margin-bottom: 0% !important; 
  }

  /* --- 3. 背景画像（Lp-03-16back） --- */
  .lp03-16-back {
    display: block !important; 
    position: absolute;
    z-index: 1; /* 前面画像より後ろに */
    
    /* 常にど真ん中配置 */
    left: 50% !important;
    transform: translateX(-50%) !important;
    max-width: none !important; 

    /* ★画面の端から端まで絶対に広げる最強の横幅★ */
    width: 140% !important; 

    /* ▼ 背景サイズの指定（開始位置＋高さ） ▼ */
    top: 0% !important; /* 開始位置は必ず上端 */
    
    /* ここの数値を大きく（110%や115%などに）すると、背景の下側が下に伸びて寸足らずを防げます */
    height: 109% !important; 

    /* 背景画像のV字などの形を綺麗に保ちつつ上基準で切り抜く */
    object-fit: cover !important; 
    object-position: center top !important;
    
    /* ▼ 背景画像自体の上下位置調整 ▼ */
    /* ここの数値を小さく（マイナスに）すると、背景画像のV字ラインが上に動きます-4.5 */
    /* ※マイナスにした場合は、必ず上の height を増やして下を伸ばしてください */
    margin-top: -7.5% !important;
  }
  }

/* ========================================================
   HEROZ 安さの秘密 セクション（Lp02-11）
======================================================== */

/* ▼ pictureタグが邪魔をして背景が切れるのを防ぐ透明化の魔法 ▼ */
.lp02-11-wrapper picture {
  display: contents !important;
}

/* --------------------------------------------------------
   【スマホ専用】（767px以下）
-------------------------------------------------------- */
@media (max-width: 767px) {
  .lp02-11-wrapper {
    position: relative;
    width: 100%;
    margin-top: 0px; 
    margin-bottom: 0px; 
  }
  
  /* スマホ時は背景を隠す */
  .lp02-11-back {
    display: none !important; 
  }
  
  /* 前面画像は1枚絵として100%表示 */
  .lp02-11-front {
    display: block;
    width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
  }
}

/* --------------------------------------------------------
   【PC専用】パソコン・タブレット用（768px以上でのみ発動）
-------------------------------------------------------- */
@media (min-width: 768px) {
  
  /* --- 1. 大枠（配置と全体調整） --- */
  .lp02-11-wrapper {
    position: relative;
    
    /* セクション全体の最大サイズ（他のセクションと揃える） */
    max-width: 950px; 
    margin-left: auto;
    margin-right: auto;
    
    /* ▼ 上下のセクションとの隙間調整 ▼ */
    margin-top: 50px; 
    margin-bottom: 0px; /* ← ★下の要素との純粋な余白はココで調整！ */
  }

  /* --- 2. 前面画像（Lp02-11） --- */
  .lp02-11-front {
    display: block;
    position: relative;
    z-index: 2; /* 背景より手前に */
    max-width: none !important; 
    
    /* 横幅（他と揃えて 100% に設定） */
    width: 100% !important; 
    
    /* 常にど真ん中配置 */
    left: 50% !important;
    transform: translateX(-50%) translateY(0px) !important; 
    
    /* ▼ 縦伸びと比率崩れを完全に防ぐ専用設定 ▼ */
    height: auto !important; 
    object-fit: contain !important; 
    
    /* ▼ 下のセクションの食い込み調整 ▼ */
    margin-bottom: 0% !important; /* ← ★下の要素を引っ張り上げたい場合はココをマイナスに！ */
  }

  /* --- 3. 背景画像（Lp02-11back） --- */
  .lp02-11-back {
    display: block !important; 
    position: absolute;
    z-index: 1; /* 前面画像より後ろに */
    
    /* 常にど真ん中配置 */
    left: 50% !important;
    transform: translateX(-50%) !important;
    max-width: none !important; 

    /* ★画面の端から端まで絶対に広げる最強の横幅★ */
    width: 120% !important; 

    /* ▼ 前面画像と「全く同じ高さ」に揃える ▼ */
    /* ※もしmargin-topをマイナスにして上に引き上げる場合は、ここを115%などに増やしてください */
    height: 100% !important; 

    /* ▼ 背景画像の形（集中線など）を綺麗に保つ魔法 ▼ */
    object-fit: cover !important; 
    
    /* 切り抜きの基準位置を「上端」にする */
    object-position: center top !important;
    
    /* ▼ 背景画像の上下位置調整 ▼ */
    top: 0% !important; 
    
    /* 前面画像のどの位置に背景の集中線を持ってくるかをココで微調整します */
    /* マイナスを大きくすると背景が上に上がり、プラスにすると下がります */
    margin-top: -8% !important; /* ← ★背景の位置はココで調整！ */
  }
}  
/* ===========================================================================
   ポイント③自社工場の安心整備 セクション（Lp-03-1）
============================================================================== */

/* ▼ pictureタグが邪魔をして背景が切れるのを防ぐ透明化の魔法 ▼ */
.lp03-1-wrapper picture {
  display: contents !important;
}

/* --------------------------------------------------------
   【スマホ専用】背景を隠して1枚絵にする（767px以下）
-------------------------------------------------------- */
@media (max-width: 767px) {
  .lp03-1-wrapper {
    position: relative;
    width: 100%;
    margin-top: 0px; 
    margin-bottom: 0px; 
  }
  
  /* スマホではPC用の背景を隠す */
  .lp03-1-back {
    display: none !important; 
  }
  
  /* 前面画像（スマホ時は1枚絵）は100%で表示して崩れ防止 */
  .lp03-1-front {
    display: block;
    width: 100% !important;
  /* ▼ スマホ版の上下の隙間調整 ▼ */
    /* 隙間を空けたい場合は 20px や 5vw などに増やし、食い込ませたい場合はマイナスにします */
    margin-top: 30px;    /* ← ★上のセクションとの余白調整（スマホ） */
    margin-bottom: 30px; /* ← ★下のセクションとの余白調整（スマホ） */
  }
}

/* --------------------------------------------------------
   【PC専用】パソコン・タブレット用（768px以上でのみ発動）
-------------------------------------------------------- */
@media (min-width: 768px) {
  
  /* --- 1. 大枠（配置と全体調整） --- */
  .lp03-1-wrapper {
    position: relative;
    
    /* セクション全体の最大サイズ（他のセクションと揃える） */
    max-width: 950px; 

    /* ▼ PC版の上下の隙間調整 ▼ */
    /* 空間を広く空けたい場合は 5vw や 50px のようにプラスに大きくします。
       逆に、前後のセクションにグッと近づけたり食い込ませたい場合は、
       -3vw や -30px などのマイナスの数値を設定してください */
    margin-top: 5%;    /* ← ★上のセクションとの余白調整（PC） */
    margin-bottom: 6%; /* ← ★下のセクションとの余白調整（PC） */
  }
    
    /* ▼ 上のセクションとの隙間調整 ▼ */
    margin-top: 20px; 
  }

  /* --- 2. 前面画像（Lp-03-1.jpg） --- */
  .lp03-1-front {
    display: block;
    position: relative;
    z-index: 2; /* 背景より手前に */
    max-width: none !important; 
    
    /* ▼ 前面画像の横幅調整 ▼ */
    /* 古いコードの邪魔がなくなれば、ここを 95% や 90% にすれば必ず小さくなります！ */
    width: 100% !important; 
    
    /* 常にど真ん中配置 */
    left: 50% !important;
    /* ★お客様の指摘通り！ translateY(0px) を追加して他と完全に統一！ */
    transform: translateX(-50%) translateY(0px) !important; 
    
    /* ▼ 縦伸びと比率崩れを完全に防ぐ専用設定 ▼ */
    height: auto !important;
    object-fit: contain !important;
    
    /* ▼ 下のセクションとの隙間調整 ▼ */
    margin-bottom: 7% !important; /* ← ★下の要素との隙間はココで調整！ */
  }

  /* --- 3. 背景画像（Lp-03-1back.png） --- */
  .lp03-1-back {
    display: block !important; 
    position: absolute;
    z-index: 1; /* 前面画像より後ろ（背景）にする */
    
    /* 常にど真ん中配置 */
    left: 50% !important;
    transform: translateX(-50%) !important;
    max-width: none !important; 

    /* ▼ ブラウザの端から端まで広げる魔法 ▼ */
    /* ※斜め線は110%だと極端に大きい画面で端に隙間ができることがあるため、念のため120%を推奨します */
    width: 120% !important; 

    /* ▼ 高さはお客様の完璧な調整値（75%）をキープ！ ▼ */
    height: 100% !important; 

    /* ▼ 【ココが解決の鍵！】ハサミで切らずに「枠に合わせて潰す」魔法 ▼ */
    /* cover（ズームして切る）をやめて、fill（枠に収まるように潰す）に変更！ */
    object-fit: fill !important; 
    
    /* ※fillにすると全体が枠に収まるため、object-position は不要になるので削除しました */
    
    /* ▼ 背景画像の上下位置調整 ▼ */
    top: 0% !important; 
    
    /* マイナスを大きくすると背景が上に上がり、プラスにすると下がります */
    margin-top: 0% !important; 
  }
}
/* ===========================================================================
   急に車が動かない セクション（Lp-03-2）
============================================================================== */

/* ▼ pictureタグが邪魔をして背景が切れるのを防ぐ透明化の魔法 ▼ */
.lp03-2-wrapper picture {
  display: contents !important;
}

/* --------------------------------------------------------
   【スマホ専用】背景を隠して1枚絵にする（767px以下）
-------------------------------------------------------- */
@media (max-width: 767px) {
  .lp03-2-wrapper {
    position: relative;
    width: 100%;
    margin-top: 0px; 
    margin-bottom: 0px; 
  }
  
  /* スマホではPC用の背景を隠す */
  .lp03-2-back {
    display: none !important; 
  }
  
  /* 前面画像（スマホ時は1枚絵）は100%で表示して崩れ防止 */
  .lp03-2-front {
    display: block;
    width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
  }
  }


/* --------------------------------------------------------
   【PC専用】パソコン・タブレット用（768px以上でのみ発動）
-------------------------------------------------------- */
@media (min-width: 768px) {
  
  /* --- 1. 大枠（配置と全体調整） --- */
  .lp03-2-wrapper {
    position: relative;
    max-width: 950px; 
    margin-left: auto;
    margin-right: auto;
    
    /* ▼ 上下のセクションとの純粋な余白調整 ▼ */
    margin-top: 50px; 
    margin-bottom: 0px;
  }

  /* --- 2. 前面画像（Lp-03-2） --- */
  .lp03-2-front {
    display: block;
    position: relative;
    z-index: 2; /* 背景より手前にする */
    max-width: none !important; 
    
    /* ▼ 前面画像のサイズ調整 ▼ */
    width: 100% !important; 
    
    /* 常にど真ん中に配置 */
    left: 50% !important;
    transform: translateX(-50%) translateY(0px) !important; 
    height: auto !important;
    object-fit: contain !important; 
    
    /* ▼ 前面画像の上下位置調整 ▼ */
    margin-top: 0% !important; 
  }

  /* --- 3. 背景画像（Lp-03-2back / ストライプ柄・美しさキープ版） --- */
  .lp03-2-back {
    display: block !important; 
    position: absolute;
    z-index: 1; /* 前面画像より後ろ（背景）にする */
    
    /* 常にど真ん中に配置 */
    left: 50% !important;
    transform: translateX(-50%) !important;
    max-width: none !important; 

    /* ▼ 背景画像の横幅 ▼ */
    width: 117% !important; 

    /* ▼ 背景画像の高さ（ストライプの長さを決める） ▼ */
    height: 100% !important; 

    /* ▼ 【ストライプ専用の魔法】線の太さを均等に保ちつつ枠を埋める ▼ */
    object-fit: cover !important; 
    
    /* 切り抜きの基準位置を「上」にする */
    object-position: center top !important; 

    top: 0% !important; 
    
    /* ▼ 背景画像の上下位置調整 ▼ */
    margin-top: -6.5% !important; 
  }
}


/* ===========================================================================
   人ガーン セクション（LP-03-3：完全一枚絵版）
============================================================================== */

/* ▼ 【コレも追加】pictureタグの制限を解除する透明化の魔法 ▼ */
.lp03-3-wrapper picture {
  display: contents !important;
}

/* --------------------------------------------------------
   【スマホ専用】（767px以下：崩れ防止で100%全幅表示）
-------------------------------------------------------- */
@media (max-width: 767px) {
  .lp03-3-wrapper {
    width: 100%;
    margin-top: 0px; 
    margin-bottom: 0px; 
  }
  .lp03-3-img {
    display: block;
    width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
  }
}

/* --------------------------------------------------------
   【PC専用】パソコン・タブレット用（768px以上でのみ発動）
-------------------------------------------------------- */
@media (min-width: 768px) {
  
  /* --- 1. 大枠（配置と【上下の余白・全体の高さ】の調整） --- */
  .lp03-3-wrapper {
    display: block;
    position: relative;
    max-width: 950px; 
    margin-left: auto;
    margin-right: auto;
    
    /* ▼ 上下のセクションとの「隙間（高さの幅）」はココで調整！ ▼ */
    margin-top: 5%;    /* ← ★上の要素との隙間調整 */
    margin-bottom: 10%; /* ← ★下の要素との隙間調整 */
  }

  /* --- 2. 画像本体（ココで【拡大縮小】を調整します） --- */
  .lp03-3-img {
    display: block;
    
    /* ▼ 画像のサイズ（拡大・縮小）調整 ▼ */
    width: 85% !important; /* ← ★画像の大きさ（％）はココで調整！ */
    
    /* 縦伸び・比率崩れを完全に防ぐストッパー */
    height: auto !important; 
    
    /* 画像を小さくしても、常に画面の「ど真ん中」をキープする魔法 */
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* ===========================================================================
   ■ 「私たち、ヒーローズが解決します！」調整版（お悩み画像 救出＆固定版）
============================================================================== */

/* --------------------------------------------------------
   1. 基本設定（スマホ用：完璧だった状態を完全復元）
-------------------------------------------------------- */
.bg-primary-color {
  display: block !important;        
  max-width: 1000px !important;     
  margin: 0 auto !important;        
  width: 100% !important;           
  box-sizing: border-box !important;
  
  /* ▼ ココで黄色い箱の上の隙間（内側）を狭くします！ ▼ */
  /* 元々は 90px でした。数値を小さくすると、上の「そのお悩み」画像が上に上がっていきます */
  padding-top: 78px !important;    /* ← ★ココを 40px や 30px などにして微調整！ */
  
  padding-left: 15px !important;
  padding-right: 15px !important;
  padding-bottom: 40px !important; 
}

.lp03-88-wrapper {
  /* ここの数値を小さく（マイナスに）すると下の要素が上に動きます */
  margin-bottom: 30px !important; 
  text-align: center !important;             
}
.lp03-88-wrapper img {
  max-width: 100% !important;       
  width: 90% !important; /* スマホ用サイズ */
  height: auto !important;
}

.hero-unique-title {
  text-align: center !important; 
  display: block !important;
  /* ここの数値を小さく（マイナスに）するとテキスト全体が上に動きます */
  margin-top: 40px !important; 
  
  /* ★画像配置の基準点 ＆ 背景に埋もれないよう最前面へ */
  position: relative !important; 
  z-index: 50 !important; 
}

/* ★画像を入れる箱（span）の透明化＆最前面魔法 */
.bg-primary-color h2 span {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 60 !important; 
  opacity: 1 !important; /* 古い半透明設定を強制キャンセル */
  pointer-events: none !important; /* クリックの邪魔をしない */
}

/* 「そのお悩み」画像のサイズと位置（スマホ用） */
.bg-primary-color h2 span img {
  /* ★幅を150pxにしました */
  width: 130px !important;
  
  /* ★絶対にズレない＆埋もれない魔法 */
  position: absolute !important;
  left: 50% !important; /* 常に画面中央を基準にする */
  margin: 0 !important; 
  z-index: 100 !important; /* 絶対に見えるように最前面へ */
  
  /* 上下調整：ここの数値を小さく（マイナスに）すると画像が上に動きます */
  top: -44px !important; 
  
  /* 左右調整：ここの数値を小さく（マイナスに）すると左へ、大きく（プラスに）すると右へ動きます */
  transform: translateX(-163px) !important; 
}

.list-grid1 .list:last-child {
  /* ここの数値を小さく（マイナスに）すると下の要素が上に動きます */
  margin-bottom: 0px !important; 
}

/* --------------------------------------------------------
   2. 【PC専用】見出しと画像・横並びレイアウトの調整（768px以上）
-------------------------------------------------------- */
@media screen and (min-width: 768px) {
  
  .bg-primary-color {
    /* ここが全幅の魔法！親枠の制限を突破して画面の端から端まで広げます！ */
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    width: 100vw !important;
    max-width: 100vw !important;  
    
    /* ここの数値を小さく（マイナスに）すると黄色い箱全体の開始位置が上に動きます */
    padding-top: 140px !important; 
    padding-bottom: 100px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .lp03-88-wrapper img {
    width: 350px !important; 
  }

  .hero-unique-title {
    font-size: 1.8rem !important;
    /* ここの数値を小さく（マイナスに）するとテキスト全体が上に動きます */
    margin-top: 20px !important;  
  }

  /* 「そのお悩み」画像のサイズと位置（PC用） */
  .bg-primary-color h2 span img {
    width: 190px !important;      
    
    /* ここの数値を小さく（マイナスに）すると画像が上に動きます */
    top: -60px !important;  
    
    /* ★左右調整：テキストの真ん中からの距離で固定するため、画面を伸縮しても絶対にズレません！ */
    /* -240pxなどにするとテキストの左上にピタッと配置されます */
    transform: translateX(-230px) !important; 
  }

  /* ★ココが重要★ 2つの白い箱の横並びバランス（PC用） */
  .list-grid1 {
    max-width: 720px !important;  
    margin-left: auto !important;
    margin-right: auto !important;
    
    /* ここの数値を小さく（マイナスに）すると白い箱全体が上に動きます */
    margin-top: 180px !important; 
    
    gap: 50px !important;         
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important; 
  }

  .list-grid1 .list {
    /* ここの数値を小さく（マイナスに）すると中のテキストが上に動きます */
    padding: 245px 30px 40px !important; 
    border-radius: 12px !important;
  }

  .list-grid1 .list figure.icon {
    width: 90% !important;         
    max-width: 400px !important;   
    
    /* ここの数値を小さく（マイナスに）すると車が上に動きます */
    margin-top: -100px !important; 
    
    position: absolute !important;
    top: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
  }

  .list-grid1 .list h4 {
    font-size: 1.35rem !important;
    /* ここの数値を小さく（マイナスに）すると見出しが上に動きます */
    margin-top: 0 !important;
    margin-bottom: 20px !important;
    line-height: 1.5 !important;
    text-align: center !important;
  }

  .list-grid1 .list p {
    font-size: 1.05rem !important;
    line-height: 1.8 !important;
    text-align: left !important;  
  }
}

/* =========================================
   LP03-18: コミコミ宣言/乗換の最終の告知
========================================= */

/* -----------------------------
   PC版の調整（背景＋表面画像の2層）
----------------------------- */
.lp-03-18-wrap {
  /* 【重なり調整】
     最前面に出しつつ、アニメーション等によるはみ出し非表示を強制解除します。 */
  position: relative;
  z-index: 9999;
  overflow: visible !important;
  
  /* 【位置調整】
     ここの数値を小さく（マイナスに）すると要素全体が上に動きます。
     大きく（プラスに）すると下に動きます。 */
  margin-top: 70px;
  text-align: center;
}

/* 表面のPC版画像サイズ */
.lp-03-18-wrap .lp-03-18-front img {
  /* 【サイズ調整】100%を基準に縮小します。 */
  width: 90%;
  height: auto;
  margin: 0 auto;
  display: block;
  /* 背景より手前に出します */
  position: relative;
  z-index: 2;
}

/* PC版の背景画像の調整 */
.lp-03-18-bg {
  position: absolute;
  /* 【位置調整】
     ここの数値を小さく（マイナスに）すると背景の開始位置が上に動きます。 */
  top: 20;
  left: 0;
  /* 【サイズ調整】
     bottomで引っ張らず、heightで長さを指定します。 */
  height: 100%;
  width: 100%;
  z-index: -1;
  overflow: hidden;
}

.lp-03-18-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


/* -----------------------------
   スマホ版の調整（1枚画像のみ）
----------------------------- */
.lp-03-18-wrap-sp {
  /* 【重なり・潜り込み防止の強力な調整】
     親要素の制限を突破し、確実に最前面に出してはみ出しを許可します。 */
  position: relative;
  z-index: 9999 !important;
  overflow: visible !important;

  /* 【位置調整】
     ここの数値を小さく（マイナスに）すると要素全体が上に動きます。 */
  margin-top: 20px;
  text-align: center;
}

/* スマホ版の画像サイズ */
.lp-03-18-wrap-sp img {
  /* 【サイズ調整】ここの数値を小さくすると画像が縮小します。 */
  width: 65%;
  height: auto;
  margin: 0 auto;
  display: block;
}




/* ============================================================================================
   【専用設定】FAQセクション（モバイルファースト・最終調整版）
============================================================================================ */

/* --------------------------------------------------------
   1. 基本設定（スマホ用：ここがすべてのベースになります）
-------------------------------------------------------- */
/* 背景色の調整 */
.faq-section {
    background-color: #fbdd91 !important; 
    width: 94% !important; 
    padding: 60px 10px !important;
    margin: 10px auto 30px auto !important;  
    box-sizing: border-box !important;
    border-radius: 10px !important;
}

/* 白枠の幅を固定 */
.faq-content-wrap {
    max-width: 800px !important; 
    width: 100% !important;      
    margin: 0 auto !important;
    box-sizing: border-box !important;
}

/* ★修正箇所③：タイトルの被り完全解消！ */
.faq-section h2 {
    display: block !important;
    text-align: center !important;
}
.faq-section h2 span {
    /* ▼ 犯人はココでした！他セクションの「絶対配置」の干渉を強制リセット ▼ */
    position: static !important; 
    width: auto !important;
    height: auto !important;
    
    display: block !important;
    font-size: 14px !important;
    font-weight: normal !important;
    color: #666666 !important;
    margin-bottom: 8px !important; 
}

/* フォントサイズとレイアウト（スマホ用） */
body .faq-section dt, 
body .faq-section dd {
    font-size: 15px !important; 
    line-height: 1.6 !important;
}

/* 質問テキスト（Q） */
body .faq-section dt {
    display: flex !important;          
    align-items: center !important;    
    width: 100% !important;            
    padding: 15px 0 !important;        
    padding-left: 20px !important;     
    line-height: 1.4 !important;       
    box-sizing: border-box !important; 
}

/* ★修正箇所①＆②：回答テキスト（A）左揃え・普通の太さ・スマホ時の左移動 */
body .faq-section dd {
    text-align: left !important;  
    font-weight: normal !important; /* ★太文字を解除 */
    padding: 0 1rem 1rem 1.5rem !important; /* ★スマホ時は左に寄せる */
}

/* 質問と回答のセット間に余白を追加 */
body .faq-section dl,
body .faq-section dt, 
body .faq-section dd {
    margin-bottom: 10px !important; 
}

/* 最後の質問セットの下だけ余白を消す */
body .faq-section dl > :last-child {
    margin-bottom: 0 !important;
}

/* 「もっと見る」ボタンの基本設定（スマホ用） */
.faq-btn-wrap {
    text-align: center !important;
    margin-top: 40px !important; 
}

/* ボタンの親枠 */
.faq-btn-wrap .btn1 {
    display: block !important;
    width: 180px !important;
    margin: 0 auto !important;
}

.faq-btn-wrap .btn1 a {
    display: block !important;
    width: 100% !important;
    padding: 10px 0 !important; 
    text-decoration: none !important;
    cursor: pointer !important;
}


/* --------------------------------------------------------
   2. 【PC専用】レイアウトの調整（768px以上）
-------------------------------------------------------- */
@media screen and (min-width: 768px) {
    
    /* 背景色の調整（PCサイズ） */
    .faq-section {
        padding: 80px 20px !important;
        max-width: 875px !important;      
        width: 95% !important; 
        margin: 20px auto 40px auto !important; 
    }

    /* タイトルのレイアウト崩れ対策 */
    #faq .c2 { display: block !important; }
    #faq .c2 .title { 
        width: 100% !important; 
        margin-bottom: 40px !important; 
        text-align: center !important; 
    }
    #faq .c2 .text { width: 100% !important; }

    /* フォントサイズの調整（PC用に小さく調整） */
    body .faq-section dt, 
    body .faq-section dd {
        font-size: 22px !important; 
    }

    /* PC版では画面が広いため、回答（A）の左の隙間を元の広い状態に戻します */
    body .faq-section dd {
        padding: 0 1rem 1rem 3.7rem !important; 
    }

    /* 「もっと見る」ボタンの設定（PCサイズ） */
    .faq-btn-wrap {
        margin-top: 60px !important; 
    }
    .faq-btn-wrap .btn1 { width: 220px !important; }
    .faq-btn-wrap .btn1 a { padding: 15px 0 !important; }
}



/* ========================================================================================================
   お客様の声（koe）セクション：
=========================================================================================================== */

/* ① 全体の背景色を設定 */
#koe {
    background-color: #e6f7ff !important; 
    padding: 60px 20px !important;
}

/* ④ タイトルの強制復活 */
#koe h2.c {
    display: block !important;
    text-align: center !important;
    color: #333333 !important; 
    margin-bottom: 40px !important;
    font-size: 28px !important;
}
#koe h2.c span {
    display: block !important;
    font-size: 14px !important;
    color: #666666 !important;
}

/* ========================================================
   ②＆③ 白枠と画像のレイアウト（縦積み・サイズ調整）
======================================================== */

/* リストアイテム（これが白枠になります）の共通設定 */
#koe .list {
    background-color: #ffffff !important; 
    border-radius: 10px !important;       
    margin: 0 auto 40px auto !important;  
    display: block !important;            
    box-sizing: border-box !important;
    box-shadow: 0px 10px 25px rgba(0, 0, 0, 0.15) !important; 
} /* ★余分な } を削除して正常化しました */

/* 画像を囲む枠の共通設定 */
#koe .list figure {
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
    float: none !important; 
}

/* 画像自体の共通設定 */
#koe .list figure img {
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
    border-radius: 5px !important; 
}

/* ② テキストが押し潰されるのを防ぐ */
#koe .list .text {
    width: 100% !important;
    text-align: center !important;
    float: none !important; 
    box-sizing: border-box !important;
}

/* --------------------------------------------------------
   ③ 【PC専用】白枠・画像のサイズ調整（768px以上）
-------------------------------------------------------- */
@media screen and (min-width: 768px) {
    #koe .list {
        max-width: 800px !important; 
        padding: 40px !important;    
    }
    #koe .list figure img {
        width: 100% !important;
        max-width: 500px !important; 
    }
    #koe .list .text {
        padding: 30px 20px 10px !important; 
        font-size: 18px !important;
    }
}

/* --------------------------------------------------------
   ③ 【スマホ専用】白枠・画像のサイズ調整（767px以下）
-------------------------------------------------------- */
@media screen and (max-width: 767px) {
    #koe {
        padding: 40px 10px !important; 
    }
    #koe .list {
        width: 95% !important;       
        padding: 20px !important;    
    }
    #koe .list figure img {
      /* ↓★スマホの画像の大きさはここで決まります！↓ */ 
       width: 70% !important;      
    }
    #koe .list .text {
        padding: 20px 10px 5px !important; 
        font-size: 15px !important;
    }
}

/* ========================================================
   もっと見るボタンの配置（元のデザイン＋色変更のみ）
======================================================== */
#koe .koe-btn-wrap {
    text-align: center !important;
    margin-top: 40px !important;
}

/* ① ボタンの親枠でサイズを元の大きさに固定 */
#koe .koe-btn-wrap .btn1 {
    display: block !important;
    width: 220px !important;   /* PC時のボタン幅 */
    margin: 0 auto !important; /* 中央寄せ */
}

/* ② ボタン本体（元の形を維持し、背景色だけ指定） */
#koe .koe-btn-wrap .btn1 a {
    display: block !important;
    width: 100% !important;
    padding: 15px 0 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    text-align: center !important;
    
    /* ボタンの背景色（淡い水色） */
    background-color: #d0e4f0 !important; /* ※画像に近い色に推測しています */
    
    /* ★文字色をネイビーにし、少し太字にする */
    color: #485663 !important; 
    font-weight: bold !important; 
}

/* ③ スマホ時のボタンサイズ縮小 */
@media screen and (max-width: 767px) {
    #koe .koe-btn-wrap .btn1 { 
        width: 180px !important; /* スマホ時のボタン幅 */
    }
    #koe .koe-btn-wrap .btn1 a { 
        padding: 10px 0 !important; 
    }
}
/* ========================================================
   タイトル（お客様の声 ＆ FAQ）の文字サイズ統一
======================================================== */

/* ① PC時のサイズ（大きすぎず小さすぎない 26px に統一） */
#koe h2.c,
#faq .c2,
.faq-section .title,
.faq-section h2 {
    font-size: 26px !important;
    font-weight: bold !important;
    text-align: center !important;
    line-height: 1.4 !important;
}

/* 英語のサブタイトル（Customer Testimonials など）の調整 */
#koe h2.c span {
    font-size: 13px !important;
    display: block !important;
    margin-top: 8px !important;
    color: #666666 !important;
    font-weight: normal !important;
}

/* ② スマホ時のサイズ（中間の 21px に完全統一） */
@media screen and (max-width: 767px) {
    #koe h2.c,
    #faq .c2,
    .faq-section .title,
    .faq-section h2 {
        font-size: 21px !important; /* ★ここでスマホのサイズを揃えています */
        margin-bottom: 30px !important;
    }
    
    #koe h2.c span {
        font-size: 12px !important;
        margin-top: 4px !important;
    }
}

/* ========================================================
   YouTube動画のレスポンシブ対応（スマホではみ出さない設定）
======================================================== */
.video-wrap {
    width: 90% !important;
    max-width: 800px !important; /* PC画像の最大幅に合わせる */
    margin: 0 auto 60px auto !important; /* 中央寄せ ＆ 下の余白 */
}

/* 動画の縦横比（16:9）を維持するための魔法の箱 */
.video-wrap .video {
    position: relative !important;
    width: 100% !important;
    padding-top: 56.25% !important; /* 16:9の比率を維持する設定 */
}

/* 中のiframeを箱にピッタリはめ込む */
.video-wrap .video iframe {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    
    /* 他のセクション（お客様の声やFAQ）とデザインを統一 */
    border-radius: 10px !important; /* 角を少し丸くする */
    box-shadow: 0px 10px 25px rgba(0, 0, 0, 0.15) !important; /* 影をつける */
}


/* ===========================================================================
   ■ 【掲載車一覧】スマホ画面端フィット＆PCサイズ強制拡張版（タイトルなし版）
============================================================================== */

/* ★ セクション全体の外枠と、前後のセクションとの隙間（スマホ用） */
#car-gallery {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: hidden !important; 
    
    /* ▼▼ スマホ版：セクション内側の上下余白 ▼▼ */
    /* 【修正】paddingにはマイナスの数字が使えないため、0に直します！ */
    padding-top: 0px !important;       /* ← スマホの上の隙間 */
    padding-bottom: 5px !important;    /* ← スマホの一番下の画像の下の隙間 */

    /* ▼▼ スマホ版：前後のセクションとの間の隙間を直接調整する魔法 ▼▼ */
    /* 【修正】上のセクション（メーカー取扱い画像）との隙間は、ココをプラスにして押し下げます！ */
    margin-top: 20px !important;       /* ← ★ココを 80px や 100px に増やして隙間を調整！ */
    margin-bottom: 0px !important;     /* ← ★スマホの「次（下）」のセクションとの隙間 */
}

/* --- 1. 基本設定（スマホ用：1列で大きく表示） --- */
.custom-car-gallery-wrapper {
    display: grid !important;
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important; 
    gap: 30px !important; 
    
    /* スマホ時は画面幅を基準に広げます */
    width: 94vw !important; 
    max-width: 95vw !important; 
    margin-left: calc(50% - 47vw) !important;
    margin-right: calc(50% - 47vw) !important;
    
    margin-top: 0px !important; 
    margin-bottom: 0px !important;
}

/* 各画像アイテムの白枠設定 */
.custom-car-gallery-wrapper .custom-car-item {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    background-color: #ffffff !important;
    border-radius: 8px !important; 
    overflow: hidden !important;
    box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.1) !important; 
    padding: 0px !important; 
    border: none !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;

    /* js-scroll-fadeによる透明化のバグを最初から強制解除 */
    opacity: 1 !important;
    visibility: visible !important;
}

/* pictureタグをブロック化して幅を100%に強制拡張 */
.custom-car-gallery-wrapper .custom-car-item picture {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

/* 画像自体の設定 */
.custom-car-gallery-wrapper .custom-car-item img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    object-fit: cover !important; 
}


/* --- 2. 【PC専用】パソコン・タブレット用（768px以上） --- */
@media screen and (min-width: 768px) {
    
    /* ▼▼ PC版：セクション全体の上下余白 ＆ 前後のセクションとの隙間 ▼▼ */
    #car-gallery {
        padding-top: 20px !important;    /* ← PCの上の隙間 */
        padding-bottom: 10px !important; /* ← PCの一番下の画像の下の隙間 */

        /* PC大画面で前後のセクションとの隙間が気になる場合、マイナス数値にすると食い込ませて隙間を消せます */
        margin-top: -30px !important;      /* ← ★PCの「前（上）」のセクションとの隙間 */
        margin-bottom: 0px !important;   /* ← ★PCの「次（下）」のセクションとの隙間 */
    }

    .custom-car-gallery-wrapper {
        /* PCは2列に設定 */
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important; 
        gap: 30px !important; 
        width: 100% !important; 
        max-width: 100% !important; 
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .custom-car-gallery-wrapper .custom-car-item {
        padding: 0px !important; 
    }

    /* PC版のみ：マウスを乗せた時にフワッと少し浮き上がるエフェクト */
    .custom-car-gallery-wrapper .custom-car-item:hover {
        transform: translateY(-5px) !important;
        box-shadow: 0px 10px 25px rgba(0, 0, 0, 0.15) !important;
    }
    
    /* ▼▼ PC版：画像の拡大（画像データに白いフチがある場合の裏技！） ▼▼ */
    .custom-car-gallery-wrapper .custom-car-item img {
        transform: scale(1.0) !important; 
    }
}

/* ============================================================================================
   お客様の納車式（正方形キープ ＋ リボン装飾版：iPhone完全対策済）
============================================================================================ */

/* 既存のlistの白枠設定をリセットし、内側の専用フレームにデザインを任せます */
#koe .list {
    background: transparent !important; 
    box-shadow: none !important;        
    padding: 0 !important;
    /* リボンやプレートがはみ出す分の「上下の余白」を多めに確保します */
    margin-bottom: 70px !important; 
}

/* ▼ 白枠の正方形フレーム ▼ */
.delivery-square-frame {
    position: relative !important;
    width: 100% !important;
    /* PC表示の際の最大の大きさ（お好みで400pxなどに変更可能です） */
    max-width: 450px !important; 
    margin: 0 auto !important;
    
    /* ★ココが魔法！画面が伸縮しても絶対に縦横比1:1（正方形）をキープします */
    aspect-ratio: 1 / 1 !important; 
    
    background-color: #ffffff !important;
    
    /* 【iPhone対策①】paddingを削除し、中の要素を「絶対配置」にして白枠を作ります */
    border-radius: 8px !important;
    box-shadow: 0px 8px 25px rgba(0, 0, 0, 0.15) !important;
    box-sizing: border-box !important;
}

/* ▼ ① 写真部分（白枠の内側で綺麗に正方形にトリミング） ▼ */
.delivery-square-frame .photo-inner {
    /* 【iPhone対策②】絶対配置で強制的に箱のサイズを固定し、ハミ出しを許しません */
    position: absolute !important;
    top: 4% !important;    /* 4%の白枠（上）を作る */
    left: 4% !important;   /* 4%の白枠（左）を作る */
    width: 92% !important; /* 残りの92%が写真の幅 */
    height: 92% !important;/* 残りの92%が写真の高さ */
    
    border-radius: 4px !important;
    
    /* 枠からハミ出した分を絶対に隠す！という強力な指示です */
    overflow: hidden !important; 
    
    /* 【iPhone対策③】iPhoneの「角丸はみ出しバグ」を防ぐ特殊な魔法 */
    -webkit-mask-image: -webkit-radial-gradient(white, black) !important;
    transform: translateZ(0) !important;
}

/* ▼ 追加：pictureタグにもフタをする（これもiPhoneバグの原因になります） ▼ */
.delivery-square-frame .photo-inner picture {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

/* ▼ 写真本体 ▼ */
.delivery-square-frame .photo-inner img {
    width: 100% !important;
    height: 100% !important;
    
    /* 縦長・横長のどんな写真でも、枠に合わせる設定 */
    object-fit: cover !important; 
    display: block !important;
    margin: 0 auto !important;
}

/* ▼ ② 左上のリボン（ribon.png） ▼ */
.delivery-square-frame .ribbon-top {
    position: absolute !important;
    z-index: 11 !important;
    display: block !important;
    
    /* リボンの大きさ */
    width: 100% !important; 
    
    /* 白枠からの「はみ出し具合」をマイナスで調整します */
    top: 0% !important;  
    left: 0% !important; 
}
.delivery-square-frame .ribbon-top img {
    width: 100% !important;
    height: auto !important;
}

/* ▼ ③ 下のテキストプレート（ribon2.png） ▼ */
.delivery-square-frame .ribbon-bottom {
    position: absolute !important;
    z-index: 10 !important;
    display: block !important;
    
    /* 常に枠のど真ん中に配置 */
    left: 50% !important;
    transform: translateX(-50%) !important;
    
    /* プレートの大きさ（白枠より少し大きくはみ出させる場合は95%や105%に） */
    width: 102% !important; 
    
    /* 白枠の下部からの「はみ出し具合」 */
    bottom: 4.5% !important; 
}
.delivery-square-frame .ribbon-bottom img {
    width: 100% !important;
    height: auto !important;
}

/* ========================================================
   店舗・スタッフ案内 セクション（Lp-04-1）
======================================================== */

/* ▼ pictureタグが邪魔をして背景が切れるのを防ぐ透明化の魔法 ▼ */
.lp04-1-wrapper picture {
  display: contents !important;
}

/* --------------------------------------------------------
   【スマホ専用】（767px以下）
-------------------------------------------------------- */
@media (max-width: 767px) {
  
  /* ▼ ココが解決の鍵！スマホ版の「表示されている箱」に対して隙間を指定します ▼ */
  #shop-info .is-sp {
    margin-top: 50px !important;  /* ← ★スマホの上の隙間はココ！ */
    margin-bottom: 0px !important; /* ← ★スマホの下の隙間はココ！ */
  }

  /* (以下はPC用の隠れている箱の念のためのリセット設定) */
  .lp04-1-wrapper {
    position: relative;
    width: 100%;
    margin-top: 0px !important; 
    margin-bottom: 0px !important; 
  }
  
  /* スマホ時はPC用の背景画像を隠す */
  .lp04-1-back {
    display: none !important; 
  }
  
  /* スマホ用前面画像（1枚絵）は100%で表示 */
  /* ※スマホの画像は .lp04-1-front ではなく .sp-single-image という名前が正解です！ */
  .sp-single-image {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
  }
}

/* --------------------------------------------------------
   【PC専用】パソコン・タブレット用（768px以上でのみ発動）
-------------------------------------------------------- */
@media (min-width: 768px) {
  
  /* --- 1. 大枠（配置と全体調整） --- */
  .lp04-1-wrapper {
    position: relative;
    
    /* セクション全体の最大サイズ（他のセクションと揃える） */
    max-width: 950px; 
    margin-left: auto;
    margin-right: auto;
    
    /* ▼ 上下のセクションとの隙間調整 ▼ */
    margin-top: 0px; 
    margin-bottom: 30px; /* ← ★下の要素との純粋な余白はココで調整！ */
  }

  /* --- 2. 前面画像（Lp-04-1） --- */
  .lp04-1-front {
    display: block;
    position: relative;
    z-index: 2; /* 背景より手前に */
    max-width: none !important; 
    
    /* 横幅（他と揃えて 100% に設定） */
    width: 100% !important; 
    
    /* 常にど真ん中配置 */
    left: 50% !important;
    transform: translateX(-50%) translateY(0px) !important; 
    
    /* ▼ 縦伸びと比率崩れを完全に防ぐ専用設定 ▼ */
    height: auto !important; 
    object-fit: contain !important; 
    
    /* ▼ 下のセクションの食い込み調整 ▼ */
    margin-bottom: 0% !important; 
  }

  /* --- 3. 背景画像（Lp-04-1back） --- */
  .lp04-1-back {
    display: block !important; 
    position: absolute;
    z-index: 1; /* 前面画像より後ろに */
    
    /* 常にど真ん中配置 */
    left: 50% !important;
    transform: translateX(-50%) !important;
    max-width: none !important; 

    /* ★画面の端から端まで絶対に広げる最強の横幅★ */
    /* 広がりが足りない場合は 130% や 140% に増やしてください */
    width: 120% !important; 

    /* ▼ 前面画像と「全く同じ高さ」に揃える ▼ */
    height: 110% !important; 

    /* ▼ 背景画像の形（V字など）を綺麗に保つ魔法 ▼ */
    object-fit: cover !important; 
    
    /* 切り抜きの基準位置を「上端」にする */
    object-position: center top !important;
    
    /* ▼ 背景画像の上下位置調整 ▼ */
    top: 0% !important; 
    
    /* 前面画像のどの位置に背景のV字ラインを持ってくるかをココで微調整します */
    /* マイナスを大きくすると背景が上に上がり、プラスにすると下がります */
    margin-top: -5% !important; /* ← ★背景の位置はココで調整！ */
  }

}

/* ========================================================
   ■ SDGs宣言 セクション（Lp-04-3）
======================================================== */

/* ▼ pictureタグが邪魔をして背景が切れるのを防ぐ透明化の魔法 ▼ */
.lp04-3-wrapper picture {
  display: contents !important;
}

/* --------------------------------------------------------
   【スマホ専用】（767px以下）
-------------------------------------------------------- */
@media (max-width: 767px) {
  
  /* ▼ ココが解決の鍵！大枠そのものを強制的に上に引っ張り上げます ▼ */
  #sdgs-info {
    /* もっと隙間を詰めたい場合は -50px や -80px に増やしてください！ */
    margin-top: -50px !important;    /* ← ★スマホの上の隙間はココで調整！ */
    margin-bottom: -15px !important;  /* ← ★スマホの下の隙間はココで調整！ */
  }

  /* スマホ用の箱自体の余白は一旦ゼロにリセットしておきます */
  .custom-sdgs-section .is-sp {
    margin-top: 0px !important;  
    margin-bottom: 0px !important; 
  }

  .lp04-3-wrapper {
    position: relative;
    width: 100%;
    margin-top: 0px !important; 
    margin-bottom: 0px !important; 
  }
  
  /* スマホ時はPC用の背景を隠す */
  .lp04-3-back {
    display: none !important; 
  }
}

/* --------------------------------------------------------
   【PC専用】パソコン・タブレット用（768px以上でのみ発動）
-------------------------------------------------------- */
@media (min-width: 768px) {
  
  /* ▼ ココを追加！PC版も大枠ごと強制的に上に引っ張り上げます ▼ */
  #sdgs-info {
    /* 隙間を詰めたい場合は -50px や -80px などマイナスを大きくしてください！ */
    margin-top: -40px !important;  /* ← ★PCの上の隙間はココで調整！ */
  }

  /* --- 1. 大枠（配置と全体調整） --- */
  .lp04-3-wrapper {
    position: relative;
    
    /* セクション全体の最大サイズ（他のセクションと揃える） */
    max-width: 950px; 
    margin-left: auto;
    margin-right: auto;
    
    /* 大枠で上に引っ張るため、中の箱の上の余白は一旦ゼロにリセットしておきます */
    margin-top: 0px !important;  
    
    margin-bottom: 50px; /* ← ★PCの下の隙間 */
  }

  /* --- 2. 前面画像（Lp-04-3） --- */
  /* (これ以下のコードは変更しなくて大丈夫です！) */

  /* --- 2. 前面画像（Lp-04-3） --- */
  .lp04-3-front {
    display: block;
    position: relative;
    z-index: 2; /* 背景より手前に */
    max-width: none !important; 
    
    /* 横幅（他と揃えて 100% に設定） */
    width: 104% !important; 
    
    /* 常にど真ん中配置 */
    left: 50% !important;
    transform: translateX(-50%) translateY(0px) !important; 
    
    height: auto !important; 
    object-fit: contain !important; 
    margin-bottom: 0% !important; 
  }

  /* --- 3. 背景画像（Lp-04-3back） --- */
  .lp04-3-back {
    display: block !important; 
    position: absolute;
    z-index: 1; /* 前面画像より後ろに */
    
    /* 常にど真ん中配置 */
    left: 50% !important;
    transform: translateX(-50%) !important;
    max-width: none !important; 

    /* ★画面の端から端まで絶対に広げる最強の横幅（vwを使用）★ */
    width: 120vw !important; 

    /* ▼ 前面画像に対する高さの割合 ▼ */
    height: 110% !important; 

    /* 背景画像の形を綺麗に保つ魔法 */
    object-fit: cover !important; 
    object-position: center center !important;
    
    /* ▼ 背景画像の上下位置調整 ▼ */
    top: 0% !important; 
    
    /* 前面画像のどの位置に背景を持ってくるかをココで微調整します */
    /* マイナスを大きくすると背景が上に上がります */
    margin-top: -5% !important; /* ← ★背景の位置はココで調整！ */
  }
}

/* ※ バグ防止：js-scroll-fade による透明化を強制解除 */
.custom-sdgs-section .js-scroll-fade {
    opacity: 1 !important;
    visibility: visible !important;
}


/* ===========================================================================
   ■ バグ修正：スマホ版の「順番入れ替わり」をHTML通りに直す魔法
============================================================================== */
@media screen and (max-width: 767px) {
  .hero-inner {
    /* Flexbox（並べ替え機能）を解除し、純粋にHTMLの書いた順番通りに並べます */
    display: block !important; 
  }
}

/* ===========================================================
   【重要【絶対に消さない】PC・スマホの画像をHTML出し分けスイッチ
   ※ファイルの一番最後に配置
============================================================ */
/* スマホ画面：スマホ専用ブロックのみ表示 */
.is-pc { display: none !important; }
.is-sp { display: block !important; }

/* PC画面（768px以上）：PC専用ブロックを表示し、スマホ用を隠す */
@media screen and (min-width: 768px) {
  .is-pc { display: block !important; }
  .is-sp { display: none !important; }
}

/* スマホ用1枚絵を綺麗に表示する共通設定 */
.sp-single-image { 
  width: 100% !important; 
  height: auto !important; 
  display: block !important; 
  margin: 0 auto !important; 
}
/* ===========================================================================
   ■ 画像のチラつき・ノイズ・描画バグを防止する魔法（安全版）
============================================================================== */
img, picture {
    /* ブラウザのグラフィック処理を安定させる（重なり順は壊さない！） */
    -webkit-backface-visibility: hidden !important;
    backface-visibility: hidden !important;
}




/* ========================================================
   ■ カレンダーポップアップ（モーダル） PC・スマホ独立設定
======================================================== */

/* ▼ 共通設定 ▼ */
.modal-overlay {
  display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%;
  background: rgba(0, 0, 0, 0.75); z-index: 9999; 
  align-items: center; justify-content: center;
}
.modal-overlay.is-open { display: flex !important; }
@keyframes modal-fade-in {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
.modal-content {
  background: #ffffff; border-radius: 12px; position: relative;
  box-shadow: 0 5px 20px rgba(0,0,0,0.3); overflow-y: auto;
  animation: modal-fade-in 0.3s ease;
}

/* ▼ 右上の閉じる（×）ボタン（前のシンプルなデザイン！） ▼ */
.modal-close-btn {
  position: absolute;
  top: 5px;
  right: 10px;
  font-size: 32px;
  background: none;
  border: none;
  color: #666; /* バツの色 */
  cursor: pointer;
  padding: 0 10px;
  z-index: 10;
}

.modal-text-wrap strong { color: #e60012; }

/* ▼ 下部の閉じるボタンエリア ▼ */
.modal-close-footer {
  text-align: center; /* ★ボタンをど真ん中に配置！ */
  margin-top: 20px;
  padding-top: 20px;
  position: relative;
}

/* ★短くてシンプルな1本線を追加！ */
.modal-close-footer::before {
  content: "";
  display: block;
  width: 50%; /* 線の長さを50%に短く */
  height: 1px; /* 1本線 */
  background-color: #ddd; /* 線の色（薄いグレー） */
  margin: 0 auto 20px auto; /* 線を真ん中にして、ボタンとの間に余白をあける */
}

/* ▼ 下部の閉じるボタン本体のデザイン ▼ */
.btn-close-bottom {
  background: #ffffff; /* ボタンの背景色（白） */
  color: #333333; /* 文字の色 */
  
  /* ★ボタンの枠線の太さと色を指定！（ここをお好きな色に変えてください） */
  border: 2px solid #333333; 
  
  padding: 8px 30px;
  font-size: 15px; border-radius: 25px; cursor: pointer;
  display: inline-block; font-weight: bold;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  transition: all 0.3s ease;
}
/* ホバー時（PCでマウスを乗せた時）に少し色を変えるおまけ */
.btn-close-bottom:hover {
  background: #f5f5f5;
}

/* --------------------------------------------------------
   【スマホ版】（767px以下）
-------------------------------------------------------- */
@media screen and (max-width: 767px) {
  .modal-content {
    width: 90%;          
    max-height: 85vh;    
    padding: 30px 20px 20px; 
  }
  .modal-image-wrap img {
    width: 100%;         
    height: auto;
    border-radius: 8px;
    margin-bottom: 20px;
  }
  .modal-text-wrap p {
    font-size: 14px;     
    line-height: 1.6;
    color: #333;
    margin: 0 0 5px 0;
  }
}

/* --------------------------------------------------------
   【PC版】（768px以上）
-------------------------------------------------------- */
@media screen and (min-width: 768px) {
  .modal-content {
    width: 550px;        
    max-height: 90vh;
    padding: 40px 30px 30px; 
  }
  .modal-image-wrap img {
    width: 100%;          
    height: auto;
    border-radius: 8px;
    margin: 0 auto 25px auto; 
    display: block;
  }
  .modal-text-wrap p {
    font-size: 15px;     
    line-height: 1.8;    
    color: #333;
    margin: 0 0 8px 0;
  }
  .modal-close-footer {
    display: block !important; 
    margin-top: 25px; 
  }
}

/* ========================================================
   ■ モーダル内：Googleマップボタンのデザイン（PC・スマホ独立）
======================================================== */
.modal-map-btn-wrap {
  text-align: center;
  margin: 25px 0 10px 0;
}

/* ▼ 共通の基本デザイン（色やアニメーション） ▼ */
.btn-modal-map {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #1a73e8; /* Googleマップブルー */
  color: #ffffff !important;
  font-weight: bold;
  text-decoration: none;
  border-radius: 30px;
  box-shadow: 0 4px 10px rgba(26, 115, 232, 0.3);
  transition: all 0.3s ease;
}
.btn-modal-map i {
  margin-right: 8px; /* アイコンと文字の隙間 */
}
/* ホバー時（PCでマウスを乗せた時）の動き */
.btn-modal-map:hover {
  background-color: #1557b0;
  box-shadow: 0 6px 15px rgba(26, 115, 232, 0.4);
  transform: translateY(-2px);
}

/* --------------------------------------------------------
   【スマホ版】のボタンサイズ（767px以下）
-------------------------------------------------------- */
@media screen and (max-width: 767px) {
  .btn-modal-map {
    padding: 12px 20px; /* 上下・左右の内側余白 */
    font-size: 15px;    /* スマホ用の文字サイズ */
    width: 90%;         /* スマホでは画面いっぱいに近く広げる */
  }
  .btn-modal-map i {
    font-size: 16px;    /* アイコンのサイズ */
  }
}

/* --------------------------------------------------------
   【PC版】のボタンサイズ（768px以上）
-------------------------------------------------------- */
@media screen and (min-width: 768px) {
  .btn-modal-map {
    padding: 16px 40px; /* PC用に上下・左右をゆったりと！ */
    font-size: 18px;    /* PC用に文字を少し大きく！ */
    width: auto;        /* 文字の長さに合わせて広げる */
    min-width: 320px;   /* ただし最低でもこの幅はキープする */
  }
  .btn-modal-map i {
    font-size: 20px;    /* PC用のアイコンサイズ */
  }
}

/* =========================================================================
   ■ ★（PC専用）★電話・店舗情報ポップアップ（PC用専用モーダル）のデザイン
=========================================================================== */


/* --------------------------------------------------------
   【基本スタイル】モバイルファースト（スマホサイズベース）
-------------------------------------------------------- */
.info-modal-content {
  text-align: center;
  border-radius: 20px; /* ★箱全体の角を大きく丸くして柔らかく */
  padding: 30px 20px 25px; /* ふんわりとした余裕のある余白 */
}

/* ▼ 見出し（タイトル）を優しい印象に ▼ */
.info-title {
  font-size: 18px;
  font-weight: bold;
  color: #555; /* 真っ黒ではなく、少し優しいグレーに */
  background-color: #f0f5fa; /* 薄い青色の背景で包み込む */
  padding: 10px 25px;
  border-radius: 30px; /* 完全に丸いボタンのような形に */
  display: inline-block;
  
  /* ここの数値を小さく（マイナスに）すると見出しが上に動きます */
  margin-top: 0px !important;
  
  /* ここの数値を大きく（プラス）すると下の電話番号ボックスとの隙間が広がります */
  margin-bottom: 25px !important; 
}

/* ▼ 電話番号のエリアを可愛らしく温かく ▼ */
.tel-box {
  background-color: #fffaf0; /* ほんのり温かみのあるクリーム色 */
  border: 2px dashed #ffdcb8; /* 実線ではなく破線（ステッチ風）にして柔らかく */
  border-radius: 15px; /* 角を丸く */
  padding: 20px 10px;
  
  /* ここの数値を小さく（マイナスに）すると電話番号の箱全体が上に動きます */
  margin-top: 0px !important; 
  
  /* ここの数値を大きく（プラス）すると下の店舗情報との隙間が広がります */
  margin-bottom: 30px !important; 
}

.tel-label {
  font-size: 14px;
  color: #666;
  
  /* 下方向の余白は使わず、下の要素（電話番号）の margin-top で制御します */
  margin-bottom: 0 !important;
}

.tel-number {
  font-size: 28px;
  font-weight: bold;
  color: #ff6b6b; /* 強い赤ではなく、少しパステル寄りの優しいコーラルレッドに */
  letter-spacing: 2px;
  
  /* ここの数値を小さく（マイナスに）すると電話番号が上に動きます */
  /* プラスの数値を大きくすると下に動いて上のラベルとの隙間が広がります */
  margin-top: 5px !important; /* ← ★スマホ版：ラベルとの隙間調整はココ！ */
  
  margin-bottom: 0;
}

/* ▼ Flexboxを活用した住所・営業時間の美しいレイアウト（角丸仕様） ▼ */
.store-details dl {
  display: flex;
  flex-wrap: wrap; /* 横幅が足りない場合は折り返す */
  text-align: left;
  border: 1px solid #f0f0f0; /* 全体を囲む薄い枠線 */
  border-radius: 15px; /* ★表全体も角を丸くする！ */
  overflow: hidden; /* 角丸からはみ出た部分を隠して綺麗に見せる魔法 */
}

.store-details dt {
  width: 30%;
  padding: 15px 10px;
  font-weight: bold;
  background-color: #fafafa; /* 見出しの背景色をとても淡いグレーに */
  border-bottom: 1px solid #f0f0f0;
  box-sizing: border-box;
  color: #555;
}

.store-details dd {
  width: 70%;
  padding: 15px 10px;
  border-bottom: 1px solid #f0f0f0;
  margin: 0; /* Flexboxの仕様上、マージンはリセット */
  box-sizing: border-box;
  color: #444;
}

/* 最後の行の下線を消してスッキリさせる小技 */
.store-details dt:nth-last-of-type(1),
.store-details dd:nth-last-of-type(1) {
  border-bottom: none;
}

/* --------------------------------------------------------
   【PC版の調整】（768px以上で発動）
-------------------------------------------------------- */
@media screen and (min-width: 768px) {
  
  .info-wrap {
    padding: 0 20px; /* PCの大画面用に左右の余白を少し広くする */
  }
  
  .info-title {
    font-size: 22px; /* タイトルを少し大きく */
  }
  
  .tel-number {
    font-size: 38px; /* PC画面では電話番号をガッツリ目立たせる！ */
    
    /* ここの数値を小さく（マイナスに）すると電話番号が上に動きます */
    /* プラスの数値を大きくすると下に動いて上のラベルとの隙間が広がります */
    margin-top: 10px !important; /* ← ★PC版：ラベルとの隙間調整はココ！ */
  }
  
  .store-details dt, 
  .store-details dd {
    font-size: 16px; /* 文字を読みやすく大きく */
  }
}

/* ======================================================
   ★ スマホ追従ボタン＆社長のタイミング制御魔法
====================================================== */
@media screen and (max-width: 599px) {
  
  /* ① 既存の表示タイミングを乗っ取って自前で制御する */
  #sp-fixed-btn.is-show {
    bottom: -100px !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }
  #sp-fixed-btn.custom-show {
    bottom: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  /* ② 社長（LINEボタンの上の画像）がスムーズに消える準備 */
  #sp-fixed-btn .btn-line::before {
    transition: opacity 0.4s ease, transform 0.4s ease !important;
  }

  /* ③ クラスがついた時に、社長だけを少し下に沈ませながらフワッと消す！ */
  #sp-fixed-btn.hide-boss .btn-line::before {
    opacity: 0 !important;
    transform: translateY(15px) !important; /* 下に沈む動き */
    pointer-events: none !important; /* クリックの邪魔をさせない */
  }
}

/*追加指定ここまで*/