@charset "utf-8";

/*
	* リファービッシュiPhone オリジナルスタイルシート
	* サイト全体に関するスタイル
	* ver1
	* 更新履歴
		└ 
*/
/* * {
	border: solid 1px #ccc !important;
} */

/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	初期設定（不要なものは削除）
//////////////////////////////////////////////////////////////////////////////////////////////////// */
/* ******************************************************************************************
	root設定（適宜修正）（フォントはベースフォント外を削除してください。）
****************************************************************************************** */
:root {
	--black: #333333;
	--mainColor: #003b82;
	--accentColor: #e50012;
	--lightBlue: #e6f9ff;
	--pink: #f6e6f6;

	/* ベースフォント18pxの場合 */
	--fontSize10: 0.555rem;
	--fontSize11: 0.611rem;
	--fontSize12: 0.666rem;
	--fontSize13: 0.722rem;
	--fontSize14: 0.777rem;
	--fontSize15: 0.833rem;
	--fontSize16: 0.888rem;
	--fontSize17: 0.944rem;
	--fontSize18: 1rem;
	--fontSize19: 1.055rem;
	--fontSize20: 1.111rem;
	--fontSize21: 1.166rem;
	--fontSize22: 1.222rem;
	--fontSize23: 1.277rem;
	--fontSize24: 1.333rem;
	--fontSize25: 1.388rem;
	--fontSize26: 1.444rem;
	--fontSize27: 1.5rem;
	--fontSize28: 1.555rem;
	--fontSize29: 1.611rem;
	--fontSize30: 1.666rem;
	--fontSize31: 1.722rem;
	--fontSize32: 1.777rem;
	--fontSize33: 1.833rem;
	--fontSize34: 1.888rem;
	--fontSize35: 1.944rem;
	--fontSize36: 2rem;
	--fontSize37: 2.055rem;
	--fontSize38: 2.111rem;
	--fontSize39: 2.166rem;
	--fontSize40: 2.222rem;
	--fontSize41: 2.277rem;
	--fontSize42: 2.333rem;
	--fontSize43: 2.388rem;
	--fontSize44: 2.444rem;
	--fontSize45: 2.5rem;
	--fontSize46: 2.555rem;
	--fontSize47: 2.611rem;
	--fontSize48: 2.666rem;
	--fontSize49: 2.722rem;
	--fontSize50: 2.777rem;

	/* ベース幅 */
	--vw-base: 1920;
}

@media screen and (max-width:576px) {
	:root {
		/* ベースフォント13pxの場合（rem = px ÷ 13） */
		--fontSize10: 0.769rem;
		--fontSize11: 0.846rem;
		--fontSize12: 0.923rem;
		--fontSize13: 1rem;
		--fontSize14: 1.077rem;
		--fontSize15: 1.154rem;
		--fontSize16: 1.231rem;
		--fontSize17: 1.308rem;
		--fontSize18: 1.385rem;
		--fontSize19: 1.462rem;
		--fontSize20: 1.538rem;
		--fontSize21: 1.615rem;
		--fontSize22: 1.692rem;
		--fontSize23: 1.769rem;
		--fontSize24: 1.846rem;
		--fontSize25: 1.923rem;
		--fontSize26: 2rem;
		--fontSize27: 2.077rem;
		--fontSize28: 2.154rem;
		--fontSize29: 2.231rem;
		--fontSize30: 2.308rem;
		--fontSize31: 2.385rem;
		--fontSize32: 2.462rem;
		--fontSize33: 2.538rem;
		--fontSize34: 2.615rem;
		--fontSize35: 2.692rem;
		--fontSize36: 2.769rem;
		--fontSize37: 2.846rem;
		--fontSize38: 2.923rem;
		--fontSize39: 3rem;
		--fontSize40: 3.077rem;
		--fontSize41: 3.154rem;
		--fontSize42: 3.231rem;
		--fontSize43: 3.308rem;
		--fontSize44: 3.385rem;
		--fontSize45: 3.462rem;
		--fontSize46: 3.538rem;
		--fontSize47: 3.615rem;
		--fontSize48: 3.692rem;
		--fontSize49: 3.769rem;
		--fontSize50: 3.846rem;
	}
}

/* ******************************************************************************************
	ベースフォント設定
****************************************************************************************** */
html {
	font-size: 18px;
	/* ベースフォント */
	scroll-behavior: smooth;
}

@media screen and (max-width:576px) {
	html {
		font-size: 13px;
		/* ベースフォント */
	}
}

/* ******************************************************************************************
	body設定
****************************************************************************************** */
body {
	display: grid;
	/* フッター浮き上がり対策 */
	grid-template-rows: auto 1fr auto;
	/* フッター浮き上がり対策 */
	grid-template-columns: 100%;
	/* フッター浮き上がり対策 */
	min-height: 100vh;
	/* フッター浮き上がり対策 */
	background-color: #fff;
	color: var(--black);
	line-height: 1.5;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	text-size-adjust: 100%;
	position: relative;
	/* 追従サイドボタンの基準設定 */
	font-family: "Noto Sans JP", sans-serif;
	overflow-x: hidden;
}

/* ******************************************************************************************
	テキスト設定
****************************************************************************************** */
/* pの中にrubyがあれば余白をあける */
p:has(>ruby) {
	line-height: 2;
}

/* ******************************************************************************************
	画像設定
****************************************************************************************** */
img {
	vertical-align: bottom;
	/* 余白防止 */
	max-width: 100%;
	/* 画像のデフォルトサイズ */
	height: auto;
	object-fit: cover;
}

/* ******************************************************************************************
	フォーム設定（適宜設定）
****************************************************************************************** */
select {
	-webkit-appearance: auto;
	appearance: auto;
	/* デフォルトの矢印を表示 */
}

select:hover {
	cursor: pointer;
}

input {
	border: 1px solid rgb(0 0 0 / 20%);
}

[type="button"],
[type="reset"],
[type="submit"] {
	padding: 0 .5em;
	border: none;
	background-color: var(--mainColor);
	color: var(--black);
	cursor: pointer;
}

/* ******************************************************************************************
	リンク設定
****************************************************************************************** */
a {
	display: inline-block;
	/* color: var(--black);
	text-decoration: underline;
	text-underline-offset: .2rem;
	text-decoration-thickness: 1px;
	text-decoration-skip-ink: none; */
}

a:hover,
a:focus {
	/* text-underline-offset: .2rem; */
	opacity: .6;
}

/* ******************************************************************************************
	フォーカス設定
****************************************************************************************** */
a:focus-visible,
button:focus-visible,
input:focus-visible,
input:focus-visible,
button:focus-visible,
select:focus-visible {
	outline: 3px solid #000;
}

/* ******************************************************************************************
	リスト設定
****************************************************************************************** */
ol {
	list-style: decimal;
	/* リセットCSS打ち消し */
}

/* ******************************************************************************************
	電話番号設定（576px以下タップ有効化）
****************************************************************************************** */
/* タップ電話 */
a[href^="tel:"] {
	display: block;
	text-decoration: none;
	pointer-events: none;
}

@media screen and (max-width:576px) {
	a[href^="tel:"] {
		text-decoration: underline;
		cursor: pointer;
		pointer-events: auto;
		/* フォントサイズを変更する場合適宜修正 */
		/* font-size: 1.2rem; */
	}
}

/* ******************************************************************************************
	サイト幅設定（適宜設定）
****************************************************************************************** */
.ly_inner900 {
	width: 100%;
	max-width: calc(900px + 40px);
	margin-right: auto;
	margin-left: auto;
	padding-right: 20px;
	padding-left: 20px;
}

/* ******************************************************************************************
	サイト区切り設定（必要に応じて設定）
****************************************************************************************** */
.ly_section {
	padding-top: 3rem;
	padding-bottom: 3rem;
}

/* ******************************************************************************************
	ボタン
****************************************************************************************** */
.el_btn_base {
	background-color: var(--mainColor);
	border-radius: 50px;
	max-width: 380px;
	width: 100%;
	min-height: 68px;
	color: #fff;
	position: relative;
	font-size: var(--fontSize21);
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-right: calc(30px + 10px + 20px);
	/* 矢印アイコン幅 + 前余白 + 後ろ余白 */
	padding-left: 20px;
	/* 角丸重なり防止 */
}

.el_btn_base::after {
	content: '\25B6';
	width: 30px;
	height: 30px;
	background-color: #fff;
	color: var(--mainColor);
	display: inline-block;
	border-radius: 50px;
	text-align: center;
	line-height: 2.3;
	font-size: 13px;
	position: absolute;
	top: 50%;
	right: calc(60px - 30px - 10px);
	/* 矢印アイコン領域確保分 - 矢印アイコン幅 - 前余白*/
	transform: translateY(-50%);
}

.el_btn_small {
	background-color: var(--mainColor);
	border-radius: 50px;
	max-width: 330px;
	width: 100%;
	min-height: 44px;
	color: #fff;
	position: relative;
	font-size: var(--fontSize16);
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-right: calc(20px + 10px + 20px);
	/* 矢印アイコン幅 + 前余白 + 後ろ余白 */
	padding-left: 20px;
	/* 角丸重なり防止 */
}

.el_btn_small::after {
	content: '\25B6';
	width: 20px;
	height: 20px;
	background-color: #fff;
	color: var(--mainColor);
	display: inline-block;
	border-radius: 50px;
	text-align: center;
	line-height: 1.8;
	font-size: 11px;
	position: absolute;
	top: 50%;
	right: calc(50px - 20px - 10px);
	/* 矢印アイコン領域確保分 - 矢印アイコン幅 - 前余白*/
	transform: translateY(-50%);
}

.bl_btn_wrap {
	display: flex;
	justify-content: center;
	gap: 3rem;
}


@media screen and (max-width:992px) {

	.el_btn_base,
	.el_btn_small {
		margin-left: auto;
		margin-right: auto;
	}

	.bl_btn_wrap {
		flex-direction: column;
		gap: 1rem;
	}
}

@media screen and (max-width:576px) {
	.el_btn_base {
		max-width: 223px;
		font-size: var(--fontSize12);
		min-height: 40px;
		padding-right: calc(17px + 10px + 10px);
		/* 矢印アイコン幅 + 前余白 + 後ろ余白 */
		padding-left: 10px;
	}

	.el_btn_base::after {
		width: 17px;
		height: 17px;
		font-size: 10px;
		line-height: 1.6;
		right: calc(37px - 17px - 5px);
		/* 矢印アイコン領域確保分 - 矢印アイコン幅 - 前余白*/
	}

	.el_btn_small {
		min-height: 40px;
		font-size: var(--fontSize14);
		max-width: 300px;
		padding-right: calc(14px + 10px + 10px);
		/* 矢印アイコン幅 + 前余白 + 後ろ余白 */
	}

	.el_btn_small::after {
		width: 14px;
		height: 14px;
		line-height: 1.7;
		font-size: 8px;
		right: calc(34px - 14px - 10px);
		/* 矢印アイコン領域確保分 - 矢印アイコン幅 - 前余白*/
	}


}

/* ******************************************************************************************
	ヘルパー
****************************************************************************************** */

@media screen and (min-width:577px) {
	.hp_br_576_block {
		display: none;
	}
}

@media screen and (max-width:992px) {
	.hp_br_992_none {
		display: none;
	}
}

/* ******************************************************************************************
	見出し設定
****************************************************************************************** */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	見出し（中央ライン線）
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.el_titleBeforeAfterLine {
	display: flex;
	align-items: center;
	gap: 25px;
	/* テキストと線の間隔 */
	font-size: var(--fontSize32);
	justify-content: center;
	color: var(--mainColor);
	font-weight: bold;
	text-align: center;
}

.el_titleBeforeAfterLine::before,
.el_titleBeforeAfterLine::after {
	content: '';
	display: block;
	width: 60px;
	height: 4px;
	background-color: var(--accentColor);
}

@media screen and (max-width:576px) {
	.el_titleBeforeAfterLine {
		gap: 16px;
		/* テキストと線の間隔 */
		font-size: var(--fontSize20);
	}

	.el_titleBeforeAfterLine::before,
	.el_titleBeforeAfterLine::after {
		content: '';
		display: block;
		width: 37.5px;
		height: 2.5px;
		background-color: var(--accentColor);
	}
}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	ヘッダー
//////////////////////////////////////////////////////////////////////////////////////////////////// */
.ly_header {
	padding: 24px 3%;
	/* margin-bottom: 17px; */
	/* max-width: 1500px; */
	margin-right: auto;
	margin-left: auto;
	width: 100%;
}

/* タイトル */
.bl_companyTitle {
	margin: 0;
}

.bl_companyTitle img {
	max-width: 320px;
	width: 100%;
}

