body {
	font-family: "Noto Sans JP", sans-serif;
}

.u-desktop {
	display: block;
}

.u-mobile {
	display: none;
}

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

html {
	font-size: 16px;
}

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

* {
	min-height: 0vw;
}

/* 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-padding-top: 5.875rem;
}

/* Set core body defaults */

body {
	color: #000;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: bold;
	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;
	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;
	cursor: pointer;
	text-decoration: none;
	transition: opacity 0.2s ease-in;
}

a:hover {
	opacity: 0.7;
}

a[href^="tel:"] {
	pointer-events: none;
}

.text {
	display: flex;
	overflow: hidden;
}

.text span {
	display: block;
	font-weight: bold;
	transform: translateY(100%);
}

.text.is-active span {
	animation: slideIn 0.7s cubic-bezier(0.15, 1, 0.3, 1) forwards calc(0.03s * 0);
	animation: slideIn 0.7s cubic-bezier(0.15, 1, 0.3, 1) forwards calc(0.03s * var(--index, 0));
}

.slideLeft {
	animation: slideLeft 1s cubic-bezier(0.15, 1, 0.3, 1) forwards calc(0.03s * 0);
	animation: slideLeft 1s cubic-bezier(0.15, 1, 0.3, 1) forwards calc(0.03s * var(--index, 0));
}

.slideUp {
	animation: slideUp 1s cubic-bezier(0.15, 1, 0.3, 1) forwards calc(0.03s * 0);
	animation: slideUp 1s cubic-bezier(0.15, 1, 0.3, 1) forwards calc(0.03s * var(--index, 0));
}

