body {
	color: #000;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 700;
	line-height: 1.5;
}

body.js-open {
	height: 100%;
	overflow: hidden;
}

main {
	flex: 1;
	position: relative;
	z-index: 2;
}

.wrap-bg {
	display: flex;
	flex: 1;
	flex-direction: column;
}

.main-wrap {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	overflow: hidden;
}

.u-desktop {
	display: block;
}

.u-mobile {
	display: none;
}

/* リキッドレイアウト対応 */

html {
	font-size: 16px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

/* Remove default padding */

ul,
ol {
	padding: 0;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
	margin: 0;
}

/* Set core root defaults */

html {
	scroll-behavior: smooth;
}

/* Set core body defaults */

body {
	line-height: 1.5;
	min-height: 100vh;
	text-rendering: optimizeLegibility;
}

/* Remove list styles on ul, ol elements with a class attribute */

ul,
ol {
	list-style: none;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
	-webkit-text-decoration-skip: ink;
	text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img {
	display: block;
	height: auto;
	max-width: 100%;
	width: 100%;
}

/* Natural flow and rhythm in articles by default */

article > * + * {
	margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
	font: inherit;
}

/* Blur images when they have no alt attribute */

img:not([alt]) {
	filter: blur(10px);
}

/* フォームリセット */

input,
button,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	font: inherit;
	outline: none;
}

textarea {
	resize: vertical;
}

input[type=checkbox],
input[type=radio] {
	display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
	cursor: pointer;
}

select::-ms-expand {
	display: none;
}

/* ホバー */

a {
	-webkit-text-decoration: none;
	color: inherit;
	text-decoration: none;
	transition: opacity 0.3s;
}

.about {
	margin-bottom: 5rem;
	margin-top: 1.875rem;
	padding-top: 4.375rem;
}

.about__inner.inner {
	max-width: 1250px;
}

.about__body {
	align-items: end;
	display: flex;
	justify-content: space-between;
}

.about__wrap {
	max-width: 50rem;
	width: 66.6666666667%;
}

.about__txt {
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 2;
}

.about__btn {
	margin-top: 2.8125rem;
	max-width: 17.5rem;
}

.about__title {
	max-width: 22.75rem;
	width: 29.12%;
}

.company {
	margin-bottom: 6.25rem;
	margin-top: 5.5625rem;
}

.company__sub-title {
	color: #0057c4;
	font-size: 2.5rem;
	letter-spacing: 0.2em;
	position: relative;
	text-align: center;
}

.company__sub-title::after {
	background-color: #0057c4;
	bottom: 0.3125rem;
	content: "";
	height: 5px;
	left: 0;
	position: absolute;
	width: 100%;
	z-index: -1;
}

.contact-check {
	cursor: pointer;
	display: flex;
	justify-content: center;
	margin: 2.5rem auto 0;
}

.contact-check label {
	position: relative;
}

.contact-check [type=checkbox] {
	left: 0;
	opacity: 0;
	position: absolute;
	top: 0;
}

.wpcf7-list-item-label {
	padding-left: 1.875rem;
	position: relative;
}

.wpcf7-list-item-label::before:hover {
	border: 0.125rem solid #ccc;
}

.wpcf7-list-item-label::before,
.wpcf7-list-item-label::after {
	content: "";
	position: absolute;
	transition: 0.2s;
}

.wpcf7-list-item-label::before {
	border: 0.0625rem solid #ccc;
	height: 1.375rem;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1.375rem;
}

.wpcf7-list-item-label::after {
	border-bottom: 0.125rem solid #0095d8;
	border-right: 0.125rem solid #0095d8;
	height: 0.8125rem;
	left: 0.375rem;
	opacity: 0;
	top: 43%;
	transform: translateY(-50%) rotate(45deg);
	width: 0.5625rem;
}

.contact-check [type=checkbox]:checked + .wpcf7-list-item-label::after {
	opacity: 1;
}

.contact-check [type=checkbox]:focus + .wpcf7-list-item-label::after {
	outline: 0.1875rem solid #ccc;
}

.contact-check [type=checkbox]:checked:focus + .wpcf7-list-item-label::after {
	outline: none;
}

.entry {
	padding-bottom: 12.0625rem;
	padding-top: 6.25rem;
}

.entry__inner.inner {
	max-width: 1280px;
}

.entry__body {
	color: #0095d8;
	padding-top: 5.5625rem;
	position: relative;
	text-align: center;
}

.entry__body::before {
	aspect-ratio: 1180/303;
	background: transparent url(../images/recruit/entry-bg.webp) no-repeat center center/cover;
	content: "";
	left: 0;
	max-width: 73.75rem;
	position: absolute;
	top: 0;
	width: 100%;
}

.entry__lead {
	position: relative;
}

.entry__mainTl {
	display: inline-block;
	font-size: 4.0625rem;
	font-weight: 900;
	line-height: 1.4461538462;
	padding-right: 3.75rem;
	position: relative;
}

.entry__mainTl::before,
.entry__mainTl::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.entry__mainTl::before {
	background-color: #0095d8;
	border-radius: 50%;
	height: 3.5625rem;
	right: 0;
	width: 3.5625rem;
}

.entry__mainTl::after {
	background: transparent url(../images/common/ico-page.webp) no-repeat center center/cover;
	height: 1.375rem;
	right: 0.9375rem;
	width: 1.375rem;
}

.entry__txt {
	font-size: 1.25rem;
	line-height: 2;
}

.flow {
	margin-top: 2.75rem;
	padding-bottom: 4.5rem;
	padding-left: 25px;
	padding-right: 25px;
	padding-top: 2.875rem;
}

.flow__bg.inner {
	max-width: 1720px;
}

.flow__bg {
	background-color: #fff;
	padding-bottom: 6.1875rem;
	padding-top: 1.875rem;
}

.flow__inner.inner {
	max-width: 1250px;
}

.flow__innerWrap {
	margin: 6.25rem auto 0;
	max-width: 56.25rem;
}

.flow__layout {
	grid-column-gap: 2.125rem;
	-moz-column-gap: 2.125rem;
	column-gap: 2.125rem;
	display: grid;
	grid-template-columns: 5rem 1fr;
}

.flow__layout:first-child {
	padding-bottom: 1.875rem;
}

.flow__layout + .flow__layout {
	margin-top: 1.6875rem;
	padding-top: 1.875rem;
}

.flow__side--bottom {
	margin-top: 1.875rem;
}

.flow__label {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 1.875rem 1.5rem;
	width: 5rem;
}

.flow__label--material {
	background-color: #0057c4;
	border-radius: 2.5rem 2.5rem 0 0;
	justify-content: flex-end;
}

.flow__label--construction {
	background-color: #0095d8;
	border-radius: 0 0 2.5rem 2.5rem;
}

.flow__label-img {
	-o-object-fit: cover;
	max-width: 1.9375rem;
	object-fit: cover;
	position: relative;
}

.flow__label--material .flow__label-img {
	padding-bottom: 1.9375rem;
}

.flow__label--construction .flow__label-img {
	padding-top: 1.9375rem;
}

.flow__label--material .flow__label-img::after,
.flow__label--construction .flow__label-img::after {
	background: transparent url(../images/common/arrow-vertical-white.webp) no-repeat center center/cover;
	content: "";
	height: 1.5rem;
	left: 50%;
	position: absolute;
	width: 1.5rem;
}

.flow__label--material .flow__label-img::after {
	bottom: 0;
	transform: translateX(-50%);
}

.flow__label--construction .flow__label-img::after {
	top: 0;
	transform: translateX(-50%) rotate(180deg);
}

.flow__head {
	grid-column-gap: 6.25rem;
	-moz-column-gap: 6.25rem;
	column-gap: 6.25rem;
	display: grid;
	grid-template-columns: 17.875rem 1fr;
}

.flow__head-title {
	color: #0057c4;
	font-size: 1.5625rem;
	line-height: 1.6;
	margin: 0;
}

.flow__head-title--right {
	text-align: right;
}

.flow__list {
	margin-top: 1.875rem;
}

.flow__item {
	grid-column-gap: 1.8125rem;
	-moz-column-gap: 1.8125rem;
	align-items: start;
	column-gap: 1.8125rem;
	display: grid;
	grid-template-columns: 17.875rem 2.625rem 1fr;
}

.flow__item--blue {
	align-items: end;
}

.flow__item + .flow__item {
	margin-top: 1.25rem;
}

.flow__col--left {
	text-align: right;
}

.flow__col--right {
	text-align: left;
}

.flow__title {
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.5;
	margin: 0;
	position: relative;
	z-index: 2;
}

.flow__text {
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.625;
	margin-top: 0.375rem;
}

.flow__center {
	display: flex;
	justify-content: center;
	position: relative;
}

.flow__item:not(.flow__item--nobrder):not(.flow__item--blue) .flow__center {
	padding-bottom: 5.3125rem;
}

.flow__item--blue .flow__center {
	padding-top: 7.125rem;
}

.flow__item:not(.flow__item--nobrder) .flow__center::after {
	content: "";
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 0.125rem;
}

.flow__item:not(.flow__item--blue) .flow__center::after {
	background: #0057c4;
	bottom: 0;
	height: 5rem;
}

.flow__item--blue .flow__center::after {
	background: #0095d8;
	height: 6.25rem;
	top: 0;
}

.flow__step {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 0.125rem;
	margin: 0;
	position: relative;
	z-index: 1;
}

.flow__step-work {
	display: block;
	max-width: 2.5rem;
}

.flow__step-number {
	color: #0057c4;
	display: block;
	font-size: 1.5625rem;
	line-height: 1;
}

.flow__step-number--blue {
	color: #0095d8;
}

.flow__divider {
	border-top: 0.125rem dotted #0057c4;
	width: 100%;
}

.flow__bottom {
	padding-top: 1.875rem;
}

.form-row {
	width: 100%;
}

.form-row__text {
	font-size: 1rem;
	font-weight: 500;
	margin-bottom: 0.625rem;
}

.form-row__required {
	position: relative;
}

.form-row__required::after {
	color: #ff463e;
	content: "必須";
	display: inline-block;
	font-size: 0.75rem;
	margin-left: 0.25rem;
	text-align: center;
	width: 2.5625rem;
}

.form-row__privacy {
	text-align: center;
}

input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: #fff;
	border: none;
	border-radius: 0;
	box-shadow: none;
	color: inherit;
	font-family: inherit;
	outline: none;
	transition: all 0.3s ease 0s;
	width: 100%;
}

[type=submit]:hover {
	opacity: 0.7;
}

[type=text],
[type=email],
[type=tel],
textarea {
	background-color: #fff;
	border: 1px solid #bdbdbd;
	font-size: 1rem;
	height: 100%;
	padding: 0.9375rem 1.0625rem;
	width: 100%;
}

textarea {
	min-height: 19.1875rem;
}

::-moz-placeholder {
	color: #ccc;
	font-weight: 500;
}

::placeholder {
	color: #ccc;
	font-weight: 500;
}

