@charset "UTF-8";
/*------------------------------
PC用レイアウト（768px以上スクリーン）
------------------------------*/

/*----------
共通設定(PC)
-----------*/

/* 初期スタイル調整 */
* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

/* body全体の初期スタイル調整 */
body {
	font-size: 62.5%;
	line-height: 1.5;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, "メイリオ", Meiryo, sans-serif;
	color: #000;
	background-color: #fff;
	-webkit-text-size-adjust: 100%;
}

/*リンク文字の設定*/
a {
	text-decoration: underline;
}

a:link,
a:visited {
	color: #39f;
}

a:hover,
a:active {
	color: #f60;
}

p {
	margin: 0 !important;
	padding: 0 !important;
	font-feature-settings: "palt";
}

section {
	clear: both;
	/* 配置設定をクリアにしておくため（初期で設定している左右配置をクリアにする） */
	overflow: auto;
	/* 要素の内容が要素自体の領域を超えた場合「aute」 */
}

/* -------------------------------------
見出しタグ設定（PC)
--------------------------------------*/
h2 {
	margin: 0.5em 0 0.5em;
	font-size: 1.8em;
	font-weight: bold;
	text-align: center;
}

h3 {
	color: #2F3F8D;
	margin: 0em;
	padding: 0.3em;
	font-size: 1.5em;
	font-weight: bold;
}


/*カラムが狭くなってもテーブルタグがはみ出ないようにする*/
table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
	word-break: break-all;
	word-wrap: break-word;
}

/* <section> 間の隙間（margin）をなくすため */
h2,
p {
	margin-top: 0;
	margin-bottom: 0;
}


/* 自動カーニング */
.selector {
	font-feature-settings: "palt";
}


/*--------------------------------------------------------
全体レイアウト/背景設定（PC）
--------------------------------------------------------*/

/*全体エリア(全体背景の設定はここ)*/
.main {
	background-color: #A8D6F3;
}

/*記事(ボディ)エリア*/
.repair_cv_area_inr {
	background-color: #fff;
}

/*記事(ボディ)エリアの行間*/
.atcl_inr p {
	line-height: 1.6em;
	margin-bottom: 1em;
}

/*記事(ボディ)エリアのフォントサイズ*/
.article {
	font-size: 1.7em;
}

.atcl_inr {
	background-color: #fff;
}


/*カラム全体の幅を変更する*/
.header_inr,
.atcl_inr,
.top_image_in {
	width: 950px;
	margin: 0 auto;
}


/*PC画面とスマホ画面の切り替え*/

.gamen_pc {
	display: block;
}

.gamen_rps {
	display: none;
}


/*--------------------------------------------------------
上部固定ヘッダー設定
--------------------------------------------------------*/

/*上部固定ヘッダー全体*/
.header {
	/* position: sticky; */
	/* ポジションがピタッとくっつく設定 */
	position: -webkit-sticky;
	top: 0;
	z-index: 5000;
	background-color: #fff;
	border-bottom: 5px solid #2E3F8D;
	overflow: auto;
}

/* ヘッダー内部をカラム幅にする */
.header_inr {
	max-width: 950px;
	margin: 0 auto;
	overflow: hidden;
}

/*ヘッダーロゴ*/
.header_logo {
	float: left;
	width: 35%;
	margin: 0.5em 0em 0em;
}


/*ヘッダー 電話ボタン*/
.header_tel {
	width: 28%;
	float: right;
	margin: 1.4em 0.5em 0em;
}


/*ヘッダー 問い合わせボタン*/
.header_tel_text {
	float: right;
	margin: 1.5em 0.3em 0em;
	text-align: right;
}

/*ヘッダー内の画像はエリア幅に合わせる*/
.header_logo img,
.header_tel img {
	width: 100%;
}

.header_tel_text img {
	width: 25%;
}



/*----------
ファーストビュー設定
---------*/

.top_image {
	background: url(../images/haikei_repair_FV.png) center top no-repeat #fff;
	height: auto;
}

.top_image_in img {
	width: 100%;
}

/* --------------------------
セクション設定
----------------------------*/
.repair_img_mds {
	text-align: center;
}

.repair_img_mds img {
	height: auto;
}

/*----------
CVエリア
---------*/
.repair_cv_area {
	background-color: #2f3f8d;
}

.repair_cv_area_inr {
	margin-top: 1em;
	margin-bottom: 1em;
	background-color: #fff;
	border-radius: 20px;
	/* 角を丸くする */
	padding: 0em 3em;
}

