@charset "utf-8";
/* home
-------------------------------------------------------------------*/
.home [class*="wrap"] {
	position: relative;
	z-index: 0;
}
.sec_title {
	margin-bottom: 1.5em;
}
.sec_title .sec_en {
	font-size: 1.5rem;
	font-weight: 800;
	letter-spacing: 2px;
	position: relative;
	z-index: 0;
	margin: 0 0.25em 0.25em;
	color: var(--keycolor);
}
.sec_title .sec_h2 {
	font-size: min(2.5rem, 4vw);
	font-weight: 600;
	word-break: auto-phrase;
}
.sec_bg_text {
	font-size: min(12.68rem, 14vw);
	position: absolute;
	z-index: -1;
	margin: auto;
}
@media screen and (max-width:767px) {
	.sec_title {
		margin-bottom: 1.75em;
	}
	.sec_title .sec_en {
		font-size: 1.25rem;
	}
	.sec_title .sec_h2 {
		font-size: min(2rem, 7vw);
	}
}
.home .mv_wrap {
	padding: 6.25em 8%;
	text-align: left;
}
.home .mv_wrap .text_area .title_area .mv_subtitle {
	font-size: 2rem;
	font-weight: 600;
	color: #0c2f83;
	padding: 0.2em 1.25em;
	margin-bottom: 0.75em;
	display: inline-block;
	position: relative;
	z-index: 0;
	letter-spacing: 2px;
}
.home .mv_wrap .text_area .title_area .mv_subtitle::before {
	width: 100%;
	position: absolute;
	z-index: -1;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	transform: skewX(-15deg);
	content: "";
	background-color: #ffffff;
}
.home .mv_wrap .text_area .title_area .mv_title {
	font-size: 3.25rem;
	font-weight: 600;
	color: var(--white);
	margin-bottom: 1em;
}
.home .mv_wrap .text_area .title_area .mv_title em {
	font-size: 1.5em;
	letter-spacing: -1px;
}
.home .mv_wrap .text_area .title_area .mv_title em.text01 {
	color: #f13c3c;
}
.home .mv_wrap .text_area .title_area .mv_title .text02 {
	color: var(--yellow);
}
.home .mv_wrap .text_area .title_area .mv_title .att01 {
	font-size: 1.15em;
	display: inline-block;
	transform: translateY(-6px);
	margin-inline: -0.1em;
}
.home .mv_wrap .text_area .title_area .mv_title .att02 {
	font-size: 1.15em;
}
.home .mv_wrap .text_area .title_area .mv_title span {
	font-size: 1.3em;
	letter-spacing: 4px;
}
.home .mv_wrap .text_area .mv_list {
	display: flex;
	width: fit-content;
	margin-bottom: 2em;
	align-items: center;
	gap: 2.5em;
}
.home .mv_wrap .text_area .mv_list li {
	width: fit-content;
	font-size: 1.25rem;
	line-height: 1.6;
	font-weight: 600;
	color: var(--white);
	text-align: center;
	position: relative;
	z-index: 0;
	letter-spacing: 1.5px;
}
.home .mv_wrap .text_area .mv_list li:not(:last-child)::before {
	display: block;
	position: absolute;
	z-index: 1;
	content: "";
	width: 1px;
	height: 100%;
	transform: rotate(15deg);
	background: var(--white);
	margin: auto;
	inset: 0px -.875em auto auto;
}
.home .mv_wrap .text_area .mv_list li span {
	font-style: italic;
	font-size: 1.6rem;
	display: inline-block;
	margin-right: 0.5em;
	background: linear-gradient(0deg,
			#c68c14 20%,
			#f5e591 50%,
			#c68c14 80%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.home .mv_wrap .text_area .mv_list li span em {
	font-style: italic;
	font-size: 1.25em;
	background: linear-gradient(0deg,
			#c68c14 20%,
			#f5e591 50%,
			#c68c14 80%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.home .mv_wrap .text_area .mv_list li span em .pop {
	font-size: 1.3em;
	line-height: 1;
	background: linear-gradient(0deg,
			#c68c14 30%,
			#f5e591 50%,
			#c68c14 70%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.home .mv_wrap .mv_btn {
	width: fit-content;
	text-align: center;
}
.home .mv_wrap .mv_btn .btn_text {
	color: var(--yellow);
	font-size: 1.5rem;
	font-weight: 500;
	margin-bottom: 0.5em;
}
.home .mv_wrap .mv_btn .btn_text span {
	position: relative;
	z-index: 0;
	letter-spacing: 2px;
}
.home .mv_wrap .mv_btn .btn_text span::before,
.home .mv_wrap .mv_btn .btn_text span::after {
	display: block;
	position: absolute;
	z-index: 1;
	content: "";
	width: 2px;
	height: 1em;
	transform: rotate(-40deg);
	background: var(--yellow);
	margin: auto;
	inset: 7px auto auto -12px;
}
.home .mv_wrap .mv_btn .btn_text span::after {
	transform: rotate(40deg);
	inset: 7px -12px auto auto;
}
.home .mv_wrap .mv_btn .btn_cntact a {
	font-size: 1.5rem;
	display: flex;
	width: fit-content;
	min-width: 590px;
	border: solid 2px #ffffff;
	color: var(--white);
	font-weight: 600;
	letter-spacing: 1px;
	padding: 0.75em 3em;
	min-height: 80px;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 0;
	text-decoration: none;
	border-radius: 3px;
	transition: all 0.3s;
	background: linear-gradient(0deg,
			#d2161b 20%,
			#da4145 50%,
			#d2161b 80%);
	filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.5));
}
.home .mv_wrap .mv_btn .btn_cntact a::after {
	content: "";
	display: block;
	position: absolute;
	z-index: 0;
	margin: auto;
	inset: 0 26px 0 auto;
	width: 12px;
	height: 12px;
	border-top: solid 2px var(--white);
	border-right: solid 2px var(--white);
	transform: rotate(45deg);
	transition: color 0.3s;
}
.home .mv_wrap .mv_btn .btn_cntact a span {
	position: relative;
	z-index: 0;
	padding-left: 1em;
}
.home .mv_wrap .mv_btn .btn_cntact a span:before {
	position: absolute;
	z-index: 0;
	display: block;
	content: "";
	width: 30px;
	height: 21px;
	mask-image: url(../img/common/icon_mail.svg);
	background: var(--white);
	background-size: contain;
	mask-size: contain;
	margin: auto;
	inset: 0 auto 0 -1em;
}
.home .mv_wrap .mv_btn .btn_cntact a span em {
	color: var(--yellow);
}
@media (any-hover: hover) {
	.home .mv_wrap .mv_btn .btn_cntact a:hover {
		transform: translateY(5px);
		filter: none;
	}
}
.home .mv_wrap .img_area .bg01,
.home .mv_wrap .img_area .bg02 {
	position: absolute;
	z-index: -2;
	margin: auto;
	inset: 0 auto auto 0;
	height: 100%;
}
.home .mv_wrap .img_area .bg02 {
	inset: 0 0 auto auto;
	max-width: 56%;
	height: auto;
}
.home .mv_wrap .img_area .bg01 img,
.home .mv_wrap .img_area .bg02 img {
	object-fit: cover;
	height: 100%;
}
@media screen and (max-width:1750px) {
	.home .mv_wrap {
		padding: 6.25em 3%;
	}
}
@media screen and (max-width: 1400px) {
	.home .mv_wrap {
		padding: 5em 3%;
	}
	.home .mv_wrap .text_area .title_area .mv_title {
		font-size: 2.75rem;
		text-shadow: 1px 1px 3px #00000085;
	}
	.home .mv_wrap .text_area .mv_list {
		gap: 2em;
	}
	.home .mv_wrap .text_area .mv_list li {
		font-size: 1.125rem;
	}
	.home .mv_wrap .text_area .mv_list li {
		font-size: 1.25rem;
		letter-spacing: 0px;
	}
	.home .mv_wrap .text_area .mv_list li span {
		font-size: 1.35rem;
	}
	.home .mv_wrap .mv_btn .btn_cntact a {
		font-size: 1.35rem;
		min-width: 500px;
	}
	.home .mv_wrap .img_area .bg02 {
		inset: 0 -4% auto auto;
		max-width: 56%;
	}
}
@media screen and (max-width: 767px) {
	.home .mv_wrap {
		padding: 17em 15px 3em;
	}
	.home .mv_wrap .text_area .title_area .mv_subtitle {
		font-size: min(1.25rem, 8vw);
		letter-spacing: 1px;
	}
	.home .mv_wrap .text_area .title_area .mv_title {
		font-size: min(1.5rem, 6vw);
		text-shadow: 1px 1px 3px #00000085;
	}
	.home .mv_wrap .text_area .title_area .mv_title em {
		font-size: 1.5em;
		letter-spacing: 0;
	}
	.home .mv_wrap .text_area .title_area .mv_title .att01 {
		font-size: 1.15em;
		transform: translateY(-2px);
		margin-inline: 0em;
	}
	.home .mv_wrap .text_area .title_area .mv_title .att02 {
		font-size: 1.15em;
	}
	.home .mv_wrap .text_area .title_area .mv_title span {
		letter-spacing: 1px;
	}
	.home .mv_wrap .text_area .mv_list {
		display: flex;
		width: 100%;
		margin-bottom: 2em;
		align-items: center;
		gap: 4%;
	}
	.home .mv_wrap .text_area .mv_list li {
		width: calc(92% / 3);
		font-size: 1rem;
		letter-spacing: 0px;
		line-height: 1.4;
	}
	.home .mv_wrap .text_area .mv_list li:not(:last-child)::before {
		inset: 0px -.875em auto auto;
	}
	.home .mv_wrap .text_area .mv_list li span {
		font-style: italic;
		font-size: 1.2rem;
		display: inline-block;
		margin-right: 0;
		line-height: 1.2;
	}
	.home .mv_wrap .mv_btn .btn_text span::before,
	.home .mv_wrap .mv_btn .btn_text span::after {
		width: 1px;
		height: 16px;
		inset: 2px auto auto -12px;
	}
	.home .mv_wrap .mv_btn .btn_text span::after {
		inset: 2px -12px auto auto;
	}
	.home .mv_wrap .mv_btn {
		margin: auto;
	}
	.home .mv_wrap .mv_btn .btn_text {
		font-size: 1.25rem;
	}
	.home .mv_wrap .mv_btn .btn_text span {
		letter-spacing: 0;
	}
	.home .mv_wrap .mv_btn .btn_cntact {
		margin-inline: auto;
	}
	.home .mv_wrap .mv_btn .btn_cntact a {
		font-size: 1.125rem;
		width: 100%;
		min-width: unset;
		padding: 0.75em 3em;
		min-height: 66px;
	}
	.home .mv_wrap .mv_btn .btn_cntact a::after {
		inset: 0 16px 0 auto;
		width: 10px;
		height: 10px;
	}
	.home .mv_wrap .mv_btn .btn_cntact a span {
		position: relative;
		z-index: 0;
		padding-left: 1em;
	}
	.home .mv_wrap .mv_btn .btn_cntact a span:before {
		width: 26px;
		height: 18px;
	}
	.home .mv_wrap .img_area .bg01 {
		object-position: right;
	}
	.home .mv_wrap .img_area .bg02 {
		inset: -2% 0 auto auto;
		max-width: 500px;
		height: auto;
	}
}
@media screen and (max-width: 460px) {
	.home .mv_wrap .img_area .bg02 {
		max-width: 96%;
	}
}
.home .lead_wrap {
	padding-block: 4em;
}
.home .lead_wrap .lead_ttl {
	margin-bottom: 2em;
	text-align: center;
}
.home .lead_wrap .lead_ttl span {
	color: var(--keycolor);
	font-size: 1.5rem;
	font-weight: 600;
	border-bottom: 2px solid;
	display: inline-block;
	padding-bottom: 0.25em;
	margin-bottom: 0.75em;
}
.home .lead_wrap .lead_ttl em {
	font-size: 2.5rem;
	font-weight: 600;
}
.home .lead_wrap .lead_ttl em b {
	color: var(--keycolor);
	font-weight: 600;
}
.home .lead_wrap .lead_list {
	display: flex;
	justify-content: space-between;
	gap: 1.5em 3%;
}
.home .lead_wrap .lead_list .lead_item {
	width: calc(88% / 5);
	border: 1px solid var(--keycolor);
	padding: 1em;
	border-radius: 50%;
	aspect-ratio: 1/1;
	text-align: center;
	position: relative;
	z-index: 0;
}
.home .lead_wrap .lead_list .lead_item .item_check {
	position: absolute;
	z-index: 1;
	margin: auto;
	inset: 0.5em auto auto 1em;
}
.home .lead_wrap .lead_list .lead_item .item_icon {
	margin: 0.5em 0.5em 0.5em;
}
.home .lead_wrap .lead_list .lead_item:last-child .item_icon {
	transform: translateX(0.3em);
}
.home .lead_wrap .lead_list .lead_item .item_ttl {
	font-size: 1.125rem;
	font-weight: 500;
}
@media screen and (max-width:1240px) {
	.home .lead_wrap .lead_list {
		justify-content: center;
		gap: 1.5em 6%;
		flex-wrap: wrap;
		margin-inline: 10%;
	}
	.home .lead_wrap .lead_list .lead_item {
		width: calc(88% / 3);
		width: 212px;
	}
}
@media screen and (max-width:960px) {
	.home .lead_wrap .lead_list {
		gap: 1.5em 3%;
		margin-inline: 2%;
	}
}
@media screen and (max-width: 767px) {
	.home .lead_wrap {
		padding-block: 2.5em 3em;
	}
	.home .lead_wrap .lead_ttl {
		margin-bottom: 2em;
	}
	.home .lead_wrap .lead_ttl span {
		font-size: 1.25rem;
	}
	.home .lead_wrap .lead_ttl em {
		font-size: 1.75rem;
	}
	.home .lead_wrap .lead_list {
		justify-content: center;
		gap: 1em 4%;
		margin: 0;
	}
	.home .lead_wrap .lead_list .lead_item {
		border-radius: 1em;
		width: 48%;
		padding: 1em;
		aspect-ratio: auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		gap: 6%;
	}
	.home .lead_wrap .lead_list .lead_item .item_check {
		inset: -0.75em auto auto -0.5em;
		width: 30px;
	}
	.home .lead_wrap .lead_list .lead_item .item_icon {
		margin: 0em auto 0.5em;
		width: 100%;
		max-width: 60px;
	}
	.home .lead_wrap .lead_list .lead_item .item_ttl {
		font-size: 1rem;
		width: 100%;
	}
}
.home .feature_wrap {
	padding-block: 6em 2em;
	background: #eef0f3;
	overflow: hidden;
}
.home .feature_wrap::before {
	position: absolute;
	z-index: 1;
	margin: auto;
	inset: -1px 0 auto 0;
	display: block;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 3.5em 12em 0 12em;
	border-color: #ffffff transparent transparent transparent;
}
.home .feature_wrap .sec_bg_text {
	writing-mode: vertical-rl;
	color: #f8f9fa;
	inset: -0.25em auto auto 1%;
}
.home .feature_wrap .feature_ttl {
	margin-bottom: 1.5em;
	font-weight: 600;
	font-size: 2.5rem;
	text-align: center;
}
.home .feature_wrap .feature_ttl em {
	font-size: 2.875rem;
	color: var(--red);
	font-weight: 600;
	position: relative;
	z-index: 0;
	background-image: radial-gradient(circle at center, var(--red) 17%, transparent 17%);
	background-position: top right;
	background-repeat: repeat-x;
	background-size: 1em 0.3em;
	padding-top: .1em;
}
.home .feature_wrap .feature_ttl em::before {
	display: block;
	position: absolute;
	z-index: -1;
	content: "";
	width: 300px;
	height: 52px;
	background-image: url(../img/top/img_feature07.png);
	background-repeat: no-repeat;
	background-size: contain;
	margin: auto;
	inset: auto auto -21px -22px;
}
.home .feature_wrap .feature_lead {
	text-align: center;
	font-size: 1.125rem;
	margin-bottom: 4em;
}
.home .feature_wrap .feature_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 3em 4%;
	margin-bottom: 2.5em;
}
.home .feature_wrap .feature_list .feature_item {
	width: 48%;
	padding: 2em 5em;
	border-radius: 0.5em;
	background: var(--white);
	text-align: center;
	position: relative;
	z-index: 0;
}
.home .feature_wrap .feature_list .feature_item .item_num {
	position: absolute;
	z-index: 1;
	margin: auto;
	inset: -0.99em auto auto 1.25em;
}
.home .feature_wrap .feature_list .feature_item .item_ttl {
	margin-bottom: 1em;
	font-size: 1.5rem;
	font-weight: 600;
	word-break: auto-phrase;
}
.home .feature_wrap .feature_list .feature_item .item_ttl em {
	color: var(--red);
}
.home .feature_wrap .feature_list .feature_item .item_text {
	font-weight: 500;
	word-break: auto-phrase;
}
@media screen and (max-width: 1650px) {
	.home .feature_wrap .sec_bg_text {
		inset: -0.25em auto auto -5%;
	}
}
@media screen and (max-width: 1240px) {
	.home .feature_wrap .feature_list {
		gap: 3em 2%;
	}
	.home .feature_wrap .feature_list .feature_item {
		width: 49%;
		padding: 3em 4.4em;
	}
	.home .feature_wrap .feature_list .feature_item .item_num {
		width: 80px;
		inset: -0.85em auto auto 1em;
	}
}
@media screen and (max-width: 767px) {
	.home .feature_wrap {
		padding-block: 3em 3em;
	}
	.home .feature_wrap::before {
		border-width: 2em 5em 0 5em;
	}
	.home .feature_wrap .feature_ttl {
		margin-bottom: 0.5em;
		font-size: 2rem;
	}
	.home .feature_wrap .feature_ttl em {
		font-size: 2.25rem;
	}
	.home .feature_wrap .feature_ttl em::before {
		width: 210px;
		height: 36px;
		inset: auto auto -6px -6px;
	}
	.home .feature_wrap .feature_lead {
		text-align: left;
		font-size: 1rem;
		margin-bottom: 2.5em;
	}
	.home .feature_wrap .feature_list {
		margin-bottom: 2.5em;
		gap: 2em;
	}
	.home .feature_wrap .feature_list .feature_item {
		width: 100%;
		padding: 1.5em 1em;
		text-align: left;
	}
	.home .feature_wrap .feature_list .feature_item .item_num {
		width: 64px;
		inset: -0.7em auto auto 1em;
	}
	.home .feature_wrap .feature_list .feature_item .item_ttl {
		margin-left: 3em;
		font-size: 1.35rem;
		word-break: unset;
	}
}
.home .products_wrap {
	padding-block: 8em 5.5em;
}
.home .products_wrap::before {
	background-image: url(../img/top/bg_products01.jpg);
	background-size: cover;
	background-position: center;
	position: absolute;
	z-index: -1;
	margin: auto;
	inset: 0 0 auto;
	display: block;
	content: "";
	width: 100%;
	height: 37%;
}
.home .products_wrap .sec_bg_text {
	color: #ffffff00;
	-webkit-text-stroke: 1px #ffffff2e;
	text-stroke: 1px #ffffff2e;
	paint-order: stroke;
	inset: 0.2em auto auto 50%;
	transform: translateX(-50%);
}
.home .products_wrap .sec_title {
	color: #fff;
	margin-bottom: 5em;
}
.home .products_wrap .sec_title .sec_en {
	color: #fff;
}
.home .products_wrap .products_list {
	display: flex;
	flex-wrap: wrap;
	gap: 2.5em 3.5%;
	margin-bottom: 3em;
}
.home .products_wrap .products_list .products_item {
	width: calc((100% - 7%) /3);
}
.home .products_wrap .products_list .products_item article {
	height: 100%;
}
.home .products_wrap .products_list .products_item a {
	height: 100%;
	text-decoration: none;
	display: block;
	border-radius: .5em;
	overflow: hidden;
	position: relative;
	z-index: 0;
}
.home .products_wrap .products_list .products_item a .img_area {
	overflow: hidden;
}
.home .products_wrap .products_list .products_item a .img_area .products_img {
	aspect-ratio: 370 / 240;
}
.home .products_wrap .products_list .products_item a .img_area img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s;
}
.home .products_wrap .products_list .products_item a .text_area {
	position: absolute;
	z-index: 1;
	margin: auto;
	inset: auto 0 0.5em 0.5em;
}
.home .products_wrap .products_list .products_item a .text_area .products_cat {
	display: flex;
	gap: 0.5em;
	flex-wrap: wrap;
	margin-bottom: 0.25em;
}
.home .products_wrap .products_list .products_item a .text_area .products_cat span {
	display: inline-block;
	width: fit-content;
	background: var(--white);
	border-radius: 0.2em;
	color: var(--keycolor);
	font-size: 0.875rem;
	font-weight: 500;
	padding: 0.15em .5em;
	text-align: center;
}
.home .products_wrap .products_list .products_item a .text_area .products_title {
	color: var(--white);
	font-weight: 500;
	font-size: 1.rem;
}
@media (any-hover: hover) {
	.home .products_wrap .products_list .products_item a:hover .img_area img {
		transform: scale(1.05);
	}
}
.home .products_wrap .bnr_area {
	margin-top: 6em;
	border-radius: 0 0.5em 0.5em 0;
	background-image: linear-gradient(114deg, rgb(210 22 27) 36%, rgb(26 58 143) 36%);
	padding: 1em 1.5em;
	position: relative;
	z-index: 0;
	display: flex;
	gap: 3%;
	align-items: center;
}
.home .products_wrap .bnr_area .bnr_add {
	position: absolute;
	z-index: 1;
	background: var(--yellow);
	border: 1px solid;
	color: var(--keycolor);
	font-weight: 600;
	border-radius: 50%;
	padding: 1.1em;
	text-align: center;
	margin: auto;
	aspect-ratio: 1/1;
	inset: -1.5em -1.5em auto auto;
	line-height: 1.2;
	display: flex;
	align-items: center;
	justify-content: center;
}
.home .products_wrap .bnr_area .bnr_add span {
	font-size: 0.875rem;
}
.home .products_wrap .bnr_area .bnr_add span em {
	font-size: 2rem;
}
.home .products_wrap .bnr_area .title_area {
	width: 25%;
	padding: 0.5em 1.5em;
}
.home .products_wrap .bnr_area .title_area .bnr_title {
	color: var(--yellow);
	font-size: 1.25rem;
	font-weight: 500;
	border-bottom: 1px solid;
	display: inline-block;
	padding-bottom: 0.25em;
	margin-bottom: 0.75em;
}
.home .products_wrap .bnr_area .title_area .bnr_subtitle {
	font-size: 2rem;
	color: var(--white);
	font-weight: 600;
	letter-spacing: 1px;
	line-height: 1.6;
}
.home .products_wrap .bnr_area .text_area {
	width: 72%;
	background: var(--white);
	border-radius: 0.5em;
	padding: 2em;
	display: flex;
	justify-content: center;
	gap: 4%;
}
.home .products_wrap .bnr_area .text_area .bnr_tel {
	padding-left: 3em;
	padding-right: 2em;
	border-right: 1px solid #d2d2d2;
	line-height: 1;
}
.home .products_wrap .bnr_area .text_area .bnr_tel .bnr_lead,
.home .products_wrap .bnr_area .text_area .bnr_tel span {
	font-weight: 600;
	margin-bottom: 0.5em;
	font-feature-settings: 'palt';
}
.home .products_wrap .bnr_area .text_area .bnr_tel a {
	position: relative;
	z-index: 0;
	font-size: 2.8rem;
	display: block;
	font-weight: 600;
	line-height: 1;
	color: var(--keycolor);
	text-align: left;
	text-decoration: none;
	margin-bottom: 0.1em;
	margin-left: -0.1em;
}
.home .products_wrap .bnr_area .text_area .bnr_tel a::before {
	position: absolute;
	z-index: 0;
	display: block;
	content: "";
	width: 46px;
	height: 46px;
	background-image: url(../img/common/icon_tel.png);
	background-size: contain;
	mask-size: contain;
	margin: auto;
	inset: -0.05em auto auto -1.2em;
}
.home .products_wrap .bnr_area .text_area .bnr_tel span {
	line-height: 1.2;
}
.home .products_wrap .bnr_area .text_area .common_btn {
	margin: 0.5em;
	display: flex;
	justify-content: center;
	align-items: center;
}
@media screen and (max-width: 1240px) {
	.home .products_wrap .bnr_area {
		border-radius: 0.5em;
		flex-direction: column;
	}
	.home .products_wrap .bnr_area .bnr_add {
		inset: -1.5em -1em auto auto;
	}
	.home .products_wrap .bnr_area .bnr_add span {
		font-size: 0.875rem;
	}
	.home .products_wrap .bnr_area .bnr_add span em {
		font-size: 2rem;
	}
	.home .products_wrap .bnr_area .title_area {
		width: 100%;
		text-align: center;
		margin-bottom: 1em;
	}
	.home .products_wrap .bnr_area .title_area .bnr_subtitle {
		text-align: center;
	}
	.home .products_wrap .bnr_area .title_area .bnr_subtitle br {
		display: none;
	}
	.home .products_wrap .bnr_area .text_area {
		width: 100%;
		max-width: 890px;
		padding: 2em 1em;
	}
}
@media screen and (max-width: 767px) {
	.home .products_wrap {
		padding-block: 3em 4em;
	}
	.home .products_wrap::before {
		height: 20%;
	}
	.home .products_wrap .sec_bg_text {
		inset: 0.75em auto auto 50%;
	}
	.home .products_wrap .sec_title {
		margin-bottom: 2em;
	}
	.home .products_wrap .products_list {
		display: flex;
		flex-wrap: wrap;
		gap: 1em 4%;
		margin-bottom: 2em;
	}
	.home .products_wrap .products_list .products_item {
		width: 48%;
	}
	.home .products_wrap .bnr_area {
		margin-top: 4em;
		background-image: linear-gradient(170deg, rgb(210 22 27) 46%, rgb(26 58 143) 46%);
		padding: 1.5em 1em;
	}
	.home .products_wrap .bnr_area .bnr_add {
		padding: 0.75em;
		inset: -1em -1em auto auto;
	}
	.home .products_wrap .bnr_area .bnr_add span em {
		font-size: 1.5rem;
	}
	.home .products_wrap .bnr_area .title_area {
		padding: 0.5em 0;
	}
	.home .products_wrap .bnr_area .title_area .bnr_subtitle {
		font-size: 1.5rem;
	}
	.home .products_wrap .bnr_area .text_area {
		padding: 1.5em 1em;
		gap: 2em;
		flex-direction: column;
	}
	.home .products_wrap .bnr_area .text_area .bnr_tel {
		padding-left: 0;
		padding-right: 0;
		border-right: none;
		text-align: center;
	}
	.home .products_wrap .bnr_area .text_area .bnr_tel .bnr_lead {
		font-size: 1.125rem;
	}
	.home .products_wrap .bnr_area .text_area .bnr_tel a {
		font-size: 2.5rem;
		margin-bottom: 0.25em;
		margin-left: 1.3em;
	}
	.home .products_wrap .bnr_area .text_area .bnr_tel a::before {
		width: 32px;
		height: 32px;
		inset: -0.025em auto auto -1em;
	}
	.home .products_wrap .bnr_area .text_area .common_btn {
		margin: auto;
	}
}
.home .works_wrap {
	background: #f2f2f2;
	padding-block: 6em 3em;
}
.home .works_wrap .sec_bg_text {
	color: #ffffff;
	inset: 0.05em 0 auto;
}
.home .works_wrap .sec_title {
	margin-bottom: 5em;
}
.home .works_wrap .works_list {
	display: flex;
	gap: 1em 3.5%;
	margin-bottom: 3em;
}
.home .works_wrap .works_list .works_item {
	width: calc((100% - 7%) /3);
}
.home .works_wrap .works_list .works_item article {
	height: 100%;
}
.home .works_wrap .works_list .works_item a {
	height: 100%;
	text-decoration: none;
	display: block;
	border-radius: 0.35em;
	overflow: hidden;
	background: #fff;
	filter: drop-shadow(3px 5px 5px rgba(0, 0, 0, 0.05));
}
.home .works_wrap .works_list .works_item a img {
	transition: transform 0.3s;
}
@media (any-hover: hover) {
	.home .works_wrap .works_list .works_item a:hover img {
		transform: scale(1.05);
	}
}
.home .works_wrap .works_list .works_item .img_area {
	position: relative;
	z-index: 0;
}
.home .works_wrap .works_list .works_item .img_area .works_img {
	overflow: hidden;
	aspect-ratio: 370 / 240;
}
.home .works_wrap .works_list .works_item .img_area .works_img img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.home .works_wrap .works_list .works_item .img_area .works_cat {
	position: absolute;
	z-index: 1;
	background: #5f5a4f;
	inset: 0 auto auto 0;
	border-radius: 0 0 0.5em 0;
	color: #fff;
	font-size: 0.875rem;
	font-weight: 500;
	padding: 0.5em 1.5em;
	/* min-width: 9em; */
}
.home .works_wrap .works_list .works_item .text_area {
	padding: 1em;
}
.home .works_wrap .works_list .works_item .works_title {
	font-size: 1rem;
	font-weight: 600;
	margin-bottom: 1em;
}
.home .works_wrap .works_list .works_item .works_tags {
	display: flex;
	gap: 0.5em;
	flex-wrap: wrap;
}
.home .works_wrap .works_list .works_item .works_tags span {
	display: inline-block;
	width: fit-content;
	background: #eef0f3;
	border: 2px solid #dadada;
	border-radius: 0.2em;
	color: var(--kaycolor);
	font-size: 0.875rem;
	font-weight: 500;
	padding: 0.15em .5em;
	/* text-align: center; */
}
.home .works_wrap .common_btn a {
	margin-inline: auto;
}
@media screen and (max-width:767px) {
	.home .works_wrap {
		padding-block: 3em 3em;
	}
	.home .works_wrap .sec_bg_text {
		inset: .75em 0 auto;
	}
	.home .works_wrap .sec_title {
		margin-bottom: 2em;
	}
	.home .works_wrap .works_list {
		margin-bottom: 2em;
		gap: 1em 4%;
	}
	.home .works_wrap .works_list .works_item {
		width: 48%;
	}
	.home .works_wrap .works_list .works_item article {
		height: 100%;
	}
	.home .works_wrap .works_list .works_item:nth-child(3) {
		display: none;
	}
	.home .works_wrap .works_list .works_item .text_area {
		padding: 1em 0.5em;
	}
}
.column_wrap {
	padding-block: 4em 0;
}
.column_wrap .sec_bg_text {
	color: #f7f7f7;
	max-width: 1200px;
	inset: 0.05em auto auto calc(50% - 610px);
}
.column_wrap .column_inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.column_wrap .ttl_area {
	margin-bottom: 2em;
}
.column_wrap .sec_title .sec_en {
	text-align: left;
}
.column_wrap .common_btn {
	margin-right: 0;
}
.column_wrap .column_list {
	display: flex;
	flex-wrap: wrap;
	gap: 0 3%;
	order: 1;
	padding: 0;
}
.column_wrap .column_list .column_item:first-child,
.column_wrap .column_list .column_item:nth-child(2) {
	border-top: 1px solid #d2d2d2;
}
.column_wrap .column_list .column_item {
	width: 48.5%;
	border-bottom: 1px solid #d2d2d2;
	margin-block: 0;
}
.column_wrap .column_list .column_item article {
	height: 100%;
}
.column_wrap .column_list .column_item a {
	text-decoration: none;
	display: flex;
	gap: 4%;
	padding-block: 2em;
	transition: background .3s;
	color: unset;
	height: 100%;
}
.column_wrap .column_list .column_item a .img_area {
	width: 194px;
}
.column_wrap .column_list .column_item a .img_area .column_img {
	aspect-ratio: 194 / 130;
	overflow: hidden;
	border-radius: 0.5rem;
}
.column_wrap .column_list .column_item a .img_area .column_img img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	transition: transform .3s;
}
.column_wrap .column_list .column_item a .text_area {
	width: calc(96% - 194px);
}
.column_wrap .column_list .column_item a .column_time {
	color: #d2d2d2;
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 1px;
	margin-bottom: 0.5em;
}
.column_wrap .column_list .column_item a .column_ttl {
	margin-bottom: 0.5em;
	line-height: 1.8;
	transition: color .3s;
}
@media (any-hover: hover) {
	.column_wrap .column_list .column_item a:hover {
		background: #f7f7f7;
	}
	.column_wrap .column_list .column_item a:hover .column_ttl {
		color: var(--keycolor);
	}
	.column_wrap .column_list .column_item a:hover .img_area .column_img img {
		transform: scale(1.05);
	}
}
@media screen and (max-width:1240px) {
	.column_wrap .sec_bg_text {
		inset: 0.05em auto auto 0;
	}
}
@media screen and (max-width:767px) {
	.column_wrap {
		padding-block: 3em 0;
	}
	.column_wrap .column_inner {
		justify-content: center;
		flex-direction: column;
	}
	.column_wrap .sec_bg_text {
		inset: 0.75em 0 auto 0;
	}
	.column_wrap .ttl_area {
		margin-bottom: 0em;
		justify-content: center;
	}
	.column_wrap .sec_title .sec_en {
		text-align: center;
	}
	.column_wrap .common_btn {
		margin-right: auto;
	}
	.column_wrap .column_list {
		flex-wrap: wrap;
		margin-bottom: 1em;
		order: 0;
		padding: 0;
	}
	.column_wrap .column_list .column_item:nth-child(2) {
		border-top: none;
	}
	.column_wrap .column_list .column_item {
		width: 100%;
	}
	.column_wrap .column_list .column_item a {
		text-decoration: none;
		display: flex;
		gap: 4%;
		padding-block: 1.5em 1em;
	}
	.column_wrap .column_list .column_item a .img_area {
		width: 35%;
	}
	.column_wrap .column_list .column_item a .text_area {
		width: 61%;
	}
	.column_wrap .column_list .column_item a .column_time {
		margin-bottom: 0;
	}
	.column_wrap .column_list .column_item a .column_ttl {
		line-height: 1.6;
	}
}
.home .other_wrap {
	padding-block: 4em 5em;
}
.home .other_wrap .other_inner {
	display: flex;
	justify-content: center;
	gap: 3%;
}
.home .other_wrap .other_inner a {
	max-width: 456px;
	display: flex;
	flex-direction: column;
	/* gap: 0.25em; */
	text-align: center;
	justify-content: center;
	background-image: url(../img/top/img_faq01.jpg);
	background-size: 100%;
	background-position: center;
	transition: scale 0.3s;
	color: #fff;
	width: calc(50% - 0.5px);
	aspect-ratio: 450/ 204;
	padding: 2em;
	font-size: 1.5rem;
	font-weight: 500;
	text-decoration: none;
	transition: background-size 0.3s;
	border-radius: 0.5rem;
}
.home .other_wrap .other_inner .btn_about {
	background-image: url(../img/top/img_about01.jpg);
}
.home .other_wrap .other_inner a span {
	display: block;
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 0.5px;
}
@media (any-hover: hover) {
	.home .other_wrap .other_inner a:hover {
		background-size: 105%;
	}
}
@media screen and (max-width:767px) {
	.home .other_wrap {
		padding-block: 2em 3em;
	}
	.home .other_wrap .other_inner {
		gap: 1em;
		flex-direction: column;
		align-items: center;
	}
	.home .other_wrap .other_inner a {
		width: 86%;
		aspect-ratio: 450/ 180;
		padding: 1em;
		font-size: 1.4rem;
	}
}
.contact_wrap {
	padding-inline: 2%;
	background-image: linear-gradient(0deg, rgb(22 37 46) 54%, rgb(255 255 255) 36%);
}
.contact_wrap .sec_h2 {
	text-align: center;
	color: #fff;
	margin: 0;
}
.contact_wrap .sec_en {
	line-height: 1.4;
}
.contact_wrap .contact_area {
	max-width: 1720px;
	background: var(--keycolor);
	margin: auto;
	padding: 3.25em 4em;
	border-radius: 0.5em;
	position: relative;
	z-index: 1;
	overflow: hidden;
}
.contact_wrap .sec_bg_text {
	z-index: -1;
	color: #304d99;
	inset: auto 0 -0.4em;
	line-height: 1.4;
}
.contact_wrap .sec_title,
.contact_wrap .sec_title .sec_en,
.contact_wrap .contact_text {
	color: var(--white);
}
.contact_wrap .contact_text {
	font-size: 1.125rem;
	font-weight: 500;
	margin: 0;
	line-height: 1.4;
}
.contact_wrap .bnr_add {
	position: absolute;
	z-index: 1;
	background: var(--yellow);
	border: 1px solid;
	color: var(--keycolor);
	font-weight: 600;
	border-radius: 50%;
	padding: 1.25em;
	text-align: center;
	margin: auto;
	aspect-ratio: 1/1;
	inset: 2.5em calc(50% - 26.5em) auto auto;
	line-height: 1.2;
	display: flex;
	align-items: center;
	justify-content: center;
}
.contact_wrap .bnr_add span em {
	font-size: 2.25rem;
}
.contact_wrap .text_area {
	max-width: 1000px;
	margin: 2em auto 0;
	background: var(--white);
	border-radius: 0.5em;
	padding: 2em;
	display: flex;
	gap: 2em 3%;
	justify-content: center;
	align-items: center;
}
.contact_wrap .text_area .bnr_tel {
	padding-left: 3em;
	text-align: left;
	padding-right: 2.5em;
	border-right: 1px solid #d2d2d2;
	line-height: 1;
}
.contact_wrap .text_area .bnr_tel .bnr_lead,
.contact_wrap .text_area .bnr_tel span {
	font-weight: 500;
	margin-bottom: 0.5em;
	font-feature-settings: 'palt';
}
.contact_wrap .text_area .bnr_tel .bnr_lead {
	font-weight: 600;
	line-height: 1;
}
.contact_wrap .text_area .bnr_tel a {
	position: relative;
	z-index: 0;
	font-size: 2.8rem;
	display: block;
	font-weight: 600;
	line-height: 1;
	color: var(--keycolor);
	text-align: left;
	text-decoration: none;
	margin-bottom: 0.1em;
	margin-left: -0.1em;
	/* line-height: 1.4; */
}
.contact_wrap .text_area .bnr_tel a::before {
	position: absolute;
	z-index: 0;
	display: block;
	content: "";
	width: 46px;
	height: 46px;
	background-image: url(../img/common/icon_tel.png);
	background-size: contain;
	mask-size: contain;
	margin: auto;
	inset: -0.05em auto auto -1.2em;
}
.contact_wrap .text_area .bnr_tel span {
	line-height: 1.2;
}
.contact_wrap .text_area .contact_btn {
	margin: 0 1em;
}
@media screen and (max-width:1010px) {
	.contact_wrap .contact_area {
		padding: 3.25em 2em;
	}
	.contact_wrap .text_area {
		padding: 2em 1em 2em 2em;
		gap: 2em 2%;
	}
	.contact_wrap .text_area .bnr_tel {
		padding-left: 2em;
		padding-right: 1em;
	}
	.contact_wrap .bnr_add {
		inset: 2em calc(50% - 21em) auto auto;
	}
	.contact_wrap .common_btn.contact_btn a {
		min-width: 270px;
	}
	.contact_wrap .text_area .bnr_tel a {
		font-size: 2.4rem;
	}
	.contact_wrap .text_area .bnr_tel a::before {
		width: 40px;
		height: 40px;
	}
}
@media screen and (max-width:767px) {
	.contact_wrap {
		padding-inline: 15px;
	}
	.contact_wrap .contact_area {
		padding: 2em 1em;
	}
	.contact_wrap .bnr_add {
		padding: 0.5em;
		inset: .5em 0.25em auto auto;
	}
	.contact_wrap .bnr_add span em {
		font-size: 1.5rem;
	}
	.contact_wrap .text_area {
		margin: 2em auto 0;
		padding: 2.5em 1em;
		flex-direction: column;
	}
	.contact_wrap .text_area .bnr_tel {
		padding-left: 0;
		text-align: center;
		border: none;
	}
	.contact_wrap .text_area .bnr_tel a {
		font-size: 2.5rem;
		text-align: center;
		margin-left: 1em;
		margin-bottom: 0.25em;
	}
	.contact_wrap .text_area .bnr_tel a::before {
		width: 36px;
		height: 36px;
	}
}