@charset "UTF-8";



.strength_text {
	font-size: clamp(0.938rem, 0.769rem + 0.35vw, 1rem);
	line-height: clamp(1.563rem, 0.72rem + 1.75vw, 1.875rem);
}
.strength_visual {
	display: flex;
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;

	aspect-ratio: 200/91;
}
.strength_visual img {
	width: 100%;

	object-fit: cover;
}
@media screen and (min-width: 768px) {
	.common_page-title {
		margin-bottom: 30px;
	}
	.strength_text {
		margin-bottom: 40px;
		text-align: center;
	}
	.strength_visual {
		margin-bottom: 60px;

		aspect-ratio: 200/91;
	}
	.strength_visual img {
		object-position: center;
	}
}
@media screen and (max-width: 767px) {
	.common_page-title {
		margin-bottom: 25px;
	}
	.strength_text {
		margin-bottom: 15px;
		padding: 0 30px;
		text-align: justify;
	}
	.strength_text br {
		display: none;
	}
	.strength_visual {
		margin-bottom: 35px;

		aspect-ratio: 2/1;
	}
	.strength_visual img {
		position: relative;
		left: 50%;
		transform: translateX(-50%);
		min-width: 530px;
		height: 100%;

		object-position: center 45%;
		aspect-ratio: 53 / 28;
	}
}


.strength_list {
	display: flex;
	width: 100%;
	flex-direction: column;
}

.strength_item-inner {
	display: flex;
	max-width: 1000px;
	margin: 0 auto;
	flex-direction: column;
}

.strength_head {
	display: flex;
	position: relative;
	max-width: 790px;
	width: 100%;
	column-gap: clamp(0.938rem, -2.431rem + 7.02vw, 2.188rem);
}
.strength_head-theme {
	display: flex;
	overflow: hidden;
	font-weight: 900;
	font-size: clamp(1.375rem, -0.309rem + 3.51vw, 2rem);
	line-height: clamp(2.375rem, -1.33rem + 7.72vw, 3.75rem);
	flex-direction: column;
}
.strength_head-contents {
	display: flex;
	flex-direction: column;

	row-gap: 10px;
}
.strength_head-text {
	font-size: 14px;
	line-height: 25px;
	text-align: justify;
}

#strength_word .strength_head-theme span:nth-of-type(2) {
	text-indent: -0.5em;
}
.strength_number {
	display: flex;
	margin-top: clamp(0rem, -5.053rem + 10.53vw, 1.875rem);
	background: linear-gradient(to bottom, #25a59b 0%, #16b971 0%, #13534e 100%);
	font-weight: 900;
	font-size: 190px;
	line-height: 212px;
	flex-direction: column;
	align-items: center;

	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.strength_number::before {
	display: block;
	min-width: 1.2245em;
	margin-bottom: -0.42em;
	background: linear-gradient(to bottom, #1dcf80 0%, #25a59b 100%);
	content: "";

	aspect-ratio: 2/1;
	mask-position: center top;
	-webkit-mask-position: center top;
	mask-image: url(../images1/strength_num-shade.png);
	-webkit-mask-image: url(../images1/strength_num-shade.png);
	mask-size: 100%;
	-webkit-mask-size: 100%;
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
}
.strength_item-title {
	display: flex;
}
.strength_title-bg {
	position: relative;
}
.strength_title-icon {
	max-width: 140px;
	width: 100%;
}
.strength_item-title h3 {
	display: flex;
	width: fit-content;
	font-weight: 900;
	font-size: clamp(1.25rem, -0.434rem + 3.51vw, 1.875rem);
	column-gap: clamp(0.313rem, -1.372rem + 3.51vw, 0.938rem);
	justify-content: center;
	align-items: center;
}

.strength_item-title h3::before , .strength_item-title h3::after {
	width: clamp(0.625rem, 0.288rem + 0.7vw, 0.75rem);
	border-radius: 100%;
	content: "";

	aspect-ratio: 1/1;
}

#strength_word .strength_item-title h3::before , #strength_word .strength_item-title h3::after {
	background-color: #1dadcf;
}
#strength_speed .strength_item-title h3::before , #strength_speed .strength_item-title h3::after {
	background-color: #3362c6;
}
#strength_technique .strength_item-title h3::before , #strength_technique .strength_item-title h3::after {
	background-color: #1dcf80;
}
.strength_title-help {
	max-width: 253px;
	min-width: 175px;
	width: 25.3%;

	aspect-ratio: 253/82;
}

