@charset "utf-8";
/* // base
----------------------------------------------- */
:root {

	--c_tx_0: #2D343A;
	--c_tx_1: #4558AA;
	--c_tx_1_hover: #1B7FE2;

	--c_1: #294A93;
	--c_2: #4984D1;
	--c_3: #FFFF00;

	--c_red_1: #f00000;

	--svg_color_white: invert(100%) sepia(0%) saturate(4%) hue-rotate(183deg) brightness(102%) contrast(101%);
	--svg_color_black: invert(0%) sepia(38%) saturate(7463%) hue-rotate(131deg) brightness(85%) contrast(95%);
	--svg_color_red1: invert(14%) sepia(91%) saturate(7496%) hue-rotate(0deg) brightness(98%) contrast(112%);
}

html,
body {
	color: var(--c_0);
	font-weight: 400;
	background-color: #fff;
	line-height: 1.9;
	font-size: 15px;
	font-family: var(--ffGo);
	font-weight: 400;
}
a {
	color: var(--c_tx_1);
}
a:not(.nohover):hover {
	color: var(--c_tx_1_hover);
}

/* ________SP________ */
@media screen and (max-width: 500px) {
	html,
	body {
		font-size: 12.5px;
	}
	.widthFix {
		/*! padding: 0 10px; */
		width: calc(100% - 10px * 2) !important;
	}
}


/* // section
----------------------------------------------- */
/* section_a  */
:root {
	--section_a_1: 150px;
	--section_a_1_sp: 80px;
}
.section_a {
	padding: var(--section_a_1) 0;
	position: relative;
}

.section_a._s1 {
	padding: calc(var(--section_a_1) * 0.8) 0;
}

.section_a._s2 {
	padding: calc(var(--section_a_1) * 0.6) 0;
}

.section_a._s3 {
	padding: calc(var(--section_a_1) * 0.4) 0;
}


/* ________SP________ */
@media screen and (max-width: 500px) {
	.section_a {
		padding: var(--section_a_1_sp) 0;
	}

	.section_a._s1 {
		padding: calc(var(--section_a_1_sp) * 0.8) 0;
	}

	.section_a._s2 {
		padding: calc(var(--section_a_1_sp) * 0.6) 0;
	}

	.section_a._s3 {
		padding: calc(var(--section_a_1_sp) * 0.4) 0;
	}
}


/* --------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------*/

/* // body
----------------------------------------------- */
body {
	background: repeat-y transparent url(../img/bg_parts_01.png) left top / 95px auto;
}
body > .bg {
	background: repeat-y transparent url(../img/bg_parts_02.png) right top / 105px auto;
}
.mainContents {
	position: relative;
	z-index: 10;
}

/* ________SP________ */
@media screen and (max-width: 500px) {
	body {
		background-image: none;
		;
		padding-bottom: 60px;
	}
	body > .bg {
		background-image: none;
		;
	}
}


/* // site_footer
----------------------------------------------- */
.site_footer {
	margin-top: 50px;
	background-color: var(--c_1);
	color: #FFF;
	line-height: 1;
	font-size: 77%;
}
.site_footer a {
	color: #FFF !important;
}
.site_footer a:hover {
	text-decoration: underline;
}
.site_footer .inner {
	display: flex;
	align-items: center;
	align-content: center;
	justify-content: space-between;
	padding: 13px 0px;
}
.site_footer .menuItems {
	display: flex;
	gap: 24px;
	align-items: center;
	align-content: center;
}
.site_footer .copy {
	font-size: 90%;
}

/* ________SP________ */
@media screen and (max-width: 500px) {
	.site_footer {
		margin-top: 37px;
		line-height: 1;
		font-size: 77%;
	}
	.site_footer a {}
	.site_footer a:hover {
		text-decoration: underline;
	}
	.site_footer .inner {
		display: block;
		padding: 15px 0px;
	}
	.site_footer .menuItems {
		gap: 26px;
	}
	.site_footer .copy {
		font-size: 86%;
		margin-top: 11px;
	}


}


/* // header
----------------------------------------------- */
header {
	position: relative;
}
.header_logo {
	position: absolute;
	left: -10px;
	top: -5px;
	padding: 17px 17px 12px 22px;
	border-radius: 7px;
	background-color: #FFF;
	line-height: 1;
}
.header_logo img {
	width: 130px;
}

/* ________SP________ */
@media screen and (max-width: 500px) {
	header {}
	.header_logo {
		padding: 13px 14px 8px 17px;
		border-radius: 5px;
	}
	.header_logo img {
		width: 93px;
	}
}


/* // mv
----------------------------------------------- */
.mv {
	background: url(../img/mv_bg_01.jpg) center;
	background-size: auto 100%;
	overflow: hidden;
}

.mv > .inner {
	display: flex;
	align-items: center;
	align-content: center;
	justify-content: flex-start;
	position: relative;
	height: 700px;
	padding-bottom: 70px;
	box-sizing: content-box;
}
.mv .contentsWrap {
	width: 100%;
	position: relative;
	z-index: 10;
	top: 12px;
}
.mv .img_01 {
	position: absolute;
	bottom: -30px;
	left: calc(50% + -30px);
	width: 990px;
}
.mv .img_02 {
	display: none;
	position: absolute;
	bottom: -70px;
	left: calc(50% + -180px);
	width: 990px;
}
.mv._talent .img_01 {
	display: none;
}
.mv._talent .img_02 {
	display: block;
}

.mv .img_talent {
	display: none;
	position: absolute;
	bottom: -110px;
	left: calc(50% + 220px);
	width: 420px;
}
.mv._talent .img_talent {
	display: block;
}

.mv .talent_tx {
	display: none;
}
.mv._talent .talent_tx {
	display: block;
	position: absolute;
	bottom: 88px;
	left: calc(50% + 195px);
	font-weight: 400;
	color: #FFF;
	line-height: 121%;
	text-align: center;
	font-size: 111%;
	text-shadow: 0px 0px 18px rgba(0, 0, 0, 0.7);
}
.mv._talent .talent_tx .en {
	font-family: var(--ffEn1);
	font-size: 69%;
}

.mv .userBlock {
	background-color: rgba(255, 255, 255, 0.6);
	padding: 26px 19px 13px;
	border-radius: 5px;
	display: inline-block;
	margin-bottom: 22px;
}
.mv .userBlock .user {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	align-content: flex-start;
	justify-content: flex-start;
	position: absolute;
	top: 0px;

	left: 15px;
	transform: translateY(-50%);
}
.mv .userBlock .user img {
	width: auto;
	height: 36px;
}
.mv .userBlock .user__text1 {
	line-height: 130%;
	font-weight: 600;
	font-size: 165%;
	color: var(--c_tx_1);
	margin-bottom: 0px;
}
.mv .userBlock .user__text2 {
	line-height: 130%;
	font-weight: 600;
	font-size: 158%;
	color: var(--c_red_1);
	text-align: center;
	text-shadow:
		2px 2px 0 #FFF, -2px 2px 0 #FFF, -2px -2px 0 #FFF, 2px -2px 0 #FFF;
	letter-spacing: 2px;
}
.mv .userBlock .user__text2 .tx1 {
	font-size: 159%;
	position: relative;
	top: 2px;
}
.mv .userBlock .user__text2 .tx2 {
	font-size: 120%;
}
.mv .userBlock .user__text2 .tx3 {
	font-size: 116%;
}