/* ボタン（スマホ時下部へ移動） */
.el_iconBtn {
	background-color: var(--mainColor);
	padding: 22px 45px 22px 95px;
	color: #fff;
	border-radius: 5px;
	position: relative;
}

.el_iconBtn::before {
	content: '';
	width: 36px;
	height: 36px;
	aspect-ratio: 1/1;
	background-image: url(../img/icon-operator.png);
	background-repeat: no-repeat;
	background-size: contain;
	display: inline-block;
	position: absolute;
	top: 50%;
	left: calc(95px - 36px - 10px);
	/* 左padding - アイコン幅 - 余白 */
	transform: translateY(-50%);
}

/* @media screen and (max-width:1200px) {
	.ly_header {
		padding: 20px;
	}
} */

@media screen and (max-width:992px) {
	.bl_companyTitle img {
		max-width: 210px;
	}

	.js_iconBtnArea {
		position: fixed;
		bottom: 0;
		left: 0;
		background-color: #fff;
		padding: 20px;
		text-align: center;
		width: 100%;
		z-index: 2;
	}
}

@media screen and (max-width:576px) {
	.ly_header {
		padding: 28px calc(56px + 20px + 20px) 28px 20px;
		margin-bottom: 0;
	}

	.el_iconBtn {
		font-size: var(--fontSize13);
		padding: 11px 29px 11px 63px;
	}

	.el_iconBtn::before {
		width: 24px;
		height: 24px;
		left: calc(63px - 24px - 13px);
		/* 左padding - アイコン幅 - 余白 */
	}
}

/* ******************************************************************************************
	グローバルメニュー
****************************************************************************************** */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	全体
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.bl_gNav {
	display: flex;
	flex-wrap: wrap;
	height: initial;
	align-items: center;
	justify-content: end;
	border: none;
	gap: 24px;
	flex-direction: row-reverse;
}

.bl_gNavContainer {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.bl_gNavUnit {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	margin-right: -21px;
}

.bl_humbergerLogo {
	display: none;
}

@media screen and (min-width:993px) {

	#js_focusTrapFirst,
	#js_focusTrapEnd {
		display: none;
	}
}

@media screen and (max-width:1200px) {
	/* .bl_gNav {
		align-items: flex-end;
		justify-content: end;
		gap: 20px;
		flex-direction: column-reverse;
	} */
}

@media screen and (max-width:992px) {
	.bl_gNav_area {
		position: fixed;
		top: 0;
		right: -100%;
		overflow: auto;
		transition: .4s;
		width: 100%;
		height: 100vh;
		visibility: hidden;
		background-color: var(--mainColor);
		background-image: url(../img/bg-drawer.png);
		background-size: 85px 208px;
		background-repeat: no-repeat;
		background-position: top calc(357px - 60px) right -10px;
		/* calc(リンクリストの高さ + 位置調整) */
		z-index: 3;
	}

	.bl_gNav_area.is_active {
		right: 0;
		visibility: visible;
	}

	.bl_gNav_area.is_active::after {
		position: absolute;
		right: 24px;
		bottom: 120px;
		display: block;
		content: '';
		width: 119px;
		height: 260px;
		background-image: url(../img/hamburger_deco.svg);
		background-size: contain;
		background-repeat: no-repeat;
	}

	.bl_gNav.is_open {
		left: 0;
		transition: all .6s;
	}

	.bl_gNav {
		max-width: 180px;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
		padding: 36px 0;
		align-items: center;
		display: block;
	}

	.bl_gNavUnit {
		display: block;
		margin-bottom: 2rem;
		margin-right: 0;
	}

	/* ロゴ */
	.bl_humbergerLogo {
		display: block;
		background-color: #fff;
		padding: 28px calc(56px + 20px + 20px) 28px 20px;
	}

	.bl_humbergerLogo img {
		max-width: 210px;
		width: 100%;

	}
}

