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

body {
	color: #000;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 25.6px;
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 2.2;
}

.u-mobile {
	display: none;
}

.u-mobile--lg {
	display: none;
}

a:hover {
	opacity: 0.7;
}

html {
	font-size: 0.6666666667vw;
}

/* pcの電話番号発信対応 */

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

/* ホバー */

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

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

/* Remove default padding */

ul,
ol {
	padding: 0;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
	font-weight: 500;
	margin: 0;
	padding: 0;
}

address {
	font-style: normal;
}

/* Set core root defaults */

/* Set core body defaults */

body {
	min-height: 100vh;
	text-rendering: optimizeSpeed;
}

body.hidden {
	overflow: hidden;
}

/* 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: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="10" /></filter></svg>#filter');
	-webkit-filter: blur(10px);
	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;
}

.l-404 {
	margin-top: 320px;
	margin-top: 20rem;
}

.l-breadcrumb {
	margin-top: 376px;
	margin-top: 23.5rem;
}

.l-inner,
.l-inner140 {
	margin-left: auto;
	margin-right: auto;
	max-width: 2752px;
	max-width: 172rem;
	padding-left: 40px;
	padding-right: 40px;
	width: 100%;
}

.l-inner140 {
	max-width: 2336px;
	max-width: 146rem;
}

.l-top-main {
	overflow: hidden;
}

.c-arrow {
	position: relative;
}

.c-arrow::after {
	-webkit-mask-image: url(../images/common/arrow-green.svg);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: 1.3rem;
	background: #000;
	content: "";
	height: 28.8px;
	height: 1.8rem;
	mask-image: url(../images/common/arrow-green.svg);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: 1.3rem;
	position: absolute;
	right: -40px;
	right: -2.5rem;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
	width: 28.8px;
	width: 1.8rem;
}

.c-arrow:hover::after {
	-webkit-transform: translate(0.5rem, -50%);
	transform: translate(0.5rem, -50%);
}

.c-breadcrumb {
	padding: 38.4px 0;
	padding: 2.4rem 0;
}

.c-breadcrumb__lists {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}

.c-breadcrumb__item {
	color: #999999;
	margin-right: 16px;
	margin-right: 1rem;
}

.c-breadcrumb__item a {
	color: #999999;
	display: inline-block;
	position: relative;
}

.c-breadcrumb__item a::after {
	content: "/";
}

.c-btn {
	background-color: #000;
	border-radius: 2.5rem;
	color: #fff;
	display: block;
	font-family: "Poppins", sans-serif;
	font-style: italic;
	font-weight: 600;
	padding: 8px 40px;
	padding: 0.5rem 2.5rem;
	position: relative;
	text-align: center;
	width: 272px;
	width: 17rem;
}

.c-btn-red {
	background-color: #e50012;
}

.c-btn-green {
	background-color: #00913a;
}

.c-btn-blue {
	background-color: #2ca6e0;
}

.c-btn-gray {
	background-color: #808080;
}

.c-btn-return {
	padding: 8px 32px 8px 72px;
	padding: 0.5rem 2rem 0.5rem 4.5rem;
}

.c-btn-return::before {
	aspect-ratio: 1;
	background: url(../images/common/arrow-white.svg) no-repeat center;
	bottom: 0;
	content: "";
	left: 40px;
	left: 2.5rem;
	margin: auto;
	position: absolute;
	top: 0;
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
	-webkit-transition: 0.3s;
	transition: 0.3s;
	width: 20.8px;
	width: 1.3rem;
}

.c-btn-return:hover::before {
	left: 32px;
	left: 2rem;
}

.c-flex {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.c-hamburger {
	color: transparent;
	cursor: pointer;
	height: 100%;
	overflow: hidden;
	position: absolute;
	right: 0;
	text-shadow: none;
	top: 0;
	width: 96px;
	width: 6rem;
}

.c-hamburger span {
	left: 50%;
	margin: 0 0 0 -22.4px;
	margin: 0 0 0 -1.4rem;
	top: 50%;
	-webkit-transition: background-color 100ms;
	transition: background-color 100ms;
}

.c-hamburger span::before,
.c-hamburger span,
.c-hamburger span::after {
	background: #e50012;
	border-radius: 3px;
	content: "";
	display: block;
	height: 3px;
	position: absolute;
	width: 44.8px;
	width: 2.8rem;
}

/*×に変化*/

.c-hamburger span::before {
	top: -14.4px;
	top: -0.9rem;
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
}

.c-hamburger span::after {
	top: 14.4px;
	top: 0.9rem;
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
}

.c-hamburger span::before,
.c-hamburger span::after {
	left: 0;
	-webkit-transition: top 200ms, -webkit-transform 200ms;
	transition: top 200ms, -webkit-transform 200ms;
	transition: transform 200ms, top 200ms;
	transition: transform 200ms, top 200ms, -webkit-transform 200ms;
}

.c-hamburger.active span::before,
.c-hamburger.active span::after {
	top: 0;
}

.c-page-hero {
	margin-bottom: 240px;
	margin-bottom: 15rem;
}

.c-page-hero__ttl {
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	font-size: 38.4px;
	font-size: 2.4rem;
	line-height: 1;
	margin-bottom: 160px;
	margin-bottom: 10rem;
}

.c-page-hero__ttl .hero-en {
	font-family: "Poppins", sans-serif;
	font-size: 144px;
	font-size: 9rem;
	font-style: italic;
}

.c-page-hero__ttl .hero-en span {
	display: block;
	font-size: 38.4px;
	font-size: 2.4rem;
	margin-bottom: 32px;
	margin-bottom: 2rem;
}

.c-pagination {
	margin: 192px auto 0;
	margin: 12rem auto 0;
	padding-left: 208px;
	padding-left: 13rem;
	width: -moz-fit-content;
	width: -webkit-fit-content;
	width: fit-content;
}

.c-pagination span,
.c-pagination a {
	aspect-ratio: 1;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background-color: #e50012;
	border: 1px solid #e50012;
	border-radius: 50%;
	color: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-weight: 700;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-right: 64px;
	margin-right: 4rem;
	-webkit-transition: 0.3s;
	transition: 0.3s;
	width: 64px;
	width: 4rem;
}

.c-pagination span:last-child,
.c-pagination a:last-child {
	margin-right: 0;
}

.c-pagination a {
	background-color: #fff;
	color: #e50012;
}

.c-pagination a:hover {
	background-color: #e50012;
	color: #fff;
	opacity: 1;
}

.c-pagination a.next,
.c-pagination a.prev {
	background: none;
	border: none;
}

.c-pagination a.next img,
.c-pagination a.prev img {
	width: 40px;
	width: 2.5rem;
}

.c-pagination a.prev img {
	-webkit-transform: rotate(-90deg);
	transform: rotate(-90deg);
}

.c-pagination a.next img {
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}

.l-page .c-parts-contact {
	margin-top: 400px;
	margin-top: 25rem;
}

.c-parts-contact {
	overflow: hidden;
}

.c-top-section-ttl.c-parts-contact__ttl::before {
	color: #e50012;
	content: "05";
	left: 0;
	top: 0;
}

.c-top-section-ttl.c-parts-contact__ttl {
	padding-left: 0;
	padding-top: 80px;
	padding-top: 5rem;
}

.c-top-section-subttl.c-parts-contact__subttl {
	margin-right: 0;
	padding-top: 64px;
	padding-top: 4rem;
}

