/* ==========================================================
   修理・保証サービス ページ用スタイル
   ========================================================== */

body {
	font-family: メイリオ, Meiryo, "ＭＳ Ｐゴシック", ヒラギノ角ゴ Pro W2, "Hiragino Kaku Gothic Pro", sans-serif;
	color: #333;
	line-height: 1.7;
}

/* ページ全体を960px固定幅に */
.page-wrapper {
	width: 960px;
	margin: 0 auto;
	padding: 0 20px;
	box-sizing: border-box;
}

/* ヘッダー・ロゴ */
.site-header {
	width: 100%;
	padding: 12px 20px;
	box-sizing: border-box;
}

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

.logo-img {
	height: 30px;
	width: auto;
	display: block;
}

.clearfix::after {
	content: "";
	display: table;
	clear: both;
}

.section {
	margin: 20px 0;
}

/* 手順ボックス */
.step-wrapper {
	width: 100%;
	margin: auto;
}

.step-box {
	border: none;
	padding: 10px 15px 10px;
	background: #888889;
	color: #fff;
}

.section h1,
.section h2,
#productMain h1,
#productMain h2 {
	text-align: center;
}

.step-box h2 {
	margin: 0 0 5px;
}

.step-box h2 a {
	color: #fff;
	text-decoration: underline;
}

.note {
	font-size: small;
	margin: 0;
}

.text {
	font-size: small;
}

.arrow {
	text-align: center;
	margin: 10px 0;
}

/* 修理依頼フォームのボタン */
.inqBtn {
	text-align: center;
}

.btn-repair {
	display: inline-block;
	width: 300px;
	height: 50px;
	line-height: 50px;
	text-align: center;
	background-color: #e60012;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	text-decoration: none;
	box-sizing: border-box;
	transition: background-color 0.2s ease, transform 0.15s ease;
}


.btn-repair:hover {
	background-color: #c9000f;
	transform: translateY(-2px);
}

.btn-repair:active {
	transform: translateY(0);
}

.form-caption {
	text-align: center;
	font-family: メイリオ, Meiryo, "ＭＳ Ｐゴシック", ヒラギノ角ゴ Pro W2, "Hiragino Kaku Gothic Pro", sans-serif;
	font-size: small;
}

/* 画像を親要素の幅に収める（レスポンシブ対応） */
img {
	max-width: 100%;
	height: auto;
}


/* ==========================================================
   修理・保証サービス ページ専用（企業カラー：青×白）
   ========================================================== */

:root {
	--brand-blue: #034387;
	--brand-blue-dark: #022f61;
	--brand-blue-light: #eaf1f8;
}

body.pg-repair {
	background: #ffffff;
	color: #333;
}

.pg-repair .site-header {
	border-bottom: 3px solid var(--brand-blue);
}

.pg-repair .logo-img {
	height: 32px;
}

.pg-repair .page-wrapper {
	padding-top: 24px;
	padding-bottom: 40px;
}

/* 大見出し */
.pg-repair .page-title {
	color: var(--brand-blue);
	text-align: left;
	border-left: 5px solid var(--brand-blue);
	padding-left: 12px;
	line-height: 1.3;
	font-size: 1.6em;
	margin: 0 0 18px;
}

.pg-repair .lead-text {
	font-size: 0.85em;
	color: #555;
	margin: 6px 0;
}

/* 中見出し（左に青いバー） */
.pg-repair .sub-heading {
	color: var(--brand-blue);
	text-align: left;
	border-left: 4px solid var(--brand-blue);
	padding-left: 10px;
	font-size: 1em;
	margin: 26px 0 14px;
}

/* 手順ボックス内の見出し・本文 */
.pg-repair .step-box {
	margin: 0 0 0;
	background: var(--brand-blue-light);
	color: #222;
	border-left: 4px solid var(--brand-blue);
}

.pg-repair .step-box h3 {
	margin: 0 0 8px;
	font-size: 0.95em;
	color: var(--brand-blue-dark);
}

.pg-repair .step-box h3 a {
	color: var(--brand-blue-dark);
	text-decoration: underline;
}

