/*===========================================================
# reset - 
========================================================== */

* {
	box-sizing: border-box;
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td,
small,
button,
time,
figure {
	border: 0;
	font: inherit;
	font-size: 100%;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}

html {
	line-height: 1;
}

ol,
ul {
	list-style: none;
}

li,
dd {
	list-style-type: none;
}

header,
footer,
nav,
section,
article,
aside,
figure,
figcaption {
	display: block;
}

img {
	border: none;
	vertical-align: bottom;
}

a {
	cursor: pointer;
	text-decoration: none;
}

input[type=submit],
input[type=button] {
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	-moz-appearance: button;
	appearance: button;
	border: none;
	border-radius: 0;
	box-sizing: border-box;
	cursor: pointer;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
	display: none;
}

input[type=submit]::focus,
input[type=button]::focus {
	outline-offset: -2px;
}

/*===========================================================
# style - 
========================================================== */

.header {
	background-color: #fff;
}

.header__inner {
	align-items: center;
	display: flex;
	justify-content: space-between;
	padding: 2rem 3.5rem;
}

.header__logo {
	width: 16rem;
}

.header__nav-list {
	align-items: center;
	display: flex;
	gap: 8rem;
	justify-content: space-between;
}

.header__nav-item {
	list-style: none;
}

.header__nav-link {
	color: #666666;
	display: inline-block;
	position: relative;
	text-decoration: none;
	transition: all 0.3s ease-in-out;
	width: 100%;
}

.header__nav-link::after {
	background: #FF4300;
	bottom: 0;
	content: "";
	height: 0.1rem;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	transition: all 0.3s ease-in-out;
	width: 0;
}

.header__nav-link:hover::after {
	width: 100%;
}

.header__nav-contact .header__nav-link {
	background: #FF4300;
	border: 1px solid #FF4300;
	border-radius: 0.4rem;
	color: #fff;
	display: inline-block;
	height: 100%;
	padding: 0.4rem 0;
	text-align: center;
	transition: all 0.3s ease-in-out;
	width: 100%;
	width: 14rem;
}

.header__nav-contact .header__nav-link:hover {
	background-color: #fff;
	color: #FF4300;
}

.header__nav-contact .header__nav-link:hover::after {
	display: none;
}

.header .burger-btn {
	display: none;
}

.page-head {
	background-image: url(../image/page-mv.jpg);
	background-position: center 95%;
	background-repeat: no-repeat;
	background-size: cover;
	height: 50rem;
	position: relative;
	width: 100%;
}

.page-head__inner {
	align-items: center;
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: center;
}

.page-head__title {
	color: #fff;
	font-family: "Zen old mincho", serif;
	font-size: 3.2rem;
	text-align: center;
}

.footer {
	background: linear-gradient(90deg, rgb(0, 165, 81) 0%, rgba(0, 63, 31, 0.95) 100%);
	padding: 7rem 0 5rem;
}

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

.footer__left {
	position: relative;
}

.footer__left::before {
	background-color: #B2D2CC;
	content: "";
	height: 15rem;
	position: absolute;
	right: -15rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
}

.footer__logo {
	margin-bottom: 4rem;
	width: 19rem;
}

.footer__info {
	color: #fff;
	margin-bottom: 3rem;
}

.footer__info-name {
	font-size: 1.2rem;
	font-weight: bold;
}

.footer__copyright {
	color: #fff;
	display: inline-block;
	font-size: 1rem;
}

.footer__nav-list {
	display: flex;
	gap: 3.6rem;
	margin-bottom: 4rem;
}

.footer__nav-link {
	color: #fff;
	font-size: 1.2rem;
	position: relative;
}

.footer__nav-link::after {
	background-color: #fff;
	bottom: -0.5rem;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	transition: all 0.3s ease-in-out;
	width: 0%;
}

.footer__nav-link:hover::after {
	width: 100%;
}

.footer__corp {
	align-items: center;
	display: flex;
	gap: 4rem;
	justify-content: end;
}

.footer__corp-link {
	color: #B2D2CC;
	position: relative;
	transition: 0.3s;
}

.footer__corp-link::after {
	background-image: url(../image/footer-arrow.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 0.8rem;
	position: absolute;
	right: -1.5rem;
	top: 50%;
	transform: translateY(-50%);
	width: 0.8rem;
}

.footer__sns {
	display: flex;
	gap: 1rem;
}

.interview-info {
	padding: 10rem 0 14rem;
	position: relative;
}

.interview-info::after {
	background: linear-gradient(90deg, rgb(0, 165, 81) 0%, rgba(0, 63, 31, 0.95) 100%);
	content: "";
	height: 100%;
	opacity: 0.05;
	position: absolute;
	right: 0;
	top: 0;
	width: 80%;
	z-index: -1;
}

.interview-info__inner {
	display: flex;
}

.interview-info__img {
	height: -webkit-fit-content;
	height: -moz-fit-content;
	height: fit-content;
	margin-right: 6rem;
	position: -webkit-sticky;
	position: sticky;
	top: 2rem;
	width: 34rem;
}

.interview-info__img-inner {
	margin-bottom: 1rem;
}

.interview-info__img-name {
	font-family: "Zen old mincho", serif;
	font-size: 1.6rem;
}

.interview-info__img-name span {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 1.6rem;
}

.interview-info__content {
	margin-right: 10rem;
	width: 55rem;
}

.interview-info__item {
	margin-bottom: 10rem;
}

.interview-info__item:last-child {
	margin-bottom: 0;
}

.interview-info__question {
	color: #FF4300;
	font-size: 1.6rem;
	margin-bottom: 2rem;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

.interview-info__answer {
	font-family: "Zen old mincho", serif;
	font-size: 2rem;
	margin-bottom: 3rem;
}

.interview-info__nav {
	height: -webkit-fit-content;
	height: -moz-fit-content;
	height: fit-content;
	position: -webkit-sticky;
	position: sticky;
	top: 2rem;
	width: calc(100% - 105rem);
}

.interview-info__nav-list {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.interview-info__nav-link {
	color: #666666;
	font-size: 1.2rem;
	font-weight: bold;
	position: relative;
}

.interview-info__nav-link::after {
	background-color: #666666;
	bottom: -0.5rem;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	transition: all 0.3s ease-in-out;
	width: 0%;
}

.interview-info__nav-link:hover::after {
	width: 100%;
}

.interview-parallax {
	height: 50rem;
	overflow: hidden;
	position: relative;
}

.interview-parallax__bg {
	background-image: url(../image/interview-parallax-bg.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 90vh;
	left: 0;
	position: absolute;
	top: 0;
	transform: translateZ(0);
	width: 100%;
	will-change: transform;
}

.interview-other {
	padding: 20rem 0 10rem;
}

.interview-other .section-title {
	border: none;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 1.4rem;
	margin: 0 0 6rem 7.5rem;
	max-width: 130rem;
	padding: 0;
	text-align: left;
}

.interview-other .section-title::after {
	display: none;
}

.interview-other .interview-swiper {
	margin-left: auto;
	margin-right: 0;
	max-width: 137rem;
	overflow: hidden;
	width: 100%;
}

.interview-other .interview-swiper .swiper-slide {
	flex-shrink: 0;
	margin-right: 6rem !important;
	transition: transform 0.3s ease;
	width: 30rem !important;
}

.interview-other .interview-swiper .swiper-wrapper {
	align-items: center;
	display: flex;
	padding-left: 0.6rem;
}

.interview-other__item {
	width: 100%;
}

.interview-other__link {
	color: #666666;
	display: block;
	height: 100%;
	width: 100%;
}

.interview-other__link:hover img {
	transform: scale(1.1);
}

.interview-other__img {
	margin-bottom: 2rem;
	overflow: hidden;
	position: relative;
}

.interview-other__img img {
	transition: all 0.3s ease-in-out;
}

.interview-other__img-label {
	background-color: #003F1F;
	bottom: 0;
	color: #fff;
	font-size: 1.2rem;
	left: 0;
	line-height: 1;
	padding: 0.5rem 0.8rem;
	position: absolute;
}

.interview-other__name {
	font-family: "Zen old mincho", serif;
	font-size: 2.4rem;
	line-height: 1.5;
}

.interview-other__name span {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 1.4rem;
}

.interview-other .swiper-pagination-custom {
	color: #666666;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 1.6rem;
	font-weight: 500;
	margin-top: 3rem;
	position: relative;
}

.interview-other .swiper-pagination-bullet {
	background-color: #666666;
	opacity: 0.3;
}

.interview-other .swiper-pagination-bullet-active {
	opacity: 1;
}

.recruitment {
	padding: 10rem 0 14rem;
}

.recruitment__inner {
	display: flex;
}

.recruitment__title {
	font-family: "Zen Old Mincho", serif;
	font-size: 2.4rem;
	height: -webkit-fit-content;
	height: -moz-fit-content;
	height: fit-content;
	margin-right: 15rem;
	position: -webkit-sticky !important;
	position: sticky !important;
	top: 2rem;
	width: 15rem;
}

.recruitment__content {
	margin-right: 8rem;
	width: 74.3rem;
}

.recruitment__item {
	margin-bottom: 10rem;
}

.recruitment__item:last-child {
	margin-bottom: 0;
}

.recruitment__subtitle {
	font-family: "Zen Old Mincho", serif;
	font-size: 2.4rem;
	margin-bottom: 2rem;
	position: relative;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

.recruitment__subtitle::after {
	background-color: #666666;
	bottom: 0;
	content: "";
	height: 1px;
	left: 0%;
	position: absolute;
	width: 74rem;
}

.recruitment__text {
	font-size: 1.4rem;
	margin-bottom: 3rem;
	padding-left: 18rem;
}

.recruitment__text span {
	border-bottom: 1px solid #FF4300;
	display: inline-block;
	font-family: "Zen Old Mincho", serif;
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: 4rem;
}

.recruitment__nav {
	height: -webkit-fit-content;
	height: -moz-fit-content;
	height: fit-content;
	position: -webkit-sticky;
	position: sticky;
	top: 2rem;
	width: calc(100% - 112.3rem);
}

.recruitment__nav-list {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.recruitment__nav-link {
	color: #666666;
	font-size: 1.2rem;
	font-weight: bold;
	position: relative;
}

.recruitment__nav-link::after {
	background-color: #666666;
	bottom: -0.5rem;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	transition: all 0.3s ease-in-out;
	width: 0%;
}

.recruitment__nav-link:hover::after {
	width: 100%;
}

.benefits {
	padding: 10rem 0 14rem;
}

.benefits__inner {
	display: flex;
}

.benefits__title {
	font-family: "Zen Old Mincho", serif;
	font-size: 2.4rem;
	height: -webkit-fit-content;
	height: -moz-fit-content;
	height: fit-content;
	margin-right: 15rem;
	position: -webkit-sticky !important;
	position: sticky !important;
	top: 2rem;
	width: 25rem;
}

.benefits__content {
	margin-right: 15rem;
	width: 57.3rem;
}

.benefits__item {
	margin-bottom: 10rem;
}

.benefits__item:last-child {
	margin-bottom: 0;
}

.benefits__subtitle {
	font-family: "Zen Old Mincho", serif;
	font-size: 1.6rem;
	margin-bottom: 2rem;
	position: relative;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

.benefits__subtitle::after {
	background-color: #666666;
	bottom: 0;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	width: 21.48rem;
}

.benefits__text {
	font-size: 1.4rem;
	margin-bottom: 3rem;
}

.benefits__nav {
	height: -webkit-fit-content;
	height: -moz-fit-content;
	height: fit-content;
	position: -webkit-sticky;
	position: sticky;
	top: 2rem;
	width: calc(100% - 112.3rem);
}

.benefits__nav-list {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.benefits__nav-link {
	color: #666666;
	font-size: 1.2rem;
	font-weight: bold;
	position: relative;
}

.benefits__nav-link::after {
	background-color: #666666;
	bottom: -0.5rem;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	transition: all 0.3s ease-in-out;
	width: 0%;
}

.benefits__nav-link:hover::after {
	width: 100%;
}

.gallery {
	padding: 4rem 0 20rem;
	position: relative;
}

.gallery::after {
	background: linear-gradient(90deg, rgb(0, 165, 81) 0%, rgba(0, 63, 31, 0.95) 100%);
	content: "";
	height: 100%;
	opacity: 0.05;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	z-index: -1;
}

.gallery__title {
	font-family: "Zen Old Mincho", serif;
	font-size: 2.4rem;
	margin-bottom: 10rem;
}

.gallery__content {
	display: flex;
	flex-wrap: wrap;
	gap: 4rem;
}

.gallery__item {
	width: calc(33.3333333333% - 2.6666666667rem);
}

.contact {
	background-color: #fff;
	padding: 15rem 0;
}

.contact__inner {
	margin: 0 auto;
	max-width: 68rem;
}

.contact__text {
	font-family: "Zen Old Mincho", serif;
	font-size: 2rem;
	line-height: 1.5;
	margin-bottom: 8rem;
	text-align: center;
}

.contact .CMS-FORM-GROUP {
	margin-bottom: 2.4rem;
}

.contact .CMS-FORM-GROUP:last-child {
	margin-bottom: 0;
}

.contact .CMS-FORM-INPUT-LABEL {
	color: #666666;
	font-weight: 400;
}

.contact .CMS-FORM-INPUT,
.contact .CMS-FORM-EMAIL {
	border: 1px solid #dddddd;
	border-radius: 0.4rem;
	height: 5rem;
	padding: 1rem;
	width: 100%;
}

.contact .CMS-FORM-TEXTAREA {
	border: 1px solid #dddddd;
	border-radius: 0.4rem;
	height: 8rem;
	padding: 1rem;
	resize: none;
	width: 100%;
}

.contact .CMS-FORM-CHECKBOX {
	align-items: center;
	display: flex;
	justify-content: center;
	margin-bottom: 2.4rem;
	position: relative;
}

.contact .CMS-FORM-CHECKBOX input[type=checkbox] {
	cursor: pointer;
	height: 2rem;
	left: 0;
	margin: 0;
	opacity: 0;
	position: absolute;
	top: 0;
	width: 2rem;
	z-index: 2;
}

.contact .CMS-FORM-CHECKBOX label {
	cursor: pointer;
	display: inline-block;
	line-height: 2rem;
	margin-left: 2.8rem;
	min-height: 2rem;
	position: relative;
}

.contact .CMS-FORM-CHECKBOX label a {
	color: #444444;
	text-decoration: underline;
}

.contact .CMS-FORM-CHECKBOX label:before {
	background: #fff;
	border: 1.5px solid #fff;
	border: 1px solid #444444;
	border-radius: 0.4rem;
	box-sizing: border-box;
	content: "";
	height: 2rem;
	left: -3rem;
	position: absolute;
	top: 0;
	transition: border-color 0.2s, background 0.2s;
	width: 2rem;
}

.contact .CMS-FORM-CHECKBOX input[type=checkbox]:checked + label:before {
	background: #444444;
}

.contact .CMS-FORM-CHECKBOX input[type=checkbox]:checked + label:after {
	border-bottom: 2.5px solid #fff;
	border-right: 2.5px solid #fff;
	content: "";
	height: 1rem;
	left: -2.4rem;
	position: absolute;
	top: 0.3rem;
	transform: rotate(40deg);
	width: 0.5rem;
}

.contact input[type=submit] {
	background: linear-gradient(90deg, rgb(1, 165, 81) 0%, rgb(116, 187, 74) 100%);
	border: none;
	border-radius: 0.4rem;
	color: #fff;
	cursor: pointer;
	display: block;
	font-size: 1.4rem;
	font-weight: 600;
	margin: 0 auto;
	padding: 1rem 0;
	text-align: center;
	width: 34rem;
}

.entry {
	background-color: #fff;
	padding: 15rem 0;
}

.entry__inner {
	margin: 0 auto;
	max-width: 68rem;
}

.entry__text {
	font-family: "Zen Old Mincho", serif;
	font-size: 2rem;
	line-height: 1.5;
	margin-bottom: 8rem;
	text-align: center;
}

.entry .CMS-FORM-GROUP {
	margin-bottom: 2.4rem;
}

.entry .CMS-FORM-GROUP:last-child {
	margin-bottom: 0;
}

.entry .CMS-FORM-INPUT-LABEL {
	color: #666666;
	font-weight: 400;
}

.entry .CMS-FORM-INPUT,
.entry .CMS-FORM-SELECT,
.entry .CMS-FORM-EMAIL {
	border: 1px solid #dddddd;
	border-radius: 0.4rem;
	height: 5rem;
	padding: 1rem;
	width: 100%;
}

.entry .CMS-FORM-TEXTAREA {
	border: 1px solid #dddddd;
	border-radius: 0.4rem;
	height: 8rem;
	padding: 1rem;
	resize: none;
	width: 100%;
}

.entry .CMS-FORM-CHECKBOX {
	align-items: center;
	display: flex;
	justify-content: center;
	margin-bottom: 2.4rem;
	position: relative;
}

.entry .CMS-FORM-CHECKBOX input[type=checkbox] {
	cursor: pointer;
	height: 2rem;
	left: 0;
	margin: 0;
	opacity: 0;
	position: absolute;
	top: 0;
	width: 2rem;
	z-index: 2;
}

.entry .CMS-FORM-CHECKBOX label {
	cursor: pointer;
	display: inline-block;
	line-height: 2rem;
	margin-left: 2.8rem;
	min-height: 2rem;
	position: relative;
}

.entry .CMS-FORM-CHECKBOX label a {
	color: #444444;
	text-decoration: underline;
}

.entry .CMS-FORM-CHECKBOX label:before {
	background: #fff;
	border: 1.5px solid #fff;
	border: 1px solid #444444;
	border-radius: 0.4rem;
	box-sizing: border-box;
	content: "";
	height: 2rem;
	left: -3rem;
	position: absolute;
	top: 0;
	transition: border-color 0.2s, background 0.2s;
	width: 2rem;
}

.entry .CMS-FORM-CHECKBOX input[type=checkbox]:checked + label:before {
	background: #444444;
}

.entry .CMS-FORM-CHECKBOX input[type=checkbox]:checked + label:after {
	border-bottom: 2.5px solid #fff;
	border-right: 2.5px solid #fff;
	content: "";
	height: 1rem;
	left: -2.4rem;
	position: absolute;
	top: 0.3rem;
	transform: rotate(40deg);
	width: 0.5rem;
}

.entry input[type=submit] {
	background: linear-gradient(90deg, rgb(1, 165, 81) 0%, rgb(116, 187, 74) 100%);
	border: none;
	border-radius: 0.4rem;
	color: #fff;
	cursor: pointer;
	display: block;
	font-size: 1.4rem;
	font-weight: 600;
	margin: 0 auto;
	padding: 1rem 0;
	text-align: center;
	width: 34rem;
}

.thanx {
	background-color: #fff;
	padding: 20rem 0;
}

.thanx__inner {
	margin: 0 auto;
	max-width: 68rem;
}

.thanx__title {
	font-family: "Zen Old Mincho", serif;
	font-size: 2rem;
	line-height: 1.5;
	margin: 0 auto 10rem;
	text-align: center;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

.thanx__text {
	margin-bottom: 15rem;
}

.thanx__btn {
	background: linear-gradient(90deg, rgb(1, 165, 81) 0%, rgb(116, 187, 74) 100%);
	border-radius: 0.4rem;
	color: #fff;
	display: block;
	font-size: 1.4rem;
	font-weight: 600;
	margin: 0 auto;
	padding: 1rem 0;
	text-align: center;
	width: 34rem;
}

.privacy {
	background-color: #fff;
	padding: 20rem 0;
}

.privacy__inner {
	margin: 0 auto;
	max-width: 75rem;
}

.privacy__title {
	font-family: "Zen Old Mincho", serif;
	font-size: 2rem;
	line-height: 1.5;
	margin: 0 auto 10rem;
	text-align: center;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

.privacy__text {
	margin-bottom: 10rem;
}

html {
	font-size: 0.6944444444vw;
}

body {
	background-image: url(../image/bg.svg);
	background-position: center;
	background-repeat: repeat-y;
	background-size: contain;
	color: #666666;
	font-family: "Zen Kaku Gothic New", "Noto Sans", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: 0.01em;
	line-height: 2;
}

img {
	height: auto;
	width: 100%;
}

.container {
	margin: 0 auto;
	max-width: 134rem;
	padding: 0 2rem;
}

.section-title {
	font-family: "Zen old mincho", serif;
	font-size: 3.2rem;
	letter-spacing: 0.01em;
	line-height: 2;
	position: relative;
	position: relative;
	text-align: center;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

.section-title::after {
	background-color: #666666;
	bottom: -2rem;
	content: "";
	height: 1px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 130rem;
}

.btn {
	background: linear-gradient(90deg, rgb(200, 0, 28) 0%, rgb(255, 67, 0) 100%);
	border-radius: 0.4rem;
	color: #fff;
	display: block;
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: 0.01em;
	line-height: 1;
	margin: 0 auto;
	padding: 1.6rem 0;
	position: relative;
	text-align: center;
	width: 34.3rem;
}

.btn::after {
	color: #fff;
	content: ">";
	font-size: 1.6rem;
	font-weight: bold;
	position: absolute;
	right: 30%;
	top: 50%;
	transform: translateY(-50%);
}

.sp {
	display: none;
}

.pc {
	display: block;
}

.hero {
	height: 79.8rem;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.hero__inner {
	height: 100%;
}

.hero__content {
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: end;
	position: relative;
}

.hero .hero-swiper {
	height: 100%;
	left: 0;
	overflow: hidden;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}

.hero .swiper-wrapper {
	transform: none !important;
	transition: none !important;
}

.hero .swiper-slide {
	height: 100%;
	left: 0;
	overflow: hidden;
	position: absolute;
	top: 0;
	transform: none !important;
	width: 100%;
}

.hero .swiper-slide {
	opacity: 0;
	transition: opacity 1.5s ease-in-out;
}

.hero .swiper-slide.swiper-slide-active {
	opacity: 1;
}

.hero__img-wrap {
	display: none;
}

.hero__img-item {
	width: 77rem;
}

.hero__img-item img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.hero__title {
	color: #fff;
	font-size: 3.2rem;
	font-weight: bold;
	text-align: center;
}

.hero__text-scroll {
	display: flex;
	flex-wrap: nowrap;
	position: relative;
	width: 100%;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	z-index: 2;
}

.hero__text-scroll li {
	-webkit-animation: scroll-left 40s linear infinite;
	animation: scroll-left 40s linear infinite;
	color: #fff;
	font-size: 16rem;
	font-weight: bold;
	line-height: 0.7;
	padding-left: 0.2em;
	white-space: nowrap;
	width: -moz-fit-content;
	width: -webkit-fit-content;
	width: fit-content;
}

.hero-text {
	padding: 20rem 0;
}

.hero-text__title {
	font-family: "Zen old mincho", serif;
	font-size: 2rem;
	text-align: center;
}

.career-message {
	background-image: url(../image/career-message-bg.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	color: #fff;
	padding: 10rem 0;
	width: 100%;
}

.career-message__title {
	font-family: "Zen old mincho", serif;
	font-size: 2.4rem;
	margin-bottom: 10rem;
	text-align: center;
}

.career-message__text {
	line-height: 4;
	text-align: center;
}

.movie {
	padding: 20rem 0 10rem;
}

.movie .section-title {
	margin: 0 auto 6rem;
}

.movie__item {
	margin: 0 auto;
	max-width: 95%;
}

.movie__item video {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.interview {
	padding: 10rem 0;
}

.interview .section-title {
	margin: 0 auto 6rem;
	max-width: 130rem;
	padding: 0 2rem;
}

.interview .section-title::after {
	width: 130rem;
}

.interview .interview-swiper {
	margin-left: auto;
	margin-right: 0;
	max-width: 140rem;
	overflow: hidden;
	padding: 0 2rem;
	width: 100%;
}

.interview .interview-swiper .swiper-slide {
	flex-shrink: 0;
	margin-right: 6rem !important;
	min-height: 50rem;
	transition: transform 0.3s ease;
	width: 30rem !important;
}

.interview .interview-swiper .swiper-wrapper {
	align-items: center;
	display: flex;
	padding-left: 0.6rem;
}

.interview__item {
	width: 100%;
}

.interview__link {
	color: #666666;
	display: block;
	height: 100%;
	width: 100%;
}

.interview__link:hover img {
	transform: scale(1.1);
}

.interview__img {
	margin-bottom: 2rem;
	overflow: hidden;
	position: relative;
}

.interview__img img {
	transition: all 0.3s ease-in-out;
}

.interview__img-label {
	background-color: #003F1F;
	bottom: 0;
	color: #fff;
	font-size: 1.2rem;
	left: 0;
	line-height: 1;
	padding: 0.5rem 0.8rem;
	position: absolute;
}

.interview__name {
	font-family: "Zen old mincho", serif;
	font-size: 2.4rem;
	line-height: 1.5;
}

.interview__name span {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 1.4rem;
}

.interview .swiper-pagination-custom {
	color: #666666;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 1.6rem;
	font-weight: 500;
	margin-top: 3rem;
	position: relative;
}

.interview .swiper-pagination-bullet {
	background-color: #666666;
	opacity: 0.3;
}

.interview .swiper-pagination-bullet-active {
	opacity: 1;
}

.strength {
	padding: 10rem 0;
}

.strength .section-title {
	margin: 0 auto 4rem;
}

.strength__content {
	display: flex;
	gap: 3rem;
}

.strength__item {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: calc(33.3333333333% - 2rem);
}

.strength__img {
	margin-bottom: 2rem;
}

.strength__title {
	font-family: "Zen old mincho", serif;
	font-size: 1.8rem;
	line-height: 1.5;
	margin: 0 auto 1rem;
	text-align: center;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

.business {
	padding: 10rem 0;
}

.business .section-title {
	margin: 0 auto 4rem;
}

.business__content {
	display: flex;
	gap: 3rem;
}

.business__item {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: calc(33.3333333333% - 2rem);
}

.business__img {
	margin-bottom: 2rem;
}

.business__title {
	font-family: "Zen old mincho", serif;
	font-size: 1.8rem;
	line-height: 1.5;
	margin: 0 auto 1rem;
	text-align: center;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

.flow {
	padding: 10rem 0;
}

.flow .section-title {
	margin: 0 auto 6rem;
}

.flow .section-title span {
	font-size: 1.4rem;
}

.flow__content {
	align-items: center;
	display: flex;
	gap: 10rem;
	justify-content: space-between;
}

.flow__content-img {
	width: 59.7rem;
}

.flow__content-text {
	width: calc(100% - 69.7rem);
}

.flow__list {
	display: flex;
	flex-direction: column;
	gap: 3rem;
	margin-bottom: 6rem;
	padding-left: 5rem;
	position: relative;
}

.flow__list::before {
	background-color: #00A551;
	content: "";
	height: 0;
	left: 0;
	position: absolute;
	top: 0;
	transition: height 2s ease-out;
	width: 0.15rem;
}

.flow__list.is-active::before {
	height: 100%;
}

.flow__item {
	align-items: center;
	display: flex;
	gap: 5rem;
	opacity: 0;
	position: relative;
	transform: translateY(-1rem);
	transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

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

.flow__item::before {
	background-color: #00A551;
	border-radius: 50%;
	content: "";
	height: 0.7rem;
	left: -5.26rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 0.7rem;
}

.flow__item-time {
	color: #00A551;
	font-size: 2.4rem;
}

.flow__item-text {
	font-size: 1.6rem;
}

.flow__text {
	font-size: 1.2rem;
}

.training {
	padding: 10rem 0;
}

.training .section-title {
	margin: 0 auto 6rem;
}

.training__content {
	display: flex;
	gap: 10rem;
}

.training__item {
	width: calc(50% - 5rem);
}

.training__img {
	margin-bottom: 2rem;
}

.training__title {
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.5;
	margin: 0 auto 2rem;
	text-align: center;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

.training__text {
	padding: 0 4rem;
}

.company {
	padding: 10rem 0;
}

.company .section-title {
	margin: 0 auto 6rem;
}

.company__content {
	align-items: center;
	display: flex;
	gap: 10rem;
	margin-bottom: 3rem;
}

.company__content-img {
	width: 60rem;
}

.company__title {
	font-family: "Zen old mincho", serif;
	font-size: 2.4rem;
	margin: 0 0 6rem;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

.company__content-text {
	width: calc(100% - 70rem);
}

.company__btn {
	color: #666666;
	display: block;
	font-size: 1.6rem;
	margin-left: auto;
	position: relative;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

.company__btn::after {
	background-color: #666666;
	bottom: 0;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	transition: all 0.3s ease-in-out;
	width: 0%;
}

.company__btn:hover::after {
	width: 100%;
}

.parallax {
	height: 50rem;
	overflow: hidden;
	position: relative;
}

.parallax__bg {
	background-image: url(../image/parallax-bg.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 90vh;
	left: 0;
	position: absolute;
	top: 0;
	transform: translateZ(0);
	width: 100%;
	will-change: transform;
}

.recruit-info {
	padding: 20rem 0;
}

.recruit-info .section-title {
	margin: 0 auto 6rem;
}

.recruit-info__content {
	display: flex;
	gap: 6rem;
}

.recruit-info__item {
	height: 69rem;
	width: calc(50% - 3rem);
}

.recruit-info__link {
	align-items: center;
	color: #fff;
	display: flex;
	flex-direction: column;
	font-family: "Zen old mincho", serif;
	height: 100%;
	justify-content: end;
	overflow: hidden;
	padding: 0 2.5rem 2rem;
	position: relative;
	width: 100%;
}

.recruit-info__link:hover .recruit-info__link-img {
	transform: scale(1.1);
}

.recruit-info__link-img {
	-o-object-fit: cover;
	height: 100%;
	left: 0;
	object-fit: cover;
	position: absolute;
	top: 0;
	transform: scale(1);
	transition: transform 0.3s ease-in-out;
	width: 100%;
	z-index: -1;
}

.recruit-info__link-title {
	border-bottom: 0.5px solid #fff;
	font-size: 3.2rem;
	margin-bottom: 2rem;
	padding-bottom: 2rem;
	text-align: center;
	width: 100%;
}

.recruit-info__link-text {
	font-size: 1.6rem;
	text-align: center;
}

.bgLRextendTrigger {
	position: relative;
	transform: translateZ(0);
	will-change: transform;
}

.bgextend {
	opacity: 0;
	position: relative;
	transition: opacity 1s cubic-bezier(0.16, 1, 0.3, 1);
	will-change: opacity;
}

.bgextend.bgLRextend {
	opacity: 1;
}

.bgappear {
	opacity: 0;
	transition: opacity 1s cubic-bezier(0.16, 1, 0.3, 1);
	transition-delay: 0.6s;
	will-change: opacity;
}

.bgLRextend .bgappear {
	opacity: 1;
}

.bgLRextend::before {
	background: linear-gradient(90deg, rgb(1, 165, 81) 0%, rgb(114, 186, 74) 100%);
	content: "";
	height: 100%;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
	width: 100%;
	will-change: transform;
}

.bgLRextend.is-active::before {
	transform: scaleX(1);
	transform-origin: left;
	transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.bgLRextend.is-active.is-leaving::before {
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.bgv2::before {
	background: linear-gradient(90deg, rgb(200, 0, 28) 0%, rgb(255, 67, 0) 100%);
}

.fade-in-up {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.8s ease-in-out, transform 0.8s ease-in-out;
	will-change: opacity, transform;
}

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

.mv {
	height: 100vh;
	position: relative;
	width: 100%;
	z-index: 0;
}

.mv .mv__main {
	height: 100%;
	line-height: 0;
	position: relative;
	width: 100%;
	z-index: 0;
}

.mv .mv__main .mv__swiper {
	height: 100%;
	position: relative;
	width: 100%;
}

.mv .mv__main .mv__swiper .swiper-container {
	height: 100%;
	position: relative;
}

.mv .mv__main .mv__swiper .swiper-container .swiper-wrapper {
	height: 100%;
	position: relative;
}

.mv .mv__main .mv__swiper .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-active {
	transition: opacity 0s linear;
}

.mv .mv__main .mv__swiper .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-active img {
	-webkit-animation: kvScaleAnimation 5s linear forwards;
	animation: kvScaleAnimation 5s linear forwards;
}

.mv .mv__main .mv__swiper .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-prev {
	opacity: 1 !important;
	position: relative;
	transition: opacity 0s linear;
	z-index: 1001 !important;
}

.mv .mv__main .mv__swiper .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-prev img {
	-webkit-animation: kvScaleAnimation 5s linear forwards;
	animation: kvScaleAnimation 5s linear forwards;
}

.mv .mv__main .mv__swiper .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-next {
	position: relative;
	z-index: 1000;
}

.mv .mv__main .mv__swiper .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-next img {
	-webkit-animation: kvScaleAnimation 5s linear forwards;
	animation: kvScaleAnimation 5s linear forwards;
}

.mv .mv__main .mv__swiper .swiper-container .swiper-wrapper .swiper-slide figure {
	height: 100%;
	line-height: 0;
	position: relative;
	width: 100%;
}

.mv .mv__main .mv__swiper .swiper-container .swiper-wrapper .swiper-slide figure img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

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

.header__inner {
	padding: 1.5rem;
}

.header__nav {
	background-color: #F5F7F5;
	height: 100%;
	padding: 2rem;
	position: fixed;
	right: 0;
	top: 0;
	transform: translateX(100%);
	transition: 0.2s;
	width: 100%;
	z-index: 99999;
}

.header__nav.active {
	transform: translateX(0);
}

.header__nav-list {
	align-items: start;
	flex-direction: column;
	gap: 0rem;
	height: 100%;
	justify-content: center;
}

.header__nav-item {
	border-bottom: 1px solid #E0E0E0;
	width: 100%;
}

.header__nav-item:last-child {
	border-bottom: none;
	padding: 2rem 0;
	text-align: center;
}

.header__nav-link {
	font-size: 1.6rem;
	padding: 2rem 0;
}

.header .burger-btn {
	background: transparent;
	border: none;
	cursor: pointer;
	display: block;
	position: fixed;
	right: 1rem;
	top: 1.5rem;
	z-index: 99999;
}

.header .burger-btn .bar {
	background: #004B42;
	display: block;
	height: 0.2rem;
	margin: 0;
	transition: 0.2s;
	width: 4rem;
}

.header .burger-btn .h-menu {
	display: inline-block;
	text-align: center;
	transform: translateY(0);
	transition: 0.2s;
	width: 100%;
}

.header .burger-btn.active .bar-top {
	transform: translateY(1.5rem) rotate(45deg);
}

.header .burger-btn.active .h-menu {
	transform: translateY(3rem);
}

.header .burger-btn.active .bar-bottom {
	transform: translateY(-1.5rem) rotate(-45deg);
}

.page-head {
	height: 40vh;
}

.page-head__title {
	font-size: 1.6rem;
}

.footer {
	padding: 4rem 0;
}

.footer__content {
	flex-direction: column;
}

.footer__left::before {
	height: 1px;
	left: 0;
	right: auto;
	top: 100%;
	width: 100%;
}

.footer__right {
	margin-top: 2rem;
}

.footer__logo {
	margin-bottom: 2rem;
}

.footer__info {
	margin-bottom: 2rem;
}

.footer__copyright {
	text-align: center;
}

.footer__nav-list {
	flex-direction: column;
	gap: 1rem;
	margin-bottom: 2rem;
}

.footer__sns {
	margin-bottom: 1rem;
}

.interview-info {
	padding: 8rem 0;
}

.interview-info__inner {
	flex-direction: column;
	gap: 4rem;
}

.interview-info__img {
	margin-bottom: 0rem;
	margin-right: 0;
	position: static;
	width: 100%;
}

.interview-info__content {
	margin-right: 0;
	width: 100%;
}

.interview-info__item {
	margin-bottom: 5rem;
}

.interview-info__question {
	margin-bottom: 1rem;
}

.interview-info__answer {
	font-size: 1.8rem;
	margin-bottom: 1rem;
}

.interview-info__nav {
	position: static;
	width: 100%;
}

.interview-parallax {
	height: 30rem;
}

.interview-other {
	padding: 10rem 0;
}

.interview-other .section-title {
	margin: 0 0 4rem 0;
	padding: 0 2rem;
}

.interview-other .interview-swiper {
	padding-left: 2rem;
}

.interview-other .interview-swiper .swiper-slide {
	margin-right: 3rem !important;
	width: 20rem !important;
}

.interview-other__name {
	font-size: 1.6rem;
	white-space: nowrap;
}

.interview-other .swiper-pagination-custom {
	font-size: 1.4rem;
}

.recruitment {
	padding: 8rem 0;
}

.recruitment__inner {
	flex-direction: column;
	gap: 4rem;
}

.recruitment__title {
	font-size: 2rem;
	margin-bottom: 0rem;
	margin-right: 0;
	position: static !important;
}

.recruitment__content {
	margin-right: 0;
	width: 100%;
}

.recruitment__item {
	margin-bottom: 5rem;
}

.recruitment__subtitle {
	font-size: 1.8rem;
	margin-bottom: 1rem;
}

.recruitment__subtitle::after {
	width: 100%;
}

.recruitment__text {
	margin-bottom: 1rem;
	padding-left: 0;
}

.recruitment__text span {
	margin-bottom: 2rem;
}

.recruitment__nav {
	position: static;
	width: 100%;
}

.benefits {
	padding: 8rem 0;
}

.benefits__inner {
	flex-direction: column;
	gap: 4rem;
}

.benefits__title {
	font-size: 2rem;
	margin-bottom: 0rem;
	margin-right: 0;
	position: static !important;
}

.benefits__content {
	margin-right: 0;
	width: 100%;
}

.benefits__item {
	margin-bottom: 5rem;
}

.benefits__subtitle {
	font-size: 1.4rem;
	margin-bottom: 1rem;
}

.benefits__subtitle::after {
	width: 100%;
}

.benefits__nav {
	position: static;
	width: 100%;
}

.gallery {
	padding: 4rem 0 10rem;
}

.gallery__title {
	font-size: 2rem;
	margin-bottom: 6rem;
}

.gallery__content {
	gap: 2rem;
}

.gallery__item {
	width: calc(50% - 1rem);
}

.contact {
	padding: 8rem 0;
}

.contact__text {
	font-size: 1.8rem;
	margin-bottom: 6rem;
}

.contact .CMS-FORM-GROUP {
	margin-bottom: 2rem;
}

.contact .CMS-FORM-INPUT,
.contact .CMS-FORM-EMAIL {
	height: 4rem;
}

.entry {
	padding: 8rem 0;
}

.entry__text {
	font-size: 1.8rem;
	margin-bottom: 6rem;
}

.entry .CMS-FORM-GROUP {
	margin-bottom: 2rem;
}

.entry .CMS-FORM-INPUT,
.entry .CMS-FORM-SELECT,
.entry .CMS-FORM-EMAIL {
	height: 4rem;
}

.thanx {
	padding: 8rem 0;
}

.thanx__title {
	font-size: 1.8rem;
	margin-bottom: 6rem;
}

.privacy {
	padding: 8rem 0;
}

.privacy__title {
	font-size: 1.8rem;
	margin-bottom: 6rem;
}

html {
	font-size: 2.6666666667vw;
}

.section-title {
	font-size: 2.4rem;
}

.section-title::after {
	bottom: -1.5rem;
	width: 33.5rem;
}

.btn {
	font-size: 1.4rem;
	padding: 1.3rem;
	width: 100%;
}

.sp {
	display: block;
}

.pc {
	display: none;
}

.hero {
	height: 42rem;
}

.hero .hero-swiper {
	display: none;
}

.hero__img-wrap {
	-webkit-animation: slideLeft 40s linear infinite;
	animation: slideLeft 40s linear infinite;
	display: flex;
	flex-wrap: nowrap;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	z-index: 0;
}

.hero__title {
	font-size: 1.6rem;
}

.hero__text-scroll li {
	font-size: 6.8rem;
	margin-top: 3rem;
}

.hero-text {
	padding: 10rem 0;
}

.hero-text__title {
	font-size: 1.6rem;
}

.career-message {
	padding: 8rem 0;
}

.career-message__title {
	font-size: 1.8rem;
	margin-bottom: 6rem;
}

.career-message__text {
	line-height: 2;
}

.movie {
	padding: 10rem 0 5rem;
}

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

.interview {
	padding: 5rem 0;
}

.interview .section-title {
	margin: 0 auto 4rem;
}

.interview .section-title::after {
	width: 33.5rem;
}

.interview .interview-swiper .swiper-slide {
	margin-right: 3rem !important;
	min-height: 30rem;
	width: 20rem !important;
}

.interview__name {
	font-size: 1.6rem;
}

.interview .swiper-pagination-custom {
	font-size: 1.4rem;
}

.strength {
	padding: 5rem 0;
}

.strength__content {
	flex-direction: column;
	gap: 4rem;
}

.strength__item {
	width: 100%;
}

.business {
	padding: 5rem 0;
}

.business__content {
	flex-direction: column;
	gap: 4rem;
}

.business__item {
	width: 100%;
}

.flow {
	padding: 5rem 0;
}

.flow .section-title {
	margin: 0 auto 4rem;
}

.flow__content {
	flex-direction: column;
	gap: 4rem;
}

.flow__content-img {
	width: 100%;
}

.flow__content-text {
	width: 100%;
}

.flow__list {
	gap: 2rem;
	margin-bottom: 3rem;
	padding-left: 3rem;
}

.flow__item {
	gap: 2rem;
}

.flow__item::before {
	left: -3.25rem;
}

.flow__item-time {
	font-size: 2rem;
}

.flow__item-text {
	font-size: 1.4rem;
}

.training {
	padding: 5rem 0;
}

.training .section-title {
	margin: 0 auto 4rem;
}

.training__content {
	flex-direction: column;
	gap: 5rem;
}

.training__item {
	width: 100%;
}

.training__title {
	font-size: 1.6rem;
	margin: 0 auto 1rem;
}

.training__text {
	padding: 0;
}

.company {
	padding: 5rem 0 10rem;
}

.company .section-title {
	margin: 0 auto 4rem;
}

.company__content {
	flex-direction: column;
	gap: 4rem;
}

.company__content-img {
	width: 100%;
}

.company__title {
	font-size: 2rem;
	margin: 0 0 3rem;
}

.company__content-text {
	width: 100%;
}

.company__btn {
	font-size: 1.4rem;
}

.parallax {
	height: 25rem;
	padding: 8rem 0;
}

.recruit-info {
	padding: 10rem 0;
}

.recruit-info .section-title {
	margin: 0 auto 4rem;
}

.recruit-info__content {
	gap: 2rem;
}

.recruit-info__item {
	height: 20rem;
	width: calc(50% - 1rem);
}

.recruit-info__link {
	padding: 0 1rem 1rem;
}

.recruit-info__link-title {
	font-size: 1.8rem;
	margin-bottom: 0.5rem;
	padding-bottom: 0.5rem;
}

.recruit-info__link-text {
	font-size: 1.4rem;
}

.mv {
	height: 90svh;
}

}

@keyframes slideLeft {

0% {
	transform: translateX(0);
}

100% {
	transform: translateX(-300vw);
}

}

@-webkit-keyframes slideLeft {

0% {
	transform: translateX(0);
}

100% {
	transform: translateX(-300vw);
}

}

@-webkit-keyframes scroll-left {

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

}

@keyframes scroll-left {

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

}

@-webkit-keyframes kvScaleAnimation {

from {
	transform: scale(1);
}

to {
	transform: scale(1.03);
}

}

@keyframes kvScaleAnimation {

from {
	transform: scale(1);
}

to {
	transform: scale(1.03);
}

}