.c-parts-contact__img {
	margin: 0 calc(50% - 50vw);
	margin-top: -104px;
	margin-top: -6.5rem;
	position: relative;
	width: 100vw;
	z-index: -1;
}

.c-parts-contact .c-flex {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}

.c-parts-contact__arrow {
	aspect-ratio: 1;
	margin-right: 88px;
	margin-right: 5.5rem;
	margin-top: -160px;
	margin-top: -10rem;
	position: absolute;
	right: 0;
	width: 336px;
	width: 21rem;
}

.c-parts-contact__circleText {
	-webkit-animation: loop 12s linear infinite;
	animation: loop 12s linear infinite;
	font-size: 48px;
	font-size: 3rem;
	left: -2.5%;
	overflow: visible;
	position: absolute;
	top: -2.5%;
	width: 105%;
}

.circleText__text textPath {
	fill: #e50012;
}

.c-top-section-ttl {
	font-family: "Poppins", sans-serif;
	font-size: 96px;
	font-size: 6rem;
	font-style: italic;
	line-height: 1;
	margin-right: 288px;
	margin-right: 18rem;
	padding-left: 160px;
	padding-left: 10rem;
	position: relative;
}

.c-top-section-ttl .ja {
	display: block;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 32px;
	font-size: 2rem;
	font-style: normal;
	margin-top: 24px;
	margin-top: 1.5rem;
}

.c-top-section-ttl::before {
	content: "01";
	display: inline-block;
	font-family: "Poppins", sans-serif;
	font-size: 38.4px;
	font-size: 2.4rem;
	font-style: italic;
	left: 0;
	position: absolute;
	top: 24px;
	top: 1.5rem;
}

.c-top-section-subttl {
	margin-right: 128px;
	margin-right: 8rem;
	max-width: 928px;
	max-width: 58rem;
}

.c-sidebar {
	position: sticky;
	top: 0;
	width: 496px;
	width: 31rem;
}

.c-sidebar-ttl {
	color: #2ca6e0;
	font-family: "Poppins", sans-serif;
	font-size: 19.2px;
	font-size: 1.2rem;
	font-style: italic;
	margin-bottom: 80px;
	margin-bottom: 5rem;
}

.c-sidebar-list {
	margin-bottom: 64px;
	margin-bottom: 4rem;
}

.c-sidebar-list a {
	display: inline-block;
	font-size: 38.4px;
	font-size: 2.4rem;
	line-height: 1.625;
	padding-left: 80px;
	padding-left: 5rem;
	position: relative;
}

.c-sidebar-list a::before {
	aspect-ratio: 1;
	background: url(../images/common/arrow-gray.svg) no-repeat;
	bottom: 0;
	content: "";
	left: 0;
	margin: auto;
	position: absolute;
	top: 16px;
	top: 1rem;
	width: 24px;
	width: 1.5rem;
}

.c-sidebar-list a.on::before {
	background: url(../images/common/arrow-blue.svg) no-repeat;
}

.p-recruit .c-sidebar-ttl {
	color: #00913a;
}

.p-recruit .c-sidebar-list a.on::before {
	background: url(../images/common/arrow-green.svg) no-repeat;
}

.p-404__main {
	color: #00913a;
	font-size: 128px;
	font-size: 8rem;
	font-weight: bold;
	text-align: center;
}

.p-404__sub {
	color: #000000;
	font-size: 38.4px;
	font-size: 2.4rem;
	margin-top: 80px;
	margin-top: 5rem;
	text-align: center;
}

.p-404__top-btn {
	margin: 0 auto;
	margin-bottom: 240px;
	margin-bottom: 15rem;
	margin-top: 80px;
	margin-top: 5rem;
	text-align: center;
}

.p-about {
	overflow: hidden;
}

.p-about .c-page-hero__ttl .hero-en span {
	color: #e50012;
}

.p-about__philosophy-txt h2 {
	color: #e50012;
	font-family: "Poppins", sans-serif;
	font-size: 19.2px;
	font-size: 1.2rem;
	font-style: italic;
	margin-bottom: 128px;
	margin-bottom: 8rem;
}

.p-about__philosophy-copy {
	font-size: 96px;
	font-size: 6rem;
	line-height: 1.8166666667;
}

.p-about__philosophy-img {
	margin-left: 224px;
	margin-left: 14rem;
	width: 1120px;
	width: 70rem;
}

.p-about__philosophy-img img {
	margin: 0 auto 160px;
	margin: 0 auto 10rem;
	width: 440px;
	width: 27.5rem;
}

.p-about__philosophy-img span {
	font-size: 32px;
	font-size: 2rem;
}

.p-about__philosophy-slide {
	margin: 12rem calc(50% - 50vw) 0;
	width: 100vw;
}

.p-about__philosophy-slide button {
	display: none !important;
}

.p-about__philosophy-slide li {
	margin: 0 8px;
	margin: 0 0.5rem;
}

.p-about__vision {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	margin-top: 384px;
	margin-top: 24rem;
}

.p-about__vision-txt {
	width: 50%;
}

.p-about__vision-txt h2 {
	font-family: "Poppins", sans-serif;
	font-size: 96px;
	font-size: 6rem;
	font-style: italic;
	padding-left: 80px;
	padding-left: 5rem;
	position: relative;
}

.p-about__vision-txt h2::before {
	aspect-ratio: 1;
	background: url(../images/common/arrow.svg) no-repeat left;
	bottom: 0;
	content: "";
	left: 0;
	position: absolute;
	top: 0;
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
	width: 40px;
	width: 2.5rem;
}

.p-about__vision-txt h2 span {
	color: #e50012;
	display: inline-block;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 25.6px;
	font-size: 1.6rem;
	font-style: normal;
	margin-left: 48px;
	margin-left: 3rem;
}

.p-about__vision-lists {
	margin-top: 240px;
	margin-top: 15rem;
}

.p-about__vision-img {
	margin-right: calc(50% - 50vw);
	width: 50%;
}

.p-about__vision-list {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	border-bottom: 1px solid #808080;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 57.6px;
	font-size: 3.6rem;
	line-height: 1.4;
	margin-bottom: 64px;
	margin-bottom: 4rem;
	padding-bottom: 32px;
	padding-bottom: 2rem;
}

.p-about__vision-list span {
	color: #e50012;
	font-family: "Poppins", sans-serif;
	font-size: 38.4px;
	font-size: 2.4rem;
	font-style: italic;
	padding-right: 256px;
	padding-right: 16rem;
}

.p-about__greeting {
	margin-top: 400px;
	margin-top: 25rem;
}

.p-about__greeting h2 {
	font-size: 96px;
	font-size: 6rem;
}

.p-about__greeting h2 span {
	color: #e50012;
	display: inline-block;
	font-family: "Poppins", sans-serif;
	font-size: 25.6px;
	font-size: 1.6rem;
	font-style: italic;
	margin-left: 48px;
	margin-left: 3rem;
}

.p-about__greeting-flex {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}

.p-about__greeting-img {
	margin-left: calc(50% - 50vw);
	width: 64%;
}

.p-about__greeting-txt {
	margin-left: 240px;
	margin-left: 15rem;
	width: 46%;
}

.p-about__greeting-descri {
	font-size: 32px;
	font-size: 2rem;
	margin-bottom: 176px;
	margin-bottom: 11rem;
}

