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

:root {
	--inner-value: 1540;
	--inner: 1540px;
	--padding-pc: 25px;
	--padding-sp: 20px;
}

:root {
	--rem: 1rem / 10;
	--em: 1em / 10;
	--vw: 1440 * 100vw;
	--inner-percent: var(--inner-value) * 100%;
}

:root {
	--base-font: "Noto Serif JP", serif;
	--en-font: "Times New Roman", Times, serif;
	--fw-extralight: 200;
	--fw-light: 300;
	--fw-regular: 400;
	--fw-medium: 500;
	--fw-semibold: 600;
	--fw-bold: 700;
	--fw-extrabold: 800;
	--fw-black: 900;
	--leading-trim: calc((1em - 1lh) / 2);
}

:root {
	--white: #fff;
	--black: #111111;
	--beige: #D8C9AA;
	--green: #004831;
	--lightGreen: #C7D910;
	--gray999: #999999;
	--grayF1F: #F1F1F1;
}

:root {
	--z-index-loader: 1000;
	--z-index-header: 100;
	--z-index-drawer: 99;
	--z-index-cta: 90;
}

:root {
	--header-height: calc(120 * var(--rem));
	--scrollbar-width: 0;
}

body {
	font-family: var(--base-font);
	color: var(--black);
	font-weight: var(--fw-medium);
	line-height: 1.5;
}

body.is-sub-loading {
	overflow: hidden;
}

body.is-sub-loading {
	opacity: 0;
	visibility: hidden;
}

body.is-sub-loaded {
	opacity: 1;
	visibility: visible;
	transition: opacity 0.8s ease;
}

.grecaptcha-badge {
	visibility: hidden;
}

html {
	font-size: 10px;
}

a:hover {
	color: unset;
}

.inner {
	max-width: calc(var(--inner) + var(--padding-pc) * 2);
	margin-inline: auto;
	padding-inline: var(--padding-pc);
	width: 100%;
}

.inner.inner--lower {
	max-width: calc(var(--inner) + var(--padding-pc) * 2 - 1.2rem);
}

.about-feature__item {
	position: sticky;
	top: 8rem;
	left: 0;
}

.about-lead__title {
	font-weight: var(--fw-bold);
	font-size: 3.2rem;
	line-height: 1.4375;
	letter-spacing: 0.16em;
	text-align: center;
	margin-bottom: 4rem;
}

.about-lead__sub-title {
	font-weight: var(--fw-semibold);
	font-size: 2rem;
	line-height: 2;
	letter-spacing: 0.07em;
	text-align: center;
	margin-bottom: 8.5rem;
	word-break: keep-all;
	overflow-wrap: anywhere;
}

.about-lead__text.text-18 {
	line-height: 2.3;
	text-align: center;
	margin-bottom: 1lh;
}

.about-lead__text:last-child {
	margin-bottom: 20rem;
}

.about__lead {
	margin-top: 13rem;
}

.access__title.section-title {
	text-align: center;
	margin-bottom: 4rem;
}

.access__info.text-18 {
	font-weight: var(--fw-regular);
	line-height: 2;
	text-align: center;
	margin-bottom: 4rem;
}

.access__map {
	width: 100%;
	height: auto;
	aspect-ratio: 1534/480;
}

.access__map iframe {
	width: 100%;
	height: 100%;
}

.application__title.section-title {
	text-align: center;
	margin-bottom: 8rem;
}

.application__overview-wrap {
	max-width: 145rem;
	margin-inline: auto;
	margin-bottom: 16.6rem;
}