@media screen and (max-width:576px) {
	.bl_gNav {
		padding: 64px 0;
	}
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	個別
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ============================================================
	グローバルメニューのリスト
============================================================ */
.bl_gNav_item {
	position: relative;
	width: initial;
}

.bl_gNav_item+.bl_gNav_item::before {
	content: '';
	display: block;
	width: 1px;
	height: 15px;
	background-color: var(--black);
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.bl_gNav_link {
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all .3s;
	padding: 5px 21px;
	font-size: var(--fontSize16);
	color: var(--black);
	font-weight: bold;
	border: none;
	line-height: 1.5;
	font-family: inherit;
	/* position: relative; */
}

.bl_gNav_link::after {
	position: absolute;
	content: '';
	width: calc(100% - 1.2rem - 1.2rem);
	height: 2px;
	background-color: var(--accentColor);
	/* background-color: var(--mainColor); */
	bottom: -1px;
	left: 50%;
	transform: translateX(-50%) scale(0, 1);
	transform-origin: right top;
	/* 左から右へ伸びる */
	transition: transform 0.3s;
}

.bl_gNav_link:hover::after {
	transform: translateX(-50%) scale(1, 1);
	transform-origin: left top;
	/* 左から右へ伸びる */
}

.bl_gNav_link:hover {
	background-color: initial;
	color: initial;
	opacity: 1;
}

@media screen and (max-width:992px) {
	.bl_gNav_item {
		width: 100%;
	}

	.bl_gNav_item+.bl_gNav_item::before {
		content: none;
	}

	.bl_gNav_link {
		position: relative;
		display: block;
		padding: 14px 5px;
		border-bottom: 1px solid #ccc;
		color: #fff;
		text-align: center;
	}

	.bl_gNav_link:hover {
		background-color: initial;
		color: #fff;
		opacity: 0.5;
	}

	.bl_gNav_link::after {
		content: none;
	}
}

/* ============================================================
	ハンバーガーメニュー
============================================================ */
.el_trigger {
	display: none;
}

@media screen and (max-width:992px) {
	.el_trigger {
		display: block;
		position: fixed;
		top: 10px;
		right: 20px;
		transition: .2s;
		width: 56px;
		height: 56px;
		margin: 0;
		border: 2px solid var(--mainColor);
		background-color: var(--mainColor);
		cursor: pointer;
		z-index: 1000;
		border-radius: 5px;
	}

	.el_trigger.is_active .el_trigger_line {
		background-color: transparent;
	}

	.el_trigger.is_active .el_trigger_line::before {
		top: 0;
		transform: rotate(45deg);
	}

	.el_trigger.is_active .el_trigger_line::after {
		top: 0;
		transform: rotate(-45deg);
	}

	.el_trigger.is_active .el_trigger_text::before {
		content: "CLOSE";
	}

	.el_trigger_line {
		display: block;
		position: absolute;
		top: 18px;
		left: 50%;
		transform: translateX(-50%);
		transition: .4s;
		width: 35px;
		height: 4px;
		background-color: #fff;
	}

	.el_trigger_line::before,
	.el_trigger_line:after {
		content: "";
		display: block;
		position: absolute;
		transition: inherit;
		width: 100%;
		height: 100%;
		background-color: #fff;
	}

	.el_trigger_line::before {
		top: -10px;
	}

	.el_trigger_line:after {
		top: 10px;
	}

	.el_trigger_text {
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 100%;
		text-align: center;
	}

	.el_trigger_text::before {
		content: "MENU";
		color: #fff;
		font-weight: bold;
		font-size: 13px;
	}
}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	スライダー
//////////////////////////////////////////////////////////////////////////////////////////////////// */
.ly_sliderArea {
	margin-bottom: 80px;
}

/* 非表示部分を表示 */
.st_slider .slick-list {
	overflow: visible;
}

/* 画像間隔 */
.st_slider .slick-slide {
	opacity: 0.5;
	margin: 0 50px;
	width: 100%;
}

/* 中央画像拡大 */
.st_slider .slick-center {
	transform: scale(1.1);
	opacity: 1;
}

/* ドット */
.st_slider .slick-dots {
	bottom: -80px;
}

.st_slider .slick-dots li button:before {
	font-size: 10px;
	color: var(--mainColor);
}

.st_slider .slick-dots li.slick-active button:before {
	color: var(--mainColor);
}

/* 矢印 */
.st_slider .slick-arrow {
	background-color: var(--mainColor);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
}

.st_slider .slick-prev,
.st_slider .slick-next {
	width: 38px;
	height: 38px;
	border-radius: 50px;
}

.st_slider .slick-prev:before,
.st_slider .slick-next:before {
	color: #fff;
	font-size: 16px;
	opacity: 1;
	z-index: 2;
}

.st_slider .slick-prev {
	left: 7vw;
}

.st_slider .slick-prev:before,
.st_slider .slick-next:before {
	font-family: initial;
}

.st_slider .slick-prev:before {
	content: '\25C0';
	/* ◀ のUnicode */
	padding-right: 3px;
}

.st_slider .slick-next {
	right: 7vw;
}

.st_slider .slick-next:before {
	content: '\25B6';
	/* ▶ のUnicode */
	padding-left: 3px;
}

@media screen and (max-width:576px) {
	.slick-dotted.slick-slider {
		margin-bottom: 0;
	}

	/* 非表示部分を表示 */
	.st_slider .slick-list {
		overflow: hidden;
	}

	/* 中央画像拡大 */
	.st_slider .slick-center {
		transform: initial;
		opacity: 1;
	}

	.st_slider .slick-slide {
		opacity: 1;
	}

	.st_slider .slick-prev {
		left: 5px;
	}

	.st_slider .slick-next {
		right: 5px;
	}

	/* ドット */
	.st_slider .slick-dots {
		bottom: -45px;
	}

	.ly_sliderArea {
		margin-bottom: 70px;
	}
}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	CAMPAIGN
//////////////////////////////////////////////////////////////////////////////////////////////////// */
.hp_text_center {
	text-align: center;
}

.ly_campaign {
	padding-top: clamp(30px, calc(57 / var(--vw-base) * 100vw), 57px);
	/* 最小30px, 最大57px */
	padding-bottom: clamp(40px, calc(68 / var(--vw-base) * 100vw), 68px);
	/* 最小40px, 最大68px */
}

.el_bg_graPink {
	background: #FFE6F6;
	background: linear-gradient(180deg, rgba(255, 230, 246, 1) 0%, rgba(255, 230, 246, 0.5) 50%, rgba(255, 255, 255, 0) 100%);
}

.el_bgRedTitle {
	background-color: var(--accentColor);
	color: #fff;
	padding: 11px 33px;
	display: inline-block;
	font-size: 1.125rem;
	margin: 0;
	margin-bottom: 34px;
	font-family: "BIZ UDGothic", sans-serif;
	font-weight: 700;
	font-style: normal;
}

.bl_campaignTitle {
	margin-bottom: 34px;
	max-width: 171px;
	width: 100%;
}

.bl_campaignNote {
	text-align: end;
	font-size: var(--fontSize14);
}

.el_bg_triangle {
	position: relative;
}

.el_bg_triangle::before,
.el_bg_triangle::after {
	content: '';
	display: block;
	width: 190px;
	aspect-ratio: 381/1001;
	position: absolute;
	bottom: 68px;
	/* ボタン高さ分 */
	background-size: contain;
	background-repeat: no-repeat;
	z-index: -1;
}

.el_bg_triangle::before {
	background-image: url(../img/bg-campaign-left.png);
	left: 0;
}

.el_bg_triangle::after {
	background-image: url(../img/bg-campaign-right.png);
	right: 0;
}

.bl_campaignTitleArea {
	max-width: 780px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 43px;
}

.bl_campaignBoxWrap {
	margin-bottom: 34px;
}

.bl_campaignBoxArea+.bl_campaignBoxArea {
	margin-top: 47px;
}

.bl_campaignBoxNote {
	text-align: right;
	font-size: var(--fontSize14);
}

.bl_campaignBtnWrap {
	display: flex;
	justify-content: center;
	gap: 50px;
}

@media screen and (max-width:992px) {
	.bl_campaignBtnWrap {
		flex-direction: column;
		gap: 29px;
	}
}

@media screen and (max-width:576px) {

	.el_bg_triangle::before,
	.el_bg_triangle::after {
		content: none;
	}

	.bl_campaignBoxNote {
		text-align: right;
		font-size: var(--fontSize12);
	}
}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	料金表
//////////////////////////////////////////////////////////////////////////////////////////////////// */
[class*="col"] {
	margin: initial;
}

.ly_PriceList {
	padding-top: clamp(30px, calc(70 / var(--vw-base) * 100vw), 70px);
	/* 最小30px,最大70px */
	padding-bottom: clamp(30px, calc(43 / var(--vw-base) * 100vw), 43px);
	/* 最小30px, 最大43px */
	margin-bottom: clamp(30px, calc(59 / var(--vw-base) * 100vw), 59px);
	/* 最小30px, 最大59px */
}

.el_bg_colorBlue_imgMan {
	background-color: var(--lightBlue);
	background-image: url(../img/bg-price.jpg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: right 0 top 50%;
}

.bl_PriceListArea {
	width: 100%;
	max-width: 1006px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 20px;
	padding-left: 20px;
}

.bl_PriceListArea picture {
	display: block;
	margin-bottom: 12px;
}

.bl_priceListNote {
	font-size: var(--fontSize14);
	position: relative;
	font-weight: 500;
}

.un_position_original {
	position: absolute;
	right: 0;
	bottom: 0;
}

@media screen and (max-width:992px) {
	.un_position_original {
		position: relative;
		right: initial;
		bottom: initial;
		margin-top: 30px;
	}
}

@media screen and (max-width:576px) {
	.el_bg_colorBlue_imgMan {
		background-image: url(../img/bg-price-sm.jpg);
		background-position: left 0% bottom 158px;
		background-size: contain;
	}

	.bl_priceListNote {
		font-size: var(--fontSize12);
	}

	.bl_priceListNote p {
		letter-spacing: -0.07rem;
	}
}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	Akitaスマホのおすすめポイント
//////////////////////////////////////////////////////////////////////////////////////////////////// */
/* ******************************************************************************************
	レイアウト
****************************************************************************************** */
.ly_point {
	max-width: calc(1090px + 40px);
	/* 設定したい基準幅 + 余白分 */
	width: 100%;
	padding-right: 20px;
	padding-left: 20px;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: clamp(60px, calc(100 / var(--vw-base) * 100vw), 100px);
	/* 最小50px, 最大100px */
}

/* ******************************************************************************************
	見出し
****************************************************************************************** */
.el_titleBeforeAfterLine.el_titleBeforeAfterLine__bgIcon {
	background-image: url(../img/icon-point.png);
	background-repeat: no-repeat;
	background-size: 53px;
	padding-top: calc(40px + 20px);
	/* アイコン高さ + 余白 */
	background-position: top 0 left 50%;
	line-height: 1;
	margin-bottom: clamp(22px, calc(46 / var(--vw-base) * 100vw), 46px);
	/* 最小22px, 最大46px */
}

/* ******************************************************************************************
	グリッド定義
****************************************************************************************** */
.grid_4card {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(40px, calc(50 / var(--vw-base) * 100vw), 50px);
	/* 最小40px, 最大50px */
}

/* ******************************************************************************************
	カードスタイル
****************************************************************************************** */
.bl_card {
	width: 100%;
	min-height: 430px;
	background-color: var(--pink);
	border-radius: 20px;
	display: flex;
	justify-content: center;
	padding-top: clamp(27px, calc(38 / var(--vw-base) * 100vw), 38px);
	/* 最小50px, 最大38px */
	;
	padding-bottom: 12px;
}

.bl_cardInner {
	max-width: 400px;
	width: 100%;
}

.bl_cardTitle {
	font-size: var(--fontSize25);
	font-weight: bold;
	color: var(--accentColor);
	text-align: center;
	margin-bottom: 16px;
	min-height: 75px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.bl_cardText {
	margin-bottom: 26px;
	text-align: justify;
}

.bl_cardImg {
	display: flex;
	justify-content: center;
}

.bl_cardNote {
	text-align: right;
	font-size: var(--fontSize13);
	margin-top: 12px;
}

.el_btn_small.el_btn_small__center {
	margin-right: auto;
	margin-left: auto;
}

.bl_cardImg+.el_btn_small {
	margin-top: 23px;
}

@media screen and (max-width:992px) {
	.grid_4card {
		grid-template-columns: 1fr;
		place-items: center;
	}

	.bl_card {
		max-width: 400px;
		padding-left: 20px;
		padding-right: 20px;
		min-height: 295px;
		padding-bottom: 18px;
	}

	.bl_card:nth-of-type(1) {
		padding-bottom: 29px;
	}

	.bl_card:nth-of-type(2),
	.bl_card:nth-of-type(4) {
		padding-bottom: 15px;
	}

	.bl_card:nth-of-type(3) {
		padding-bottom: 18px;
	}

	.bl_cardTitle {
		min-height: initial;
	}

	.bl_cardNote {
		text-align: center;
	}
}

@media screen and (max-width:576px) {
	.el_titleBeforeAfterLine.el_titleBeforeAfterLine__bgIcon {
		line-height: 1.3;
	}

	.el_titleBeforeAfterLine.el_titleBeforeAfterLine__bgIcon {
		background-size: 33px;
		padding-top: calc(25px + 10px);
		/* アイコン高さ + 余白 */
	}

	.bl_cardTitle {
		font-size: var(--fontSize20);
		margin-bottom: 10px;
	}

	.bl_cardNote {
		font-size: var(--fontSize12);
	}
}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	スマホ訪問サポート
//////////////////////////////////////////////////////////////////////////////////////////////////// */
.ly_support {
	max-width: calc(1000px + 40px);
	/* 設定したい基準幅 + 余白分 */
	width: 100%;
	padding-right: 20px;
	padding-left: 20px;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: clamp(43px, calc(50 / var(--vw-base) * 100vw), 50px);
	/* 最小50px, 最大50px */
	/* clamp(最小px, calc(最大 / var(基準画面幅をrootに定義1920) * 100vw), 最大px); */
	;
}

.bl_supportStyle {
	background-color: var(--lightBlue);
	border: 1px solid #bebebe;
	border-radius: 20px;
	padding-bottom: 26px;
	position: relative;
	margin-bottom: 12px;
}

.ly_supporInner {
	width: 100%;
	max-width: calc(800px + 26px + 26px);
	margin-right: auto;
	margin-left: auto;
	padding-left: 26px;
	padding-right: 26px;
}

.bl_supportStyle::before {
	content: '';
	display: block;
	width: 153px;
	aspect-ratio: 306/410;
	position: absolute;
	top: 40px;
	right: 20px;
	background-image: url(../img/bg-support.png);
	background-repeat: no-repeat;
	background-size: contain;
}

.bl_supportTitleWrap {
	background-color: #644c9e;
	text-align: center;
	padding: 27px 17px 22px 17px;
	border-radius: 0 0 20px 20px;
	margin-bottom: -15px;
}

.bl_supportTitle {
	display: inline-block;
	position: relative;
}

.bl_supportTitle img {
	max-width: 400px;
	width: 100%;
}

.bl_supportContentsImgWrap {
	display: flex;
}

.bl_supportContents {
	max-width: 490px;
	width: 100%;
	padding-top: calc(15px + 32px);
	/* h2ネガティブマージン分 + 余白 */
}

.bl_supportImg {
	max-width: 300px;
	width: 100%;
}

.bl_supportContentsTitle {
	font-size: var(--fontSize26);
	color: var(--accentColor);
	font-weight: bold;
	letter-spacing: 1px;
}

.bl_supportListFukidashiWrap {
	display: flex;
	padding: 30px 24px 30px 54px;
	background-color: #fff;
	position: relative;
	gap: 20px;
	margin-bottom: 30px;
	align-items: center;
}

.bl_supportListFukidashiWrap::before,
.bl_supportListFukidashiWrap::after {
	content: '';
	display: block;
	position: absolute;
	bottom: -24px;
	background-repeat: no-repeat;
	background-size: contain;
}

.bl_supportListFukidashiWrap::before {
	background-image: url(../img/icon-support-senior.png);
	left: -47px;
	aspect-ratio: 98/103;
	width: 98PX;
}

.bl_supportListFukidashiWrap::after {
	background-image: url(../img/icon-support-woman.png);
	right: -60px;
	aspect-ratio: 92/102;
	width: 92px;
}

.bl_supportList {
	width: calc(100% - 219px);
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

.bl_supportList li {
	font-size: var(--fontSize17);
	letter-spacing: -0.07em;
	text-align: center;
	color: var(--mainColor);
	border-bottom: 1px solid var(--mainColor);
	font-weight: bold;
	padding-bottom: 5px;
}

.bl_supportList li:last-of-type {
	border-bottom: none;
}

.bl_supportFukidashi {
	max-width: 219px;
}

.bl_supportNote {
	font-size: var(--fontSize14);
}

@media screen and (max-width:992px) {
	.bl_supportStyle::before {
		content: none;
	}

	.bl_supportTitle::before {
		content: '';
		display: block;
		width: 62px;
		aspect-ratio: 62/90;
		position: absolute;
		top: initial;
		bottom: calc(0px - 90px - 8px);
		right: -28px;
		background-image: url(../img/bg-support-sm.png);
	}

	.bl_supportContentsImgWrap {
		flex-direction: column-reverse;
		justify-content: center;
		align-items: center;
		margin-bottom: 24px;
	}

	.bl_supportContents {
		padding-top: 20px;
	}

	.bl_supportListFukidashiContainer {
		/* 人アイコンはみ出し防止用タグ */
		padding-left: 60px;
		padding-right: 60px;
	}

	.bl_supportListFukidashiWrap {
		flex-direction: column;
		max-width: 470px;
		padding: 23px 23px 20px;
		margin-right: auto;
		margin-left: auto;
	}

	.bl_supportList {
		width: 100%;
		grid-template-columns: 1fr;
		gap: 10px;
	}
}

@media screen and (max-width:576px) {
	.bl_supportImg {
		max-width: 156px;
	}

	.bl_supportContentsTitle {
		font-size: var(--fontSize15);
		display: inline-block;
		letter-spacing: 0;
	}

	.bl_supportListFukidashiContainer {
		/* 人アイコンはみ出し防止用タグ */
		padding-left: 20px;
		padding-right: 20px;
	}

	.bl_supportListFukidashiWrap::before,
	.bl_supportListFukidashiWrap::after {
		bottom: 0;
	}

	.bl_supportListFukidashiWrap::before {
		background-image: url(../img/icon-support-senior.png);
		left: -23px;
		aspect-ratio: 98/103;
		width: 59PX;
	}

	.bl_supportListFukidashiWrap::after {
		background-image: url(../img/icon-support-woman.png);
		right: -30px;
		aspect-ratio: 92/102;
		width: 53px;
	}

	.bl_supportFukidashi {
		max-width: 162px;
	}

	.bl_supportList li {
		font-size: inherit;
	}

	.bl_supportNote {
		font-size: var(--fontSize11);
	}
}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	バナーエリア
//////////////////////////////////////////////////////////////////////////////////////////////////// */
.ly_bannerArea {
	max-width: calc(620px + 40px);
	/* 設定したい基準幅 + 余白分 */
	width: 100%;
	padding-right: 20px;
	padding-left: 20px;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: clamp(50px, calc(90 / var(--vw-base) * 100vw), 90px);
	/* 最小50px, 最大90px */
	/* clamp(最小px, calc(最大 / var(基準画面幅をrootに定義1920) * 100vw), 最大px); */
	;
}

.st_bannerArea img {
	margin-bottom: 15px;
}

.st_bannerArea p {
	text-align: center;
}

@media screen and (max-width:576px) {
	.st_bannerArea p {
		font-size: var(--fontSize10);
	}
}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	よくあるご質問
//////////////////////////////////////////////////////////////////////////////////////////////////// */
.el_titleBeforeAfterLine.el_titleBeforeAfterLine__questionRed {
	color: var(--accentColor);
}

.ly_question {
	max-width: calc(900px + 40px);
	/* 設定したい基準幅 + 余白分 */
	width: 100%;
	padding-right: 20px;
	padding-left: 20px;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: clamp(120px, calc(134 / var(--vw-base) * 100vw), 134px);
	/* 最小120px, 最大134px */
}

.bl_questionArea {
	border-top: 1px solid #8c8c8c;
	position: relative;
	cursor: pointer;
}

.bl_questionArea:last-child {
	border-bottom: 1px solid #8c8c8c;
}

.bl_questionArea::before,
.bl_questionArea::after {
	content: "";
	background-color: var(--black);
	position: absolute;
}

.bl_questionArea::before {
	width: 20px;
	height: 4px;
	right: 29px;
	top: 33px;
}

.bl_questionArea::after {
	width: 4px;
	height: 20px;
	top: 25px;
	right: 37px;
	transition: all .3s;
}

.bl_questionArea.is_open::after {
	top: 25px;
	right: 37px;
	transform: rotate(90deg);
	transition: all .3s;
}

.bl_questionSubTitle {
	text-align: center;
	margin-bottom: clamp(20px, calc(30 / var(--vw-base) * 100vw), 30px);
	/* 最小20px, 最大30px */
}

.bl_questionTitle {
	font-size: var(--fontSize21);
	color: var(--mainColor);
	font-weight: bold;
	position: relative;
	padding: 20px 85px 20px 85px;
}

.bl_answer {
	position: relative;
	background-color: #daf1f7;
	padding: 20px 85px 20px 85px;
}

/* アイコン共通設定 */
.bl_questionTitle::before,
.bl_answer::before {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 36px;
	height: 36px;
	color: #fff;
	border-radius: 5px;
	position: absolute;
	top: 20px;
	left: calc(85px - 36px - 24px);
	/* アイコン領域確保分 - アイコン幅 - 余白 */
	font-weight: bold;
	font-size: 25px;
}

.bl_questionTitle::before {
	content: 'Q';
	background-color: var(--accentColor);
	padding-bottom: 5px;
	/* 文字位置調整用 */
}

.bl_answer::before {
	content: 'A';
	background-color: var(--mainColor);
}

.bl_answerText+.bl_answerNote {
	margin-top: 5px;
}

.bl_answerText.bl_answerText_Ul a {
	text-decoration: underline;
}

.bl_answerNote {
	font-size: var(--fontSize14);
	text-align: justify;
}

@media screen and (max-width:576px) {
	.bl_questionTitle {
		font-size: var(--fontSize13);
		padding: 14px 38px 14px 42px;
	}

	.bl_answer {
		padding: 14px 38px 14px 42px;
	}

	/* アイコン関係 */
	.bl_questionTitle::before,
	.bl_answer::before {
		width: 22px;
		height: 22px;
		top: 14px;
		left: calc(38px - 22px - 10px);
		/* アイコン領域確保分 - アイコン幅 - 余白 */
		font-size: 14px;
	}

	.bl_questionTitle::before {
		padding-bottom: 3px;
		/* 文字位置調整用 */
	}

	.bl_answer::before {
		padding-bottom: 2px;
		/* 文字位置調整用 */
	}

	/* 矢印関係 */
	.bl_questionArea::before {
		width: 14px;
		height: 2px;
		right: 10px;
		top: 23px;
	}

	.bl_questionArea::after {
		width: 2px;
		height: 14px;
		right: 16px;
		top: 17px;
		transition: all .3s;
	}

	.bl_questionArea.is_open::after {
		right: 16px;
		transform: rotate(90deg);
		top: 17px;
		transition: all .3s;
	}

	.bl_answerNote {
		font-size: var(--fontSize11);
	}
}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	お客様の声
//////////////////////////////////////////////////////////////////////////////////////////////////// */
/* ******************************************************************************************
	レイアウト
****************************************************************************************** */
.ly_voice {
	background-color: var(--pink);
	padding-top: 76px;
	padding-bottom: 104px;
	position: relative;
	z-index: 1;
}

.ly_voiceInner {
	max-width: 1040px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
}

/* ******************************************************************************************
	背景装飾
****************************************************************************************** */
.ly_voice::before,
.ly_voice::after {
	content: '';
	display: block;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	z-index: -1;
}

.ly_voice::before {
	width: 154px;
	aspect-ratio: 329/673;
	top: 30%;
	left: 0;
	background-image: url(../img/bg-voice-left-pc.png)
}

.ly_voice::after {
	width: 217px;
	aspect-ratio: 432/774;
	bottom: 10%;
	right: 0;
	background-image: url(../img/bg-voice-right-pc.png);
}

.un_voiceIcon::before,
.un_voiceIcon::after {
	content: '';
	display: block;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
}

.un_voiceIcon::before {
	background-image: url(../img/img-voice-01.png);
	top: -120px;
	left: 0;
	width: 228px;
	aspect-ratio: 228/263;
}

.un_voiceIcon::after {
	background-image: url(../img/img-voice-02.png);
	bottom: -160px;
	right: 0;
	width: 223px;
	aspect-ratio: 223/263;
}

/* ******************************************************************************************
	タイトル
****************************************************************************************** */
.el_titleBeforeAfterLine.el_titleBeforeAfterLine__voiceRed {
	color: var(--accentColor);
	/* 文字色上書き */
	margin-bottom: clamp(19px, calc(38 / var(--vw-base) * 100vw), 38px);
	/* 最小19px, 最大38px */
	/* clamp(最小px, calc(最大 / var(基準画面幅をrootに定義1920) * 100vw), 最大px); */
	;
}

.bl_voiceSubTitle {
	text-align: center;
	font-weight: bold;
	margin-bottom: clamp(29px, calc(38 / var(--vw-base) * 100vw), 38px);
	/* 最小29px, 最大38px */
	/* clamp(最小px, calc(最大 / var(基準画面幅をrootに定義1920) * 100vw), 最大px); */
	;
	font-size: var(--fontSize21);
}

/* ******************************************************************************************
	カードレイアウト
****************************************************************************************** */
.grid_voiceCard {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px;
}

.bl_voiceCard {
	background-color: #fff;
	min-height: 140px;
	display: flex;
	border-radius: 10px;
	gap: 10px;
	justify-content: center;
	max-width: 480px;
	width: 100%;
	padding-top: 33px;
	padding-left: 25px;
}

.bl_voiceCard:nth-of-type(2) {
	gap: 0;
}

.bl_voiceCard:nth-of-type(4) {
	gap: 5px;
}

.bl_voiceCardText {
	margin-bottom: 10px;
}

.bl_voiceCard:nth-of-type(1) .bl_voiceCardText {
	/* 個別余白設定 */
	margin-bottom: -14px;
}

.bl_voiceCardTextArea {
	max-width: 340px;
	width: 100%;
	padding-bottom: 26px;
}

.bl_voiceCardText {
	font-size: var(--fontSize16);
	text-align: justify;
	letter-spacing: -0.063rem;
}

.bl_voiceCardText span {
	border-bottom: 3px solid #f090ab;
}

.bl_voiceNote {
	background-color: #828282;
	border-radius: 3px;
	padding: 2px 11px;
	color: #fff;
	display: block;
	font-size: var(--fontSize14);
	max-width: 150px;
	margin-left: auto;
	text-align: center;
}

.bl_voiceImgArea {
	display: flex;
	align-items: end;
}

.bl_voiceCard img {
	object-fit: contain;
}

@media screen and (max-width:992px) {
	.ly_voice {
		padding-top: 114px;
		padding-bottom: 106px;
	}

	.ly_voice::before,
	.ly_voice::after {
		transform: translateX(-50%);
	}

	.ly_voice::before {
		width: 76px;
		top: -27px;
		left: 50%;
		background-image: url(../img/bg-voice-top-sm.png);
		aspect-ratio: 229/330;
	}

	.ly_voice::after {
		width: 92px;
		bottom: -35px;
		left: 50%;
		right: initial;
		background-image: url(../img/bg-voice-bottom-sm.png);
		aspect-ratio: 280/309;
	}

	.un_voiceIcon::before {
		top: -75px;
		width: 145px;
	}

	.un_voiceIcon::after {
		bottom: -103px;
		width: 145px;
	}

	.grid_voiceCard {
		grid-template-columns: repeat(1, 1fr);
		gap: 30px;
	}

	.bl_voiceCard {
		margin-left: auto;
		margin-right: auto;
	}
}

@media screen and (max-width:576px) {
	.el_titleBeforeAfterLine.el_titleBeforeAfterLine__voiceRed {
		margin-bottom: 15px;
	}

	.ly_voice::before {
		left: calc(50% - 30px);
	}

	.bl_voiceSubTitle {
		font-size: var(--fontSize12);
	}

	.bl_voiceCard {
		min-height: 90px;
		padding-top: 16px;
		padding-left: 18px;
		padding-right: 10px;
	}

	.bl_voiceCard:nth-of-type(1) {
		gap: 20px;
	}

	.bl_voiceCard:nth-of-type(2) {
		gap: 5px;
	}

	.bl_voiceCard:nth-of-type(3) {
		gap: 17px;
	}

	.bl_voiceCard:nth-of-type(4) {
		gap: 10px;
	}

	.bl_voiceCard:nth-of-type(5) {
		gap: 12px;
	}

	.bl_voiceCard:nth-of-type(6) {
		gap: 15px;
	}

	.bl_voiceCardTextArea {
		padding-bottom: 10px;
		max-width: 237px;
	}

	.bl_voiceCard:nth-of-type(1) .bl_voiceCardText {
		margin-bottom: 10px;
	}

	.bl_voiceCardText {
		font-size: var(--fontSize12);
		line-height: 1.7;
	}

	.bl_voiceNote {
		font-size: var(--fontSize10);
		max-width: 110px;
		padding: 2px 5px;
	}
}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	お申し込みの流れ
//////////////////////////////////////////////////////////////////////////////////////////////////// */
/* ******************************************************************************************
	レイアウト
****************************************************************************************** */
.ly_process {
	background-color: var(--mainColor);
	padding-top: 85px;
	padding-bottom: 75px;
	margin-bottom: clamp(38px, calc(99 / var(--vw-base) * 100vw), 99px);
	/* 最小38px, 最大99px */
}

.ly_processInner {
	max-width: calc(1000px + 40px);
	/* 設定したい基準幅 + 余白分 */
	width: 100%;
	padding-right: 20px;
	padding-left: 20px;
	margin-right: auto;
	margin-left: auto;
}

/* ******************************************************************************************
	タイトル
****************************************************************************************** */
.el_titleBeforeAfterLine.el_titleBeforeAfterLine__processWhite {
	color: #fff;
	margin-bottom: 45px;
}

.el_titleBeforeAfterLine.el_titleBeforeAfterLine__processWhite::before,
.el_titleBeforeAfterLine.el_titleBeforeAfterLine__processWhite::after {
	background-color: #fff;
}

/* ******************************************************************************************
	帯BOX
****************************************************************************************** */
.bl_processNoteBox {
	display: flex;
	margin-bottom: 40px;
}

.bl_processNoteTitle {
	background-color: #5f84d9;
	width: 352px;
	font-size: var(--fontSize19);
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	min-height: 50px;
}

.bl_processNoteText {
	background-color: #fff;
	width: calc(100% - 352px);
	font-size: var(--fontSize14);
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 17px;
	letter-spacing: -0.05rem;
	text-indent: -12px;
	text-align: justify;
}

/* ******************************************************************************************
	カードスタイル
****************************************************************************************** */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	レイアウト
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.grid_processCardArea {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 40px;
	justify-content: center;
	margin-bottom: 40px;
}

.bl_processCard {
	background-color: #fff;
	border-radius: 20px;
	padding: 22px 0 17px;
	min-height: 290px;
	position: relative;
	max-width: 220px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.bl_processCardInner {
	max-width: 175px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.bl_processCard+.bl_processCard::before {
	content: '';
	display: block;
	background-image: url(../img/icon-arrow.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: 22px;
	aspect-ratio: 23/29;
	position: absolute;
	top: 50%;
	left: -31px;
	transform: translateY(-50%);
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	見出し
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.bl_processCardTitle {
	font-size: var(--fontSize20);
	color: var(--mainColor);
	text-align: center;
	font-weight: bold;
	min-height: 60px;
	display: flex;
	justify-content: center;
	align-items: center;
	letter-spacing: -0.04rem;
	margin-bottom: 14px;
}

.bl_processCardText {
	font-size: var(--fontSize14);
	text-align: justify;
	letter-spacing: -0.05rem;
}

.bl_processCard:nth-of-type(1) .bl_processCardText {
	margin-bottom: 3px;
}

.bl_processCard:nth-of-type(2) .bl_processCardText {
	margin-bottom: 14px;
}

.bl_processCard:nth-of-type(3) .bl_processCardText {
	margin-bottom: 31px;
}

.bl_processCard:nth-of-type(4) .bl_processCardText {
	margin-bottom: 8px;
}

.bl_processCardImg {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	display: block;
	object-fit: contain;
}

.bl_processCard:nth-of-type(1) .bl_processCardImg {
	max-width: 165px;
}

.bl_processCard:nth-of-type(2) .bl_processCardImg {
	max-width: 64px;
}

.bl_processCard:nth-of-type(3) .bl_processCardImg {
	max-width: 65px;
}

.bl_processCard:nth-of-type(4) .bl_processCardImg {
	max-width: 71px;
}

/* ******************************************************************************************
	ご契約窓口
****************************************************************************************** */
.bl_processAddressArea {
	display: flex;
	gap: 15px;
}

.bl_processAddressTitle {
	color: #fff;
	border: 1px solid #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 109px;
	width: 100%;
	font-size: var(--fontSize16);
}

.bl_processAddressText {
	color: #fff;
	font-size: var(--fontSize15);
}

@media screen and (max-width:992px) {
	.ly_process {
		padding-top: 130px;
		padding-bottom: 30px;
	}

	.bl_processNoteBox {
		flex-direction: column;
	}

	.bl_processNoteTitle {
		width: 100%;
	}

	.bl_processNoteText {
		width: 100%;
	}

	.grid_processCardArea {
		grid-template-columns: repeat(1, 1fr);
		gap: 40px;
		justify-content: center;
		margin-bottom: 40px;
	}

	.bl_processCard {
		max-width: 300px;
		min-height: 120px;
		padding: 13px 20px 0;
		border-radius: 10px;
	}

	.bl_processCardInner {
		max-width: 260px;
	}

	.bl_processCard+.bl_processCard::before {
		position: absolute;
		top: -34px;
		left: 50%;
		transform: translateX(-50%) rotate(90deg);
		width: 24px;
	}

	.bl_processTextImgWrap {
		display: flex;
		gap: 21px;
		align-items: start;
	}

	.bl_processCardTitle {
		font-size: var(--fontSize18);
		min-height: initial;
		margin-bottom: 5px;
	}

	.bl_processCardText {
		font-size: var(--fontSize12);
	}

	.bl_processCard:nth-of-type(1) .bl_processCardImg {
		max-width: 107px;
	}

	.bl_processCard:nth-of-type(2) .bl_processCardImg {
		max-width: 42px;
	}

	.bl_processCard:nth-of-type(3) .bl_processCardImg {
		max-width: 41px;
	}

	.bl_processCard:nth-of-type(4) .bl_processCardImg {
		max-width: 45px;
	}
}

@media screen and (max-width:576px) {
	.el_titleBeforeAfterLine.el_titleBeforeAfterLine__processWhite {
		margin-bottom: 26px;
	}

	.bl_processNoteBox {
		max-width: 300px;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}

	.bl_processNoteTitle {
		font-size: var(--fontSize13);
		min-height: 34px;
	}

	.bl_processNoteText {
		font-size: var(--fontSize12);
		padding: 10px 10px 10px 20px;
	}

	.bl_processAddressText span {
		display: none;
	}

	.bl_processCardInner {
		max-width: initial;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}

	.bl_processAddressArea {
		flex-direction: column;
		max-width: 300px;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}

	.bl_processAddressTitle {
		max-width: 101px;
		min-height: 31px;
		font-size: var(--fontSize14);
	}

	.bl_processAddressText {
		font-size: var(--fontSize12);
	}

	.bl_processAddressText+.bl_processAddressText {
		margin-top: 10px;
	}
}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	バナーエリア
//////////////////////////////////////////////////////////////////////////////////////////////////// */
.bl_BannerListTitle {
	margin-bottom: 50px;
}

.ly_BannerList {
	margin-bottom: 100px;
	background-image: url(../img/bg-pc.png);
	background-size: contain;
	background-repeat: no-repeat;
	position: relative;
}

.ly_BannerList.bg_pink {
	background-image: url(../img/bg_pink.png);
}


.ly_BannerList.bg_pink::before {
	content: '';
	display: block;
	width: 167px;
	height: 395px;
	background-image: url(../img/accent-left-pc.png);
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	left: 0;
	bottom: -50px;
}



.ly_BannerList.bg_pink::after {
	content: '';
	display: block;
	width: 167px;
	height: 395px;
	background-image: url(../img/accent-right-pc.png);
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	right: 0;
	bottom: -50px;
}



.bl_BannerListArea {
	width: 100%;
	max-width: 1006px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 20px;
	padding-left: 20px;
	padding-top: 4rem;
}

.bl_campaignListItem+.bl_campaignListItem {
	margin-top: 45px;
}

.ly_BannerList.bg_pink .bl_campaignList {
	margin-bottom: 3rem;
}

.bl_tag {
	background-color: #e50012;
	color: #fff;
	padding: 11px 45px;
	font-weight: bold;
	font-size: var(--fontSize20);
	margin: 0 auto;
	display: block;
	width: fit-content;
	letter-spacing: 1px;
	font-weight: 900;
	margin-bottom: 25px;
}

@media screen and (max-width:992px) {

	.ly_BannerList.bg_pink::after,
	.ly_BannerList.bg_pink::before {
		display: none;
	}
}

@media screen and (max-width:576px) {

	.ly_BannerList::before,
	.ly_BannerList::after {
		display: none;
	}

	.bl_tag {
		padding: 8px 14px;
		font-weight: bold;
		font-size: var(--fontSize16);
	}

	.ly_BannerList.bg_pink {
		background-image: url(../img/bg_pink_sp.png);
	}

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	キャンペーン適用条件
//////////////////////////////////////////////////////////////////////////////////////////////////// */

.bl_ConditionsListArea {
	width: 100%;
	max-width: 1006px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 20px;
	padding-left: 20px;
}

.ly_ConditionsListInner {
	padding: 15px 25px;
}

.campaign-wrapper {
	margin: 0 auto;
	background-color: #e6f9ff;
	margin-bottom: 55px;
}

.campaign-title {
	background-color: #003b82;
	color: #fff;
	text-align: center;
	font-size: var(--fontSize32);
	padding: 12px 0;
	margin-bottom: 20px;
	font-weight: bold;
}

.common-conditions h2 {
	color: #003b82;
	text-align: left;
	margin-bottom: 10px;
	font-size: 1.3rem;
}

.common-conditions-wrapper {
	display: flex;
	gap: 30px;
}

.common-conditions-item {
	width: calc((100% - 30px) / 2);
}

.list-disc {
	padding-left: 1.5rem;
	margin-bottom: 25px;
}

.list-disc li {
	list-style-type: disc;
	font-size: var(--fontSize20);
	color: var(--mainColor);
	font-weight: bold;
	position: relative;
}

.conditions-table img {
	margin-bottom: 25px;
}


/* 注意事項 */
/* 全体コンテナのスタイル */
.campaign-notes-section {
	font-family: sans-serif;
	border: 1px solid #003366;
	margin-bottom: .5rem;
}

/* --- ヘッダー部分のスタイル --- */
.notes-header {
	background-color: #003366;
	color: white;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	padding: 12px 0;
}

/* --- 注意事項リスト部分のスタイル --- */
.notes-body {
	background-color: #fff;
	padding: 15px 12px 15px 12px;
	color: var(--mainColor);
	font-size: var(--fontSize14);
	font-weight: 500;
}

.notes-body ul {
	list-style: none;
	/* デフォルトのリスト記号を非表示 */
	padding: 0;
	margin: 0;
}

.notes-body li {
	margin-bottom: 8px;
	/* 各項目の間隔 */
	line-height: 1.6;
	/* 読みやすい行間 */
	text-indent: -1.2em;
	/* 箇条書き記号を左側に寄せるためのインデント調整 */
	display: inline;
}

/* 黒丸（●）のスタイル */
.notes-body .bullet {
	color: #333;
	/* 黒色 */
	font-size: 14px;
	/* サイズを調整 */
	margin-right: 3px;
	/* テキストとの間隔 */
}

/* --- 青い下線と注釈 --- */
.bottom-line {
	border-bottom: 3px solid #003366;
	/* 濃い青の線 */
	margin: 15px 0 10px 0;
}

.footnote {
	text-align: right;
	/* 右寄せ */
	font-size: 14px;
	color: #333;
	margin: 0;
	font-weight: 500;
}

/* ボタン */
.bl_ConditionsListArea .el_btn_small {
	margin: 0 auto;
	font-size: var(--fontSize20);
	padding: 20px;
	padding-right: calc(20px + 30px);
	margin-bottom: 85px;
}

.bl_ConditionsListArea .el_btn_small::after {
	width: 30px;
	height: 30px;
	line-height: 2;
	font-size: 14px;
	right: calc(50px - 30px);
}

.pc-wrap {
	display: block;
}

@media screen and (max-width:576px) {
	.common-conditions-wrapper {
		display: flex;
		gap: 30px;
		flex-direction: column;
	}

	.common-conditions-item {
		width: 100%;
	}

	.ly_ConditionsListInner {
		padding: 33px 20px;
	}

	.list-disc li {
		font-size: var(--fontSize16);
	}

	.notes-body li {
		/* display: block; */
		margin-bottom: 0;
		text-indent: 0;
	}

	.footnote {
		text-align: initial
	}

	.pc-wrap {
		display: none;
	}

	.campaign-title {
		font-size: var(--fontSize18);
	}

	.notes-header {
		font-size: var(--fontSize18);
	}
}





/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	お申し込み・お問い合わせは
//////////////////////////////////////////////////////////////////////////////////////////////////// */
.ly_contact {
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	padding-left: 20px;
	padding-right: 20px;
	margin-bottom: clamp(38px, calc(95 / var(--vw-base) * 100vw), 95px);
	/* 最小38px, 最大95px */
}

.bl_contactBnrArea img {
	width: 100%;
	height: auto;
	display: block;
	/* 余計な隙間を消す */
}

@media screen and (max-width:576px) {
	/* .ly_contact {
		max-width: 340px;
	} */
}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	リファービッシュとは
//////////////////////////////////////////////////////////////////////////////////////////////////// */

.refurbish-box {
	position: relative;
	display: flex;
	align-items: center;
	gap: 70px;

	max-width: 90%;
	width: 900px;
	margin: 0 auto;
	padding: 32px 32px 32px 200px;

	border: 2px solid #003f8f;
	border-radius: 32px;
	background: #fff;
	box-sizing: border-box;
	margin-bottom: 100px;
}

/* --------------------
   赤丸
-------------------- */

.refurbish-circle {
	position: absolute;
	left: -60px;
	top: 50%;
	transform: translateY(-50%);

	width: 235px;
	height: 235px;
	border-radius: 50%;
	background: #e60012;

	display: flex;
	align-items: center;
	justify-content: center;

	flex-shrink: 0;
}

.refurbish-circle span {
	color: #fff;
	font-weight: 700;
	font-size: var(--fontSize24);
	line-height: 1.2;
	text-align: center;
	letter-spacing: -4px;
}

/* --------------------
   テキスト
-------------------- */

.refurbish-content {
	width: 100%;
}

.lead {
	margin: 0;
	color: #003f8f;
	font-size: var(--fontSize20);
	font-weight: 900;
	line-height: 1.6;
}

.catch {
	margin: .25em 0;
}

.catch span {
	display: inline;
	color: #e60012;
	font-size: var(--fontSize24);
	font-weight: 900;
	line-height: 1.75;
	border-bottom: 3px solid #e60012;
	vertical-align: middle;
}

.end {
	margin-top: .2em;
}

.sp_wrap {
	display: none;
}

/* ===================================================
   SP
=================================================== */

@media (max-width:768px) {

	.refurbish-box {

		display: block;

		padding:
			130px 36px 40px;

		border-width: 4px;
		border-radius: 26px;
	}

	/* 円を中央へ */

	.refurbish-circle {

		left: 50%;
		top: 0;

		transform:
			translate(-50%, -50%);

		width: 210px;
		height: 210px;
	}


	.lead {
		line-height: 1.7;
		font-size: var(--fontSize16);
	}

	.catch span {

		font-size: var(--fontSize26);
		line-height: 1.75;
		border-bottom: 3px solid #e60012;
	}

	.sp_wrap {
		display: block;
	}

}



@media (max-width:576px) {

	.refurbish-box {
		padding: 130px 29px 40px;
		border-width: 4px;

	}

	.catch span {
		font-size: var(--fontSize21);

	}
}



.ly_salesTerms_Area {
	width: 900px;
	max-width: 90%;
	margin: 0 auto;
	margin-bottom: 90px;
	display: flex;
}


.bl_setBundle_ListTitle {
	margin-bottom: 50px;
}

.bl_setBundle {
	background-size: cover;
	background-repeat: no-repeat;
	position: relative;
	background-image: url(../img/bg_pink.png);
	padding-top: 100px;
	padding-bottom: 70px;
}

.bl_setBundle::before {
	content: '';
	display: block;
	width: 167px;
	height: 145px;
	background-image: url(../img/accent-left-pc.png);
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	left: 0;
	bottom: 40px;
}



.bl_setBundle::after {
	content: '';
	display: block;
	width: 167px;
	height: 205px;
	background-image: url(../img/accent-right-pc.png);
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	right: 0;
	bottom: 40px;
}


.bl_setBundle_Area {
	width: 900px;
	max-width: 90%;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 50px;
}

.bl_setBundle_ListTitle {
	margin-bottom: 1rem;
	font-size: var(--fontSize38);
	font-weight: 800;
	color: var(--mainColor);
	text-align: center;
	border-bottom: solid 1px var(--mainColor);
	line-height: 2;
	max-width: 465px;
	margin: 0 auto;
	margin-bottom: 50px;
}

.bl_setBundle_subTtl {
	font-size: var(--fontSize38);
	font-weight: 800;
	color: var(--mainColor);
	text-align: center;
	margin-bottom: 1rem;
	max-width: 340px;
	margin: 0 auto;
	margin-bottom: 1.5rem;
}

.bl_setBundle_Note {
	font-size: 20px;
	color: var(--mainColor);
	font-weight: 600;
	line-height: 2.5;
	text-align: center;
	margin-bottom: 5rem;
}

.bl_setBundle_Image {
	margin: 0 auto;
	width: fit-content;
}

.sp_wrap {
	display: none;
}

@media screen and (max-width:768px) {

	.bl_setBundle_ListTitle br {
		display: none;
	}

	.bl_setBundle {
		padding-top: 30%;
	}

	.ly_salesTerms_Area {
		margin-bottom: 20%;
	}

	.bl_setBundle::before {
		content: none;
	}

	.bl_setBundle::after {
		content: none;
	}



}

@media screen and (max-width:576px) {
	.bl_setBundle_ListTitle {
		line-height: 2;
		font-size: var(--fontSize24);
		line-height: 1.5;
		padding-bottom: 1rem;
		font-weight: 900;
	}

	.bl_setBundle_Note {
		font-size: var(--fontSize13);
		font-weight: 700;
		margin-bottom: 2rem;
	}

	.sp_wrap {
		display: block;
	}

	.bl_setBundle_subTtl {
		max-width: 190px;
		margin: 0 auto;
		margin-bottom: 1.5rem;
	}

	.bl_setBundle.bg_pink::before,
	.bl_setBundle.bg_pink::after {
		display: none;
	}
}









/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	こんな方におすすめ！
//////////////////////////////////////////////////////////////////////////////////////////////////// */

/* .bl_recommend_wrapper {
	width: 900px;
	margin: 0 auto;
	max-width: 90%;
	margin-bottom: 40px;
}

.bl_recommend_list {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
}

.bl_recommend_item {
	width: calc((100% - 40px) / 2);
} */

.bl_recommend_wrapper {
	width: 900px;
	margin: 0 auto;
	max-width: 90%;
	margin-bottom: 40px;
}

.refurbish-point-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.refurbish-point-list li {
	display: flex;
	align-items: center;
	gap: 15px;

	min-height: 130px;
	padding: 30px 28px;

	background: #003f8f;
	border-radius: 10px;
	box-sizing: border-box;
}

.refurbish-point-list p {
	margin: 0;
	color: #fff55f;
	font-weight: 800;
	line-height: 1.5;
	font-size: var(--fontSize24);
}

/* チェックアイコン */

.check {
	position: relative;
	flex-shrink: 0;

	width: 24px;
	height: 24px;

	background: #fff;
}

.check::after {
	content: "";

	position: absolute;
	left: 8px;
	top: 4px;

	width: 8px;
	height: 14px;

	border-right: 3px solid #003f8f;
	border-bottom: 3px solid #003f8f;

	transform: rotate(45deg);
}

/* SP */

@media (max-width:768px) {

	.refurbish-point-list {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.refurbish-point-list li {
		min-height: auto;
		padding: 24px;
		gap: 18px;
	}

}



@media screen and (max-width:998px) {}

@media screen and (max-width:768px) {
	.bl_recommend_list {
		flex-direction: column;
		gap: 20px;
	}

	.bl_recommend_item {
		width: 100%;
	}
}

@media screen and (max-width:576px) {
	.bl_recommend_wrapper {
		max-width: 100%;
	}

	.bl_recommend_list {
		gap: 27px;
	}

}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	販売条件
//////////////////////////////////////////////////////////////////////////////////////////////////// */
.bl_sales-condition {
	display: flex;
	align-items: stretch;
	border: 2px solid #e50012;
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
	max-width: 700px;
	margin: 0 auto;
}

.bl_sales-condition_label {
	flex: 0 0 160px;
	background: #e50012;
	color: #fff;
	font-weight: 700;
	font-size: var(--fontSize22);
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1.2;
}

.bl_sales-condition_body {
	flex: 1;
	padding: 18px 24px;
	color: #e60012;
	font-size: var(--fontSize19);
	font-weight: 700;
	line-height: 1.5;
}

@media screen and (max-width: 576px) {
	.bl_sales-condition_label {
		flex: 0 0 84px;
		font-size: var(--fontSize15);
	}

	.bl_sales-condition_body {
		font-size: var(--fontSize13);
	}

	.bl_sales-condition_body {
		padding: 18px 16px;
	}

	.refurbish-point-list p {
		font-size: var(--fontSize16);
	}
}



/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	共見出し
//////////////////////////////////////////////////////////////////////////////////////////////////// */

.bl_secTtl {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 40px;
	color: #003b82;
	font-size: var(--fontSize38);
	font-weight: 900;
	line-height: 1.2;
	text-align: center;
	align-items: flex-end;
	position: relative;
	width: fit-content;
	margin: 0 auto;
	margin-bottom: 40px;
	gap: 3px;
}

.bl_secTtl .mini {
	font-size: var(--fontSize28);
}

.bl_secTtl::before,
.bl_secTtl::after {
	content: "";
	width: 40px;
	height: 2px;
	background: #003b82;
	position: absolute;
	top: 0;
	bottom: -5px;
	margin: auto 0;
}

.bl_secTtl::before {
	transform: rotate(55deg);
	/* margin-right: 18px; */
	left: -40px
}

.bl_secTtl::after {
	transform: rotate(-55deg);
	/* margin-left: 18px; */
	right: -40px;
}



@media screen and (max-width:576px) {
	.bl_secTtl {
		font-size: var(--fontSize18);
		margin-bottom: 10.25%;
	}

	.bl_secTtl .mini {
		font-size: var(--fontSize16);
	}

	.bl_secTtl::before,
	.bl_secTtl::after {
		width: 21px;
	}

	.bl_secTtl::before {
		margin-right: 0;
	}

	.bl_secTtl::after {
		margin-left: 0;
	}

}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	CNAが選ばれる安心の理由
//////////////////////////////////////////////////////////////////////////////////////////////////// */
.bl_reason {
	width: 1100px;
	max-width: 100%;
	margin: 0 auto;
	background-color: #e6f9ff;
	border-radius: 10px;
	padding: 65px 0;
	position: relative;
	margin-bottom: 200px;
}

.bl_reason_deco {
	content: '';
	position: absolute;
	width: 385px;
	height: auto;
	bottom: 0;
	right: 0;
}

.bl_reason_head {
	margin-bottom: 40px;
}


.reason-title {
	display: flex;
	overflow: hidden;
	background: #ec6c00;
}

/* ------------------------
   POINT部分
------------------------- */

.reason-title__point {
	width: 200px;
	min-width: 200px;
	background: #003b82;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
	line-height: 1;
	padding: 30px 40px;
	clip-path: polygon(0 0, calc(100% - 30px) 0, 100% 50%, calc(100% - 30px) 100%, 0 100%);
}


.reason-title__point .en {
	font-size: var(--fontSize23);
	/* 40px */
	font-weight: 600;
	line-height: 1;
	font-family: "Poppins", sans-serif;
	font-weight: 800;
}

.reason-title__point .num {
	font-size: var(--fontSize46);
	font-family: "Poppins", sans-serif;

	font-weight: 700;
	line-height: 1;
}

/* ------------------------
   テキスト
------------------------- */

.reason-title__text {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 24px 30px 24px 30px;
	color: #fff;
	font-weight: 700;
}

.reason-title__text .small {
	font-size: 1.25rem;
	/* 25px */
	line-height: 1.4;
}

.reason-title__text .large {
	font-size: var(--fontSize26);
	font-weight: 800;
	line-height: 1.4;
}

/* ===========================
   SP
=========================== */

@media (max-width:768px) {

	.reason-title {
		align-items: stretch;
	}

	.reason-title__point {
		width: 25%;
		min-width: 25%;
		flex-direction: column;
		gap: 0;
		padding: 5% 10% 5% 5%;
		justify-content: center;
	}

	.reason-title__point::after {

		right: -32px;
		width: 48px;
	}

	.reason-title__point .en {
		font-size: var(--fontSize16);
	}

	.reason-title__point .num {
		font-size: var(--fontSize24);
	}

	.reason-title__text {

		padding: 28px 24px 28px 24px;
	}

	.reason-title__text .small {
		/* font-size: 1.25rem; */
		line-height: 1.5;
	}

	.reason-title__text .large {
		margin-top: 6px;
		line-height: 1.35;
	}

}


@media (max-width:576px) {
	.reason-title__text {
		padding: 20px 10px 20px 10px;
	}

	.reason-title__text .small {
		font-size: var(--fontSize13);
	}

	.reason-title__text .large {
		font-size: var(--fontSize22);
	}
}



.bl_reasonWrap {
	display: flex;
}



.bl_reason_item_list {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	row-gap: 40px;
	width: fit-content;
}



.reason_item {
	width: fit-content;
	min-width: 340px;
	font-size: var(--fontSize23);
	position: relative;
	padding-left: 20px;
	font-weight: 600;
	color: #003b82;
	font-weight: 700;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.reason_item::before {
	content: '';
	display: block;
	width: 8px;
	height: 64px;
	background-color: #ec6c00;
	color: #ec6c00;
	position: absolute;
	left: 0;
}

.reason_item strong {
	font-size: var(--fontSize24);
	font-weight: 900;
}

.reason_item .mini {
	font-size: var(--fontSize14);
}

.bl_reason_wrap {
	width: 1000px;
	margin: 0 auto;
	max-width: 90%;
}

.bl_reason_wrap+.bl_reason_wrap {
	margin-top: 70px;
}

.bl_divider_Area {
	margin-bottom: 100px;
}

.bl_reason_photo {
	width: 230px;
	height: auto;
}


@media screen and (max-width: 1100px) {
	.bl_reason_item_list {
		flex-direction: column;
		gap: 23px;
		width: 70%;
	}

	.reason_item {
		width: 100%;
	}

	.bl_reason {
		border-radius: 0;
	}
}

@media screen and (max-width: 768px) {
	.reason_item {
		font-size: var(--fontSize15);
	}

	.reason_item strong {
		font-size: var(--fontSize16);
	}

	.reason_item .mini {
		font-size: var(--fontSize10);
	}
}


@media screen and (max-width: 576px) {
	.reason_item::before {
		height: 44px;
	}

	.bl_reason_wrap+.bl_reason_wrap {
		margin-top: 100px;
	}

	.bl_reason_deco {
		right: 0;
		bottom: 0;
		left: 0;
		margin: auto;
	}

	.bl_reason_deco {
		content: '';
		width: 275px;
		height: 140px;
	}

	.bl_reason {
		padding: 65px 0 150px 0;
		margin-bottom: 100px;
	}

	.bl_reasonWrap {
		flex-direction: column;
		gap: 2rem;
	}

	.bl_reason_item_list {
		width: 100%;
	}

	.bl_reason_photo {
		width: 100%;
		height: auto;
	}
}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	製品は1台1台プロの手で細かくチェック！
//////////////////////////////////////////////////////////////////////////////////////////////////// */
.bl_inspection {
	background: #f9ebf8;
	/* padding: 80px 0; */
}

.bl_inspection_inner,
.bl_grade_inner {
	width: min(1100px, 90%);
	margin: auto;
	background-color: #fff;
	padding: 50px;
	border-radius: 0 0 20px 20px;
}


.bl_inspection_balloon {
	background-image: url(../img/inspection_balloon_bg.png);
	background-repeat: no-repeat;
	background-size: cover;
	height: 200px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 50px;
}

.bl_inspection_balloon img {
	width: clamp(320px, 56vw, 830px);
	max-width: 100%;
	display: block;
	margin: 0 auto;
}

.bl_inspection_title,
.bl_grade_title {
	background: #003b82;
	color: #fff55f;
	text-align: center;
	padding: 32px;
	font-size: 36px;
	font-weight: 800;
	border-radius: 20px 20px 0 0;

}

.bl_inspection_heading {
	color: #8d6723;
	text-align: center;
	font-size: 24px;
	font-weight: 700;
	padding-top: 50px;
	margin-bottom: 25px;
}

.bl_inspection_table img {
	width: 100%;
	display: block;
}

.bl_inspection_gallery {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	justify-content: center;
	align-items: flex-end;
	margin-top: 50px;
}

.bl_inspection_head,
.bl_grade_head {
	position: relative;
	width: min(1100px, 90%);
	margin: 0 auto;
}

.bl_inspection_person,
.bl_grade_person {
	position: absolute;
}

.bl_inspection_person-left,
.bl_grade_person-left {
	width: 365px;
	height: auto;
	left: -100px;
	top: -120px;
}

.bl_inspection_person-right,
.bl_grade_person-right {
	width: 217px;
	height: auto;
	right: -70px;
	top: -120px;
}

.bl_inspection_badge {
	background-color: #e50012;
	color: #fff;
	font-weight: 800;
	width: 320px;
	border-radius: 50vh;
	padding: 20px;
	aspect-ratio: 1 / 1;
	display: flex;
	text-align: center;
	flex-direction: column;
	justify-content: center;
	font-size: var(--fontSize25);
}

.bl_inspection_badge strong {
	font-size: var(--fontSize34);
	font-weight: 900;
}

.bl_inspection_photo_wrap {
	width: 60%;
	display: flex;
}

@media screen and (max-width:1100px) {
	.bl_inspection_person-right {
		width: 135px;
		height: auto;
		right: 0;
		top: -136px;
	}

	.bl_inspection_person-left {
		width: 223px;
		height: auto;
		left: -24px;
		top: -120px;
	}

	.bl_grade_person-right {
		width: 167px;
		top: -70px;
		right: 0;
	}
}

@media screen and (max-width:768px) {
	.bl_inspection_balloon {
		margin-bottom: 100px;
	}



	.bl_inspection_photo_wrap {
		width: 100%;
	}

	.bl_inspection_title,
	.bl_grade_title {
		font-size: var(--fontSize19);
	}



	.bl_inspection_inner,
	.bl_grade_inner {
		padding: 5%;
	}

	.bl_inspection_inner>.bl_inspection_heading:nth-of-type(2) {
		padding-top: 40px;
	}

}

@media screen and (max-width:576px) {
	.bl_inspection_badge {
		width: 170px;
		height: 170px;
	}

	.bl_inspection_badge {
		font-size: var(--fontSize12);
	}

	.bl_inspection_badge strong {
		font-size: var(--fontSize17);
	}

	.bl_inspection_heading {
		font-size: var(--fontSize14);
		padding-top: 5%;
		margin-bottom: 5%;
	}

	.bl_inspection_balloon {
		height: 140px;
	}

	.bl_inspection_person-left {
		width: 133px;
		height: auto;
		left: -12px;
		top: -76px;
	}


	.bl_inspection_person-right {
		width: 75px;
		height: auto;
		right: 0;
		top: -76px;
	}

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	製品のグレードについて
//////////////////////////////////////////////////////////////////////////////////////////////////// */
.bl_grade {
	background: rgb(249, 235, 248);
	padding: 200px 0px;
	margin-bottom: 100px;
}

.bl_grade_Item_wrap {
	display: flex;
	gap: 3rem;
	border-radius: 0 0 20px 20px;
}

.bl_grade_item_text {
	width: calc(100% - 511px);
}

.bl_grade_item_table {
	width: 511px;
	max-width: 100%;
}

.bl_grade_text {
	font-size: var(--fontSize18);
	margin-bottom: 3rem;
	color: #003b82;
	font-weight: 600;
}

.bl_grade_item_body {
	background-color: #ffffed;
	border: solid 2px #aa874c;
	border-radius: 50vh;
	padding: 1rem .75rem 1rem 7.5rem;
	color: #003b82;
	font-weight: 800;

}

.bl_grade_item {
	position: relative;
}

.bl_grade_item::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 120px;
	height: 120px;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}

.bl_grade_item_grade_a::before {
	background-image: url("../img/grade_a.png");
}

.bl_grade_item_grade_b::before {
	background-image: url("../img/grade_b.png");
}

.bl_grade_item+.bl_grade_item {
	margin-top: 2rem;
}

.bl_grade_person-left {
	bottom: -10px;
}

@media screen and (max-width: 1200px) and (min-width: 992px) {

	.bl_grade_list {
		display: flex;
		align-items: center;
		gap: 1rem;
	}


	.bl_grade_item {
		width: calc((100% - 1rem) / 2);

	}

	.bl_grade_person-left {
		left: 0;
	}

	.bl_grade_person-right {
		right: 0;
		top: -70px;
	}

	.bl_grade_item+.bl_grade_item {
		margin-top: 0;
	}

	.bl_grade_Item_wrap {
		flex-direction: column;
	}

	.bl_grade_item_text {
		width: 100%;
	}


	.bl_grade_item_table {
		width: 100%;
	}

	.bl_inspection_person {
		right: 0;
	}

	.bl_inspection_person-left {
		left: -50px;
	}
}



@media screen and (max-width:992px) {
	.bl_grade_item_table {
		width: 100%;
	}

	.bl_grade_item_text {
		width: 100%;
	}

	.bl_grade {
		padding: 152px 0px 50px 0;
	}


	.bl_grade_Item_wrap {
		flex-direction: column;
	}


	.bl_grade_item::before {
		width: 78px;
		height: 78px;
	}

	.bl_grade_item_body {
		padding: 1rem .75rem 1rem 6.5rem;
	}

	.bl_grade_person-left {
		width: 300px;
		top: -120px;
		left: 0;
	}

}

@media screen and (max-width:576px) {
	.bl_grade_text {
		font-size: var(--fontSize13);
	}

	.bl_grade_person-left {
		width: 200px;
		height: auto;
		left: -10px;
		top: -101px;
	}

	.bl_grade_person.bl_grade_person-right {
		width: 64px;
		height: auto;
		right: 0;
		top: -30px;
	}
}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	取り扱いラインアップ
//////////////////////////////////////////////////////////////////////////////////////////////////// */
.bl_lineup {
	width: min(1100px, 90%);
	margin: 0 auto;
	margin-bottom: 100px;
}

.bl_secTtl_border {
	border-bottom: solid 1px var(--mainColor);
	font-size: var(--fontSize33);
	padding-bottom: 1rem;
}

.bl_secTtl_border::before,
.bl_secTtl_border::after {
	content: none;
}

.comingsoon {
	max-width: 575px;
	max-width: 100%;
	margin: 0 auto;
	display: block;
	margin-bottom: 100px;
}

.mini {
	color: #003b82;
}

@media screen and (max-width:576px) {
	.bl_secTtl_border {
		font-size: var(--fontSize19);
	}

}



/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	footer
//////////////////////////////////////////////////////////////////////////////////////////////////// */
.adree_wrap {
	display: flex;
	align-items: center;
	gap: 2rem;
	flex-wrap: wrap;
	justify-content: center;
}

.bl_footerAddress_gosyono span {
	border: solid 1px var(--mainColor);
	padding: 0 .5rem;
}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	フッター
//////////////////////////////////////////////////////////////////////////////////////////////////// */
.ly_footer {
	max-width: 1240px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
}

.bl_footerLogo {
	max-width: 366px;
	width: 100%;
	margin-bottom: 10px;
}

.bl_footerAddress {
	font-size: var(--fontSize14);
	color: var(--mainColor);
	margin-bottom: clamp(23px, calc(32 / var(--vw-base) * 100vw), 32px);
	display: flex;
	align-items: center;
	gap: .75rem;

}

p.bl_footerAddress_tag {
	border: solid 1px;
	padding: .25rem .75rem;
	font-weight: 600;
}

.bl_footerSubLinkListArea {
	display: flex;
	flex-wrap: wrap;
	margin-left: -14px;
	margin-bottom: 66px;
	justify-content: center;
}

.bl_footerSubList a {
	font-size: var(--fontSize14);
	display: block;
	line-height: 1;
	padding: 5px 14px;
}

.bl_footerSubList+.bl_footerSubList a {
	border-left: 1px solid #000;
}

.bl_footerSubLinkListArea .bl_footerSubList:last-child a {
	border-left: none;
}

.bl_copyright {
	font-size: var(--fontSize13);
	text-align: center;
}

/* トップへ戻る */
.bl_pageTop {
	position: fixed;
	bottom: 10px;
	cursor: pointer;
	right: 10px;
	z-index: 100;
	width: 90px;
}

@media screen and (max-width:992px) {
	.ly_footer {
		margin-bottom: 111px;
		/* 追従アイコン分領域確保 */
	}
}

@media screen and (max-width:576px) {
	.ly_footer {
		/* max-width: 340px; */
		margin-bottom: 81px;
		/* 追従アイコン分領域確保 */
	}

	.bl_footerLogo {
		max-width: 240px;
	}

	.bl_footerAddress {
		font-size: var(--fontSize12);
		align-items: flex-start;
		gap: .5rem;
		flex-direction: column;
	}

	p.bl_footerAddress_tag {
		padding: .2rem .5rem;
	}

	.bl_footerSubList a {
		font-size: var(--fontSize12);
		padding: 10px 0;
	}

	.bl_footerSubList+.bl_footerSubList a {
		border-left: none;
	}

	.bl_footerSubList a {
		border-top: 1px solid #a0a0a0;
	}

	.bl_footerSubList:last-of-type a {
		border-bottom: 1px solid #a0a0a0;
	}

	.bl_footerSubLinkListArea {
		flex-direction: column;
		margin-left: initial;
	}

	.bl_copyright {
		font-size: var(--fontSize10);
	}

	.bl_pageTop {
		bottom: 10px;
		right: 10px;
		width: 60px;
	}

	.adree_wrap {
		gap: 0;
	}
}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	印刷用スタイル
//////////////////////////////////////////////////////////////////////////////////////////////////// */
@media print {
	body {
		/* 背景色反映のため */
		-webkit-print-color-adjust: exact;
	}
}



/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	期間限定：キャンペーン
//////////////////////////////////////////////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	期間限定：キャンペーン
//////////////////////////////////////////////////////////////////////////////////////////////////// */

/* 見出し */

/* キャンペーン商品タイトル */
.bl_inspection_title.bl_cp_product_title {
	display: flex;
	align-items: center;
	gap: 24px;
	width: 100%;
	min-height: 88px;
	margin: 0;
	padding: 18px 28px;
	border-radius: 14px 14px 0 0;
	box-sizing: border-box;
	background-color: #064386;
	color: #fff;
	font-family:
		"Helvetica Neue",
		Arial,
		"Hiragino Kaku Gothic ProN",
		"Hiragino Sans",
		"Yu Gothic",
		Meiryo,
		sans-serif;
	font-weight: 800;
	line-height: 1.2;
}

.bl_cp_product_title__device {
	display: inline-flex;
	align-items: baseline;
	gap: 6px;
	min-width: 0;
	white-space: nowrap;
}

.bl_cp_product_title__maker {
	font-size: var(--fontSize26);
	font-weight: 700;
}

.bl_cp_product_title__name {
	font-size: var(--fontSize50);
	font-weight: 700;
	letter-spacing: -0.03em;
}

.bl_cp_product_title__generation {
	font-size: var(--fontSize28);
	font-weight: 800;
}

.bl_cp_product_title__grade {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	min-width: 164px;
	padding: 10px 30px;
	box-sizing: border-box;
	background-color: #fff45b;
	color: #00428c;
	font-size: var(--fontSize27);
	font-weight: 800;
	line-height: 1;
	white-space: nowrap;
}

/* スマートフォン */
@media (max-width: 576px) {
	.bl_inspection_title.bl_cp_product_title {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
		min-height: auto;
		padding: 16px 15px 18px;
		/* border-radius: 0 10px 0 0; */
	}

	.bl_cp_product_title__device {
		gap: 4px;
		white-space: normal;
	}

	.bl_cp_product_title__maker {
		font-size: clamp(14px, 4.2vw, 18px);
	}

	.bl_cp_product_title__name {
		font-size: clamp(25px, 7.5vw, 34px);
	}

	.bl_cp_product_title__generation {
		font-size: clamp(14px, 4.2vw, 18px);
	}

	.bl_cp_product_title__grade {
		min-width: auto;
		padding: 9px 20px;
		font-size: clamp(15px, 4.5vw, 19px);
	}
}





.cp_inner {
	width: 1100px;
	max-width: 90%;
	margin: 0 auto;
	padding-top: 100px;
	padding-bottom: 130px;
}

.bg_yellow {
	background-color: #fff6dd;
}

.cp_banner {
	display: block;
	width: 100%;
	height: auto;
	margin-bottom: 100px;
}

.bl_cp_product+.bl_cp_product {
	margin-top: 80px;
}

.bl_inspection_inner.bl_cp_detail_inner {
	width: 100%;
}

/* 商品全体のレイアウト */
.bl_cp_detail_layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
	grid-template-areas:
		"price features"
		"price detail";
	column-gap: 40px;
	row-gap: 20px;
	align-items: start;
	background: linear-gradient(to bottom,
			#c8f2ff 0%,
			#eafaff 25%,
			#fff 52%,
			#fff 100%);
}

.bl_cp_detail-price {
	grid-area: price;
	min-width: 0;
}

.bl_device-features {
	grid-area: features;
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
	color: #00428c;
}

.bl_device-detail {
	grid-area: detail;
	width: 100%;
	min-width: 0;
}

/* 商品画像 */
.cp_iphone01 {
	display: block;
	width: 100%;
	max-width: 428px;
	height: auto;
	margin: 0 auto;
}

.bl_cp_item_image {
	display: block;
	width: 100%;
	max-width: 328px;
	height: auto;
	margin: 0 auto;
}

.bl_inspection_inner.bl_cp_detail_inner h4 {
	font-weight: 900;
	color: var(--mainColor);
}

.bl_cp_detail-price h4 {

	font-size: var(--fontSize22);
}

.bl_cp_detail-inner h4.price,
.bl_cp_detail_inner h4.price {
	border-bottom: 1px solid var(--mainColor);
	margin-bottom: 1rem;
	padding-bottom: .25rem;
}

/* スマートフォン
------------------------------------------- */

@media (max-width: 576px) {

	.bl_cp_detail-inner h4.price,
	.bl_cp_detail_inner h4.price,
	.bl_inspection_inner.bl_cp_detail_inner h4 {
		font-size: var(--fontSize14);
	}
}


/* 分割払いの場合の表
------------------------------------------- */

.payment-tables {
	display: grid;
	gap: 14px;
	width: 100%;
	margin: 0 auto;
	color: #00428c;
	font-family:
		"Helvetica Neue",
		Arial,
		"Hiragino Kaku Gothic ProN",
		"Hiragino Sans",
		"Yu Gothic",
		Meiryo,
		sans-serif;
}

.payment-table {
	width: 100%;
	border: 1px solid #00428c;
	border-collapse: collapse;
	table-layout: fixed;
	background: #fff;
}

.payment-table caption {
	padding: 6px 15px 8px;
	background: #064386;
	color: #fff;
	font-size: var(--fontSize18);
	font-weight: 800;
	line-height: 1.15;
	text-align: center;
	caption-side: top;
}

.payment-table td {
	width: 50%;
	padding: 17px 20px 20px;
	border: 1px solid #00428c;
	vertical-align: middle;
	background-color: #f9f9f9;
}

.payment-table__label {
	display: block;
	margin-bottom: 2px;
	font-size: var(--fontSize16);
	font-weight: 800;
	line-height: 1.3;
}

.payment-table__price {
	display: flex;
	align-items: baseline;
	white-space: nowrap;
	line-height: 1;
}

.payment-table__price strong {
	font-family: "Barlow Condensed", sans-serif;
	font-size: var(--fontSize37);
	font-weight: 700;
	letter-spacing: 1px;
}

.payment-table__price small {
	margin-left: 4px;
	font-size: var(--fontSize18);
	font-weight: 800;
	letter-spacing: -0.04em;
}


/* 機能アイコン
------------------------------------------- */

.device-features__head {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 26px;
	margin-bottom: 23px;
}

.device-features__badge {
	margin: 0;
	padding: 12px 15px 13px;
	border-radius: 999px;
	background: #f36c00;
	color: #fff;
	font-size: var(--fontSize20);
	font-weight: 800;
	line-height: 1.25;
	text-align: center;
	white-space: nowrap;
}

.device-features__list {
	display: flex;
	align-items: flex-start;
	gap: 30px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.device-features__item {
	flex: 0 0 60px;
	text-align: center;
}

.device-features__icon {
	display: block;
	width: 59px;
	height: 59px;
	margin: 0 auto 7px;
	object-fit: contain;
}

.device-features__item p {
	margin: 0;
	color: #00428c;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.05;
	white-space: nowrap;
}


/* POINT
------------------------------------------- */

.performance-points {
	width: 100%;
	margin: 0;
	padding: 18px 22px 20px;
	box-sizing: border-box;
	/* font-family:
		"Helvetica Neue",
		Arial,
		"Hiragino Kaku Gothic ProN",
		"Hiragino Sans",
		"Yu Gothic",
		Meiryo,
		sans-serif; */
	list-style: none;
}

.performance-point {
	position: relative;
	margin: 0;
	padding: 0;
}

.performance-point+.performance-point {
	margin-top: 30px;
}

.performance-point__heading {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
}

.bl_inspection_inner.bl_cp_detail_inner .performance-point__title {
	flex: 1;
	min-width: 0;
	margin: 0;
	padding: 0;
	color: #e60012;
	font-size: var(--fontSize28);
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: -0.04em;
}

.performance-point__title small {
	font-size: 20px;
	font-weight: 700;
	/* white-space: nowrap; */
}

.performance-point__number {
	display: flex;
	flex: 0 0 82px;
	align-items: baseline;
	align-items: center;
	justify-content: center;
	gap: 4px;
	padding: 5px 5px 5px;
	box-sizing: border-box;
	background: #e60012;
	;
	color: #fff;
	line-height: 1;
	transform: rotate(-9deg);
}

.performance-point__number small {
	font-size: 14px;
	font-weight: 800;
}

.performance-point__number strong {
	font-size: 23px;
	font-weight: 800;
}

.performance-point__text {
	position: relative;
	margin: 10px 0 0;
	color: #00428c;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.9;
	letter-spacing: 0.01em;
}


/* 仕様表
------------------------------------------- */

.spec-table-wrap {
	width: 100%;
	margin: 0 auto;
	overflow-x: auto;
}

.spec-table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	color: #00428c;
	font-family:
		"Helvetica Neue",
		Arial,
		"Hiragino Kaku Gothic ProN",
		"Hiragino Sans",
		"Yu Gothic",
		Meiryo,
		sans-serif;
	font-size: 17px;
	line-height: 1.3;
}

.spec-table th,
.spec-table td {
	height: var(--fontSize16);
	padding: .5rem;
	border-top: 1px solid #00428c;
	border-bottom: 1px solid #00428c;
	box-sizing: border-box;
	text-align: left;
	vertical-align: middle;
}

.spec-table th {
	width: 30%;
	border-right: 1px solid #fff;
	background: #064386;
	color: #fff;
	font-weight: 700;
	white-space: nowrap;
	text-align: center;
	border-bottom: solid 1px #fff;
}

.spec-table td {
	width: 70%;
	background: #eaf9fc;
	font-weight: 500;
}

.spec-table tbody tr:last-child th {
	border-bottom-color: #00428c;
}


/* タブレット・スマートフォン
------------------------------------------- */

@media (max-width: 768px) {
	.cp_inner {
		max-width: none;
		width: auto;
		margin: 0;
		padding: 60px 20px 80px;
	}

	.cp_banner {
		margin-bottom: 60px;
	}

	.bl_cp_product+.bl_cp_product {
		margin-top: 60px;
	}

	.bl_cp_detail_layout {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"features"
			"price"
			"detail";
		row-gap: 30px;
	}

	.bl_device-features,
	.bl_cp_detail-price,
	.bl_device-detail {
		width: 100%;
		min-width: 0;
	}

	.cp_iphone01 {
		max-width: 428px;
	}

	.bl_cp_item_image {
		margin-right: auto;
		margin-left: auto;
	}

	.payment-table__price strong {
		font-size: clamp(38px, 8vw, 56px);
	}

	.payment-table__price small {
		font-size: clamp(14px, 3vw, 20px);
	}
}


/* スマートフォン
------------------------------------------- */

@media (max-width: 576px) {
	.cp_inner {
		padding: 40px 15px 60px;
	}

	.device-features__head {
		gap: 10px;
		margin-bottom: 20px;
	}

	.device-features__badge {
		padding: 10px 4px;
		font-size: clamp(10px, 3vw, 20px);
	}

	.device-features__list {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 10px;
	}

	.device-features__item {
		min-width: 0;
	}

	.device-features__icon {
		width: min(100%, 59px);
		height: auto;
		aspect-ratio: 1;
	}

	.device-features__item p {
		font-size: clamp(10px, 3vw, 14px);
	}

	.payment-tables {
		gap: 10px;
	}

	.payment-table caption {
		padding: 7px 10px;
		font-size: clamp(11px, 4vw, 27px);
	}

	.payment-table td {
		padding: 10px 14px 10px;
	}

	.payment-table__label {
		font-size: clamp(12px, 2vw, 22px);
	}

	.payment-table__price strong {
		font-size: clamp(25px, 6vw, 48px);
	}

	.payment-table__price small {
		margin-left: 2px;
		font-size: clamp(11px, 3.2vw, 17px);
	}

	.performance-points {
		padding: 16px 0 20px;
	}

	.performance-point+.performance-point {
		margin-top: 26px;
	}

	.performance-point__heading {
		align-items: flex-start;
		gap: 9px;
	}

	.performance-point__number {
		flex-basis: 68px;
		gap: 2px;
		margin-top: 3px;
		padding: 7px 3px 6px;
	}

	.performance-point__number small {
		font-size: 10px;
	}

	.performance-point__number strong {
		font-size: 13px;
	}

	.bl_inspection_inner.bl_cp_detail_inner .performance-point__title {
		font-size: clamp(15px, 4vw, 27px);
		line-height: 1.3;
	}

	.performance-point__title small {
		display: block;
		margin-top: 2px;
		font-size: clamp(14px, 4.2vw, 19px);
		white-space: normal;
		font-weight: 500;
	}

	.performance-point__text {
		margin-top: 10px;
		font-size: clamp(14px, 3vw, 17px);
		line-height: 1.8;
	}

	.performance-point__text br {
		display: none;
	}

	.spec-table {
		font-size: clamp(13px, 3.7vw, 16px);
	}

	.spec-table th,
	.spec-table td {
		height: auto;
		padding: 8px 10px;
	}

	.spec-table th {
		width: 34%;
		font-size: var(--fontSize12);
	}

	.spec-table td {
		width: 66%;
		font-size: var(--fontSize11);
	}
}


/* .cp_inner .bl_secTtl {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0 5px;
	width: 100%;
	margin: 0 0 40px;
	padding: 5px 10px 8px;
	box-sizing: border-box;
	background: #fff6dd;
	color: #00428c;
	font-size: clamp(28px, 3vw, 40px);
	font-weight: 900;
	line-height: 1.25;
	letter-spacing: -0.04em;
} */

.bl_lineup_title__date {
	display: inline-flex;
	align-items: baseline;
	flex-shrink: 0;
	white-space: nowrap;
}

.bl_lineup_title__date time {
	font: inherit;
	color: inherit;
}

.bl_lineup_title__day {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	margin-left: 2px;
	border-radius: 2px;
	background-color: #00428c;
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0;
	transform: translateY(-2px);
}

.bl_lineup_title__text {
	display: inline;
}


/* 商品価格 */
.bl_product_price {
	width: 100%;
	margin: 0 auto;
	max-width: 320px;
	padding: 0 8px;
	box-sizing: border-box;
	color: #e60012;
	font-family:
		"Noto Sans JP",
		"Yu Gothic",
		Meiryo,
		sans-serif;
}

/* .bl_product_price p {
	margin: 0;
} */

.bl_product_price__excluding,
.bl_product_price__including {
	display: flex;
	align-items: baseline;
	white-space: nowrap;
	line-height: 1;
}

.bl_product_price__excluding {
	justify-content: flex-end;
}

.bl_product_price__including {
	justify-content: flex-end;
	margin-top: 5px !important;
	padding-right: 22px;
}

.bl_product_price__number {
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 700;
	letter-spacing: 1px;
}

.bl_product_price__excluding .bl_product_price__number {
	font-size: 76px;
}

.bl_product_price__including .bl_product_price__number {
	font-size: 52px;
}

.bl_product_price__unit {
	margin-left: 4px;
	font-size: 31px;
	font-weight: 900;
	letter-spacing: -0.05em;
}

.bl_product_price__unit small {
	font-size: 21px;
	font-weight: 900;
}

.bl_product_price__including .bl_product_price__unit {
	font-size: 25px;
}

.bl_product_price__including .bl_product_price__unit small {
	font-size: 17px;
}

.bl_product_price__note {
	margin-top: 10px !important;
	padding-right: 18px;
	color: #00428c;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	text-align: right;
	margin-bottom: 1rem;
}
.refurbished-note__indent {
	display: inline-block;
	margin-left: 1em;
}

@media (max-width: 768px) {
	.pc_wrap {
		display: none;
	}

	.refurbished-note__indent {
		display: inline;
		margin-left: 0;
	}
}


/* スマートフォン */
@media (max-width: 576px) {
	/* .cp_inner .bl_secTtl {
		gap: 2px 4px;
		margin-bottom: 30px;
		padding: 7px 8px 9px;
		font-size: clamp(20px, 6.2vw, 28px);
		line-height: 1.35;
	} */

	.bl_lineup_title__day {
		width: 15px;
		height: 15px;
		font-size: 9px;
		transform: translateY(-1px);
	}

	.bl_product_price__excluding .bl_product_price__number {
		font-size: var(--fontSize45);
	}

	.bl_product_price__including .bl_product_price__number {
		font-size: var(--fontSize30);
	}

	.cp_inner .bl_secTtl {
		flex-direction: column;
		font-size: var(--fontSize25);
		align-items: center;
	}

	.bl_product_price__note {
		font-size: var(--fontSize11);
	}


}

#campaign-content[hidden] {
	display: none !important;
}



.bl_cp_product {
	position: relative;
}

.bl_cp_product_soldout {
	position: absolute;
	inset: 0;
	z-index: 100;
	display: grid;
	place-items: center;
	padding: 20px;
	background: rgba(255, 255, 255, 0.88);
}

.bl_cp_product_soldout p {
    margin: 0;
    color: #e70000;
    font-size: clamp(18px, 2.2vw, 32px);
    font-weight: 700;
    line-height: 1.7;
    text-align: center;
    border: solid 3px;
    padding: 1rem;
    background-color: #fff;
}