.p-about__greeting-role {
	color: #e50012;
	font-size: 22.4px;
	font-size: 1.4rem;
}

.p-about__greeting-name {
	font-size: 64px;
	font-size: 4rem;
}

.p-about__greeting-name span {
	color: #e50012;
	display: inline-block;
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	font-size: 1rem;
	font-style: italic;
	margin-left: 64px;
	margin-left: 4rem;
}

.p-about__outline {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	margin-top: 352px;
	margin-top: 22rem;
}

.p-about__outline h2 {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 57.6px;
	font-size: 3.6rem;
	width: 50%;
}

.p-about__outline h2 span {
	color: #e50012;
	font-size: 16px;
	font-size: 1rem;
	margin-left: 80px;
	margin-left: 5rem;
}

.p-about__outline-box {
	width: 50%;
}

.p-about__outline dl {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	border-bottom: 1px solid #808080;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 32px 0;
	padding: 2rem 0;
}

.p-about__outline dt {
	color: #e50012;
	font-size: 28.8px;
	font-size: 1.8rem;
	margin-right: 80px;
	margin-right: 5rem;
	width: -moz-max-content;
	width: -webkit-max-content;
	width: max-content;
	width: 128px;
	width: 8rem;
}

.p-about__outline dd {
	font-size: 38.4px;
	font-size: 2.4rem;
}

.p-about__equipment {
	margin-top: 432px;
	margin-top: 27rem;
}

.p-about__equipment h2 {
	font-size: 57.6px;
	font-size: 3.6rem;
	margin-bottom: 144px;
	margin-bottom: 9rem;
	text-align: center;
}

.p-about__equipment h2 span {
	color: #e50012;
	display: block;
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	font-size: 1rem;
	font-style: italic;
	margin-top: 16px;
	margin-top: 1rem;
}

.p-about__equipment table {
	border-collapse: collapse;
	margin: 0 auto;
	width: 1600px;
	width: 100rem;
}

.p-about__equipment table th,
.p-about__equipment table td {
	border: 1px solid #808080;
	font-size: 38.4px;
	font-size: 2.4rem;
	padding: 16px;
	padding: 1rem;
	text-align: center;
	width: 50%;
}

.p-about__equipment table th {
	border-top: none;
	font-weight: 500;
}

.p-contact {
	margin-bottom: 224px;
	margin-bottom: 14rem;
}

.p-contact .c-page-hero__ttl .hero-en span {
	color: #e50012;
}

.p-contact .c-sidebar-ttl {
	color: #000;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 38.4px;
	font-size: 2.4rem;
	font-style: normal;
	margin-bottom: 48px;
	margin-bottom: 3rem;
	padding-left: 32px;
	padding-left: 2rem;
	position: relative;
}

.p-contact .c-sidebar-ttl::before {
	aspect-ratio: 1;
	background: url(../images/common/arrow.svg) no-repeat;
	bottom: 0;
	content: "";
	left: 0;
	left: -48px;
	left: -3rem;
	margin: auto;
	position: absolute;
	top: 0;
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
	width: 24px;
	width: 1.5rem;
}

.p-contact .btn {
	margin-bottom: 48px;
	margin-bottom: 3rem;
}

.p-contact .c-btn {
	position: relative;
	width: 100%;
}

.p-contact .c-btn::before {
	aspect-ratio: 1;
	background: url(../images/common/ic-tel.svg) no-repeat center;
	bottom: 0;
	content: "";
	left: 11%;
	margin: auto;
	position: absolute;
	top: 0;
	width: 22.4px;
	width: 1.4rem;
}

.p-contact .caution {
	font-size: 17.6px;
	font-size: 1.1rem;
}

.p-contact__contents-mail {
	width: calc(100% - 31rem);
}

.p-contact__copy {
	font-size: 60.8px;
	font-size: 3.8rem;
	line-height: 1.4;
	margin-bottom: 48px;
	margin-bottom: 3rem;
	text-align: center;
}

.p-contact__subcopy {
	border-bottom: 1.6px solid #808080;
	border-bottom: 0.1rem solid #808080;
	font-size: 28.8px;
	font-size: 1.8rem;
	margin-bottom: 144px;
	margin-bottom: 9rem;
	padding-bottom: 112px;
	padding-bottom: 7rem;
	text-align: center;
}

.p-contact__ttl {
	font-size: 38.4px;
	font-size: 2.4rem;
	margin-bottom: 48px;
	margin-bottom: 3rem;
	padding-left: 32px;
	padding-left: 2rem;
	position: relative;
}

.p-contact__ttl::before {
	aspect-ratio: 1;
	background: url(../images/common/arrow.svg) no-repeat;
	bottom: 0;
	content: "";
	left: 0;
	left: -48px;
	left: -3rem;
	margin: auto;
	position: absolute;
	top: 0;
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
	width: 20px;
}

.p-contact__subttl {
	padding-left: 32px;
	padding-left: 2rem;
}

.p-contact__flex {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}

.p-contact__contents-mail {
	margin-left: 400px;
	margin-left: 25rem;
	width: calc(100% - 31rem);
}

.snow-monkey-form {
	margin-top: 112px;
	margin-top: 7rem;
}

.p-contact form .smf-form .smf-item__col--label {
	margin-right: 64px;
	margin-right: 4rem;
	max-width: 144px;
	max-width: 9rem;
}

.p-contact form .smf-form .smf-item__col--controls input,
form .smf-form .smf-item__col--controls textarea {
	background-color: #e6e6e6;
	border: none;
	padding: 24px;
	padding: 1.5rem;
	width: 100%;
}

.p-contact form .smf-form .smf-item__col--controls textarea {
	height: 480px;
	height: 30rem;
	resize: vertical;
}

.p-contact form .smf-action {
	margin-top: 80px;
	margin-top: 5rem;
}