.repair_cv_area_inr img {
	width: 100%;
}

.btn_area {
	display: flex;
	justify-content: center;
}

.btn_area img {
	width: 48%;
}

.areatext {
	background-color: #2E3F8D;
	color: #fff;
	font-size: 1em;

}

.areatext {
	width: 100%;
	/* コンテナの幅 */
	overflow: hidden;
	white-space: nowrap;
	padding: 10px 0;
	position: relative;
}

.areatext p {
	display: inline-block;
	padding-left: 100%;
	animation: textScroll 10s linear infinite;
}

@keyframes textScroll {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-100%);
	}
}

/*----------
悩みエリア
---------*/
.repair_nayami_cntnr {
	background-color: #efefef;
}

.repair_nayami_cntnr img,
.repair_higaisoudan_cntnr img {
	width: 100%;
	display: block;
	/* 画像をブロック要素にして隙間をなくす */
	margin: 0;
	/* 余分なマージンを削除 */

}

.nayami_h2mds {
	position: relative;
	display: inline-block;
	padding: 0 155px;
}

.nayami_h2mds:before,
.nayami_h2mds:after {
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 145px;
	height: 2px;
	border-top: solid 3px #2E3F8D;
	border-bottom: solid 3px #2E3F8D;
}

.nayami_h2mds:before {
	left: 0;
}

.nayami_h2mds:after {
	right: 0;
}

.repair_higai_cntnr {
	background-color: #48453D;
	display: flex;
	justify-content: center;
	gap: 20px;

}

.repair_higai_cntnr img {
	width: 28%;
}

.repair_higai_cntnr {
	background-color: #48453D;
	display: flex;
	justify-content: center;
	gap: 20px;
	position: relative;
	/* これを追加して矢印を位置調整できるようにする */
}

.repair_higai_cntnr::after {
	content: "";
	position: absolute;
	bottom: -50px;
	/* セクションの間にちょっと余白を加える */
	left: 50%;
	transform: translateX(-50%);
	/* 水平方向の中央揃え */
	width: 0;
	height: 0;
	border-left: 450px solid transparent;
	border-right: 450px solid transparent;
	border-top: 50px solid #48453D;
	/* 背景色と同じ色を指定 */
}

.repair_higaisoudan_cntnr {
	padding-top: 55px;
}

/*----------
特徴エリア
---------*/
.repair_tokutyou_area {
	background-color: #fff;
	margin-bottom: 1em;
}

.repair_tokutyou_cntnr,
.repair_tokutyou_cntnr2 {
	max-width: 900px;
	background-color: #fffdef;
	border: 2px solid #ccc;
	margin: 0 auto;
	padding-bottom: 1em;
	margin-bottom: 1em;

}

.repair_tokutyou_cntnr {
	text-align: center;
}

.repair_tokutyou_cntnr img,
.repair_tokutyou_cntnr2_mds img {
	width: 100%;
}

.repair_tokutyou_cntnr_img {
	padding: 0em 2em 1em;
}

.repair_tokutyou_cntnr_text {
	text-align: left;
	padding: 0em 3em;
}

/*----------
安心エリア
---------*/
.repair_ansin_cntnr {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	/* 2列にする */
	gap: 10px;
	/* 画像間の余白（必要なら調整） */
	padding: 1em;
}

.repair_ansin_cntnr img {
	width: 100%;
	/* グリッド内で自動調整されるので100% */
	height: auto;
}


/*----------
料金エリア
---------*/
.repair_price_area_inr {
	border: 25px solid #F6C701;
	padding-top: 1em;
	padding-bottom: 2em;
}

