@charset "UTF-8";
/* ============================================ */
/* トップページ */
/* ============================================ */
.wrap-fv {
	height: 80vh;
	max-height: 70rem;
	min-height: 48rem;
	position: relative;
	display: flex;
	align-items: center;
}
@media screen and (min-width: 768px) {
.wrap-fv::before {
	content: '';
	width: 50%;
	height: 68%;
	background: linear-gradient(90deg, rgba(var(--blue-rgb), .3), rgba(var(--blue-rgb), .1));
	position: absolute;
	top: 0;
	left: 0;
	z-index:-2;
}
}
.wrap-fv::after {
	content: '';
	border-radius: 0 0 0 2em;
	width: 50%;
	height: 100%;
	background: url(/common/img/index_fv.jpg) center;
	background-size: cover;
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
}
.wrap-fv .con-inner {
	height: 100%;
	display: flex;
	flex-direction: column;
	max-width: var(--con-l);
}
.wrap-fv .headlig-fv {
	border-radius: .5em;
	color: var(--d-blue);
	font-size: 4rem;
	font-weight: bold;
	background: var(--white);
	position: relative;
	line-height: 1.5;
}
.wrap-fv .fv-logo {
	margin: auto 0 2em;
	max-width: 30rem;
	width: 25%;
}
@media (min-width: 768px) and (max-width: 1500px) {
.wrap-fv .headlig-fv {
font-size: calc(2.1rem + ((1vw - (768 / 100 * 0.1rem)) * 100 * (40 - 21) / (1500 - 768)));
	}
}
.wrap-fv .headlig-fv {
	display: block;
	width: 60%;
	margin: auto 0;
	padding: 1.5em 2em;
}
@media screen and (max-width: 767px) {
	.wrap-fv {
		flex-direction: column;
		height: inherit;
		max-height: inherit;
		overflow: hidden;
	}
	.wrap-fv::after {
		border-radius: 1.5rem 0 0 1.5rem;
		position: relative;
		display: block;
		width: calc(100% - 1em);
		margin-left: auto;
		min-height: 36rem;
	}
	.wrap-fv .con-inner {
		justify-content: flex-start;
	}
	.wrap-fv .headlig-fv {
		border-radius: 1.5rem;
		font-size: 5.25vw;
		margin: 1.5em 0;
		padding: 1.5em 1em;
		width: 100%;
	}
	.wrap-fv .headlig-fv::before {
	content: '';
	width: calc(100% + 2em);
	height: calc(100% + 3em);
	background: linear-gradient(90deg, rgba(var(--blue-rgb), .3), rgba(var(--blue-rgb), .1));
	position: absolute;
	top: -1.5em;
	left: -1em;
	z-index:-2;
}
	.wrap-fv .fv-logo {
		margin: 2em 0;
		width: 60%;
	}
}
.wrap-index h2 {
	color: var(--d-blue);
	font-size: 1.5em;
	font-weight: bold;
	text-align: center;
	width: 100%;
	margin-bottom: 1em;
}
.wrap-index .features {
	border-radius: 0 6vw 0 0;
	background: linear-gradient(90deg, rgba(var(--blue-rgb), .1), rgba(var(--blue-rgb), .3));
 	padding: 10vw 0;
	margin-top: 10rem;
}
.wrap-index .features section {
	background: var(--white);
	border-radius: 1.5rem;
	display: flex;
	flex-wrap: wrap;
	overflow: hidden;
	max-width: var(--con-l);
}
.wrap-index .features section:not(:last-child) {
	margin-bottom: 2em;
}
.wrap-index .features section > * {
	color: var(--d-blue);
	font-weight: bold;
	padding: 4%;
	width: 60%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.wrap-index .features section > h3 {
	background: var(--d-blue);
	color: var(--white);
	font-size: 1.75em;
	text-align: center;
	line-height: 1.4;
	width: 40%;
}
.wrap-index .features .list-dot > li {
	display: flex;
	padding-left: 0;
	align-items: baseline;
	justify-content: space-between;
}
.wrap-index .features .list-dot > li::before {
	position: relative;
	top: -.1em;
	left: inherit;
}
.wrap-index .features .list-dot > li > span {
	width: calc(100% - 1em);
}
@media screen and (max-width: 767px) {
	.wrap-index h2 {
/*		font-size: 2rem;*/
	}
	.wrap-index .features {
	border-radius: 0 3em 0 0;
		padding: 10rem 0;
	}
	.wrap-index .features section > h3 {
		font-size: 1.5em;
	}
	.wrap-index .features section > * {
		width: 100% !important;
	}
}
.wrap-index .origin {
	border-radius: 6vw 0 0 0;
	background: var(--white);
	padding: 10vw 0;
	text-align: center;
	position: relative;
}
.wrap-index .origin::after {
	content: '';
	width: 100%;
	height: 100%;
	background: rgba(var(--blue-rgb), .1);
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
.wrap-index .name {
	font-size: 4.2rem;
	font-weight: bold;
	margin-bottom: .5em;
}
.wrap-index .name-meaning {
	border: 1px solid var(--blue);
	padding: .75em 0 0 0;
	font-size: 1.35em;
	font-weight: bold;
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .75em 1em;
	max-width: 80rem;
}
.wrap-index .name-meaning p {
	margin-bottom: 0;
}
.wrap-index .name-meaning p:last-child {
	width: 100%;
	font-size: .8em;
	padding: .75em 1.5em;
	background: rgba(var(--blue-rgb), .2);
	font-weight: normal;
}
.wrap-index .name-meaning span {
	color: var(--blue);
	font-size: 1.75em;
}
@media screen and (max-width: 767px) {
	.wrap-index .origin {
	border-radius: 3em 0 0 0;
	padding: 10rem 0;
	}
	.wrap-index .name {
		font-size: 3.6rem;
	}
	.wrap-index .name-meaning {
		font-size: 1.25em;
		gap: 0 1em;
	}
	.wrap-index .name-meaning p:last-child {
		padding: .75em;
		margin-top: .5em;
	}
}
.wrap-index .pagelink {
	border-radius: 1.5em;
	display: flex;
	justify-content: center;
	padding: 8vw 4vw;
	margin: 0 2vw;
	gap: 1em 2%;
	position: relative;
	overflow: hidden;
}
.wrap-index .pagelink::before,
.wrap-index .pagelink::after {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
	.wrap-index .pagelink::before {
	background: rgba(var(--d-blue-rgb), .5);
	z-index: -1;
}
.wrap-index .pagelink::after {
	background: url(/common/img/index_menu.jpg) center;
	background-size: cover !important;
	z-index: -2;
}
.wrap-index .pagelink li {
	max-width: 600px;
	width: 49%;
}
.wrap-index .pagelink a {
	background: rgba(var(--black-rgb), .9);
	color: var(--white);
	display: block;
	font-size: 2.4rem;
	font-weight: bold;
	height: 100%;
	width: 100%;
	padding: 1.5em;
}
.wrap-index .pagelink a:hover {
	background: var(--white);
	color: var(--d-blue);
}
.wrap-index .pagelink a span {
	font-size: .6em;
	font-weight: normal;
	display: block;
}
@media screen and (max-width: 767px) {
	.wrap-index .pagelink {
		flex-direction: column;
		padding: 4em 1.5em;
	}
.wrap-index .pagelink::after {
	background: url(/common/img/index_menu_sp.jpg) center;
	}
	.wrap-index .pagelink li {
		width: 100%;
		margin: auto;
	}
	.wrap-index .pagelink a {
		font-size: 2rem;
	}
}

/* ============================================ */
/* 会社概要 */
/* ============================================ */
.warp-profile {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 4em !important;
}
.warp-profile dt,
.warp-profile dd {
	border-bottom: 1px solid var(--gray-c);
	padding: 1em;
}
.warp-profile dt {
	border-bottom: 1px solid var(--d-blue);
	color: var(--d-blue);
	text-align: center;
	width: 16em;
}
.warp-profile dd {
	width: calc(100% - 16em);
}
.wrap-map {
	display: block;
	position: relative;
	padding: 0;
	overflow: hidden;
	height: 80vh;
	max-height: 60rem;
}
.wrap-map iframe {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}
@media screen and (max-width: 767px) {
.warp-profile dt,
.warp-profile dd {
	border: none;
	width: 100%;
	text-align: left;
	padding: 0 .5em;
	}
	.warp-profile dt {
		font-weight: bold;
	}
		.warp-profile dd + dt {
	padding-top: .75em;
	}
	.warp-profile dd {
	padding-bottom: .75em;
	border-bottom: 1px solid var(--gray-c);
	}
}

/* ============================================ */
/* 取り扱い加工商材 */
/* ============================================ */
.product-download {
	display: flex;
	flex-wrap: wrap;
	gap:1em;
	font-size: .85em;
}
.product-download li {
	background: rgba(var(--blue-rgb), .2);
	width: calc((100% - 3em) / 4);
	text-align: center;
	padding: 2%;
}
.product-download li img {
	padding: 0 10% 1em 10%;
}
.product-download a {
	color: var(--white);
	background: var(--d-blue);
	border: 1px solid var(--d-blue);
	border-radius: 2em;
	display: block;
	padding: .75em .5em;
}
.product-download a:hover {
	color: var(--d-blue);
	background: var(--white);
}
@media screen and (max-width: 959px) {
	.product-download li {
	width: calc((100% - 1em) / 2);
		padding: 5% 3%;
	}
		.product-download li p {
			text-align: left;
	}
}