.application__link a {
	display: flex;
	border: 2px solid var(--green);
	padding-block: 1.9rem 3.1rem;
	padding-inline: 2rem;
	flex-direction: column;
	align-items: center;
	font-weight: var(--fw-bold);
	font-size: 1.6rem;
	line-height: 2;
	letter-spacing: 0.07em;
	position: relative;
	background-image: linear-gradient(#c4d700, #c4d700);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 0% 100%;
	transition: background-size 0.3s, color 0.3s;
}

.application__link a::after {
	content: "";
	width: 3rem;
	height: 3rem;
	clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
	background-color: var(--black);
	position: absolute;
	right: 7.4rem;
	top: 50%;
	transform: translateY(-50%);
	transition: right 0.3s;
}

.application__link a span {
	font-family: var(--en-font);
	font-size: 3.2rem;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	display: inline-block;
	margin-bottom: -1rem;
}

.archive-topics__cat {
	margin-top: 13rem;
	margin-bottom: 13rem;
}

.archive-topics__post {
	margin-bottom: 6rem;
}

.archive-topics__pagination {
	margin-bottom: 16rem;
}

.archive-works__cat {
	margin-top: 13.7rem;
	margin-bottom: 9.2rem;
}

.archive-works__post {
	margin-bottom: 10rem;
}

.archive-works__pagination {
	margin-bottom: 16rem;
}

.button {
	padding-block: 3rem;
	padding-inline: min(4.1666666667vw, 8rem);
	border: 1px solid var(--green);
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1rem;
	font-weight: var(--fw-bold);
	font-size: 1.8rem;
	line-height: 1.4444444444;
	letter-spacing: 0.08em;
	max-width: 32rem;
	margin-inline: auto;
}

.button::after {
	content: "";
	width: 1.5rem;
	height: 1.5rem;
	background-color: var(--lightGreen);
	border-radius: 100vh;
	flex-shrink: 0;
}

.company__greeting {
	margin-top: 17.4rem;
	margin-bottom: 13rem;
}

.company__overview {
	margin-bottom: 10.2rem;
}

.company__access {
	margin-bottom: 16rem;
}

.confirm__form {
	margin-block: 13rem;
}

.contact-form__wrap {
	border-top: 1px solid #CACACA;
	padding-block: 3.2rem;
	padding-inline: 4rem 3rem;
	display: grid;
	grid-template-columns: min(19.2708333333vw, 37rem) 1fr;
	margin-bottom: 0;
	align-items: center;
}

.contact-form__wrap:last-of-type {
	border-bottom: 1px solid #CACACA;
	margin-bottom: 4.8rem;
}

.contact-form__label {
	font-size: 1.8rem;
	font-weight: var(--fw-regular);
	line-height: 1.4444444444;
}

.contact-form__label span {
	margin-left: 0.3rem;
	display: inline-block;
	color: #FF3F02;
}

.contact-form__input,
.contact-form__radio,
.contact-form__textarea {
	margin-left: 3rem;
	margin-bottom: 0;
}

.contact-form__input {
	font-size: 1.8rem;
	font-weight: var(--fw-regular);
	line-height: 1.4444444444;
}

.contact-form__input input {
	padding: 1.2rem 1rem;
	width: 100%;
	font-size: 1.8rem;
	line-height: 1;
	border-radius: 0;
	border: 1px solid #888888;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: transparent;
	background-image: none;
}

.contact-form__input input:focus {
	outline: none;
}

.wpcf7-not-valid-tip {
	margin-top: 1rem;
	font-size: 1.6rem;
}

.contact-form__radio .wpcf7-not-valid-tip {
	margin-left: 1.6rem;
}

.contact-form__radio {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem 4rem;
	margin-left: 1.4rem;
}

.confirm .contact-form__radio {
	margin-left: 3rem;
}

.contact-form__radio .wpcf7-radio {
	display: flex;
	gap: 2rem 4rem;
	flex-wrap: wrap;
}

.contact-form__radio label {
	margin-bottom: 0;
}

.contact-form__radio input {
	display: none;
}

.contact-form__radio input + span {
	padding: 0 0 0 2.4rem;
	position: relative;
	display: inline-block;
	font-size: 1.8rem;
	line-height: 1;
	cursor: pointer;
}

.contact-form__radio input + span::before {
	content: "";
	width: 1.6rem;
	height: 1.6rem;
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	background: #fff;
	border: 1px solid var(--green);
	border-radius: 50%;
}

.contact-form__radio input + span::after {
	content: "";
	padding: 0.2rem;
	width: 0.8rem;
	height: 0.8rem;
	position: absolute;
	top: 50%;
	left: 0.6rem;
	transform: translateY(-50%);
	border: 1px solid transparent;
	border-radius: 50%;
	background: var(--green);
	opacity: 0;
	transition: 0.3s;
}

.contact-form__radio input:checked + span::after {
	opacity: 1;
}

.contact-form__textarea textarea {
	padding: 1rem;
	width: 100%;
	height: 28.8rem;
	font-size: 1.8rem;
	border-radius: 0;
	border: 1px solid #888888;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: transparent;
	background-image: none;
	resize: none;
}

.contact-form__textarea textarea:focus {
	box-shadow: none;
	outline: none;
}

.contact-form__privacy {
	text-align: center;
	margin-bottom: 4rem;
}

.contact-form__privacy-text {
	margin-bottom: 4rem;
	text-align: left;
}

.contact-form__privacy-content-wrap {
	max-width: 117.8rem;
	height: 30.4rem;
	margin-bottom: 4rem;
	margin-inline: auto;
}

.contact-form__privacy label {
	margin-bottom: 0;
}

.contact-form__privacy input {
	display: none;
}

.contact-form__privacy input + span {
	cursor: pointer;
	display: inline-block;
	padding: 0 0 0 6.2rem;
	position: relative;
	font-size: 1.8rem;
	font-weight: var(--fw-regular);
	line-height: 1.4444444444;
	letter-spacing: 0;
	margin-bottom: 0;
}

.contact-form__privacy .wpcf7-list-item {
	margin-left: 0;
}

.contact-form__privacy input + span::before {
	content: "";
	position: absolute;
	top: 0.5rem;
	left: 0;
	background: #fff;
	border: 1px solid #808080;
	display: block;
	width: 2.2rem;
	height: 2.2rem;
}

.contact-form__privacy input + span::after {
	content: "";
	margin-top: -0.2rem;
	position: absolute;
	top: 1.2rem;
	left: 0.2rem;
	transform: rotate(-45deg);
	display: block;
	width: 1.5rem;
	height: 0.8rem;
	border-bottom: 0.3rem solid var(--green);
	border-left: 0.3rem solid var(--green);
	transition: 0.3s;
	opacity: 0;
}

.contact-form__privacy input:checked + span::after {
	opacity: 1;
}

.contact-form__privacy input + span span {
	color: #FF3F02;
}

.contact-form__submit {
	text-align: center;
}

.contact-form__submit input {
	padding: 1.6rem;
	color: var(--white);
	display: inline-block;
	font-size: 2rem;
	line-height: 1.45;
	font-weight: var(--fw-regular);
	letter-spacing: 0;
	background-color: var(--green);
	background-image: none;
	border: none;
	border-radius: 0;
	text-decoration: none;
	cursor: pointer;
	transition: 0.3s;
	max-width: 24.8rem;
	width: 100%;
}

.contact-form__submit input + input {
	margin-top: 0.8rem;
}

.contact-form__submit input:hover,
.contact-form__submit input:focus {
	outline: none;
}

.contact-form__submit input:hover {
	color: var(--green);
	background-color: #c4d700;
}

.contact-form__submit input::-moz-foucus-inner {
	padding: 0;
	border: none;
}

.wpcf7-spinner {
	display: none;
}

.wpcf7-response-output {
	border: none !important;
	text-align: center;
	color: #dc3232;
	word-break: keep-all;
	overflow-wrap: anywhere;
	font-size: 1.6rem;
}

.contact-lead {
	text-align: center;
}

.contact-lead__tel {
	margin-bottom: 11rem;
}

.contact-lead__title.text-18,
.contact-lead__line-text.text-18,
.contact-lead__text.text-18 {
	font-weight: var(--fw-regular);
	line-height: 2;
	letter-spacing: 0;
	margin-bottom: 0;
}

.contact-lead__title.text-18 {
	margin-bottom: 2.5rem;
}

.contact-lead__link-wrap {
	max-width: 39.2rem;
	margin-inline: auto;
	margin-bottom: 0;
}

.contact-lead__tel-link {
	display: block;
	font-family: var(--en-font);
	font-weight: var(--fw-bold);
	font-size: 3.8rem;
	line-height: 1.1578947368;
	letter-spacing: 0.1em;
	color: var(--green);
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--green);
	margin-bottom: 0;
}

.contact-lead__tel-link span {
	font-size: 2.8rem;
	text-transform: uppercase;
}

.contact-lead__tel-text.text-18 {
	margin-top: 0.6rem;
	font-weight: var(--fw-regular);
	line-height: 1.4444444444;
	padding-bottom: 0.6rem;
	border-bottom: 1px solid var(--green);
	margin-bottom: 0;
}

.contact-lead__line .contact-lead__title.text-18 {
	margin-bottom: 0;
}

.contact-lead__line-text--md.text-16 {
	margin-top: 2rem;
	margin-bottom: 2rem;
	font-weight: var(--fw-regular);
}

.contact-lead__line-link {
	display: flex;
	justify-content: center;
	width: 100%;
	max-width: 36rem;
	background-color: #06C755;
	padding: 1.6rem;
	align-items: center;
	margin-inline: auto;
	color: var(--white);
	gap: 2rem;
	transition: color 0.3s, background-color 0.3s;
	margin-bottom: 14.4rem;
	font-size: 1.7rem;
	font-weight: var(--fw-regular);
	line-height: 1.4117647059;
	letter-spacing: 0.1em;
}

.contact-lead__line-link::before {
	font-family: "Font Awesome 6 Brands";
	content: "\f3c0";
	font-size: 3.2rem;
}

.contact__lead {
	margin-top: 10.2rem;
	margin-bottom: 8.4rem;
}

.contact__form {
	margin-bottom: 13rem;
}

.culture-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: min(7.2916666667vw, 14rem);
}

.culture-list__item:nth-child(2) {
	padding-top: 10rem;
}

.culture-list__img {
	margin-bottom: 2rem;
}

.culture-list__img picture,
.culture-list__img img {
	width: 100%;
	height: auto;
	aspect-ratio: 420/460;
	object-fit: cover;
}

.culture-list__title {
	display: flex;
	align-items: center;
	gap: clamp(0.8rem, 0.8333333333vw, 1.6rem);
	font-weight: var(--fw-bold);
	font-size: 2rem;
	line-height: 1.5;
	letter-spacing: 0.07em;
	word-break: keep-all;
	overflow-wrap: anywhere;
	margin-bottom: 0;
}

.culture-list__title span {
	font-weight: var(--fw-medium);
	font-size: 4rem;
	line-height: 2;
	letter-spacing: 0.07em;
	color: var(--beige);
	flex-shrink: 0;
}

.culture-list__text.text-18 {
	line-height: 2;
	word-break: unset;
	overflow-wrap: unset;
	margin-bottom: 0;
}

.culture__title.section-title {
	text-align: center;
	margin-bottom: 6rem;
}

.feature {
	background-color: var(--green);
}

.feature__inner.inner {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	height: 100rem;
}

.feature__text-area {
	padding-block: clamp(10rem, 5.7291666667vw, 11rem);
	margin-right: min(6.7708333333vw, 13rem);
}

.feature__num {
	font-family: var(--en-font);
	font-weight: var(--fw-regular);
	font-size: clamp(10rem, 6.25vw, 12rem);
	line-height: 1.15;
	letter-spacing: 0;
	color: var(--white);
	opacity: 0.6;
	display: flex;
	flex-direction: column;
	width: -moz-fit-content;
	width: fit-content;
	align-items: center;
	margin-bottom: 0;
}