.price_h2 {
	color: #2f3f8d;
	text-align: center;
	padding: 0.25em;
	border-top: solid 2px #6cb4e4;
	border-bottom: solid 2px #6cb4e4;
	background: -webkit-repeating-linear-gradient(-45deg, #f0f8ff, #f0f8ff 3px, #e9f4ff 3px, #e9f4ff 7px);
	background: repeating-linear-gradient(-45deg, #f0f8ff, #f0f8ff 3px, #e9f4ff 3px, #e9f4ff 7px);
}

.repair_price_meyasu {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	/* 画像の間隔 */
	max-width: 100%;
	/* はみ出し防止 */
	overflow: hidden;
}

.repair_price_meyasu img:first-child {
	max-width: 300px;
	/* 1つ目の画像のサイズ指定 */
}

.repair_price_meyasu img:last-child {
	max-width: 550px;
	/* 1つ目の画像のサイズ指定 */
}

.ripair_price_mds {
	text-align: center;
	margin: 1em 0em 0em;
	color: #fff;
	font-size: 1.3em;
}

.ripair_price_mds_inr {
	background-color: #2E3F8D;
	padding: 0.5em;
	border-radius: 200px;

}

.repair_price_cntnr {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	/* 2列にする */
	gap: 10px;
	/* 画像間の余白（必要なら調整） */
	padding: 1em;
}

.repair_price_cntnr img {
	width: 100%;
	/* グリッド内で自動調整されるので100% */
	height: auto;
}

.price_mds img {
	width: 50%;
}

.repair_price_img_area {
	display: flex;
	justify-content: center;
}

.repair_price_img_area img {
	width: 24%;
}

/*----------
流れエリア
---------*/
/* 親要素の横並び設定 */
.repair_nagare_cntnr {
	display: flex;
	justify-content: center; 
	flex-direction: row-reverse;
	max-width: 750px;
	margin: 0 auto;
	margin-bottom: 1em;
	border: 2px solid #2F3F8D;
	padding: 0em 1em 0.5em 0.5em;
  }
  
  .nagare_img, .nagare_text {
	width: 50%; /* 両方の要素を 50% に設定 */
  }
  
  /* nagare_text 内で番号とh3が横並び */
  .nagare_text {
	display: flex;
	flex-direction: column;
	padding-top: 2em;
	position: relative;
  }
  
  /* 「1〜4」の番号を data-step から取得 */
  .nagare_text:before {
	content: attr(data-step); /* data-step の値を表示 */
	display: inline-block;
	line-height: 40px;
	position: absolute;
	color: white;
	background: #2F3F8D; /* 色 */
	font-weight: 900;
	width: 40px;
	text-align: center;
	height: 40px;
	line-height: 40px;
	left: -0.35em; /* 番号の位置調整 */
	top: 25px;
	box-shadow: 0px 2px 1px rgba(0, 0, 0, 0.29);
	border-bottom: solid 2px #4967b4;
	font-size: 24px; /* 文字サイズ */
  }
  
  /* 見出しのスタイル */
  .nagare_text h3 {
	position: relative;
	color: #2F3F8D;
	padding: 2px 5px 2px 20px; /* 左側に十分なスペースを確保 */
	font-size: 20px;
	margin-left: 20px; /* 番号とh3の間隔 */
	display: flex;
	align-items: center;
  }
  
  /* 画像を中央配置 */
  .nagare_img {
	display: flex;
	justify-content: center; 
	align-items: center; 
	padding-right: 1em;
  }
  
  .nagare_img img {
	max-width: 280px;
	height: auto;
  }
  
  /* pタグのスタイル */
  .nagare_text p {
	padding-top: 1em;
  }
  



.repair_nagare_kaisetu {
	margin: 0 auto;
	max-width: 700px;
}

.repair_nagare_textarea img {
	width: 40%;
	height: auto;
}
.repair_nagare_mms {
text-align: center;
padding: 0em 2em ;
}

.repair_nagare_mms img {
	max-width: 800px;
}




/*----------
Q&Aエリア
---------*/
.repair_QA_area {
	background-color: #FFFDEF;

}

.repair_QA_area_inr {
	padding: 2em 0em 2em;
	background-color: #FFFDEF;

}



/*------------
よくある質問(アコーディオンver.)
-------------*/
.faq {
	max-width: 800px;
	margin: 0 auto;
}

.faq dl,
.faq dt,
.faq dd {
	margin: 0;
	padding: 0;
}

.faq dl+dl {
	margin-top: 1rem;
}

.faq dt,
.faq dd {
	padding: 10px;
}

.faq dl {
	position: relative;
	overflow: hidden;
}

.faq dl>input {
	display: none;
}

.faq dt {
	position: relative;
	z-index: 1;
	padding-right: 40px;
	padding-left: 2.5em;
	cursor: pointer;
	background: #e6f3ff;
	transition: .4;
}

.faq dd {
	position: absolute;
	visibility: hidden;
	transform: translateY(-100%);
	transition: .4s;
	background: #fff;
	border-top: none;
	padding-left: 2.5em;

}

.faq dl>input:checked+label+dd {
	position: relative;
	visibility: visible;
	transform: translateY(0);
}

.faq dt::before {
	content: '';
	position: absolute;
	width: 20px;
	height: 3px;
	top: 50%;
	right: 10px;
	background: #333;
	transform: translateY(-50%);
}

.faq dt::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 10px;
	width: 20px;
	height: 3px;
	background: #333;
	transition: .4s;
	transform: translateY(-50%) rotate(90deg);
}

.faq dl>input:checked+label>dt::after {
	transform: translateY(-50%) rotate(180deg);
}

.faq dt span,
.faq dd span {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #459be6;
	color: #fff;
	top: 50%;
	left: .5em;
	width: 1.5em;
	height: 1.5em;
	transform: translateY(-50%);
}


.faq dd span {
	top: 10px;
	transform: translateY(0);
	background-color: #e60000;
}

/*------------
問い合わせエリア
-------------*/

.box_entry {
	background-color: #125fa3;
	padding: 1em 3em;
}

.entry_inr {
	background-color: #fff;
	padding: 1em 2em;
	overflow: auto;
}

.entry_tel {
	width: 48%;
	float: left;
	margin-top: 0.5em;
}

.entry_mail {
	width: 48%;
	float: right;
	margin-top: 0.5em;
}


/*==================================================
スライダーのためのCSS※JQueryを使用
===================================*/
.slider {
	width: 94%;
	/* 横幅94%で左右に余白を持たせて中央寄せ */
	margin: 0 auto;
}

.slider img {
	width: 60vw;
	/* スライダー内の画像を60vwにしてレスポンシブ化 */
	height: auto;
}

.slider .slick-slide {
	transform: scale(0.8);
	/* 左右の画像のサイズを80%に */
	transition: all 0.5s;
	/* 拡大や透過のアニメーションを0.5秒で行う */
	opacity: 0.5;
	/* 透過50% */
}

.slider .slick-slide.slick-center {
	transform: scale(1);
	/* 中央の画像のサイズだけ等倍に */
	opacity: 1;
	/* 透過なし */
}

/* 矢印の設定 */

/* 戻る、次へ矢印の位置 */
.slick-prev,
.slick-next {
	position: absolute;
	/* 絶対配置にする */
	top: 50%;
	/* 矢印の垂直位置を中央に */
	cursor: pointer;
	/* マウスカーソルを指マークに */
	outline: none;
	/* クリックをしたら出てくる枠線を消す */
	border-top: 2px solid #666;
	/* 矢印の色 */
	border-right: 2px solid #666;
	/* 矢印の色 */
	height: 15px;
	width: 15px;
}

.slick-prev {
	left: -2%;
	/* 戻る矢印の位置 */
	transform: rotate(-135deg);
}

.slick-next {
	right: -2%;
	/* 次へ矢印の位置 */
	transform: rotate(45deg);
}

/* ドットナビゲーションの設定 */

.slick-dots {
	text-align: center;
	margin: 20px 0 0 0;
}

.slick-dots li {
	display: inline-block;
	margin: 0 5px;
}

.slick-dots button {
	color: transparent;
	outline: none;
	width: 8px;
	/* ドットボタンのサイズ */
	height: 8px;
	/* ドットボタンのサイズ */
	display: block;
	border-radius: 50%;
	background: #ccc;
	/* ドットボタンの色 */
}

.slick-dots .slick-active button {
	background: #333;
	/* ドットボタンの現在地表示の色 */
}

/*---------
テキストスライダー部分
-------*/

.text-slider-wrap {
	overflow: hidden;
	display: flex;
	flex-wrap: nowrap;
	white-space: nowrap;
	position: relative;
	width: 100%;
	padding: 10px 0;
	color: #fff;
	border-top: 2px solid #fff;
	border-bottom: 2px solid #fff;
}

.text-slider {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	animation: slide-loop 15s linear infinite;
}

.text-slider p {
	margin: 0;
	padding: 0 50px;
	font-size: 18px;
	font-weight: bold;
	white-space: nowrap;
}

@keyframes slide-loop {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-50%);
	}
}




/*---------
フッター部分
-------*/

.footer {
	background: #2F3F8D;
	padding: 2em 0 0.5em;
	text-align: center;
	font-size: 1.4em;
	color: #fff;
}

.footer a {
	color: #fff;
}

/*スマホ用下部固定メニュー*/
.fix_menu_smartphone {
	display: none;
}