.strength_voice-list {
	display: flex;
	max-width: 820px;
	width: 100%;
	margin: 0 auto;
	column-gap: clamp(0.938rem, -1.589rem + 5.26vw, 1.875rem);

	row-gap: 10px;
}
.strength_voice-item {
	display: flex;
	position: relative;
	width: calc(50% - clamp(0.469rem, -0.794rem + 2.63vw, 0.938rem));
	margin: 0 auto;
	border-width: 2px;
	border-style: solid;
	background-color: #ffffff;
	flex-direction: column;
	justify-content: center;

	row-gap: 10px;
}
.strength_voice-item::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 15px;
	content: "";

	clip-path: polygon(0 0, 0% 100%, 100% 0);
	aspect-ratio: 1/1;
}
#strength_word .strength_voice-item {
	border-color: #1acf80;
}
#strength_word .strength_voice-item::before {
	background: linear-gradient(to left bottom,	#1dcf80 0%, #3362c6 47.78%, #1dcf80 100%);
}
#strength_technique .strength_voice-item {
	border-color: #1dadcf;
}
#strength_technique .strength_voice-item::before {
	background: linear-gradient(to left bottom,	#1dadcf 0%, #1dcf80 49.02%, #1dadcf 100%);
}

.strength_voice-item p {
	font-weight: 500;
	font-size: clamp(0.875rem, 0.37rem + 1.05vw, 1.063rem);
	line-height: clamp(1.5rem, 0.658rem + 1.75vw, 1.813rem);
}.strength_voice-item span {
	display: inline-block;
	margin-left: auto;
	font-size: 14px;
	text-align: right;
}
.strength_speed-list {
	display: flex;
	position: relative;
	width: 100%;
	margin: 0 auto;
	align-items: center;
}
.strength_speed-list ul {
	display: flex;
	width: fit-content;
	font-weight: 500;
	font-size: clamp(0.875rem, 0.37rem + 1.05vw, 1.063rem);
	flex-direction: column;
}
.strength_speed-list li {
	display: flex;
	line-height: clamp(1.5rem, 0.153rem + 2.81vw, 2rem);
}
.strength_speed-list li::before {
	content: "・";
}
.strength_speed-precedent {
	display: flex;
	width: 100%;
	flex-direction: column;

	row-gap: 10px;
}
.strength_speed-precedent h4 {
	display: flex;
	width: 100%;
	font-size: clamp(0.938rem, -0.073rem + 2.11vw, 1.313rem);
	flex-direction: column;
}


.speed-precedent-list {
	display: flex;
	column-gap: 2.75%;
	flex-wrap: wrap;

	row-gap: 10px;
}
.speed_precedent-contents {
	display: flex;
	width: 100%;
	column-gap: 5px;
}
.speed_precedent-img {
	position: relative;
	z-index: 1;
}
.speed_precedent-img img {
	width: 100%;
}
.speed_precedent-text {
	display: flex;
	position: relative;
	width: 100%;
	font-size: clamp(0.875rem, 0.37rem + 1.05vw, 1.063rem);
	line-height: clamp(1.375rem, -0.141rem + 3.16vw, 1.938rem);
	flex-direction: column;
	justify-content: center;
}