.form-rows__item + .form-rows__item {
	margin-top: 2.5rem;
}

.fv__bg {
	aspect-ratio: 1920/1080;
	background: transparent url(../images/top/fv.webp) no-repeat center center/cover;
	height: 100%;
	position: relative;
	width: 100%;
}

.fv__inner.inner {
	height: 100%;
	max-width: 120rem;
	position: relative;
}

.fv__title {
	position: absolute;
	right: 5.2083333333%;
	top: 16.1111111111%;
	width: 52.0833333333%;
}

.fv__border-box {
	border-bottom: 0.75rem solid #0095d8;
	border-top: 0.625rem solid #fff;
	bottom: 1.5625rem;
	height: 10.6481481481%;
	left: 0;
	position: absolute;
	width: 100%;
	z-index: 1;
}

.fv__border {
	bottom: 3.25rem;
	left: 0;
	max-width: 61.8125rem;
	position: absolute;
	width: 51.5104166667%;
	z-index: 2;
}

.group-company {
	margin-top: -4.6875rem;
	overflow: visible;
	padding-top: 6.875rem;
	position: relative;
}

.group-company__body {
	display: flex;
	gap: 6.4375rem;
	justify-content: space-between;
	margin-top: 5.4375rem;
}

.group-company__title {
	position: relative;
}

.group-company__txt {
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 2;
}

.group-company__lead {
	max-width: 17.5rem;
}

.label-list__item {
	border-bottom: 0.09375rem solid #80caec;
}

.label--blue.label-list__item {
	border-bottom: 0.09375rem solid #80abe1;
}

.label {
	display: flex;
	font-size: 1rem;
	font-weight: 400;
	gap: 1.5rem;
	line-height: 2.25;
	padding: 1.875rem 0rem;
}

.label--blue .label__left::before {
	background-color: #0057c4;
}

.label__left {
	padding-left: 1.3em;
	position: relative;
	width: 7.5rem;
}

.label__left::before {
	background-color: #0095d8;
	content: "";
	height: 1em;
	left: 0;
	position: absolute;
	top: 0.6875rem;
	width: 1em;
}

.label__right {
	width: calc(100% - 7.5rem - 1.5rem);
}

/* _member.scss */

.member {
	padding-bottom: 6.875rem;
	padding-top: 2.0625rem;
}

.member__title {
	color: #fff000;
	font-size: 3.75rem;
	letter-spacing: 0.1em;
	line-height: 1;
	text-align: center;
	text-transform: uppercase;
}

.member__wrap-inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 56.25rem;
}

.member__frame {
	border: 0.3125rem solid #fff000;
	box-shadow: 0.75rem 0.75rem 0 #fff000;
	margin-top: -0.375rem;
	padding: 3.9375rem 1.875rem 2.8125rem;
	position: relative;
}

.member__frame + .member__frame {
	margin-top: 5.625rem;
}

.member__frame--bottom::before,
.member__frame--bottom::after {
	background: transparent url(../images/recruit/line.webp) no-repeat center center/cover;
	content: "";
	height: 8.75rem;
	position: absolute;
	top: -7.125rem;
	width: 0.625rem;
	z-index: 2;
}

.member__frame--bottom::before {
	right: 5.75rem;
}

.member__frame--bottom::after {
	left: 5.75rem;
}

.member__grid {
	grid-gap: 3.25rem;
	align-items: start;
	display: grid;
	gap: 3.25rem;
	grid-template-columns: 28.125rem 1fr;
	position: relative;
}

.member__left {
	max-width: 28.125rem;
}

.member__right {
	padding-top: 2rem;
}

.member__profile {
	align-items: baseline;
	display: flex;
	justify-content: space-between;
}

.member__name {
	font-size: 1.5625rem;
	line-height: 1.6;
	padding-bottom: 0.8125rem;
}

.member__career {
	font-size: 1.25rem;
	line-height: 1.15;
}

.member__line {
	background: #fff000;
	height: 0.125rem;
	position: absolute;
	right: 0;
	top: 4.875rem;
	width: 38.125rem;
	z-index: -1;
}

.member__qa {
	grid-gap: 2.125rem;
	display: grid;
	gap: 2.125rem;
	margin-top: 1.25rem;
}

.member__q {
	align-items: start;
	display: flex;
	font-size: 1.25rem;
	gap: 0.3125rem;
	line-height: 1.5;
	margin-bottom: 1.3125rem;
}

.member__qicon {
	align-items: center;
	background: #fff000;
	border-radius: 50%;
	color: #fff;
	display: grid;
	font-size: 0.9375rem;
	height: 1.875rem;
	justify-items: center;
	line-height: 1;
	place-items: center;
	width: 1.875rem;
}

.member__a {
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.625;
}

.member__bottom {
	margin-top: 0.875rem;
}

.not-found {
	margin-top: -4.6875rem;
	padding-bottom: 6.3125rem;
	padding-top: 7.75rem;
	position: relative;
}

.not-found__txt {
	margin-top: 3.5rem;
	text-align: center;
}

.not-found__btn {
	margin: 3rem auto 0;
	max-width: 17.5rem;
}

.other {
	margin-top: 2.75rem;
	padding-left: 25px;
	padding-right: 25px;
	padding-top: 2.875rem;
}

.other__bg.inner {
	max-width: 1200px;
}

.other__bg {
	background-color: #fff;
	padding-bottom: 9.375rem;
	padding-top: 1.875rem;
}

.other__innerWrap {
	margin-left: auto;
	margin-right: auto;
	max-width: 56.25rem;
}

.other__title {
	position: relative;
	z-index: 2;
}

.other__list {
	margin-top: 5.5625rem;
}

.other__content + .other__content {
	margin-top: 5.5625rem;
}

.other__sub-title {
	color: #0095d8;
	font-size: 2.5rem;
	position: relative;
	text-align: center;
}

.other__sub-title::after {
	background-color: #0095d8;
	bottom: 0.3125rem;
	content: "";
	height: 5px;
	left: 0;
	position: absolute;
	width: 100%;
	z-index: 0;
}

.other__sub-body {
	margin-top: 0.625rem;
}

.our-work-card {
	-webkit-text-decoration: none;
	color: inherit;
	display: block;
	text-decoration: none;
}

.our-work-card__img {
	aspect-ratio: 382/300;
}

.our-work-card--reason .our-work-card__img {
	aspect-ratio: 575/481;
}

.our-work-card__img img {
	-o-object-fit: cover;
	border-radius: 1rem 1rem 0 0;
	height: 100%;
	object-fit: cover;
}

.our-work-card__meta {
	margin-top: 1rem;
	padding-top: 1.125rem;
	position: relative;
}

.our-work-card--reason .our-work-card__meta {
	margin-top: 1.3125rem;
}

