@charset 'UTF-8';
/*----------------------------------------

	- first
		- structure
		- merit

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

/*----------------------------------------
first
-----------------------------------------*/

.first {
	margin-top: 48px;
}

.first p {
	margin-top: 16px;
}

@media screen and (max-width: 800px) {
	.first {
		margin-top: 32px;
	}
}

/*----------------------------------------
structure
-----------------------------------------*/
.structure .heading_m1 {
	margin-top: 48px;
	color: var(--color_sapphire-500);
}

.structure .structure_table {
	margin-top: 48px;
}

.structure .structure_table {
	width: 100%;
	border: solid 1px var(--color_cmn-line);
}

.structure .structure_table tbody {
	display: grid;
	grid-template-columns: repeat(3, minmax(212px, 1fr));
}

.structure .structure_table tr:not(:last-of-type) {
	border-right: solid 1px var(--color_cmn-line);
}

.structure .structure_table th {
	background-color: var(--color_mist-200);
}

.structure .structure_table th,
.structure .structure_table td {
	display: block;
	padding: 15px 16px 16px;
}

.structure .structure_table th {
	font-size: var(--font-size18);
	color: var(--color_cmn-heading);
}

.structure .structure_table td {
	font-size: var(--font-size16);
	line-height: var(--line-height175);
	font-weight: var(--font-weight400);
	letter-spacing: var(--letter-spacing005);
	color: var(--color_cmn-text-1);
}

.structure .heading_s3 {
	margin-top: 48px;
}

.structure .structure_image {
	margin-top: 16px;
	padding: 48px 60px;
}

.structure .structure_image figure {
	max-width: 520px;
	margin: 0 auto;
}

@media screen and (max-width: 800px) {
	.structure .heading_m1 {
		margin-top: 32px;
	}

	.structure .structure_table {
		margin-top: 32px;
	}

	.structure .structure_table tbody {
		display: block;
	}

	.structure .structure_table tr {
		display: grid;
		grid-template-columns: 37% 63%;
	}

	.structure .structure_table tr:not(:last-of-type) {
		border-right: none;
		border-bottom: solid 1px var(--color_cmn-line);
	}

	.structure .structure_table th {
    text-align: left;
		border-right: solid 1px var(--color_cmn-line);
	}

	.structure .heading_s3 {
		margin-top: 32px;
	}

	.structure .structure_image {
		padding: 48px 16px;
	}
}

/*----------------------------------------
merit
-----------------------------------------*/
.merit {
	margin-top: 80px;
}

.list_item {
	margin-top: 64px;
	display: grid;
	gap: 64px;
}

.list_item.item_width-half {
	grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
}

.list_item.item_width-full {
	grid-template-columns: 1fr;
}

.merit [class*='merit0'] .heading_m1 {
	display: flex;
  align-items: center;
	gap: 32px;
	color: var(--color_sapphire-500);
}

.merit [class*='merit0'] .heading_m1::before {
	content: '';
	display: inline-block;
	flex-shrink: 0;
	position: relative;
	height: 70px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100% auto;
}

.merit .merit01 .heading_m1::before {
	width: 128px;
	background-image: url(/first/img/i02_merit01.svg);
}

.merit .merit02 .heading_m1::before {
	width: 145px;
	background-image: url(/first/img/i02_merit02.svg);
}

.merit .merit03 .heading_m1::before {
	width: 144px;
	background-image: url(/first/img/i02_merit03.svg);
}

.merit .merit04 .heading_m1::before {
	width: 146px;
	background-image: url(/first/img/i02_merit04.svg);
}

.merit .merit05 .heading_m1::before {
	width: 144px;
	background-image: url(/first/img/i02_merit05.svg);
}

.merit [class*='merit0'] p {
	margin-top: 32px;
  padding-left: 44px;
}

@media screen and (max-width: 800px) {
	.list_item {
		margin-top: 48px;
		gap: 48px;
	}

	.list_item.item_width-half {
		grid-template-columns: 1fr;
	}

	.merit [class*='merit0'] .heading_m1 {
    align-items: flex-start;
		gap: 24px;
	}

  .merit [class*='merit0'] .heading_m1::before {
    top: -5px;
    height: 46px;
  }

	.merit .merit01 .heading_m1::before {
		width: 84px;
	}

	.merit .merit02 .heading_m1::before {
		width: 95px;
	}

	.merit .merit03 .heading_m1::before {
		width: 94px;
	}

	.merit .merit04 .heading_m1::before {
		width: 96px;
	}

	.merit .merit05 .heading_m1::before {
		width: 94px;
	}

	.merit [class*='merit0'] p {
		margin-top: 16px;
    padding-left: 28px;
	}
}