.pg-repair .step-box .text,
.pg-repair .step-box .note {
	font-size: 0.8em;
	color: #333;
	margin: 6px 0 0;
}

/* 手順間の矢印 */
.pg-repair .arrow-icon {
	display: inline-block;
	color: var(--brand-blue);
	font-size: 1.3em;
	line-height: 1;
}

/* 区切り線＋青文字見出し（製品の保証修理または交換の場合） */
.pg-repair .section-divider {
	border-top: 2px solid var(--brand-blue);
	margin: 34px 0 4px;
	padding-top: 12px;
}

.pg-repair .section-divider h2 {
	color: var(--brand-blue);
	text-align: left;
	font-size: 1.05em;
	margin: 0;
}

/* 番号リスト（購入後、初期不良が生じた場合） */
.pg-repair .plain-list {
	list-style: none;
	counter-reset: item;
	padding-left: 0;
	font-size: 0.85em;
	color: #333;
}

.pg-repair .plain-list li {
	counter-increment: item;
	margin: 4px 0;
}

.pg-repair .plain-list li::before {
	content: counter(item) ".";
	margin-right: 4px;
	color: var(--brand-blue);
	font-weight: bold;
}

.pg-repair .plain-list a {
	color: var(--brand-blue);
	text-decoration: underline;
}

/* 「修理依頼フォーム」「修理に関する注意事項」の見出し（上下に青線） */
.pg-repair .form-section-title {
	color: var(--brand-blue);
	text-align: left;
	font-size: 1em;
	margin: 34px 0 18px;
	padding: 10px 0;
	border-top: 2px solid var(--brand-blue);
	border-bottom: 2px solid var(--brand-blue);
}

.pg-repair .form-caption {
	color: #555;
	font-size: 0.8em;
	margin-top: 10px;
}

/* 注意事項リスト */
.pg-repair .caution-list {
	list-style: none;
	padding-left: 0;
	font-size: 0.75em;
	color: #444;
	margin: 0 0 30px;
}

.pg-repair .caution-list li {
	position: relative;
	padding-left: 1.1em;
	margin: 6px 0;
}

.pg-repair .caution-list li::before {
	content: "・";
	position: absolute;
	left: 0;
	color: var(--brand-blue);
}

.pg-repair .caution-list li.caution-sub {
	color: var(--brand-blue-dark);
	font-size: 1em;
	padding-left: 1.1em;
	margin: 16px 0 6px;
}

.pg-repair .caution-list li.caution-sub::before {
	content: "●";
	color: var(--brand-blue);
}

.pg-repair .btn-repair {
	background-color: #e60012;
}

.pg-repair .btn-repair:hover {
	background-color: #c9000f;
}

/* お問い合わせボタン */
.pg-repair .btn-contact {
	display: inline-block;
	min-width: 300px;
	padding: 14px 24px;
	text-align: center;
	background-color: var(--brand-blue);
	color: #fff;
	font-size: 15px;
	font-weight: bold;
	text-decoration: none;
	box-sizing: border-box;
	transition: background-color 0.2s ease, transform 0.15s ease;
}

.pg-repair .btn-contact:hover {
	background-color: var(--brand-blue-dark);
	transform: translateY(-2px);
}


/* ==========================================================
   スマートフォン対応
   ========================================================== */
@media screen and (max-width: 960px) {
	.page-wrapper {
		width: 100%;
		padding: 0 15px;
	}
}

@media screen and (max-width: 600px) {
	body {
		font-size: 14px;
	}

	.site-header {
		padding: 10px 15px;
	}

	.logo-img {
		height: 36px;
	}

	.page-wrapper {
		padding: 0 10px;
	}

	#productMain h1,
	.section h1 {
		font-size: 1.3em;
	}

	#productMain h2,
	.section h2 {
		font-size: 1.05em;
	}

	.step-box {
		padding: 10px;
	}

	.btn-repair {
		width: 100%;
		max-width: 300px;
	}

	.pg-repair .btn-contact {
		width: 100%;
		min-width: 0;
	}
}