.our-work-card__meta::before {
	content: "";
	height: 0.125rem;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.our-work-card:not(.our-work-card--reason) .our-work-card__meta::before {
	background: #0095d8;
}

.our-work-card--reason .our-work-card__meta::before {
	background: #fff;
}

.our-work-card__badge {
	align-items: center;
	display: inline-flex;
	flex-direction: column;
	gap: 0.125rem;
	left: 50%;
	padding-left: 0.625rem;
	padding-right: 0.625rem;
	position: absolute;
	top: -1.125rem;
	transform: translateX(-50%);
}

.our-work-card--reason .our-work-card__badge {
	aspect-ratio: 67/83;
	padding-left: 0.875rem;
	padding-right: 0.875rem;
	top: -2.5rem;
	width: 5.625rem;
}

.our-work-card__badge::before {
	border-radius: 50%;
	content: "";
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
}

.our-work-card:not(.our-work-card--reason) .our-work-card__badge::before {
	background-color: #fff;
	height: 5rem;
	top: -0.5625rem;
	width: 5rem;
}

.our-work-card--reason .our-work-card__badge::before {
	background-color: #0057c4;
	height: 7.5rem;
	top: -1rem;
	width: 7.5rem;
}

.our-work-card__badge img {
	position: relative;
	z-index: 2;
}

.our-work-card:not(.our-work-card--reason) .our-work-card__badge img {
	margin-left: auto;
	margin-right: auto;
	max-width: 2.5rem;
}

.our-work-card__badge-num {
	color: #0095d8;
	display: block;
	font-size: 1.5625rem;
	line-height: 1;
	position: relative;
	z-index: 2;
}

.our-work-card__title {
	font-size: 1.5625rem;
	position: relative;
	text-align: center;
	z-index: 2;
}

.our-work-card:not(.our-work-card--reason) .our-work-card__title {
	font-weight: 500;
	letter-spacing: -0.088em;
	margin-top: 0.375rem;
	white-space: nowrap;
}

.our-work-card--reason .our-work-card__title {
	color: #fff;
	margin-top: 1.4375rem;
}

.our-work {
	padding-bottom: 4.375rem;
	padding-top: 4.375rem;
}

.our-work__inner.inner {
	max-width: 1770px;
}

.our-work__inner {
	position: relative;
}

.our-work__frame {
	background-color: #fff;
	margin-top: -0.5rem;
	padding: 3.125rem 2.9375rem 2.9375rem;
	position: relative;
}

.our-work__frame::before,
.our-work__frame::after {
	content: "";
	position: absolute;
}

.our-work__frame::before {
	border: 0.3125rem solid #fff000;
	bottom: 0rem;
	left: 0rem;
	pointer-events: none;
	right: 0rem;
	top: 0rem;
}

.our-work__frame::after {
	background-color: #fff000;
	bottom: -0.625rem;
	height: 100%;
	right: -0.625rem;
	width: 100%;
	z-index: -1;
}

.our-work__heading {
	text-align: center;
}

.our-work__heading-text {
	color: #fff000;
	display: inline-block;
	font-size: 3.75rem;
	letter-spacing: 0.1em;
	line-height: 1;
}

.our-work__list {
	grid-gap: 1.9375rem;
	display: grid;
	gap: 1.9375rem;
	grid-template-columns: repeat(4, 1fr);
}

.our-work__item {
	min-width: 0;
}

.reason {
	padding-bottom: 6.25rem;
	position: relative;
}

.reason::before {
	aspect-ratio: 510/150;
	background: transparent url(../images/kenzai/line--reason.webp) no-repeat center center/cover;
	content: "";
	left: 0;
	max-width: 31.875rem;
	position: absolute;
	top: 4.75rem;
	width: 26.5625%;
	z-index: 0;
}

.reason__title {
	color: #fff;
	font-size: 5rem;
	font-weight: 900;
	line-height: 1.7;
	text-align: right;
}

.reason__title span {
	border-bottom: 0.625rem solid #fff000;
	color: #fff000;
	font-size: 6.25rem;
}

.reason__list {
	display: flex;
	gap: 3.125rem;
	margin-top: 5.5625rem;
	position: relative;
	z-index: 2;
}

.reason__item {
	width: calc(50% - 1.5625rem);
}

.recruit {
	background-color: #0095d8;
	padding-top: 6.25rem;
}

.recruit__bg {
	background-color: #fff;
	overflow: visible;
	padding-bottom: 3.125rem;
	padding-top: 3.125rem;
	position: relative;
}

.recruit__inner.inner {
	max-width: 89.6875rem;
	padding-right: 0;
}

.recruit__body {
	align-items: end;
	display: flex;
	gap: 3.3125rem;
	justify-content: space-between;
}

.recruit__wrap {
	width: 40.4255319149%;
}

.recruit__img {
	max-width: 50rem;
	width: 56.7375886525%;
}

.recruit__title {
	position: relative;
}

.recruit__txt {
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 2;
	margin-top: 2rem;
}

.recruit__btn {
	margin-top: 2.8125rem;
	max-width: 17.5rem;
}

.sub-about {
	border-bottom: 0.75rem solid #0095d8;
	margin-top: -4.6875rem;
	overflow: visible;
	padding-bottom: 6.3125rem;
	padding-top: 7.75rem;
	position: relative;
}

.sub-about::after {
	aspect-ratio: 620/20;
	background: transparent url(../images/common/line.webp) no-repeat center center/cover;
	bottom: 1.25rem;
	content: "";
	left: 0;
	max-width: 38.75rem;
	position: absolute;
	width: 32.2916666667%;
}

.sub-about__body {
	align-items: end;
	display: flex;
	justify-content: space-between;
	margin-top: -3.9375rem;
}

.sub-about__title {
	position: relative;
}

.sub-about__txt {
	font-size: 1rem;
	font-weight: 400;
	line-height: 2.25;
	padding-bottom: 2.625rem;
}

.sub-about__lead {
	max-width: 31.25rem;
}

.sub-about__company {
	margin-top: 9.375rem;
}

.sub-about__sub-title {
	color: #0095d8;
	font-size: 2.5rem;
	letter-spacing: 0.1em;
	position: relative;
	text-align: center;
}

.sub-about__sub-title::after {
	background-color: #0095d8;
	bottom: 0.3125rem;
	content: "";
	height: 5px;
	left: 0;
	position: absolute;
	width: 100%;
	z-index: -1;
}

.ub-about__label {
	margin-top: -0.3125rem;
}

.sub-about__map-wrap {
	margin-top: 6.25rem;
}

.sub-about__map {
	aspect-ratio: 1200/600;
	max-width: 75rem;
	position: relative;
}

.sub-about__map iframe {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.sub-about__map-wrap a {
	color: #0095d8;
	display: block;
	font-size: 0.75rem;
	font-weight: 400;
	line-height: 3;
	margin-top: 2.9375rem;
	text-align: center;
}

.sub-contact {
	margin-top: -4.6875rem;
	overflow: visible;
	padding-bottom: 6.3125rem;
	padding-top: 7.75rem;
	position: relative;
}

.sub-contact__form {
	margin-top: 5.75rem;
}

.sub-contact__bottom {
	border: 0.0625rem solid #bdbdbd;
	height: 12.5rem;
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.5rem;
	overflow: scroll;
	padding: 1.5rem 1rem;
	width: 80%;
}

.sub-contact__btn {
	background-color: #fff000;
	border-radius: 3.125rem;
	color: #0095d8;
	cursor: pointer;
	display: inline-block;
	font-size: 1.25rem;
	letter-spacing: 0.2em;
	line-height: 1.15;
	max-width: 56.25rem;
	padding: 1.1875rem 1.5625rem 1.375rem;
	position: relative;
	text-align: center;
	transition: all 0.3s ease 0s;
	width: 100%;
}

.sub-contact__submit {
	margin: 2.5rem auto 0;
	max-width: 31.25rem;
	position: relative;
}

.sub-contact__submit::before,
.sub-contact__submit::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.sub-contact__submit::before {
	background-color: #0095d8;
	border-radius: 50%;
	height: 2.5rem;
	right: 0.9375rem;
	width: 2.5rem;
	z-index: 1;
}

.sub-contact__submit::after {
	background: transparent url(../images/common/arrow-white.webp) no-repeat center center/cover;
	height: 0.75rem;
	right: 1.6875rem;
	width: 0.75rem;
	z-index: 2;
}

.wpcf7-spinner {
	display: none;
}

.sub-our-work {
	margin-bottom: 6.25rem;
	margin-top: -4.6875rem;
	padding-top: 7.75rem;
}

.sub-our-work__body {
	margin-left: auto;
	margin-right: auto;
	margin-top: 5.75rem;
	max-width: 1970px;
	padding-bottom: 6.5rem;
	position: relative;
}

.sub-our-work__body::after {
	border-bottom: 0.3125rem solid #fff000;
	border-left: 0.3125rem solid #fff000;
	border-right: 0.3125rem solid #fff000;
	bottom: 0;
	box-shadow: 0.75rem 0.75rem 0 #fff000;
	content: "";
	height: 96.9474969475%;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 62.5%;
	z-index: -1;
}

.sub-our-work__item {
	align-items: center;
	display: flex;
	gap: 3.9007092199%;
	justify-content: flex-end;
	position: relative;
}

.sub-our-work__item + .sub-our-work__item {
	padding-top: 10.875rem;
}

.sub-our-work__item:nth-of-type(even) {
	flex-direction: row-reverse;
}

.sub-our-work__content {
	max-width: 22.8125rem;
}

.sub-our-work__heading {
	position: relative;
}

.sub-our-work__item:nth-of-type(odd) .sub-our-work__heading {
	padding-left: 1.5rem;
}

.sub-our-work__item:nth-of-type(even) .sub-our-work__heading {
	padding-right: 1.5rem;
	text-align: right;
}

.sub-our-work__heading::after {
	background-color: #0095d8;
	content: "";
	height: 2px;
	position: absolute;
	top: 70%;
	transform: translateY(-50%);
	width: 24rem;
}

.sub-our-work__item:nth-of-type(odd) .sub-our-work__heading::after {
	right: -50%;
}

.sub-our-work__item:nth-of-type(even) .sub-our-work__heading::after {
	left: -50%;
}

.sub-our-work__en {
	max-width: 4.625rem;
}

.sub-our-work__item:nth-of-type(even) .sub-our-work__en {
	margin-left: auto;
}

.sub-our-work__number {
	color: #0095d8;
	font-size: 4.5625rem;
	line-height: 1;
}

.sub-our-work__sub-title {
	font-size: 3.125rem;
	letter-spacing: 0.2em;
	margin-top: 0.1875rem;
}

.sub-our-work__item:nth-of-type(even) .sub-our-work__sub-title {
	text-align: right;
}

.sub-our-work__item:last-child .sub-our-work__sub-title {
	letter-spacing: 0.04em;
}

.sub-our-work__text {
	font-size: 1rem;
	font-weight: 400;
	line-height: 2.25;
	margin-top: 1.5625rem;
}

.sub-our-work__image {
	max-width: 62.5rem;
	position: relative;
	width: 70.9219858156%;
}

.sub-our-work__item:nth-of-type(2)::before,
.sub-our-work__item:nth-of-type(4)::before {
	background: transparent url(../images/our-work/line.webp) no-repeat center center/cover;
	content: "";
	height: 8.3125rem;
	left: 0;
	position: absolute;
	top: 0;
	width: 40.625rem;
}

.sub-recruit {
	margin-top: -4.6875rem;
	overflow: visible;
	padding-top: 7.75rem;
	position: relative;
}

.sub-recruit__body {
	display: flex;
	gap: 3.3125rem;
	justify-content: space-between;
	margin-top: 4.875rem;
}

.sub-recruit__title {
	position: relative;
}

.sub-recruit__txt {
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 2;
}

.sub-recruit__lead {
	max-width: 13.625rem;
}

.sub-service {
	border-bottom: 0.75rem solid #0057c4;
	margin-top: 1.5rem;
	padding-bottom: 9.8125rem;
	position: relative;
}

.sub-service::before,
.sub-service::after {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	left: 0;
	position: absolute;
}

.sub-service::before {
	aspect-ratio: 693/308;
	background-image: url(../images/kenzai/line--service.webp);
	max-width: 43.3125rem;
	top: 12.0625rem;
	width: 36.09375%;
	z-index: 2;
}

.sub-service::after {
	aspect-ratio: 620/20;
	background-image: url(../images/common/line.webp);
	bottom: 1.25rem;
	max-width: 38.75rem;
	width: 32.2916666667%;
}

.sub-service__title {
	color: #0057c4;
	font-size: 3.75rem;
	letter-spacing: 0.1em;
	line-height: 1;
	text-align: center;
	text-transform: uppercase;
}

.sub-service__frame {
	border: 0.3125rem solid #0057c4;
	box-shadow: 1.1875rem 0.625rem 0 #0057c4;
	margin-top: -0.375rem;
	padding: 5.1875rem 1.875rem 9.375rem;
	position: relative;
}

.sub-service__wrap-inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 56.25rem;
}

.sub-service__content + .sub-service__content {
	margin-top: 4.5625rem;
}

.sub-service__content--right {
	text-align: right;
}

.sub-service__sub-title {
	color: #0057c4;
	font-size: 3.75rem;
	letter-spacing: 0.1em;
	line-height: 1.1666666667;
}

.sub-service__txt {
	font-size: 1.25rem;
	font-weight: 400;
	margin-top: 1.25rem;
}

.sub-service__image {
	margin-top: 1.875rem;
	max-width: 56.25rem;
}

.sub-work {
	margin-bottom: 6.25rem;
	margin-top: -4.6875rem;
	padding-top: 7.75rem;
}

.sub-work__body {
	margin-top: 5.75rem;
}

.sub-work__list {
	grid-column-gap: 1.875rem;
	-moz-column-gap: 1.875rem;
	grid-row-gap: 5.8125rem;
	column-gap: 1.875rem;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin-bottom: 6.25rem;
	margin-top: 6.25rem;
	row-gap: 5.8125rem;
}

.sub-work__thumbs img {
	border-top-left-radius: 0.875rem;
	border-top-right-radius: 0.875rem;
}

.sub-work__meta {
	border: 0.09375rem solid #0095d8;
	border-radius: 1.25rem;
	display: flex;
	font-size: 0.75rem;
	justify-content: space-between;
	line-height: 1.9166666667;
	margin-top: 1.25rem;
}

.sub-work__area {
	-webkit-clip-path: polygon(0 0, 52% 0, 100% 100%, 0 100%);
	background-color: #0095d8;
	border-radius: 1.125rem 0 0 1.125rem;
	clip-path: polygon(0 0, 52% 0, 100% 100%, 0 100%);
	color: #fff;
	padding: 0.625rem 3.375rem 0.8125rem 1.25rem;
	position: relative;
}

.sub-work__name {
	color: #0095d8;
	padding: 0.625rem 1.25rem 0.8125rem 0;
}

.sub-work__explain {
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.625;
	margin-top: 1.25rem;
}

.sub-work__pagenavi {
	text-align: center;
}

.wp-pagenavi a {
	color: #0095d8;
	transition: 0.3s;
}

.wp-pagenavi a,
.wp-pagenavi span {
	border-radius: 50%;
	display: inline-block;
	height: 2.5rem;
	line-height: 1;
	margin: 0rem 0.375rem;
	padding: 0.75rem 0.9375rem;
	width: 2.5rem;
}

.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
	margin: 0rem 3.375rem;
}