.mv .catch1 {
	line-height: 120%;
	font-size: 181%;
	color: var(--c_tx_0);
	margin-bottom: 9px;
	font-weight: 590;
}
.mv .catch1 em {
	font-size: 115%;
	color: var(--c_tx_1);
	position: relative;
	display: inline-block;
}
.mv .catch1 em:before {
	content: " ";
	display: block;
	width: 5px;
	aspect-ratio: 1 / 1;
	background-color: var(--c_tx_1);
	position: absolute;
	border-radius: 10px;
	top: -5px;
	left: 50%;
	transform: translateX(-50%);
}
.mv .catch2 {
	line-height: 130%;
	font-size: 162%;
	color: #FFF;
	margin-bottom: 24px;
	font-weight: 590;
	text-shadow: 2px 2px 0px rgba(0, 0, 0, 0.8);
}
.mv .catch2 .in {
	display: inline-block;
	padding-left: 3px;
	padding-bottom: 3px;
	background: linear-gradient(transparent 60%, #0080C3 40%);
}
.mv .catch2 .tx1 {
	color: #FF0;
	padding-right: 4px;
}
.mv .mainCatch {
	color: #FF0;
	line-height: 120%;
	font-size: 560%;
	font-weight: 800;
	text-shadow: 4px 4px 0px rgba(0, 0, 0, 0.6);
	margin-bottom: 40px;
}
.mv._talent .mainCatch {
	font-size: 436%;
}
.mv .mainCatch .tx1 {
	font-size: 135%;
}
.mv .mainCatch .tx2 {
	font-size: 150%;
}

.mv .points {
	display: flex;
	gap: 20px;
	align-items: flex-start;
	align-content: flex-start;
	justify-content: flex-start;
}

.mv .points .point_item {
	width: 240px;
	height: 185px;
	display: flex;
	gap: 4px;
	align-items: center;
	align-content: center;
	justify-content: center;
	background-color: #FFF;
	flex-wrap: wrap;
	border-radius: 4px;
	overflow: hidden;
	position: relative;
	line-height: 1;
}
.mv .points .point_item:before {
	content: "";
	display: block;
	width: 50px;
	height: 50px;
	background-color: var(--c_1);
	transform: rotate(45deg);
	position: absolute;
	top: -30px;
	left: -30px;
}
.mv .points .point_item .icon {
	width: 100%;
	margin-bottom: 10px;
	text-align: center;
}
.mv .points .point_item .icon img {
	width: 71px;
}
.mv .points .point_item .tx1 {
	width: 100%;

	text-align: center;
	font-weight: 600;
	margin-bottom: 6px;
	color: var(--c_tx_0);
	font-size: 111%;
}
.mv .points .point_item .tx2 {
	width: 100%;

	text-align: center;
	font-weight: 700;
	margin-bottom: 7px;
	color: var(--c_1);
	font-size: 170%;
}
.mv .points .point_item .en {
	width: 100%;
	text-align: center;
	font-weight: 360;
	color: #B6CAD8;
	font-size: 91%;
	font-family: var(--ffEn1);
}

/* ________SP________ */
@media screen and (max-width: 500px) {
	.mv {}
	.mv > .inner {
		display: block;
		height: auto;
		padding-top: 57px;
		padding-bottom: 76px;
		box-sizing: border-box;
	}
	.mv .contentsWrap {
		top: 0px;
		text-align: center;
	}
	.mv .img_01 {
		bottom: -20px;
		left: calc(50% + -90px);
		width: 560px;
		max-width: none;
	}
	.mv .img_02 {
		display: none;
		position: absolute;
		bottom: 10px;
		left: calc(50% + -140px);
		width: 560px;
		max-width: none;
	}
	.mv._talent .img_01 {
		display: none;
	}
	.mv._talent .img_02 {
		display: block;
	}

	.mv .img_talent {
		display: none;
		bottom: -70px;
		left: calc(50% + -30px);
		width: 230px;
	}
	.mv._talent .img_talent {
		display: block;
	}
	.mv .talent_tx {
		display: none;
	}
	.mv._talent .talent_tx {
		bottom: 312px;
		left: calc(50% + -23px);
		line-height: 121%;
		font-size: 11px;
		white-space: nowrap;
	}
	.mv._talent .talent_tx .en {}

	.mv .userBlock {
		padding: 17px 10px 8px;
		border-radius: 5px;
		display: inline-block;
		margin-bottom: 16px;
	}
	.mv .userBlock .user {
		gap: 2px;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 100%;
		justify-content: center;
	}
	.mv .userBlock .user img {
		height: 19px;
		width: auto;
	}
	.mv .userBlock .user__text1 {
		line-height: 119%;
		font-size: 105%;
		margin-bottom: 2px;
	}
	.mv .userBlock .user__text2 {
		font-size: 123%;
		text-align: left;
		letter-spacing: 1px;
	}
	.mv .userBlock .user__text2 .tx1 {
		font-size: 159%;
		position: relative;
		top: 2px;
	}
	.mv .userBlock .user__text2 .tx2 {
		font-size: 120%;
	}
	.mv .userBlock .user__text2 .tx3 {
		font-size: 116%;
	}
	.mv .catch1 {
		font-size: 129%;
		margin-bottom: 7px;
		text-align: center;
	}
	.mv .catch1 em {}
	.mv .catch1 em:before {}
	.mv .catch2 {
		font-size: 156%;
		margin-bottom: 15px;
		text-align: center;
	}
	.mv._talent .catch2 {
		margin-bottom: 10px;
		font-size: 150%;
	}
	.mv .catch2 .in {
		padding-left: 2px;
		padding-bottom: 2px;
	}
	.mv .catch2 .tx1 {
		display: none;
	}
	.mv .mainCatch {
		line-height: 146%;
		font-size: 43px !important;
		margin-bottom: 33px;
		text-align: center;
	}
	.mv._talent .mainCatch {
		margin-bottom: 28px;
	}
	.mv._talent .mainCatch {}
	.mv .mainCatch .tx1 {
		font-size: 131%;
	}
	.mv .mainCatch .tx2 {
		font-size: calc(100vw / 58 * 10);
		display: block;
		letter-spacing: -3px;
		white-space: nowrap;
	}

	.mv .points {
		gap: 5px;
		align-items: stretch;
	}
	.mv .points .point_item {
		width: 100%;
		height: auto;
		gap: 4px;
		padding-top: 8px;
		padding-bottom: 7px;
		align-items: flex-start;
		align-content: flex-start;
	}
	.mv .points .point_item:before {
		top: -42px;
	}
	.mv .points .point_item .icon {
		margin-bottom: 2px;
	}
	.mv .points .point_item .icon img {
		width: 37px;
	}
	.mv .points .point_item .tx1 {
		margin-bottom: 5px;
		font-size: 9.5px;
		display: flex;
		align-items: center;
		align-content: center;
		justify-content: center;
		font-weight: 500;
		white-space: nowrap;
	}
	.mv .points .point_item .tx2 {
		width: 100%;
		display: flex;
		align-items: center;
		align-content: center;
		justify-content: center;
		height: 38px;
		/*! background-color: #FF0; */
		font-weight: 700;
		margin-bottom: 4px;
		font-size: 18px;
		line-height: 118%;
		white-space: nowrap;
	}
	.mv .points .point_item .en {
		font-size: 75%;
	}

	.mv._talent .points {
		gap: 5px;
		display: grid;
		grid-auto-flow: row;
		gap: 7px;
		width: 140px;
	}
	.mv._talent .points .point_item {
		padding-top: 6px;
		padding-bottom: 6px;
	}
	.mv._talent .points .point_item:before {}
	.mv._talent .points .point_item .icon {}
	.mv._talent .points .point_item .icon img {
		width: 35px;
	}
	.mv._talent .points .point_item .tx1 {
		font-size: 10.5px;
		display: flex;

		margin-bottom: 2px;
	}
	.mv._talent .points .point_item .tx2 {
		width: 100%;
		height: auto;
		font-size: 18px;
		margin-bottom: 2px;
		letter-spacing: -1px;
		line-height: 1;
	}
	.mv._talent .points .point_item .tx2 br {
		display: none !important;
	}
	.mv._talent .points .point_item .en {
		font-size: 63%;
	}
}

/* // ctaBlock
----------------------------------------------- */
.ctaBlock {}
.ctaBlock._1 {
	margin-top: -70px;
}
.ctaBlock._2 {
	margin-top: 80px;
}
.ctaBlock._3 {
	margin: 80px 0;
}
.ctaBlock > .inner {
	background-color: var(--c_1);
	border-radius: 10px;
	display: flex;
	gap: 39px;
	align-items: flex-start;
	justify-content: center;
	position: relative;
	overflow: hidden;
	padding: 30px 30px;
}
.ctaBlock .shape1 {
	position: absolute;
	left: 14px;
	bottom: 9px;
	width: 60px;
}
.ctaBlock .shape2 {
	position: absolute;
	right: 0px;
	top: 0px;
	width: 325px;

}
.ctaBlock .block {
	position: relative;
	z-index: 10;
}

.ctaBlock .arrow {
	width: 19px;
	margin: 102px -21px 0;
}
.ctaBlock .arrow:first-of-type {
	opacity: 0;
}

.ctaBlock .time {
	width: auto;
	height: 35px;
	margin-bottom: 10px;
}
.ctaBlock .text1 {
	margin-bottom: 16px;
	line-height: 1;
	font-size: 25px;
	font-weight: 900;
	color: #FF0;
	font-style: italic;
}
.ctaBlock .text2 {
	line-height: 1;
	font-size: 24px;
	font-weight: 900;
	color: #FFF;
	margin-bottom: 7px;
}
.ctaBlock .text3 {
	line-height: 1;
	font-size: 41px;
	font-weight: 900;
	color: #FFF;
	margin-bottom: 18px;
}
.ctaBlock .tel {
	width: 320px;
	border-radius: 3px;
	overflow: hidden;
}
.ctaBlock .stepTitle {
	margin-bottom: 22px;
	line-height: 1;
	border-bottom: 1px solid #8A99AD;
	padding-bottom: 13px;
}
.ctaBlock .stepTitle img {
	height: 37px;
	width: auto;
	margin-right: 6px;
}
.ctaBlock .stepTitle .tx {
	font-size: 17px;
	font-weight: 900;
	color: #FFF;
	display: inline-block;
}
.ctaBlock .constTypes {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(3, 1fr);
}
.ctaBlock .constTypes img {
	border-radius: 7px;
	width: 100px;
	border: 5px solid transparent;

}
.ctaBlock .constTypes label:has(:checked) img {
	border-color: #ffff00;
}
.ctaBlock .constTypes label {
	padding: 0 !important;
}

.ctaBlock .constTypes label::after,
.ctaBlock .constTypes label::before {
	display: none !important;
}


.ctaBlock .selectWrap {
	width: 100%;
}
.ctaBlock .building {
	width: 100% !important;
}
.ctaBlock .submitTx {
	font-size: 17px;
	font-weight: 700;
	color: #FFF;
	text-align: center;
	margin-top: 22px;
	line-height: 1;
}
.ctaBlock .ctaSubmitBtn {
	width: 400px;
	height: 86px;
	border-radius: 5px;
	background-color: var(--c_red_1);
	margin-top: 19px;
	box-shadow: 0px 5px 0px #730000;
}
.ctaBlock .ctaSubmitBtn .tx1 {
	font-size: 19px;
	font-weight: 700;
	color: ;
	text-align: center;
	display: inline-block;
	position: relative;
	color: #FF0;
	line-height: 1;
	margin-bottom: 10px;
}
.ctaBlock .ctaSubmitBtn .tx1::before,
.ctaBlock .ctaSubmitBtn .tx1::after {
	content: " ";
	display: block;
	width: 1px;
	height: 21px;
	background-color: #FF0;
	position: absolute;
	top: 0px;
}
.ctaBlock .ctaSubmitBtn .tx1::before {
	left: -13px;
	transform: rotate(-20deg);
}
.ctaBlock .ctaSubmitBtn .tx1::after {
	right: -13px;
	transform: rotate(20deg);
}
.ctaBlock .ctaSubmitBtn .tx2 {
	font-size: 28px;
	font-weight: 900;
	color: #FFF;
	text-align: center;
	display: block;
	position: relative;
	width: 100%;
	line-height: 1;
}

/* ________SP________ */
@media screen and (max-width: 500px) {
	.ctaBlock {}
	.ctaBlock._1 {
		margin-top: -46px;
	}
	.ctaBlock._2 {
		margin-top: 47px;
	}
	.ctaBlock._3 {
		margin: 60px 0;
	}
	.ctaBlock > .inner {
		padding: 16px 15px 124px;
		display: block;

	}
	.ctaBlock .shape1 {
		left: 7px;
		bottom: 7px;
		width: 38px;
	}
	.ctaBlock .shape2 {
		width: 168px;

	}
	.ctaBlock .block {
		position: static;
		text-align: center;
	}
	.ctaBlock .block.step1 {
		margin-top: 17px;
	}
	.ctaBlock .arrow {
		width: 17px;
		margin: -7px auto -13px;
		transform: rotate(90deg);
		display: block;
	}

	.ctaBlock .time {
		height: 26px;
		margin-bottom: 10px;
	}
	.ctaBlock .text1 {
		margin-bottom: 9px;
		font-size: 20px;
		text-align: center;
	}
	.ctaBlock .text2 {
		font-size: 15px;
		font-weight: 900;
		color: #FFF;
		margin-bottom: 0;
		display: inline-block;
	}
	.ctaBlock .text3 {
		font-size: 28px;
		margin-bottom: 0;
		display: inline-block;
	}
	.ctaBlock .tel {
		width: 75%;
		position: absolute;
		bottom: 22px;
		left: 50%;
		transform: translateX(-50%);
	}
	.ctaBlock .stepTitle {
		margin-bottom: 15px;
		padding-bottom: 10px;
	}
	.ctaBlock .stepTitle img {
		height: 23px;
		margin-right: 4px;
	}
	.ctaBlock .stepTitle .tx {
		font-size: 15px;
		font-weight: 700;
	}
	.ctaBlock .constTypes {
		display: grid;
		grid-auto-flow: row;
		gap: 2px;
		grid-template-columns: repeat(3, 1fr);
		width: 100%;
		max-width: 300px;
		margin: 0 auto;
	}
	.ctaBlock .constTypes li {}

	.ctaBlock .constTypes img {
		border-radius: 5px;
		width: 100%;
	}

	.ctaBlock .selectWrap {
		width: 90%;
		margin: 0 auto;
	}
	.ctaBlock .building {
		height: 44px;
	}
	.ctaBlock .submitTx {
		font-size: 15px;
		margin-top: 28px;
		line-height: 1;
	}
	.ctaBlock .ctaSubmitBtn {
		width: 100%;
		height: 86px;
		margin-top: 19px;
	}
	.ctaBlock .ctaSubmitBtn .tx1 {
		font-size: 17px;
		line-height: 1;
		margin-bottom: 10px;
	}
	.ctaBlock .ctaSubmitBtn .tx2 {
		font-size: 25px;
	}

}

/* // downloadBlock
----------------------------------------------- */
.downloadBlock {
	margin-top: 22px;
}
.downloadBlock > .inner {
	background-color: #D1E4F0;
	border-radius: 4px;
	position: relative;
	padding: 16px 27px;
	text-align: center;
	overflow: hidden;
}
.downloadBlock .shape1 {
	position: absolute;
	left: -6px;
	top: 50%;
	width: 110px;
	transform: translateY(-50%);
}
.downloadBlock .shape2 {
	position: absolute;
	right: 24px;
	top: 13px;
	width: 87px;
}
.downloadBlock .shape3 {
	position: absolute;
	right: 27%;
	top: -30px;
	width: 119px;
	opacity: 0.7;
}
.downloadBlock .wrap1 {
	display: flex;
	gap: 26px;
	align-items: center;
	align-content: center;
	justify-content: center;
	position: relative;
	z-index: 10;
}
.downloadBlock .wrap1 .img1 {
	width: 100px;
}
.downloadBlock .wrap1 .img2 {
	width: 140px;
}
.downloadBlock .wrap1 .text1 {
	font-size: 18px;
	font-weight: 700;
	text-align: center;
	display: inline-block;
	position: relative;
	color: #000;
	line-height: 1;
	margin-bottom: 12px;
}
.downloadBlock .wrap1 .text1::before,
.downloadBlock .wrap1 .text1::after {
	content: " ";
	display: block;
	height: 1px;
	width: 21px;
	background-color: #000;
	position: absolute;
	top: 50%;
}
.downloadBlock .wrap1 .text2 {
	font-size: 30px;
	font-weight: 700;
	text-align: center;
	color: var(--c_1);
	line-height: 1;
	margin-bottom: 14px;
}
.downloadBlock .wrap1 .text3 {
	font-size: 16px;
	font-weight: 400;
	text-align: center;
	color: #000;
	line-height: 1;
	margin-bottom: 8px;
}

.downloadBlock .wrap1 .text1::before {
	left: -30px;
}
.downloadBlock .wrap1 .text1::after {
	right: -30px;
}
.downloadBlock .dlSubmitBtn {
	width: 85%;
	border-radius: 100px;
	background-color: #345AA9;
	height: 46px;
	margin: 10px auto 0;
}
.downloadBlock .dlSubmitBtn .tx {
	font-size: 117%;
	line-height: 150%;
	font-weight: 500;
}
.downloadBlock .dlSubmitBtn .tx .icon {
	font-size: 130%;
	margin-left: 24px;
}


/* ________SP________ */
@media screen and (max-width: 500px) {
	.downloadBlock {
		margin-top: 18px;
	}
	.downloadBlock > .inner {
		padding: 22px 18px 22px;
		text-align: center;
		overflow: visible;
	}
	.downloadBlock .shape1 {
		left: 0px;
		top: 24%;
		width: 102px;
		transform: translateY(-50%);
	}
	.downloadBlock .shape2 {
		right: auto;
		top: 13px;
		width: 47px;
		opacity: 0.6;
		left: 201px;
	}
	.downloadBlock .shape3 {
		right: 0;
		top: 127px;
		width: 69px;
		opacity: 51%;
	}
	.downloadBlock .wrap1 {
		display: block;
	}
	.downloadBlock .wrap1 .img1 {
		width: 75px;
		position: absolute;
		top: -40px;
		right: -25px;
		z-index: 1;
	}
	.downloadBlock .wrap1 .img2 {
		width: 120px;
		position: absolute;
		top: 22px;
		right: -14px;
	}
	.downloadBlock .wrap1 .text1 {
		font-size: 15px;
		text-align: left;
		display: block;
		margin-bottom: 9px;
	}
	.downloadBlock .wrap1 .text1::before,
	.downloadBlock .wrap1 .text1::after {
		display: none
	}
	.downloadBlock .wrap1 .text2 {
		font-size: 25px;
		font-weight: 700;
		text-align: left;
		line-height: 128%;
		margin-bottom: 9px;
		position: relative;
		z-index: 10;
	}
	.downloadBlock .wrap1 .text3 {
		font-size: 12px;
		text-align: left;
		line-height: 150%;
		margin-bottom: 7px;
	}

	.downloadBlock .dlSubmitBtn {
		width: 100%;
		height: 55px;
		margin: 1px auto 0;
	}
	.downloadBlock .dlSubmitBtn .tx {
		font-size: 117%;
		line-height: 150%;
		font-weight: 500;
	}
	.downloadBlock .dlSubmitBtn .tx .icon {
		font-size: 130%;
		margin-left: 10px;
	}

}

/* // block
----------------------------------------------- */
.block_label1 {
	line-height: 150%;
	margin-bottom: 21px;
	text-align: center;
}
.block_label1 img {
	height: 48px;
	width: auto;
}

.block_title1 {
	line-height: 184%;
	margin-bottom: 46px;
	font-weight: 710;
	font-size: 200%;
	text-align: center;
}
.block_title1 .tx1 {
	font-size: 110%;
	padding: 0px 2px;
	color: var(--c_tx_1);
}
.block_title1 .tx1._fsL1 {
	font-size: 167%;
	padding: 0px 5px;
}
.block_title1 .tx1._line {
	background: linear-gradient(transparent 60%, #ff0 40%);
}
.block_title1 .tx2 {
	font-size: 106%;
	display: inline-block;
	line-height: 137%;
	padding: 0px 8px;
	border-radius: 3px;
	margin: 0 5px;
	color: var(--c_tx_1);
	background-color: #FFF;
}


.block_title2 {
	line-height: 130%;
	font-weight: 710;
	font-size: 300%;
	text-align: center;
	color: #FF0;
	text-shadow: 3px 3px 0px rgba(0, 0, 0, 0.65);
}
.block_title2 .in {
	display: inline-block;
	border-bottom: 4px dotted #EEEEED;
	padding-bottom: 13px;
}

/* ________SP________ */
@media screen and (max-width: 500px) {
	.block_label1 {
		margin-bottom: 14px;
	}
	.block_label1 img {
		height: 25px;
	}

	.block_title1 {
		line-height: 149%;
		margin-bottom: 38px;
		font-weight: 710;
		font-size: 20px;
		text-align: center;
	}
	.aboutBlock_1 .block_title1 {
		line-height: 173%;
	}
	.block_title1 .tx1 {
		font-size: 110%;
		padding: 0px 2px;
	}
	.block_title1 .tx1._fsL1 {
		font-size: 138%;
		padding: 0px 5px;
	}
	.block_title1 .tx1._line {}
	.block_title1 .tx2 {
		font-size: 106%;
		display: inline-block;
		line-height: 137%;
		padding: 0px 8px;
		border-radius: 3px;
		margin: 0 5px;
	}


	.block_title2 {
		line-height: 130%;
		font-size: 247%;
	}
	.block_title2 .in {
		border-width: 3px;
		padding-bottom: 11px;
	}

}

/* // aboutBlock_1
----------------------------------------------- */
.aboutBlock_1 {
	margin-top: 70px;
}
/* .contents1*/
.aboutBlock_1 .contents1 {
	font-size: 100%;
	line-height: 150%;
	font-weight: 500;
	background-color: #F5F5F5;
	padding: 0 45px 45px;
	margin-top: 70px;
	border-radius: 3px;
}
.aboutBlock_1 .contents1 .title {
	font-size: 192%;
	line-height: 150%;
	font-weight: 510;
	margin: 0 auto 18px;
	background-color: var(--c_1);
	color: #FFF;
	text-align: center;
	padding: 6px;
	width: 90%;
	transform: translateY(-50%);
	border-radius: 3px;
}
.aboutBlock_1 .contents1 .step {
	display: flex;
	align-items: center;
	align-content: center;
	justify-content: center;
	gap: 19px;
	margin-bottom: 35px;
}
.aboutBlock_1 .contents1 .step ._1 {
	width: 190px;
	border-radius: 5px;
	overflow: hidden;
}
.aboutBlock_1 .contents1 .step ._2 {}
.aboutBlock_1 .contents1 .step ._2 img {
	width: 120px;
}
.aboutBlock_1 .contents1 .text1 {
	font-size: 100%;
	line-height: 150%;
	font-weight: 500;
	margin-bottom: 10px;
}
.aboutBlock_1 .contents1 .text1 {
	font-size: 139%;
	line-height: 150%;
	font-weight: 511;
	text-align: center;
	margin-bottom: 16px;
}
.aboutBlock_1 .contents1 .text2 {
	font-size: 100%;
	line-height: 150%;
	font-weight: 495;
	text-align: center;
}

/* .contents2*/
.aboutBlock_1 .contents2 {
	margin-top: 70px;
	display: grid;
	gap: 40px;
	grid-template-columns: repeat(3, 320px);
	place-content: start center;
}
.aboutBlock_1 .contents2 img {
	border-radius: 5px;
	margin-bottom: 20px;
}
.aboutBlock_1 .contents2 .ttl {
	margin-bottom: 15px;
	text-align: center;
}
.aboutBlock_1 .contents2 .ttl .in {
	font-size: 131%;
	line-height: 150%;
	font-weight: 510;
	border-radius: 3px;
	background-color: var(--c_1);
	color: #FFF;
	padding: 3px 21px;
}
.aboutBlock_1 .contents2 .description {
	font-size: 94%;
	line-height: 169%;
	text-align: center;
}
/* .contents3*/
.aboutBlock_1 .contents3 {
	margin-top: 70px;
}
.aboutBlock_1 .contents3 .ttl {
	font-size: 184%;
	line-height: 150%;
	font-weight: 510;
	text-align: center;
	margin-bottom: 17px;
	color: var(--c_2);
}
.aboutBlock_1 .contents3 .ttl em {
	background: linear-gradient(transparent 70%, #ff0 30%);
}
.aboutBlock_1 .contents3 .text1 {
	font-size: 100%;
	line-height: 192%;
	text-align: center;
	font-weight: 500;
	margin-bottom: 27px;
}
.aboutBlock_1 .contents3 .items {
	display: flex;
	gap: 34px;
	justify-content: center;
}
.aboutBlock_1 .contents3 .items li {
	width: 460px;
}

/* ________SP________ */
@media screen and (max-width: 500px) {
	.aboutBlock_1 {
		margin-top: 48px;
	}
	/* .contents1*/
	.aboutBlock_1 .contents1 {
		padding: 0 13px 15px;
		margin-top: 53px;
		border-radius: 3px;
	}
	.aboutBlock_1 .contents1 .title {
		font-size: 145%;
		line-height: 140%;
		padding: 5px;
		margin-bottom: -13px;
		width: 92%;
	}
	.aboutBlock_1 .contents1 .step {
		gap: 0;
		margin-bottom: 0;
	}
	.aboutBlock_1 .contents1 .step ._1 {
		width: 190px;
		border-radius: 5px;
		overflow: hidden;
	}
	.aboutBlock_1 .contents1 .step ._2 {}
	.aboutBlock_1 .contents1 .step ._2 img {
		width: 120px;
	}
	.aboutBlock_1 .contents1 .text1 {
		font-size: 100%;
		line-height: 150%;
		font-weight: 500;
		margin-bottom: 10px;
	}
	.aboutBlock_1 .contents1 .text1 {
		font-size: 101%;
		line-height: 150%;
		margin-bottom: 11px;
		margin-top: 13px;
	}
	.aboutBlock_1 .contents1 .text2 {
		font-size: 79%;
		line-height: 180%;
		font-weight: 400;
		text-align: center;
	}

	/* .contents2*/
	.aboutBlock_1 .contents2 {
		margin-top: 39px;
		gap: 17px 10px;
		grid-template-columns: repeat(2, 1fr);
	}
	.aboutBlock_1 .contents2 img {
		border-radius: 4px;
		margin-bottom: 13px;
	}
	.aboutBlock_1 .contents2 .ttl {
		margin-bottom: 7px;
		text-align: center;
	}
	.aboutBlock_1 .contents2 .ttl .in {
		font-size: 103%;
		line-height: 150%;
		padding: 3px 4px;
	}
	.aboutBlock_1 .contents2 .description {
		font-size: 81%;
		line-height: 171%;
		text-align: center;
	}
	/* .contents3*/
	.aboutBlock_1 .contents3 {
		margin-top: 31px;
	}
	.aboutBlock_1 .contents3 .ttl {
		font-size: 176%;
		text-align: center;
		margin-bottom: 13px;
	}
	.aboutBlock_1 .contents3 .ttl em {}
	.aboutBlock_1 .contents3 .text1 {
		font-size: 86%;
		line-height: 189%;
		text-align: center;
		font-weight: 400;
		margin-bottom: 19px;
	}
	.aboutBlock_1 .contents3 .items {
		gap: 5px;
	}
	.aboutBlock_1 .contents3 .items li {
		width: 460px;
	}
}

/* // aboutBlock_2
----------------------------------------------- */
.aboutBlock_2 {
	margin-top: 80px;
}
.aboutBlock_2 > .inner {
	background-color: #ECF4F5;
	border-radius: 18px;
	border: 4px solid #4984D1;
	padding: 50px;
}
.aboutBlock_2 .header {
	padding-bottom: 35px;
	position: relative;
}
.aboutBlock_2 .header .ttl1 {
	line-height: 1;
	margin-bottom: 21px;
}
.aboutBlock_2 .header .ttl1 .in {
	display: inline-block;
	background-color: var(--c_2);
	color: #FFF;
	font-size: 213%;
	line-height: 1;
	font-weight: 510;
	border-radius: 3px;
	padding: 9px 15px;
}
.aboutBlock_2 .header .ttl2 {
	line-height: 1;
	margin-bottom: 29px;
}
.aboutBlock_2 .header .ttl2 .tx1 {
	width: 330px;
}
.aboutBlock_2 .header .ttl2 .tx2 {
	width: 320px;
	transform: translateX(-12px);
}
.aboutBlock_2 .header .ttl2 .tx3 {
	width: 250px;
	margin-top: 15px;
}
.aboutBlock_2 .header .lead {
	font-size: 96%;
	line-height: 203%;
}
.aboutBlock_2 .header .person {
	width: 380px;
	position: absolute;
	bottom: 0px;
	left: calc(50% + 50px);
	z-index: 0;
}
.aboutBlock_2 .items {
	display: flex;
	gap: 18px;
	justify-content: center;
}
.aboutBlock_2 .items li {
	width: 480px;
}
.aboutBlock_2 .text1 {
	font-size: 134%;
	line-height: 171%;
	font-weight: 510;
	margin-top: 27px;
	text-align: center;
}
.aboutBlock_2 .text1 em {
	color: var(--c_2);
	background: linear-gradient(transparent 70%, #ff0 30%);
	font-size: 113%;
}


/* ________SP________ */
@media screen and (max-width: 500px) {
	.aboutBlock_2 {
		margin-top: 43px;
	}
	.aboutBlock_2 > .inner {
		border-radius: 14px;
		border-width: 3px;
		padding: 15px;
		overflow: hidden;
	}
	.aboutBlock_2 .header {
		padding-bottom: 35px;
		position: relative;
	}
	.aboutBlock_2 .header .wrap {
		position: relative;
		z-index: 10;
	}
	.aboutBlock_2 .header .ttl1 {
		margin-bottom: 9px;
	}
	.aboutBlock_2 .header .ttl1 .in {
		font-size: 151%;
		padding: 9px 10px;
	}
	.aboutBlock_2 .header .ttl2 {
		margin-bottom: 23px;
	}
	.aboutBlock_2 .header .ttl2 .tx1 {
		width: 300px;
		margin-bottom: 11px;
	}
	.aboutBlock_2 .header .ttl2 .tx2 {
		width: 282px;
		transform: translateX(-16px);
	}
	.aboutBlock_2 .header .ttl2 .tx3 {
		width: 227px;
		margin-top: 15px;
	}
	.aboutBlock_2 .header .lead {
		font-size: 84%;
		line-height: 197%;
		padding-right: 130px;
	}
	.aboutBlock_2 .header .person {
		width: 194px;
		position: absolute;
		bottom: 0px;
		left: calc(50% + 14px);
		z-index: 0;
	}
	.aboutBlock_2 .items {
		gap: 12px;
		flex-wrap: wrap;
		width: 91%;
		margin: 0 auto;
	}
	.aboutBlock_2 .items li {
		width: 480px;
	}
	.aboutBlock_2 .text1 {
		font-size: 120%;
		line-height: 162%;
		margin-top: 17px;
	}
	.aboutBlock_2 .text1 em {}

}

/* // solutionIndex
----------------------------------------------- */
.solutionIndex {
	margin-top: -130px;
	background: no-repeat url(../img/solution_bg_01.jpg) center top / cover;
	padding: 220px 0 120px;
	margin-bottom: -1px;
}

.solutionIndex .solutionItems {
	display: grid;
	grid-auto-flow: row;
	gap: 36px;
}
.solutionIndex .solutionItems li {
	background-color: #345AA9;
	padding: 21px 16px;
	border-radius: 10px;
	box-shadow: 5px 5px 0px rgba(84, 127, 204, 0.7);
}


/* ________SP________ */
@media screen and (max-width: 500px) {
	.solutionIndex {
		margin-top: -180px;
		padding-bottom: 120px;
	}

	.solutionIndex .solutionItems {
		gap: 31px;
	}
	.solutionIndex .solutionItems li {
		padding: 17px 9px;
	}



}

/* // solutionTitle
----------------------------------------------- */
.solutionTitle {
	position: relative;
	line-height: 130%;
	color: #FFF;
	font-weight: 900;
	padding-left: 110px;
}
.solutionTitle .num {
	font-size: 114px;
	position: absolute;
	top: 50%;
	left: 50px;
	transform: translate(-50%, -50%);
	font-family: var(--ffEn1);
	font-style: italic;
	text-shadow: 3px 3px 0px rgba(0, 0, 0, 0.8);
}
.solutionTitle .text1 {
	margin-bottom: 13px;
}
.solutionTitle .text1 .in {
	display: inline-block;
	background-color: #FFF;
	border-radius: 5px;
	line-height: 1;
	font-size: 24px;
	color: var(--c_tx_1);
	padding: 7px 15px;
	box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.75);
}
.solutionTitle .text2 {
	line-height: 120%;
	font-size: 45px;
	text-shadow: 3px 3px 0px rgba(0, 0, 0, 0.8);
	letter-spacing: 1px;
}
.solutionTitle .text2 em {
	color: #FF0;
}

/* ________SP________ */
@media screen and (max-width: 500px) {
	.solutionTitle {
		padding-left: 0;
		display: flex !important;
		align-items: center;
		align-content: center;
		flex-wrap: wrap;

		justify-content: center;
	}
	.solutionTitle .num {
		font-size: 72px !important;
		position: relative;
		top: -5px !important;
		left: auto !important;
		transform: translate(0%, 0%);
		line-height: 80%;
		width: 60px;
		text-align: center;
		padding-right: 0;
		margin-right: 10px;
	}
	.solutionTitle .text1 {
		margin-bottom: 11px;
		/*! flex: 1; */
	}
	.solutionTitle .text1 .in {
		font-size: 16px;
		color: var(--c_tx_1);
		padding: 4px 9px;
		box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.75);
		line-height: 126%;
	}
	.solutionTitle .text2 {
		line-height: 127%;
		font-size: 41px;
		letter-spacing: 0px;
		width: 100%;
		text-align: center;
	}
	.solutionTitle .text2 em {
		color: #FF0;
	}
}

/* // solutionTitleWrap
----------------------------------------------- */
.solutionTitleWrap {
	background-color: #345AA9;
	padding: 21px 0px;
	text-align: center;
	margin-bottom: 40px;
}
.solutionTitleWrap .solutionTitle {
	display: inline-block;
}
.solutionTitleWrap .solutionTitle .num {
	left: 35px;
	font-size: 128px;
}

/* ________SP________ */
@media screen and (max-width: 500px) {
	.solutionTitleWrap {
		padding: 21px 23px;
		margin-bottom: 30px;
	}
	.solutionTitleWrap .solutionTitle {
		display: inline-block;
	}
	.solutionTitleWrap .solutionTitle .num {
		left: 35px;
		font-size: 128px;
	}
}

/* // solutionContents
----------------------------------------------- */
.solutionContents {
	padding-bottom: 85px;
}
.solutionContents .header {
	display: grid;
	gap: 20px;
	grid-template-columns: 56% 44%;
}
.solutionContents._1 .header {
	grid-template-columns: 56% 44%;
}
.solutionContents._2 .header {
	grid-template-columns: 52% 48%;
}
.solutionContents._3 .header {
	grid-template-columns: 62% 40%;
}

.solutionContents .header .title {
	font-size: 303%;
	line-height: 160%;
	font-weight: 800;
}
.solutionContents .header .title em {
	background: linear-gradient(transparent 70%, #ff0 30%);
	font-size: 113%;
}

.solutionContents .header .img1 {}
.solutionContents .header .description {
	font-size: 100%;
	line-height: 210%;
}

.solutionContents._1 .contents {
	margin-top: 10px;
}

/* ________SP________ */
@media screen and (max-width: 500px) {
	.solutionContents {
		padding-bottom: 63px;
	}
	.solutionContents .header {
		display: block;
	}
	.solutionContents._1 .header {
		text-align: center;
	}
	.solutionContents._2 .header {
		grid-template-columns: 52% 48%;
	}
	.solutionContents._3 .header {
		grid-template-columns: 62% 40%;
	}

	.solutionContents .header .title {
		font-size: calc(100vw / 115 * 10);
		line-height: 147%;
		margin-bottom: 24px;
	}
	.solutionContents .header .title em {
		background: linear-gradient(transparent 70%, #ff0 30%);
		font-size: 113%;
	}
	.solutionContents .header .img1 {
		width: 85%;
		margin: 25px auto 13px;
	}
	.solutionContents .header .description {
		font-size: 96%;
		line-height: 205%;
	}
	.solutionContents._1 .contents {
		margin-top: 10px;
	}
}



/* // .solutionContents .exWrap 
----------------------------------------------- */
.solutionContents .exWrap {
	display: grid;
	grid-auto-flow: row;
	gap: 32px;
}
.solutionContents .exWrap .exTtl {
	font-size: 160%;
	line-height: 150%;
	font-weight: 510;
	margin-bottom: -7px;
	color: var(--c_tx_1);
}
.solutionContents .exItem {
	background-color: #F5F5F5;
	border-radius: 5px;
}
.solutionContents .exItem .itemHeader {
	background-color: #345AA9;
	color: #FFF;
	border-radius: 5px 5px 0 0;
	padding: 9px 10px;
	font-weight: 600;
	display: flex;
	gap: 10px;
	align-items: center;
	align-content: center;
	justify-content: flex-start;
}
.solutionContents .exItem .itemHeader .tx1 {
	padding: 6px 12px;
	/*! border: 2px solid #fff; */
	font-size: 120%;
	line-height: 1;
	background-color: #FFF;
	color: #1A5FA6;
}
.solutionContents .exItem .itemHeader .tx2 {
	font-size: 110%;
}

.solutionContents .exItem .itemInner {
	padding: 23px 100px 25px 30px;
	position: relative;
}
.solutionContents .exItem .text1 {
	font-size: 93%;
	line-height: 150%;
	margin-top: -8px;
	margin-bottom: 16px;
}

.solutionContents .exItem .itemInner .difference {
	position: absolute;
	top: 38%;
	right: -25px;
	width: 134px;
	transform: translateY(-50%);
}
.solutionContents .exItem .prices {
	display: flex;
	gap: 25px;
	align-items: center;
	align-content: center;
	justify-content: flex-start;
	line-height: 1;
}
.solutionContents .exItem .prices img {
	height: 46px;
	width: auto;
}

.solutionContents .exItem .cv {
	display: flex;
	gap: 10px;
	align-items: center;
	align-content: center;
	justify-content: center;
	margin-top: 23px;
}
.solutionContents .exItem .cv .tx1 {
	height: 45px;
	width: auto;
	margin-right: 10px;
}
.solutionContents .exItem .cv .building {
	height: 52px !important;
}
.solutionContents .exItem .cv .ctaSubmitBtn {
	width: 290px;
	height: 50px;
	border-radius: 5px;
	background-color: var(--c_red_1);
	box-shadow: 0px 5px 0px #730000;
	font-weight: 500;
	font-size: 109%;
}

/* ________SP________ */
@media screen and (max-width: 500px) {
	.solutionContents .exWrap {
		gap: 24px;
	}
	.solutionContents .exWrap .exTtl {
		font-size: 151%;
		margin-bottom: -7px;
	}
	.solutionContents .exItem {}
	.solutionContents .exItem .itemHeader {
		padding: 7px 9px;
		gap: 7px;
		flex-wrap: wrap;
	}
	.solutionContents .exItem .itemHeader .tx1 {
		padding: 5px 7px;
		font-size: 129%;
		border-width: 1px;
		margin-bottom: -2px;
	}
	.solutionContents .exItem .itemHeader .tx2 {
		font-size: 91%;
		width: 100%;
		line-height: 150%;
	}

	.solutionContents .exItem .itemInner {
		padding: 18px 18px 18px 18px;
		position: relative;
	}
	.solutionContents .exItem .text1 {
		font-size: 89%;
		line-height: 162%;
		margin-top: -8px;
		margin-bottom: 12px;
	}

	.solutionContents .exItem .itemInner .difference {
		top: auto;
		right: -3px;
		width: 130px;
		transform: translateY(0%);
		bottom: 170px;
	}
	.solutionContents .exItem .prices {
		display: block;
		line-height: 1;
		text-align: left;
	}
	.solutionContents .exItem .prices li {

		text-align: left;
		margin-bottom: 8px;
	}
	.solutionContents .exItem .prices img {
		height: 35px;
	}

	.solutionContents .exItem .cv {
		display: block;
		margin-top: 5px;
	}
	.solutionContents .exItem .cv .tx1 {
		height: 48px;
		width: auto;
		margin-right: 0;
		margin-bottom: 10px;
	}
	.solutionContents .exItem .cv .selectWrap {
		width: 100%;
		margin-bottom: 10px;
	}
	.solutionContents .exItem .cv .building {
		height: 52px !important;
	}
	.solutionContents .exItem .cv .ctaSubmitBtn {
		width: 100%;
		height: 57px;
		font-size: 128%;
	}

}

/* // .solutionContents._2
----------------------------------------------- */
.solutionContents._2 {}
.solutionContents._2 .contents {
	margin-top: 54px;
	text-align: center;
}
.solutionContents._2 .contents .text1 {
	width: 492px;
	margin-bottom: 28px;
}
.solutionContents._2 .contents .teble1 {
	width: 90%;
}
.solutionContents._2 .contents .text2 {
	width: 660px;
}

/* ________SP________ */
@media screen and (max-width: 500px) {
	.solutionContents._2 {}
	.solutionContents._2 .contents {
		margin-top: 32px;
	}
	.solutionContents._2 .contents .text1 {
		width: 320px;
		margin-bottom: 20px;
	}
	.solutionContents._2 .contents .teble1 {}
	.solutionContents._2 .contents .text2 {
		width: 296px;
		margin-top: 10px;
	}

}


/* // .solutionContents._3
----------------------------------------------- */
.solutionContents._3 {}
.solutionContents._3 .contents {
	margin-top: 40px;
	text-align: center;
}
.solutionContents._3 .contents .text1 {
	width: 483px;
	margin-bottom: 28px;
}
.solutionContents._3 .contents .items {
	display: flex;
	gap: 29px;
	align-items: center;
	align-content: center;
	justify-content: center;
}
.solutionContents._3 .contents .items li {
	width: 428px;
}
.solutionContents._3 .contents .recommend {
	margin-top: 23px;
	font-size: 174%;
	line-height: 172%;
	font-weight: 600;
	color: #345AA9;
	text-align: center;
}
.solutionContents._3 .contents .box {
	display: inline-block;
	padding: 10px 20px;
	background-color: #345AA9;
	color: #FFF;
	line-height: 1;
	border-radius: 4px;
}
.solutionContents._3 .contents .box .tx1 {
	color: #FF0;
	padding-right: 7px;
}

/* ________SP________ */
@media screen and (max-width: 500px) {
	.solutionContents._3 {}
	.solutionContents._3 .contents {
		margin-top: 19px;
	}
	.solutionContents._3 .contents .text1 {
		width: 323px;
		margin-bottom: 22px;
	}
	.solutionContents._3 .contents .items {
		display: flex;
		gap: 19px;
		flex-wrap: wrap;
		width: 85%;
		margin: 0 auto;
	}
	.solutionContents._3 .contents .items li {
		width: 428px;
	}
	.solutionContents._3 .contents .recommend {
		margin-top: 21px;
		font-size: 149%;
	}
	.solutionContents._3 .contents .box {
		padding: 8px 13px;
		line-height: 139%;
		margin-top: 5px;
		font-size: 100%;
	}
	.solutionContents._3 .contents .box .tx1 {
		padding-right: 7px;
	}
}

/* // flowBlock
----------------------------------------------- */
.flowBlock {
	background: no-repeat url(../img/flow_bg_01.jpg) center / cover;
	padding: 100px 0px;
}
.flowBlock .flowItems {
	display: flex;
	gap: 26px;
	align-content: flex-start;
	justify-content: center;
	margin-top: 66px;
}
.flowBlock .flowItems li {
	width: 250px;
	position: relative;
	background-color: #FFF;
	border-radius: 3px;
}
.flowBlock .flowItems li .step {
	line-height: 1;
	position: absolute;
	bottom: calc(100% + 6px);
	left: 0px;
	color: var(--c_tx_1);
	font-size: 117%;
	font-family: var(--ffEn1);
	padding: 0;
}
.flowBlock .flowItems li .step .num {
	font-size: 200%;
	padding-left: 5px;
}
.flowBlock .flowItems li img {
	margin-bottom: 18px;
	border-radius: 3px 3px 0 0;

}
.flowBlock .flowItems li p {
	padding: 0 17px;
}
.flowBlock .flowItems li .ttl {
	font-size: 109%;
	line-height: 150%;
	font-weight: 600;
	margin-bottom: 9px;
	text-align: center;
	color: var(--c_tx_1);
}
.flowBlock .flowItems li .description {
	font-size: 85%;
	line-height: 183%;
	margin-bottom: 21px;
}

/* ________SP________ */
@media screen and (max-width: 500px) {
	.flowBlock {
		padding: 70px 0px;
	}
	.flowBlock .flowItems {
		gap: 42px 12px;
		margin-top: 59px;
		display: grid;
		grid-template-columns: repeat(2, 1fr);

	}
	.flowBlock .flowItems li {
		width: auto;
	}
	.flowBlock .flowItems li .step {
		font-size: 107%;
		bottom: calc(100% + 3px);
	}
	.flowBlock .flowItems li .step .num {
		font-size: 200%;
		padding-left: 5px;
	}
	.flowBlock .flowItems li img {
		margin-bottom: 13px;

	}
	.flowBlock .flowItems li p {
		padding: 0 11px;
	}
	.flowBlock .flowItems li .ttl {
		font-size: 105%;
		margin-bottom: 5px;
		text-align: center;
	}
	.flowBlock .flowItems li .description {
		font-size: 82%;
		line-height: 177%;
		margin-bottom: 13px;
	}

}

/* // partnerBlock
----------------------------------------------- */
.partnerBlock .text1 {
	text-align: center;
	font-size: 100%;
	line-height: 179%;
	margin-bottom: 40px;
	margin-top: -20px;
}
.partnerBlock .partnerItems {
	display: grid;
	grid-auto-flow: row;
	gap: 40px;
}
.partnerBlock .partnerItems .item {
	background-color: #F5F9FF;
	border-top: 4px solid var(--c_2);
	padding: 24px 32px 29px;
}
.partnerBlock .partnerItems .item .header {
	padding-left: 140px;
	line-height: 130%;
	position: relative;
	margin-bottom: 22px;
}
.partnerBlock .partnerItems .item .header .img1 {
	position: absolute;
	left: 0px;
	top: -46px;
	width: 120px;
}
.partnerBlock .partnerItems .item .header .catch {
	font-size: 180%;
	line-height: 138%;
	font-weight: 600;
	margin-bottom: 10px;
	color: #345AA9;
}
.partnerBlock .partnerItems .item .header .name {
	font-size: 105%;
	line-height: 130%;
	font-weight: 500;
}
.partnerBlock .partnerItems .item .comment {
	font-size: 93%;
	line-height: 200%;
	font-weight: 400;
}

/* ________SP________ */
@media screen and (max-width: 500px) {
	.partnerBlock .text1 {
		text-align: center;
		font-size: 95%;
		line-height: 179%;
		margin-bottom: 32px;
		margin-top: -18px;
	}
	.partnerBlock .partnerItems {
		display: grid;
		grid-auto-flow: row;
		gap: 40px;
	}
	.partnerBlock .partnerItems .item {
		border-width: 3px;
		padding: 19px 15px 18px;
	}
	.partnerBlock .partnerItems .item .header {
		padding-left: 90px;
		margin-bottom: 19px;
	}
	.partnerBlock .partnerItems .item .header .img1 {
		position: absolute;
		left: -7px;
		top: 0px;
		width: 88px;
	}
	.partnerBlock .partnerItems .item .header .catch {
		font-size: 179%;
		line-height: 138%;
		margin-bottom: 11px;
	}
	.partnerBlock .partnerItems .item .header .name {
		font-size: 99%;
	}
	.partnerBlock .partnerItems .item .comment {
		font-size: 89%;
		line-height: 195%;
	}
}

/* // voiceBlock
----------------------------------------------- */
.voiceBlock {
	margin-top: 80px;
}
.voiceBlock .voiceItems {
	display: grid;
	gap: 25px;
	grid-template-columns: repeat(2, 1fr);
}
.voiceBlock .voiceItems .item {
	position: relative;
	background: no-repeat url(../img/voice_shape_01.svg) right 8px bottom 8px / 50px auto;
	border: 1px solid var(--c_1);
	border-radius: 5px;
	padding: 35px;
	overflow: hidden;
	box-shadow: 9px 9px 0px rgba(0, 0, 0, 0.15);

}
.voiceBlock .voiceItems .item::before {
	content: " ";
	display: block;
	width: 80px;
	height: 80px;
	background-color: var(--c_1);
	position: absolute;
	transform: rotate(45deg);
	top: -55px;
	left: -55px;
}
.voiceBlock .voiceItems .item .name {
	position: relative;
	background-color: #AAB3C1;
	color: #FFF;
	display: flex;
	gap: 10px;
	align-items: center;
	align-content: center;
	justify-content: flex-start;
	padding: 13px 20px;
	font-weight: 600;
	font-size: 120%;
	border-radius: 2px;
	line-height: 150%;
	margin-bottom: 15px;
}
.voiceBlock .voiceItems .item .name .icon {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 4px;
	width: 90px;
}
.voiceBlock .voiceItems .item .htx {
	text-align: center;
	font-size: 112%;
	line-height: 150%;
	font-weight: 508;
	margin-bottom: 10px;
	color: #2C4364;
}
.voiceBlock .voiceItems .item .comment {
	font-size: 87%;
	line-height: 200%;
}

/* ________SP________ */
@media screen and (max-width: 500px) {
	.voiceBlock {
		margin-top: 50px;
	}
	.voiceBlock .voiceItems {
		gap: 23px;
		grid-template-columns: repeat(1, 1fr);
	}
	.voiceBlock .voiceItems .item {
		padding: 23px;
		overflow: hidden;
		box-shadow: 8px 8px 0px rgba(0, 0, 0, 0.15);

		background-size: 35px auto;
	}
	.voiceBlock .voiceItems .item::before {
		top: -60px;
	}
	.voiceBlock .voiceItems .item .name {
		padding: 10px 12px;
		font-weight: 600;
		font-size: 120%;
		margin-bottom: 12px;
	}
	.voiceBlock .voiceItems .item .name .icon {
		right: 5px;
		width: 78px;
	}
	.voiceBlock .voiceItems .item .htx {
		text-align: left;
		font-size: 111%;
		margin-bottom: 6px;
	}
	.voiceBlock .voiceItems .item .comment {
		font-size: 87%;
		line-height: 193%;
	}

}

/* // formFrame
----------------------------------------------- */
body.form {
	display: flex;
	align-items: center;
	align-content: center;
	justify-content: center;
	padding-bottom: 0px;
	background: url(/_assets/img/cmn_bg_01.webp) no-repeat center center / cover;
	flex-wrap: wrap;
}

.formFrame {
	background-color: #FFF;
	border: 3px solid var(--c_2);
	padding: 30px;
	border-radius: 14px;
	width: 480px;
	margin: 0 auto;
}
.formFrame .description {
	text-align: center;
	margin-bottom: 16px;
	line-height: 150%;
	font-size: 96%;
}
.formItems {
	display: grid;
	grid-auto-flow: row;
	gap: 16px;
}
.formItems .label {
	font-size: 104%;
	line-height: 134%;
	font-weight: 600;
	margin-bottom: 5px;
}
.formItems .label .must {
	font-size: 10px;
	line-height: 139%;
	color: rgb(230, 71, 71);
	font-weight: 400;
	padding-left: 4px;
}
.formItems .selectWrap {
	width: 100%;
}
.formItems select {
	border-color: var(--c_2) !important;
	background-color: #f4fbff;
	height: 43px;
	font-size: 128%;
	margin-right: 0px !important;
}
.formItems input {
	border-color: var(--c_2) !important;
	background-color: #f4fbff;
	padding: 7px !important;
	font-size: 128%;
	margin-right: 0px !important;
}
.formFrame .term {
	margin-top: 10px;
}
.formFrame .term .text1 {
	font-size: 79%;
	line-height: 140%;
	font-weight: 400;
	margin-bottom: 5px;
	margin-top: 21px;
}
.formFrame .term .terms {
	display: flex;
	gap: 21px;
	align-items: center;
	align-content: center;
	justify-content: center;
	line-height: 1;
	margin-top: 7px;
	font-size: 10px;
}
.formFrame .term .terms a {
	color: var(--c_2);
}

.formFrame .btnSubmit {
	width: 100%;
	height: 60px;
	border-radius: 5px;
	background-color: var(--c_red_1);
	margin-top: 24px;
	box-shadow: rgb(115, 0, 0) 0px 5px 0px;
	font-weight: 700;
	font-size: 117%;
}

.formTthanks {
	display: grid;
	grid-auto-flow: row;
	gap: 20px;
}
.formTthanks .thanks_tel {
	text-align: center;
	font-size: 200%;
	margin-top: -10px;
}

/* ________SP________ */
@media screen and (max-width: 500px) {
	.formFrame {
		padding: 18px;
		width: 100%;
	}
	.formFrame .description {
		text-align: center;
		margin-bottom: 16px;
		line-height: 150%;
		font-size: 86%;
	}
	.formItems {
		gap: 15px;
	}
	.formItems .label {
		font-size: 108%;
		margin-bottom: 4px;
	}
	.formItems .label .must {
		font-size: 9px;
		padding-left: 3px;
	}
	.formItems .selectWrap {}
	.formItems select {
		height: 40px;
		font-size: 124%;
	}
	.formItems input {
		padding: 8px !important;
		font-size: 120%;
	}
	.formFrame .term {
		margin-top: 10px;
	}
	.formFrame .term .text1 {
		font-size: 84%;
		line-height: 140%;
		margin-bottom: 7px;
		margin-top: 24px;
	}
	.formFrame .term .terms {
		gap: 21px;
		margin-top: 8px;
		font-size: 9px;
	}
	.formFrame .term .terms a {
		color: var(--c_2);
	}

	.formFrame .btnSubmit {
		height: 60px;
		margin-top: 24px;
		font-size: 119%;
	}

	.formTthanks {
		gap: 11px;
	}
	.formTthanks .thanks_tel {
		font-size: 200%;
		margin-top: -9px;
	}

}


/* // backBtn1
----------------------------------------------- */
.backBtn1 {
	width: 100%;
	text-align: center;
	margin-top: 23px;
}
.backBtn1 .btn {
	border-radius: 4px;
	background-color: #4079CB;
		height: 50px;

}
.backBtn1 .btn .btnWrap {
}

/* ________SP________ */
@media screen and (max-width: calc(801px - 1px)) {

}



/* // .fancybox
----------------------------------------------- */
.fancybox-bg {
	background-color: var(--c_2);
}
.fancybox-iframe {
	width: 550px !important;
	background: url(/_assets/img/cmn_bg_01.webp) no-repeat center center / cover;
}
.fancybox-slide--iframe .fancybox-content {}

/* ________SP________ */
@media screen and (max-width: 500px) {
	.fancybox-iframe {
		width: 100% !important;
	}
}

/* // pc_cvBtn
----------------------------------------------- */
.pc_cvBtn {
	position: fixed;
	top: 50%;
	transform: translateY(-50%);
	right:0px;
}
.pc_cvBtn li {
	margin-bottom: 10px;
}
.pc_cvBtn img {
	width: 60px;
}

/* ________SP________ */
@media screen and (max-width: 500px) {
	.pc_cvBtn {
		display: none;
	}
}

/* // sp_cvBtn
----------------------------------------------- */
.sp_cvBtn {
	display: none;
}

/* ________SP________ */
@media screen and (max-width: 500px) {
	.sp_cvBtn {
		position: fixed;
		bottom: 0px;
		left: 0px;
		width: 100%;
		background-color: rgba(0, 0, 0, 0.65);
		display: flex;
		gap: 8px;
		align-items: center;
		align-content: center;
		justify-content: center;
		padding: 5px 0;
		z-index: 1000;
	}
	.sp_cvBtn img {
		height: 50px;
		width: auto;
	}
}

/* // xxx
----------------------------------------------- */
.xxx {}

/* ________SP________ */
@media screen and (max-width: 500px) {}

/* // xxx
----------------------------------------------- */
.xxx {}

/* ________SP________ */
@media screen and (max-width: 500px) {}