.js-fadeIn {
	opacity: 0;
	transform: translateY(60px);
	transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.js-fadeIn.is-active {
	opacity: 1;
	transform: translateY(0);
}

.js-step-fadeIn {
	opacity: 0; /* 初期は非表示 */
	transform: translateY(70px); /* 少し下から表示 */
	transition: opacity 0.4s ease, transform 0.6s ease; /* なめらかに */
}

.js-step-fadeIn.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.page-header {
	color: #D7250F;
	padding: 8.75rem 0 8.875rem;
}

.page-header__inner {
	align-items: center;
	display: flex;
	margin: 0 auto;
	width: -moz-fit-content;
	width: fit-content;
}

.page-header-en {
	font-family: "Montserrat", sans-serif;
	font-size: 7.1875rem;
	font-style: italic;
	letter-spacing: 0.03em;
	padding-right: 0.625rem;
	text-transform: uppercase;
}

.page-header-ja {
	font-style: italic;
	font-weight: 500;
	margin-top: -1.25rem;
}

.page-header__icon {
	margin-left: 2.6875rem;
	margin-top: 2.875rem;
	width: 5.625rem;
}

body.is-scroll {
	overflow: hidden;
}

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

main {
	flex: 1;
}

.wrapper {
	overflow-x: clip;
	position: relative;
}

.inner-w {
	margin: 0 auto;
	max-width: 81.625rem;
	padding: 0 1.25rem;
	width: 100%;
}

.inner-n {
	margin: 0 auto;
	max-width: 61.875rem;
	padding: 0 1.25rem;
	width: 100%;
}

.section {
	border-top: 1.125rem solid #D7250F;
	position: relative;
	width: 100%;
}

.section.thanks {
	background-color: #D7250F;
}

.section-mask {
	position: relative;
}

.section-mask::before {
	background: url(../images/common/mask.svg) no-repeat center center/cover;
	content: "";
	height: 100%;
	left: 0;
	opacity: 0.5;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}

.section__content {
	left: 50%;
	padding: 0 1.25rem;
	position: absolute;
	text-align: center;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	z-index: 1;
}

.message .section__content {
	top: 48%;
}

.page-recruit .section__content {
	top: 51%;
}

.section__content-w {
	top: 20%;
}

.section-title {
	color: #fff;
	font-family: "Montserrat", sans-serif;
	font-style: italic;
	justify-content: center;
	letter-spacing: 0.03em;
	line-height: 2.25;
	text-align: center;
	text-transform: uppercase;
}

.section-title.c-red {
	color: #D7250F;
}

.section-title.u-mobile {
	display: none;
}

.section-title.shadow {
	text-shadow: 5px 5px 3px rgba(214, 36, 16, 0.2);
}

.page-recruit .section-title {
	font-size: 1.5625rem;
}

.text01,
.text02,
.text03,
.text04,
.text05,
.text06,
.text07,
.text08,
.text09 {
	margin: 0 auto;
	width: 100%;
}

.text01 {
	max-width: 49.0625rem;
}

.section-subtitle.text02 {
	max-width: 45.625rem;
}

.section-subtitle.text03 {
	max-width: 72.3125rem;
}

.section-subtitle.text04 {
	max-width: 56.0625rem;
}

.section-subtitle.text05 {
	max-width: 54.5rem;
}

.text06 {
	max-width: 48.75rem;
}

.text07 {
	margin-top: 1.375rem;
	max-width: 30.0625rem;
}

.text08 {
	margin-top: 1.25rem;
	max-width: 38.3125rem;
}

.text09 {
	margin-top: 1.25rem;
	max-width: 43.3125rem;
}

.text10 {
	max-width: 12.875rem;
}

.text11 {
	max-width: 17.625rem;
}

.text12 {
	max-width: 9.6875rem;
}

.text13 {
	max-width: 19.8125rem;
}

.text14 {
	max-width: 13.5625rem;
}

.section-subtitle {
	margin-top: 2.5rem;
}

.page-recruit .section-subtitle {
	margin-top: 1.875rem;
}

.section-title-w {
	color: #FFFFFF;
}

.section-btn {
	display: inline-block;
	position: relative;
}

.section-btn::before {
	background-color: #D7250F;
	content: "";
	height: 2.03125rem;
	position: absolute;
	right: 0.4375rem;
	top: 25%;
	transform: translateY(-50%) rotate(-25deg);
	width: 0.125rem;
	z-index: 1;
}

.section-btn::after {
	background-color: #D7250F;
	content: "";
	height: 2.03125rem;
	position: absolute;
	right: 0.4375rem;
	top: 73%;
	transform: translateY(-50%) rotate(25deg);
	width: 0.125rem;
	z-index: 1;
}

.section-btn a {
	backdrop-filter: blur(30px);
	background-color: rgba(255, 255, 255, 0.5);
	border-bottom: 0.125rem solid #D7250F;
	border-left: 0.125rem solid #D7250F;
	border-top: 0.125rem solid #D7250F;
	clip-path: polygon(0% 0%, 95% 0%, 100% 50%, 95% 100%, 0% 100%, 0% 0%);
	color: #D7250F;
	display: block;
	letter-spacing: 0.08em;
	padding: 1rem 1.25rem 1rem 0.25rem;
	position: relative;
	text-align: center;
	width: 17.8125rem;
}

.section-btn a::after {
	background: url(../images/common/arrow-b.svg) no-repeat center center/cover;
	content: "";
	height: 2.3125rem;
	position: absolute;
	right: 1.0625rem;
	top: 50%;
	transform: translateY(-50%);
	transition: right 0.2s ease-in;
	width: 1.375rem;
	z-index: 1;
}

.section-btn a:hover {
	opacity: 1;
}

.section-btn a:hover::after {
	right: 0.8125rem;
}

.content_wrap {
	background-color: #f0f0f0;
}

.page-entry {
	background-color: #f0f0f0;
	overflow: hidden;
	padding: 7.75rem 0 20.1875rem;
}

.page-entry__inner {
	margin: 0 auto;
	max-width: 66.875rem;
	padding: 0 1.25rem;
	width: 100%;
}

.page-entry__text {
	color: #000;
	font-size: 1.25rem;
	letter-spacing: 0.08em;
	line-height: 1.85;
}

.page-entry__block-wrap {
	display: flex;
	flex-direction: column;
	gap: 1.875rem;
	margin-top: 7.1875rem;
}

.page-entry__block {
	align-items: center;
	display: flex;
}

.page-entry__block p {
	width: 100%;
}

.page-entry__block.page-entry__block--start {
	align-items: flex-start;
}

.page-entry__block.page-entry__block--center {
	align-items: center;
}

.page-entry__block.page-entry__block--end {
	align-items: flex-end;
}

.page-entry__block.page-entry__block--file {
	margin-top: -0.625rem;
}

.page-entry__label {
	color: #000;
	cursor: default;
	flex-shrink: 0;
	font-size: 1.125rem;
	letter-spacing: 0.08em;
	line-height: 2.7;
	width: 19.0625rem;
}

.page-entry__label--ano {
	display: none;
}

.page-entry__label.page-entry__label--sub {
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.5;
	margin-top: -4.6875rem;
}

.page-entry__input {
	background-color: #FFFFFF;
	border: none;
	color: #000;
	font-size: 1rem;
	letter-spacing: 0.05em;
	line-height: 1.5;
	padding: 0.875rem 1.625rem;
	width: 100%;
}

.page-entry__input.page-entry__input--s {
	width: 22.75rem;
}

.page-entry__input::-moz-placeholder {
	color: #000;
	opacity: 0.5;
}

.page-entry__input::placeholder {
	color: #000;
	opacity: 0.5;
}

.page-entry__radio {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.page-entry__radio--l {
	margin-left: 0.8125rem;
	margin-top: 0.8125rem;
}

.page-entry__radio input + span {
	cursor: pointer;
	display: block;
	font-size: 1.125rem;
	letter-spacing: 0.08em;
	padding: 0 0 0 2.5rem;
	position: relative;
}

.page-entry__radio input + span::before {
	background: #fff;
	border: 0.125rem solid #000;
	content: "";
	display: block;
	height: 1.375rem;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 1.375rem;
}

.page-entry__radio input + span::after {
	background: #000;
	content: "";
	height: 1.25rem;
	left: 0;
	opacity: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	transition: 0.3s;
	width: 1.3125rem;
}

.page-entry__radio input:checked + span::after {
	opacity: 1;
}

input[type=date] {
	background-color: #FFFFFF;
	font-size: 1.125rem;
	letter-spacing: 0.08em;
	padding: 0.6875rem 1.625rem;
}

input[type=date]::-webkit-date-and-time-value {
	text-align: left;
}

.page-entry__radio .wpcf7-list-item {
	margin: 0;
	min-width: 16.875rem;
}

.page-entry__textarea {
	background-color: #FFFFFF;
	border: none;
	font-size: 1rem;
	height: 100%;
	letter-spacing: 0.05em;
	line-height: 1.5;
	min-height: 12.375rem;
	padding: 0.875rem 1.625rem;
	resize: none;
	width: 100%;
}

.contact__form-file-wrapper {
	display: flex;
}

.contact__form-file-wrapper p {
	align-items: center;
	display: flex;
	gap: 0.6875rem;
}

input[type=file] {
	align-items: center;
	cursor: pointer;
	display: flex;
	font-size: 1rem;
	font-weight: bold;
	justify-content: center;
}

.custom-file-button {
	background-color: #fff;
	color: #000;
	cursor: pointer;
	display: inline-block;
	font-size: 1rem;
	font-weight: bold;
	padding: 1.0625rem 1rem;
}

.file-name-display {
	align-items: center;
	display: inline-block;
	font-size: 1rem;
	margin-left: 0.8125rem;
}

.contact__form-file-text {
	line-height: 1.875;
}

.contact__form-privacy {
	margin-left: 6.25rem;
	margin-top: 1.125rem;
}

.contact__form-privacy input {
	display: none;
}

.contact__form-privacy input + span {
	color: #000;
	cursor: pointer;
	display: inline-block;
	font-size: 1.125rem;
	letter-spacing: 0.08em;
	padding: 0 0 0 1.875rem;
	position: relative;
}

.contact__form-privacy input + span::before {
	background: #fff;
	border: 0.125rem solid #000;
	content: "";
	display: block;
	height: 1.375rem;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 1.375rem;
}

.contact__form-privacy input + span::after {
	border-bottom: 0.1875rem solid #000;
	border-left: 0.1875rem solid #000;
	content: "";
	display: block;
	height: 0.5rem;
	left: 0.1875rem;
	margin-top: -0.125rem;
	opacity: 0;
	position: absolute;
	top: 38%;
	transform: translateY(-50%);
	transform: rotate(-45deg);
	transition: 0.3s;
	width: 0.9375rem;
}

.contact__form-privacy input + span a {
	-webkit-text-decoration: underline;
	text-decoration: underline;
}

.contact__form-privacy input:checked + span::after {
	opacity: 1;
}

.contact__form-submit {
	margin: 7.125rem auto 0;
	max-width: 18.75rem;
	position: relative;
	transition: 0.3s;
	width: 100%;
}

.contact__form-submit:hover::after {
	right: -0.625rem;
}

.contact__form-submit::after {
	background: url(../images/common/arrow-w.svg) no-repeat center center/cover;
	content: "";
	height: 3.5rem;
	position: absolute;
	right: 0;
	top: 37%;
	transform: translateY(-50%);
	transition: right 0.2s ease-in;
	width: 2.0625rem;
	z-index: 2;
}

.contact__form-submit input {
	-webkit-text-decoration: none;
	background-color: #D7250F;
	background-image: none;
	border: none;
	clip-path: polygon(0% 0%, 95% 0%, 100% 50%, 95% 100%, 0% 100%, 0% 0%);
	color: #fff;
	cursor: pointer;
	display: inline-block;
	font-size: 2.25rem;
	letter-spacing: 0.3em;
	padding: 0.9375rem 0;
	position: relative;
	text-decoration: none;
	width: 20.6875rem;
	z-index: 2;
}

.contact__form-submit input:hover,
.contact__form-submit input:focus {
	outline: none;
}

.contact__form-submit::-moz-foucus-inner {
	border: none;
	padding: 0;
}

.thanks {
	padding: 6.25rem 0 12.5rem;
}

.thanks .page-slogan__text {
	text-align: center;
}

.thanks__btn {
	left: 50%;
	margin: 3.75rem auto 0;
	position: absolute;
	transform: translateX(-50%);
}

.privacy-policy {
	background-color: #fff;
	color: #000;
	height: 15.5625rem;
	margin: 5.3125rem auto 0;
	max-width: 48.5625rem;
	overflow: hidden;
	padding: 2.125rem 0;
}

.privacy-policy .privacy-policy-content {
	height: 100%;
	overflow-y: scroll;
	padding: 0 2.25rem;
	width: 100%;
}

.privacy-policy__title {
	font-size: 1.25rem;
	letter-spacing: 0.08em;
}

.privacy-policy__text,
.privacy-policy__subtitle,
.privacy-policy__item {
	color: #000;
	letter-spacing: 0.08em;
	line-height: 1.875;
}

.privacy-policy__text {
	margin-top: 0.625rem;
}

.layout-footer {
	background-color: #fff;
	padding: 5.9375rem 0 4.125rem;
	position: relative;
}

.footer__inner {
	display: flex;
	justify-content: space-between;
}

.footer__logo-area img {
	height: auto;
	width: 10.3125rem;
}

.footer__wrapper {
	margin-right: 3rem;
}

.footer__nav-list {
	display: flex;
	margin-top: -0.53125rem;
}

.footer__nav-item a {
	font-family: "Montserrat", sans-serif;
	font-weight: bold;
	letter-spacing: 0.08em;
	line-height: 2.25;
	padding: 0.53125rem 1.6875rem;
	text-transform: uppercase;
}

.footer__info {
	color: #666;
	font-size: 0.75rem;
	letter-spacing: 0.03em;
	line-height: 1.7;
	margin-left: 1.875rem;
	margin-top: 4.625rem;
	max-width: 18.75rem;
}

.footer__info-office {
	color: #7E7E7E;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 2;
}

.footer__info-contact {
	display: flex;
	gap: 0.375rem;
	margin-top: 0.25rem;
}

.footer__info-tel,
.footer__info-fax {
	align-items: baseline;
	display: flex;
}

.footer__info-tel a,
.footer__info-fax-number {
	color: #7E7E7E;
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 2;
	margin-right: 0.4375rem;
}

.footer__info-tel-label,
.footer__info-fax-label {
	font-size: 0.625rem;
	font-weight: 500;
	line-height: 2.8;
	margin-right: 0.4375rem;
}

.footer__bottom {
	margin-top: 4.125rem;
}

.footer__copyright {
	color: #7E7E7E;
	font-family: "Montserrat", sans-serif;
	font-size: 0.625rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 2.8;
	text-transform: uppercase;
}

.footer__scroll-icon {
	bottom: 6.875rem;
	position: absolute;
	right: 4.125rem;
}

.footer__scroll-icon img {
	height: auto;
	width: 3.1875rem;
}

.layout-header {
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 900;
}

.header__shadow {
	background: linear-gradient(0deg, transparent 0%, rgba(0, 0, 0, 0.4) 100%);
	height: 7.0625rem;
	left: 0;
	position: absolute;
	top: 0;
	transition: opacity 0.2s ease;
	width: 100%;
	z-index: -1;
}

.home .header__logo-img--default,
.body-page-slogan .header__logo-img--default {
	display: none;
}

.home .header__logo-img--scrolled,
.body-page-slogan .header__logo-img--scrolled {
	display: block;
}

.body-page-contact .layout-header,
.body-page-contact_thanks .layout-header,
.body-page-entry .layout-header,
.body-page-project .layout-header,
.body-page-thanks .layout-header,
.body-page-top-message .layout-header,
.category .layout-header,
.single .layout-header,
.error404 .layout-header {
	position: absolute;
}

.body-page-contact .header__shadow,
.body-page-contact_thanks .header__shadow,
.body-page-entry .header__shadow,
.body-page-project .header__shadow,
.body-page-thanks .header__shadow,
.body-page-top-message .header__shadow,
.category .header__shadow,
.single .header__shadow,
.error404 .header__shadow {
	opacity: 0;
}

.body-page-contact .header__logo-img--scrolled,
.body-page-contact_thanks .header__logo-img--scrolled,
.body-page-entry .header__logo-img--scrolled,
.body-page-project .header__logo-img--scrolled,
.body-page-thanks .header__logo-img--scrolled,
.body-page-top-message .header__logo-img--scrolled,
.category .header__logo-img--scrolled,
.single .header__logo-img--scrolled,
.error404 .header__logo-img--scrolled {
	left: 5%;
	opacity: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.body-page-contact .header__logo-img--default,
.body-page-contact_thanks .header__logo-img--default,
.body-page-entry .header__logo-img--default,
.body-page-project .header__logo-img--default,
.body-page-thanks .header__logo-img--default,
.body-page-top-message .header__logo-img--default,
.category .header__logo-img--default,
.single .header__logo-img--default,
.error404 .header__logo-img--default {
	opacity: 1;
}

.body-page-contact .header__nav-item-link,
.body-page-contact_thanks .header__nav-item-link,
.body-page-entry .header__nav-item-link,
.body-page-project .header__nav-item-link,
.body-page-thanks .header__nav-item-link,
.body-page-top-message .header__nav-item-link,
.category .header__nav-item-link,
.single .header__nav-item-link,
.error404 .header__nav-item-link {
	color: #D7250F;
}

.body-page-contact .header__hamburger span,
.body-page-contact_thanks .header__hamburger span,
.body-page-entry .header__hamburger span,
.body-page-project .header__hamburger span,
.body-page-thanks .header__hamburger span,
.body-page-top-message .header__hamburger span,
.category .header__hamburger span,
.single .header__hamburger span,
.error404 .header__hamburger span {
	background-color: #D7250F;
}

.body-page-contact .layout-header.is-scrolled,
.body-page-contact_thanks .layout-header.is-scrolled,
.body-page-entry .layout-header.is-scrolled,
.body-page-project .layout-header.is-scrolled,
.body-page-thanks .layout-header.is-scrolled,
.body-page-top-message .layout-header.is-scrolled,
.category .layout-header.is-scrolled,
.single .layout-header.is-scrolled,
.error404 .layout-header.is-scrolled {
	position: fixed;
}

.body-page-contact .layout-header.is-scrolled .header__shadow,
.body-page-contact_thanks .layout-header.is-scrolled .header__shadow,
.body-page-entry .layout-header.is-scrolled .header__shadow,
.body-page-project .layout-header.is-scrolled .header__shadow,
.body-page-thanks .layout-header.is-scrolled .header__shadow,
.body-page-top-message .layout-header.is-scrolled .header__shadow,
.category .layout-header.is-scrolled .header__shadow,
.single .layout-header.is-scrolled .header__shadow,
.error404 .layout-header.is-scrolled .header__shadow {
	opacity: 1;
}

.body-page-contact .layout-header.is-scrolled .header__nav-item-link,
.body-page-contact_thanks .layout-header.is-scrolled .header__nav-item-link,
.body-page-entry .layout-header.is-scrolled .header__nav-item-link,
.body-page-project .layout-header.is-scrolled .header__nav-item-link,
.body-page-thanks .layout-header.is-scrolled .header__nav-item-link,
.body-page-top-message .layout-header.is-scrolled .header__nav-item-link,
.category .layout-header.is-scrolled .header__nav-item-link,
.single .layout-header.is-scrolled .header__nav-item-link,
.error404 .layout-header.is-scrolled .header__nav-item-link {
	color: #FFFFFF;
}

.body-page-contact .layout-header.is-scrolled .header__hamburger span,
.body-page-contact_thanks .layout-header.is-scrolled .header__hamburger span,
.body-page-entry .layout-header.is-scrolled .header__hamburger span,
.body-page-project .layout-header.is-scrolled .header__hamburger span,
.body-page-thanks .layout-header.is-scrolled .header__hamburger span,
.body-page-top-message .layout-header.is-scrolled .header__hamburger span,
.category .layout-header.is-scrolled .header__hamburger span,
.single .layout-header.is-scrolled .header__hamburger span,
.error404 .layout-header.is-scrolled .header__hamburger span {
	background-color: #FFFFFF;
}

.body-page-contact .layout-header.is-scrolled .header__logo-img--scrolled,
.body-page-contact_thanks .layout-header.is-scrolled .header__logo-img--scrolled,
.body-page-entry .layout-header.is-scrolled .header__logo-img--scrolled,
.body-page-project .layout-header.is-scrolled .header__logo-img--scrolled,
.body-page-thanks .layout-header.is-scrolled .header__logo-img--scrolled,
.body-page-top-message .layout-header.is-scrolled .header__logo-img--scrolled,
.category .layout-header.is-scrolled .header__logo-img--scrolled,
.single .layout-header.is-scrolled .header__logo-img--scrolled,
.error404 .layout-header.is-scrolled .header__logo-img--scrolled {
	opacity: 1;
}

.body-page-contact .layout-header.is-scrolled .header__logo-img--default,
.body-page-contact_thanks .layout-header.is-scrolled .header__logo-img--default,
.body-page-entry .layout-header.is-scrolled .header__logo-img--default,
.body-page-project .layout-header.is-scrolled .header__logo-img--default,
.body-page-thanks .layout-header.is-scrolled .header__logo-img--default,
.body-page-top-message .layout-header.is-scrolled .header__logo-img--default,
.category .layout-header.is-scrolled .header__logo-img--default,
.single .layout-header.is-scrolled .header__logo-img--default,
.error404 .layout-header.is-scrolled .header__logo-img--default {
	opacity: 0;
}

.body-page-contact .layout-header.is-scrolled .header__hamburger.is-open span,
.body-page-contact_thanks .layout-header.is-scrolled .header__hamburger.is-open span,
.body-page-entry .layout-header.is-scrolled .header__hamburger.is-open span,
.body-page-project .layout-header.is-scrolled .header__hamburger.is-open span,
.body-page-thanks .layout-header.is-scrolled .header__hamburger.is-open span,
.body-page-top-message .layout-header.is-scrolled .header__hamburger.is-open span,
.category .layout-header.is-scrolled .header__hamburger.is-open span,
.single .layout-header.is-scrolled .header__hamburger.is-open span,
.error404 .layout-header.is-scrolled .header__hamburger.is-open span {
	background-color: #D7250F;
}

.header {
	height: 5.875rem;
	width: 100%;
}

.header__inner {
	display: flex;
	height: inherit;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 85.375rem;
	padding-left: clamp(0.625rem, -25.417rem + 41.67vw, 3.75rem);
	padding-right: clamp(0.625rem, -20.208rem + 33.33vw, 3.125rem);
	position: relative;
	width: 100%;
}

.header__logo img {
	max-width: clamp(15.625rem, -9.091rem + 39.55vw, 21.063rem);
	width: 100%;
}

.header__logo a {
	align-items: center;
	display: flex;
	height: 5.875rem;
	justify-content: center;
}

.header__nav {
	align-items: center;
	display: flex;
	height: inherit;
}

.header__nav-list {
	display: flex;
	height: inherit;
}

.header__nav-item {
	height: inherit;
}

.header__nav-item.header__nav-item--entry {
	align-items: center;
	display: flex;
	margin-left: clamp(0.625rem, -1.932rem + 4.55vw, 1.25rem);
}

.header__nav-item-link {
	align-items: center;
	color: #FFFFFF;
	display: flex;
	font-family: "Montserrat", sans-serif;
	font-size: 0.875rem;
	height: inherit;
	letter-spacing: 0.08em;
	padding: 0 clamp(0.313rem, -5.677rem + 9.58vw, 1.031rem);
	text-transform: uppercase;
}

.header__nav-item.header__nav-item--entry img {
	width: 6.875rem;
}

.header__nav-item-link:hover {
	opacity: 1;
}

.header__nav-modal {
	background-color: #FFFFFF;
	border: 0.1875rem solid #D7250F;
	color: #D7250F;
	max-width: 15.8125rem;
	opacity: 0;
	position: absolute;
	right: 3.8125rem;
	top: 5.6875rem;
	transition: 0.5s;
	visibility: hidden;
	width: 100%;
}

.header__nav-modal-wrap:hover > .header__nav-modal {
	opacity: 1;
	visibility: visible;
}

.header__nav-modal-item:not(:first-child) {
	border-top: 0.125rem solid #D7250F;
}

.header__nav-modal-item-link {
	color: #D7250F;
	display: block;
	font-size: 0.875rem;
	padding: 1.125rem 0 1.125rem 1.5625rem;
	position: relative;
}

.header__nav-modal-item-link:hover {
	opacity: 1;
}

.header__nav-modal-item-link:hover::after {
	right: 0.625rem;
}

.header__nav-modal-item-link::after {
	background: url(../images/common/arrow-b.svg) no-repeat center center/cover;
	content: "";
	height: 1.1875rem;
	position: absolute;
	right: 1.1875rem;
	top: 50%;
	transform: translateY(-50%);
	transition: right 0.2s ease-in;
	width: 0.6875rem;
}

.header__hamburger {
	display: none;
}

.header__drawer {
	display: none;
}

.header__drawer-nav {
	margin: 0 auto;
	max-width: 37.5rem;
	padding: 0 3.125rem;
	width: 100%;
}

.header__drawer-item a::before {
	background: url(../images/common/arrow-w.svg) no-repeat center center/cover;
	content: "";
	height: 1.1875rem;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 0.6875rem;
}

.header__drawer-recruit {
	margin-left: 0.625rem;
}

.header__drawer-recruit-link {
	color: #FFFFFF;
	display: block;
	padding: 0.625rem 0 0.625rem 1.25rem;
	position: relative;
}

.header__drawer-recruit-link::before {
	background-color: #FFFFFF;
	content: "";
	height: 0.125rem;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 0.625rem;
}

.page-message {
	background: url(../images/message/mv01.webp) no-repeat center center/cover;
	height: 100%;
	padding: 11.8125rem 0 10.875rem;
	position: relative;
	width: 100%;
}

.page-message::before {
	backdrop-filter: blur(5px);
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.page-message__background img {
	-o-object-fit: cover;
	aspect-ratio: 1366/1354;
	height: 84.625rem;
	object-fit: cover;
	width: 100%;
}

.page-message__content {
	color: #fff;
	font-family: "Noto Sans", sans-serif;
	text-align: center;
}

.page-message__lead {
	font-size: 3.125rem;
	line-height: 1.4;
}

.page-message__lead img {
	margin: 0 auto;
	max-width: 60rem;
}

.page-message__text {
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 2.5;
	margin-top: 4.125rem;
}

.page-message__ceo {
	font-size: 1.25rem;
	letter-spacing: 0.08em;
	margin-top: 4.5rem;
}

.page-message__ceo-name {
	font-size: 1.875rem;
	letter-spacing: 0.035em;
	margin-top: 0.625rem;
}

.page-recruit {
	position: relative;
}

.page-recruit__background img {
	-o-object-fit: cover;
	-o-object-position: top;
	aspect-ratio: 1366/424;
	height: 26.5rem;
	object-fit: cover;
	object-position: top;
	width: 100%;
}

.page-recruit__content {
	color: #b02c18;
	position: relative;
	z-index: 1;
}

.page-recruit__label {
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.15em;
	margin-bottom: 0.625rem;
	text-transform: uppercase;
}

.page-recruit__title {
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.4;
}

.page-recruit .slogan__btn {
	margin-top: 3.125rem;
}

.no-article {
	color: #0e3d65;
	font-size: 1.3125rem;
	width: 100%;
}

.lower-news {
	margin-top: 5rem;
	padding-bottom: 8.375rem;
}

.lower-news__list {
	margin: 0 auto;
	max-width: 57.5625rem;
	width: 100%;
}

.lower-news__list .news__item a {
	border-bottom: 1px solid rgba(0, 0, 0, 0.2);
	display: block;
	padding-bottom: 3.75rem;
	padding-right: 7.25rem;
	position: relative;
	width: 100%;
}

.lower-news__list .news__item a:hover::after {
	right: -0.3125rem;
}

.lower-news__list .news__text {
	font-size: 1.125rem;
	font-weight: 400;
	letter-spacing: -0.01em;
	line-height: 2;
	margin-top: 1.25rem;
}

.news-detail {
	margin-top: 4.0625rem;
	padding-bottom: 7.5rem;
}

.new-detail__inner {
	margin: 0 auto;
	max-width: 60rem;
	padding: 0 1.25rem;
	width: 100%;
}

.news-detail__meta {
	align-items: baseline;
	display: flex;
}

.news-detail__date {
	border-right: 1px solid rgba(0, 0, 0, 0.2);
	font-size: 0.875rem;
	font-weight: 400;
	padding-right: 1.875rem;
}

.news-detail__category-wrap {
	margin-left: 1.875rem;
}

.news-detail__category {
	border: 1px solid #0e3d65;
	border-radius: 6.25rem;
	display: inline-block;
	font-size: 0.875rem;
	font-weight: 400;
	margin-right: 1.875rem;
	margin-top: 0.9375rem;
	padding: 0 1.1875rem;
}

.news-detail__title {
	font-size: 1.375rem;
	font-weight: 600;
	line-height: 1.45;
	margin-top: 2.1875rem;
}

.news-detail__content {
	margin-top: 1.6875rem;
}

.news-detail__content h1 {
	background-color: #0e3d65;
	color: #FFFFFF;
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	padding: 0.625rem 0 0.625rem 0.9375rem;
}

.news-detail__content h2 {
	border-left: 5px solid #0e3d65;
	font-size: 1.5rem;
	font-weight: 500;
	padding-left: 0.625rem;
}

.news-detail__content h3 {
	border-bottom: 2px solid #0e3d65;
	font-size: 1.125rem;
	font-size: 1rem;
	font-weight: 500;
	padding-bottom: 0.3125rem;
}

.news-detail__content p {
	font-size: 1rem;
	font-weight: 400;
	line-height: 2;
	margin-top: 1.6875rem;
}

.news-detail__content img {
	-o-object-fit: cover;
	aspect-ratio: 652/400;
	margin-top: 2.5rem;
	max-width: 40.75rem;
	object-fit: cover;
	width: 100%;
}

.news-detail__content a {
	-webkit-text-decoration: underline;
	color: #0e3d65;
	text-decoration: underline;
}

.news-detail__content ul {
	margin-top: 2.5rem;
}

.news-detail__content li {
	font-size: 1.125rem;
	font-weight: 400;
	padding-left: 1rem;
	position: relative;
}

.news-detail__content li::after {
	background-color: #0e3d65;
	border-radius: 50%;
	content: "";
	height: 0.5rem;
	left: 0;
	position: absolute;
	top: 0.5rem;
	width: 0.5rem;
}

.news-detail__content li + li {
	margin-top: 0.25rem;
}

.news-detail__back {
	margin: 8.375rem auto 0;
	max-width: 18.75rem;
	width: 100%;
}

.news-detail__back-link {
	background-color: #0e3d65;
	border: 1px solid #0e3d65;
	border-radius: 2.25rem;
	color: #f6f6f2;
	display: block;
	font-size: 1.125rem;
	font-weight: 400;
	padding: 1.25rem 2.0625rem 1.25rem 2.4375rem;
	position: relative;
	transition: color 0.2s ease-in, background-color 0.2s ease-in;
}

.news-detail__back-link:hover {
	background-color: #f6f6f2;
	color: #0e3d65;
	opacity: 1;
}

.news-detail__back-link:hover::before {
	background-color: #0e3d65;
}

.news-detail__back-link:hover::after {
	background-color: #0e3d65;
}

.news-detail__back-link::before,
.news-detail__back-link::after {
	background-color: #FFFFFF;
	content: "";
	height: 0.0625rem;
	position: absolute;
	right: 2.0625rem;
	top: 50%;
	transform: translateY(-50%);
	transition: background-color 0.2s ease-in;
	width: 1.5rem;
}

.news-detail__back-link::after {
	transform: rotate(90deg);
}

.lower-news__category-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.625rem;
	margin-top: 5rem;
}

.lower-news__category-item {
	pointer-events: auto;
}

.lower-news__category-item a {
	border: 1px solid #0e3d65;
	color: #0e3d65;
	cursor: pointer;
	display: block;
	font-size: 0.8125rem;
	font-weight: bold;
	letter-spacing: 0.15em;
	padding: 1.125rem;
	position: relative;
	transition: all 0.7s cubic-bezier(0.4, 0, 0, 1);
	width: 100%;
}

.lower-news__category-item a:hover {
	background-color: #0e3d65;
	color: #FFFFFF;
	opacity: 1;
}

.lower-news__category-item a.is-active {
	background-color: #0e3d65;
	color: #FFFFFF;
}

.news-detail {
	margin-top: 4.0625rem;
	padding-bottom: 7.5rem;
}

.new-detail__inner {
	margin: 0 auto;
	max-width: 60rem;
	padding: 0 1.25rem;
	width: 100%;
}

.news-detail__meta {
	align-items: baseline;
	display: flex;
}

.news-detail__date {
	border-right: 1px solid rgba(0, 0, 0, 0.2);
	font-size: 0.875rem;
	font-weight: 400;
	padding-right: 1.875rem;
}

.news-detail__category-wrap {
	margin-left: 1.875rem;
}

.news-detail__category {
	border: 1px solid #0e3d65;
	border-radius: 6.25rem;
	display: inline-block;
	font-size: 0.875rem;
	font-weight: 400;
	margin-right: 1.875rem;
	margin-top: 0.9375rem;
	padding: 0 1.1875rem;
}

.news-detail__title {
	font-size: 1.375rem;
	font-weight: 600;
	line-height: 1.45;
	margin-top: 2.1875rem;
}

.news-detail__content {
	margin-top: 1.6875rem;
}

.news-detail__content h1 {
	background-color: #0e3d65;
	color: #FFFFFF;
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	padding: 0.625rem 0 0.625rem 0.9375rem;
}

.news-detail__content h2 {
	border-left: 5px solid #0e3d65;
	font-size: 1.5rem;
	font-weight: 500;
	padding-left: 0.625rem;
}

.news-detail__content h3 {
	border-bottom: 2px solid #0e3d65;
	font-size: 1.125rem;
	font-size: 1rem;
	font-weight: 500;
	padding-bottom: 0.3125rem;
}

.news-detail__content p {
	font-size: 1rem;
	font-weight: 400;
	line-height: 2;
	margin-top: 1.6875rem;
}

.news-detail__content img {
	-o-object-fit: cover;
	aspect-ratio: 652/400;
	margin-top: 2.5rem;
	max-width: 40.75rem;
	object-fit: cover;
	width: 100%;
}

.news-detail__content a {
	-webkit-text-decoration: underline;
	color: #0e3d65;
	text-decoration: underline;
}

.news-detail__content ul {
	margin-top: 2.5rem;
}

.news-detail__content li {
	font-size: 1.125rem;
	font-weight: 400;
	padding-left: 1rem;
	position: relative;
}

.news-detail__content li::after {
	background-color: #0e3d65;
	border-radius: 50%;
	content: "";
	height: 0.5rem;
	left: 0;
	position: absolute;
	top: 0.5rem;
	width: 0.5rem;
}

.news-detail__content li + li {
	margin-top: 0.25rem;
}

.not-found {
	position: relative;
}

.not-found .page-slogan__img img {
	height: 31.25rem;
}

.not-found__content {
	left: 50%;
	position: absolute;
	text-align: center;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}

.not-found__title {
	color: #D7250F;
	font-family: "Montserrat", sans-serif;
	font-size: 5rem;
	text-align: center;
	text-transform: uppercase;
}

.not-found__text {
	color: #D7250F;
	font-size: 1.25rem;
	text-align: center;
}

.page-project__img img {
	-o-object-fit: cover;
	aspect-ratio: 1366/493;
	height: 30.8125rem;
	object-fit: cover;
	width: 100%;
}

.page-project__content {
	left: 50%;
	position: absolute;
	top: 1.1875rem;
	transform: translateX(-50%);
	width: 100%;
	z-index: 1;
}

.page-project1 .page-project__logo {
	margin: 0 auto;
	max-width: 16.0625rem;
	width: 100%;
}

.page-project2 .page-project__logo {
	margin: 0.75rem auto 0;
	max-width: 20.375rem;
	width: 100%;
}

.page-project__title {
	color: #fff;
	text-align: center;
}

.page-project__title-en {
	font-family: "Montserrat", sans-serif;
	font-size: 1.875rem;
	font-style: italic;
	letter-spacing: 0.03em;
	margin-top: 0.25rem;
}

.product {
	background-color: #F0F0F0;
	overflow: hidden;
	padding: 8.8125rem 0 9.5rem;
	position: relative;
}

.product::after {
	background: url(../images/project/arrow-rl.webp) no-repeat center center/cover;
	content: "";
	height: 100%;
	left: 61%;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	width: 59.4375rem;
}

.product__inner {
	position: relative;
	z-index: 1;
}

.product__heading {
	color: #2F2F2F;
}

.product__title {
	font-family: "Noto Sans", sans-serif;
	font-size: 3.125rem;
	font-weight: 600;
	line-height: 1.46;
	text-align: center;
}

.product__text {
	font-weight: 500;
	letter-spacing: 0.07em;
	line-height: 2.125;
	margin-top: 1.5rem;
}

.product__images {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	margin-top: 5rem;
}

.product__image--large {
	width: 100%;
}

.product__image-grid-wrap {
	grid-column-gap: 0.8125rem;
	grid-row-gap: 0.625rem;
	display: flex;
}

.product__images-wrap {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.product__image-grid-wrap:nth-of-type(2) {
	margin-top: 0.625rem;
}

.product__image--wide img {
	-o-object-fit: cover;
	aspect-ratio: 559/435;
	height: 27.1875rem;
	object-fit: cover;
	width: 100%;
}

.product__image--narrow--n img,
.product__image--narrow--w img {
	-o-object-fit: cover;
	aspect-ratio: 364/213;
	height: 13.3125rem;
	object-fit: cover;
	width: 100%;
}

.title-recruitment {
	align-items: center;
	background-color: #D7250F;
	clip-path: polygon(0 0, 98.3% 0, 100% 50%, 98.3% 100%, 0 100%, 1.7% 50%);
	display: flex;
	margin: 0 auto;
	max-width: 69.0625rem;
	overflow: hidden;
	padding: 1.25rem 0 1.25rem 3.125rem;
	position: relative;
}

.title-recruitment::after {
	background: url(../images/common/mask.svg) no-repeat center center/cover;
	content: "";
	height: 100%;
	left: 0;
	opacity: 0.5;
	position: absolute;
	top: 0;
	width: 130%;
	z-index: 1;
}

.title-recruitment__icon {
	margin-right: 2.1875rem;
}

.title-recruitment__icon img {
	width: 1.75rem;
}

.title-recruitment__text {
	color: #fff;
	font-family: "Montserrat", sans-serif;
	font-size: 2.1875rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.page-recruitment {
	background-color: #f0f0f0;
	padding: 4.8125rem 1.25rem 0;
}

.breadcrumb {
	align-items: center;
	background-color: #f0f0f0;
	color: #D7250F;
	display: flex;
	font-size: 0.875rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.5;
	padding-top: 2rem;
}

.breadcrumb__inner {
	color: #000;
	letter-spacing: 0.08em;
}

.breadcrumb__arrow {
	margin: 0 0.5rem;
}

.breadcrumb__current {
	font-weight: bold;
}

.page-recruitment__filter {
	background-color: #f0f0f0;
	padding: 4.25rem 0;
}

.page-recruitment__filter-title {
	align-items: center;
	color: #D7250F;
	display: flex;
	font-size: 1.25rem;
	letter-spacing: 0.08em;
	margin-bottom: 60px;
	padding: 0 2.1875rem;
	padding-left: 0;
	position: relative;
}

.page-recruitment__filter-title::after {
	background: url(../images/common/border.svg) no-repeat center center/cover;
	content: "";
	height: 0.0625rem;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 63%;
}

.page-recruitment__filter-icon {
	margin-right: 0.5625rem;
	width: 1.0625rem;
}

.inner.recruitment__inner {
	padding: 0;
	width: 930px;
}

.category_block {
	margin-bottom: 24px;
}

.category_block .category_title {
	align-items: center;
	background-color: #D7250F;
	display: flex;
	height: 100px;
	position: relative;
	width: 100%;
}

.category_block .category_title:after {
	background: url(../images/common/mask.svg) no-repeat center center/cover;
	content: "";
	height: 100%;
	left: 0;
	opacity: 0.5;
	position: absolute;
	top: 0;
	width: 130%;
	z-index: 1;
}

.category_block .category_title span {
	color: #fff;
	font-size: 2.0625rem;
	margin: auto;
	margin-left: 90px;
}

.category_block .category_title span::before,
.category_block .category_title span::after {
	background-color: #fff;
	content: "";
	height: 6px;
	position: absolute;
	right: 90px;
	top: 50%;
	transform: translateY(-50%);
	transition: transform 0.5s;
	width: 40px;
}

.category_block .category_title span::after {
	transform: translateY(-50%) rotate(90deg);
}

.category_block .category_title.active span::after {
	transform: translateY(-50%) rotate(0);
}

.category_block .category_content {
	background-color: #fff;
	display: none;
	padding: 70px 75px 75px;
}

.category_block .category_content .page-recruitment__filter-title:after {
	width: 55%;
}

.category_block .category_content .choose_wrap {
	display: flex;
	flex-wrap: wrap;
}

.category_block .category_content .choose_wrap .choose_title {
	border: solid 2px #D7250F;
	overflow: hidden;
	padding: 20px 25px;
	position: relative;
	width: 100%;
}

.category_block .category_content .choose_wrap .choose_title::before {
	background: url(../images/common/arrow2-b.svg) no-repeat center center/cover;
	content: "";
	height: 15px;
	position: absolute;
	right: 25px;
	top: 50%;
	transform: translateY(-50%);
	width: 31px;
	z-index: 1;
}

.category_block .category_content .choose_wrap .choose_title::after {
	background: url(../images/common/mask.svg) no-repeat center center/cover !important;
	width: 150% !important;
}

.category_block .category_content .choose_wrap .choose_title:hover {
	opacity: 1;
}

.category_block .category_content .choose_wrap .choose_title.active {
	background-color: #D7250F;
}

.category_block .category_content .choose_wrap .choose_title.active::before {
	background: url(../images/common/arrow2-w.svg) no-repeat center center/cover;
}

.category_block .category_content .choose_wrap .choose_title.active:after {
	background: url(../images/common/mask2.svg) no-repeat center center/cover;
	content: "";
	height: 100%;
	left: 0;
	opacity: 0.5;
	position: absolute;
	top: 0;
	width: 130%;
	z-index: 1;
}

.category_block .category_content .choose_wrap .choose_title.active span {
	color: #fff;
}

.category_block .category_content .choose_wrap .choose_title:nth-child(n+2) {
	margin-top: 1.875rem;
}

.category_block .category_content .choose_wrap .choose_title span {
	color: #D7250F;
	display: inline-block;
	font-size: 1.5rem;
	width: calc(100% - 40px);
}

.page-recruitment__filter-list {
	grid-gap: 1.6875rem 2.625rem;
	display: grid;
	gap: 1.6875rem 2.625rem;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 1.6875rem;
	padding-left: 4.1875rem;
	position: relative;
}

.page-recruitment__filter-list::after {
	background: url(../images/common/border.svg) no-repeat center center/cover;
	bottom: -2.625rem;
	content: "";
	height: 0.0625rem;
	position: absolute;
	right: 0;
	width: 97%;
}

.page-recruitment__filter-item:nth-child(3n-2) {
	width: 16.875rem;
}

.page-recruitment__filter-item:nth-child(3n-1) {
	width: 23.125rem;
}

.page-recruitment__filter-all {
	margin-left: 4.1875rem;
	margin-top: 2.25rem;
}

.recruitment__radio {
	align-items: center;
	display: flex;
}

.recruitment__radio span {
	color: #D7250F;
	cursor: pointer;
	font-size: 1.125rem;
	letter-spacing: 0.08em;
	padding-left: 1.875rem;
	position: relative;
}

.recruitment__radio span::before {
	background-color: #fff;
	border: 0.125rem solid #D7250F;
	content: "";
	height: 1.375rem;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 1.375rem;
}

.recruitment__radio span::after {
	background-color: #D7250F;
	content: "";
	height: 1.3125rem;
	left: 0;
	opacity: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	transition: opacity 0.3s ease;
	width: 1.3125rem;
}

.recruitment__radio input:checked + span::after {
	opacity: 1;
}

.page-recruitment__cards {
	grid-gap: 1.875rem;
	display: grid;
	gap: 1.875rem;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 3.75rem;
}

.page-recruitment__card {
	background-color: #fff;
	border: 0.125rem solid #D7250F;
}

.page-recruitment__card a {
	display: block;
	height: 100%;
}

.page-recruitment__card a:hover .page-recruitment__card-heading::after {
	right: 0.625rem;
}

.page-recruitment__card.is-active {
	display: block;
}

.page-recruitment__card-heading {
	border-bottom: 0.125rem solid #D7250F;
	line-height: 1.55;
	min-height: 3.875rem;
	padding: 0.9375rem 1.1875rem;
	position: relative;
}

.page-recruitment__card-heading::after {
	background: url(../images/common/arrow-b.svg) no-repeat center center/cover;
	content: "";
	height: 2rem;
	position: absolute;
	right: 1rem;
	top: 50%;
	transform: translateY(-50%);
	transition: right 0.2s ease;
	width: 1.1875rem;
}

.page-recruitment__card-heading::before {
	background: url(../images/common/mask-r.svg) no-repeat center center/cover;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}

.page-recruitment__card-company {
	color: #D7250F;
	display: block;
	font-size: 1.125rem;
}

.page-recruitment__card-title {
	color: #D7250F;
	display: block;
	font-size: 1.375rem;
	width: calc(100% - 1.2rem);
}

.page-recruitment__card-body {
	padding: 1.75rem 1.1875rem;
}

.page-recruitment__card-labels {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-bottom: 0.75rem;
}

.page-recruitment__card-label {
	background-color: #FFFFFF;
	border: 0.125rem solid #D7250F;
	color: #D7250F;
	font-size: 1.0625rem;
	padding: 0.25rem 0.5625rem;
	text-align: justify;
}

.page-recruitment__card-label--r {
	background-color: #D7250F;
	color: #FFFFFF;
}

.page-recruitment__card-desc {
	align-items: flex-start;
	color: #D7250F;
	display: flex;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.375rem;
}

.page-recruitment__card-desc-title {
	flex-shrink: 0;
	width: 5.625rem;
}

.page-recruitment__no-posts {
	color: #D7250F;
	font-family: "Montserrat", sans-serif;
	font-size: 1.125rem;
	text-transform: uppercase;
}

.detail-recruitment {
	background-color: #f0f0f0;
	overflow: hidden;
	padding-bottom: 8.9375rem;
}

.detail-recruitment__inner {
	margin: 6.375rem auto 0;
	max-width: 68.75rem;
	padding: 0 1.25rem;
	width: 100%;
}

.detail-recruitment__table {
	border: 0.1875rem solid #D7250F;
	border-collapse: collapse;
	margin: 6.375rem auto 0;
	max-width: 64.875rem;
	width: 100%;
}

.detail-recruitment__row {
	display: flex;
}

.detail-recruitment__heading {
	align-items: center;
	background-color: #D7250F;
	color: #fff;
	display: flex;
	flex-shrink: 0;
	letter-spacing: 0.08em;
	overflow: hidden;
	padding: 1.3125rem 0 1.3125rem 2.125rem;
	position: relative;
	width: 17.25rem;
}

.detail-recruitment__heading::after {
	background: url(../images/common/mask.svg) no-repeat center center/cover;
	content: "";
	height: 100%;
	left: 0;
	opacity: 0.5;
	position: absolute;
	top: 0;
	width: 600%;
	z-index: 1;
}

.detail-recruitment__row:not(:first-child) .detail-recruitment__heading {
	border-top: 0.1875rem solid #FFFFFF;
}

.detail-recruitment__data {
	background-color: #FFFFFF;
	color: #D7250F;
	letter-spacing: 0.08em;
	line-height: 1.875;
	padding: 1.3125rem 2.75rem;
	width: 100%;
}

.detail-recruitment__row:not(:first-child) .detail-recruitment__data {
	border-top: 0.1875rem solid #D7250F;
}

.detail-recruitment__btn {
	margin: 9.125rem auto 0;
	max-width: 20.6875rem;
	width: 100%;
}

.detail-recruitment__btn a {
	-webkit-text-decoration: none;
	background-color: #D7250F;
	background-image: none;
	border: none;
	clip-path: polygon(0% 0%, 95% 0%, 100% 50%, 95% 100%, 0% 100%, 0% 0%);
	color: #fff;
	cursor: pointer;
	display: block;
	display: inline-block;
	font-family: "Montserrat", sans-serif;
	font-size: 2.8125rem;
	font-style: italic;
	letter-spacing: 0.03em;
	max-width: 20.6875rem;
	padding: 0.5625rem 0 0.5625rem 3.875rem;
	position: relative;
	text-decoration: none;
	width: 100%;
	z-index: 2;
}

.detail-recruitment__btn a:hover {
	opacity: 1;
}

.detail-recruitment__btn a:hover::after {
	right: 1.125rem;
}

.detail-recruitment__btn a::after {
	background: url(../images/common/arrow-w.svg) no-repeat center center/cover;
	content: "";
	height: 3.5rem;
	position: absolute;
	right: 1.5rem;
	top: 50%;
	transform: translateY(-50%);
	transition: right 0.2s ease-in;
	width: 2.0625rem;
	z-index: 2;
}

.mynavi_wrap {
	margin-top: 65px;
}

.mynavi_wrap .mynavi_text {
	font-size: 1.25rem;
	font-weight: 500;
	text-align: center;
}

.mynavi_wrap a {
	display: block;
	margin: 20px auto 0;
	width: 333px;
}

.mynavi_wrap a img {
	height: auto;
	width: 100%;
}

.page-slogan {
	position: relative;
}

.page-slogan__img img {
	-o-object-fit: cover;
	aspect-ratio: 1366/1872;
	height: 117rem;
	object-fit: cover;
	width: 100%;
}

.page-slogan__content {
	color: #D7250F;
	left: 50%;
	position: absolute;
	text-align: center;
	top: 23.125rem;
	transform: translateX(-50%);
	width: 100%;
}

.page-slogan__subtitle {
	color: #fff;
	font-family: "Montserrat", sans-serif;
	font-size: 1.875rem;
	font-style: italic;
	justify-content: center;
	text-shadow: 5px 5px 3px rgba(214, 36, 16, 0.2);
	text-transform: uppercase;
}

.page-slogan__title {
	margin-top: 2.875rem;
}

.page-slogan__text {
	color: #fff;
	font-family: "Noto Sans", sans-serif;
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	line-height: 2.65;
	margin-top: 4rem;
	text-shadow: 5px 5px 3px rgba(214, 36, 16, 0.2);
}

.page-slogan__logo {
	color: #fff;
	font-family: "Montserrat", sans-serif;
	font-size: 3.0625rem;
	font-style: italic;
	letter-spacing: 0.03em;
	margin-top: 3.125rem;
	text-shadow: 5px 5px 3px rgba(214, 36, 16, 0.2);
	text-transform: uppercase;
}

.page-slogan__sub-logo {
	color: #fff;
	font-size: 1.25rem;
	letter-spacing: 0.03em;
	margin-top: -0.3125rem;
	text-shadow: 5px 5px 3px rgba(214, 36, 16, 0.2);
	text-transform: uppercase;
}

.entry__img {
	bottom: 0.625rem;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	right: 0.625rem;
	transition: opacity 0.3s ease, visibility 0.3s ease, bottom 0.3s ease;
	visibility: hidden;
	z-index: 10;
}

.entry__img.is-visible {
	opacity: 1;
	pointer-events: auto;
	visibility: visible;
}

.entry__img img {
	height: auto;
	width: 6.5rem;
}

.mv {
	background-color: #D7250F;
	height: 100dvh;
	min-height: 37.5rem;
	position: relative;
	z-index: -1;
}

.mv__inner {
	height: inherit;
	min-height: inherit;
	position: relative;
}

.mv__video {
	-o-object-fit: cover;
	height: 100vh;
	left: 0;
	object-fit: cover;
	top: 0;
	width: 100%;
}

.mv__title-wrap {
	left: 50%;
	margin: 0 auto;
	max-width: 77.5rem;
	padding: 0 1.25rem;
	position: fixed;
	top: 54.5%;
	transform: translate(-50%, -50%);
	width: 100%;
	z-index: 8;
}

.mv__main-title {
	max-width: 24.8125rem;
	position: relative;
	width: 100%;
}

.slogan {
	position: relative;
	width: 100%;
}

.slogan__inner {
	height: auto;
	position: relative;
	width: 100%;
}

.slogan__img {
	aspect-ratio: 1366/617;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.slogan__img img {
	-o-object-fit: cover;
	height: 100%;
	left: 0;
	object-fit: cover;
	position: absolute;
	top: 0;
	width: 100%;
}

.slogan__btn {
	margin-top: 3.125rem;
}

.message__img {
	-o-object-fit: cover;
	aspect-ratio: 1366/616;
	object-fit: cover;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.message__img::after {
	backdrop-filter: blur(5px);
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.message__img img {
	-o-object-fit: cover;
	left: 0;
	object-fit: cover;
	position: absolute;
	top: 0;
	transition: transform 0.5s ease-out;
	width: 100%;
}

.project__inner-wrap {
	align-items: flex-start;
	display: flex;
	justify-content: space-between;
	left: 0;
	overflow: hidden;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}

.project__img-usagi {
	margin-left: -1.25rem;
	max-width: 15.875rem;
	width: 100%;
}

.project__img-kanazawa {
	height: auto;
	margin-right: 2rem;
	margin-top: 2rem;
	max-width: 10rem;
	width: 100%;
}

.project__img-wrapper {
	display: flex;
}

.project__img {
	width: 100%;
}

.project__img img {
	-o-object-fit: cover;
	aspect-ratio: 683/710;
	height: 44.375rem;
	object-fit: cover;
	width: 100%;
}

.project__btn {
	margin-top: 5rem;
}

.company {
	background-color: #D7250F;
	padding: 27.625rem 0 9.25rem;
}

.company-buttons__list {
	grid-column-gap: 0.4375rem;
	grid-row-gap: 0.4375rem;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: repeat(3, 1fr);
}

.company-buttons__item:nth-of-type(1) {
	grid-area: 1/1/3/3;
}

.company-buttons__item:nth-of-type(2) {
	grid-area: 1/3/2/4;
}

.company-buttons__item:nth-of-type(3) {
	grid-area: 2/3/3/4;
}

.company-buttons__item:nth-of-type(4) {
	grid-area: 3/1/4/2;
}

.company-buttons__item:nth-of-type(5) {
	grid-area: 3/2/4/3;
}

.company-buttons__item:nth-of-type(6) {
	grid-area: 3/3/4/4;
}

.company-buttons__item a {
	display: block;
	position: relative;
}

.company-buttons__item a::before {
	background-image: linear-gradient(to bottom, #000, #000);
	content: "";
	height: 100%;
	left: 0;
	opacity: 0.4;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}

.company-buttons__item a:hover {
	opacity: 1;
}

.company-buttons__item a:hover .company-buttons__image img {
	transform: scale(1.05);
}

.company-buttons__item a:hover .company__btn span::after {
	right: 0.75rem;
}

.company-buttons__item a:hover .company__btn-s span::after {
	right: 0.75rem;
}

.no-link {
	pointer-events: none;
}

.no-link:hover {
	opacity: 1;
}

.no-link:hover .company-buttons__image img,
.no-link:hover .company-buttons__image--s img,
.no-link:hover .company-buttons__image--m img {
	transform: scale(1.05);
}

.company-buttons__content {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
	z-index: 1;
}

.company-buttons__image {
	overflow: hidden;
}

.company-buttons__image--l img {
	-o-object-fit: cover;
	aspect-ratio: 342/210;
	object-fit: cover;
	transition: transform 0.3s ease-in;
	width: 100%;
}

.company-buttons__image--m img {
	transition: transform 0.3s ease-in;
}

.company-buttons__name {
	color: #FFFFFF;
	font-size: 1.25rem;
	letter-spacing: 0.08em;
	line-height: 1.55;
	text-align: center;
}

.company-buttons__name-en {
	color: #FFFFFF;
	font-family: "Montserrat", sans-serif;
	font-size: 0.625rem;
	font-weight: 600;
	letter-spacing: -0.04em;
	margin-top: 1rem;
	text-align: center;
	text-transform: uppercase;
}

.company-buttons__item:nth-child(1) .company-buttons__name {
	font-size: 2.375rem;
	letter-spacing: 0.08em;
}

.company-buttons__item:nth-child(1) .company-buttons__name-en {
	font-size: 1.4375rem;
	font-weight: 600;
	letter-spacing: -0.04em;
	margin-top: 1rem;
}

.company-buttons-name-en {
	color: #888;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.4;
	margin-top: 0.3125rem;
}

.recruitment {
	background-color: #F0F0F0;
	padding: 5.75rem 0;
}

.recruitment__content {
	background-color: #F0F0F0;
	padding: 5.75rem 0 0;
}

.recruitment.section {
	border-top: none;
}

.recruitment__link_wrap {
	display: flex;
	gap: 30px;
	justify-content: center;
}

.recruitment__link_wrap .recruitment__btn {
	bottom: auto;
	bottom: initial;
	left: auto;
	left: initial;
	position: relative;
	transform: none;
}

.recruitment__link_wrap .recruitment__btn::before,
.recruitment__link_wrap .recruitment__btn::after {
	height: 2.5rem;
	width: 0.25rem;
}

.recruitment__link_wrap .recruitment__btn a {
	border-width: 4px;
	font-size: 1.4375rem;
	width: 21rem;
}

.recruitment__tab-menu {
	background-color: #fff;
	display: flex;
}

.recruitment__tab-menu-item {
	align-items: center;
	color: #D7250F;
	cursor: pointer;
	display: flex;
	justify-content: center;
	letter-spacing: 0.08em;
	max-width: 13.75rem;
	padding: 0.625rem 0;
	position: relative;
	text-align: center;
	width: 100%;
}

.recruitment__tab-menu-item.dummy-tab {
	background-color: #F0F0F0;
	cursor: default;
	display: flex;
	flex-shrink: 0;
	width: 14rem;
}

.recruitment__tab-menu-item:nth-child(n+3) span::before {
	background-color: #D7250F;
	content: "";
	height: 3rem;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 0.0625rem;
}

.recruitment__tab-menu-item.is-active {
	background: url(../images/top/mask-r.svg) no-repeat center center/cover;
}

.recruitment__tab-menu-item.is-active::before {
	background: url(../images/common/arrow-b.svg) no-repeat center center/cover;
	bottom: -1.5625rem;
	content: "";
	height: 1.1875rem;
	left: 50%;
	position: absolute;
	transform: translateX(-50%) rotate(90deg);
	width: 0.6875rem;
}

.recruitment__tab-menu-item.is-active::after {
	border: 0.1875rem solid #D7250F;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 101%;
}

.recruitment__tab-content-item-wrap {
	display: none;
}

.recruitment__tab-content-item-wrap.is-active {
	animation: fade 0.3s;
	display: block;
}

.recruitment__tab-content {
	border-bottom: 0.125rem solid #D7250F;
	border-left: 0.1875rem solid #D7250F;
	border-right: 0.1875rem solid #D7250F;
	border-top: 0.1875rem solid #D7250F;
	margin-top: 2.1875rem;
	max-height: 27.4375rem;
	overflow-y: auto;
}

.recruitment__tab-content-item {
	background-color: #fff;
}

.recruitment-detail-block {
	display: flex;
}

.recruitment-detail-block:not(:first-child) {
	border-top: 1px solid #D7250F;
	margin-top: 0.375rem;
}

.recruitment-detail-company {
	align-items: center;
	background-color: #D7250F;
	color: #fff;
	display: flex;
	flex-shrink: 0;
	justify-content: center;
	letter-spacing: 0.08em;
	text-align: center;
	width: 13.625rem;
}

.recruitment-detail-rows {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	width: 100%;
}

.recruitment-detail-row.is-placeholder {
	align-items: center;
	display: flex;
}

.recruitment-detail-row:nth-child(2n+1) {
	border-right: 1px solid #D7250F;
}

.recruitment-detail-row {
	border-bottom: 1px solid #D7250F;
}

.recruitment-detail-row:first-of-type {
	border-top: none;
}

.recruitment-detail-row a {
	display: flex;
	padding: 1.1875rem 0;
}

.recruitment-detail-job,
.recruitment-detail-num {
	color: #D7250F;
	letter-spacing: 0.08em;
}

.recruitment-detail-job {
	padding: 0 1.625rem;
	width: 90%;
}

.recruitment-detail-num {
	padding-right: 0.625rem;
	white-space: nowrap;
	width: 12%;
}

.recruitment-detail-row > :first-child {
	border-left: none;
}

.recruitment__btn {
	bottom: 8%;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
}

.recruitment__no-entry {
	color: #D7250F;
	padding: 1.875rem;
}

.recruit-tab__content-wrap {
	max-height: 15.0625rem;
	overflow-y: auto;
}

.recruit-tab__list-item:first-child {
	border-top: none;
}

/* 開いているとき */

.is-open .recruit-tab__content {
	display: block;
}

/* 閉じているとき */

.recruit-tab__content {
	display: none;
}

.gallery {
	background-color: #D7250F;
	padding-top: 11.8125rem;
}

.gallery-list {
	display: flex;
	gap: 0.375rem;
}

.gallery-list:nth-child(odd) img {
	height: 33.125rem;
}

.gallery-list:nth-child(even) img {
	height: 26.125rem;
}

.gallery-list:not(:first-child) {
	margin-top: 0.4375rem;
}

.gallery-list:nth-of-type(1) .gallery-item:nth-child(1),
.gallery-list:nth-of-type(5) .gallery-item:nth-child(1) {
	width: 42%;
}

.gallery-list:nth-of-type(1) .gallery-item:nth-child(2),
.gallery-list:nth-of-type(5) .gallery-item:nth-child(2) {
	width: 58%;
}

.gallery-list:nth-of-type(3) .gallery-item:nth-child(1) {
	width: 58%;
}

.gallery-list:nth-of-type(3) .gallery-item:nth-child(2) {
	width: 42%;
}

.gallery-list .gallery-item img:nth-child(1) {
	-o-object-fit: cover;
	aspect-ratio: 1/1;
	object-fit: cover;
	width: 100%;
}

.gallery-list .gallery-item img:nth-child(2) {
	-o-object-fit: cover;
	aspect-ratio: 730/530;
	object-fit: cover;
	width: 100%;
}

.gallery-item,
.gallery-mobile__item {
	position: relative;
}

.gallery-item::after,
.gallery-mobile__item::after {
	background-color: rgba(255, 255, 255, 0.5);
	content: "";
	height: 100%;
	left: 0;
	mix-blend-mode: soft-light;
	position: absolute;
	top: 0;
	width: 100%;
}

.gallery-mobile {
	padding-top: 2.5rem;
}

.gallery-mobile__inner {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
	margin: 0 auto;
	max-width: 31.25rem;
	padding: 0 1.25rem;
}

.gallery-mobile__item.gallery-mobile__item--height img {
	-o-object-fit: cover;
	aspect-ratio: 335/333;
	height: 20.8125rem;
	object-fit: cover;
	width: 100%;
}

.gallery-mobile__item img {
	-o-object-fit: cover;
	-o-object-position: top;
	aspect-ratio: 1/1;
	height: 15.125rem;
	object-fit: cover;
	object-position: top;
}

.gallery-mobile__item--left {
	display: flex;
	gap: 0.625rem;
}

.gallery-mobile__item--left .gallery-mobile__item:nth-child(1) {
	width: 60%;
}

.gallery-mobile__item--left .gallery-mobile__item:nth-child(2) {
	width: 40%;
}

.gallery-mobile__item--left img:nth-child(1) {
	aspect-ratio: 190/161;
	height: 10.125rem;
}

.gallery-mobile__item--left img:nth-child(2) {
	aspect-ratio: 132/161;
	height: 10.125rem;
}

.gallery-mobile__item--right {
	display: flex;
	gap: 0.625rem;
}

.gallery-mobile__item--right .gallery-mobile__item:nth-child(1) {
	width: 40%;
}

.gallery-mobile__item--right .gallery-mobile__item:nth-child(2) {
	width: 60%;
}

.gallery-mobile__item--right img:nth-child(1) {
	aspect-ratio: 132/161;
	height: 10.125rem;
}

.gallery-mobile__item--right img:nth-child(2) {
	aspect-ratio: 132/161;
	height: 10.125rem;
}

.cta {
	background-color: #D7250F;
	padding: 12.4375rem 0 11.3125rem;
	position: relative;
}

.cta .inner-w {
	padding: 0;
}

.cta::after {
	background: url(../images/top/arrow-rl.webp) no-repeat center center/cover;
	content: "";
	height: 100%;
	position: absolute;
	right: calc(50% + 10rem);
	top: 0;
	width: 29.5rem;
}

.cta a {
	display: block;
	margin: 0 auto;
	max-width: 67.5rem;
	position: relative;
	z-index: 1;
}

.cta a:hover {
	opacity: 1;
}

.cta a:hover .cta-bg img {
	transform: scale(1.05);
}

.cta a:hover .cta__btn span::after {
	right: 0.8125rem;
}

.cta-bg {
	overflow: hidden;
}

.cta-bg img {
	-o-object-fit: cover;
	aspect-ratio: 1080/394;
	height: auto;
	object-fit: cover;
	transition: transform 0.3s ease-in;
	width: 100%;
}

.cta-content {
	position: absolute;
	right: 3.4375rem;
	text-align: right;
	top: 52%;
	transform: translateY(-50%);
}

.cta-lead {
	color: #fff;
	font-family: "Montserrat", sans-serif;
	font-size: 4.4375rem;
	font-style: italic;
	letter-spacing: -0.04em;
	line-height: 1.2112676056;
}

.cta__btn {
	display: inline-block;
	margin-top: 3.125rem;
	position: relative;
}

.cta__btn::before {
	background-color: #D7250F;
	content: "";
	height: 2rem;
	position: absolute;
	right: 0.375rem;
	top: 25%;
	transform: translateY(-50%) rotate(-25deg);
	width: 0.125rem;
	z-index: 1;
}

.cta__btn::after {
	background-color: #D7250F;
	content: "";
	height: 1.9375rem;
	position: absolute;
	right: 0.375rem;
	top: 74%;
	transform: translateY(-50%) rotate(25deg);
	width: 0.125rem;
	z-index: 1;
}

.cta__btn span {
	backdrop-filter: blur(30px);
	background-color: rgba(255, 255, 255, 0.5);
	border-bottom: 0.125rem solid #D7250F;
	border-left: 0.125rem solid #D7250F;
	border-top: 0.125rem solid #D7250F;
	clip-path: polygon(0% 0%, 95% 0%, 100% 50%, 95% 100%, 0% 100%, 0% 0%);
	color: #D7250F;
	display: block;
	letter-spacing: 0.08em;
	padding: 0.9375rem 1.25rem 0.9375rem 0;
	position: relative;
	text-align: center;
	width: 16.125rem;
}

.cta__btn span::after {
	background: url(../images/common/arrow-b.svg) no-repeat center center/cover;
	content: "";
	height: 2.3125rem;
	position: absolute;
	right: 1.0625rem;
	top: 50%;
	transform: translateY(-50%);
	transition: right 0.2s ease-in;
	width: 1.375rem;
	z-index: 1;
}

.company__btn {
	display: inline-block;
	left: 50%;
	margin-top: 2.1875rem;
	position: relative;
	transform: translateX(-50%);
}

.company__btn::before {
	background-color: #FFFFFF;
	content: "";
	height: 2rem;
	position: absolute;
	right: 0.375rem;
	top: 25%;
	transform: translateY(-50%) rotate(-25deg);
	width: 0.125rem;
	z-index: 1;
}

.company__btn::after {
	background-color: #FFFFFF;
	content: "";
	height: 1.9375rem;
	position: absolute;
	right: 0.375rem;
	top: 73%;
	transform: translateY(-50%) rotate(25deg);
	width: 0.125rem;
	z-index: 1;
}

.company__btn span {
	backdrop-filter: blur(30px);
	background-color: rgba(255, 255, 255, 0.15);
	border-bottom: 0.125rem solid #FFFFFF;
	border-left: 0.125rem solid #FFFFFF;
	border-top: 0.125rem solid #FFFFFF;
	clip-path: polygon(0% 0%, 95% 0%, 100% 50%, 95% 100%, 0% 100%, 0% 0%);
	color: #FFFFFF;
	display: block;
	letter-spacing: 0.08em;
	padding: 0.9375rem 1.25rem 0.9375rem 0;
	position: relative;
	text-align: center;
	width: 16.125rem;
}

.company__btn span::after {
	background: url(../images/common/arrow-w.svg) no-repeat center center/cover;
	content: "";
	height: 2.3125rem;
	position: absolute;
	right: 1.0625rem;
	top: 50%;
	transform: translateY(-50%);
	transition: right 0.2s ease-in;
	width: 1.375rem;
	z-index: 1;
}

.company__btn-s {
	margin-top: 1.4375rem;
}

.company__btn-s::before {
	background-color: #FFFFFF;
	height: 1.625rem;
	right: 0.25rem;
	top: 26%;
	transform: translateY(-50%) rotate(-21deg);
}

.company__btn-s::after {
	background-color: #FFFFFF;
	height: 1.6875rem;
	right: 0.25rem;
	top: 74%;
	transform: translateY(-50%) rotate(21deg);
	width: 0.125rem;
}

.company__btn-s span {
	clip-path: polygon(0% 0%, 95% 0%, 100% 50%, 95% 100%, 0% 100%, 0% 0%);
	color: #FFFFFF;
	font-size: 0.6875rem;
	padding: 0.9375rem 1.25rem 0.9375rem 0;
	width: 10.3125rem;
}

.company__btn-s span::after {
	background: url(../images/common/arrow-w.svg) no-repeat center center/cover;
	height: 1.8125rem;
	right: 1.0625rem;
	transition: right 0.2s ease-in;
	width: 1.25rem;
}

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

@media (max-width: 1038px) {

html {
	font-size: 1.5414258189vw;
}

}

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

.inner.recruitment__inner {
	padding-left: 20px;
	padding-right: 20px;
	width: 100%;
}

}

@media (max-width: 768px) {

a[href^="tel:"] {
	pointer-events: auto;
}

html {
	scroll-padding-top: 3.75rem;
}

}

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

.page-recruit__title {
	font-size: 1.25rem;
}

.page-recruit__btn {
	font-size: 0.8125rem;
	padding: 0.625rem 1.25rem;
}

}

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

.u-desktop {
	display: none;
}

.u-mobile {
	display: block;
}

html {
	font-size: 16px;
}

.page-header {
	padding: 5.0625rem 0.625rem 2.875rem;
}

.page-header-en {
	font-size: 3.375rem;
}

.page-header-ja {
	font-size: 1rem;
	margin-top: 0;
}

.page-header__icon {
	margin-left: 1.375rem;
	margin-top: 1rem;
	width: 2.6875rem;
}

.inner {
	max-width: 37.5rem;
}

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

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

.section {
	border-top: 0.5rem solid #D7250F;
}

.section__content {
	max-width: 37.5rem;
	padding: 0 0.625rem;
	top: 50%;
}

.message .section__content {
	top: 50%;
}

.project .section__content {
	top: 52%;
}

.page-recruit .section__content {
	top: 54%;
}

.section__content-w {
	top: 12%;
}

.section-title {
	font-size: 1rem;
	line-height: 1;
}

.section-title.u-desktop {
	display: none;
}

.section-title.u-mobile {
	display: flex;
}

.text01 {
	max-width: 13.75rem;
}

.section-subtitle.text02 {
	margin-top: 2.1875rem;
	max-width: 19.875rem;
}

.section-subtitle.text03 {
	margin-top: 2.875rem;
	max-width: 98%;
}

.section-subtitle.text04 {
	margin-top: 1.875rem;
	max-width: 17.5625rem;
}

.section-subtitle.text05 {
	margin-top: 2rem;
}

.text06 {
	max-width: 18.9375rem;
}

.text07 {
	margin-top: 0.9375rem;
	max-width: 15.1875rem;
}

.text08 {
	margin-top: 0.25rem;
	max-width: 19.6875rem;
}

.text09 {
	margin-top: 0.25rem;
	max-width: 21.5625rem;
}

.text10 {
	max-width: 6.375rem;
}

.text11 {
	max-width: 7.9375rem;
}

.text12 {
	max-width: 5.25rem;
}

.text13 {
	max-width: 9.625rem;
}

.text14 {
	max-width: 6.5625rem;
}

.section-subtitle {
	margin-top: 1.5rem;
}

.page-recruit .section-subtitle {
	margin-top: 3.4375rem;
}

.section-btn.spsmall::before,
.section-btn.spsmall::after {
	right: 0.3125rem;
}

.section-btn.spsmall a {
	font-size: 0.8125rem;
	width: 13rem;
}

.section-btn.spsmall a::after {
	right: 0.75rem;
}

.section-btn::before {
	right: 0.375rem;
}

.section-btn::after {
	right: 0.375rem;
}

.section-btn a {
	width: 16.125rem;
}

.page-entry {
	padding: 4.375rem 1.625rem 6.25rem;
}

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

.page-entry__text {
	font-size: 0.875rem;
	line-height: 1.6428571429;
}

.page-entry__block-wrap {
	gap: 1.375rem;
	margin-top: 3.5625rem;
}

.page-entry__block {
	display: block;
}

.page-entry__label {
	display: block;
	font-size: 1rem;
	width: auto;
	width: initial;
}

.page-entry__label--ano {
	display: block;
	font-size: 0.75rem;
	letter-spacing: 0.08em;
}

.page-entry__label.page-entry__label--sub {
	display: none;
}

.page-entry__input {
	padding: 0.875rem;
}

.page-entry__input.page-entry__input--s {
	width: 100%;
}

.page-entry__input::-moz-placeholder {
	font-size: 0.875rem;
}

.page-entry__input::placeholder {
	font-size: 0.875rem;
}

.page-entry__radio-group-wrap p {
	gap: 0.8125rem;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 0.5625rem;
}

.age-entry__radio--l {
	margin-left: -0.25rem;
}

.page-entry__radio input + span {
	font-size: 0.875rem;
	padding: 0 0 0 1.375rem;
}

.page-entry__radio input + span::before {
	height: 1rem;
	width: 1rem;
}

.page-entry__radio input + span::after {
	height: 0.9375rem;
	width: 0.9375rem;
}

input[type=date] {
	padding: 0.6875rem 0.875rem;
	width: 100%;
}

input[type=date]::-webkit-date-and-time-value {
	min-height: 1.75rem;
}

.page-entry__radio .wpcf7-list-item {
	min-width: 9.375rem;
}

.page-entry__textarea {
	height: 12.375rem;
}

.contact__form-file-wrapper {
	display: block;
}

.contact__form-file-wrapper p {
	display: block;
}

.custom-file-button {
	padding: 0.875rem 1.25rem;
}

.file-name-display {
	display: inline;
	font-size: 0.8125rem;
}

.contact__form-file-text {
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	line-height: 1.9166666667;
}

.contact__form-privacy {
	margin: 0.3125rem auto 0;
}

.contact__form-privacy input + span {
	font-size: 0.875rem;
	line-height: 1.2142857143;
}

.contact__form-privacy input + span::before {
	height: 0.8125rem;
	width: 0.8125rem;
}

.contact__form-privacy input + span::after {
	left: -0.0625rem;
}

.contact__form-submit {
	margin-top: 4.375rem;
	width: 84%;
}

.contact__form-submit:hover::after {
	right: 1.875rem;
}

.contact__form-submit::after {
	height: 2.3125rem;
	left: calc(50% + 60px);
}

.contact__form-submit input {
	font-size: 1.875rem;
	padding: 0.6875rem 0;
	width: 16.0625rem;
}

.thanks {
	padding: 4.375rem 1.25rem 7.5rem;
}

.thanks__btn {
	margin: 1.875rem auto 0;
}

.privacy-policy {
	height: 21.25rem;
	margin: 3.25rem auto 0;
	padding: 1.0625rem 0;
}

.privacy-policy__title {
	font-size: 0.9375rem;
	text-align: center;
}

.privacy-policy__text,
.privacy-policy__subtitle,
.privacy-policy__item {
	font-size: 0.75rem;
	font-weight: 400;
	line-height: 1.25;
}

.privacy-policy__text {
	margin-top: 1rem;
}

.layout-footer {
	padding: 2.125rem 0 1.25rem;
}

.footer__inner {
	align-items: center;
	flex-direction: column-reverse;
	gap: 2.875rem;
	text-align: center;
}

.footer__logo-area img {
	margin: 0 auto;
	width: 6.25rem;
}

.footer__wrapper {
	margin-right: 0;
	width: 88%;
}

.footer__nav-list {
	display: block;
	margin-top: 0;
}

.footer__nav-item a {
	display: block;
	line-height: 2;
	padding: 0.3125rem 0;
	text-align: left;
}

.footer__info {
	margin-left: 0;
	margin-top: 1.6875rem;
}

.footer__info-contact {
	flex-direction: column;
	gap: 0.75rem;
	justify-content: center;
	margin-top: 0.625rem;
}

.footer__info-tel,
.footer__info-fax {
	justify-content: center;
}

.footer__info-tel a,
.footer__info-fax-number {
	line-height: 1;
	margin-right: 0;
}

.footer__info-tel-label,
.footer__info-fax-label {
	line-height: 1;
}

.footer__bottom {
	margin-top: 3.5rem;
}

.footer__copyright {
	text-align: center;
}

.footer__scroll-icon {
	bottom: auto;
	right: 1.875rem;
	top: 14.75rem;
}

.footer__scroll-icon img {
	width: 2.125rem;
}

.footer__bottom {
	flex-direction: column;
	gap: 0.625rem;
}

.header__shadow {
	background: linear-gradient(0deg, transparent 38%, rgba(0, 0, 0, 0.4) 100%);
	height: 5.4375rem;
}

.header {
	height: 3.75rem;
}

.header__inner {
	padding-left: 1rem;
	padding-right: 0;
}

.header__logo {
	position: relative;
	z-index: 1000;
}

.header__logo img {
	max-width: 13.25rem;
}

.header__logo a {
	height: 3.75rem;
}

.header__nav {
	display: none;
}

.header__hamburger {
	border: none;
	cursor: pointer;
	display: block;
	height: inherit;
	margin: 0;
	outline: none;
	padding: 0;
	position: relative;
	transition: 0.3s;
	width: 3.75rem;
	z-index: 999;
}

.header__hamburger.is-open {
	background-color: transparent;
}

.header__hamburger span {
	background-color: #fff;
	display: block;
	height: 0.09375rem;
	left: 50%;
	position: relative;
	transform: translateX(-50%);
	transition: transform 0.2s ease, background-color 0.2s ease;
	width: 1.6875rem;
}

.header__hamburger span:nth-of-type(1) {
	top: -0.375rem;
}

.header__hamburger span:nth-of-type(2) {
	top: 0.0625rem;
}

.header__hamburger.is-open span:nth-of-type(1) {
	background-color: #D7250F;
	top: -0.0625rem;
	transform: translateX(-50%) rotate(45deg);
}

.header__hamburger.is-open span:nth-of-type(2) {
	background-color: #D7250F;
	top: -0.1875rem;
	transform: translateX(-50%) rotate(-45deg);
}

.header__drawer {
	background-color: rgba(215, 37, 15, 0.9);
	display: block;
	height: 100dvh;
	overflow-y: scroll;
	padding: 5rem 0;
	position: absolute;
	right: -120%;
	scrollbar-width: none;
	top: 0;
	transition: 0.6s;
	width: 100%;
	z-index: 900;
}

.header__hamburger.is-open {
	background-color: #FFFFFF;
}

.header__drawer.is-open {
	right: 0;
}

.header__drawer-item a {
	color: #FFFFFF;
	display: block;
	font-family: "Montserrat", sans-serif;
	font-size: 1.25rem;
	letter-spacing: 0.05em;
	line-height: 1;
	padding: 1.25rem 0;
	position: relative;
	text-transform: uppercase;
}

.page-message {
	background: url(../images/message/mv-sp01.webp) no-repeat center center/cover;
	padding: 5.8125rem 0 4.5rem;
}

.page-message__background img {
	aspect-ratio: 375/1099;
	height: 68.6875rem;
}

.page-message__content {
	top: 5.8125rem;
}

.page-message__lead {
	font-size: 1.9375rem;
	line-height: 1.3793103448;
}

.page-message__text {
	font-size: 0.875rem;
	line-height: 2.5;
	margin: 2.125rem auto 0;
	max-width: 37.5rem;
	padding: 0 1.25rem;
	text-align: left;
}

.page-message__ceo {
	font-size: 1rem;
	margin-top: 2.5rem;
}

.page-message__ceo-name {
	font-size: 1.5625rem;
}

.page-recruit .slogan__btn {
	margin-top: 3.9375rem;
}

.no-article {
	font-size: 0.875rem;
	font-weight: 400;
}

.lower-news {
	margin-top: 3.75rem;
	padding-bottom: 3.75rem;
}

.lower-news__list .news__item a {
	padding-bottom: 1.25rem;
	padding-right: 3.125rem;
}

.lower-news__list .news__text {
	font-size: 0.875rem;
	line-height: 1.6;
	margin-top: 1rem;
}

.news-detail {
	margin-top: 2.8125rem;
	padding-bottom: 3.75rem;
}

.news-detail__meta {
	display: block;
}

.news-detail__date {
	padding-right: 0.9375rem;
}

.news-detail__category-wrap {
	margin-left: 0;
}

.news-detail__category {
	margin-right: 0.9375rem;
	margin-top: 0.9375rem;
}

.news-detail__title {
	font-size: 1.25rem;
	margin-top: 1.875rem;
}

.news-detail__content h1 {
	font-size: 1.75rem;
}

.news-detail__content h2 {
	font-size: 1.25rem;
}

.news-detail__content p {
	font-size: 0.875rem;
	line-height: 1.6;
}

.news-detail__content img {
	margin-top: 1.875rem;
	max-width: none;
	max-width: initial;
}

.news-detail__back {
	margin: 6.25rem auto 0;
}

.news-detail__back-link {
	font-size: 1rem;
	padding: 1.125rem 2.0625rem 1.125rem 2.4375rem;
}

.lower-news__category-list {
	gap: 0.9375rem;
	margin-top: 3.75rem;
}

.lower-news__category-item a {
	font-size: 0.875rem;
	padding: 0.375rem;
}

.news-detail {
	margin-top: 2.8125rem;
	padding-bottom: 3.75rem;
}

.news-detail__meta {
	display: block;
}

.news-detail__date {
	padding-right: 0.9375rem;
}

.news-detail__category-wrap {
	margin-left: 0;
}

.news-detail__category {
	margin-right: 0.9375rem;
	margin-top: 0.9375rem;
}

.news-detail__title {
	font-size: 1.25rem;
	margin-top: 1.875rem;
}

.news-detail__content h1 {
	font-size: 1.75rem;
}

.news-detail__content h2 {
	font-size: 1.25rem;
}

.news-detail__content p {
	font-size: 0.875rem;
	line-height: 1.6;
}

.news-detail__content img {
	margin-top: 1.875rem;
	max-width: none;
	max-width: initial;
}

.not-found__title {
	font-size: 2.625rem;
}

.not-found__text {
	font-size: 1rem;
}

.page-project__img img {
	height: 20.75rem;
}

.page-project__content {
	padding: 0 0.625rem;
	top: 0.625rem;
}

.page-project1 .page-project__logo {
	max-width: 10.875rem;
}

.page-project2 .page-project__logo {
	margin: 2rem auto 2.5rem;
	max-width: 7rem;
}

.page-project__title-en {
	font-size: 1rem;
	margin-top: 1.25rem;
}

.product {
	padding: 4.625rem 0;
}

.product::after {
	background: url(../images/project/arrow-rl-sp.webp) no-repeat center center/cover;
	left: 91%;
}

.product__title {
	font-size: 1.8125rem;
	line-height: 1.5172413793;
}

.product__text {
	font-size: 0.875rem;
	line-height: 2.4285714286;
	margin-top: 1.1875rem;
	padding: 0 1.25rem;
}

.product__images {
	margin-top: 3.25rem;
	padding: 0 1.25rem;
}

.product__image-grid-wrap {
	grid-row-gap: 0.5625rem;
	flex-direction: column;
}

.product__images-wrap {
	flex-direction: row;
	gap: 0.625rem;
}

.product__image-grid-wrap:nth-of-type(2) {
	display: flex;
	flex-direction: column-reverse;
	margin-top: 0.625rem;
}

.product__image--wide img {
	height: 15.25rem;
}

.product__image--narrow--n img,
.product__image--narrow--w img {
	height: 8.4375rem;
}

.product__image--narrow--n {
	width: 42%;
}

.product__image--narrow--w {
	width: 58%;
}

.title-recruitment::after {
	width: 350%;
}

.title-recruitment {
	clip-path: polygon(0 0, 97% 0, 100% 50%, 97% 100%, 0 100%, 3% 50%);
	padding: 0.5rem 0.5rem 0.5rem 1.25rem;
	width: 95%;
}

.title-recruitment__icon {
	margin: 0 0.625rem;
}

.title-recruitment__icon img {
	width: 0.75rem;
}

.title-recruitment__text {
	font-size: 1rem;
}

.page-recruitment {
	padding-top: 2.1875rem;
}

.breadcrumb {
	font-size: 11px;
	padding: 0.8125rem 0.625rem 0;
}

.breadcrumb__arrow {
	margin: 0 0.25rem;
}

.page-recruitment__filter {
	padding: 2rem 0 3.75rem;
}

.page-recruitment__filter-title {
	font-size: 0.875rem;
	margin-bottom: 25px;
	padding: 0 1.25rem;
}

.page-recruitment__filter-title::after {
	bottom: -0.625rem;
	top: auto;
	width: 100%;
}

.page-recruitment__filter-icon {
	width: 0.625rem;
}

.inner.recruitment__inner {
	padding-left: 10px;
	padding-right: 10px;
	width: 100%;
}

.inner.recruitment__inner > .page-recruitment__filter-title::after {
	display: none;
}

.category_block .category_title {
	height: 50px;
}

.category_block .category_title:after {
	width: 350%;
}

.category_block .category_title span {
	font-size: 1rem;
	margin-left: 16px;
}

.category_block .category_title span::before,
.category_block .category_title span::after {
	height: 4px;
	right: 20px;
	width: 22px;
}

.category_block .category_content {
	padding: 30px 10px 50px;
}

.category_block .category_content .page-recruitment__filter-title:after {
	width: 100%;
}

.category_block .category_content .choose_wrap .choose_title {
	margin-right: 0;
	margin-top: 10px;
	padding: 12px 15px;
	width: 100%;
}

.category_block .category_content .choose_wrap .choose_title:first-child {
	margin-top: 0;
}

.category_block .category_content .choose_wrap .choose_title::before {
	height: 10px;
	width: 20px;
}

.category_block .category_content .choose_wrap .choose_title::after {
	width: 350% !important;
}

.category_block .category_content .choose_wrap .choose_title.active:after {
	background: url(../images/common/mask.svg) no-repeat center center/cover;
	width: 350%;
}

.category_block .category_content .choose_wrap .choose_title:nth-child(n+2) {
	margin-top: 10px;
}

.category_block .category_content .choose_wrap .choose_title span {
	font-size: 0.9375rem;
}

.page-recruitment__filter-list {
	gap: 0.90625rem 0.1875rem;
	grid-template-columns: repeat(2, 1fr);
	margin-left: 0;
	margin-top: 0.9375rem;
	padding: 0 1.25rem;
}

.page-recruitment__filter-list::after {
	bottom: -2rem;
	width: 100%;
}

.page-recruitment__filter-item {
	display: flex;
	height: 1.875rem;
}

.page-recruitment__filter-item:nth-child(3n-2) {
	width: auto;
	width: initial;
}

.page-recruitment__filter-item:nth-child(3n-1) {
	width: auto;
	width: initial;
}

.page-recruitment__filter-all {
	margin-left: 1.25rem;
	margin-top: 2.5rem;
}

.recruitment__radio span {
	font-size: 0.8125rem;
	line-height: 1.1538461538;
	padding-left: 1.5625rem;
}

.recruitment__radio span::before {
	height: 1.1875rem;
	width: 1.1875rem;
}

.recruitment__radio span::after {
	height: 1rem;
	left: 0.0625rem;
	width: 1rem;
}

.page-recruitment__cards {
	gap: 0.625rem;
	grid-template-columns: repeat(1, 1fr);
	margin-top: 1.875rem;
	padding: 0 0.75rem;
}

.page-recruitment__card a:hover .page-recruitment__card-heading::after {
	right: 0.4375rem;
}

.page-recruitment__card-heading {
	min-height: auto;
	padding: 0.4375rem 1.125rem;
}

.page-recruitment__card-heading::after {
	height: 1.3125rem;
	right: 0.8125rem;
	width: 0.75rem;
}

.page-recruitment__card-company {
	font-size: 0.6875rem;
	letter-spacing: 0.08em;
	line-height: 1.9090909091;
}

.page-recruitment__card-title {
	font-size: 0.875rem;
	width: calc(100% - 0.8rem);
}

.page-recruitment__card-body {
	padding: 1.0625rem 1.125rem;
}

.page-recruitment__card-labels {
	gap: 0.5rem;
	margin-bottom: 0.0625rem;
}

.page-recruitment__card-label {
	align-items: center;
	display: flex;
	font-size: 0.625rem;
	letter-spacing: 0.08em;
	padding: 0.1875rem 0.5rem;
}

.page-recruitment__card-desc {
	margin-top: 0.125rem;
}

.page-recruitment__card-desc-title {
	display: block;
	font-size: 0.8125rem;
	letter-spacing: 0.08em;
	line-height: 2.1538461538;
	width: 4.5rem;
}

.page-recruitment__card-desc-text {
	font-size: 0.8125rem;
	letter-spacing: 0.08em;
	line-height: 2.1538461538;
}

.page-recruitment__no-posts {
	margin-left: 0;
	margin-top: 2.5rem;
}

.detail-recruitment {
	padding-bottom: 5.3125rem;
}

.detail-recruitment__inner {
	margin: 3.75rem auto 0;
	max-width: 37.5rem;
	padding: 0 1.25rem;
}

.detail-recruitment__table {
	border: none;
	margin: 2.625rem auto 0;
}

.detail-recruitment__row {
	display: block;
}

.detail-recruitment__heading {
	font-size: 0.8125rem;
	padding: 0.1875rem 0.625rem;
	width: 100%;
}

.detail-recruitment__heading::after {
	width: 100%;
}

.detail-recruitment__row:not(:first-child) .detail-recruitment__heading {
	border-top: none;
}

.detail-recruitment__data {
	background-color: #f0f0f0;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 2.1428571429;
	padding: 0.625rem;
}

.detail-recruitment__row:not(:first-child) .detail-recruitment__data {
	border-top: none;
}

.detail-recruitment__btn {
	margin: 2.375rem auto 0;
	max-width: 16.0625rem;
}

.detail-recruitment__btn a {
	font-size: 1.875rem;
	padding: 0.6875rem 0 0.6875rem 3.875rem;
	width: 16.0625rem;
}

.detail-recruitment__btn a::after {
	height: 2.3125rem;
	left: calc(50% + 60px);
}

.mynavi_wrap .mynavi_text {
	font-size: 1rem;
}

.mynavi_wrap a {
	width: 234px;
}

.page-slogan__img img {
	height: 84.5625rem;
}

.page-slogan__content {
	max-width: 37.5rem;
	padding: 0 2.8125rem;
	top: 13.3125rem;
}

.page-slogan__subtitle {
	font-size: 1rem;
	letter-spacing: 0.03em;
}

.page-slogan__title {
	margin-top: 2.25rem;
}

.page-slogan__text {
	font-size: 0.875rem;
	line-height: 2.6;
	margin-top: 2.375rem;
	text-align: justify;
}

.page-slogan__logo {
	font-size: 1.875rem;
	margin-top: 1.25rem;
}

.page-slogan__sub-logo {
	font-size: 0.8125rem;
}

.mv {
	height: 100lvh;
}

.mv__title-wrap {
	z-index: 11;
}

.mv__main-title {
	width: 70%;
}

.mv__main-title::after {
	background: linear-gradient(to bottom, rgba(14, 61, 101, 0) 100%, rgb(14, 61, 101) 100%);
	bottom: 0;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	width: 100%;
	z-index: 8;
}

.slogan__img {
	aspect-ratio: 1366/1657;
}

.slogan__btn {
	margin-top: 2.1875rem;
}

.message__img {
	aspect-ratio: 375/456;
}

.project__img-usagi {
	height: 100%;
	margin-top: -0.25rem;
	max-width: 6.75rem;
}

.project__img-kanazawa {
	margin-left: auto;
	margin-right: 0.5rem;
	margin-top: 0.5rem;
	max-width: 4.1875rem;
}

.project__img-wrapper {
	display: block;
}

.project__img img {
	height: 28.75rem;
}

.project__btn {
	margin-top: 5.125rem;
}

.company {
	padding: 16rem 0 6.5rem;
}

.inner.company__inner {
	margin-top: 2.875rem;
	padding: 0 1.875rem;
}

.company-buttons__list {
	grid-row-gap: 0.3125rem;
	grid-row-gap: 0.75rem;
	display: flex;
	flex-direction: column;
	margin: 0 auto;
	max-width: 19.6875rem;
}

.company-buttons__image--s img {
	aspect-ratio: 315/135;
}

.company-buttons__image--m img {
	aspect-ratio: 342/177;
}

.company-buttons__name {
	font-size: 1.125rem;
}

.company-buttons__name-en {
	font-size: 0.875rem;
	margin-top: 0.375rem;
}

.company-buttons__item:nth-child(1) .company-buttons__name {
	font-size: 1.3125rem;
}

.company-buttons__item:nth-child(1) .company-buttons__name-en {
	font-size: 0.875rem;
}

.recruitment {
	padding: 4.5rem 0;
}

.recruitment__content {
	padding: 2.5rem 0 0;
}

.recruitment__link_wrap {
	align-items: center;
	flex-direction: column;
}

.recruitment__link_wrap .recruitment__btn {
	width: 90%;
}

.recruitment__link_wrap .recruitment__btn::before,
.recruitment__link_wrap .recruitment__btn::after {
	height: 2.2625rem;
}

.recruitment__link_wrap .recruitment__btn::before,
.recruitment__link_wrap .recruitment__btn::after {
	height: 2.4rem;
}

.recruitment__link_wrap .recruitment__btn a {
	font-size: 1.25rem;
	width: 100%;
}

.recruitment__btn {
	bottom: 7%;
}

.recruit-tab {
	margin: 2.375rem 0 2.5rem;
	padding: 0 1.25rem;
	width: 100%;
}

.recruit-tab__item + .recruit-tab__item {
	margin-top: 0.875rem;
}

.recruit-tab__button {
	background-color: #fff;
	border: none;
	color: #D7250F;
	cursor: pointer;
	line-height: 1.75;
	padding: 1.25rem 0 1.25rem 1.6875rem;
	position: relative;
	width: 100%;
}

.recruit-tab__button::after {
	background: url(../images/common/arrow-b.svg) no-repeat center center/cover;
	content: "";
	height: 1.1875rem;
	position: absolute;
	right: 2.1875rem;
	top: 50%;
	transform: translateY(-50%) rotate(90deg);
	transition: transform 0.3s ease-in;
	width: 0.6875rem;
}

.recruit-tab__button.is-open::after {
	transform: translateY(-50%) rotate(-90deg);
}

.recruit-tab__button-wrap {
	left: 50%;
	margin-top: 1.875rem;
	transform: translateX(-50%);
}

.recruit-tab__content {
	background-color: #fff;
	padding: 0.875rem 1.25rem 1.5625rem;
}

.recruit-tab__company {
	background-color: #D7250F;
	color: #fff;
	font-size: 0.6875rem;
	letter-spacing: 0.08em;
	line-height: 1.7272727273;
	padding: 0.1875rem 0;
	text-align: center;
}

.recruit-tab__list {
	margin-bottom: 0.8125rem;
}

.recruit-tab__list-item a {
	border-top: 1px solid #D7250F;
	color: #D7250F;
	display: flex;
	font-size: 0.625rem;
	justify-content: space-between;
	letter-spacing: 0.08em;
	line-height: 1.2;
	padding: 0.75rem 0.875rem;
}

.recruit-tab__list-item span {
	display: block;
}

.gallery {
	padding-top: 2.625rem;
}

.gallery-list {
	gap: 0.3125rem;
}

.gallery-list:nth-child(odd) img {
	height: 11.875rem;
}

.gallery-list:nth-child(even) img {
	height: 11.875rem;
}

.gallery-list:not(:first-child) {
	margin-top: 0.3125rem;
}

.cta {
	padding: 6.25rem 0 6.875rem;
}

.cta__img {
	height: 100%;
	position: absolute;
	right: calc(50% - 5.625rem);
	top: 0;
	width: 68%;
}

.cta::after {
	display: none;
}

.cta-bg img {
	aspect-ratio: 1080/784;
}

.cta-content {
	right: 1.875rem;
	top: 51%;
}

.cta-lead {
	font-size: 2.625rem;
	line-height: 1.2142857143;
}

.cta__btn {
	margin-right: 1.875rem;
	margin-top: 1.5625rem;
}

.company__btn {
	margin-right: 1.875rem;
	margin-top: 1.0625rem;
}

.company__btn::before {
	background-color: #FFFFFF;
	height: 1.4375rem;
	right: 0.25rem;
	top: 26%;
	transform: translateY(-50%) rotate(-21deg);
}

.company__btn::after {
	background-color: #FFFFFF;
	height: 1.4375rem;
	right: 0.25rem;
	top: 74%;
	transform: translateY(-50%) rotate(21deg);
	width: 0.125rem;
}

.company__btn span::after {
	background: url(../images/common/arrow-w.svg) no-repeat center center/cover;
	height: 1.9375rem;
	right: 1.0625rem;
	width: 1.1875rem;
}

.company__btn span {
	font-size: 0.6875rem;
	padding: 0.75rem 1.25rem 0.75rem 0;
	width: 10.3125rem;
}

.company__btn-s {
	margin-right: 1.875rem;
	margin-top: 0.5625rem;
}

.company__btn-s span {
	padding: 0.75rem 1.25rem 0.75rem 0;
}

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

}

@media (max-width: 375px) {

html {
	font-size: 4.2666666667vw;
}

}

@keyframes slideIn {

0% {
	opacity: 0;
	transform: translateY(100%);
}

100% {
	opacity: 1;
	transform: translateY(0);
}

}

@keyframes slideLeft {

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

100% {
	opacity: 1;
	transform: translateX(0);
}

}

@keyframes slideUp {

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

100% {
	opacity: 1;
	transform: translateY(0);
}

}

@keyframes fade {

from {
	opacity: 0;
}

to {
	opacity: 1;
}

}


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