@charset "UTF-8";

*{
	font-family: "Noto Sans JP", sans-serif;
}

.inner{
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
}

/*-----------------------------------

	mainvisual_block

-----------------------------------*/
#mainvisual{
	width: 100%;
	height: 715px;
	background: url(../img/training/mainvisual.jpg) no-repeat center center / cover;
    position: relative;
}
.overlay_color{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
	background: linear-gradient( to right, rgba(30, 64, 175, 1) 0%, rgba(30, 64, 175, 1) 26%, rgba(30, 64, 175, 1) 27%, rgba(30, 64, 175, 0.6) 100% );
}
.lead{
	padding: 85px 0 67px;
}
p.box{
	font-size: 34px;
	font-weight: 700;
	width: fit-content;
	padding: 10px 20px;
	background-color: #DBEAFE;
	color: #1E3A8A;
	margin-bottom: 30px;
}
#mainvisual h1{
	font-size: 70px;
	font-weight: 700;
	line-height: 1.4;
	color: #ffffff;
	margin-bottom: 40px;
}
.lead_txt02{
	font-size: 28px;
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.64;
	color: #DBEAFE;
	margin: 0 0 40px 20px;
}
.button_wrap{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: center;
	align-items: center;
	gap: 30px;
	margin-left: 20px;
}
.contact_btn_01{
	width: 410px;
	height: 100px;
	background-color: #ffffff;
	border-radius: 50px;
	overflow: hidden;
}
.contact_btn_01 a{
	width: 100%;
	height: 100%;
	color: #1E3A8A;
	font-size: 24px;
	font-weight: 700;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 30px;
	position: relative;
	z-index: 1;
}
.contact_btn_01 a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(56, 109, 255, .5); /* hover 時の色 */
	transform: scaleX(0); /* 最初は幅ゼロ */
	transform-origin: left; /* 左から伸びる */
	transition: transform 0.4s ease;
	z-index: -1; /* テキストの後ろに置く */
}
.contact_btn_01 a:hover::before{
	transform: scaleX(1);
}
.circle_01{
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: #1E3A8A;
	display: flex;
	justify-content: center;
	align-items: center;
}
img.white_arrow{
	width: 15px;
	height: 15px;
	margin-left: 3px;
}
.quotation_btn_01{
	width: 410px;
	height: 100px;
	background-color: #A3E635;
	border-radius: 50px;
	overflow: hidden;
}
.quotation_btn_01 a{
	width: 100%;
	height: 100%;
	color: #1E3A8A;
	font-size: 24px;
	font-weight: 700;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 30px;
	position: relative;
	z-index: 1;
}
.quotation_btn_01 a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, .5); /* hover 時の色 */
	transform: scaleX(0); /* 最初は幅ゼロ */
	transform-origin: left; /* 左から伸びる */
	transition: transform 0.4s ease;
	z-index: -1; /* テキストの後ろに置く */
}
.quotation_btn_01 a:hover::before{
	transform: scaleX(1);
}
.circle_02{
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: #ffffff;
	display: flex;
	justify-content: center;
	align-items: center;
}
img.blue_arrow{
	width: 15px;
	height: 15px;
	margin-left: 3px;
}
@media screen and (max-width: 860px) {
	#mainvisual{
		height: 550px;
	}
	.lead{
		padding: 50px 0 50px;
	}
	#mainvisual h1{
		font-size: 50px;
		margin-bottom: 40px;
	}
	p.box{
		font-size: 24px;
		margin-bottom: 30px;
	}
	.lead_txt02{
		font-size: 20px;
		margin: 0 0 40px 20px;
	}
	.contact_btn_01{
		width: 300px;
		height: 80px;
		background-color: #ffffff;
		border-radius: 50px;
	}
	.contact_btn_01 a{
		color: #1E3A8A;
		font-size: 18px;
		gap: 20px;
	}
	.circle_01{
		width: 30px;
		height: 30px;
		background-color: #1E3A8A;
	}
	img.white_arrow{
		width: 10px;
		height: 10px;
		margin-left: 3px;
	}
	.quotation_btn_01{
		width: 300px;
		height: 80px;
		background-color: #A3E635;
		border-radius: 50px;
	}
	.quotation_btn_01 a{
		color: #1E3A8A;
		font-size: 18px;
		gap: 20px;
	}
	.circle_02{
		width: 30px;
		height: 30px;
		background-color: #ffffff;
	}
	img.blue_arrow{
		width: 10px;
		height: 10px;
		margin-left: 3px;
	}
}