.feature__num::before {
	content: "feature";
	font-size: 2.1rem;
	line-height: 1.1428571429;
	text-transform: uppercase;
}

.feature__title {
	font-weight: var(--fw-bold);
	font-size: 2.8rem;
	line-height: 1.4285714286;
	letter-spacing: 0.16em;
	color: var(--white);
	margin-bottom: min(5.7291666667vw, 11rem);
	word-break: keep-all;
	overflow-wrap: anywhere;
}

.feature__text.text-16 {
	line-height: 2;
	color: var(--white);
	margin-bottom: 0;
	word-break: unset;
	overflow-wrap: unset;
}

.feature__img {
	margin-right: calc(100% - 50vw);
	max-width: 96rem;
	height: 100%;
	overflow: hidden;
}

.feature__img picture,
.feature__img img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 960/1000;
	object-fit: cover;
}

.feature:nth-child(2n) {
	background-color: var(--white);
}

.feature:nth-child(2n) .feature__inner.inner {
	direction: rtl;
}

.feature:nth-child(2n) .feature__text-area {
	margin-right: 0;
	margin-left: min(6.7708333333vw, 13rem);
	direction: ltr;
}

.feature:nth-child(2n) .feature__num {
	color: var(--green);
}

.feature:nth-child(2n) .feature__title,
.feature:nth-child(2n) .feature__text {
	color: var(--black);
}

.feature:nth-child(2n) .feature__img {
	margin-right: 0;
	margin-left: calc(50% - 50vw);
}

.flow__contents {
	margin-top: 4.8rem;
}

.flow-item {
	padding-bottom: 8rem;
	border-bottom: 1px solid var(--white);
	width: 100%;
}

.flow-item:not(:first-child) {
	padding-top: 8rem;
}

.flow-item__inner {
	max-width: min(51.5625vw, 99rem);
	opacity: 0.3;
	transition: 0.3s;
	padding-left: 6rem;
	padding-right: 3rem;
}

.flow-item.is-active .flow-item__inner {
	opacity: 1;
}

.flow-item__head {
	display: flex;
	gap: 4rem;
	align-items: center;
	margin-bottom: 2rem;
}

.flow-item__num {
	font-family: var(--en-font);
	font-weight: var(--fw-regular);
	font-size: 5rem;
	line-height: 1;
	letter-spacing: 0.16em;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 0;
}

.flow-item__num::before {
	content: "step";
	text-transform: uppercase;
	font-size: 2rem;
	letter-spacing: 0.06em;
}

.flow-item__title {
	font-weight: var(--fw-medium);
	font-size: 2.8rem;
	line-height: 1.4285714286;
	letter-spacing: 0.16em;
	margin-bottom: 0;
}

.flow-item__text.text-18 {
	line-height: 2;
	margin-bottom: 0;
	word-break: unset;
	overflow-wrap: unset;
}

.flow__inner.inner {
	max-width: 100%;
}

.flow__contents-wrap {
	display: grid;
	grid-template-columns: min(18.75vw, 36rem) 1fr;
	gap: min(9.8958333333vw, 19rem);
	margin-right: calc(50% - 50vw);
}

.flow__img {
	position: sticky;
	top: 17rem;
	width: 100%;
	height: auto;
	aspect-ratio: 360/480;
}

.flow__img::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-color: var(--beige);
	position: absolute;
	left: 2.8rem;
	top: 3.2rem;
	z-index: -1;
}

.flow__img img {
	position: absolute;
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 360/480;
	object-fit: cover;
	opacity: 0;
	transition: opacity 0.5s ease;
}

.flow__img img.is-active {
	opacity: 1;
	z-index: 2;
}

.form__inner.inner {
	max-width: 152rem;
}

.form__text.text-18 {
	font-weight: var(--fw-regular);
	line-height: 1.4444444444;
	margin-bottom: 4.8rem;
}

.form__text.form__text--center {
	text-align: center;
	font-weight: var(--fw-bold);
}

.form__text span {
	color: #E62F2F;
}

.form__policy {
	text-align: center;
	font-size: 1.4rem;
	font-weight: var(--fw-regular);
	line-height: 1.4285714286;
	letter-spacing: 0;
	margin-top: 4rem;
}

.form__policy a {
	text-decoration: underline;
}

.greeting__contents {
	display: grid;
	grid-template-columns: 1fr min(26.0416666667vw, 50rem);
	grid-template-rows: auto 1fr;
	-moz-column-gap: min(6.7708333333vw, 13rem);
	column-gap: min(6.7708333333vw, 13rem);
}

.greeting__title {
	margin-bottom: 4rem;
}

.greeting__text.text-18 {
	line-height: 2;
	font-weight: var(--fw-regular);
	word-break: unset;
	overflow-wrap: unset;
	margin-bottom: 2rem;
}

.greeting__text.text-18:last-child {
	margin-bottom: 0;
	text-align: right;
	line-height: 2.3;
}

.greeting__img {
	grid-column: 2/3;
	grid-row: 1/3;
	margin-bottom: 0;
}

.greeting__img picture,
.greeting__img img {
	width: 100%;
	height: auto;
	aspect-ratio: 500/640;
}

.jobs-list__item {
	display: grid;
	grid-template-columns: min(34.7916666667vw, 66.8rem) 1fr;
	gap: min(6.4583333333vw, 12.4rem);
}

.jobs-list__item:nth-child(2) {
	direction: rtl;
	margin-top: 10rem;
}

.jobs-list__img {
	margin-bottom: 0;
}

.jobs-list__img picture,
.jobs-list__img img {
	width: 100%;
	height: auto;
	aspect-ratio: 668/506;
}

.jobs-list__text-area {
	border-left: 1px solid var(--white);
	padding-left: 4.3rem;
	direction: ltr;
}

.jobs-list__item:nth-child(2) .jobs-list__text-area {
	border-left: none;
	border-right: 1px solid var(--white);
	padding-right: 4.3rem;
	padding-left: 0;
}

.jobs-list__title {
	margin-bottom: 4rem;
}

.jobs-list__title p {
	font-family: var(--en-font);
	font-weight: var(--fw-bold);
	font-size: 2.4rem;
	line-height: 2;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: var(--white);
	margin-bottom: 0;
}

.jobs-list__title h3 {
	font-weight: var(--fw-bold);
	font-size: 2rem;
	line-height: 2;
	letter-spacing: 0.07em;
	color: var(--white);
	margin-bottom: 0;
}

.jobs-list__text.text-18 {
	line-height: 2;
	color: var(--white);
	margin-bottom: 0;
	word-break: unset;
	overflow-wrap: unset;
}

.jobs {
	background-color: var(--green);
	padding-top: 9.2rem;
	padding-bottom: 14.3rem;
}

.jobs__title.section-title {
	color: var(--white);
	text-align: center;
	margin-bottom: 10rem;
}

.loop {
	position: relative;
	display: flex;
	align-items: center;
	white-space: nowrap;
	overflow: hidden;
}

.loop__list {
	display: flex;
	width: -moz-max-content;
	width: max-content;
	animation: loopText 30s linear infinite;
}

.message__title.section-title {
	text-align: center;
	margin-bottom: 6rem;
}

.message__lg-text {
	font-weight: var(--fw-bold);
	font-size: 2.4rem;
	line-height: 2;
	letter-spacing: 0.07em;
	text-align: center;
	margin-bottom: 4rem;
}

.message__text.text-18 {
	text-align: center;
	margin-bottom: 1lh;
	line-height: 2;
}

.message__text.text-18:last-child {
	margin-bottom: 0;
}

.number-list {
	display: flex;
	--gap: min(calc(50 / 1920 * 100vw), 50px);
	gap: var(--gap);
	justify-content: center;
}