.wp-pagenavi span.current {
	background-color: #0095d8;
	color: #fff;
}

.wp-pagenavi a:not(.previouspostslink):not(.nextpostslink):hover {
	background-color: #0095d8;
	color: #fff;
	opacity: 1;
}

.wp-pagenavi a.nextpostslink,
.wp-pagenavi a.previouspostslink {
	color: #fff;
	position: relative;
}

.wp-pagenavi a.nextpostslink::before,
.wp-pagenavi a.previouspostslink::before {
	border-bottom: 0.4375rem solid transparent;
	border-style: solid;
	border-top: 0.4375rem solid transparent;
	content: "";
	display: block;
	height: 0;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 0;
}

.wp-pagenavi a.nextpostslink::before {
	border-left: 0.9375rem solid #0095d8;
	border-right: 0;
}

.wp-pagenavi a.previouspostslink::before {
	border-left: 0;
	border-right: 0.9375rem solid #0095d8;
}

.works {
	padding-top: 11.4375rem;
	position: relative;
}

.works__bg {
	aspect-ratio: 1920/650;
	background: transparent url(../images/common/work-bg.webp) no-repeat center center/cover;
	position: relative;
	width: 100%;
}

.works__bg::before,
.works__bg::after {
	content: "";
	left: 0;
	position: absolute;
}

.works__bg::before {
	background-color: #0095d8;
	bottom: 1.125rem;
	height: 0.75rem;
	width: 100%;
	z-index: 1;
}

.works__bg::after {
	aspect-ratio: 1368/100;
	background: transparent url(../images/common/work-line.webp) no-repeat center center/cover;
	bottom: 0;
	width: 71.25%;
	z-index: 2;
}

.works__inner.inner {
	max-width: 1250px;
}

.works__title {
	position: relative;
	top: -4.8125rem;
}

.works__bottom {
	background-color: #0095d8;
	color: #fff;
	padding-bottom: 6.25rem;
	padding-top: 4.1875rem;
}

.works__subtitle {
	font-size: 4.375rem;
	line-height: 1.9428571429;
	text-align: right;
}

.works__subtitle span {
	border-bottom: 0.625rem solid #fff000;
	color: #fff000;
	font-size: 6.25rem;
	line-height: 1.36;
}

.works__txt {
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 2;
	margin-top: 2.8125rem;
}

.works__btn {
	margin-top: 2.8125rem;
	max-width: 17.5rem;
}

.attempt__body {
	display: flex;
	gap: 1.3125rem;
}

.attempt__body + .attempt__body {
	margin-top: 1.875rem;
}

.attempt__image {
	max-width: 14.375rem;
}

.attempt__title {
	font-size: 1.25rem;
	margin-bottom: 0.4375rem;
}

.attempt__title--blue {
	color: #0095d8;
}

.attempt__title--orange {
	color: #f5a200;
}

.attempt__title--yellow {
	color: #fabd00;
}

.attempt__title--brown {
	color: #d39200;
}

.attempt__txt {
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.625;
}

.attempt__txt--blue::first-letter {
	color: #0095d8;
}

.attempt__txt--orange::first-letter {
	color: #f5a200;
}

.attempt__txt--yellow::first-letter {
	color: #fabd00;
}

.attempt__txt--brown::first-letter {
	color: #d39200;
}

.attempt__top {
	align-items: center;
	display: flex;
	gap: 3.125rem;
}

.attempt__top img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
}

.attempt__top img:nth-child(1) {
	max-width: 23.875rem;
}

.attempt__top img:nth-child(2) {
	max-width: 12.375rem;
}

.attempt__top img:nth-child(3) {
	max-width: 13.625rem;
}

.attempt__label {
	margin-top: 2.125rem;
}

.attempt__row {
	display: flex;
	gap: 1.875rem;
}

.attempt__row {
	border-top: 0.03125rem solid #80caec;
	padding-bottom: 1.875rem;
	padding-top: 1.5625rem;
}

.attempt__row:last-child {
	border-bottom: 0.03125rem solid #80caec;
}

.attempt__markImage {
	max-width: 6.875rem;
	width: 100%;
}

.attempt__markImage--big {
	max-width: 14.6875rem;
}

.attempt__leadImage-wrap {
	display: flex;
	gap: 2.375rem;
	justify-content: center;
}

.attempt__leadImage {
	border: 0.03125rem solid #80caec;
	max-width: 18.75rem;
	padding: 2.1875rem 1.25rem;
}

.attempt__note {
	margin-top: 1.875rem;
}

.attempt__note .attempt__title {
	font-weight: 400;
}

.banner {
	position: relative;
}

.banner__shape {
	display: block;
}

/* 青帯（右端 斜め） */

.banner__shape--blue {
	background-color: #0095d8;
}

/* 黄帯（右端 斜め） */

.banner__shape--yellow {
	background: #fff000;
}

/* 濃い青帯（右端 斜め） */

.banner__shape--sub-blue {
	background: #0057c4;
}

.banner__shape--sub-blue,
.banner__shape--blue {
	height: 2.1875rem;
}

.banner--sub-about > .banner__shape--blue,
.banner--works > .banner__shape--blue,
.banner--sub-our-work > .banner__shape--blue,
.banner--sub-recruit > .banner__shape--blue,
.banner--entry > .banner__shape--blue,
.banner--group-company > .banner__shape--sub-blue,
.banner--sub-work > .banner__shape--blue,
.banner--sub-contact > .banner__shape--blue,
.banner--not-found > .banner__shape--blue {
	-webkit-clip-path: polygon(0 0, 97% 0, 100% 100%, 0 100%);
	clip-path: polygon(0 0, 97% 0, 100% 100%, 0 100%);
	margin-left: calc(50% - 50vw);
}

.sub-our-work .banner__shape--yellow,
.recruit .banner__shape--yellow,
.sub-work .banner__shape--yellow,
.sub-recruit .banner__shape--yellow,
.group-company .banner__shape--yellow,
.flow .banner__shape--yellow,
.sub-contact .banner__shape--yellow,
.not-found .banner__shape--yellow {
	-webkit-clip-path: polygon(0 0, 40% 0, 100% 100%, 0 100%);
	clip-path: polygon(0 0, 40% 0, 100% 100%, 0 100%);
	height: 9.375rem;
	left: 0;
	position: absolute;
	top: 0;
}

.fv .banner__shape--yellow {
	-webkit-clip-path: polygon(0 0, 92% 0, 100% 100%, 0 100%);
	bottom: 0;
	clip-path: polygon(0 0, 92% 0, 100% 100%, 0 100%);
	height: 9.7222222222%;
	left: 0;
	position: absolute;
	width: 74.6354166667%;
	z-index: 0;
}

.about .banner__shape--blue {
	-webkit-clip-path: polygon(0 0, 88% 0, 100% 100%, 0 100%);
	clip-path: polygon(0 0, 88% 0, 100% 100%, 0 100%);
	height: 4.375rem;
	left: 0;
	position: absolute;
	top: 0;
	width: 49.7916666667%;
}

.banner--works .banner__shape--blue {
	height: 2.1875rem;
}

.banner--works > .banner__shape--blue {
	-webkit-clip-path: polygon(0 0, 92% 0, 100% 100%, 0 100%);
	clip-path: polygon(0 0, 92% 0, 100% 100%, 0 100%);
	mix-blend-mode: multiply;
	width: 50.5208333333vw;
}

.works .banner__shape--yellow {
	-webkit-clip-path: polygon(0 0, 52% 0, 100% 100%, 0 100%);
	clip-path: polygon(0 0, 52% 0, 100% 100%, 0 100%);
	height: 9.375rem;
	left: 0;
	position: absolute;
	top: 0;
	width: 17.7083333333%;
}

.banner--recruit .banner__shape--blue {
	height: 2.1875rem;
}

.banner--recruit > .banner__shape--blue {
	margin-left: calc(50% - 50vw);
	position: relative;
	width: 57.2340425532vw;
}

.banner--recruit .banner__shape--mode {
	-webkit-clip-path: polygon(0 0, 88% 0, 100% 100%, 0 100%);
	clip-path: polygon(0 0, 88% 0, 100% 100%, 0 100%);
	left: 57.2340425532vw;
	max-width: 18.125rem;
	mix-blend-mode: multiply;
	position: relative;
	width: 20.9219858156vw;
}

.recruit .banner__shape--yellow {
	height: 8.875rem;
	top: 3.125rem;
	width: 17.7604166667%;
}

.banner--sub-recruit .banner__shape--blue {
	margin-left: calc(50% - 50vw);
	width: 111%;
}

.sub-recruit .banner__shape--yellow {
	width: 17.7083333333%;
}

.entry > .banner__shape--blue {
	-webkit-clip-path: polygon(0 0, 40% 0, 100% 100%, 0 100%);
	clip-path: polygon(0 0, 40% 0, 100% 100%, 0 100%);
	height: 9.375rem;
	left: 0;
	position: absolute;
	top: 0;
	width: 17.7604166667%;
	z-index: -1;
}

.banner--entry > .banner__shape--blue {
	-webkit-clip-path: polygon(0 0, 95% 0, 100% 100%, 0 100%);
	clip-path: polygon(0 0, 95% 0, 100% 100%, 0 100%);
	width: 50.5208333333vw;
}

.entry > .banner__shape--yellow {
	-webkit-clip-path: polygon(0 0, 95% 0, 100% 100%, 0 100%);
	clip-path: polygon(0 0, 95% 0, 100% 100%, 0 100%);
	height: 0.9375rem;
	left: 0;
	position: absolute;
	top: 4.1875rem;
	width: 25.3645833333%;
}

.banner--sub-work > .banner__shape--blue {
	width: 97%;
}

.sub-work .banner__shape--yellow {
	width: 17.7083333333%;
}

.banner--sub-our-work > .banner__shape--blue {
	width: 90%;
}

.sub-our-work .banner__shape--yellow {
	width: 17.7083333333%;
}

.banner--sub-about > .banner__shape--blue {
	height: 2.1875rem;
	width: 90%;
}

.sub-about .banner__shape--yellow {
	-webkit-clip-path: polygon(0 0, 52% 0, 100% 100%, 0 100%);
	clip-path: polygon(0 0, 52% 0, 100% 100%, 0 100%);
	height: 9.375rem;
	left: 0;
	position: absolute;
	top: 0;
	width: 17.7083333333%;
}

.other__bg > .banner__shape--blue,
.other > .banner__shape--mode {
	height: 2.25rem;
	position: absolute;
}