@media screen and (max-width: 730px) {
	#mainvisual{
		height: 550px;
	}
	.lead{
		padding: 50px 0 50px;
	}
	#mainvisual h1{
		font-size: 38px;
		margin-bottom: 20px;
	}
	p.box{
		font-size: 22px;
		margin-bottom: 20px;
	}
	.lead_txt02{
		font-size: 18px;
		margin: 0 0 40px 20px;
	}
	.button_wrap{
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: column;
		flex-direction: column;
		-webkit-flex-wrap: nowrap;
		flex-wrap: nowrap;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		-webkit-align-items: flex-start;
		align-items: flex-start;
		gap: 20px;
	}
	.contact_btn_01{
		width: 300px;
		height: 70px;
		background-color: #ffffff;
		border-radius: 50px;
	}
	.contact_btn_01 a{
		color: #1E3A8A;
		font-size: 16px;
		gap: 20px;
	}
	.circle_01{
		width: 30px;
		height: 30px;
		background-color: #1E3A8A;
	}
	img.white_arrow{
		width: 10px;
		height: 10px;
		margin-left: 3px;
	}
	.quotation_btn_01{
		width: 300px;
		height: 70px;
		background-color: #A3E635;
		border-radius: 50px;
	}
	.quotation_btn_01 a{
		color: #1E3A8A;
		font-size: 16px;
		gap: 20px;
	}
}
@media screen and (max-width: 500px) {
	#mainvisual{
		height: 450px;
	}
	.lead{
		padding: 30px 0 30px;
	}
	#mainvisual h1{
		font-size: 30px;
		margin-bottom: 20px;
	}
	p.box{
		font-size: 18px;
		margin-bottom: 10px;
		padding: 5px 10px;
	}
	.lead_txt02{
		font-size: 16px;
		margin: 0 0 30px 0px;
	}
	.button_wrap{
		margin-left: 0;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: column;
		flex-direction: column;
		-webkit-flex-wrap: nowrap;
		flex-wrap: nowrap;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		-webkit-align-items: center;
		align-items: center;
	}
	.contact_btn_01{
		width: 250px;
		height: 70px;
		background-color: #ffffff;
		border-radius: 20px;
	}
	.contact_btn_01 a{
		color: #1E3A8A;
		font-size: 16px;
		gap: 10px;
	}
	.circle_01{
		width: 30px;
		height: 30px;
		background-color: #1E3A8A;
	}
	img.white_arrow{
		width: 10px;
		height: 10px;
		margin-left: 3px;
	}
	.quotation_btn_01{
		width: 250px;
		height: 70px;
		background-color: #A3E635;
		border-radius: 20px;
	}
	.quotation_btn_01 a{
		color: #1E3A8A;
		font-size: 16px;
		gap: 10px;
	}
	br.sp_500{
		display: none;
	}
}
@media screen and (max-width: 400px) {
	#mainvisual{
		height: 400px;
	}
	.lead{
		padding: 30px 0 30px;
	}
	#mainvisual h1{
		font-size: 26px;
		margin-bottom: 20px;
	}
	p.box{
		font-size: 16px;
		margin-bottom: 10px;
		padding: 5px 10px;
	}
	.lead_txt02{
		font-size: 15px;
		margin: 0 0 20px 0px;
	}
	
	.contact_btn_01{
		width: 250px;
		height: 60px;
		background-color: #ffffff;
		border-radius: 20px;
	}
	.contact_btn_01 a{
		color: #1E3A8A;
		font-size: 16px;
		gap: 10px;
	}
	.quotation_btn_01{
		width: 250px;
		height: 60px;
		background-color: #A3E635;
		border-radius: 20px;
	}
	.quotation_btn_01 a{
		color: #1E3A8A;
		font-size: 16px;
		gap: 10px;
	}
	
}


/*-----------------------------------

	training_block

-----------------------------------*/

/* ---------------------------------
	character 
---------------------------------*/

.character{
	padding: 100px 0 80px;
}
h2.border{
	width: fit-content;
	font-size: 36px;
	font-weight: 700;
	color: #1E3A8A;
	position: relative;
	text-align: center;
	margin: 0 auto 55px auto;
}
h2.border::after{
	content: "";
	position: absolute;
	left: 0;
	bottom: -15px;
	width: 100%;
	height: 20px;
	background-color: #A3E635;
	z-index: -1;
}
.character_wrap{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	-webkit-align-content: flex-start;
	align-content: flex-start;
	row-gap: 50px;
	column-gap: 70px;
}
.character_01, .character_02, .character_03{	
	width: 500px;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}
.character_01 img, .character_02 img, .character_03 img{
	width: 100%;
	height: 300px;
	object-fit: cover;
	margin-bottom: 30px;
}
.title_wrap{
	width: 500px;
	height: 129px;
	position: relative;
	margin-bottom: 25px;
}
.number_box{
	width: 80px;
	height: 80px;
	background-color: #EFF6FF;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #1E3A8A;
	font-size: 36px;
	font-weight: 700;
	font-family: "Roboto", sans-serif;
	letter-spacing: 0.03em;
	position: relative;
}
.number_box::after{
	content: "";
	position: absolute;
	right: -3.43px;
	bottom: 25px;
	width: 60px; 
	height: 1px; 
	background: #1E3A8A; 
	transform-origin: right bottom; 
	transform: rotate(-45deg);
}
p.bold{
	font-size: 28px;
	font-weight: 700;
	position: absolute;
	bottom: 30px;
	left: 95.43px;
	color: #1E3A8A;
	line-height: 1.4;
}
p.bold.high{
	bottom: 0;
}
.character_img{
	width: 500px;
	height: 300px;
	overflow: hidden;
}
@media screen and (max-width: 840px) {
	.character{
		padding: 50px 0 70px;
	}
	h2.border{
		font-size: 28px;
		margin: 0 auto 30px auto;
	}
	h2.border::after{
		bottom: -10px;
		height: 15px;
		background-color: #A3E635;
	}
	.character_wrap{
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-align-items: flex-start;
		align-items: flex-start;
		-webkit-align-content: flex-start;
		align-content: flex-start;
		row-gap: 50px;
		column-gap: 70px;
	}
	.character_01, .character_02, .character_03{
		width: 80%;
	}
	.title_wrap{
		width: 100%;
		height: 75px;
		position: relative;
		margin-bottom: 15px;
	}
	.number_box{
		width: 50px;
		height: 50px;
		background-color: #EFF6FF;
		display: flex;
		justify-content: center;
		align-items: center;
		color: #1E3A8A;
		font-size: 20px;
		font-weight: 700;
		font-family: "Roboto", sans-serif;
		letter-spacing: 0.03em;
		position: relative;
	}
	.number_box::after{
		content: "";
		position: absolute;
		right: -3.43px;
		bottom: 25px;
		width: 40px; 
		height: 1px; 
		background: #1E3A8A; 
		transform-origin: right bottom; 
		transform: rotate(-45deg);
	}
	p.bold{
		font-size: 18px;
		font-weight: 700;
		position: absolute;
		bottom: 25px;
		left: 75px;
		color: #1E3A8A;
		line-height: 1.4;
	}
	.character_01 img, .character_02 img, .character_03 img{
		width: 100%;
		height: 200px;
		margin-bottom: 30px;
	}
}
@media screen and (max-width: 400px) {
	.character{
		padding: 30px 0;
	}
	h2.border{
		font-size: 20px;
		margin: 0 auto 30px auto;
	}
	h2.border::after{
		bottom: -10px;
		height: 15px;
		background-color: #A3E635;
	}
	.character_wrap{
		row-gap: 20px;
	}
	.character_01, .character_02, .character_03{
		width: 90%;
	}
	.title_wrap{
		margin-bottom: 10px;
	}	
	.character_img{
		width: 100%;
		height: 200px;
	}

}
@media screen and (max-width: 370px) {
p.bold.second{
		bottom: 0;
	}
}