.number-list__item {
	background-color: var(--grayF1F);
	width: calc((100% - var(--gap) * 2) / 3);
	padding-block: 2rem;
	height: 38rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.number-list__inner {
	padding-inline: 2rem;
	text-align: center;
}

.number-list__icon {
	display: inline-block;
	width: 8rem;
	aspect-ratio: 1;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	background-color: var(--beige);
	margin-bottom: 4rem;
}

.number-list__title {
	font-weight: var(--fw-bold);
	font-size: clamp(1.8rem, 1.0416666667vw, 2rem);
	line-height: 1.75;
	letter-spacing: 0.07em;
	margin-bottom: 1.6rem;
}

.number-list__num-wrap {
	display: flex;
	justify-content: center;
	gap: min(1.5625vw, 3rem);
	margin-bottom: 0.6rem;
}

.number-list__num {
	font-family: var(--en-font);
	font-weight: var(--fw-regular);
	font-size: min(3.3333333333vw, 6.4rem);
	line-height: 1.2;
	letter-spacing: 0;
	color: var(--green);
	display: flex;
	gap: 0.8rem;
	align-items: baseline;
	margin-bottom: 0;
}

.number-list__num span {
	display: inline-block;
	font-family: var(--base-font);
	font-size: clamp(1.3rem, 0.9375vw, 1.8rem);
}

.number-list__text {
	font-weight: var(--fw-medium);
	font-size: clamp(1.8rem, 1.0416666667vw, 2rem);
	line-height: 1.75;
	letter-spacing: 0.07em;
	margin-bottom: 0;
	word-break: keep-all;
	overflow-wrap: anywhere;
}

.number-list__text span {
	font-size: 1.6rem;
	display: block;
}

.number__title.section-title {
	text-align: center;
	margin-bottom: 8rem;
}

.number__company {
	margin-bottom: 8rem;
}

.number__company:last-of-type {
	margin-bottom: 13rem;
}

.number__md-title {
	text-align: center;
	font-weight: var(--fw-bold);
	font-size: 2rem;
	line-height: 2;
	letter-spacing: 0.07em;
	margin-bottom: 4rem;
}

.number__list {
	margin-bottom: 4rem;
}

.number__list:last-of-type {
	margin-bottom: 0;
}

.number__images {
	gap: 4rem;
}

.number__img-list {
	gap: 4rem;
}

.number__img {
	margin-bottom: 0;
	width: clamp(30rem, 34.7916666667vw, 66.8rem);
}

.number__img picture,
.number__company img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 668/506;
	object-fit: cover;
}

.overview-list {
	display: grid;
	grid-template-columns: min(21.3541666667vw, 41rem) 1fr;
	border-top: 1px solid currentColor;
	padding-block: 4rem;
	align-items: center;
	margin-bottom: 0;
}

.overview-list:last-child {
	border-bottom: 1px solid currentColor;
}

.overview-list__title,
.overview-list__item {
	padding-inline: 2.4rem;
	line-height: 1.4444444444;
	margin-bottom: 0;
	word-break: unset;
	overflow-wrap: unset;
}

.overview-list__title {
	text-transform: uppercase;
}

.overview-list__item li {
	list-style: "・";
	list-style-position: inside;
	padding-left: 1em;
	text-indent: -1em;
}

.overview-list--application .overview-list__title,
.overview-list--application .overview-list__item {
	line-height: 2;
}

.overview__list:last-child {
	margin-bottom: 13rem;
}

.overview__title {
	margin-bottom: 6rem;
}

.overview__img {
	max-height: 56rem;
	overflow: hidden;
	margin-bottom: 0;
}

.overview__img picture,
.overview__img img {
	width: 100%;
	height: auto;
	aspect-ratio: 1920/560;
	object-fit: cover;
}

.page-404__content {
	margin-top: 13rem;
	margin-bottom: 13rem;
}

.page-404__text-lg {
	font-weight: var(--fw-bold);
	text-align: center;
	font-size: 2rem;
	margin-bottom: 4rem;
	word-break: keep-all;
	overflow-wrap: anywhere;
}

.page-404__text.text-18 {
	text-align: center;
	line-height: 2;
	margin-bottom: 8rem;
}

.page-nav {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}

.page-nav__prev a,
.page-nav__archive,
.page-nav__next a {
	padding-block: 3rem;
	padding-inline: min(4.1666666667vw, 8rem);
	border: 1px solid var(--green);
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1rem;
	font-weight: var(--fw-bold);
	font-size: 1.8rem;
	line-height: 1.4444444444;
	letter-spacing: 0.08em;
}

.page-nav__prev a::before {
	content: "";
	width: 1.2rem;
	height: 1.2rem;
	-webkit-mask-image: url(../images/common/arrow01.svg);
	mask-image: url(../images/common/arrow01.svg);
	-webkit-mask-position: right center;
	mask-position: right center;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	background-color: var(--lightGreen);
	scale: -1 1;
	flex-shrink: 0;
}

.page-nav__next a::after {
	content: "";
	width: 1.2rem;
	height: 1.2rem;
	-webkit-mask-image: url(../images/common/arrow01.svg);
	mask-image: url(../images/common/arrow01.svg);
	-webkit-mask-position: right center;
	mask-position: right center;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	background-color: var(--lightGreen);
	flex-shrink: 0;
}

.page-nav__archive::after {
	content: "";
	width: 1.5rem;
	height: 1.5rem;
	background-color: var(--lightGreen);
	border-radius: 100vh;
	flex-shrink: 0;
}

.pagination {
	justify-content: center;
}

.nav-links {
	display: flex;
	gap: 1.6rem;
	justify-content: center;
}

.page-numbers {
	width: 5rem;
	height: 5rem;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid var(--green);
	font-weight: var(--fw-regular);
	font-size: 1.8rem;
	letter-spacing: 0;
	line-height: 1.4444444444;
	color: var(--gray999);
	transition: color 0.3s, background-color 0.3s;
}

.page-numbers.current {
	color: var(--white);
	background-color: var(--green);
}

.page-numbers.dots {
	align-items: self-end;
}

.page-numbers.prev::before,
.page-numbers.next::before {
	content: "";
	width: 1.2rem;
	height: 1.2rem;
	-webkit-mask-image: url(../images/common/arrow01.svg);
	mask-image: url(../images/common/arrow01.svg);
	-webkit-mask-position: right center;
	mask-position: right center;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	background-color: var(--lightGreen);
}

.page-numbers.prev::before {
	scale: -1 1;
}

.policy {
	border: 1px solid #888888;
	overflow-y: scroll;
	text-align: left;
	padding-inline: min(4.1666666667vw, 8rem);
}

.policy__list {
	margin-bottom: 2.6rem;
}

.policy__list:last-of-type {
	margin-bottom: 0;
}

.policy__content {
	padding-block: 4rem;
}

.policy__title {
	font-weight: var(--fw-medium);
	font-size: 2rem;
	line-height: 2;
	letter-spacing: 0;
	margin-bottom: 2.6rem;
}

.policy__item.text-18 {
	line-height: 2;
	letter-spacing: 0;
	margin-bottom: 0;
	word-break: unset;
	overflow-wrap: unset;
	font-weight: var(--fw-regular);
}

.policy__item p {
	margin-bottom: 0;
}

.post-cat__inner.inner {
	max-width: 152rem;
}

.post-cat__items {
	display: flex;
	-moz-column-gap: 2rem;
	column-gap: 2rem;
	justify-content: center;
}

.post-cat__item a {
	display: inline-block;
	padding-block: 1.6rem;
	padding-inline: 2rem;
	font-weight: var(--fw-bold);
	font-size: 1.8rem;
	line-height: 1.4444444444;
	letter-spacing: 0.16em;
	color: var(--gray999);
	transition: color 0.3s, border 0.3s;
}

.post-cat__item.is-active a {
	color: var(--black);
	border-bottom: 3px solid var(--green);
}