.other__bg > .banner__shape--blue {
	-webkit-clip-path: polygon(0 0, 95% 0, 100% 100%, 0 100%);
	clip-path: polygon(0 0, 95% 0, 100% 100%, 0 100%);
	left: 0;
	top: 6.0625rem;
	width: 72.75%;
}

.other__bg > .banner__shape--mode {
	margin-left: calc(50% - 50vw);
	mix-blend-mode: multiply;
	width: 70%;
}

.other .banner__shape--yellow {
	-webkit-clip-path: polygon(0 0, 62% 0, 100% 100%, 0 100%);
	clip-path: polygon(0 0, 62% 0, 100% 100%, 0 100%);
	height: 9.375rem;
	left: 0;
	position: absolute;
	top: -1.625rem;
	width: 25.2604166667%;
	z-index: 1;
}

.banner--group-company > .banner__shape--sub-blue {
	width: 119%;
}

.group-company .banner__shape--yellow {
	width: 17.65625%;
	z-index: 0;
}

.flow__bg > .banner__shape--sub-blue,
.flow > .banner__shape--mode {
	height: 2.1875rem;
	position: absolute;
}

.flow__bg > .banner__shape--sub-blue {
	-webkit-clip-path: polygon(0 0, 97% 0, 100% 100%, 0 100%);
	clip-path: polygon(0 0, 97% 0, 100% 100%, 0 100%);
	left: 0;
	top: 6.25rem;
	width: 73%;
}

.flow__bg > .banner__shape--mode {
	margin-left: calc(50% - 50vw);
	mix-blend-mode: multiply;
	width: 30%;
}

.flow .banner__shape--yellow {
	top: -1.4375rem;
	width: 17.7083333333%;
	z-index: 1;
}

.reason > .banner__shape--sub-blue {
	-webkit-clip-path: polygon(0 0, 92% 0, 100% 100%, 0 100%);
	clip-path: polygon(0 0, 92% 0, 100% 100%, 0 100%);
	position: absolute;
	top: 15.125rem;
	width: 45.3645833333%;
	z-index: 0;
}

.reason > .banner__shape--mode {
	mix-blend-mode: multiply;
}

.banner--sub-contact > .banner__shape--blue {
	width: 50.5208333333vw;
}

.sub-contact .banner__shape--yellow {
	width: 17.7083333333%;
}

.banner--not-found > .banner__shape--blue {
	width: 50.5208333333vw;
}

.not-found .banner__shape--yellow {
	width: 17.7083333333%;
}

.blue-bg {
	background-color: #0095d8;
}

.btn {
	border: 0.09375rem solid #0095d8;
	border-radius: 3.125rem;
	color: #0095d8;
	cursor: pointer;
	display: inline-block;
	font-size: 1.25rem;
	letter-spacing: 0.2em;
	line-height: 1.15;
	max-width: 56.25rem;
	padding: 1.1875rem 1.875rem 1.375rem;
	position: relative;
	text-transform: uppercase;
	transition: all 0.3s ease 0s;
	width: 100%;
}

.btn--white {
	border-color: #fff;
	color: #fff;
}

.btn--ja {
	letter-spacing: 0em;
	text-align: left;
}

.btn::before,
.btn::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.btn::before {
	background-color: #0095d8;
	border-radius: 50%;
	height: 2.5rem;
	right: 0.9375rem;
	width: 2.5rem;
}

.btn--white::before {
	background-color: #fff;
}

.btn::after {
	background: transparent url(../images/common/arrow-white.webp) no-repeat center center/cover;
	height: 0.75rem;
	right: 1.6875rem;
	width: 0.75rem;
}

.btn--white::after {
	background-image: url(../images/common/arrow-blue.webp);
}

.contact {
	background-color: #0095d8;
	padding-top: 6.25rem;
}

.contact--blue {
	background-color: #0057c4;
}

.contact__bg {
	aspect-ratio: 1920/450;
	background: transparent url(../images/common/contact-bg.webp) no-repeat center center/cover;
	height: 100%;
	width: 100%;
}

.contact__inner {
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: center;
}

.contact__title {
	color: #fff000;
	font-size: 3.75rem;
	letter-spacing: 0.1em;
	text-align: center;
	text-transform: uppercase;
}

.contact__btn {
	margin-top: -1.25rem;
	text-align: center;
}

.contact__btn a {
	background-color: #fff000;
	border-radius: 3.125rem;
	color: #0095d8;
	cursor: pointer;
	display: inline-block;
	font-size: 1.25rem;
	letter-spacing: 0.2em;
	line-height: 1.15;
	max-width: 56.25rem;
	padding: 1.1875rem 1.5625rem 1.375rem;
	position: relative;
	text-align: center;
	transition: all 0.3s ease 0s;
	width: 100%;
}

.contact__btn a::before,
.contact__btn a::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.contact__btn a::before {
	background-color: #0095d8;
	border-radius: 50%;
	height: 2.5rem;
	right: 0.9375rem;
	width: 2.5rem;
}

.contact__btn a::after {
	background: transparent url(../images/common/arrow-white.webp) no-repeat center center/cover;
	height: 0.75rem;
	right: 1.6875rem;
	width: 0.75rem;
}

.fade-up {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 2s ease, transform 0.6s ease;
}

.fade-up.is-show {
	opacity: 1;
	transform: translateY(0);
}

.footer {
	background-color: #0095d8;
	color: #fff;
	padding-bottom: 3.25rem;
	padding-top: 5.875rem;
}

.footer--blue {
	background-color: #0057c4;
}

.footer__logo {
	display: block;
	max-width: 26.25rem;
}

.footer__meta {
	margin-top: 1.875rem;
}

.footer__txt {
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.875;
}

.footer__copyright {
	font-size: 0.75rem;
	font-weight: 400;
	line-height: 3.3333333333;
	margin-top: 3.5rem;
	text-align: center;
}

.header-hamburger {
	display: none;
}

.header-hamburger > span.js-opacity {
	opacity: 1;
}

.header-hamburger span:nth-child(1),
.header-hamburger span:nth-child(2),
.header-hamburger span:nth-child(3) {
	background-color: #0095d8;
	display: block;
	height: 2px;
	position: absolute;
	right: 0.9375rem;
	transition: all 0.3s ease 0s;
	width: 1.4375rem;
}

.header-hamburger span:nth-child(1) {
	top: 35%;
}

.header-hamburger span:nth-child(1).js-open {
	top: 50%;
	transform: rotate(-45deg);
}

.header-hamburger span:nth-child(2) {
	top: 50%;
}

.header-hamburger span:nth-child(2).js-open {
	display: none;
}

.header-hamburger span:nth-child(3) {
	top: 65%;
}

.header-hamburger span:nth-child(3).js-open {
	top: 50%;
	transform: rotate(45deg);
}

.header {
	height: 5rem;
	left: 0;
	padding-top: 0.75rem;
	position: fixed;
	right: 0;
	top: 0;
	transition: 0.3s;
	z-index: 999;
}

.header__logo {
	padding-bottom: 0.625rem;
	width: 15.7692307692%;
}

.header__inner {
	height: inherit;
	padding: 0 3.125rem;
}

.header__body {
	align-items: flex-end;
	display: flex;
	gap: 2rem;
	height: inherit;
	justify-content: space-between;
}

.header__nav {
	align-items: end;
	display: flex;
	height: 100%;
}

.header__left {
	align-items: center;
	background-color: rgba(0, 87, 183, 0.8);
	border-bottom-left-radius: 2.5rem;
	border-top-left-radius: 2.5rem;
	display: flex;
	gap: 2.6875rem;
	height: inherit;
	mix-blend-mode: multiply;
	padding-left: 2.625rem;
	position: relative;
}

.header__left::after {
	-webkit-clip-path: polygon(0 0, 0 100%, 100% 100%);
	aspect-ratio: 111/80;
	background: rgba(0, 87, 183, 0.8);
	clip-path: polygon(0 0, 0 100%, 100% 100%);
	content: "";
	max-width: 6.9375rem;
	mix-blend-mode: multiply;
	position: absolute;
	position: absolute;
	right: -6.9375rem;
	top: 0;
	width: 100%;
}

.header--other .header__left,
.header--group-company .header__left {
	background-color: #fff;
}

.header--other .header__left::after,
.header--group-company .header__left::after {
	background: #fff;
}

.header__right {
	background-color: #fff000;
	border-bottom-right-radius: 2.5rem;
	border-top-right-radius: 2.5rem;
	color: #0095d8;
	height: inherit;
	margin-left: 7.375rem;
	padding-right: 2rem;
	position: relative;
}

.header__right::after {
	-webkit-clip-path: polygon(0 0, 100% 0, 100% 100%);
	aspect-ratio: 111/80;
	background: #fff000;
	clip-path: polygon(0 0, 100% 0, 100% 100%);
	content: "";
	left: -6.875rem;
	max-width: 6.9375rem;
	mix-blend-mode: multiply;
	position: absolute;
	position: absolute;
	top: 0;
	width: 100%;
}

.header__sns {
	width: 1.875rem;
}

.header__sns a {
	transition: opacity 0.3s ease 0s;
}

a:hover {
	opacity: 0.7;
}

.inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 1250px;
	padding-left: 25px;
	padding-right: 25px;
	width: 100%;
}

.lead-title {
	color: #0095d8;
}

.lead-title--blue {
	color: #0057c4;
}

.lead-title__en {
	display: inline-block;
	font-size: 3.75rem;
	letter-spacing: 0.1em;
	line-height: 1;
	margin-right: 1.875rem;
	text-transform: uppercase;
	transform: translateY(0.6875rem);
}

.lead-title__ja {
	display: inline-block;
	font-size: 1.875rem;
	letter-spacing: 0.05em;
}

.lead-title__bottom {
	font-size: 3.75rem;
	line-height: 2.2666666667;
	position: relative;
	transform: translateY(-0.9375rem);
}

.lead-title__bottom span {
	border-bottom: 0.625rem solid #fff000;
	font-size: 5rem;
	font-weight: 900;
	line-height: 1.7;
}

.page-top {
	position: relative;
}

.page-top::before {
	aspect-ratio: 1253/217;
	background: transparent url(../images/common/page-top.webp) no-repeat center center/cover;
	content: "";
	left: 0;
	max-width: 78.3125rem;
	position: absolute;
	top: 0;
	width: 65.2604166667%;
	z-index: 1;
}

.page-top--kenzai::before {
	background-image: url(../images/common/page-top-blue.webp);
}

.pc-nav {
	height: inherit;
}

.pc-nav__items {
	align-items: center;
	display: flex;
	flex-direction: inherit;
	gap: 2.6875rem;
	height: inherit;
}

.footer__nav .pc-nav__items {
	justify-content: center;
}

.pc-nav__item {
	height: inherit;
}

.pc-nav__item a {
	align-items: center;
	color: #fff;
	display: flex;
	font-size: 1.25rem;
	height: inherit;
	justify-content: center;
	transition: 0.3s;
}

.header--other .pc-nav__item a {
	color: #0095d8;
}