/* ---------------------------------
	plan 
---------------------------------*/

.plan{
	padding: 80px 0;
	background-color: #F9FAFB;
}
h2.ashirai{
	width: fit-content;
	font-size: 36px;
	font-weight: 700;
	color: #1E3A8A;
	position: relative;
	text-align: center;
	margin: 0 auto 60px auto;
	padding-top: 5.43px;
}
h2.ashirai_01::before{
	content: "PLAN";
	position: absolute;
	right: 0;
	top: -24px;
	color: rgba(30, 58, 138, .6);
	font-size: 14px;
	font-family: "Josefin Sans", sans-serif;
	text-decoration: underline;
	text-underline-offset: 4.5px;
}
.plan_wrap{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: stretch;
	align-items: stretch;
	gap: 50px;
}
.plan_content{
	width: 48%;
	border-radius: 20px 20px 0 0;
	overflow: hidden;
}
.package{
	border: 2px solid #2563EB;
}
.original{
	border: 2px solid #1E3A8A;
}
.plan_content .title_box{
	width: 100%;
	height: 148px;	
	color: #ffffff;
	font-size: 28px;
	font-weight: 700;
	padding: 45px 0 35px 58px;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	gap: 10px;
}
.package .title_box{
	background-color: #2563EB;
}
.original .title_box{
	background-color: #1E3A8A;
	position: relative;
}
.plan_content .title_box p:nth-child(2){
	font-size: 20px;
	font-weight: 500;
	color: #F5F5F5;
}
.plan_img{
	width: 100%;
	height: 240px;
	overflow: hidden;
}
.plan01_wrap{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: center;
	align-items: center;
	gap: 30px;
	font-size: 16px;
	font-weight: 400;
	color: #000000;
	padding: 30px 25px;
}
.check{
	font-size: 20px;
	font-weight: 700;
	color: #000000;
	line-height: 1.6;
	margin-top: 10px;
}
p.check01, p.check02{
	padding-left: 34px;
	position: relative;
}
p.check01::before{
	content: "";
	width: 14.38px;
	height: 16.04px;
	background: url(../img/training/check01.svg) no-repeat center center / contain;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;

}
p.check02::before{
	content: "";
	width: 14.38px;
	height: 16.04px;
	background: url(../img/training/check02.svg) no-repeat center center / contain;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;

}
.contact_btn_02, .contact_btn_03{
	width: 330px;
	height: 60px;	
	border-radius: 30px;
	overflow: hidden;
}
.contact_btn_02 a{
	width: 100%;
	height: 100%;
	color: #ffffff;
	background: linear-gradient( to right, #2563EB 0%, rgba(37, 99, 235, 0.8) 100% );
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	gap: 20px;
	transition: filter .3s ease;
}
.contact_btn_03 a{
	width: 100%;
	height: 100%;
	color: #ffffff;
	background: linear-gradient( to right, #1E3A8A 0%, rgba(30, 58, 138, .8) 100% );
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	gap: 20px;
	transition: filter .3s ease;
}
.contact_btn_02 a:hover{
	filter: brightness(1.3);
}
.contact_btn_03 a:hover{
	filter: brightness(1.4);
}
.circle_03{
	width: 30px;
	height: 30px;
	background-color: #ffffff;
	border-radius: 50%;
	display: flex;
	justify-content: center ;
	align-items: center;
}
.blue_arrow_03{
	width: 10px;
	height: 10px;
}
.ribon{
	width: 108px;
	height: 80px;
	background: url(../img/training/ribon.png) no-repeat center center / contain;
	font-size: 20px;
	font-weight: 700;
	color: #1E3A8A;
	position: absolute;
	top: 0;
	right: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-bottom: 11px;
}
@media screen and (max-width: 1020px) {
	.plan_wrap.inner{
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: column;
		flex-direction: column;
		-webkit-flex-wrap: nowrap;
		flex-wrap: nowrap;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		-webkit-align-items: center;
		align-items: center;
		gap: 50px;
		width: 100%;
	}
	.plan_content .title_box{
		width: 100%;
		height: auto;	
		color: #ffffff;
		font-size: 28px;
		font-weight: 700;
		padding: 30px 40px;
		gap: 10px;
	}
	.plan_content{
		width: 90%;
	}
	.plan01_img{
		height: 300px;
		overflow: hidden;
	}
	.plan01_img img{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.plan01_wrap{
		gap: 20px;
		padding: 30px 25px;
	}
}
@media screen and (max-width: 840px) {
	.plan {
		padding: 50px 0;
	}
	h2.ashirai{
		width: fit-content;
		font-size: 28px;
		margin: 0 auto 30px auto;
		padding-top: 5.43px;
	}
	h2.ashirai_01::before{
		content: "PLAN";
		font-size: 10px;
	}
	.plan_content .title_box{
		font-size: 18px;
		padding: 45px 0 35px 58px;
		gap: 10px;
	}
	.plan_content .title_box p:nth-child(2){
		font-size: 16px;
	}
	.plan_content .title_box{
		width: 100%;
		height: auto;	
		color: #ffffff;
		font-size: 20px;
		font-weight: 700;
		padding: 20px 30px;
		gap: 10px;
	}
	.check{
		font-size: 18px;
		line-height: 1.6;
		margin-top: 10px;
	}
	.ribon{
		font-size: 16px;
	}
	
}
@media screen and (max-width: 640px) {
	.plan01_wrap{
		gap: 10px;
		font-size: 14px;
		padding: 20px 10px;
	}
	.check{
		font-size: 15px;
		margin-top: 10px;
	}
	.contact_btn_02, .contact_btn_03{
		width: 250px;
		height: 60px;	
		border-radius: 30px;
		overflow: hidden;
		margin-top: 20px;
	}
	.contact_btn_02 a{
		gap: 10px;
	}
	.contact_btn_03 a{
		gap: 10px;
	}
	.ribon{
		width: fit-content;
		height: auto;
		background: url(../img/training/ribon_sp.png) no-repeat center center / contain;
		padding: 10px 20px 10px 10px;
		font-size: 14px;
		top: 10px;
		right: 10px;
	}
}
@media screen and (max-width: 400px) {
	.plan {
		padding: 40px 0;
	}
	h2.ashirai{
		width: fit-content;
		font-size: 20px;
		margin: 0 auto 20px auto;
		padding-top: 5.43px;
	}
	h2.ashirai_01::before{
		content: "PLAN";
		font-size: 10px;
	}
	.plan_content .title_box{
		font-size: 16px;
		padding: 15px;
		gap: 10px;
	}
	.plan_content .title_box p:nth-child(2){
		font-size: 14px;
	}
	.ribon{
		padding: 5px 10px 5px 5px;
		font-size: 12px;
		top: 10px;
		right: 10px;
	}
	p.check01, p.check02{
		padding-left: 20px;
		position: relative;
	}
}

/* ---------------------------------
	model_case 
---------------------------------*/

.model_case{
	padding: 80px 0 75px;
}

h2.ashirai_02::before{
	content: "MODEL CASE";
	position: absolute;
	right: 0;
	top: -24px;
	color: rgba(30, 58, 138, .6);
	font-size: 14px;
	font-family: "Josefin Sans", sans-serif;
	text-decoration: underline;
	text-underline-offset: 4.5px;
}
h2.ashirai_02{
	margin-bottom: 60px;
}
#package_plan {
	padding-top: 70px;
	margin-top: -70px;
}
#original_plan {
	padding-top: 70px;
	margin-top: -70px;
}
.case{
	width: 100%;
	height: 60px;
	color: #ffffff;
	font-size: 30px;
	font-weight: 700;
	margin-bottom: 40px;
	padding-left: 20px;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: center;
	align-items: center;
}
.package_case{
	background-color: #2563EB;
}
.original_case{
	background-color: #1E3A8A;
}
.model_case h4{
	height: auto;
	padding-left: 22px;
	font-size: 26px;
	font-weight: 700;
	position: relative;
	margin-bottom: 40px;
	line-height: 1.6;
}
.model_case h4 span{
	color: #606060;
	font-weight: 500;
	margin-left: 30px;
}
h4.line01::before{
	content: "";
	width: 10px;
	height: 30px;
	background-color: #2563EB;
	position: absolute;
	top: 5px;
	left: 0;
}
h4.line02::before{
	content: "";
	width: 10px;
	height: 30px;
	background-color: #1E3A8A;
	position: absolute;
	top: 5px;
	left: 0;
}
.case_wrap{
	width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	
	align-items: stretch;
	gap: 30px;
	margin-bottom: 60px;
}
.case_wrap02{
	width: 48%;
	max-width: 570px;
	background-color: #EFF6FF;
	border-radius: 10px;
	overflow: hidden;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	gap: 20px;
	padding: 30px 35px;
}
.case_title{
	font-size: 24px;
	font-weight: 900;
	line-height: 1.66;
}
.case_01{
	font-size: 20px;
	font-weight: 700;
	line-height: 1.7;
	color: #2563EB;
}
.case_02{
	font-size: 20px;
	font-weight: 700;
	line-height: 1.7;
	color: #1E3A8A;
}
.time_target{
	font-size: 16px;
	font-weight: 1.66;
	font-weight: 400;
}
.case_img{
	width: 100%;
	max-width: 500px;
	height: 250px;
	border-radius: 10px;
	overflow: hidden;
}
.case_img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.overview{
	width: 100%;
	max-width: 480px;
}
.case_wrap03{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	gap: 20px;
}
.small_title{
	padding: 10px 20px;
	background-color: #2563EB;
	border-radius: 10px;
	overflow: hidden;
	color: #ffffff;
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 15px;
}
.small_title_2{
	padding: 10px 20px;
	background-color: #1E3A8A;
	border-radius: 10px;
	overflow: hidden;
	color: #ffffff;
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 15px;
}
.small_title02{
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 15px;
	color: #2563EB;
}
.small_title02_2{
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 15px;
	color: #1E3A8A;
}
.case_text{
	font-size: 18px;
	line-height: 1.66;
	font-weight: 500;
}
.change{
	width: 100%;
	max-width: 503px;
	padding: 30px 30px 40px 30px;
	background-color: #ffffff;
	border-radius: 10px;
	border-right: 3px solid #000000;
	border-bottom: 3px solid #000000;
	position: relative;
}
.light{
	width: 71px;
	height: 77.44px;
	background: url(../img/training/light.png) no-repeat center center / contain;
	position: absolute;
	top: -36px;
	right: 20px;
}
ul.case_text_dot li{
	font-size: 18px;
	line-height: 1.6;
	font-weight: 700;
	
}
ul.case_text{
	font-size: 20px;
	line-height: 1.7;
	font-weight: 700;
}
ul.case_text li{
	padding-left: 34px;
	position: relative;
}
ul.case_text > li::before{
	content: "";
	width: 14.38px;
	height: 16.04px;
	background: url(../img/training/check03.svg) no-repeat center center / contain;
	position: absolute;
	top: 8px;
	left: 0;
}
.to_bottom{
	width: 60px;
	height: 30px;
	background: url(../img/training/to_bottom_arrow01.svg) no-repeat center center / contain;

}
.to_bottom_02{
	width: 60px;
	height: 30px;
	background: url(../img/training/to_bottom_arrow02.svg) no-repeat center center / contain;

}
.contact_wrap{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	gap: 50px;
}
.contact_btn_04{
	width: 410px;
	height: 100px;
	background: linear-gradient( to right, #1E3A8A 0%, #2563EB 100% );
	border-radius: 50px;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
}
.contact_btn_04 a{
	color: #ffffff;
	width: 100%;
	height: 100%;
	font-size: 24px;
	font-weight: 700;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	gap: 30px;
	position: relative;
	z-index: 1;
}
.contact_btn_04 a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, .3); /* hover 時の色 */
	transform: scaleX(0); /* 最初は幅ゼロ */
	transform-origin: left; /* 左から伸びる */
	transition: transform 0.4s ease;
	z-index: -1; /* テキストの後ろに置く */
}
.contact_btn_04 a:hover::before{
	transform: scaleX(1);
}
.contact_btn_05{
	width: 410px;
	height: 100px;
	background-color: #A3E635;
	border-radius: 50px;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
}
.contact_btn_05 a{
	color: #1E3A8A;
	font-size: 24px;
	font-weight: 700;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	gap: 30px;
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 1;
}
.contact_btn_05 a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, .3); /* hover 時の色 */
	transform: scaleX(0); /* 最初は幅ゼロ */
	transform-origin: left; /* 左から伸びる */
	transition: transform 0.4s ease;
	z-index: -1; /* テキストの後ろに置く */
}
.contact_btn_05 a:hover::before{
	transform: scaleX(1);
}
.circle_04{
	width: 40px;
	height: 40px;
	background-color: #ffffff;
	border-radius: 50%;
	display: flex;
	justify-content: center ;
	align-items: center;
}
.circle_04 img{
	width: 15px;
	height: 15px;
	margin-left: 5px;
}
@media screen and (max-width: 840px) {
	h2.ashirai_02::before{
		content: "MODEL CASE";
		font-size: 10px;
	}
	.model_case{
		padding: 50px 0;
		}
	h2.ashirai_02{
		margin-bottom: 30px;
	}
	.case{
		width: 100%;
		height: 50px;
		font-size: 20px;
		line-height: 1.5;
		margin-bottom: 20px;
		padding-left: 20px;
	}
	.model_case h4{
		height: 26px;
		padding-left: 22px;
		font-size: 18px;
		margin-bottom: 40px;
	}
	.model_case h4 span{
		color: #606060;
		font-weight: 500;
		margin-left: 30px;
	}
	h4.line01::before{
		content: "";
		width: 10px;
		height: 26px;
		top: 0;
	}
	h4.line02::before{
		content: "";
		width: 10px;	
		height: 26px;
		top: 0;
	}
	.model_case h4 span{
		color: #606060;
		font-size: 14px;
	}
	.case_wrap{
		width: 100%;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: column;
		flex-direction: column;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		-webkit-align-items: stretch;
		align-items: stretch;
		gap: 20px;
		margin-bottom: 60px;
	}
	.case_wrap02{
		width: 100%;
		max-width: 100%;
		background-color: #EFF6FF;
		border-radius: 10px;
		overflow: hidden;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: column;
		flex-direction: column;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		-webkit-align-items: flex-start;
		align-items: flex-start;
		gap: 10px;
		padding: 20px 25px;
	}
	.case_title{
		font-size: 18px;
		line-height: 1.6;
	}
	.case_01{
		font-size: 16px;
		font-weight: 700;
		line-height: 1.7;
		color: #2563EB;
	}
	.case_02{
		font-size: 16px;
		font-weight: 700;
		line-height: 1.6;
		color: #1E3A8A;
	}
	.time_target{
		font-size: 16px;
		font-weight: 1.66;
		font-weight: 400;
	}
	br.none_840{
		display: none;
	}
	.case_wrap03{
		width: 100%;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: column;
		flex-direction: column;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		-webkit-align-items: flex-start;
		align-items: flex-start;
		gap: 20px;
	}
	.to_bottom, .to_bottom_02{
		position: relative;
		left: 220px;
	}
	.time_target{
		font-size: 13px;
	}
	.small_title{
		width: 500px;
		padding: 10px 20px;
		background-color: #2563EB;
		border-radius: 10px;
		overflow: hidden;
		color: #ffffff;
		font-size: 16px;
		font-weight: 700;
		margin-bottom: 15px;
	}
	.small_title_2{
		width: 500px;
		padding: 10px 20px;
		background-color: #1E3A8A;
		border-radius: 10px;
		overflow: hidden;
		color: #ffffff;
		font-size: 16px;
		font-weight: 700;
		margin-bottom: 15px;
		margin-top: 10px;
	}
	.small_title02{
		font-size: 16px;
		font-weight: 700;
		margin-bottom: 15px;
		color: #2563EB;
	}
	.small_title02_2{
		font-size: 16px;
		font-weight: 700;
		margin-bottom: 15px;
		color: #1E3A8A;
	}
	.case_text{
		font-size: 15px;
		line-height: 1.66;
		font-weight: 500;
	}
	ul.case_text_dot li{
		font-size: 15px;
		line-height: 1.6;
		font-weight: 700;
	}
	ul.case_text{
		font-size: 15px;
		line-height: 1.7;
		font-weight: 700;
	}
	.change{
		width: 500px;
		padding: 20px 20px 30px 20px;
	}
	ul.case_text li{
		padding-left: 20px;
		position: relative;
	}
	ul.case_text > li::before{
		content: "";
		width: 13px;
		height: 15px;
	}
	.contact_wrap{
		gap: 20px;
	}
	.contact_btn_04{
		width: 300px;
		height: 70px;
	}
	.contact_btn_04 a{
		color: #ffffff;
		font-size: 18px;
		gap: 20px;
	}
	.contact_btn_05{
		width: 300px;
		height: 70px;
	}
	.contact_btn_05 a{
		color: #1E3A8A;
		font-size: 18px;
		gap: 20px;
	}
	.circle_04{
		width: 40px;
		height: 40px;
		background-color: #ffffff;
		border-radius: 50%;
		display: flex;
		justify-content: center ;
		align-items: center;
	}
	.circle_04 img{
		width: 15px;
		height: 15px;
		margin-left: 5px;
	}
}
@media screen and (max-width: 640px) {
	#package_plan {
		padding-top: 60px;
		margin-top: -60px;
	}
	#original_plan {
		padding-top: 60px;
		margin-top: -60px;
	}
	.case{
		padding: 10px;
		height: auto;
	}
	.case_img{
		width: 100%;
		height: 200px;
		border-radius: 0;
		overflow: hidden;
	}
	.case_img img{
		object-fit: cover;
	}
	.overview{
		width: 100%;
	}
	.contact_wrap{
		margin-bottom: 30px;
	}
	.case_wrap02{
		width: 100%;
		gap: 20px;
	}
	h4.line01::before, h4.line02::before{
		content: "";
		width: 5px;	
		height: 26px;
	}
	.model_case h4{
		padding-left: 10px;
	}
	.small_title{
		width: 100%;
		padding: 10px 20px;
		background-color: #2563EB;
		border-radius: 10px;
		overflow: hidden;
		color: #ffffff;
		font-size: 16px;
		font-weight: 700;
		margin-bottom: 15px;
	}
	.small_title_2{
		width: 100%;
		min-width: 380px;
		padding: 10px 20px;
		background-color: #1E3A8A;
		border-radius: 10px;
		overflow: hidden;
		color: #ffffff;
		font-size: 16px;
		font-weight: 700;
		margin-bottom: 15px;
	}
	.change{
		width: 100%;
		padding: 20px 20px 30px 20px;
	}
	.to_bottom, .to_bottom_02{
		position: relative;
		left: 150px;
	}
	.model_case h4 span{
		color: #606060;
		font-size: 14px;
		margin-left: 10px;
	}
}
@media screen and (max-width: 470px) {
	.to_bottom, .to_bottom_02{
		position: relative;
		left: 100px;
		width: 50px;
		height: 20px;
	}
	.small_title_2{
		width: 100%;
		min-width: 0;
	}
	.case_wrap02{
		padding: 10px 15px;
		gap: 10px;
	}
	.case_wrap{
		margin-bottom: 30px;
	}
	.contact_wrap{
		gap: 20px;
		margin-bottom: 0;
	}
	.contact_btn_04{
		width: 280px;
		height: 60px;
	}
	.contact_btn_04 a{
		font-size: 16px;
		gap: 20px;
	}
	.contact_btn_05{
		width: 280px;
		height: 60px;
	}
	.contact_btn_05 a{
		color: #1E3A8A;
		font-size: 16px;
		gap: 20px;
	}
	.circle_04{
		width: 30px;
		height: 30px;
	}
	.circle_04 img{
		width: 10px;
		height: 10px;
		margin-left: 2px;
	}
	.change{
		padding: 10px 10px 15px 10px;
	}
	.light{
		width: 60px;
		height: 66px;
	}
	ul.case_text > li::before{
		content: "";
		width: 14.38px;
		height: 16.04px;
		background: url(../img/training/check03.svg) no-repeat center center / contain;
		position: absolute;
		top: 5px;
		left: 0;
	}
}