.speed_precedent-text li {
	display: flex;
}
.speed_precedent-text li::before {
	content: attr(data-precedent-num);
}
.speed_precedent-item:not(:nth-last-of-type(1)) .speed_precedent-text::after {
	position: absolute;
	z-index: 5;
	background: linear-gradient(to right, #1dcf80 0%, #1dadcf 100%);
	content: "";

	mask-position: right top;
	-webkit-mask-position: right top;
	mask-size: 100%;
	-webkit-mask-size: 100%;
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
	mask-image: url(../images1/speed_precedent-arrow.png);
	-webkit-mask-image: url(../images1/speed_precedent-arrow.png);
	aspect-ratio: 11/5;
}

.technique_around-container {
	display: flex;
	max-width: 895px;
	width: 100%;
	margin: 0 auto;
	margin-bottom: 75px;
	flex-direction: column;

	row-gap: 10px;
}
.technique_around-title {
	display: flex;
	font-weight: 900;
	font-size: clamp(1.25rem, -0.434rem + 3.51vw, 1.875rem);
	column-gap: clamp(0.313rem, -1.372rem + 3.51vw, 0.938rem);
	align-items: center;
}
.technique_around-title::before {
	width: 12px;
	border-radius: 100%;
	background-color: #1dcf80;
	content: "";

	aspect-ratio: 1/1;
}
.technique_around-list {
	display: flex;
	position: relative;
	width: 100%;
}
.technique_around-list::after {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	max-width: 350px;
	width: 39.1062%;
	background-image: url(../images1/technique_around-arrow.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100%;
	content: "";

	aspect-ratio: 35/37;
}
.technique_around-item {
	position: relative;
	max-width: 440px;
}
#technique_around-after::after {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	background-image: url(../images1/technique_around-target.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100%;
	content: "";

	aspect-ratio: 44/35;
}

.technique_around-item img {
	width: 100%;
}


@media screen and (min-width: 768px) {
	#strength_word {
		position: relative;
		overflow: hidden;
		margin-bottom: 55px;
		padding-bottom: 160px;
	}
	#strength_word::before {
		display: block;
		position: absolute;
		bottom: 70px;
		left: 50%;
		z-index: -1;
		transform: translateX(-50%);
		width: calc(100% + 50px);
		height: calc(100% - 60px);
		background-color: rgba(29, 207, 128, 0.1);
		content: "";
		filter: blur(25.5px);
	}

	#strength_technique {
		position: relative;
		overflow: hidden;
		padding-top: 80px;
		padding-bottom: 170px;
	}
	#strength_technique::before , #strength_technique::after {
		display: block;
		position: absolute;
		left: 50%;
		z-index: -1;
		transform: translateX(-50%);
		content: "";
	}
	#strength_technique::before {
		top: 75px;
		width: calc(100% + 50px);
		height: 100%;
		background-color: rgba(29, 173, 207, 0.1);
		filter: blur(25.5px);
	}
	#strength_technique::after {
		top: 0;
		width: 2193px;
		color: #58d3f0;
		opacity: 0.15;
		font-family: "impact";
		font-weight: normal;
		font-size: 95px;
		line-height: 139px;
		text-align: center;
		letter-spacing: 0.2em;
		content: "around 700 requests per year. reliable skills proven in public works.";
	}
	.strength_item-inner {
		width: 95%;
	}
	#strength_word .strength_item-inner {
		padding-top: 50px;
	}
	.strength_item-inner {
		width: 95%;
	}
	#strength_word .strength_head {
		margin-bottom: 60px;
	}
	#strength_speed .strength_head {
		margin-bottom: 70px;
	}
	#strength_technique .strength_head {
		margin-bottom: 75px;
	}
	.strength_item-title {
		margin-bottom: 10px;
		justify-content: center;
	}
	.strength_title-bg {
		margin-bottom: 20px;
	}
	.strength_title-bg h3 {
		position: absolute;
		bottom: 20px;
	}
	.strength_title-help {
		position: absolute;
		bottom: 25px;
		left: calc(50% + 115px);

		aspect-ratio: 253/82;
	}
	.strength_voice-item {
		max-width: 395px;
		width: calc(50% - clamp(0.469rem, -0.794rem + 2.63vw, 0.938rem));
		min-height: 160px;
		padding: 10px 20px 10px 25px;

		row-gap: 10px;
	}
	.strength_speed-list {
		max-width: 600px;
		margin-bottom: 10px;
		padding: 10px 0 15px;
		justify-content: center;
	}
	.strength_speed-list::before {
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		width: 100%;
		height: 100%;
		background-color: #eafbff;
		content: "";
	}
	.speed_precedent-item {
		max-width: 315px;
		width: 31.5%;
	}
	.speed_precedent-contents {
		height: 100%;
		flex-direction: column;
		align-items: center;
	}
	.speed_precedent-img {
		max-width: 275px;
		width: 90%;
		margin-bottom: -30px;
		box-shadow: 5px 5px 0 rgba(139, 139, 139, 0.5);
	}
	.speed_precedent-text {
		min-height: 165px;
		height: 100%;
		padding: calc(30px + 30px) 15px 30px;
		border: 3px solid #3362c6;
		font-weight: bold;
		align-items: center;
	}
	.speed_precedent-item:not(:nth-last-of-type(1)) .speed_precedent-text::after {
		top: calc(50% + 15px);
		left: calc(100% - clamp(0.484rem, -0.021rem + 1.05vw, 0.672rem));
		transform: translateY(-50%);
		width: clamp(2.813rem, 1.128rem + 3.51vw, 3.438rem);
	}
	#strength_speed {
		position: relative;
		margin-bottom: 85px;
	}
	.strength_speed-bg {
		position: absolute;
		bottom: 155px;
		left: 50%;
		z-index: -1;
		transform: translateX(-50%);
		max-width: 2010px;
		width: 2010px;
		opacity: 0.2;
	}
	.strength_speed-bg img {
		width: 100%;
	}

	.technique_around-container {
		margin-bottom: 75px;

		row-gap: 10px;
	}
	.technique_around-list {
		column-gap: 15px;
	}
	.technique_around-item {
		width: calc(50% - 7.5px);
	}
	.common_contact-link {
		margin-top: 70px;
	}
}
@media screen and (max-width: 767px) {
	.strength_item:not(:nth-of-type(1)) {
		padding-top: 20px;
		border-top: 1px solid #c9c9c9;
	}
	#strength_word {
		margin-bottom: 55px;
	}
	.strength_item-inner {
		width: calc(100% - 60px);
	}
	.strength_head {
		padding-top: 25px;
		flex-direction: column;
	}
	#strength_word .strength_head {
		margin-bottom: 20px;
	}
	#strength_speed .strength_head {
		margin-bottom: 30px;
	}
	#strength_technique .strength_head {
		margin-bottom: 20px;
	}
	.strength_number {
		position: absolute;
		top: 0;
		right: -50px;
		z-index: -1;
		opacity: 0.1;
	}
	.strength_item-title {
		margin-bottom: 5px;
		align-items: flex-end;
	}
	.strength_speed-precedent h4 {
		margin-top: 10px;
	}
	.strength_title-bg {
		margin-bottom: 5px;
	}
	.strength_title-icon {
		display: none;
	}
	.strength_item-title h3::after {
		display: none;
	}
	.strength_title-help {
		margin-bottom: 5px;
	}

	.strength_voice-list {
		flex-direction: column;
	}
	.strength_voice-item {
		width: 100%;
		padding: 10px 15px 5px;

		row-gap: 5px;
	}
	.speed-precedent-list {
		flex-direction: column;
	}
	.speed_precedent-item {
		width: 100%;
	}
	.speed_precedent-img , .speed_precedent-text {
		width: calc(50% - 2.5px);
	}
	.speed_precedent-img {
		aspect-ratio: 32/23;
	}
	.speed_precedent-img img {
		height: 100%;

		object-fit: cover;
		object-position: center;
	}
	.speed_precedent-text {
		padding: 10px 10px;
		background-color: #efefef;
		font-weight: 500;
		text-align: justify;
	}
	.speed_precedent-item:not(:nth-last-of-type(1)) .speed_precedent-text::after {
		top: calc(100% - 2.5px);
		left: 50%;
		transform: translateX(-50%) rotateZ(90deg);
		transform-origin: center;
		width: 35px;
	}
	#strength_speed {
		margin-bottom: 55px;
	}
	.strength_speed-bg {
		display: none;
	}
	.technique_around-container {
		margin-bottom: 45px;

		row-gap: 25px;
	}
	.technique_around-list {
		column-gap: 5px;
	}
	.technique_around-item {
		width: calc(50% - 2.5px);

		aspect-ratio: 32/23;
	}
	.technique_around-item img {
		height: 100%;

		object-fit: cover;
		object-position: center;
	}
	.common_contact-link {
		margin-top: 40px;
	}
	.main_container {
		padding-bottom: 115px;
	}
}