.header--group-company .pc-nav__item a {
	color: #0057c4;
}

.pc-nav__item--blue a {
	color: #0095d8;
	padding-right: 1.9375rem;
	position: relative;
}

.pc-nav__item--blue a::after {
	background: transparent url(../images/common/arrow-blue.webp) no-repeat center center/cover;
	content: "";
	height: 0.9375rem;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 0.9375rem;
}

.header--group-company .pc-nav__item--blue a::after {
	background-image: url(../images/common/arrow-sub-blue.svg);
}

.pc-nav__item a:hover {
	opacity: 0.7;
}

.sec-title {
	color: #0095d8;
}

.sec-title--sub-blue {
	color: #0057c4;
}

.sec-title__en {
	font-size: 3.75rem;
	letter-spacing: 0.1em;
	line-height: 1;
	text-transform: uppercase;
	transform: translateY(0.3125rem);
}

.sec-title--sub-blue .sec-title__en {
	letter-spacing: 0em;
}

.sec-title__ja {
	font-size: 5rem;
	letter-spacing: 0.05em;
	line-height: 1.2;
	position: relative;
}

.sec-title__ja::before {
	background-color: #0095d8;
	content: "";
	height: 0.3125rem;
	left: -22.5rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 21.25rem;
}

.single {
	margin-left: auto;
	margin-right: auto;
	max-width: 56.25rem;
}

.single p {
	font-weight: 500;
	margin-bottom: 1.5rem;
	margin-top: 1rem;
}

.single h2 {
	border-bottom: 0.375rem solid #0095d8;
	font-size: 2.1875rem;
	margin-top: 3.5rem;
}

.single h3 {
	border-left: 0.375rem solid #0095d8;
	font-size: 2rem;
	margin-top: 4rem;
	padding-left: 1rem;
}

.single ol {
	list-style: auto;
	margin: 2rem auto 0;
	max-width: 40.625rem;
}

.single ul {
	list-style: disc;
	margin: 2rem auto 0;
	max-width: 40.625rem;
}

.single ol,
.single ul,
.single li {
	font-weight: 500;
	padding-left: 1em;
}

.single p + figure {
	margin-top: 3rem;
}