/* ---------------------------------
	price 
---------------------------------*/

.price{
	padding: 85px 0 80px;
	background-color: #EFF6FF;
}
h2.ashirai_03::before{
	content: "PRICE";
	position: absolute;
	right: 0;
	top: -24px;
	color: rgba(30, 58, 138, .6);
	font-size: 14px;
	font-family: "Josefin Sans", sans-serif;
	text-decoration: underline;
	text-underline-offset: 4.5px;
}
h2.ashirai_03{
	margin-bottom: 60px;
}
.price_wrap{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	gap: 50px;
	margin-bottom: 40px;
}
.price_box{
	width: 46%;
	max-width: 550px;
	border-radius: 10px;
	overflow: hidden;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: center;
	align-items: center;
	padding: 40px 50px;
}
.package_price{
	background-color: #2563EB;
}
.original_price{
	background-color: #1E3A8A;
}
.price_box h3{
	font-size: 30px;
	font-weight: 700;
	color: #ffffff;
	margin-bottom: 40px;
}
.price_box p{
	font-size: 18px;
	font-weight: 400;
	color: #EFF6FF;
}
p.bottom_space{
	margin-bottom: 40px;
}
.reason{
	font-size: 24px;
	font-weight: 700;
	text-align: start;
	align-self: flex-start;
	margin-bottom: 20px;
}
.price_list, .price_list02{
	width: 100%;
	max-width: 450px;
	background-color: #EFF6FF;
	border-radius: 10px;
	overflow: hidden;
	font-size: 20px;
	font-weight: 500;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	padding: 30px 22px;
}
.price_list p{
	color: #2563EB;
}
.price_list02 p{
	color: #1E3A8A;
}
.price_list > p, .price_list div, .price_list02 > p, .price_list02 div{
	height: 56px;
	padding: 16px 0;
}
.price_list > p.underline, .price_list div.underline, .price_list02 > p.underline, .price_list02 div.underline{
	position: relative;
}
.price_list > p::after, .price_list div::after{
	content: "";
	width: 100%;
	max-width: 406px;
	height: 2px;
	background-color: #2563EB;
	position: absolute;
	bottom: 0;
	left: 0;
}
.price_list02 > p::after, .price_list02 div::after{
	content: "";
	width: 100%;
	max-width: 406px;
	height: 2px;
	background-color: #1E3A8A;
	position: absolute;
	bottom: 0;
	left: 0;

}
.price_wrap02{
	width: 100%;
	max-width: 406px;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
}
p.price_small{
	font-size: 16px;
	font-weight: 400;
	margin-left: 10px;
}
.attension{
	font-size: 18px;
	font-weight: 500;
	text-align: center;
	margin-bottom: 80px;
	color: #1E3A8A;
}
.center{
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
@media screen and (max-width: 1000px){
	.price_wrap{
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: column;
		flex-direction: column;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		-webkit-align-items: center;
		align-items: center;
		gap: 50px;
		margin-bottom: 40px;
	}
	.price_box{
		width: 100%;
		max-width: 100%;
		padding: 40px 50px;
	}
	p.bottom_space{
		margin-bottom: 40px;
	}
	.reason{
		font-size: 24px;
		font-weight: 700;
		text-align: start;
		align-self: flex-start;
		margin-bottom: 20px;
	}
	.price_list, .price_list02{
		width: 100%;
		max-width: 100%;
		padding: 30px 22px;
		}
	.price_list > p::after, .price_list div::after{
		max-width: 100%;
		height: 2px;
		background-color: #2563EB;
	}
	.price_list02 > p::after, .price_list02 div::after{
		max-width: 100%;
		height: 2px;
		background-color: #1E3A8A;
	}
	.price_wrap02{
		max-width: 100%;
	}
}
@media screen and (max-width: 840px) {
	h2.ashirai_03::before{
		content: "PRICE";
		font-size: 10px;
	}
	h2.ashirai_03{
		margin-bottom: 30px;
	}
	.price{
		padding: 50px 0;
	}
	.price_wrap{
		gap: 30px;
	}
	.price_box h3{
		font-size: 22px;
	}
	.price_box p{
		font-size: 16px;
	}
	.price_list, .price_list02{
		padding: 10px 20px;
	}
	.attension{
		width: 90%;
		margin: 0 auto;
		font-size: 16px;
		font-weight: 500;
		text-align: center;
		margin-bottom: 30px;
		color: #1E3A8A;
	}
}
@media screen and (max-width: 640px){
	.price_box{
		padding: 20px 30px;
	}
	.price_box h3{
		font-size: 18px;
		margin-bottom: 20px;
	}
	p.bottom_space{
		margin-bottom: 20px;
	}
	.price_box p{
		font-size: 15px;
	}
	
}
@media screen and (max-width: 400px){
	.price_wrap02{
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: column;
		flex-direction: column;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		-webkit-align-items: flex-start;
		align-items: flex-start;
	}
	.price_list > p, .price_list div, .price_list02 > p, .price_list02 div{
		height: auto;
		padding: 10px 0;
	}
	
}

/* ---------------------------------
	results 
---------------------------------*/

.results{
	padding: 80px 0;
}
h2.ashirai_04::before{
	content: "RESULTS";
	position: absolute;
	right: 0;
	top: -24px;
	color: rgba(30, 58, 138, .6);
	font-size: 14px;
	font-family: "Josefin Sans", sans-serif;
	text-decoration: underline;
	text-underline-offset: 4.5px;
}
h2.ashirai_04{
	margin-bottom: 60px;
}
.results_wrap{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: center;
	align-items: center;
	gap: 60px;
}
.results_wrap02{
	display: -webkit-flex;
	display: flex;
	flex-direction: row;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	gap: 50px;
}
.results_wrap02_r{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	gap: 50px;
}
.results_wrap02 p,.results_wrap02_r p{
	font-size: 20px;
	font-weight: 500;
	line-height: 1.7;
}
.result_img{
	width: 50%;
	max-width: 550px;
	height: 330px;
	overflow: hidden;
	border-radius: 10px;
}
.result_img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.result_01, .result_02{
	width: 45%;
	max-width: 500px;
}
p.customer{
	font-size: 26px;
	font-weight: 700;
	margin-bottom: 10px;
}
.plan_name{
	font-size: 16px;
	font-weight: 400;
	color: #1E3A8A;
	margin-bottom: 25px;
}
.more{
	width: 210px;
	height: 60px;
	border-radius: 30px;
	overflow: hidden;
	border: 2px solid #1E3A8A;
	margin-top: 30px;
}
.more a{
	width: 100%;
	height: 100%;
	color: #1E3A8A;
	font-size: 18px;
	font-weight: 700;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	gap: 30px;
	position: relative;
	z-index: 1;
}
.more a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(56, 109, 255, .5); /* hover 時の色 */
	transform: scaleX(0); /* 最初は幅ゼロ */
	transform-origin: left; /* 左から伸びる */
	transition: transform 0.3s ease;
	z-index: -1; /* テキストの後ろに置く */
}
.more a:hover::before{
	transform: scaleX(1);
}
.circle05{
	width: 30px;
	height: 30px;
	background-color: #1E3A8A;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.circle05 img{
	width: 10px;
	height: 10px;
}
@media screen and (max-width: 840px) {
	h2.ashirai_04::before{
		content: "RESULTS";
		font-size: 10px;
	}
	h2.ashirai_04{
		margin-bottom: 30px;
	}
	.results{
		padding: 50px 0;
	}
	.results_wrap02 p, .results_wrap02_r p{
		font-size: 16px;
		line-height: 1.7;
	}
	.plan_name{
		font-size: 16px;
		font-weight: 400;
		color: #1E3A8A;
	}
	p.customer{
		font-size: 20px;
		margin-bottom: 10px;
	}	
}
@media screen and (max-width: 640px) {
	.results_wrap02, .results_wrap02_r{
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: column;
		flex-direction: column;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		-webkit-align-items: center;
		align-items: center;
		gap: 30px;
	}
	.more{
		margin-left: auto;
	}
	.result_img{
		width: 100%;
		max-width: 550px;
		height: 330px;
		overflow: hidden;
		border-radius: 10px;
	}
	.result_img img{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.result_01, .result_02{
		width: 100%;
		max-width: 100%;
	}
}
@media screen and (max-width: 400px) {
	.results_wrap02, .results_wrap02_r{
		gap: 10px;
	}
	.results_wrap02 p, .results_wrap02_r p{
		font-size: 15px;
		line-height: 1.7;
	}
	.result_img{
		width: 100%;
		max-width: 550px;
		height: 200px;
	}
	.plan_name{
		font-size: 16px;
		font-weight: 400;
		margin-bottom: 10px;
	}
	p.customer{
		font-size: 18px;
		margin-bottom: 8px;
	}
	.more{
		width: 190px;
		height: 60px;
		margin-top: 20px;
	}
	.more a{
		font-size: 16px;
		font-weight: 700;
		gap: 20px;
	}
	.results_wrap{
		gap: 30px;
	}
}

/* ---------------------------------
	faq 
---------------------------------*/

.faq{
	padding: 80px 0;
	background-color: #F3F5F8;
}
h2.ashirai_05::before{
	content: "FAQ";
	position: absolute;
	right: 0;
	top: -24px;
	color: rgba(30, 58, 138, .6);
	font-size: 14px;
	font-family: "Josefin Sans", sans-serif;
	text-decoration: underline;
	text-underline-offset: 4.5px;
}
h2.ashirai_05{
	margin-bottom: 60px;
}
.faq_box {
    margin-bottom: 25px;
    background: #fff;
    border-radius: 10px;
	overflow: hidden;
    border: 1px solid #D9D9D9;
}
.accordion-container .accordion-title {
    position: relative;
    padding: 25px 60px;
    font-size: 17px;
    font-weight: 500;
    color: #303030;
    cursor: pointer;
	background-color: #ffffff;
	
}
.accordion-content {
    padding: 30px 60px;
    position: relative;
	border-top: 1px solid #D9D9D9;
	border-radius: 0 0 10px 10px;
}
.accordion-title:before {
    content: "Q";
    display: inline-block;
    width: 30px;
    height: 30px;
    font-family: 'Josefin Sans', sans-serif;
    font-size: 28px;
    text-align: center;
    color: #44ac9e;
    margin-right: 15px;
    margin-left: -45px;
    padding-top: 1px;
}
.accordion-title.open:after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: 45%;
}
.accordion-content:before {
    content: "A";
    display: inline-block;
    width: 30px;
    height: 30px;
    text-align: center;
    color: #e76915;
    font-family: 'Josefin Sans', sans-serif;
    font-size: 28px;
    margin-right: 15px;
    margin-left: 15px;
    padding-top: 1px;
    position: absolute;
    left: 0;
    top: 30px;
}
.accordion-title:after {
    content: "";
    position: absolute;
    right: 25px;
    top: 38%;
    transition: all 0.2s ease-in-out;
    display: block;
    width: 8px;
    height: 8px;
    border-top: solid 2px #44ac9e;
    border-right: solid 2px #44ac9e;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}
 .accordion-content h4 {
    font-size: 17px;
	font-weight: 400;
 }
 .accordion-content p {
    font-size: 16px;
	font-weight: 400;
}
@media screen and (max-width: 840px) {
	h2.ashirai_05::before{
		content: "FAQ";
		font-size: 10px;
	}
	h2.ashirai_05{
		margin-bottom: 30px;
	}
	.faq{
		padding: 50px 0;
	}
}
@media screen and (max-width: 640px){
	.accordion-container .accordion-title {
	    position: relative;
	    padding: 20px 50px;
	    font-size: 16px;
	    font-weight: 500;
	    color: #303030;
	    cursor: pointer;
		background-color: #ffffff;		
	}
	.accordion-content {
	    padding: 20px 50px;
	    position: relative;
		border-top: 1px solid #D9D9D9;
		border-radius: 0 0 10px 10px;
	}
	.accordion-title:before {
	    content: "Q";
	    display: inline-block;
	    width: 24px;
	    height: 24px;
	    font-family: 'Josefin Sans', sans-serif;
	    font-size: 24px;
	    text-align: center;
	    color: #44ac9e;
	    margin-right: 10px;
	    margin-left: -35px;
	    padding-top: 3px;
	}
	.accordion-content:before {
	    content: "A";
	    display: inline-block;
	    width: 24px;
	    height: 24px;
	    text-align: center;
	    color: #e76915;
	    font-family: 'Josefin Sans', sans-serif;
	    font-size: 24px;
	    margin-right: 15px;
	    margin-left: 15px;
	    padding-top: 1px;
	    position: absolute;
	    left: 0;
	    top: 20px;
	}
}

/* ---------------------------------
	cta_message
---------------------------------*/

.cta_message{
	padding: 60px 55px;
	background: linear-gradient( to right, #1E3A8A 0%, #2563EB 100% );
	text-align: center;
	color: #EFF6FF;
	font-size: 18px;
	line-height: 1.66;
	font-weight: 700;
}
.lead_message{
	font-size: 36px;
	font-weight: 700;
	color: #ffffff;
	margin-bottom: 30px;
}
.contact_box_02{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	gap: 50px;
	margin-top: 40px;
}
.contact_btn_06{
	width: 280px;
	height: 64px;
	background-color: #ffffff;
	border-radius: 50px;
	overflow: hidden;
}
.contact_btn_06 a{
	width: 100%;
	height: 100%;
	color: #1E40AF;
	font-size: 20px;
	font-weight: 700;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	position :relative;
	z-index: 1;
}
.contact_btn_06 a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(56, 109, 255, .5); /* hover 時の色 */
	transform: scaleX(0); /* 最初は幅ゼロ */
	transform-origin: left; /* 左から伸びる */
	transition: transform 0.4s ease;
	z-index: -1; /* テキストの後ろに置く */
}
.contact_btn_06 a:hover::before{
	transform: scaleX(1);
}
.contact_btn_07{
	width: 240px;
	height: 64px;
	background-color: #A3E635;
	border-radius: 50px;
	overflow: hidden;
}
.contact_btn_07 a{
	width: 100%;
	height: 100%;
	color: #1E40AF;
	font-size: 20px;
	font-weight: 700;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	position: relative;
	z-index: 1;
}
.contact_btn_07 a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, .3); /* hover 時の色 */
	transform: scaleX(0); /* 最初は幅ゼロ */
	transform-origin: left; /* 左から伸びる */
	transition: transform 0.4s ease;
	z-index: -1; /* テキストの後ろに置く */
}
.contact_btn_07 a:hover::before{
	transform: scaleX(1);
}
@media screen and (max-width: 640px){
	.cta_message{
		padding: 30px 40px;
		background: linear-gradient( to right, #1E3A8A 0%, #2563EB 100% );
		text-align: center;
		color: #EFF6FF;
		font-size: 16px;
		line-height: 1.66;
		font-weight: 700;
	}
	.lead_message{
		font-size: 28px;
		font-weight: 700;
		color: #ffffff;
		margin-bottom: 20px;
	}
	.contact_box_02{
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-align-items: center;
		align-items: center;
		gap: 20px;
		margin-top: 30px;
	}
	.contact_btn_06{
		width: 240px;
		height: 60px;
	}
	.contact_btn_06 a{
		width: 100%;
		height: 100%;
		color: #1E40AF;
		font-size: 16px;
		font-weight: 700;
	}
	.contact_btn_07{
		width: 240px;
		height: 60px;
	}
	.contact_btn_07 a{
		width: 100%;
		height: 100%;
		color: #1E40AF;
		font-size: 16px;
		font-weight: 700;
	}
}