.post-cat--topics .post-cat__item a {
	text-transform: uppercase;
	font-family: var(--en-font);
}

.recruit__message {
	margin-top: 13rem;
	margin-bottom: 30.6rem;
}

.recruit__culture {
	margin-bottom: 15.5rem;
}

.recruit__jobs {
	margin-bottom: 13rem;
}

.recruit__number {
	margin-bottom: 13rem;
}

.recruit__application {
	margin-bottom: 16rem;
}

.service-contents__item {
	margin-bottom: 18rem;
}

.service-contents__item:last-child {
	margin-bottom: 0;
}

.service-item__head {
	background-color: var(--green);
	margin-bottom: 6rem;
	overflow-x: clip;
}

.service-item__head-inner.inner {
	display: grid;
	grid-template-columns: 1fr min(13.0208333333vw, 25rem);
}

.service-item:nth-child(2n) .service-item__head-inner {
	direction: rtl;
}

.service-item__img {
	margin-bottom: 0;
	margin-left: calc(50% - 50vw);
}

.service-item:nth-child(2n) .service-item__img {
	margin-left: 0;
	margin-right: calc(50% - 50vw);
}

.service-item__img picture,
.service-item__img img {
	display: block;
	width: 100%;
	height: 100%;
	max-height: 64rem;
	aspect-ratio: 1480/640;
	object-fit: cover;
	object-position: left center;
}

.service-item:nth-child(2n) .service-item__img picture,
.service-item:nth-child(2n) .service-item__img img {
	object-position: right center;
}

.service-item__title-wrap {
	margin-left: min(8.6979166667vw, 16.7rem);
	width: -moz-fit-content;
	width: fit-content;
	display: flex;
	flex-direction: column;
	align-items: end;
	gap: 2rem;
	margin-top: min(3.5416666667vw, 6.8rem);
}

.service-item:nth-child(2n) .service-item__title-wrap {
	margin-left: 0;
	margin-right: min(8.6979166667vw, 16.7rem);
	align-items: self-start;
}

.service-item__num,
.service-item__title {
	writing-mode: vertical-rl;
	font-weight: var(--fw-bold);
	font-size: clamp(14px, 1.25vw, 2.4rem);
	letter-spacing: 0.07em;
	line-height: 2.2;
	color: var(--white);
	margin: 0;
}

.service-item__num {
	padding-bottom: 1rem;
	writing-mode: horizontal-tb;
	margin-bottom: 0;
	border-bottom: 1px solid currentColor;
	width: 4.8rem;
	text-align: center;
}

.service-item__title {
	letter-spacing: 0.3em;
	line-height: 2;
}

.service-item__text.text-16 {
	line-height: 2;
	margin-bottom: 10rem;
	word-break: unset;
	overflow-wrap: unset;
}

.service-item:last-child .service-item__text.text-16 {
	margin-bottom: 1lh;
}

.service-item:last-child .service-item__text.text-16:last-child {
	margin-bottom: 0;
}

.service-item__list-wrap {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: min(4.1666666667vw, 8rem);
}

.service-item:nth-child(3) .service-item__list-wrap {
	grid-template-columns: repeat(2, 1fr);
	gap: min(3.125vw, 6rem);
}

.service-item__list {
	margin-bottom: 0;
}

.service-item__list-title {
	font-weight: var(--fw-bold);
	font-size: 2rem;
	line-height: 2;
	letter-spacing: 0.07em;
	margin-bottom: 1.6rem;
}

.service-item__list-item.text-16 {
	word-break: unset;
	overflow-wrap: unset;
	line-height: 2;
	margin-bottom: 0;
}

.service-lead__text.text-16 {
	margin-bottom: 0;
	line-height: 2;
	overflow-wrap: unset;
	word-break: unset;
	overflow-wrap: unset;
}

.service__lead {
	margin-block: 13rem;
}

.service__contents {
	margin-bottom: 13rem;
}

.single-topics__article {
	margin-top: 13rem;
}

.single-topics__nav-inner.inner {
	max-width: 152rem;
}

.single-topics__page-nav {
	margin-bottom: 16rem;
}

.single-works__article {
	margin-top: 12.4rem;
	margin-bottom: 8rem;
}

.single-works__page-nav {
	margin-bottom: 16rem;
}

.single-works__nav-container {
	max-width: 146.8rem;
	margin-inline: auto;
}

body:not(.home):not(.front-page) .sub-fv {
	margin-top: var(--nav-height);
}

.sub-fv {
	position: relative;
	width: 100%;
	height: auto;
	aspect-ratio: 1920/682;
}

.sub-fv__bg {
	position: relative;
	height: 100%;
}

.sub-fv__bg::before {
	content: "";
	width: 100%;
	height: 100%;
	background-color: color-mix(in srgb, var(--beige) 30%, transparent);
	position: absolute;
	inset: 0;
}

.sub-fv__bg picture,
.sub-fv__bg img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sub-fv__title {
	display: grid;
	grid-template-columns: 1fr;
	padding-block: 3rem;
	padding-inline: 8rem;
	background-color: var(--green);
	width: -moz-fit-content;
	width: fit-content;
	position: absolute;
	left: calc(50% - min(48vw, 77rem));
	top: 42.082111437%;
}

.sub-fv__title-en {
	font-family: var(--en-font);
	font-weight: var(--fw-bold);
	font-size: 4rem;
	line-height: 1.15;
	letter-spacing: 0.05em;
	color: var(--white);
	text-transform: uppercase;
	margin-bottom: 1.6rem;
}

.sub-fv__title-ja {
	font-weight: var(--fw-medium);
	font-size: 2.4rem;
	line-height: 1.4166666667;
	letter-spacing: 0.2em;
	color: var(--white);
}

.thanks__content {
	margin-top: 13rem;
	margin-bottom: 13rem;
}

.thanks__text-lg {
	font-weight: var(--fw-bold);
	text-align: center;
	font-size: 2rem;
	margin-bottom: 4rem;
}

.thanks__text.text-18 {
	text-align: center;
	line-height: 2;
	margin-bottom: 8rem;
}

.topics-article__inner.inner {
	max-width: 152rem;
}

.topics-article__date {
	font-family: var(--en-font);
	font-weight: var(--fw-regular);
	font-size: 1.6rem;
	line-height: 1.125;
	letter-spacing: 0;
	display: block;
	margin-bottom: 3.2rem;
}

.topics-article__cat {
	display: inline-block;
	min-width: 12.6rem;
	padding-block: 0.6rem;
	padding-inline: 1rem;
	border: 1px solid currentColor;
	text-align: center;
	text-transform: uppercase;
	font-family: var(--en-font);
	font-weight: var(--fw-regular);
	font-size: 1.6rem;
	line-height: 1.125;
	letter-spacing: 0;
	margin-bottom: 3.2rem;
}

.topics-article__title {
	font-weight: var(--fw-bold);
	font-size: 2rem;
	line-height: 1.45;
	letter-spacing: 0.07em;
	margin-bottom: 8rem;
}

.topics-article__content {
	margin-bottom: 9.8rem;
	font-size: 1.6rem;
	font-weight: var(--fw-medium);
	letter-spacing: 0.07em;
	line-height: 2;
	white-space: pre-line;
}

.topics-list__item {
	border-top: 1px solid currentColor;
}

.topics-list__link {
	display: inline-block;
	width: 100%;
	padding-block: 7rem;
	transition: background-color 0.3s, color 0.3s;
}

.topics-list__inner {
	padding-inline: 2rem;
	display: flex;
	gap: 3.5rem;
	align-items: center;
	transition: padding 0.3s;
}

.topics-list__meta {
	display: flex;
	gap: min(1.8229166667vw, 3.5rem);
	align-items: center;
	flex-shrink: 0;
}