.slide-left.is-show {
	animation: slideLeft 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

.slide-right.is-show {
	animation: slideRight 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

.slide-up.is-show {
	animation: slideUp 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

.sp-nav {
	display: none;
}

.sp-nav.js-open {
	right: 0%;
}

.sp-nav__item a:hover {
	color: #0095d8;
}

.sp-nav--group-company .sp-nav__item a:hover {
	color: #0057c4;
}

.sp-nav__items {
	text-align: center;
}

.sp-nav__sns {
	margin-top: 2.5rem;
	text-align: center;
}

.sp-nav__sns a {
	display: inline-block;
	max-width: 1.875rem;
}

.sub-blue-bg {
	background-color: #0057c4;
}

.sub-fv__bg {
	aspect-ratio: 1920/850;
}

.sub-fv__bg img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
}

.top-btn {
	bottom: 7.75rem;
	position: fixed;
	right: 3.25rem;
	z-index: 999;
}

.top-btn a span {
	display: block;
	height: 3.125rem;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	width: 3.125rem;
}

.top-btn a span::before,
.top-btn a span::after {
	content: "";
	position: absolute;
}

.top-btn a span::before {
	border: 0.09375rem solid #fff;
	border-radius: 50%;
	height: 3.125rem;
	width: 3.125rem;
}

.top-btn a span::after {
	background: transparent url(../images/common/arrow-vertical-white.webp) no-repeat center center/cover;
	height: 0.9375rem;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 0.9375rem;
}

.top-btn p {
	color: #fff;
	font-size: 1rem;
	line-height: 1.4375;
	padding-top: 0.3125rem;
	text-transform: uppercase;
}

.txt {
	font-size: 0.9375rem;
}

@media screen and (min-width: 1799px) {

.recruit__inner.inner {
	margin-right: auto;
}

.header {
	padding-top: 3.125rem;
}

}

@media screen and (max-width: 1920px) {

.entry .lead-title__en {
	mix-blend-mode: multiply;
}

}

@media screen and (max-width: 1559px) {

.pc-nav__item a {
	font-size: 1rem;
}

}

@media screen and (max-width: 1440px) {

.banner--sub-about > .banner__shape--blue,
.banner--works > .banner__shape--blue,
.banner--sub-our-work > .banner__shape--blue,
.banner--sub-recruit > .banner__shape--blue,
.banner--entry > .banner__shape--blue,
.banner--group-company > .banner__shape--sub-blue,
.banner--sub-work > .banner__shape--blue,
.banner--sub-contact > .banner__shape--blue,
.banner--not-found > .banner__shape--blue {
	max-width: 86.4375rem;
	width: 100%;
}

}

@media screen and (max-width: 1299px) {

.our-work-card:not(.our-work-card--reason) .our-work-card__title {
	white-space: normal;
	white-space: initial;
}

.sub-our-work__item:nth-of-type(odd) .sub-our-work__content {
	padding-left: 0.3125rem;
}

.header__inner {
	padding: 0 1.25rem;
}

.header__nav {
	align-items: center;
}

.lead-title__bottom {
	font-size: 4.375rem;
}

.pc-nav__item a {
	font-size: 0.9375rem;
}

.sec-title__en {
	font-size: 3.125rem;
}

.sec-title__ja {
	font-size: 4.375rem;
}

}

@media (max-width: 1200px) {

html {
	font-size: 1.3333333333vw;
}

}

@media screen and (max-width: 767px) {

.u-desktop {
	display: none;
}

.u-mobile {
	display: block;
}

html {
	font-size: 16px;
}

.about {
	margin-bottom: 2rem;
	margin-top: 2rem;
	padding-top: 2.5rem;
}

.about__inner.inner {
	max-width: 37.5rem;
}

.about__body {
	align-items: start;
	flex-direction: column-reverse;
	gap: 1.5rem;
}

.about__wrap {
	width: 100%;
}

.about__txt {
	font-size: 1rem;
}

.about__btn {
	margin-top: 2.5rem;
	max-width: 16.25rem;
}

.about__title {
	width: 53.7313432836%;
}

.company {
	margin-bottom: 4.5rem;
	margin-top: 4.5rem;
}

.company__inner.inner {
	max-width: 37.5rem;
}

.company__sub-title {
	font-size: 2rem;
}

.company__sub-title::after {
	bottom: 0.4375rem;
	height: 0.1875rem;
}

.contact-check {
	margin-top: 2rem;
}

.entry {
	padding-bottom: 7.5rem;
	padding-top: 2.8125rem;
}

.entry__inner.inner {
	max-width: 37.5rem;
	padding: 0;
}

.entry .lead-title__en {
	transform: translateY(0.6875rem);
}

.entry__body {
	padding-top: 18vw;
}

.entry__body::before {
	aspect-ratio: 375/187;
	background-image: url(../images/recruit/entry-bg_sp.webp);
}

.entry__mainTl {
	font-size: 1.625rem;
	padding-right: 2.75rem;
}

.entry__mainTl::before {
	height: 2.5rem;
	width: 2.5rem;
}

.entry__mainTl::after {
	height: 1.0625rem;
	right: 0.6875rem;
	width: 1.0625rem;
}

.entry__txt {
	font-size: 0.875rem;
}

.flow {
	margin-top: 0.25rem;
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 1.25rem;
}

.flow__bg.inner {
	max-width: 37.5rem;
	padding-left: 0.625rem;
	padding-right: 0.625rem;
}

.flow__bg {
	padding-bottom: 3.5rem;
	padding-top: 2.5rem;
}

.flow__inner.inner {
	max-width: 28.125rem;
	padding-left: 0;
	padding-right: 0;
}

.flow__innerWrap {
	margin-top: 3rem;
}

.flow__layout {
	-moz-column-gap: 1.5rem;
	column-gap: 1.5rem;
	grid-template-columns: 2.8125rem 1fr;
}

.flow__layout:first-child {
	padding-bottom: 1rem;
}

.flow__layout + .flow__layout {
	padding-top: 1rem;
}

.flow__side--bottom {
	margin-top: 1rem;
}

.flow__label {
	padding: 1rem 0.8125rem;
	width: auto;
}

.flow__label--material {
	justify-content: start;
}

.flow__label--material .flow__label-img {
	padding-bottom: 1.25rem;
}

.flow__label--construction .flow__label-img {
	padding-top: 1.25rem;
}

.flow__label--material .flow__label-img::after,
.flow__label--construction .flow__label-img::after {
	height: 0.8125rem;
	width: 0.8125rem;
}

.flow__label--construction {
	margin-top: 0;
}

.flow__head {
	gap: 0rem;
	grid-template-columns: 1fr;
	justify-items: start;
}

.flow__head-title {
	font-size: 1.375rem;
}

.flow__item {
	grid-template-columns: 1fr;
	max-width: 100%;
	row-gap: 0.875rem;
}

.flow__item + .flow__item {
	margin-top: 1.875rem;
}

.flow__col--left {
	text-align: left;
}

.flow__col--right {
	display: none;
}

.flow__col--right.js-active,
.flow__col--left.js-active {
	display: block;
}

.js-tab {
	cursor: pointer;
	opacity: 0.4;
}

.js-tab.js-active {
	display: block;
	opacity: 1;
}

.flow__title {
	font-size: 1.125rem;
}

.flow__text {
	font-size: 1rem;
}

.flow__center {
	justify-content: start;
	min-height: auto;
	order: -1;
}

.flow__item:not(.flow__item--nobrder):not(.flow__item--blue) .flow__center {
	padding-bottom: 0;
}

.flow__item--blue .flow__center {
	padding: 0;
}

.flow__item:not(.flow__item--nobrder) .flow__center::after {
	display: none;
}

.flow__step-number {
	font-size: 1.75rem;
}

.flow__divider {
	margin-top: 0rem;
}

.flow__bottom {
	padding-top: 1rem;
}

.form-row {
	flex-direction: column;
	padding: 0;
}

.form-row__text {
	margin-bottom: 0.5rem;
	width: 100%;
}

.form-row__required {
	padding: 0;
}

[type=text],
[type=email],
[type=tel],
textarea {
	font-size: 1rem;
}

.form-rows__item + .form-rows__item {
	margin-top: 1.5rem;
}

.fv__bg {
	aspect-ratio: 375/290;
	background-position: right center;
}

.fv__title {
	left: 0;
	padding-left: 20px;
	top: 18%;
	width: 95.5223880597%;
}

.fv__border-box {
	border-bottom-width: 0.25rem;
	border-top-width: 0.1875rem;
	bottom: 0.3125rem;
	height: 2.25rem;
}

.fv__border {
	bottom: 1rem;
	width: 66.6666666667%;
}

.group-company {
	margin-top: -0.25rem;
	padding-top: 1.5rem;
}

.group-company__inner.inner {
	max-width: 37.5rem;
}

.group-company__body {
	flex-direction: column-reverse;
	gap: 1.5rem;
	margin-top: 3.5rem;
}

.group-company__txt {
	font-size: 1rem;
}

.group-company__lead {
	max-width: 11.25rem;
}

.label {
	font-size: 0.9375rem;
	gap: 1.125rem;
	line-height: 1.7333333333;
	padding-bottom: 1rem;
	padding-top: 1rem;
}

.label__left {
	width: 5.625rem;
}

.label__left::before {
	top: 0.375rem;
}

.label__right {
	width: calc(100% - 5.625rem - 1.125rem);
}

.member {
	padding-bottom: 4.5rem;
	padding-top: 5.5rem;
}

.member__inner.inner {
	max-width: 37.5rem;
}

.member__title {
	font-size: 2.25rem;
	letter-spacing: 0.1em;
}

.member__frame {
	border-width: 0.1875rem;
	box-shadow: 0.3125rem 0.3125rem 0 #fff000;
	padding: 3rem 1.25rem 3.5rem;
}

.member__grid {
	gap: 1.375rem;
	grid-template-columns: 1fr;
}

.member__left {
	margin-left: auto;
	margin-right: auto;
	max-width: 25rem;
}

.member__right {
	padding: 0;
}

.member__profile {
	flex-direction: column;
}

.member__name {
	font-size: 1.1875rem;
	padding-bottom: 0.25rem;
}

.member__career {
	font-size: 1.0625rem;
}

.member__line {
	display: none;
}

.member__qa {
	gap: 2rem;
	margin-top: 1.5rem;
}

.member__q {
	font-size: 1.125rem;
	gap: 0.5rem;
	margin-bottom: 1rem;
}

.member__qicon {
	font-size: 0.875rem;
	max-height: 1.5625rem;
	min-width: 1.5625rem;
	width: 1.5625rem;
}

.member__a {
	font-size: 0.9375rem;
}

.member__bottom {
	margin-top: 2rem;
}

.not-found {
	margin-top: -1.5rem;
	padding-bottom: 4.5rem;
	padding-top: 3.375rem;
}

.not-found__inner.inner {
	max-width: 37.5rem;
}

.not-found__txt {
	margin-top: 2.5rem;
}

.not-found__btn {
	margin-top: 2.5rem;
	max-width: 13.75rem;
}

.other {
	margin-top: 0.25rem;
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 1.25rem;
}

.other__bg.inner {
	max-width: 37.5rem;
	padding-left: 0.625rem;
	padding-right: 0.625rem;
}

.other__bg {
	padding-bottom: 3.5rem;
	padding-top: 2.5rem;
}

.other__innerWrap {
	max-width: 31.25rem;
}

.other__list {
	margin-top: 2.5rem;
}

.other__content + .other__content {
	margin-top: 2.5rem;
}

.other__sub-title {
	font-size: 2rem;
	letter-spacing: 0.05em;
}

.other__sub-title::after {
	bottom: 0.4375rem;
	height: 0.1875rem;
}

.other__sub-body {
	margin-top: 1rem;
}

.our-work-card__meta {
	margin-top: 0.5rem;
}

.our-work-card--reason .our-work-card__badge {
	max-width: 5rem;
}

.our-work-card__badge::before {
	height: 4.375rem;
	width: 4.375rem;
}

.our-work-card__badge-num {
	font-size: 1.375rem;
}

.our-work-card__title {
	font-size: 1.375rem;
}

.our-work-card:not(.our-work-card--reason) .our-work-card__title {
	letter-spacing: 0em;
}

.our-work-card--reason .our-work-card__title {
	font-size: 1.125rem;
	margin-top: 0.5rem;
}

.our-work {
	padding-top: 3rem;
}

.our-work__inner.inner {
	max-width: 37.5rem;
}

.our-work__frame {
	padding: 3rem 1.25rem 3.5rem;
}

.our-work__frame::before {
	border-width: 0.1875rem;
}

.our-work__frame::after {
	bottom: -0.3125rem;
	right: -0.3125rem;
}

.our-work__heading-text {
	font-size: 2.25rem;
}

.our-work__list {
	grid-auto-flow: row;
	grid-template-columns: 1fr;
}

.reason {
	padding-bottom: 4.5rem;
}

.reason__inner.inner {
	max-width: 37.5rem;
}

.reason::before {
	max-width: 13.125rem;
	width: 56%;
}

.reason__title {
	font-size: 2.25rem;
}

.reason__title span {
	border-width: 0.4375rem;
	font-size: 2.375rem;
}

.reason__list {
	flex-direction: column;
	gap: 1.5rem;
	margin-top: 2.5rem;
}

.reason__item {
	width: 100%;
}

.recruit {
	padding-top: 3.125rem;
}

.recruit__bg {
	padding-top: 6.25rem;
}

.recruit__inner.inner {
	max-width: 37.5rem;
	padding-right: 20px;
}

.recruit__body {
	align-items: start;
	flex-direction: column;
	gap: 0rem;
}

.recruit__wrap {
	display: contents;
}

.recruit__title {
	order: -1;
}

.recruit__img {
	margin-top: 1rem;
	order: -1;
	width: 100%;
}

.recruit__txt {
	font-size: 1rem;
	margin-top: 1rem;
}

.recruit__btn {
	margin-top: 1.5rem;
	max-width: 16.25rem;
	width: 100%;
}

.sub-about {
	border-width: 0.1875rem;
	margin-top: -1.5rem;
	padding-bottom: 4.5rem;
	padding-top: 3.375rem;
}

.sub-about::after {
	bottom: 0.75rem;
	width: 48%;
}

.sub-about__inner.inner {
	max-width: 37.5rem;
}

.sub-about__body {
	align-items: center;
	flex-direction: column-reverse;
	gap: 1.5rem;
	margin-top: 1.5rem;
}

.sub-about__txt {
	padding-bottom: 0;
}

.sub-about__company {
	margin-top: 4.5rem;
}

.sub-about__sub-title {
	font-size: 2rem;
}

.sub-about__sub-title::after {
	bottom: 0.4375rem;
	height: 0.1875rem;
}

.sub-about__map-wrap {
	margin-top: 2rem;
}

.sub-about__map {
	aspect-ratio: 335/250;
}

.sub-about__map-wrap a {
	margin-top: 1rem;
}

.sub-contact {
	margin-bottom: 1rem;
	margin-top: -1.5rem;
	padding-top: 3.375rem;
}

.sub-contact__inner.inner {
	max-width: 37.5rem;
}

.sub-contact__form {
	margin-top: 4.5rem;
}

.sub-contact__bottom {
	padding: 1rem 0.75rem;
}

.sub-contact__btn {
	font-size: 1.125rem;
}

.sub-contact__submit::before {
	height: 2.1875rem;
	right: 0.9375rem;
	width: 2.1875rem;
}

.sub-contact__submit::after {
	height: 0.625rem;
	right: 1.6875rem;
	width: 0.625rem;
}

.sub-our-work {
	margin-bottom: 4.5rem;
	margin-top: -1.5rem;
	padding-top: 3.375rem;
}

.sub-our-work__inner.inner {
	max-width: 37.5rem;
}

.sub-our-work__body {
	margin-top: 3.5rem;
	overflow: hidden;
	padding-bottom: 0;
}

.sub-our-work__body::after {
	display: none;
}

.sub-our-work__list {
	padding-left: 20px;
	padding-right: 20px;
}

.sub-our-work__item {
	flex-direction: column;
	gap: 1rem;
}

.sub-our-work__item + .sub-our-work__item {
	padding-top: 3.5rem;
}

.sub-our-work__item:nth-of-type(even) {
	flex-direction: column;
}

.sub-our-work__content {
	max-width: 37.5rem;
}

.sub-our-work__item:nth-of-type(odd) .sub-our-work__content {
	padding-left: 0;
}

.sub-our-work__item:nth-of-type(odd) .sub-our-work__heading {
	padding-left: 0;
}

.sub-our-work__item:nth-of-type(even) .sub-our-work__heading {
	padding-right: 0;
}

.sub-our-work__heading::after {
	width: 110%;
}

.sub-our-work__item:nth-of-type(odd) .sub-our-work__heading::after {
	right: -30%;
}

.sub-our-work__item:nth-of-type(even) .sub-our-work__heading::after {
	left: -30%;
}

.sub-our-work__en {
	max-width: 2.9375rem;
}

.sub-our-work__number {
	font-size: 2.5rem;
}

.sub-our-work__sub-title {
	font-size: 1.75rem;
	letter-spacing: 0.1em;
	margin-top: 0.5rem;
}

.sub-our-work__text {
	margin-top: 1.5rem;
}

.sub-our-work__image {
	max-width: 37.5rem;
	width: 100%;
}

.sub-our-work__item:nth-of-type(2)::before,
.sub-our-work__item:nth-of-type(4)::before {
	aspect-ratio: 650/133;
	height: auto;
	left: -20px;
	max-width: 25rem;
	top: 0.75rem;
	width: 80%;
}

.sub-recruit {
	margin-top: -1.5rem;
	padding-top: 3.375rem;
}

.sub-recruit__inner.inner {
	max-width: 37.5rem;
}

.sub-recruit__body {
	flex-direction: column-reverse;
	gap: 1.5rem;
	margin-top: 4rem;
}

.sub-recruit__txt {
	font-size: 1rem;
}

.sub-recruit__lead {
	max-width: 11.25rem;
}

.sub-service {
	border-width: 0.1875rem;
	margin-top: 4rem;
	padding-bottom: 3.5rem;
}

.sub-service::before {
	max-width: 13.75rem;
	top: 19.375rem;
}

.sub-service__inner.inner {
	max-width: 37.5rem;
}

.sub-service__title {
	font-size: 2.25rem;
	letter-spacing: 0.1em;
}

.sub-service__frame {
	border-width: 0.1875rem;
	box-shadow: 0.3125rem 0.3125rem 0 #0057c4;
	padding: 1.625rem 1.125rem 1.625rem;
}

.sub-service__sub-title {
	font-size: 2.25rem;
}

.sub-service__txt {
	font-size: 1rem;
	margin-top: 1rem;
}

.sub-service__image {
	margin-top: 1rem;
}

.sub-work {
	margin-bottom: 6rem;
	margin-top: -1.5rem;
	padding-top: 3.375rem;
}

.sub-work__inner.inner {
	max-width: 37.5rem;
}

.sub-work__body {
	margin-top: 4.5rem;
}

.sub-work__list {
	-moz-column-gap: 1rem;
	column-gap: 1rem;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 3.5rem;
	margin-top: 3.5rem;
	row-gap: 1.5rem;
}

.sub-work__meta {
	border-radius: 1.5rem;
	margin-top: 0.5rem;
}

.sub-work__area {
	border-radius: 1.625rem 0 0 1.625rem;
	padding: 0.5rem 3.375rem 0.5rem 1.25rem;
}

.sub-work__name {
	padding: 0.5rem 1.25rem 0.5rem 0;
}

.sub-work__explain {
	font-size: 0.9375rem;
	margin-top: 0.5rem;
}

.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
	margin: 0rem 1rem;
}

.works {
	padding-top: 5.3125rem;
}

.works__bg {
	aspect-ratio: 375/260;
	background-position: right;
}

.works__bg::before {
	bottom: 0.5rem;
	height: 0.3125rem;
}

.works__bg::after {
	width: 81.3333333333%;
}

.works__inner.inner {
	max-width: 37.5rem;
}

.works__title {
	top: -2.1875rem;
}

.works__bottom {
	padding-bottom: 3rem;
	padding-top: 4rem;
}

.works__subtitle {
	font-size: 2.25rem;
	line-height: 1.25;
}

.works__subtitle span {
	border-width: 0.4375rem;
	font-size: 2.375rem;
}

.works__txt {
	font-size: 1rem;
	margin-top: 2rem;
}

.works__btn {
	margin-top: 2.5rem;
	max-width: 16.25rem;
}

.attempt__body {
	flex-direction: column;
	gap: 0.5rem;
}

.attempt__body + .attempt__body {
	margin-top: 2rem;
}

.attempt__image {
	max-width: 9.375rem;
}

.attempt__title {
	font-size: 1.125rem;
	margin-bottom: 0.25rem;
}

.attempt__note .attempt__title {
	font-size: 1rem;
}

.attempt__txt {
	font-size: 0.9375rem;
}

.attempt__top {
	flex-direction: column;
	gap: 1.5rem;
}

.attempt__top img:nth-child(1) {
	max-width: 14.375rem;
}

.attempt__top img:nth-child(2) {
	max-width: 10rem;
}

.attempt__top img:nth-child(3) {
	max-width: 10rem;
}

.attempt__label {
	margin-top: 2rem;
}

.attempt__row {
	gap: 1rem;
}

.attempt__row {
	padding-bottom: 1.25rem;
	padding-top: 1rem;
}

.attempt__row:last-child {
	flex-direction: column;
}

.attempt__markImage {
	max-width: 5rem;
}

.attempt__markImage--big {
	max-width: 10rem;
}

.attempt__leadImage-wrap {
	align-items: center;
	flex-direction: column;
	gap: 1rem;
}

.attempt__leadImage {
	padding: 1.5rem 1rem;
}

.attempt__note {
	margin-top: 1.5rem;
}

.sub-our-work .banner__shape--yellow,
.recruit .banner__shape--yellow,
.sub-work .banner__shape--yellow,
.sub-recruit .banner__shape--yellow,
.group-company .banner__shape--yellow,
.flow .banner__shape--yellow,
.sub-contact .banner__shape--yellow,
.not-found .banner__shape--yellow {
	height: 3.125rem;
}

.fv .banner__shape--yellow {
	-webkit-clip-path: polygon(0 0, 82% 0, 100% 100%, 0 100%);
	clip-path: polygon(0 0, 82% 0, 100% 100%, 0 100%);
	width: 92%;
}

.about .banner__shape--blue {
	-webkit-clip-path: polygon(0 0, 85% 0, 100% 100%, 0 100%);
	clip-path: polygon(0 0, 85% 0, 100% 100%, 0 100%);
	height: 1.875rem;
}

.banner--works .banner__shape--blue {
	height: 0.75rem;
}

.works .banner__shape--yellow {
	height: 3.125rem;
}

.banner--recruit .banner__shape--blue {
	height: 0.75rem;
}

.banner--recruit > .banner__shape--blue {
	-webkit-clip-path: polygon(0 0, 94% 0, 100% 100%, 0 100%);
	clip-path: polygon(0 0, 94% 0, 100% 100%, 0 100%);
	width: 77.3333333333vw;
}

.banner--recruit .banner__shape--mode {
	display: none;
}

.banner--sub-recruit .banner__shape--blue {
	height: 0.75rem;
}

.entry > .banner__shape--blue {
	-webkit-clip-path: polygon(0 0, 38% 0, 100% 100%, 0 100%);
	clip-path: polygon(0 0, 38% 0, 100% 100%, 0 100%);
	height: 3.125rem;
}

.banner--entry > .banner__shape--blue {
	height: 0.75rem;
}

.entry > .banner__shape--yellow {
	height: 0.3125rem;
	top: 2rem;
}

.banner--sub-work > .banner__shape--blue {
	height: 0.75rem;
	width: 69.3333333333%;
}

.banner--sub-our-work > .banner__shape--blue {
	height: 0.75rem;
	width: 88vw;
}

.banner--sub-about > .banner__shape--blue {
	height: 0.75rem;
}

.sub-about .banner__shape--yellow {
	height: 3.125rem;
}

.other__bg > .banner__shape--blue,
.other > .banner__shape--mode {
	height: 0.75rem;
}

.other__bg > .banner__shape--blue {
	top: 4.375rem;
	width: 96%;
}

.other .banner__shape--yellow {
	height: 3.125rem;
	top: 0.5rem;
}

.banner--group-company > .banner__shape--sub-blue {
	height: 0.75rem;
	width: 77.3333333333%;
}

.flow__bg > .banner__shape--sub-blue,
.flow > .banner__shape--mode {
	height: 0.75rem;
}

.flow .banner__shape--yellow {
	height: 3.125rem;
}

.reason > .banner__shape--sub-blue {
	height: 0.75rem;
	top: 9.0625rem;
}

.banner--sub-contact > .banner__shape--blue {
	height: 0.75rem;
	width: 85.3333333333vw;
}

.banner--not-found > .banner__shape--blue {
	height: 0.75rem;
	width: 85.3333333333vw;
}

.btn {
	font-size: 1.125rem;
	letter-spacing: 0.1em;
	padding: 1.125rem 1.5625rem;
}

.btn::before {
	height: 2.1875rem;
	right: 0.9375rem;
	width: 2.1875rem;
}

.btn::after {
	height: 0.625rem;
	right: 1.6875rem;
	width: 0.625rem;
}

.contact {
	padding-top: 4.5rem;
}

.contact__bg {
	aspect-ratio: 375/290;
}

.contact__inner.inner {
	max-width: 37.5rem;
}

.contact__title {
	font-size: 2.25rem;
}

.contact__btn {
	margin-top: -0.75rem;
}

.contact__btn a {
	font-size: 1.0625rem;
	letter-spacing: 0.1em;
	padding: 1.125rem 1.5625rem;
}

.contact__btn a::before {
	height: 2.1875rem;
	right: 0.9375rem;
	width: 2.1875rem;
}

.contact__btn a::after {
	height: 0.625rem;
	right: 1.6875rem;
	width: 0.625rem;
}

.footer {
	padding-bottom: 2rem;
	padding-top: 4rem;
}

.footer__logo {
	max-width: 13.75rem;
	width: 90%;
}

.footer__meta {
	margin-top: 1rem;
}

.footer__txt {
	font-size: 0.9375rem;
}

.header-hamburger {
	display: block;
	height: 3.125rem;
	position: fixed;
	right: 0rem;
	top: 0;
	transition: 0.3s;
	width: 3.125rem;
	z-index: 9999;
}

.header {
	padding-top: 0;
}

.header__logo {
	padding-bottom: 0;
	width: 40%;
}

.header__inner {
	padding-left: 20px;
	padding-right: 20px;
}

.header__body {
	align-items: center;
}

.header__nav {
	display: none;
}

.inner {
	padding-left: 20px;
	padding-right: 20px;
}

.lead-title__en {
	font-size: 1.8125rem;
	margin-right: 0.625rem;
	transform: translateY(0rem);
}

.lead-title__ja {
	font-size: 0.875rem;
}

.lead-title__bottom {
	font-size: 2.375rem;
	line-height: 1.2631578947;
	margin-top: 1rem;
}

.lead-title__bottom span {
	border-width: 0.4375rem;
	font-size: 2.625rem;
	line-height: 1.4736842105;
}

.header__pc-nav .pc-nav {
	display: none;
}

.pc-nav__items {
	flex-direction: column;
}

.pc-nav__item a {
	padding: 1rem 0;
}

.sec-title__en {
	font-size: 1.75rem;
	transform: translateY(0.125rem);
}

.sec-title__ja {
	font-size: 2.25rem;
}

.sec-title__ja::before {
	display: none;
}

.single {
	max-width: 37.5rem;
}

.single p {
	font-size: 1rem;
}

.single h2 {
	border-width: 0.1875rem;
	font-size: 1.6875rem;
}

.single h3 {
	border-width: 0.1875rem;
	font-size: 1.375rem;
}

.single ol {
	margin-top: 1.5rem;
}

.single ul {
	margin-top: 1.5rem;
}

.single p + figure {
	margin-top: 2rem;
}

.sp-nav {
	background-color: #fff;
	display: block;
	height: 100dvh;
	overflow-y: scroll;
	padding-top: 5.375rem;
	position: fixed;
	right: -105%;
	transition: all 0.5s ease 0s;
	width: 100%;
	z-index: 888;
}

.sp-nav::after {
	aspect-ratio: 1368/100;
	background: transparent url(../images/common/work-line.webp) no-repeat center center/cover;
	bottom: 1.25rem;
	content: "";
	position: absolute;
	width: 85.3333333333%;
	z-index: 2;
}

.sp-nav::before {
	aspect-ratio: 989/175;
	background: transparent url(../images/top/fv-line.webp) no-repeat center center/cover;
	bottom: 3.75rem;
	content: "";
	position: absolute;
	width: 61.3333333333%;
	z-index: 2;
}

.sp-nav__item a {
	display: block;
	font-size: 1rem;
	font-weight: 500;
	padding: 1.25rem 0;
	transition: 0.3s;
}

.sub-fv__bg {
	aspect-ratio: 375/290;
}

.top-btn {
	bottom: 1rem;
	right: 0.5rem;
}

.top-btn a span {
	height: 2.5rem;
	width: 2.5rem;
}

.top-btn a span::before {
	height: 2.5rem;
	width: 2.5rem;
}

.top-btn a span::after {
	height: 0.75rem;
	width: 0.75rem;
}

.top-btn p {
	font-size: 0.875rem;
	padding-top: 0.125rem;
}

}

@media screen and (max-width: 599px) {

.header {
	height: 3.75rem;
}

}

@media (max-width: 375px) {

html {
	font-size: 4.2666666667vw;
}

}

@keyframes slideLeft {

0% {
	opacity: 0;
	transform: translateX(-180px);
}

100% {
	transform: translateX(0);
}

40%,100% {
	opacity: 1;
}

}

@keyframes slideRight {

0% {
	opacity: 0;
	transform: translateX(180px);
}

100% {
	transform: translateX(0);
}

40%,100% {
	opacity: 1;
}

}

@keyframes slideUp {

0% {
	opacity: 0;
	transform: translateY(90px);
}

100% {
	transform: translateX(0);
}

40%,100% {
	opacity: 1;
}

}


/*# sourceMappingURL=style.css.map */