.p-contact form .smf-action button {
	background: #e50012;
	border: none;
	border-radius: 5rem;
	color: #fff;
	cursor: pointer;
	padding: 16px 112px 16px 72px;
	padding: 1rem 7rem 1rem 4.5rem;
	position: relative;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

.p-contact form .smf-action button:hover {
	opacity: 0.7;
}

.p-contact form .smf-action button:hover::after {
	right: 56px;
	right: 3.5rem;
}

.p-contact form .smf-action button::after {
	aspect-ratio: 1;
	background: url(../images/common/arrow-white.svg) no-repeat center;
	bottom: 0;
	content: "";
	margin: auto;
	position: absolute;
	right: 64px;
	right: 4rem;
	top: 0;
	-webkit-transition: 0.3s;
	transition: 0.3s;
	width: 24px;
	width: 1.5rem;
}

.p-contact form .smf-action button[data-action=back] {
	background-color: #808080;
	padding: 16px 72px 16px 112px;
	padding: 1rem 4.5rem 1rem 7rem;
}

.p-contact form .smf-action button[data-action=back]::after {
	left: 64px;
	left: 4rem;
	right: inherit;
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

.p-contact form .smf-action button[data-action=back]:hover::after {
	left: 56px;
	left: 3.5rem;
}

.p-footer__footer1 {
	border-bottom: 1.6px solid #808080;
	border-bottom: 0.1rem solid #808080;
	margin-bottom: 112px;
	margin-bottom: 7rem;
	margin-top: 416px;
	margin-top: 26rem;
	padding-bottom: 168px;
	padding-bottom: 10.5rem;
	padding-right: 272px;
	padding-right: 17rem;
}

.p-footer__copy {
	font-size: 57.6px;
	font-size: 3.6rem;
	text-align: center;
}

.p-footer__copy span {
	display: block;
	font-family: "Poppins", sans-serif;
	font-size: 25.6px;
	font-size: 1.6rem;
	margin-top: 16px;
	margin-top: 1rem;
}

.p-footer__list {
	margin-bottom: 32px;
	margin-bottom: 2rem;
}

.p-footer__list a {
	display: inline-block;
	font-size: 32px;
	font-size: 2rem;
	position: relative;
}

.p-footer__list a::after {
	aspect-ratio: 1;
	background: url(../images/common/arrow.svg) no-repeat;
	bottom: 35%;
	content: "";
	margin: auto;
	position: absolute;
	right: -48px;
	right: -3rem;
	width: 19.2px;
	width: 1.2rem;
}

.p-footer__footer2 {
	margin-bottom: 96px;
	margin-bottom: 6rem;
}

.p-footer__copyright {
	font-family: "Poppins", sans-serif;
	font-size: 17.6px;
	font-size: 1.1rem;
}

.p-header {
	margin-top: 88px;
	margin-top: 5.5rem;
}

.p-header__inner {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}

.p-header__container {
	position: relative;
}

body.home .p-header__logo {
	width: 320px;
	width: 20rem;
}

.p-header__logo {
	width: 144px;
	width: 9rem;
}

.p-header__menu-txt {
	display: none;
}

.p-header__nav-list {
	margin-right: 80px;
	margin-right: 5rem;
}

.p-header__nav-list:nth-last-child(2) {
	margin-right: 176px;
	margin-right: 11rem;
}

.p-header__nav-list:last-child {
	margin-right: 0;
}

.p-header__nav-list a {
	display: block;
	position: relative;
}

.p-header__nav-list a::after {
	aspect-ratio: 1;
	background: url(../images/common/arrow.svg) no-repeat;
	bottom: -32px;
	bottom: -2rem;
	content: "";
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	width: 19.2px;
	width: 1.2rem;
}

.p-header__nav-list:last-child a {
	background-color: #e50012;
	border-radius: 2.5rem;
	color: #fff;
	padding: 8px 40px;
	padding: 0.5rem 2.5rem;
	text-align: center;
}

.p-header__nav-list:last-child a::after {
	display: none;
}

.p-news__lists {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding-left: 208px;
	padding-left: 13rem;
}

.p-news__lists::before {
	content: "";
	-webkit-box-ordinal-group: 2;
	-ms-flex-order: 1;
	order: 1;
	width: calc(33.33333% - 2.5rem);
}

.p-news__list {
	margin-bottom: 72px;
	margin-bottom: 4.5rem;
	width: calc(33.33333% - 2.5rem);
}

.p-news__img {
	border: 1px solid #e6e6e6;
}

.p-news__img img {
	-o-object-fit: cover;
	height: 480px;
	height: 30rem;
	object-fit: cover;
}

.p-news__txt {
	margin-top: 24px;
	margin-top: 1.5rem;
}

.p-news__ttl {
	font-size: 32px;
	font-size: 2rem;
}

.p-news__time {
	font-family: "Poppins", sans-serif;
	font-size: 22.4px;
	font-size: 1.4rem;
	font-style: italic;
}

.p-news__detail {
	margin-top: 224px;
	margin-top: 14rem;
}

.p-news__detail .c-page-hero__ttl .hero-ja {
	display: none;
}

.p-news__detail .c-page-hero__ttl {
	padding: 0;
}

.p-news__detail-contents.c-flex {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}

.p-news__detail .c-page-hero {
	margin-right: 320px;
	margin-right: 20rem;
}

.p-news__detail-ttl {
	font-size: 43.2px;
	font-size: 2.7rem;
	margin-bottom: 16px;
	margin-bottom: 1rem;
}

.p-news__detail-date {
	display: block;
	font-size: 22.4px;
	font-size: 1.4rem;
	padding-bottom: 80px;
	padding-bottom: 5rem;
}

.p-news__detail-discri {
	border-bottom: 1.6px solid #808080;
	border-bottom: 0.1rem solid #808080;
	border-top: 1.6px solid #808080;
	border-top: 0.1rem solid #808080;
	font-size: 32px;
	font-size: 2rem;
	margin-bottom: 48px;
	margin-bottom: 3rem;
	padding: 128px 0;
	padding: 8rem 0;
	padding-right: 256px;
	padding-right: 16rem;
}

.p-news__detail-btn a {
	width: 288px;
	width: 18rem;
}

.p-recruit .c-page-hero__ttl .hero-en span {
	color: #00913a;
}

.p-recruit .l-inner.c-flex {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}

.p-recruit__contents {
	width: calc(100% - 31rem);
}

.p-recruit__copy {
	-webkit-box-flex: 1.6;
	-ms-flex: 1.6;
	flex: 1.6;
	font-size: 76.8px;
	font-size: 4.8rem;
}

.p-recruit__subcopy {
	-webkit-box-flex: 2;
	-ms-flex: 2;
	flex: 2;
}

.p-recruit__bigchance-img {
	margin-top: 160px;
	margin-top: 10rem;
}

.p-recruit__merit {
	margin-top: 224px;
	margin-top: 14rem;
}

.p-recruit__merit h2 {
	border-bottom: 1.6px solid #808080;
	border-bottom: 0.1rem solid #808080;
	color: #000;
	font-size: 38.4px;
	font-size: 2.4rem;
	line-height: 1;
	padding-bottom: 96px;
	padding-bottom: 6rem;
}

.p-recruit__merit h2 span {
	color: #00913a;
	font-family: "Poppins", sans-serif;
	font-size: 96px;
	font-size: 6rem;
	font-style: italic;
	margin-right: 144px;
	margin-right: 9rem;
}

.p-recruit__merit-box {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	border-bottom: 1.6px solid #808080;
	border-bottom: 0.1rem solid #808080;
	padding: 128px 0;
	padding: 8rem 0;
}

.p-recruit__merit-txt {
	margin-right: 224px;
	margin-right: 14rem;
	width: 50%;
}

.p-recruit__merit-box-img {
	width: 50%;
}

.p-recruit__merit-txt h3 {
	font-size: 60.8px;
	font-size: 3.8rem;
	line-height: 1.2;
	margin-bottom: 96px;
	margin-bottom: 6rem;
}

.p-recruit__merit-txt h3 span {
	color: #00913a;
	font-family: "Poppins", sans-serif;
	font-size: 38.4px;
	font-size: 2.4rem;
	font-style: italic;
	padding-right: 160px;
	padding-right: 10rem;
	vertical-align: super;
}

.p-recruit__recruitment {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding-top: 320px;
	padding-top: 20rem;
}

.p-recruit__recruitment h2 {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	font-size: 57.6px;
	font-size: 3.6rem;
	line-height: 1.8;
	margin-right: 304px;
	margin-right: 19rem;
}

.p-recruit__recruitment h2 span {
	color: #00913a;
	display: block;
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	font-size: 1rem;
	font-style: italic;
}

.p-recruit__recruitment-lists {
	-webkit-box-flex: 5;
	-ms-flex: 5;
	flex: 5;
}

.p-recruit__recruitment-list {
	border-bottom: 1.6px solid #808080;
	border-bottom: 0.1rem solid #808080;
	padding: 48px 0;
	padding: 3rem 0;
}

.p-recruit__recruitment-list a {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding-left: 80px;
	padding-left: 5rem;
	position: relative;
}

.p-recruit__recruitment-list a::before {
	aspect-ratio: 1;
	background: url(../images/common/arrow-green.svg) no-repeat;
	content: "";
	left: 0;
	position: absolute;
	width: 32px;
	width: 2rem;
}

.p-recruit__recruitment-ttl {
	width: 80%;
}

.p-recruit__recruitment-name {
	font-size: 38.4px;
	font-size: 2.4rem;
	line-height: 1.8;
	width: 85%;
}

.p-recruit__recruitment-carrir {
	font-size: 32px;
	font-size: 2rem;
	margin-left: 32px;
	margin-left: 2rem;
	padding-left: 32px;
	padding-left: 2rem;
	position: relative;
	width: 160px;
	width: 10rem;
}

.p-recruit__recruitment-carrir::before {
	border-left: 1px solid #808080;
	bottom: 0;
	content: "";
	height: 80%;
	left: 0;
	margin: auto;
	position: absolute;
	top: 0;
}

.p-service .c-page-hero__ttl .hero-en span {
	color: #2ca6e0;
}

.p-service .l-inner.c-flex {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}

.p-service__contents {
	width: calc(100% - 31rem);
}

.p-service__copy {
	font-size: 76.8px;
	font-size: 4.8rem;
	margin-bottom: 256px;
	margin-bottom: 16rem;
}

.p-service__box {
	padding-bottom: 304px;
	padding-bottom: 19rem;
}

.p-service__box h2 {
	font-size: 76.8px;
	font-size: 4.8rem;
	margin-bottom: 144px;
	margin-bottom: 9rem;
	padding-left: 96px;
	padding-left: 6rem;
	position: relative;
}

.p-service__box h2 span {
	display: block;
	font-size: 28.8px;
	font-size: 1.8rem;
}

.p-service__box h2::before {
	aspect-ratio: 1;
	background: url(../images/common/arrow-blue.svg) no-repeat;
	content: "";
	left: 0;
	position: absolute;
	top: 72px;
	top: 4.5rem;
	width: 40px;
	width: 2.5rem;
}

.p-service__box-txt {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: 96px;
	margin-bottom: 6rem;
	padding-left: 96px;
	padding-left: 6rem;
}

.p-service__box-ttl {
	font-size: 48px;
	font-size: 3rem;
}

.p-service__box-descri {
	font-size: 32px;
	font-size: 2rem;
	line-height: 2.2;
	max-width: 880px;
	max-width: 55rem;
	width: 880px;
	width: 55rem;
}

.p-top-fv {
	margin-bottom: 960px;
	margin-bottom: 60rem;
}

.p-top-fv .l-inner {
	position: relative;
}

.p-top-fv h1 {
	font-size: 96px;
	font-size: 6rem;
	line-height: 1.3833333333;
	padding-top: 8vw;
}

.p-top-fv h1 span {
	display: block;
	font-family: "Poppins", sans-serif;
	font-size: 25.6px;
	font-size: 1.6rem;
	font-style: italic;
	margin-top: 32px;
	margin-top: 2rem;
}

.p-top-fv__scroll {
	bottom: 0;
	color: #e50012;
	font-family: "Poppins", sans-serif;
	font-style: italic;
	height: 38%;
	left: 192px;
	left: 12rem;
	position: absolute;
	-webkit-writing-mode: vertical-lr;
	-ms-writing-mode: tb-lr;
	writing-mode: vertical-lr;
}

.p-top-fv__scroll::before {
	border-right: 1.6px solid #e50012;
	border-right: 0.1rem solid #e50012;
	bottom: 32px;
	bottom: 2rem;
	content: "";
	height: 10vw;
	left: 50%;
	position: absolute;
}

.p-top-fv__scroll::after {
	aspect-ratio: 1;
	background: url(../images/common/arrow.svg) no-repeat;
	bottom: 0;
	content: "";
	left: 14.4px;
	left: 0.9rem;
	position: absolute;
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
	width: 28.8px;
	width: 1.8rem;
}

.p-top-fv__imgs {
	position: absolute;
	top: 0;
}

.p-top-fv__lists {
	-webkit-box-align: baseline;
	-ms-flex-align: baseline;
	align-items: baseline;
	padding-left: 512px;
	padding-left: 32rem;
	right: 40px;
}

.p-top-fv__img {
	margin-right: 32px;
	margin-right: 2rem;
}

.p-top-fv__img:last-child {
	margin-right: 0;
}

.p-top-fv__copy {
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 17.6px;
	font-size: 1.1rem;
	margin-left: 24px;
	margin-left: 1.5rem;
	margin-right: 24px;
	margin-right: 1.5rem;
	-webkit-writing-mode: vertical-lr;
	-ms-writing-mode: tb-lr;
	writing-mode: vertical-lr;
}

.p-top-about__ttl {
	margin-right: 160px;
	margin-right: 10rem;
}

.p-top-about__ttl::before {
	color: #e50012;
	content: "01";
}

.p-top-about .c-flex {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}

.p-top-about__arrow {
	aspect-ratio: 1;
	margin-right: 112px;
	margin-right: 7rem;
	margin-top: 0;
	margin-top: -40px;
	margin-top: -2.5rem;
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
	width: 160px;
	width: 10rem;
}

.p-top-about__contents {
	margin-top: 272px;
	margin-top: 17rem;
}

.p-top-about__en {
	color: #808080;
	font-family: "Poppins", sans-serif;
	font-size: 33.6px;
	font-size: 2.1rem;
	font-style: italic;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

.p-top-about__img {
	margin-left: 128px;
	margin-left: 8rem;
	margin-right: calc(50% - 50vw);
}

.p-top-about__subttl {
	max-width: 784px;
	max-width: 49rem;
}

.p-top-service {
	margin-bottom: 256px;
	margin-bottom: 16rem;
	margin-top: 304px;
	margin-top: 19rem;
}

.p-top-service__ttl::before {
	color: #2ca6e0;
	content: "02";
}

.p-top-service__arrow {
	aspect-ratio: 1;
	margin-left: auto;
	margin-top: 24px;
	margin-top: 1.5rem;
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
	width: 224px;
	width: 14rem;
}

.p-top-service .c-flex {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}

.p-top-service__subttl {
	margin-top: 24px;
	margin-top: 1.5rem;
}

.p-top-service__contents {
	margin-top: 120px;
	margin-top: 7.5rem;
}

.p-top-service__list {
	margin-right: 80px;
	margin-right: 5rem;
}

.p-top-service__list:nth-child(2) {
	margin-top: 160px;
	margin-top: 10rem;
}

.p-top-service__list:nth-child(3) {
	margin-right: 0;
	margin-top: 320px;
	margin-top: 20rem;
}

.p-top-service__txt {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-top: 32px;
	margin-top: 2rem;
	position: relative;
}

.p-top-service__txt h3 {
	font-size: 51.2px;
	font-size: 3.2rem;
	line-height: 1.8;
}

.p-top-service__txt h3 span {
	color: #2ca6e0;
	display: block;
	font-family: "Poppins", sans-serif;
	font-size: 25.6px;
	font-size: 1.6rem;
	font-style: italic;
}

.p-top-service__txt img {
	aspect-ratio: 1;
	width: 64px;
	width: 4rem;
}

.p-top-recruit__bg {
	background: url(../images/top/recruit-img.jpg) no-repeat;
	background-size: cover;
	padding: 240px 0 272px;
	padding: 15rem 0 17rem;
}

.p-top-recruit__ttlarea {
	padding-left: 80px;
	padding-left: 5rem;
}

.p-top-recruit__ttl {
	color: #fff;
}

.p-top-recruit__ttl {
	margin-bottom: 208px;
	margin-bottom: 13rem;
	padding-left: 0;
	padding-top: 136px;
	padding-top: 8.5rem;
}

.p-top-recruit__ttl::before {
	color: #00913a;
	content: "03";
	top: 0;
}

.p-top-recruit__arrow {
	margin-top: -48px;
	margin-top: -3rem;
	width: 112px;
	width: 7rem;
}

.p-top-recruit__copy {
	color: #fff;
	font-size: 76.8px;
	font-size: 4.8rem;
	line-height: 1.4791666667;
	margin-left: auto;
	-webkit-writing-mode: vertical-lr;
	-ms-writing-mode: tb-lr;
	writing-mode: vertical-lr;
}

.p-top-recruit .c-flex {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	justify-self: flex-start;
}

.p-top-news {
	margin-bottom: 432px;
	margin-bottom: 27rem;
	margin-top: 272px;
	margin-top: 17rem;
}

.p-top-news__ttl::before {
	content: "04";
}

.p-top-news .c-flex {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}

.p-top-news__lists {
	margin-left: 256px;
	margin-left: 16rem;
	width: 100%;
}

.p-top-news__list .c-flex {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.p-top-news__list {
	border-bottom: 1.6px solid #808080;
	border-bottom: 0.1rem solid #808080;
}

.p-top-news__list a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 32px 0;
	padding: 2rem 0;
}

.p-top-news__list-date {
	font-family: "Poppins", sans-serif;
	font-size: 22.4px;
	font-size: 1.4rem;
	font-style: italic;
	font-weight: 300;
	margin-right: 176px;
	margin-right: 11rem;
}

.p-top-news__list-ttl {
	font-size: 28.8px;
	font-size: 1.8rem;
}

.p-top-news__arrow {
	margin-left: auto;
	width: 64px;
	width: 4rem;
}

@media (min-width: 1501px) {

html {
	font-size: 62.5%;
}

}

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

.u-desktop--lg {
	display: none;
}

.u-mobile--lg {
	display: block;
}

}

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

.u-desktop {
	display: none;
}

.u-mobile {
	display: block;
}

a:hover {
	opacity: 1;
}

html {
	font-size: 2.6666666667vw;
}

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

a:hover {
	opacity: 0.8;
}

.l-404 {
	margin-top: 12rem;
}

.l-breadcrumb {
	margin-top: 11rem;
}

.l-inner,
.l-inner140 {
	padding-left: 2.75rem;
	padding-right: 2.75rem;
}

.c-breadcrumb {
	display: none;
	padding: 1.5rem 0;
}

.c-btn-return::before {
	width: 1rem;
}

.c-flex {
	display: block;
}

.c-drawer {
	background: #fff;
	display: none;
	left: 0;
	position: absolute;
	width: 100%;
	z-index: 999;
}

.c-page-hero {
	margin-bottom: 6rem;
}

.c-page-hero__ttl {
	margin-bottom: 4rem;
}

.c-page-hero__ttl .hero-en {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 3rem;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding-left: 2rem;
	position: relative;
	text-align: right;
}

.c-page-hero__ttl .hero-en::before {
	aspect-ratio: 1;
	background: url(../images/common/arrow.svg) no-repeat;
	content: "";
	left: 0;
	position: absolute;
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
	width: 2.5rem;
}

.c-page-hero__ttl .hero-en span {
	font-size: 1.4rem;
	margin-bottom: 0;
	padding-left: 2rem;
	text-align: left;
}

.c-page-hero__ttl .hero-ja {
	font-size: 1.4rem;
	margin-top: 1.5rem;
	text-align: right;
}

.c-pagination {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin: 6.5rem auto 0;
	padding-left: 0;
}

.c-pagination span,
.c-pagination a {
	border: 2px solid #e50012;
	font-size: 1.4rem;
	height: 3rem;
	margin-bottom: 1rem;
	margin-right: 3rem;
	width: 3rem;
}

.c-pagination a.prev {
	margin-right: 4.5rem;
}

.c-pagination a.next {
	margin-left: 1.5rem;
}

.l-page .c-parts-contact {
	margin-top: 9rem;
}

.c-top-section-ttl.c-parts-contact__ttl {
	margin-bottom: 3rem;
}

.c-top-section-subttl.c-parts-contact__subttl {
	display: none;
}

.c-parts-contact__img {
	margin-top: 0;
}

.c-parts-contact__arrow {
	margin-right: 3rem;
	margin-top: -19.5rem;
	width: 7.5rem;
}

.c-top-section-ttl {
	font-size: 3rem;
	margin: 0;
	margin-bottom: 5rem;
	margin-top: 4rem;
	padding: 0;
	width: 100%;
}

.c-top-section-ttl .ja {
	font-size: 1.4rem;
}

.c-top-section-ttl::before {
	font-size: 1.4rem;
	left: 3rem;
	top: -5.5rem;
}

.c-top-section-subttl {
	margin-right: 0;
	max-width: 100%;
}

.c-sidebar {
	display: none;
}

.p-404__main {
	font-size: 3rem;
}

.p-404__sub {
	font-size: 1.8rem;
	margin-top: 3rem;
}

.p-404__top-btn {
	margin-bottom: 9rem;
	margin-top: 3rem;
}

.p-about__philosophy {
	position: relative;
}

.p-about__philosophy-txt h2 {
	margin-bottom: 4rem;
}

.p-about__philosophy-copy {
	font-size: 1.8rem;
	line-height: 1.7777777778;
}

.p-about__philosophy-img {
	margin: 0;
	margin-top: 3rem;
	width: 100%;
}

.p-about__philosophy-img img {
	margin: 0;
	position: absolute;
	right: 0;
	top: 13%;
	width: 11rem;
}

.p-about__philosophy-img span {
	font-size: 1.3rem;
	line-height: 2;
}

.p-about__philosophy-slide {
	margin-top: 4rem;
}

.p-about__vision {
	margin-top: 9rem;
}

.p-about__vision-txt {
	width: 100%;
}

.p-about__vision-txt h2 {
	font-size: 3rem;
}

.p-about__vision-txt h2::before {
	top: -2rem;
}

.p-about__vision-txt h2 span {
	display: block;
	font-size: 1rem;
	margin: 0;
	margin-left: -5rem;
}

.p-about__vision-lists {
	margin-right: 0;
	margin-top: 3rem;
}

.p-about__vision-img {
	display: none;
	width: 100%;
}

.p-about__vision-list {
	font-size: 1.6rem;
	margin-bottom: 3rem;
	margin-left: 3rem;
	padding-bottom: 1.5rem;
}

.p-about__vision-list span {
	font-size: 1.2rem;
	padding-right: 2rem;
}

.p-about__greeting {
	margin-top: 9rem;
}

.p-about__greeting h2 {
	font-size: 2.1rem;
}

.p-about__greeting h2 span {
	font-size: 0.8rem;
}

.p-about__greeting-img {
	margin: 2.5rem calc(50% - 50vw);
	width: 100vw;
}

.p-about__greeting-txt {
	margin-left: 0;
	width: 100%;
}

.p-about__greeting-descri {
	font-size: 1.3rem;
	margin-bottom: 4rem;
}

.p-about__greeting-oficer {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.p-about__greeting-role {
	font-size: 1rem;
}

.p-about__greeting-name {
	font-size: 2.3rem;
	margin-top: 0;
}

.p-about__greeting-name span {
	font-size: 0.8rem;
	vertical-align: middle;
}

.p-about__outline {
	margin-top: 9rem;
}

.p-about__outline h2 {
	font-size: 2.1rem;
	width: 100%;
}

.p-about__outline h2 span {
	font-size: 0.8rem;
	margin-left: 3rem;
}

.p-about__outline-box {
	width: 100%;
}

.p-about__outline dl {
	display: block;
	padding: 1.5rem 0;
}

.p-about__outline dt {
	font-size: 1rem;
	margin-right: 0;
	width: 100%;
}

.p-about__outline dd {
	font-size: 1.2rem;
	line-height: 1.2;
	width: 100%;
}

.p-about__equipment {
	margin-top: 9rem;
}

.p-about__equipment h2 {
	font-size: 2.1rem;
	margin-bottom: 3rem;
}

.p-about__equipment h2 span {
	font-size: 0.8rem;
	margin-top: 0;
}

.p-about__equipment table {
	border-bottom: 1px solid #808080;
	padding-bottom: 1.5rem;
	width: 100%;
}

.p-about__equipment table th,
.p-about__equipment table td {
	border: none;
	border-right: 1px solid #808080;
	font-size: 1.4rem;
	padding: 0.5rem;
	text-align: left;
}

.p-about__equipment table th:last-child,
.p-about__equipment table td:last-child {
	border: none;
	padding-left: 2rem;
}

.p-about__equipment table th {
	padding-bottom: 1.5rem;
}

.p-contact .c-sidebar {
	border-bottom: 1px solid #808080;
	display: block;
	padding: 4rem 0;
	position: inherit;
}

.p-contact .c-sidebar-ttl {
	font-size: 1.8rem;
	padding-left: 5rem;
}

.p-contact .c-sidebar-ttl::before {
	left: 0;
	width: 2.5rem;
}

.p-contact .btn {
	padding-left: 5rem;
}

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

.p-contact__subcopy {
	font-size: 1rem;
	margin-bottom: 0;
	padding-bottom: 3rem;
}

.p-contact__ttl {
	font-size: 1.8rem;
	padding-left: 5rem;
}

.p-contact__ttl::before {
	left: 0;
	width: 2.5rem;
}

.p-contact__subttl {
	font-size: 1rem;
	padding-left: 0;
}

.p-contact__contents-mail {
	margin-left: 0;
	padding-top: 4rem;
	width: 100%;
}

.smf-form--simple-table .smf-item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.p-contact form .smf-form .smf-item__col--label {
	font-size: 1.2rem;
	max-width: 30%;
	width: 20%;
}

.p-contact form .smf-form .smf-item__col--controls textarea {
	height: 20rem;
}

.p-contact form .smf-action {
	margin-top: 3rem;
	text-align: right;
}

.p-contact form .smf-action button {
	font-size: 1.1rem;
	margin-right: 1rem;
	padding: 1rem 3rem 1rem 1.5rem;
	width: 52%;
}

.p-contact form .smf-action button::after {
	right: 2rem;
	width: 1rem;
}

.p-contact form .smf-action button[data-action=back] {
	padding: 1rem 1.5rem 1rem 3rem;
}

.p-footer__footer1 {
	border: none;
	margin-top: 10rem;
	padding-bottom: 0;
	padding-right: 0;
}

.p-footer__logo {
	margin: 0 auto 6rem;
	width: 18rem;
}

.p-footer__copy {
	font-size: 2.1rem;
}

.p-footer__copy span {
	font-size: 1rem;
	margin-top: 0;
}

.p-footer__list {
	line-height: 1.4;
	margin-bottom: 2.5rem;
}

.p-footer__list:last-child {
	margin-bottom: 0;
}

.p-footer__list a {
	font-size: 1.4rem;
}

.p-footer__list a::after {
	bottom: 0.2rem;
}

.p-footer__footer2 {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding-right: 5rem;
	position: relative;
}

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

.p-footer__copyright {
	bottom: 0;
	font-size: 0.7rem;
	position: absolute;
}

.p-header {
	margin-bottom: 4rem;
	margin-top: 1.5rem;
}

body.home .p-header__logo {
	width: 7rem;
}

.p-header__logo {
	width: 13rem;
}

.p-header__menu-txt {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	bottom: 0;
	color: #e50012;
	display: block;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-family: "Poppins", sans-serif;
	font-size: 0.8rem;
	font-style: italic;
	position: absolute;
	right: 6rem;
	top: 0;
}

.p-header__nav-list {
	border-bottom: 1px solid #e50012;
	margin-right: 0;
	text-align: center;
}

.p-header__nav-list:nth-last-child(2) {
	margin-right: 0;
}

.p-header__nav-list:last-child {
	border: none;
	padding: 1.5rem 5rem;
}

.p-header__nav-list a {
	padding: 0.5rem 0;
}

.p-header__nav-list a::after {
	bottom: 30%;
	left: inherit;
	margin-left: 1.5rem;
	right: inherit;
}

.p-news__lists {
	margin: 0 auto;
	padding-left: 0;
	width: 80%;
}

.p-news__lists::before {
	width: 100%;
}

.p-news__list {
	margin-bottom: 3.5rem;
	width: 100%;
}

.p-news__img img {
	height: 17.5rem;
}

.p-news__txt {
	line-height: 1.4;
}

.p-news__ttl {
	font-size: 1.4rem;
}

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

.p-news__detail {
	margin-top: 0;
}

.p-news__detail .c-page-hero__ttl .hero-ja {
	display: block;
}

.p-news__detail .c-page-hero__ttl .hero-en::before {
	background: url(../images/common/arrow-black.svg) no-repeat;
	-webkit-transform: inherit;
	transform: inherit;
}

.p-news__detail .c-page-hero {
	margin-right: 0;
}

.p-news__detail-ttl {
	font-size: 2.2rem;
	line-height: 1.5454545455;
}

.p-news__detail-date {
	font-size: 1rem;
	padding-bottom: 3rem;
}

.p-news__detail-discri {
	border: none;
	font-size: 1.3rem;
	margin-bottom: 5rem;
	padding: 0;
	padding-right: 0;
}

.p-news__detail-btn {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	text-align: center;
}

.p-news__detail-btn a {
	width: 16rem;
}

.p-recruit .c-page-hero__ttl .hero-en::before {
	background: url(../images/common/arrow-green.svg) no-repeat;
	-webkit-transform: inherit;
	transform: inherit;
}

.p-recruit__contents {
	width: 100%;
}

.p-recruit__copy {
	-webkit-box-flex: inherit;
	-ms-flex: inherit;
	flex: inherit;
	font-size: 1.6rem;
	line-height: 1.75;
	margin-bottom: 2rem;
}

.p-recruit__subcopy {
	font-size: 1.3rem;
}

.p-recruit__merit h2 {
	border: none;
	font-size: 1rem;
	padding-bottom: 0;
}

.p-recruit__merit h2 span {
	display: block;
	font-size: 3rem;
	margin: 0;
	margin-bottom: 1rem;
}

.p-recruit__merit-box {
	padding: 4rem 0;
}

.p-recruit__merit-txt {
	margin-bottom: 2.5rem;
	margin-right: 0;
	width: 100%;
}

.p-recruit__merit-box-img {
	width: 100%;
}

.p-recruit__merit-txt h3 {
	font-size: 1.6rem;
	margin-bottom: 3rem;
}

.p-recruit__merit-txt h3 span {
	font-size: 1.2rem;
	padding-right: 2rem;
	vertical-align: middle;
}

.p-recruit__merit-descri {
	font-size: 1.3rem;
}

.p-recruit__recruitment {
	display: block;
	padding-top: 10rem;
}

.p-recruit__recruitment h2 {
	font-size: 2.1rem;
	margin-right: 0;
	text-align: center;
}

.p-recruit__recruitment h2 span {
	font-size: 0.8rem;
}

.p-recruit__recruitment-list {
	padding-bottom: 1.5rem;
}

.p-recruit__recruitment-list a {
	padding-left: 3rem;
	position: relative;
}

.p-recruit__recruitment-list a::before {
	top: 1rem;
}

.p-recruit__recruitment-list a img {
	aspect-ratio: 1;
	bottom: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: 1rem;
	top: 0;
	width: 3rem;
}

.p-recruit__recruitment-ttl {
	width: 87%;
}

.p-recruit__recruitment-name {
	display: block;
	font-size: 1.6rem;
	width: 100%;
}

.p-recruit__recruitment-carrir {
	display: block;
	font-size: 1.2rem;
	margin: 0;
	padding: 0;
	width: 100%;
}

.p-recruit__recruitment-carrir::before {
	display: none;
}

.p-service .c-page-hero__ttl .hero-en::before {
	background: url(../images/common/arrow-blue.svg) no-repeat;
	-webkit-transform: inherit;
	transform: inherit;
}

.p-service__contents {
	width: 100%;
}

.p-service__copy {
	font-size: 1.6rem;
	margin-bottom: 5rem;
	text-align: center;
}

.p-service__box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	padding-bottom: 6rem;
}

.p-service__box h2 {
	font-size: 1.6rem;
	line-height: 1.6;
	margin-bottom: 2.5rem;
	padding-left: 4rem;
}

.p-service__box h2 span {
	font-size: 0.8rem;
}

.p-service__box h2::before {
	top: 0.3rem;
	width: 2rem;
}

.p-service__box-txt {
	display: block;
	line-height: 1.6666666667;
	margin-bottom: 0;
	margin-top: 2.5rem;
	-webkit-box-ordinal-group: 4;
	-ms-flex-order: 3;
	order: 3;
	padding-left: 0;
}

.p-service__box-ttl {
	font-size: 1.8rem;
	margin-bottom: 2rem;
}

.p-service__box-descri {
	font-size: 1.3rem;
	line-height: 2;
	width: 100%;
}

.p-top-fv {
	margin-bottom: 47rem;
}

.p-top-fv h1 {
	font-size: 2.2rem;
	line-height: 1.4545454545;
	padding-top: 0;
}

.p-top-fv h1 span {
	font-size: 0.8rem;
}

.p-top-fv__scroll {
	font-size: 0.9rem;
	height: 60%;
	left: 0;
}

.p-top-fv__scroll::before {
	height: 62vw;
}

.p-top-fv__scroll::after {
	left: 0.1rem;
}

.p-top-fv__lists {
	padding-left: 5rem;
}

.p-top-fv__img {
	margin-right: 0;
}

.p-top-fv__img1 {
	padding-left: 16rem;
}

.p-top-fv__img2 {
	padding-left: 8rem;
}

.p-top-fv__copy {
	display: none;
}

.p-top-about__arrow {
	margin-top: 0;
	width: 2rem;
}

.p-top-about__contents {
	margin-top: 9rem;
}

.p-top-about__en {
	font-size: 1rem;
	-webkit-writing-mode: inherit;
	-ms-writing-mode: inherit;
	writing-mode: inherit;
}

.p-top-about__img {
	margin: 2rem calc(50% - 50vw) 0;
}

.p-top-about__subttl {
	margin-bottom: 5rem;
	max-width: 100%;
}

.p-top-about .btn {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: end;
}

.p-top-service {
	margin-top: 10rem;
}

.p-top-service__ttl::before {
	top: -5.8rem;
}

.p-top-service__arrow {
	margin-left: inherit;
	margin-right: 7rem;
	margin-top: -0.5rem;
	-webkit-transform: inherit;
	transform: inherit;
	width: 2rem;
}

.p-top-service__subttl {
	display: none;
}

.p-top-service__contents {
	margin-top: 0;
}

.p-top-service__list {
	border-bottom: 1px solid #808080;
	margin-bottom: 3rem;
	margin-right: 0;
	padding-bottom: 2rem;
}

.p-top-service__list:nth-child(2) {
	margin-top: 0;
}

.p-top-service__list:nth-child(3) {
	border-bottom: none;
	margin-top: 0;
}

.p-top-service__txt {
	margin-top: 1rem;
}

.p-top-service__txt h3 {
	font-size: 1.8rem;
}

.p-top-service__txt h3 span {
	font-size: 0.8rem;
}

.p-top-recruit {
	position: relative;
}

.p-top-recruit__bg {
	background: url(../images/top/sp/recruit-img.jpg) no-repeat;
	background-size: cover;
	padding: 17rem 0;
}

.p-top-recruit__ttlarea {
	padding-left: 0;
}

.p-top-recruit__ttl {
	color: #000;
	margin-bottom: 3rem;
}

.p-top-recruit__arrow {
	width: 2rem;
}

.p-top-recruit__copy {
	font-size: 2.2rem;
	letter-spacing: 0.05em;
	line-height: 1.4545454545;
	margin-left: 0;
	text-shadow: 1px 1px 4px rgba(0, 0, 0, .9);
	-webkit-writing-mode: inherit;
	-ms-writing-mode: inherit;
	writing-mode: inherit;
}

.p-top-recruit .c-flex {
	position: absolute;
	top: -5rem;
}

.p-top-recruit .btn {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-top: 5rem;
}

.p-top-news {
	margin-bottom: 9rem;
}

.p-top-news__ttl {
	margin-bottom: 3rem;
}

.p-top-news__ttl::before {
	left: 0;
}

.p-top-news__lists {
	margin-left: 0;
}

.p-top-news__list .c-flex {
	display: block;
}

.p-top-news__list a {
	position: relative;
}

.p-top-news__list-date {
	font-size: 1rem;
}

.p-top-news__list-ttl {
	font-size: 1.2rem;
}

.p-top-news__arrow {
	bottom: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: auto;
	position: absolute;
	right: 0;
	top: 0;
	width: 2rem;
}

}

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

a:hover {
	opacity: 1;
}

}

@media (max-width: 360px) {

html {
	font-size: 2.7777777778vw;
}

}

@-webkit-keyframes loop {

0% {
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
}

100% {
	-webkit-transform: rotate(360deg);
	transform: rotate(360deg);
}

}

@keyframes loop {

0% {
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
}

100% {
	-webkit-transform: rotate(360deg);
	transform: rotate(360deg);
}

}


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