.topics-list__date {
	font-family: var(--en-font);
	font-weight: var(--fw-regular);
	font-size: 1.6rem;
	line-height: 1.125;
	letter-spacing: 0;
	display: flex;
	gap: min(3.3854166667vw, 6.5rem);
}

.topics-list__date::after {
	content: "/";
	font-family: var(--base-font);
}

.topics-list__cat {
	min-width: 12.6rem;
	padding-block: 0.6rem;
	padding-inline: 1rem;
	border: 1px solid var(--black);
	text-align: center;
	text-transform: uppercase;
	font-family: var(--en-font);
	font-weight: var(--fw-regular);
	font-size: 1.6rem;
	line-height: 1.125;
	letter-spacing: 0;
	margin-bottom: 0;
}

.topics-list__title.text-18 {
	line-height: 1.4444444444;
	word-break: unset;
	overflow-wrap: unset;
	margin-bottom: 0;
}

.topics-post__inner.inner {
	max-width: 152rem;
}

.work-flow {
	background-color: var(--grayF1F);
	padding-top: 9.3rem;
	padding-bottom: 21.7rem;
}

.works-article__cat.text-18 {
	line-height: 2;
	padding-inline: 2rem;
	color: var(--green);
	border: 1px solid currentColor;
	display: inline-block;
	margin-bottom: 4rem;
}

.works-article__title {
	font-weight: var(--fw-bold);
	font-size: 3.2rem;
	line-height: 1.3125;
	letter-spacing: 0;
	margin-bottom: 7rem;
}

.works-article__slider {
	margin-inline: max(-19rem, 50% - 50vw);
	margin-bottom: 10rem;
}

.works-article__content {
	padding-inline: min(4.1666666667vw, 8rem);
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: min(6.7708333333vw, 13rem);
	margin-bottom: 7.5rem;
}

.works-article__list-title {
	font-weight: var(--fw-bold);
	font-size: 1.6rem;
	line-height: 2.2;
	letter-spacing: 0.08em;
	background-color: var(--green);
	color: var(--white);
	padding-block: 0.4rem;
	padding-inline: 3rem;
	max-width: 22rem;
	text-align: center;
	margin-bottom: 2rem;
}

.works-article__list-item.text-16 {
	line-height: 2.2;
	margin-bottom: 0;
	white-space: pre-wrap;
	word-break: unset;
	overflow-wrap: unset;
}

.works-item__thumbnail {
	margin-bottom: 1rem;
	overflow: hidden;
	aspect-ratio: 490/306;
}

.works-item__thumbnail img {
	width: 100%;
	height: auto;
	object-fit: cover;
	transition: scale 0.3s;
	aspect-ratio: 490/306;
}

.works-item__cat.text-18 {
	line-height: 2;
	color: var(--green);
	padding-inline: 2rem;
	border: 1px solid currentColor;
	display: inline-block;
	margin-bottom: 1rem;
}

.works-item__title {
	padding-bottom: 0;
	line-height: 2;
	margin-bottom: 0;
}

.works-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(40rem, 1fr));
	gap: 10rem 3.5rem;
}

.works-slider__wrapper {
	margin-bottom: 3rem;
}

.works-slider__slide {
	width: 69.8rem;
	margin-inline: 4.7rem;
}

.works-slider__slide img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 698/489;
	object-fit: cover;
}

.works-slider__pagination {
	display: flex;
	justify-content: center;
	gap: 2.1rem;
}

.works-slider__pagination .swiper-pagination-bullet {
	margin-inline: 0 !important;
	background-color: var(--grayF1F);
	opacity: 1;
	width: 1rem;
	height: 1rem;
}

.works-slider__pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background-color: var(--green);
}

.works-voice {
	background-color: var(--green);
	padding-block: 8rem;
	border-top: 2px solid var(--beige);
	border-bottom: 2px solid var(--beige);
}

.works-voice__container {
	padding-inline: min(4.1666666667vw, 8rem);
}

.works-voice__head-wrap {
	display: flex;
	gap: 2rem;
	padding-block: 2rem;
	padding-inline: 4rem;
	border: 1px solid var(--white);
	align-items: center;
	width: -moz-fit-content;
	width: fit-content;
	margin-bottom: 2rem;
}

.works-voice__head-wrap::before {
	content: "";
	width: 4rem;
	height: 4rem;
	flex-shrink: 0;
	background-image: url(../images/common/bubble.svg);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}

.works-voice__head {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-inline: 2rem;
	font-weight: var(--fw-medium);
	font-size: 1.4rem;
	line-height: 1.5;
	letter-spacing: 0.08em;
	color: var(--white);
	margin-bottom: 0;
}

.works-voice__head span {
	text-transform: uppercase;
	font-family: var(--en-font);
	font-weight: var(--fw-regular);
	font-size: 1.9rem;
	line-height: 1.5;
	letter-spacing: 0.08em;
}

.works-voice__title.text-18 {
	font-weight: var(--fw-bold);
	line-height: 2.2;
	letter-spacing: 0.08em;
	color: var(--white);
	margin-bottom: 2rem;
}

.works-voice__text.text-16 {
	line-height: 2.2;
	letter-spacing: 0.08em;
	color: var(--white);
	margin-bottom: 0;
	white-space: pre-wrap;
	word-break: unset;
	overflow-wrap: unset;
}

.inline-block {
	display: inline-block;
}

.pc-only {
	display: block;
}

.section-title__en {
	font-family: var(--en-font);
	font-weight: var(--fw-bold);
	font-size: 4rem;
	line-height: 1.15;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	margin-bottom: 0;
}

.section-title__ja {
	font-weight: var(--fw-medium);
	font-size: 1.8rem;
	line-height: 2;
	letter-spacing: 0.07em;
	margin-bottom: 0;
}

.sp-only {
	display: none;
}

.text-18 {
	font-size: 1.8rem;
	word-break: keep-all;
	overflow-wrap: anywhere;
	font-weight: var(--fw-medium);
	letter-spacing: 0.07em;
}

.text-16 {
	font-size: 1.6rem;
	word-break: keep-all;
	overflow-wrap: anywhere;
	font-weight: var(--fw-medium);
	letter-spacing: 0.07em;
}

.visually-hidden {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	width: 1px;
	height: 1px;
	overflow: hidden;
	position: absolute;
	inset: 0;
	white-space: nowrap;
}

@media (any-hover: hover) {

.application__link a:hover {
	color: var(--green);
	border-color: currentColor;
	background-size: 100% 100%;
}

.application__link a:hover::after {
	background-color: var(--green);
	right: 4rem;
}

.button:hover {
	background-color: var(--green);
	color: var(--white);
}

.contact-lead__line-link:hover {
	color: var(--green);
	background-color: #c4d700;
}

.page-nav__prev a:hover,
.page-nav__archive:hover,
.page-nav__next a:hover {
	background-color: var(--green);
	color: var(--white);
}

.page-numbers:hover {
	color: var(--white);
	background-color: var(--green);
}

.post-cat__item a:hover {
	color: var(--black);
	border-bottom: 3px solid var(--green);
}

.topics-list__link:hover {
	background-color: var(--green);
	color: var(--white);
}

.topics-list__link:hover .topics-list__inner {
	padding-inline: 3rem;
}

.works-item__link:hover .works-item__thumbnail img {
	scale: 1.1;
}

}

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

.feature__inner.inner {
	height: 75rem;
}

.service-item__title-wrap {
	margin-left: 4rem;
}

.service-item:nth-child(2n) .service-item__title-wrap {
	align-items: center;
	margin-right: 4rem;
}

}

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

.about-feature__item {
	position: static;
}

.feature__inner.inner {
	position: static;
}

}

@media (max-width: 1000px) {

html {
	font-size: calc(10 / var(--inner-value) * 100vw);
}

}

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

:root {
	--vw: 375 * 100vw;
}

