@charset "utf-8";

/*
	* CNAモバイルLPオリジナルスタイルシート
	* サイト全体に関するスタイル
	* ver1
	* Copyright (C) ●●など
	* 更新履歴
		└ 
*/
/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	初期設定（不要なものは削除）
//////////////////////////////////////////////////////////////////////////////////////////////////// */
/* ******************************************************************************************
	root設定（適宜修正）（フォントはベースフォント外を削除してください。）
****************************************************************************************** */
:root{
	--black: #0b0b0b;
	--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%);
}
@media screen and (max-width:992px){
	.el_btn_base,.el_btn_small{
		margin-left: auto;
		margin-right: auto;
	}
}
@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 50px;
	margin-bottom: 17px;
	max-width: 1500px;
    margin-right: auto;
    margin-left: auto;
	width: 100%;
}
/* タイトル */
.bl_companyTitle{
	margin: 0;
}
.bl_companyTitle img{
	max-width: 180px;
	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:992px){
	.bl_companyTitle img{
		max-width: 120px;
	}
	.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: 20px calc(56px + 20px + 20px) 0 20px;/* calc(ボタン幅 + ボタン移動分 + 余白) */
	}
	.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-direction: column;
	height: initial;
	align-items: flex-end;
	justify-content: end;
	border: none;
	gap: 17px;
}
.bl_gNavContainer{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.bl_gNavUnit{
	display: flex;
	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: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.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;
	}
	.bl_gNavUnit{
		display: block;
		margin-bottom: 2rem;
		margin-right: 0;
	}
	/* ロゴ */
	.bl_humbergerLogo{
		display: block;
		background-color: #fff;
		padding: 20px calc(56px + 20px + 20px) 20px 20px;
	}
	.bl_humbergerLogo img{
		max-width: 120px;
		width: 100%;

	}
}
@media screen and (max-width:576px){
	.bl_gNav{
		padding: 10px 0;
	}
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	個別
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ============================================================
	グローバルメニューのリスト
============================================================ */
.bl_gNav_item{
	position: relative;
	width: initial;
}
.bl_gNav_item + .bl_gNav_item::before{
	content: '';
	display: block;
	width: 2px;
	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: 16px;
		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: 20px;
		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%;
}
.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;
}
.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_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;
	}
}
/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	お申し込み・お問い合わせは
//////////////////////////////////////////////////////////////////////////////////////////////////// */
.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;
	}
}
/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	フッター
//////////////////////////////////////////////////////////////////////////////////////////////////// */
.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(--fontSize16);
	color: var(--mainColor);
	margin-bottom: clamp(23px, calc(32 / var(--vw-base) * 100vw), 32px);/* 最小23, 最大32px */
}
.bl_footerSubLinkListArea{
	display: flex;
	margin-left: -14px;
	margin-bottom: 66px;
}
.bl_footerSubList a{
	font-size: var(--fontSize14);
	display: block;
	line-height: 1;
	padding: 0 14px;
}
.bl_footerSubList+.bl_footerSubList a{
	border-left: 1px solid #000;
}
.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);
	}
	.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;
	}
}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	印刷用スタイル
//////////////////////////////////////////////////////////////////////////////////////////////////// */
@media print{
	body{
		/* 背景色反映のため */
		-webkit-print-color-adjust: exact;
	}
}