@charset "UTF-8";
@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
@keyframes fadeOut {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
	}
}
/* --------------------------------------------------------
* innovation
* -------------------------------------------------------*/
.u-img-noradius {
	border-radius: 0 !important;
}

.u-img-radius {
	border-radius: 15px !important;
}

@media (max-width: 767px) {
	.l-section .c-heading-secondary--iconcenter {
		justify-content: flex-start;
	}
}

.l-section--border:not(:last-of-type) {
	border-bottom: #E6E6E6 solid 1px;
	padding-bottom: 48px;
}
@media (min-width: 768px), print {
	.l-section--border:not(:last-of-type) {
		padding-bottom: 64px;
	}
}

@media (min-width: 1025px), print {
	.c-imageset--construction .c-imageset__image {
		flex-basis: fit-content;
	}
	.c-imageset--s .c-imageset__image {
		flex-basis: 31.25%;
		margin-right: 40px;
	}
}

.g-center-col--free .g-center-col__item {
	width: fit-content;
	margin-inline: auto;
}
@media (min-width: 1025px), print {
	.g-center-col--free .g-center-col__item {
		margin-inline: 0;
	}
}

@media (min-width: 768px), print {
	.c-movie-container {
		max-width: 840px;
		margin-inline: auto;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 40px;
	}
}
@media (max-width: 767px) {
	.c-movie-container__item + .c-movie-container__item {
		margin-top: 32px;
	}
}

.c-imagelist--fit {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 32px 16px;
	width: fit-content;
	margin-inline: auto;
}
.c-imagelist--fit .c-figure__caption {
	width: 0;
	min-width: 100%;
	word-break: break-word;
	overflow-wrap: break-word;
}
@media (min-width: 768px), print {
	.c-imagelist {
		display: flex;
		flex-wrap: wrap;
		gap: 40px;
	}
	.c-imagelist--fit {
		display: flex;
		margin-inline: 0;
	}
	.c-imagelist--fit .c-imagelist__item {
		width: fit-content;
	}
}
@media (max-width: 767px) {
	.c-imagelist__item {
		text-align: center;
		margin-inline: auto;
		width: fit-content;
	}
	.c-imagelist__item + .c-imagelist__item {
		margin-top: 32px;
	}
	.c-imagelist--fit .c-imagelist__item + .c-imagelist__item {
		margin-top: 0;
	}
}

.c-button__number {
	min-width: 24px;
	height: 24px;
	color: #FFF;
	background-color: var(--color-prim);
	border-radius: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 1.4rem;
	font-weight: 700;
	position: absolute;
	left: 0;
	top: 19px;
}
.c-button:has(.c-button__number) .c-button__inner {
	padding-left: 33px;
}
@media (min-width: 768px), print {
	.c-button__number {
		min-width: 27px;
		height: 27px;
		font-size: 1.6rem;
	}
	.c-button:has(.c-button__number) .c-button__inner {
		padding-left: 36px;
	}
	.c-button--half {
		width: calc((100% - 40px) / 2);
	}
}
@media (max-width: 1024px) and (min-width: 768px), print {
	.c-button--half {
		width: calc((100% - 32px) / 2);
	}
}

@media (min-width: 768px), print {
	.g-grid__item--sp:nth-child(7) {
		grid-area: 4/1/5/3;
	}
	.g-grid__item--sp .c-button--textlink {
		padding: 0 16px;
	}
}
@media (max-width: 767px) {
	.g-grid__item--sp + .g-grid__item--sp {
		margin-top: 32px;
	}
	.g-grid__item--sp .c-button--textlink {
		padding: 0 14px;
	}
}

@media (min-width: 768px), print {
	.g-grid--btn {
		gap: 56px 40px;
	}
}
@media (max-width: 1024px) and (min-width: 768px), print {
	.g-grid--btn {
		gap: 40px 32px;
	}
}

@media (min-width: 768px), print {
	.g-grid--half {
		gap: 0 40px;
	}
}
@media (max-width: 1024px) and (min-width: 768px), print {
	.g-grid--half {
		gap: 0 32px;
	}
}

.c-btnin-list {
	margin-top: 16px;
}

/* 地図内のボタン */
/* 丸数字 */
.el_number {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 27px;
	height: 27px;
	background-color: var(--color-prim);
	border-radius: 50%;
	color: #fff;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
}

.el_mapBtn {
	position: absolute;
	display: block;
	color: #fff !important;
	text-decoration: none !important;
	transition: 0.2s;
}

.el_mapBtn .el_number {
	border: 3px solid #fff;
	box-sizing: content-box;
}

@media (max-width: 767px) {
	.el_mapBtn .el_number {
		border: 2px solid #fff;
		width: 4vw;
		height: 4vw;
		font-size: 2.5vw;
	}
}
.el_mapBtn:hover {
	scale: 1.2;
	z-index: 1;
}

.el_mapBtn:hover .el_number {
	background-color: #005C02;
}

.bl_map {
	position: relative;
	max-width: 600px;
	margin: 0 auto;
}

#map01 {
	bottom: 7%;
	right: 31%;
}

#map02 {
	top: 15.5%;
	right: 14%;
}

#map03 {
	top: 38%;
	right: 30%;
}

#map04 {
	bottom: 14%;
	right: 27%;
}

#map05 {
	bottom: 10.25%;
	right: 36.5%;
}

#map06 {
	bottom: 8.5%;
	right: 34%;
}

#map07 {
	bottom: 15%;
	right: 45.5%;
}

#map08 {
	bottom: 20%;
	right: 15%;
}

#map09 {
	bottom: 10.25%;
	right: 29%;
}

#map10 {
	top: 36.5%;
	left: 36.25%;
}

#map11 {
	top: 19%;
	right: 37.5%;
}

#map12 {
	top: 44%;
	left: 28%;
}

#map12_2 {
	top: 23%;
	right: 39%;
}

#map13 {
	bottom: 11.5%;
	right: 4.8%;
}

#map14 {
	bottom: 9.5%;
	right: 4.8%;
}

#map15 {
	bottom: 7.5%;
	right: 4.8%;
}

#map16 {
	bottom: 5.5%;
	right: 4.8%;
}

#map17 {
	bottom: 3.5%;
	right: 4.8%;
}

#map18 {
	bottom: 1.5%;
	right: 4.8%;
}
/*# sourceMappingURL=construction-components.css.map */