:root {
	--header-height: calc(64 * var(--rem));
}

html {
	font-size: 10px;
}

.inner {
	max-width: 600px;
	padding-inline: var(--padding-sp);
}

.inner.inner--lower {
	max-width: 600px;
}

.about-lead__title {
	font-size: min(6.1538461538vw, 2.4rem);
	margin-bottom: 2.4rem;
	font-feature-settings: "palt";
}

.about-lead__sub-title {
	font-size: 1.6rem;
	margin-bottom: 8rem;
}

.about-lead__text:last-child {
	margin-bottom: 12rem;
}

.about__lead {
	margin-top: 8rem;
}

.access__map {
	aspect-ratio: 3/4;
}

.application__title.section-title {
	margin-bottom: 4rem;
}

.application__overview-wrap {
	margin-bottom: 10rem;
}

.application__link a {
	font-size: max(10px, 1.3rem);
}

.application__link a::after {
	width: 2rem;
	height: 2rem;
	right: 3rem;
}

.application__link a span {
	font-size: 2.4rem;
}

.archive-topics__cat {
	margin-top: 8rem;
	margin-bottom: 8rem;
}

.archive-works__cat {
	margin-top: 8rem;
	margin-bottom: 8rem;
}

.archive-works__post {
	margin-bottom: 8rem;
}

.archive-works__pagination {
	margin-bottom: 8rem;
}

.button {
	padding-block: 2rem;
	font-size: 1.6rem;
}

.button::after {
	width: 1.2rem;
	height: 1.2rem;
}

.company__greeting {
	margin-top: 8rem;
	margin-bottom: 12rem;
}

.company__overview {
	margin-bottom: 8rem;
}

.company__access {
	margin-bottom: 8rem;
}

.confirm__form {
	margin-block: 8rem;
}

.contact-form__wrap {
	grid-template-columns: 1fr;
	padding-inline: 0;
}

.contact-form__label {
	font-size: 1.3rem;
}

.contact-form__input,
.contact-form__radio,
.contact-form__textarea {
	margin-left: 0;
	margin-top: 1.6rem;
}

.contact-form__input {
	font-size: 1.3rem;
}

.contact-form__input input {
	font-size: 1.3rem;
	padding: 0.8rem;
}

.wpcf7-not-valid-tip {
	font-size: 1.3rem;
}

.contact-form__radio .wpcf7-not-valid-tip {
	margin-left: 0;
}

.contact-form__radio {
	gap: 0.8rem;
	flex-direction: column;
}

.confirm .contact-form__radio {
	font-size: 1.3rem;
	margin-left: 0;
	font-weight: var(--fw-regular);
}

.contact-form__radio .wpcf7-radio {
	gap: 0.8rem 2rem;
}

.contact-form__radio input + span {
	font-size: 1.3rem;
}

.contact-form__radio input + span::before {
	width: 1.2rem;
	height: 1.2rem;
}

.contact-form__radio input + span::after {
	width: 0.3rem;
	height: 0.3rem;
	left: 0.3rem;
}

.contact-form__textarea {
	font-size: 1.3rem;
}

.contact-form__textarea textarea {
	height: 20rem;
	font-size: 1.3rem;
}

.contact-form__privacy-content-wrap {
	height: 20rem;
}

.contact-form__privacy input + span {
	font-size: 1.3rem;
	padding-left: 3.2rem;
}

.contact-form__privacy input + span::before {
	width: 1.6rem;
	height: 1.6rem;
	top: 0.2rem;
}

.contact-form__privacy input + span::after {
	top: 0.6rem;
}

.contact-form__submit input {
	font-size: 1.6rem;
}

.wpcf7-response-output {
	font-size: 1.3rem;
}

.contact-lead__tel {
	margin-bottom: 8rem;
}

.contact-lead__tel-link {
	font-size: 2.8rem;
}

.contact-lead__tel-link span {
	font-size: 2rem;
}

.contact-lead__line-link {
	margin-bottom: 8rem;
}

.contact__lead {
	margin-top: 8rem;
}

.contact__form {
	margin-bottom: 8rem;
}

.culture-list {
	grid-template-columns: 1fr;
	gap: 6.4rem;
}

.culture-list__item:nth-child(2) {
	padding-top: 0;
}

.culture-list__img {
	margin-bottom: 1.6rem;
}

.culture-list__title {
	font-size: 1.8rem;
}

.culture-list__title span {
	font-size: 3.2rem;
}

.culture__inner.inner {
	max-width: 50rem;
}

.culture__title.section-title {
	margin-bottom: 4rem;
}

.feature {
	padding-block: 8rem;
}

.feature__inner.inner {
	grid-template-columns: 1fr;
	height: auto;
}

.feature__text-area {
	display: contents;
}

.feature__num {
	font-size: 6rem;
}

.feature__num::before {
	font-size: 1.6rem;
}

.feature__title {
	font-size: 2.4rem;
	margin-bottom: 4rem;
}

.feature__text.text-16 {
	word-break: keep-all;
	overflow-wrap: anywhere;
}

.feature__img {
	margin-right: 0;
	grid-row: 3/4;
	margin-bottom: 3.2rem;
	height: auto;
	overflow: visible;
}

.feature__img picture,
.feature__img img {
	height: auto;
}

.feature:nth-child(2n) .feature__inner.inner {
	direction: ltr;
}

.feature:nth-child(2n) .feature__img {
	margin-left: 0;
}

.flow__contents {
	margin-right: 0;
	margin-top: 0;
}

.flow-item {
	padding-bottom: 4rem;
}

.flow-item:not(:first-child) {
	padding-top: 4rem;
}

.flow-item__inner {
	max-width: 100%;
	padding-left: 0;
	padding-right: 2rem;
}

.flow-item__head {
	align-items: start;
	flex-direction: column;
	gap: 0.8rem;
}

.flow-item__num {
	font-size: 3.2rem;
}

.flow-item__num::before {
	font-size: 1.6rem;
}

.flow-item__title {
	font-size: 1.8rem;
}

.flow-item__text.text-18 {
	font-size: 1.3rem;
}

.flow__contents-wrap {
	grid-template-columns: 23.0769230769vw 1fr;
	gap: 8.2051282051vw;
}

.flow__img::before {
	left: 1rem;
	top: 1rem;
}

.form__inner.inner {
	max-width: 60rem;
}

.form__text.text-18 {
	margin-bottom: 2rem;
}

.form__policy {
	font-size: 1.2rem;
}

.greeting__contents {
	grid-template-columns: 1fr;
	grid-template-rows: unset;
}

.greeting__text.text-18 {
	word-break: keep-all;
	overflow-wrap: anywhere;
}

.greeting__img {
	grid-column: unset;
	grid-row: 2/3;
	margin-bottom: 4rem;
	max-width: 35rem;
}

.jobs-list__item {
	grid-template-columns: 1fr;
	gap: 0;
}

.jobs-list__item:nth-child(2) {
	direction: ltr;
	margin-top: 8rem;
}

.jobs-list__img {
	margin-bottom: 2rem;
}

.jobs-list__text-area {
	display: contents;
}

.jobs-list__title {
	order: -1;
	margin-bottom: 2rem;
}

.jobs-list__title p {
	font-size: 2rem;
}

.jobs-list__title h3 {
	font-size: 1.8rem;
}

.jobs {
	padding-block: 8rem;
}

.jobs__title.section-title {
	margin-bottom: 8rem;
}

.message__title.section-title {
	margin-bottom: 4rem;
}

.message__lg-text {
	font-size: 2rem;
	margin-bottom: 4rem;
}

.number-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
}

.number-list__item {
	width: 100%;
	height: auto;
	padding-block: 4rem;
}

.number-list__icon {
	width: 6rem;
	margin-bottom: 2rem;
}

.number-list__title {
	font-size: 1.8rem;
	margin-bottom: 0.8rem;
}

.number-list__num-wrap {
	gap: 1.6rem;
}

.number-list__num {
	font-size: 4rem;
}

.number-list__num span {
	font-size: 1.3rem;
}

.number-list__text {
	font-size: 1.6rem;
}

.number-list__text span {
	font-size: 1.3rem;
}

.number__title.section-title {
	margin-bottom: 4rem;
}

.number__company:last-of-type {
	margin-bottom: 8rem;
}

.number__md-title {
	font-size: 1.8rem;
}

.number__images {
	gap: 2rem;
}

.number__img-list {
	gap: 2rem;
}

.number__img {
	width: 20rem;
}

.overview-list {
	grid-template-columns: 1fr;
	padding-block: 2rem;
}

.overview-list__title,
.overview-list__item {
	padding-inline: var(--padding-sp);
}

.overview-list__title {
	margin-bottom: 1.6rem;
}

.overview-list--application .overview-list__title,
.overview-list--application .overview-list__item {
	word-break: keep-all;
	overflow-wrap: anywhere;
}

.overview__list:last-child {
	margin-bottom: 8rem;
}

.overview__title {
	margin-bottom: 4rem;
}

.overview__img picture,
.overview__img img {
	aspect-ratio: 4/2;
}

.page-404__content {
	margin-top: 8rem;
	margin-bottom: 8rem;
}

.page-404__text-lg {
	font-size: 1.8rem;
}

.page-nav {
	grid-template-columns: 1fr;
}

.page-nav__prev a,
.page-nav__archive,
.page-nav__next a {
	padding-block: 2rem;
	font-size: 1.6rem;
}

.page-nav__archive::after {
	width: 1.2rem;
	height: 1.2rem;
}

.nav-links {
	gap: 1rem;
}

.page-numbers {
	font-size: 1.6rem;
	width: 4rem;
	height: 4rem;
}

.policy__list {
	margin-bottom: 2rem;
}

.policy__content {
	padding-block: 2rem;
}

.policy__title {
	font-size: 1.5rem;
	margin-bottom: 0.8rem;
}

.post-cat__items {
	-moz-column-gap: 1.6rem;
	column-gap: 1.6rem;
}

.post-cat__item a {
	font-size: clamp(10px, 3.0769230769vw, 1.3rem);
	padding-block: 0.8rem;
	padding-inline: 0;
	text-align: center;
}

.recruit__message {
	margin-top: 8rem;
	margin-bottom: 12rem;
}

.recruit__culture {
	margin-bottom: 8rem;
}

.recruit__jobs {
	margin-bottom: 8rem;
}

.recruit__number {
	margin-bottom: 8rem;
}

.recruit__application {
	margin-bottom: 8rem;
}

.service-contents__item {
	margin-bottom: 12rem;
}

.service-item__head {
	min-height: 31.3rem;
	margin-bottom: 4rem;
}

.service-item__head-inner.inner {
	grid-template-columns: 1fr 10rem;
	height: 100%;
}

.service-item__img {
	min-height: 31.3rem;
}

.service-item__img picture,
.service-item__img img {
	aspect-ratio: unset;
	object-position: center;
	height: 100%;
}

.service-item:nth-child(2n) .service-item__img picture,
.service-item:nth-child(2n) .service-item__img img {
	object-position: center;
}

.service-item__title-wrap {
	margin-top: 2rem;
	gap: 1rem;
	padding-bottom: 4rem;
}

.service-item:nth-child(2n) .service-item__title-wrap {
	margin-right: 4rem;
}

.service-item__num,
.service-item__title {
	font-size: 1.8rem;
}

.service-item__num {
	padding-bottom: 1rem;
	width: 3.2rem;
}

.service-item__text.text-16 {
	margin-bottom: 4rem;
}

.service-item__list-wrap {
	grid-template-columns: 1fr;
	gap: 3.2rem;
}

.service-item:nth-child(3) .service-item__list-wrap {
	grid-template-columns: 1fr;
	gap: 3.2rem;
}

.service-item__list-title {
	margin-bottom: 0;
	font-size: 1.8rem;
}

.service-lead__text.text-16 {
	word-break: keep-all;
	overflow-wrap: anywhere;
}

.service__lead {
	margin-block: 8rem;
}

.single-topics__article {
	margin-top: 8rem;
}

.single-topics__page-nav {
	margin-bottom: 8rem;
}

.single-works__article {
	margin-top: 8rem;
}

.sub-fv {
	aspect-ratio: 4/3;
}

.sub-fv__title {
	padding-block: 1.6rem;
	padding-inline: 2.4rem;
	left: var(--padding-sp);
	max-width: 80%;
}

.sub-fv__title-en {
	font-size: 2.8rem;
	margin-bottom: 0.8rem;
	word-break: keep-all;
	overflow-wrap: anywhere;
}

.sub-fv__title-ja {
	font-size: 1.8rem;
}

.thanks__content {
	margin-top: 8rem;
	margin-bottom: 8rem;
}

.thanks__text-lg {
	font-size: 1.8rem;
}

.topics-article__date {
	margin-bottom: 2rem;
}

.topics-article__cat {
	font-size: max(10px, 1.3rem);
	width: 10rem;
	margin-bottom: 2rem;
}

.topics-article__title {
	font-size: 1.8rem;
	margin-bottom: 4rem;
}

.topics-article__content {
	margin-bottom: 8rem;
	font-size: 1.3rem;
}

.topics-list__link {
	padding-block: 4rem;
}

.topics-list__inner {
	flex-direction: column;
	align-items: start;
	gap: 2rem;
	padding-inline: 0;
}

.topics-list__meta {
	gap: 2rem;
}

.topics-list__date {
	font-size: max(10px, 1.3rem);
}

.topics-list__cat {
	font-size: max(10px, 1.3rem);
	width: 10rem;
}

.work-flow {
	padding-top: 8rem;
	padding-bottom: 16rem;
}

.works-article__cat.text-18 {
	margin-bottom: 2.4rem;
}

.works-article__title {
	font-size: 2.4rem;
	margin-bottom: 4rem;
}

.works-article__slider {
	margin-bottom: 8rem;
}

.works-article__content {
	grid-template-columns: 1fr;
	gap: 4rem;
	padding-inline: 0;
}

.works-list {
	grid-template-columns: repeat(auto-fill, minmax(23rem, 1fr));
	row-gap: 4rem;
}

.works-slider__wrapper {
	margin-bottom: 2rem;
}

.works-slider__slide {
	width: 80%;
	margin-inline: min(2.5641025641vw, 1rem);
}

.works-slider__pagination {
	gap: 1.6rem;
}

.works-slider__pagination .swiper-pagination-bullet {
	width: 0.8rem;
	height: 0.8rem;
}

.works-voice__container {
	padding-inline: 0;
}

.works-voice__head-wrap {
	gap: 1rem;
	padding-inline: 2rem;
}

.works-voice__head-wrap::before {
	width: 3.2rem;
	height: 3.2rem;
}

.works-voice__head {
	padding-inline: 1rem;
}

.works-voice__title.text-18 {
	font-size: 1.6rem;
}

.works-voice__text.text-16 {
	word-break: keep-all;
	overflow-wrap: anywhere;
}

.pc-only {
	display: none;
}

.section-title__en {
	font-size: 2.8rem;
}

.section-title__ja {
	font-size: 1.4rem;
}

.sp-only {
	display: block;
}

.text-18 {
	font-size: 1.3rem;
}

.text-16 {
	font-size: 1.3rem;
}

}

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

.application__link a:hover::after {
	right: 1.6rem;
}

}

@media (max-width: 375px) {

html {
	font-size: 2.6666666667vw;
}

}

@keyframes loopText {

0% {
	transform: translateX(0);
}

100% {
	transform: translateX(-50%);
}

}

