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

.display-sp {
	display: none;
}

.display-pc {
	display: none;
}

html {
	scroll-padding-top: 80px;
}

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

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

/* ホバー */

a {
	color: inherit;
	text-decoration: none;
}

*,
*::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 {
	margin: 0;
}

/* Set core root defaults */

html {
	scroll-behavior: smooth;
}

/* Set core body defaults */

body {
	line-height: 1.5;
	text-rendering: optimizeSpeed;
}

/* 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;
}

/* ページ共通のボタンで使うクラスが書かれているファイル */

.c-button a {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background-color: #fff;
	border: 1px solid #ddd;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 60px;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	max-width: 280px;
	padding-bottom: 4px;
	position: relative;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	width: 100%;
}

.c-button a::before {
	background: -webkit-gradient(linear, left top, right top, from(#2FADCF), color-stop(85%, #1D509E));
	background: linear-gradient(to right, #2FADCF 0%, #1D509E 85%);
	content: "";
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transform-origin: right;
	transform-origin: right;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	-webkit-transition-property: -webkit-transform;
	transition-property: -webkit-transform;
	transition-property: transform;
	transition-property: transform, -webkit-transform;
	width: 100%;
}

.c-button a:hover::before {
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
	-webkit-transform-origin: left;
	transform-origin: left;
}

.c-button a:hover p {
	color: #fff;
}

.c-button a:hover .arrow .icon img:nth-child(1) {
	opacity: 0;
}

.c-button a:hover .arrow .icon img:nth-child(2) {
	opacity: 1;
}

.c-button a p {
	font-size: 18px;
	font-weight: 700;
	position: relative;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.c-button a .arrow {
	height: 18px;
	position: absolute;
	right: 18px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 18px;
}

.c-button a .arrow .icon {
	height: 18px;
	position: relative;
	width: 18px;
}

.c-button a .arrow .icon img {
	border-radius: 50%;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	width: 100%;
}

.c-button a .arrow .icon img:nth-child(1) {
	opacity: 1;
}

.c-button a .arrow .icon img:nth-child(2) {
	opacity: 0;
}

.c-button--solution a {
	background-color: transparent;
	border: 1px solid #fff;
	max-width: 330px;
}

.c-button--solution a:hover p {
	color: #222;
}

.c-button--solution a p {
	color: #fff;
}

.c-button--solution a::before {
	background: -webkit-gradient(linear, left top, right top, from(#fff));
	background: linear-gradient(to right, #fff);
}

.c-button--contact p {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: -webkit-gradient(linear, left top, right top, from(#2FADCF), color-stop(85%, #1D509E));
	background: linear-gradient(to right, #2FADCF 0%, #1D509E 85%);
	background-color: #fff;
	border: 1px solid #ddd;
	cursor: pointer;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 18px;
	height: 60px;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding-bottom: 4px;
	position: relative;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	width: 100%;
}

.c-button--contact p::before {
	background: -webkit-gradient(linear, left top, right top, from(#fff));
	background: linear-gradient(to right, #fff);
	content: "";
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transform-origin: right;
	transform-origin: right;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	-webkit-transition-property: -webkit-transform;
	transition-property: -webkit-transform;
	transition-property: transform;
	transition-property: transform, -webkit-transform;
	width: 100%;
}

.c-button--contact p input {
	color: #fff;
	position: relative;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.c-button--contact p:hover::before {
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
	-webkit-transform-origin: left;
	transform-origin: left;
}

.c-button--contact p:hover input {
	color: #222;
}

.c-button--thanks a {
	background: -webkit-gradient(linear, left top, right top, from(#2FADCF), color-stop(85%, #1D509E));
	background: linear-gradient(to right, #2FADCF 0%, #1D509E 85%);
	color: #fff;
}

.c-button--thanks a::before {
	background: -webkit-gradient(linear, left top, right top, from(#fff));
	background: linear-gradient(to right, #fff);
}

.c-button--thanks a:hover p {
	color: #222;
}

.c-button--recruit,
.c-button--mynavi {
	max-width: 400px;
	width: 100%;
}

.c-button--recruit a,
.c-button--mynavi a {
	background: -webkit-gradient(linear, left top, right top, from(#2FADCF), color-stop(85%, #1D509E));
	background: linear-gradient(to right, #2FADCF 0%, #1D509E 85%);
	color: #fff;
	height: 64px;
	max-width: 400px;
	width: 100%;
}

.c-button--recruit a::before,
.c-button--mynavi a::before {
	background: -webkit-gradient(linear, left top, right top, from(#fff));
	background: linear-gradient(to right, #fff);
}

.c-button--recruit a:hover p,
.c-button--mynavi a:hover p {
	color: #222;
}

.c-button--mynavi a {
	background: -webkit-gradient(linear, left top, right top, from(#fff));
	background: linear-gradient(to right, #fff);
}

.c-button--mynavi a::before {
	background: -webkit-gradient(linear, left top, right top, from(#2FADCF), color-stop(85%, #1D509E));
	background: linear-gradient(to right, #2FADCF 0%, #1D509E 85%);
	content: "";
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transform-origin: right;
	transform-origin: right;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	-webkit-transition-property: -webkit-transform;
	transition-property: -webkit-transform;
	transition-property: transform;
	transition-property: transform, -webkit-transform;
	width: 100%;
}

.c-button--mynavi a img {
	position: relative;
	width: 50%;
}

/* Contact Form 7 で使うクラスが書かれているファイル */

.c-form7__item {
	gap: 36px;
	display: grid;
	grid-template-columns: 200px 1fr;
}

.c-form7__item:not(:first-child) {
	margin-top: 40px;
}

.c-form7__title {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: -moz-fit-content;
	height: -webkit-fit-content;
	height: fit-content;
}

.c-form7__text {
	font-size: 16px;
	font-weight: 700;
	line-height: 2;
}

.c-form7__required {
	background-color: #D70C17;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	height: 28px;
	line-height: 1.9285714286;
	margin-left: 10px;
	padding: 0 8px;
}

.c-form7__field input {
	border: 1px solid #ccc;
	font-size: 16px;
	height: 52px;
	padding: 0 16px;
	width: 100%;
}

.c-form7__field textarea {
	border: 1px solid #ccc;
	height: 100px;
	padding: 8px 16px;
	resize: none;
	width: 100%;
}

.c-form7__field .wpcf7-not-valid-tip {
	bottom: -25px;
	color: #BC312C;
	font-size: 14px;
	position: absolute;
	right: 0;
	width: -moz-fit-content;
	width: -webkit-fit-content;
	width: fit-content;
}

.c-form7__field--name p {
	gap: 24px;
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.c-form7__field--textarea .wpcf7-not-valid-tip {
	bottom: -20px;
}

.c-form7__privacy {
	margin-top: 40px;
}

.c-form7__privacy img {
	display: inline;
	width: 13px;
}

.c-form7__privacy a {
	text-decoration: underline;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.c-form7__privacy a:hover {
	opacity: 0.7;
}

.recaptcha .wpcf7-not-valid-tip {
	color: #BC312C;
	margin-right: calc(50% - 50vw);
	position: absolute;
	width: -moz-fit-content;
	width: -webkit-fit-content;
	width: fit-content;
}

.c-form7__recaptcha {
	margin: 50px auto 0;
}

.c-form7__button {
	margin: 50px auto 0;
	width: 400px;
}

.c-form7__button .wpcf7-spinner {
	display: none;
}

.c-form7__button input {
	display: block;
	height: 100%;
	width: 100%;
}

.wpcf7-form-control-wrap {
	display: block;
}

.wpcf7-form br {
	display: none;
}

/* ページ共通の見出しで使うクラスが書かれているファイル */

.c-heading-lower-layer {
	border-bottom: 1px solid #222;
	font-size: 32px;
	font-weight: 700;
	line-height: 1;
	margin: 0 auto;
	max-width: 1000px;
	padding-bottom: 50px;
	text-align: center;
	width: 100%;
}

.c-heading-a {
	border-bottom: 1px solid;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.5;
	padding-bottom: 20px;
}

/* ページ共通で使うレイアウトのクラスが書かれているファイル */

.c-layout {
	margin-top: 80px;
	padding: 80px 0 150px;
}

/* 下層ページのリンクの一覧で使われるクラス */

.c-links {
	gap: 20px;
	border-top: 1px solid #222;
	display: grid;
	grid-template-columns: 1fr 1fr;
	padding-top: 41px;
}

.c-links .link a,
.c-links .link .link-active {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background-color: #fff;
	border: 1px solid #ddd;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 60px;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding-bottom: 2px;
	position: relative;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	width: 100%;
}

.c-links .link a::before,
.c-links .link .link-active::before {
	background: -webkit-gradient(linear, left top, right top, from(#2FADCF), color-stop(85%, #1D509E));
	background: linear-gradient(to right, #2FADCF 0%, #1D509E 85%);
	content: "";
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transform-origin: right;
	transform-origin: right;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	-webkit-transition-property: -webkit-transform;
	transition-property: -webkit-transform;
	transition-property: transform;
	transition-property: transform, -webkit-transform;
	width: 100%;
}

.c-links .link a:hover::before,
.c-links .link .link-active:hover::before {
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
	-webkit-transform-origin: left;
	transform-origin: left;
}

.c-links .link a:hover p,
.c-links .link .link-active:hover p {
	color: #fff;
}

.c-links .link a:hover .arrow .icon img:nth-child(1),
.c-links .link .link-active:hover .arrow .icon img:nth-child(1) {
	opacity: 0;
}

.c-links .link a:hover .arrow .icon img:nth-child(2),
.c-links .link .link-active:hover .arrow .icon img:nth-child(2) {
	opacity: 1;
}

.c-links .link a p,
.c-links .link .link-active p {
	font-size: 15px;
	font-weight: 700;
	position: relative;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.c-links .link a .arrow,
.c-links .link .link-active .arrow {
	height: 18px;
	position: absolute;
	right: 12px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 18px;
}

.c-links .link a .arrow .icon,
.c-links .link .link-active .arrow .icon {
	height: 18px;
	position: relative;
	width: 18px;
}

.c-links .link a .arrow .icon img,
.c-links .link .link-active .arrow .icon img {
	border-radius: 50%;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	width: 100%;
}

.c-links .link a .arrow .icon img:nth-child(1),
.c-links .link .link-active .arrow .icon img:nth-child(1) {
	opacity: 1;
}

.c-links .link a .arrow .icon img:nth-child(2),
.c-links .link .link-active .arrow .icon img:nth-child(2) {
	opacity: 0;
}

.c-links .link a {
	padding-right: 8px;
}

.c-links .link .link-active {
	background-color: #AAAAAA;
	color: #fff;
	cursor: default;
}

.c-links .link .link-active::before {
	display: none;
}

.c-links .link .link-active .arrow {
	display: none;
}

.c-links--business {
	grid-template-columns: 1fr 1fr 1fr;
}

/* ページ共通のmarginで使うクラスが書かれているファイル */

.mt-20 {
	margin-top: 20px;
}

.mt-30 {
	margin-top: 30px;
}

.mt-40 {
	margin-top: 40px;
}

.mt-50 {
	margin-top: 50px;
}

.mt-60 {
	margin-top: 60px;
}

.mt-100 {
	margin-top: 100px;
}

.mt-150 {
	margin-top: 150px;
}

/* ページ共通で使用するページネーションのクラス */

.c-pagination {
	gap: 28px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.c-pagination .page-numbers {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	color: #8d8d8d;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 14px;
	font-weight: bold;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.c-pagination .page-numbers:hover {
	color: #000;
}

.c-pagination .page-prev,
.c-pagination .page-next {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	border: 1px solid #DDDDDD;
	color: #222;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 44px;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding-bottom: 1px;
	position: relative;
	width: 90px;
}

.c-pagination .page-prev::before,
.c-pagination .page-next::before {
	background: -webkit-gradient(linear, left top, right top, from(#2FADCF), color-stop(85%, #1D509E));
	background: linear-gradient(to right, #2FADCF 0%, #1D509E 85%);
	content: "";
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transform-origin: right;
	transform-origin: right;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	-webkit-transition-property: -webkit-transform;
	transition-property: -webkit-transform;
	transition-property: transform;
	transition-property: transform, -webkit-transform;
	width: 100%;
}

.c-pagination .page-prev .icon img,
.c-pagination .page-next .icon img {
	height: 17px;
	position: absolute;
	top: 50%;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	width: 17px;
}

.c-pagination .page-prev .icon img:nth-child(1),
.c-pagination .page-next .icon img:nth-child(1) {
	opacity: 1;
}

.c-pagination .page-prev .icon img:nth-child(2),
.c-pagination .page-next .icon img:nth-child(2) {
	opacity: 0;
}

.c-pagination .page-prev p,
.c-pagination .page-next p {
	position: relative;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.c-pagination .page-prev:hover::before,
.c-pagination .page-next:hover::before {
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
	-webkit-transform-origin: left;
	transform-origin: left;
}

.c-pagination .page-prev:hover .icon img:nth-child(1),
.c-pagination .page-next:hover .icon img:nth-child(1) {
	opacity: 0;
}

.c-pagination .page-prev:hover .icon img:nth-child(2),
.c-pagination .page-next:hover .icon img:nth-child(2) {
	opacity: 1;
}

.c-pagination .page-prev:hover p,
.c-pagination .page-next:hover p {
	color: #fff;
}

.c-pagination .page-prev .icon {
	padding-left: 16px;
}

.c-pagination .page-prev .icon img {
	left: 10px;
	-webkit-transform: translateY(-50%) rotate(180deg);
	transform: translateY(-50%) rotate(180deg);
}

.c-pagination .page-next .icon {
	padding-right: 16px;
}

.c-pagination .page-next .icon img {
	right: 10px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.c-pagination .current {
	color: #000;
}

.c-pagination .current:hover {
	opacity: 1;
}

/* ページ共通のテキストで使うクラスが書かれているファイル */

.c-text-16 {
	font-size: 16px;
	letter-spacing: 0.0625em;
	line-height: 1.75;
}

.c-text-16 .block {
	font-weight: 900;
}

.c-text-16--mt {
	margin-top: 28px;
}

.c-text-16--bold {
	font-weight: 700;
}

.c-text-18 {
	font-size: 18px;
	line-height: 1.6666666667;
}

.c-text-18 .block {
	font-weight: 900;
}

.c-text-18 .icon {
	padding-left: 8px;
}

.c-text-18 .icon img {
	display: inline;
	height: 18px;
	-webkit-transform: translateY(2px);
	transform: translateY(2px);
	width: 18px;
}

.c-text-18--mt {
	margin-top: 30px;
}

.c-text-20 {
	font-size: 20px;
	line-height: 1.4;
}

.c-text-20 .icon {
	padding-left: 8px;
}

.c-text-20 .icon img {
	display: inline;
	height: 20px;
	-webkit-transform: translateY(2px);
	transform: translateY(2px);
	width: 20px;
}

.c-text-20 .bold {
	font-weight: 700;
}

.c-text-20 .blue {
	color: #236EAE;
}

.c-text-20--mt {
	margin-top: 28px;
}

.c-text-22 {
	font-size: 22px;
	line-height: 1.8181818182;
}

.c-text-22 .bold {
	font-weight: 700;
}

.c-text-22 .medium {
	font-weight: 500;
}

.c-text-22 .blue {
	color: #236EAE;
}

.c-text-26 {
	font-size: 26px;
	line-height: 1.3076923077;
}

.c-text-26 .bold {
	font-weight: 700;
}

.c-text-link {
	color: #236EAE;
	display: block;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	width: -moz-fit-content;
	width: -webkit-fit-content;
	width: fit-content;
}

.c-text-link:hover {
	opacity: 0.7;
}

.c-text-link--black {
	color: #222;
}

.c-text-link--inline-a {
	display: inline;
}

.c-text-link--inline-b {
	display: inline;
	padding: 0 4px;
}

.c-text-link--emerald {
	color: #0096B2;
}

/* フッターで使われるクラス */

.footer {
	background-color: #F2F6F7;
}

.footer .footer__layout {
	padding: 70px 0;
}

.footer .footer__main {
	gap: 40px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.footer .footer__logo .icon img {
	height: auto;
	max-width: 190px;
	width: 100%;
}

.footer .footer__logo .name {
	color: #595757;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	margin-top: 20px;
}

.footer .footer__menus {
	gap: 20px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	width: 100%;
}

.footer .footer__lists .footer__list {
	color: #595757;
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
}

.footer .footer__lists .footer__list:not(:first-child) {
	margin-top: 20px;
}

.footer .footer__lists .footer__list a {
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.footer .footer__lists .footer__list a:hover {
	opacity: 0.7;
}

.footer .footer__lists .footer__list.sub {
	color: #888888;
	font-size: 14px;
	font-weight: 400;
	line-height: 1;
}

.footer .footer__lists .footer__list.sub:not(:first-child) {
	margin-top: 15px;
}

.footer .footer__lists .footer__list.external a {
	gap: 6px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.footer .footer__lists .footer__list.external img {
	height: auto;
	max-width: 16px;
	width: 100%;
}

.footer .footer__foot {
	gap: 20px;
	-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: 60px;
}

.footer .footer__sns {
	gap: 30px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.footer .footer__sns .follow {
	color: #595757;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
}

.footer .footer__sns .icons {
	gap: 10px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.footer .footer__sns .icons a {
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.footer .footer__sns .icons a:hover {
	opacity: 0.7;
}

.footer .footer__sns .icons img {
	height: 22px;
	width: 22px;
}

.footer .footer__texts {
	gap: 15px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.footer .footer__texts .bar {
	background-color: #595757;
	height: 13px;
	width: 1px;
}

.footer .footer__texts .copyright,
.footer .footer__texts .privacy {
	color: #595757;
	font-size: 13px;
	letter-spacing: 0.06em;
	line-height: 1;
}

.footer .footer__texts .privacy a {
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.footer .footer__texts .privacy a:hover {
	opacity: 0.7;
}

/* トップページのカルチャーで使われるクラス */

.front-culture {
	background-color: #F2F6F7;
}

.front-culture .front-culture__layout {
	gap: 50px;
	display: grid;
	grid-template-columns: 1fr;
	margin: 10px auto 40px;
	padding: 70px 0;
}

.front-culture .front-culture__heading .en {
	color: #BBB;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
}

.front-culture .front-culture__heading .ja {
	font-size: 30px;
	letter-spacing: 0.06em;
	line-height: 1.3333333333;
	margin-top: 12px;
}

.front-culture .front-culture__heading .ja br {
	display: none;
}

.front-culture .front-culture__text {
	margin-top: 32px;
}

.front-culture .front-culture__text p {
	font-size: 16px;
	letter-spacing: 0.05em;
	line-height: 1.75;
}

.front-culture .front-culture__text .mt-28 {
	margin-top: 28px;
}

.front-culture .front-culture__picture img {
	-o-object-fit: cover;
	-o-object-position: center;
	height: auto;
	margin: 0 auto;
	max-width: 600px;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

/* トップページの数字で見るCCWで使われるクラス */

.front-data .front-data__layout {
	background-color: #F2F6F7;
	padding: 70px 0;
}

.front-data .front-data__heading {
	min-width: 232px;
}

.front-data .front-data__heading .en,
.front-data .front-data__heading .date {
	color: #BBB;
	font-size: 18px;
	line-height: 1;
}

.front-data .front-data__heading .en {
	font-weight: 700;
}

.front-data .front-data__heading .date {
	margin-top: 8px;
}

.front-data .front-data__heading .ja {
	font-size: 30px;
	letter-spacing: 0.06em;
	line-height: 1.3333333333;
	margin-top: 12px;
}

.front-data .front-data__heading .ja br {
	display: none;
}

.front-data .front-data__texts {
	margin-top: 30px;
	max-width: 700px;
	width: 100%;
}

.front-data .front-data__texts p {
	font-size: 16px;
	letter-spacing: 0.0625em;
	line-height: 1.75;
}

.front-data .front-data__items {
	gap: 32px 6%;
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin: 70px auto 0;
	max-width: 500px;
}

.front-data .front-data__title {
	font-size: 18px;
	font-weight: 700;
	text-align: center;
}

.front-data .front-data__circle {
	aspect-ratio: 1/1;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background-color: #fff;
	border-radius: 50%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	margin-top: 16px;
	max-width: 220px;
}

.front-data .front-data__circle .front-data__icon {
	text-align: center;
}

.front-data .front-data__circle .front-data__icon img {
	aspect-ratio: 1/1;
	height: 100%;
	max-width: 41px;
	width: 100%;
}

.front-data .front-data__circle .front-data__num {
	gap: 6px;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-family: "Roboto", sans-serif;
	font-size: 20px;
	font-weight: 900;
	line-height: 1;
	margin-top: 16px;
}

.front-data .front-data__circle .front-data__num span {
	display: block;
	font-size: 56px;
	font-weight: 700;
	text-align: center;
	-webkit-transform: translateY(6px);
	transform: translateY(6px);
}

.front-data .front-data__circle .front-data__num .gender {
	font-size: 20px;
	font-weight: 900;
	line-height: 1;
	margin-top: 12px;
}

.front-data .front-data__button {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-top: 70px;
}

/* トップページのメインビジュアルで使われるクラス */

.mv .mv__background {
	-webkit-animation: bg-move 30s linear forwards;
	animation: bg-move 30s linear forwards;
	background-image: url("../images/front-page/mv-background.jpg");
	background-position: top center;
	background-size: cover;
}

.mv .mv__layout {
	padding: 180px 0 100px;
}

.mv .mv__heading {
	margin: 0 auto;
	width: -moz-fit-content;
	width: -webkit-fit-content;
	width: fit-content;
}

.mv .mv__heading .ja img {
	max-width: 853px;
	width: 100%;
}

.mv .mv__heading .en {
	color: #fff;
	font-size: 20px;
	font-weight: 500;
	line-height: 1;
	margin-top: 50px;
	padding-left: 8px;
}

/* トップページの数字で見るCCWで使われるクラス */

.front-news .front-news__layout {
	padding: 70px 0;
}

.front-news .front-news__heading .en {
	color: #BBB;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
}

.front-news .front-news__heading .ja {
	font-size: 30px;
	letter-spacing: 0.06em;
	line-height: 1.3333333333;
	margin-top: 12px;
}

.front-news .front-news__articles {
	margin-top: 40px;
}

.front-news .front-news__article a {
	gap: 16px;
	border-bottom: 1px solid #E3E3E3;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	padding: 30px 0;
}

.front-news .front-news__article a:hover .front-news__the-title {
	color: #236EAE;
}

.front-news .front-news__article:first-child a {
	border-top: 1px solid #E3E3E3;
}

.front-news .front-news__info {
	gap: 24px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.front-news .front-news__info .front-news__category {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background-color: #F5F5F5;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 13px;
	font-weight: 900;
	height: 24px;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding-bottom: 1px;
	width: 110px;
}

.front-news .front-news__info .front-news__the-time {
	color: #666666;
	font-size: 14px;
	line-height: 1.7142857143;
}

.front-news .front-news__the-title {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	display: -webkit-box;
	font-size: 16px;
	line-height: 1.5;
	overflow: hidden;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.front-news .front-news__button {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-top: 70px;
}

/* トップページのソリューションで使われるクラス */

.front-solution .front-solution__background {
	background-image: url("../images/front-page/solution-background.png");
	background-position: center;
	background-size: cover;
	padding: 60px 0 70px;
}

.front-solution .front-solution__heading .en {
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	text-align: center;
}

.front-solution .front-solution__heading .ja {
	color: #fff;
	font-size: 40px;
	letter-spacing: 0.06em;
	line-height: 1;
	margin-top: 8px;
	text-align: center;
}

.front-solution .front-solution__heading .ja br {
	display: none;
}

.front-solution .front-solution__texts {
	margin-top: 32px;
}

.front-solution .front-solution__texts p {
	color: #fff;
	font-size: 18px;
	line-height: 1.7777777778;
	text-align: center;
}

.front-solution .front-solution__button {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-top: 50px;
}

/* ヘッダーとハンバーガーメニューで使用するクラス */

.header {
	background-color: #fff;
	border-bottom: 1px solid #DCDCDC;
	height: 80px;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 10;
}

.header__layout {
	gap: 28px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: inherit;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin: 0 auto;
	padding: 0 32px;
	position: relative;
}

.header__logo img {
	max-width: 210px;
}

.header__main {
	background-color: #fff;
	height: calc(100% - 80px);
	left: 0;
	position: fixed;
	top: -200vh;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	width: 100%;
}

.header__menus {
	padding: 16px 32px 0;
}

.header__menu {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	border-bottom: 1px solid #E3E3E3;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
}

.header__menu a,
.header__menu p {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 16px;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.header__menu > a {
	color: #595757;
	font-weight: 700;
	padding: 16px 0;
	width: 100%;
}

.header__menu--relative {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

.header__menu--relative:hover .header__sub-menu {
	opacity: 1;
	visibility: visible;
}

.header__menu--relative a p {
	margin-right: 5px;
}

.header__menu--relative .arrow {
	display: none;
}

.header__sub-menu {
	opacity: 1;
	padding-bottom: 16px;
	position: static;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	visibility: visible;
	z-index: 5;
}

.header__sub-menu ul {
	background-color: #fff;
	border-radius: 20px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	padding-left: 20px;
}

.header__sub-menu ul li:not(:first-child) {
	margin-top: 10px;
}

.header__sub-menu ul li a {
	color: #888;
	display: block;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
	min-width: -moz-fit-content;
	min-width: -webkit-fit-content;
	min-width: fit-content;
	text-align: left;
	white-space: nowrap;
}

.header__sub-menu ul li a:hover {
	color: #236EAE;
}

.header__foot {
	display: block;
	margin-top: 48px;
	padding: 0 32px 32px;
}

.header__foot .header__sns {
	gap: 30px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.header__foot .header__sns .follow {
	color: #888888;
	font-size: 14px;
	font-weight: 700;
}

.header__foot .header__sns .icons {
	gap: 10px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.header__foot .header__sns .icons a {
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.header__foot .header__sns .icons a:hover {
	opacity: 0.7;
}

.header__foot .header__sns .icons img {
	height: 27px;
	width: 27px;
}

.header__foot .header__privacy {
	color: #888888;
	font-size: 13px;
	letter-spacing: 0.06em;
	line-height: 1;
	margin-top: 16px;
}

.header__foot .header__privacy a {
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.header__foot .header__privacy a:hover {
	opacity: 0.7;
}

.hamburger .hamburger__icon {
	cursor: pointer;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	height: 25px;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	width: 25px;
}

.hamburger .hamburger__icon .hamburger__bar {
	background-color: #595757;
	border-radius: 2px;
	height: 3px;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	width: 100%;
}

/* ハンバーガーメニューのアニメーション */

.js-hamburger {
	display: block; /* ハンバーガーメニューのアイコンで使用 */
}

.js-hamburger .hamburger__icon {
	position: relative;
	z-index: 12;
}

.js-hamburger .hamburger__icon .hamburger__bar {
	position: absolute;
}

.js-hamburger .hamburger__icon .hamburger__bar:nth-child(1) {
	left: 0;
	top: calc(50% - 1px);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.js-hamburger .hamburger__icon .hamburger__bar:nth-child(2) {
	opacity: 0;
}

.js-hamburger .hamburger__icon .hamburger__bar:nth-child(3) {
	bottom: calc(50% - 2px);
	left: 0;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

/* ハンバーガーメニューのメニューで使用 */

.js-hamburger-main {
	max-height: calc(100% - 80px);
	overflow-y: auto;
	top: 80px;
}

.js-hamburger-main .header__menu > a {
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.js-hamburger-main .header__menu > a:hover {
	color: #236EAE;
}

/* インナーで使うクラス */

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

.inner-1000 {
	margin-left: auto;
	margin-right: auto;
	max-width: 1080px;
}

/* アーカイブページのサイドバーで使うクラスが書かれているファイル */

.sidebar .sidebar__blocks .sidebar__block:not(:first-child) {
	margin-top: 60px;
}

.sidebar .sidebar__blocks .sidebar__head {
	gap: 10px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background-color: #F2F6F7;
	border-top: 1px solid #222;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3333333333;
	padding: 15px;
}

.sidebar .sidebar__blocks .sidebar__links {
	gap: 20px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	padding: 20px 15px;
}

.sidebar .sidebar__blocks .sidebar__links .sidebar__link a {
	color: #888;
	display: block;
	font-size: 15px;
	line-height: 1;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.sidebar .sidebar__blocks .sidebar__links .sidebar__link a:hover {
	color: #222;
}

.sidebar .sidebar__blocks .sidebar__links .sidebar__link--active a {
	color: #222;
	font-weight: 700;
}

/* 投稿の詳細で使うクラス */

.the-content { /* テキスト */
}

.the-content table {
	background-color: #EDEDED;
	font-size: 16px;
	line-height: 1.5;
	margin: 40px auto;
}

.the-content img {
	height: auto;
	margin: 40px auto;
	width: -moz-fit-content;
	width: -webkit-fit-content;
	width: fit-content;
}

.the-content h2 {
	border-bottom: 1px solid #222;
	font-size: 23px;
	line-height: 1.5;
	margin-bottom: 30px;
	margin-top: 70px;
	padding-bottom: 14px;
}

.the-content a {
	text-decoration: underline;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	word-break: break-all;
}

.the-content a:hover {
	opacity: 0.7;
}

.the-content p {
	font-size: 18px;
	line-height: 1.9444444444;
	word-break: break-all;
}

/* 投稿ページで使うクラス */

.archive { /* 健康経営の取り組み */
}

.archive .archive__layout {
	gap: 60px;
	display: grid;
	grid-template-columns: 1fr;
	padding-top: 100px;
}

.archive .archive__articles .archive__article {
	border-bottom: 1px solid #e3e3e3;
}

.archive .archive__articles .archive__article:first-child {
	border-top: 1px solid #e3e3e3;
}

.archive .archive__articles .archive__article a {
	display: block;
	padding: 30px 0;
}

.archive .archive__articles .archive__article a:hover .archive__the-title {
	color: #236EAE;
}

.archive .archive__articles .archive__article .archive__info {
	gap: 30px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.archive .archive__articles .archive__article .archive__info .category {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background-color: #f5f5f5;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 14px;
	font-weight: 700;
	height: 26px;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding-bottom: 1px;
	width: 120px;
}

.archive .archive__articles .archive__article .archive__info .time {
	color: #666;
	font-size: 14px;
	line-height: 1;
}

.archive .archive__articles .archive__article .archive__the-title {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	display: -webkit-box;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	margin-top: 10px;
	overflow: hidden;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.archive .archive__picture-articles {
	gap: 45px 7.7%;
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.archive .archive__picture-articles .archive__picture-article a .archive__thumbnail {
	overflow: hidden;
}

.archive .archive__picture-articles .archive__picture-article a .archive__thumbnail img {
	aspect-ratio: 346/202;
	-o-object-fit: cover;
	-o-object-position: center;
	height: 100%;
	object-fit: cover;
	object-position: center;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	width: 100%;
}

.archive .archive__picture-articles .archive__picture-article a:hover .archive__thumbnail img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}

.archive .archive__picture-articles .archive__picture-article a:hover .archive__the-title h2 {
	color: #236EAE;
}

.archive .archive__picture-articles .archive__picture-article .archive__the-title {
	gap: 5px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: 20px;
}

.archive .archive__picture-articles .archive__picture-article .archive__the-title h2 {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	display: -webkit-box;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3333333333;
	max-width: calc(100% - 23px);
	overflow: hidden;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.archive .archive__picture-articles .archive__picture-article .archive__the-title .arrow {
	height: 18px;
	min-width: 18px;
	width: 18px;
}

.archive .archive__category-name {
	font-size: 26px;
	line-height: 1;
	margin-bottom: 36px;
}

.archive .archive__pagination {
	margin-top: 60px;
}

.archive .archive__pictures {
	gap: 18px;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	margin-top: 18px;
}

.archive .archive__pictures .archive__picture img {
	aspect-ratio: 236/177;
	-o-object-fit: cover;
	-o-object-position: center;
	height: 100%;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

/* 404ページで使うクラス */

.not-found .not-found__layout {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	min-height: 800px;
}

.not-found .not-found__layout .num {
	color: #FF867C;
	font-size: 120px;
}

.not-found .not-found__layout .en {
	color: #FF867C;
	font-size: 48px;
}

.not-found .not-found__layout .text {
	font-size: 28px;
	margin-top: 20px;
}

.not-found .not-found__layout .button {
	gap: 16px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background-color: #FF867C;
	border: 1px solid #FF867C;
	border-radius: 27px;
	color: #fff;
	cursor: pointer;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 16px;
	font-weight: 700;
	height: 54px;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	letter-spacing: 0.05em;
	margin: 80px auto 0;
	padding: 16px;
	position: relative;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	width: 320px;
}

.not-found .not-found__layout .button:hover {
	background-color: #fff;
	color: #FF867C;
}

.not-found .not-found__layout .button:hover .circle {
	background-color: #FF867C;
	-webkit-transform: translateY(-50%) scale(1.5);
	transform: translateY(-50%) scale(1.5);
}

.not-found .not-found__layout .button .circle {
	background-color: #fff;
	border-radius: 50%;
	height: 8px;
	position: absolute;
	right: 16px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	width: 8px;
}

/*
ソリューションページの下層ページにあたる
HAインフラ事業、セキュリティ事業、AI事業、通販事業、サービス一覧ページで使用するクラス
*/

.page-ai .picture-650 img,
.page-ai .picture-800 img,
.page-security .picture-650 img,
.page-security .picture-800 img,
.page-online-shopping .picture-650 img,
.page-online-shopping .picture-800 img {
	height: auto;
	margin: 0 auto;
	width: 100%;
}

.page-ai .picture-800 img,
.page-security .picture-800 img,
.page-online-shopping .picture-800 img {
	max-width: 800px;
}

.page-ai .picture-650 img,
.page-security .picture-650 img,
.page-online-shopping .picture-650 img {
	max-width: 650px;
}

.page-online-shopping .link-text {
	color: #236EAE;
	padding-right: 4px;
}

.page-online-shopping .link-icon {
	display: inline;
	height: 16px;
	-webkit-transform: translateY(1px);
	transform: translateY(1px);
	width: 16px;
}

.page-online-shopping .page-online-shopping__goomomo img {
	height: auto;
	max-width: 300px;
	width: 100%;
}

.page-service .page-service__indent,
.page-ai .page-service__indent {
	padding-left: 40px;
}

.page-service .link-icon,
.page-ai .link-icon {
	display: inline;
	height: 20px;
	-webkit-transform: translateY(1px);
	transform: translateY(1px);
	width: 20px;
}

.page-hainfra .page-hainfra__support {
	gap: 32px;
	display: grid;
	grid-template-columns: 1fr;
}

.page-hainfra .page-hainfra__support-flow img {
	height: auto;
	margin: 0 auto;
	max-width: 540px;
	width: 100%;
}

.page-security .watchguard img {
	aspect-ratio: 310/89px;
	max-width: 310px;
	width: 100%;
}

/* ソリューションページで使われるクラス */

.page-business .page-business__links {
	gap: 32px 2.4%;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
}

.page-business .page-business__links .page-business__link a:hover .page-business__picture img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}

.page-business .page-business__links .page-business__link a .page-business__picture {
	overflow: hidden;
}

.page-business .page-business__links .page-business__link a .page-business__picture img {
	-o-object-fit: cover;
	-o-object-position: center;
	aspect-ratio: 230/150;
	height: 100%;
	object-fit: cover;
	object-position: center;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	width: 100%;
}

.page-business .page-business__links .page-business__link a .page-business__foot {
	gap: 6px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: 16px;
}

.page-business .page-business__links .page-business__link a .page-business__foot .text {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.3333333333;
}

.page-business .page-business__links .page-business__link a .page-business__foot .icon img {
	height: auto;
	-webkit-transform: translateY(2px);
	transform: translateY(2px);
	width: 18px;
}

/* 会社情報ページで使われるクラス */

.page-company .page-company__gradient-heading {
	margin: 0 auto;
	width: -moz-fit-content;
	width: -webkit-fit-content;
	width: fit-content;
}

.page-company .page-company__gradient-heading h2 {
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background: -webkit-gradient(linear, left top, right top, from(#2FADCF), color-stop(88%, #1D509E));
	background: linear-gradient(to right, #2FADCF 0%, #1D509E 88%);
	background-clip: text;
	display: inline-block;
	font-size: 40px;
	font-weight: 900;
	letter-spacing: 0.02em;
	line-height: 1.75;
	text-align: center;
}

.page-company .page-company__philosophy {
	gap: 40px;
	display: grid;
	grid-template-columns: 1fr 60%;
}

.page-company .page-company__philosophy .texts h3 {
	font-size: 22px;
	line-height: 1.3636363636;
	margin-bottom: 10px;
}

.page-company .page-company__info {
	border-top: 1px solid #DDDDDD;
	display: grid;
	grid-template-columns: 180px 1fr;
}

.page-company .page-company__info:last-child {
	border-bottom: 1px solid #DDDDDD;
}

.page-company .page-company__info .title,
.page-company .page-company__info .data {
	padding: 24px;
}

.page-company .page-company__info .data .map img {
	display: inline-block;
	height: 17px;
	-webkit-transform: translateY(2px);
	transform: translateY(2px);
	width: 13px;
}

.page-company .page-company__info .data .link img {
	display: inline-block;
	height: 16px;
	-webkit-transform: translateY(1px);
	transform: translateY(1px);
	width: 16px;
}

.page-company .page-company__info .data .link-exclamation img {
	display: inline-block;
	height: 16px;
	-webkit-transform: translateY(1px);
	transform: translateY(1px);
	width: 16px;
}

.page-company .page-company__organization img {
	height: auto;
	margin: 0 auto;
	max-width: 852px;
	width: 100%;
}

.page-company .page-company__links {
	gap: 32px 2.4%;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
}

.page-company .page-company__links .page-company__link a:hover .page-company__picture img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}

.page-company .page-company__links .page-company__link a .page-company__picture {
	overflow: hidden;
}

.page-company .page-company__links .page-company__link a .page-company__picture img {
	-o-object-fit: cover;
	-o-object-position: center;
	aspect-ratio: 306/154;
	height: 100%;
	object-fit: cover;
	object-position: center;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	width: 100%;
}

.page-company .page-company__links .page-company__link a .page-company__foot {
	gap: 6px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: 16px;
}

.page-company .page-company__links .page-company__link a .page-company__foot .text {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.3333333333;
}

.page-company .page-company__links .page-company__link a .page-company__foot .icon img {
	height: auto;
	-webkit-transform: translateY(2px);
	transform: translateY(2px);
	width: 18px;
}

/* お問い合わせ送信完了ページで使用するクラス */

.page-thanks .page-thanks__check {
	margin: 0 auto;
	max-width: 150px;
	width: 100%;
}

.page-thanks .page-thanks__check img {
	width: 100%;
}

.page-thanks .page-thanks__heading,
.page-thanks .page-thanks__texts {
	margin-top: 40px;
}

.page-thanks .page-thanks__heading {
	font-size: 32px;
	font-weight: 700;
	text-align: center;
}

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

.page-thanks .page-thanks__button {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-top: 50px;
}

/* お問い合わせページで使用するクラス */

.page-contact .page-contact__form7 {
	margin-left: auto;
	margin-right: auto;
	max-width: 820px;
	width: 100%;
}

/* 社会貢献活動ページで使われるクラス */

.page-csr .page-csr__block:not(:first-child) {
	margin-top: 100px;
}

.page-csr .page-csr__block .page-csr__heading {
	background-color: #E8E8E8;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.3636363636;
	padding: 20px;
}

.page-csr .page-csr__block .page-csr__content {
	gap: 5%;
	display: grid;
	grid-template-columns: 1fr 50%;
	margin-top: 50px;
}

.page-csr .page-csr__block .page-csr__title {
	font-size: 22px;
	line-height: 1.3636363636;
}

.page-csr .page-csr__block .page-csr__text {
	font-size: 18px;
	line-height: 1.6666666667;
	margin-top: 12px;
}

.page-csr .page-csr__block .page-csr__picture {
	width: 100%;
}

.page-csr .page-csr__block .page-csr__picture img {
	height: auto;
	width: 100%;
}

/* 健康経営の取り組みページで使用するクラス */

.page-health .page-health__certificates {
	gap: 20px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin: 40px auto 0;
}

.page-health .page-health__certificates .page-health__certificate {
	width: 100%;
}

.page-health .page-health__certificates .page-health__certificate img {
	height: auto;
	width: 100%;
}

.page-health .page-health__kenko {
	margin: 70px auto 0;
	max-width: 730px;
	width: 100%;
}

.page-health .page-health__kenko img {
	height: auto;
	width: 100%;
}

.page-health .page-health__archive {
	margin-top: 40px;
}

/* 沿革ページで使われるクラス */

.page-history .page-history__group:not(:first-child) {
	margin-top: 50px;
}

.page-history .page-history__group .page-history__year {
	font-size: 28px;
	font-weight: 700;
	line-height: 1.3571428571;
}

.page-history .page-history__group .page-history__textarea {
	border-left: 1px solid #ddd;
	margin-left: 5%;
	margin-top: 8px;
	padding: 20px 0 20px 3%;
}

/* プライバシーポリシーページで使用するクラス */

.page-policy .page-policy__indent {
	padding-left: 40px;
}

.page-policy ul li {
	padding-left: 16px;
	position: relative;
}

.page-policy ul li::before {
	content: "・";
	left: 0;
	position: absolute;
	top: 0;
}

.page-policy ol {
	list-style: decimal;
	padding-left: 22px;
}

.page-policy .link-blue {
	color: #1A54A9;
	text-decoration: underline;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.page-policy .link-blue:hover {
	opacity: 0.7;
}

/*
採用情報ページの下層ページにあたる
新卒採用募集要項、通年採用募集要項、インターンシップ募集要項
*/

.page-newgrad .heading,
.page-internship .heading,
.page-year-round .heading {
	font-size: 24px;
	font-weight: 900;
	line-height: 1.25;
}

.page-newgrad .items,
.page-internship .items,
.page-year-round .items {
	margin-top: 50px;
}

.page-newgrad .items .item,
.page-internship .items .item,
.page-year-round .items .item {
	border-bottom: 1px solid #ddd;
	display: grid;
	grid-template-columns: 200px 1fr;
}

.page-newgrad .items .item:first-child,
.page-internship .items .item:first-child,
.page-year-round .items .item:first-child {
	border-top: 1px solid #ddd;
}

.page-newgrad .items .item-title,
.page-newgrad .items .item-textarea,
.page-internship .items .item-title,
.page-internship .items .item-textarea,
.page-year-round .items .item-title,
.page-year-round .items .item-textarea {
	padding: 24px;
}

.page-newgrad .items .item-title,
.page-internship .items .item-title,
.page-year-round .items .item-title {
	font-weight: 700;
}

.page-newgrad .items .item-textarea,
.page-internship .items .item-textarea,
.page-year-round .items .item-textarea {
	word-break: break-all;
}

.page-newgrad .items .item-textarea a,
.page-internship .items .item-textarea a,
.page-year-round .items .item-textarea a {
	text-decoration: underline;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.page-newgrad .items .item-textarea a:hover,
.page-internship .items .item-textarea a:hover,
.page-year-round .items .item-textarea a:hover {
	opacity: 0.7;
}

.page-newgrad .items .item-textarea .link-blue,
.page-internship .items .item-textarea .link-blue,
.page-year-round .items .item-textarea .link-blue {
	color: #1A54A9;
}

.page-newgrad .button,
.page-internship .button,
.page-year-round .button {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-top: 80px;
}

.page-newgrad .button-foot,
.page-internship .button-foot,
.page-year-round .button-foot {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-top: 24px;
}

.page-newgrad .button-foot img,
.page-internship .button-foot img,
.page-year-round .button-foot img {
	display: inline-block;
	height: 15px;
	margin-right: 7px;
	-webkit-transform: translateY(6px);
	transform: translateY(6px);
	width: 16px;
}

.page-newgrad .indent,
.page-internship .indent,
.page-year-round .indent {
	padding-left: 32px;
}

.page-internship .page-internship__explanation a {
	text-decoration: underline;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.page-internship .page-internship__explanation a:hover {
	opacity: 0.7;
}

/* 会社情報ページで使われるクラス */

.page-recruit .page-recruit__gradient-heading {
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background: -webkit-gradient(linear, left top, right top, from(#2FADCF), color-stop(88%, #1D509E));
	background: linear-gradient(to right, #2FADCF 0%, #1D509E 88%);
	background-clip: text;
	display: inline-block;
	font-size: 40px;
	letter-spacing: 0.025em;
	line-height: 1.25;
}

.page-recruit .page-recruit__gradient-heading--fs-60 {
	font-size: 60px;
}

.page-recruit .page-recruit__textarea .fs-22 {
	font-style: 22px;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.8181818182;
}

.page-recruit .page-recruit__textarea .medium {
	font-weight: 500;
}

.page-recruit .page-recruit__textarea--mt-40 {
	margin-top: 40px;
}

.page-recruit .page-recruit__links {
	gap: 32px 1.6%;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
}

.page-recruit .page-recruit__links .page-recruit__link a:hover .page-recruit__picture img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}

.page-recruit .page-recruit__links .page-recruit__link a .page-recruit__picture {
	overflow: hidden;
}

.page-recruit .page-recruit__links .page-recruit__link a .page-recruit__picture img {
	-o-object-fit: cover;
	-o-object-position: center;
	aspect-ratio: 240/100;
	height: 100%;
	object-fit: cover;
	object-position: center;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	width: 100%;
}

.page-recruit .page-recruit__links .page-recruit__link a .page-recruit__foot {
	gap: 6px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: 16px;
}

.page-recruit .page-recruit__links .page-recruit__link a .page-recruit__foot .text {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.3333333333;
}

.page-recruit .page-recruit__links .page-recruit__link a .page-recruit__foot .icon img {
	height: auto;
	-webkit-transform: translateY(2px);
	transform: translateY(2px);
	width: 18px;
}

.page-recruit .page-recruit__mt-200 {
	margin-top: 200px;
}

.page-recruit .page-recruit__types {
	gap: 100px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

.page-recruit .page-recruit__sub-title {
	font-size: 22px;
	font-weight: 700;
	margin-top: 24px;
}

.page-recruit .page-recruit__button {
	gap: 20px;
	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-top: 80px;
}

.page-recruit .page-recruit__button .button-foot {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-top: 24px;
}

.page-recruit .page-recruit__button .button-foot img {
	display: inline-block;
	height: 15px;
	margin-right: 7px;
	-webkit-transform: translateY(6px);
	transform: translateY(6px);
	width: 16px;
}

.page-recruit .page-recruit__session {
	font-size: 24px;
	font-weight: 900;
}

.page-recruit .page-recruit__explanation a {
	text-decoration: underline;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.page-recruit .page-recruit__explanation a:hover {
	opacity: 0.7;
}

.page-recruit .page-recruit__items {
	margin-top: 50px;
}

.page-recruit .page-recruit__items .page-recruit__item {
	border-bottom: 1px solid #ddd;
	display: grid;
	grid-template-columns: 180px 1fr;
}

.page-recruit .page-recruit__items .page-recruit__item:first-child {
	border-top: 1px solid #ddd;
}

.page-recruit .page-recruit__items .page-recruit__item-title,
.page-recruit .page-recruit__items .page-recruit__item-textarea {
	padding: 24px;
}

.page-recruit .page-recruit__items .page-recruit__item-title {
	font-weight: 700;
}

.page-recruit .page-recruit__items .page-recruit__item-textarea {
	word-break: break-all;
}

.page-recruit .page-recruit__items .page-recruit__item-textarea a {
	text-decoration: underline;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.page-recruit .page-recruit__items .page-recruit__item-textarea a:hover {
	opacity: 0.7;
}

/* 福利厚生ページで使用するクラス */

.page-welfare .page-welfare__pictures {
	gap: 3%;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	margin-top: 40px;
}

.page-welfare .page-welfare__pictures .page-welfare__picture {
	aspect-ratio: 300/225;
	height: 100%;
	width: 100%;
}

.page-welfare .page-welfare__pictures .page-welfare__picture img {
	-o-object-fit: cover;
	-o-object-position: center;
	height: auto;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

/* 記事詳細ページで使うクラス */

.single .single__the-title {
	font-size: 30px;
	line-height: 1.5;
}

.single .single__info {
	gap: 8px 30px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-top: 24px;
}

.single .single__category {
	background-color: #f5f5f5;
	font-size: 13px;
	font-weight: 700;
	padding: 6px;
}

.single .single__the-time {
	color: #666;
	font-size: 14px;
}

.single .single__the-content {
	margin-top: 80px;
}

.single .single__button {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-top: 100px;
}

/* Contact Form 7 で使うクラスが書かれているファイル */

.template-form7__items {
	gap: 5px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

.template-form7__title {
	display: inline-block;
	font-size: 16px;
	letter-spacing: 0.025em;
	line-height: 1.5;
	position: relative;
}

.template-form7__title::after {
	background: #fff;
	border: 1px solid #C1425D;
	border-radius: 5px;
	color: #C1425D;
	content: "任意";
	font-size: 12px;
	height: 22px;
	line-height: 20px;
	position: absolute;
	right: -55px;
	text-align: center;
	top: 50%;
	-webkit-transform: translateY(calc(-50% + 1px));
	transform: translateY(calc(-50% + 1px));
	width: 46px;
}

.template-form7__title--privacy-policy::after {
	display: none;
}

.template-form7__required {
	display: inline-block;
	position: relative;
}

.template-form7__required::after {
	background: #C1425D;
	border: 1px solid #C1425D;
	color: #fff;
	content: "必須";
}

.template-form7__message {
	position: relative;
}

.template-form7__message::before {
	content: "個人のお問い合わせの場合は「なし」とご入力ください";
	font-size: 12px;
	left: calc(100% + 64px);
	line-height: 1.4;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	white-space: nowrap;
}

.template-form7__textarea {
	padding-bottom: 30px;
	position: relative;
}

.template-form7__textarea .wpcf7-form-control-wrap {
	display: block;
	height: 100%;
	max-height: 192px;
	position: static;
}

.template-form7__textarea .wpcf7-not-valid-tip {
	bottom: 0;
	position: absolute;
	right: 0;
}

.template-form7__textarea textarea {
	border-radius: 5px;
	-webkit-box-shadow: 0 5px 8px rgba(178, 68, 68, .35);
	box-shadow: 0 5px 8px rgba(178, 68, 68, .35);
	color: #231815;
	height: 100%;
	margin-top: 12px;
	max-height: 180px;
	padding: 16px;
	position: relative;
	resize: none;
	width: 100%;
}

.template-form7__textarea textarea::-webkit-scrollbar {
	margin-right: 8px;
	width: 5px;
}

.template-form7__textarea textarea::-webkit-scrollbar-thumb {
	background-color: #9E9E9E;
	border-radius: 3px;
}

.template-form7__privacy-policy {
	border-radius: 5px;
	-webkit-box-shadow: 0 5px 8px rgba(178, 68, 68, .35);
	box-shadow: 0 5px 8px rgba(178, 68, 68, .35);
	color: #231815;
	font-size: 16px;
	height: 100%;
	margin-top: 12px;
	max-height: 180px;
	overflow-y: auto;
	padding: 16px;
	width: 100%;
}

.template-form7__privacy-policy::-webkit-scrollbar {
	margin-right: 8px;
	width: 5px;
}

.template-form7__privacy-policy::-webkit-scrollbar-thumb {
	background-color: #9E9E9E;
	border-radius: 3px;
}

.template-form7__privacy-policy p {
	font-size: 16px;
}

.template-form7__privacy-policy .center {
	text-align: center;
}

.template-form7__privacy-policy .mt {
	margin-top: 24px;
}

.template-form7__privacy-policy .mt-mini {
	margin-top: 12px;
}

.template-form7__text,
.template-form7__select {
	margin-top: 12px;
	padding-bottom: 30px;
	position: relative;
}

.template-form7__text .text-form,
.template-form7__text .select-box,
.template-form7__text .email-form,
.template-form7__text .tel-form,
.template-form7__select .text-form,
.template-form7__select .select-box,
.template-form7__select .email-form,
.template-form7__select .tel-form {
	border-radius: 5px;
	-webkit-box-shadow: 0 5px 8px rgba(178, 68, 68, .35);
	box-shadow: 0 5px 8px rgba(178, 68, 68, .35);
	color: #231815;
	font-size: 16px;
	height: 36px;
	padding-left: 12px;
	padding-right: 12px;
	width: 100%;
}

.template-form7__text .wpcf7-form-control-wrap,
.template-form7__select .wpcf7-form-control-wrap {
	display: block;
	height: 100%;
	position: static;
}

.template-form7__select {
	position: relative;
}

.template-form7__select::before,
.template-form7__select::after {
	background-color: #C1425D;
	content: "";
	height: 9px;
	position: absolute;
	right: 14px;
	width: 9px;
}

.template-form7__select::before {
	-webkit-clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
	clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
	top: 6px;
}

.template-form7__select::after {
	-webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
	bottom: 35px;
	clip-path: polygon(0 0, 50% 100%, 100% 0);
}

.template-form7__acceptance {
	gap: 8px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: 12px;
	padding-left: 54px;
	position: relative;
}

.template-form7__acceptance::after {
	background: #C1425D;
	border-radius: 5px;
	color: #fff;
	content: "必須";
	font-size: 12px;
	height: 22px;
	left: 0px;
	line-height: 20px;
	position: absolute;
	text-align: center;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 46px;
}

.template-form7__acceptance .wpcf7-form-control {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: 2px;
}

.template-form7__acceptance .wpcf7-list-item {
	margin: 0;
}

.template-form7__acceptance input[type=checkbox] {
	border: 1px solid #231815;
	display: block;
	height: 16px;
	margin: 0;
	position: relative;
	width: 16px;
}

.template-form7__acceptance input[type=checkbox]::before {
	border-bottom: 2px solid transparent;
	border-left: 2px solid transparent;
	content: "";
	display: block;
	height: 7px;
	left: 1px;
	position: absolute;
	top: 2px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	width: 12px;
	z-index: 1;
}

.template-form7__acceptance input[type=checkbox]:checked::before {
	border-color: #231815;
}

.template-form7__acceptance p {
	font-size: 16px;
}

.template-form7__acceptance a {
	text-decoration: underline;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.template-form7__acceptance a:hover {
	color: #231815;
}

.template-form7__button {
	margin: 50px auto 0;
	max-width: 360px;
	position: relative;
	width: 100%;
}

.template-form7__button::before {
	background-color: #fff;
	border-radius: 50%;
	content: "";
	height: 8px;
	position: absolute;
	right: 25px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	width: 8px;
}

.template-form7__button:hover::before {
	background-color: #FF867C;
	-webkit-transform: translateY(-50%) scale(2);
	transform: translateY(-50%) scale(2);
}

.template-form7__button:hover .wpcf7-submit {
	background-color: #fff;
	color: #FF867C;
}

.template-form7__button .wpcf7-spinner {
	display: none;
}

.template-form7__button .wpcf7-submit {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background-color: #FF867C;
	border: 1px solid #FF867C;
	border-radius: 30px;
	color: #fff;
	cursor: pointer;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 16px;
	height: 60px;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	letter-spacing: 0.05em;
	padding: 0 30px;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	width: 100%;
}

.template-form7__button .wpcf7-previous {
	background-color: gray;
	border: 1px solid gray;
	color: #fff;
	display: block !important;
}

.template-form7__button .wpcf7-previous:hover {
	background-color: #fff;
	border: 1px solid gray;
	color: gray;
}

.template-form7__button:has(input:disabled):hover::before {
	background-color: #fff;
	-webkit-transform: translateY(-50%) scale(1);
	transform: translateY(-50%) scale(1);
}

.template-form7__button:has(input:disabled):hover .wpcf7-submit {
	background-color: gray;
	border-color: gray;
	color: #fff;
}

.wpcf7-submit:disabled {
	background-color: gray;
	border-color: gray;
	cursor: not-allowed;
}

/* Contact form 7 の独自のクラスの上書き */

.wpcf7-not-valid-tip {
	bottom: 0;
	font-size: 16px;
	line-height: 1.5;
	position: absolute;
	right: 0;
	text-align: right;
}

/* JavaScriptで使うクラス */

.js-fade {
	opacity: 0;
}

/* フェードインのCSS */

.active.fade-in { /* 1s でアニメーションスピードを管理 */
	-webkit-animation: fadeIn 1s ease-in forwards;
	animation: fadeIn 1s ease-in forwards;
}

.active.fade-in-down { /* 1s でアニメーションスピードを管理 */
	-webkit-animation: fadeInDown 1s ease-in forwards;
	animation: fadeInDown 1s ease-in forwards;
	opacity: 0;
}

.active.fade-in-up { /* 1s でアニメーションスピードを管理 */
	-webkit-animation: fadeInUp 1s ease-in forwards;
	animation: fadeInUp 1s ease-in forwards;
	opacity: 0;
}

.active.fade-in-left { /* 1s でアニメーションスピードを管理 */
	-webkit-animation: fadeInLeft 1s ease-in forwards;
	animation: fadeInLeft 1s ease-in forwards;
	opacity: 0;
}

.active.fade-in-right { /* 1s でアニメーションスピードを管理 */
	-webkit-animation: fadeInRight 1s ease-in forwards;
	animation: fadeInRight 1s ease-in forwards;
	opacity: 0;
}

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

.display-pc {
	display: block;
}

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

.footer .footer__lists .footer__list.sp {
	display: none;
}

}

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

.c-links {
	grid-template-columns: 1fr 1fr 1fr 1fr;
}

.c-links--business {
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}

.footer .footer__main {
	gap: 14%;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
}

.footer .footer__menus {
	max-width: 66%;
}

.front-culture .front-culture__layout {
	gap: 5%;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	grid-template-columns: 55% 40%;
}

.front-data .front-data__head {
	gap: 30px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.front-data .front-data__texts {
	margin-top: 0;
}

.front-data .front-data__items {
	gap: 32px 5%;
	grid-template-columns: 1fr 1fr 1fr;
	max-width: none;
}

.front-news .front-news__article a {
	gap: 36px;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
}

.header__main {
	background-color: transparent;
	border-top: none;
	height: auto;
	position: static;
	-webkit-transition: none;
	transition: none;
	width: auto;
}

.header__menus {
	gap: 20px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 0;
}

.header__menu {
	border: none;
	height: 80px;
	width: auto;
}

.header__menu > a {
	padding: 0;
	position: relative;
	width: auto;
}

.header__menu > a:hover::before {
	width: 100%;
}

.header__menu > a::before {
	background: -webkit-gradient(linear, left top, right top, from(#2FADCF), color-stop(85%, #1D509E));
	background: linear-gradient(to right, #2FADCF 0%, #1D509E 85%);
	content: "";
	height: 3px;
	left: 0;
	position: absolute;
	top: calc(100% + 5px);
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	width: 0%;
}

.header__menu--active > a::before {
	width: 100%;
}

.header__menu--relative {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	cursor: pointer;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	position: relative;
}

.header__menu--relative .arrow {
	display: block;
	-webkit-transform: translateY(2px);
	transform: translateY(2px);
	width: 14px;
}

.header__sub-menu {
	border-radius: 20px;
	-webkit-box-shadow: 0 0 10px rgba(0, 0, 0, .1);
	box-shadow: 0 0 10px rgba(0, 0, 0, .1);
	opacity: 0;
	padding-bottom: 0;
	position: absolute;
	right: -16px;
	top: calc(100% + 12px);
	visibility: hidden;
}

.header__sub-menu ul {
	padding: 24px;
}

.header__sub-menu ul li a {
	color: #595757;
}

.header__sub-menu ul .menu-bar {
	border-top: 1px solid #BFBFBF;
	padding-top: 10px;
}

.header__foot {
	display: none;
}

.hamburger {
	display: none;
}

.the-content h2 {
	font-size: 24px;
}

.the-content p {
	font-size: 20px;
	line-height: 2;
}

.archive .archive__layout {
	gap: 5%;
	grid-template-columns: 75% 20%;
}

.not-found .not-found__layout .num {
	font-size: 150px;
}

.not-found .not-found__layout .en {
	font-size: 60px;
}

.not-found .not-found__layout .text {
	font-size: 32px;
	margin-top: 24px;
}

.page-hainfra .page-hainfra__support {
	gap: 4%;
	grid-template-columns: 1fr 54%;
}

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

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

.page-welfare .page-welfare__pictures {
	gap: 5%;
}

.single .single__the-content {
	margin-top: 100px;
}

}

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

.front-solution .front-solution__heading .ja {
	font-size: 50px;
}

.header__layout {
	padding: 0 40px;
}

.header__menus {
	gap: 22px;
}

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

.inner-1000 {
	max-width: 1100px;
}

}

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

.display-sp {
	display: block;
}

html {
	scroll-padding-top: 72px;
}

.c-button a {
	height: 50px;
	max-width: 260px;
}

.c-button--recruit,
.c-button--mynavi {
	max-width: 330px;
}

.c-button--recruit a,
.c-button--mynavi a {
	height: 58px;
	max-width: 330px;
}

.c-button--recruit a p,
.c-button--mynavi a p {
	font-size: 17px;
}

.c-form7__item {
	gap: 12px;
	grid-template-columns: 1fr;
}

.c-form7__item:not(:first-child) {
	margin-top: 32px;
}

.c-form7__text {
	font-size: 14px;
}

.c-form7__required {
	font-size: 14px;
}

.c-form7__field--name p {
	gap: 18px;
}

.c-form7__privacy {
	margin-top: 32px;
}

.c-form7__recaptcha {
	margin-top: 40px;
	width: -moz-fit-content;
	width: -webkit-fit-content;
	width: fit-content;
}

.c-form7__button {
	margin-top: 40px;
	max-width: 350px;
	width: 100%;
}

.c-heading-lower-layer {
	font-size: 27px;
	padding-bottom: 36px;
}

.c-heading-a {
	font-size: 22px;
	padding-bottom: 14px;
}

.c-layout {
	margin-top: 70px;
	padding: 65px 0 120px;
}

.c-links .link a,
.c-links .link .link-active {
	height: 50px;
	padding-bottom: 0;
}

.c-links--business {
	grid-template-columns: 1fr 1fr;
}

.mt-20 {
	margin-top: 18px;
}

.mt-30 {
	margin-top: 27px;
}

.mt-40 {
	margin-top: 32px;
}

.mt-50 {
	margin-top: 45px;
}

.mt-60 {
	margin-top: 54px;
}

.mt-100 {
	margin-top: 80px;
}

.mt-150 {
	margin-top: 120px;
}

.c-text-16 {
	font-size: 15px;
	line-height: 1.7333333333;
}

.c-text-16--mt {
	margin-top: 26px;
}

.c-text-18 {
	font-size: 16px;
	line-height: 1.6875;
}

.c-text-18 .icon {
	padding-left: 6px;
}

.c-text-18 .icon img {
	height: 16px;
	width: 16px;
}

.c-text-18--mt {
	margin-top: 27px;
}

.c-text-20 {
	font-size: 17px;
	line-height: 1.5294117647;
}

.c-text-20 .icon {
	padding-left: 6px;
}

.c-text-20 .icon img {
	height: 17px;
	width: 17px;
}

.c-text-20--mt {
	margin-top: 26px;
}

.c-text-22 {
	font-size: 17px;
	line-height: 1.7777777778;
}

.c-text-26 {
	font-size: 22px;
	line-height: 1.3636363636;
}

.footer .footer__layout {
	padding: 60px 0 32px;
}

.footer .footer__logo .icon img {
	max-width: 162px;
}

.footer .footer__menus {
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}

.footer .footer__lists .footer__list.sub {
	display: none;
}

.footer .footer__lists .footer__list.pc {
	display: none;
}

.footer .footer__lists.sp-up .footer__list {
	margin-top: 0;
}

.footer .footer__lists.sp-up .footer__list:nth-child(n+3) {
	margin-top: 20px;
}

.footer .footer__lists.pc {
	display: none;
}

.footer .footer__foot {
	gap: 32px;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

.footer .footer__texts {
	gap: 20px;
	-webkit-box-orient: vertical;
	-webkit-box-direction: reverse;
	-ms-flex-direction: column-reverse;
	flex-direction: column-reverse;
}

.footer .footer__texts .bar {
	display: none;
}

.front-culture .front-culture__layout {
	margin: 30px auto;
	padding: 60px 0;
}

.front-culture .front-culture__heading .en {
	font-size: 16px;
}

.front-culture .front-culture__heading .ja {
	font-size: 25px;
	letter-spacing: normal;
	line-height: 1.4;
	margin-top: 10px;
}

.front-culture .front-culture__heading .ja br {
	display: block;
}

.front-culture .front-culture__text {
	margin-top: 24px;
}

.front-culture .front-culture__text p {
	font-size: 15px;
}

.front-culture .front-culture__text .mt-28 {
	margin-top: 26px;
}

.front-data .front-data__layout {
	padding: 60px 0;
}

.front-data .front-data__heading .en,
.front-data .front-data__heading .date {
	font-size: 16px;
}

.front-data .front-data__heading .date {
	margin-top: 4px;
}

.front-data .front-data__heading .ja {
	font-size: 25px;
	letter-spacing: normal;
	line-height: 1.4;
	margin-top: 8px;
}

.front-data .front-data__heading .ja br {
	display: block;
}

.front-data .front-data__texts {
	margin-top: 20px;
}

.front-data .front-data__texts p {
	font-size: 15px;
}

.front-data .front-data__items {
	margin-top: 60px;
	max-width: 400px;
}

.front-data .front-data__title {
	font-size: 16px;
}

.front-data .front-data__circle {
	margin-top: 12px;
}

.front-data .front-data__circle .front-data__icon img {
	max-width: 34px;
}

.front-data .front-data__circle .front-data__num {
	font-size: 17px;
	margin-top: 10px;
}

.front-data .front-data__circle .front-data__num span {
	font-size: 48px;
}

.front-data .front-data__circle .front-data__num .gender {
	font-size: 17px;
	margin-top: 8px;
}

.front-data .front-data__button {
	margin-top: 60px;
}

.mv .mv__background {
	-webkit-animation: bg-move 50s linear forwards;
	animation: bg-move 50s linear forwards;
	background-size: auto;
}

.mv .mv__layout {
	padding: 160px 0 85px;
}

.mv .mv__layout {
	padding: 140px 0 70px;
}

.mv .mv__heading .ja img {
	margin: 0 auto;
	max-width: 80%;
}

.mv .mv__heading .en {
	font-size: 17px;
	margin: 40px auto 0;
	max-width: 80%;
}

.front-news .front-news__layout {
	padding: 60px 0;
}

.front-news .front-news__heading .en {
	font-size: 16px;
}

.front-news .front-news__heading .ja {
	font-size: 25px;
	letter-spacing: normal;
	line-height: 1.4;
	margin-top: 10px;
}

.front-news .front-news__articles {
	margin-top: 36px;
}

.front-news .front-news__article a {
	padding: 24px 0;
}

.front-news .front-news__the-title {
	font-size: 15px;
}

.front-news .front-news__button {
	margin-top: 60px;
}

.front-solution .front-solution__background {
	padding: 46px 0 55px;
}

.front-solution .front-solution__heading .en {
	font-size: 16px;
}

.front-solution .front-solution__heading .ja {
	font-size: 36px;
	line-height: 1.5;
	margin-top: 16px;
}

.front-solution .front-solution__heading .ja br {
	display: block;
}

.front-solution .front-solution__texts {
	margin-top: 26px;
}

.front-solution .front-solution__texts p {
	font-size: 16px;
}

.front-solution .front-solution__button {
	margin-top: 40px;
}

.header {
	height: 70px;
}

.header__layout {
	gap: 24px;
	padding: 0 30px;
}

.header__main {
	height: calc(100% - 70px);
}

.header__menu a,
.header__menu p {
	font-size: 14px;
}

.js-hamburger-main {
	max-height: calc(100% - 70px);
	top: 70px;
}

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

.the-content table {
	font-size: 14px;
	margin: 36px auto;
}

.the-content img {
	margin: 36px auto;
}

.the-content h2 {
	font-size: 22px;
	margin-bottom: 24px;
	margin-top: 60px;
}

.the-content p {
	font-size: 16px;
	line-height: 1.875;
}

.archive .archive__layout {
	padding-top: 80px;
}

.archive .archive__articles .archive__article a {
	padding: 24px 0;
}

.archive .archive__articles .archive__article .archive__info {
	gap: 25px;
}

.archive .archive__articles .archive__article .archive__info .category {
	font-size: 13px;
}

.archive .archive__articles .archive__article .archive__the-title {
	font-size: 15px;
}

.archive .archive__picture-articles {
	gap: 40px 7.7%;
	grid-template-columns: 1fr;
}

.archive .archive__category-name {
	font-size: 22px;
	margin-bottom: 28px;
}

.archive .archive__pagination {
	margin-top: 50px;
}

.archive .archive__pictures {
	gap: 16px;
	grid-template-columns: 1fr 1fr;
}

.not-found .not-found__layout .num {
	font-size: 100px;
}

.not-found .not-found__layout .en {
	font-size: 44px;
}

.not-found .not-found__layout .text {
	font-size: 24px;
	margin-top: 18px;
}

.not-found .not-found__layout .button {
	height: 52px;
	width: 300px;
}

.page-online-shopping .link-icon {
	height: 15px;
	width: 15px;
}

.page-service .link-icon,
.page-ai .link-icon {
	height: 17px;
	width: 17px;
}

.page-security .watchguard img {
	max-width: 280px;
}

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

.page-business .page-business__links .page-business__link a .page-business__picture img {
	aspect-ratio: 300/100;
}

.page-company .page-company__gradient-heading h2 {
	font-size: 32px;
	line-height: 1.5625;
}

.page-company .page-company__philosophy {
	gap: 35px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: reverse;
	-ms-flex-direction: column-reverse;
	flex-direction: column-reverse;
}

.page-company .page-company__philosophy .texts h3 {
	font-size: 21px;
	line-height: 1.2857142857;
}

.page-company .page-company__info {
	display: grid;
	grid-template-columns: 1fr;
}

.page-company .page-company__info .title {
	padding: 0;
	padding-bottom: 3px;
	padding-top: 24px;
}

.page-company .page-company__info .data {
	padding: 0;
	padding-bottom: 24px;
	padding-top: 3px;
}

.page-company .page-company__info .data .map img {
	height: 16px;
	width: 12px;
}

.page-company .page-company__info .data .link img {
	height: 15px;
	width: 15px;
}

.page-company .page-company__info .data .link-exclamation img {
	height: 15px;
	width: 15px;
}

.page-company .page-company__organization img {
	max-width: 84%;
}

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

.page-company .page-company__links .page-company__link a .page-company__picture img {
	aspect-ratio: 300/100;
}

.page-thanks .page-thanks__heading,
.page-thanks .page-thanks__texts {
	margin-top: 32px;
}

.page-thanks .page-thanks__heading {
	font-size: 26px;
}

.page-thanks .page-thanks__button {
	margin-top: 40px;
}

.page-csr .page-csr__block:not(:first-child) {
	margin-top: 85px;
}

.page-csr .page-csr__block .page-csr__heading {
	font-size: 21px;
	padding: 18px;
}

.page-csr .page-csr__block .page-csr__content {
	gap: 40px;
	grid-template-columns: 1fr;
}

.page-csr .page-csr__block .page-csr__title {
	font-size: 21px;
}

.page-csr .page-csr__block .page-csr__text {
	font-size: 17px;
	margin-top: 10px;
}

.page-health .page-health__certificates {
	grid-template-columns: 1fr;
	max-width: 500px;
}

.page-health .page-health__kenko {
	margin-top: 60px;
	max-width: 500px;
	width: 60%;
}

.page-health .page-health__archive {
	margin-top: 32px;
}

.page-history .page-history__group:not(:first-child) {
	margin-top: 40px;
}

.page-history .page-history__group .page-history__year {
	font-size: 24px;
}

.page-policy .page-policy__indent {
	padding-left: 26px;
}

.page-policy ul li {
	padding-left: 15px;
}

.page-policy ol {
	padding-left: 21px;
}

.page-newgrad .heading,
.page-internship .heading,
.page-year-round .heading {
	font-size: 21px;
}

.page-newgrad .items .item,
.page-internship .items .item,
.page-year-round .items .item {
	gap: 8px;
	grid-template-columns: 1fr;
}

.page-newgrad .items .item-title,
.page-internship .items .item-title,
.page-year-round .items .item-title {
	padding: 0;
	padding-top: 24px;
}

.page-newgrad .items .item-textarea,
.page-internship .items .item-textarea,
.page-year-round .items .item-textarea {
	padding: 0;
	padding-bottom: 24px;
}

.page-newgrad .button,
.page-internship .button,
.page-year-round .button {
	margin-top: 60px;
}

.page-newgrad .button-foot img,
.page-internship .button-foot img,
.page-year-round .button-foot img {
	height: 14px;
	width: 15px;
}

.page-newgrad .indent,
.page-internship .indent,
.page-year-round .indent {
	padding-left: 30px;
}

.page-recruit .page-recruit__gradient-heading {
	font-size: 32px;
}

.page-recruit .page-recruit__gradient-heading--fs-60 {
	font-size: 42px;
}

.page-recruit .page-recruit__textarea .fs-22 {
	font-size: 18px;
	line-height: 1.7777777778;
}

.page-recruit .page-recruit__textarea--mt-40 {
	margin-top: 32px;
}

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

.page-recruit .page-recruit__links .page-recruit__link a .page-recruit__picture img {
	aspect-ratio: 300/100;
}

.page-recruit .page-recruit__mt-200 {
	margin-top: 140px;
}

.page-recruit .page-recruit__types {
	gap: 80px;
}

.page-recruit .page-recruit__sub-title {
	font-size: 20px;
}

.page-recruit .page-recruit__button {
	margin-top: 50px;
}

.page-recruit .page-recruit__button .button-foot img {
	height: 14px;
	width: 15px;
}

.page-recruit .page-recruit__session {
	font-size: 22px;
}

.page-recruit .page-recruit__items .page-recruit__item {
	gap: 8px;
	grid-template-columns: 1fr;
}

.page-recruit .page-recruit__items .page-recruit__item-title {
	padding: 0;
	padding-top: 24px;
}

.page-recruit .page-recruit__items .page-recruit__item-textarea {
	padding: 0;
	padding-bottom: 24px;
}

.page-welfare .page-welfare__pictures {
	gap: 40px;
	grid-template-columns: 1fr;
	margin-left: auto;
	margin-right: auto;
	max-width: 600px;
}

.single .single__the-title {
	font-size: 15px;
}

.single .single__info {
	margin-top: 18px;
}

.single .single__the-content {
	margin-top: 60px;
}

.single .single__button {
	margin-top: 85px;
}

.template-form7__message::before {
	content: "個人のお問い合わせの場合は「なし」\aとご入力ください";
	min-width: 212px;
	white-space: pre-wrap;
}

.template-form7__button {
	max-width: 330px;
}

}

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

.c-button--recruit a p,
.c-button--mynavi a p {
	font-size: 16px;
}

.c-form7__field--name p {
	gap: 12px;
}

.c-heading-lower-layer {
	font-size: 22px;
	padding-bottom: 22px;
}

.c-heading-a {
	font-size: 20px;
	padding-bottom: 8px;
}

.c-layout {
	padding: 50px 0 120px;
}

.c-links {
	grid-template-columns: 1fr;
}

.c-links--business {
	grid-template-columns: 1fr;
}

.mt-20 {
	margin-top: 16px;
}

.mt-30 {
	margin-top: 24px;
}

.mt-40 {
	margin-top: 24px;
}

.mt-50 {
	margin-top: 40px;
}

.mt-60 {
	margin-top: 48px;
}

.mt-100 {
	margin-top: 60px;
}

.mt-150 {
	margin-top: 90px;
}

.c-text-16 {
	font-size: 14px;
	line-height: 1.7142857143;
}

.c-text-16--mt {
	margin-top: 24px;
}

.c-text-18 {
	font-size: 14px;
	line-height: 1.7142857143;
}

.c-text-18 .icon {
	padding-left: 4px;
}

.c-text-18 .icon img {
	height: 14px;
	-webkit-transform: translateY(1px);
	transform: translateY(1px);
	width: 14px;
}

.c-text-18--mt {
	margin-top: 24px;
}

.c-text-20 {
	font-size: 14px;
	line-height: 1.7142857143;
}

.c-text-20 .icon {
	padding-left: 4px;
}

.c-text-20 .icon img {
	height: 14px;
	-webkit-transform: translateY(1px);
	transform: translateY(1px);
	width: 14px;
}

.c-text-20--mt {
	margin-top: 24px;
}

.c-text-22 {
	font-size: 14px;
	line-height: 1.7142857143;
}

.c-text-26 {
	font-size: 18px;
	line-height: 1.4444444444;
}

.footer .footer__layout {
	padding: 50px 0 24px;
}

.footer .footer__logo .icon img {
	max-width: 134px;
}

.front-culture .front-culture__layout {
	margin: 20px auto;
	padding: 50px 0;
}

.front-culture .front-culture__heading .en {
	font-size: 14px;
}

.front-culture .front-culture__heading .ja {
	font-size: 20px;
	line-height: 1.5;
	margin-top: 8px;
}

.front-culture .front-culture__text {
	margin-top: 16px;
}

.front-culture .front-culture__text p {
	font-size: 14px;
}

.front-culture .front-culture__text .mt-28 {
	margin-top: 24px;
}

.front-data .front-data__layout {
	padding: 50px 0;
}

.front-data .front-data__heading .en,
.front-data .front-data__heading .date {
	font-size: 14px;
}

.front-data .front-data__heading .ja {
	font-size: 20px;
	line-height: 1.5;
	margin-top: 4px;
}

.front-data .front-data__texts p {
	font-size: 14px;
}

.front-data .front-data__items {
	margin-top: 50px;
	max-width: 320px;
}

.front-data .front-data__title {
	font-size: 14px;
}

.front-data .front-data__circle {
	margin-top: 8px;
}

.front-data .front-data__circle .front-data__icon img {
	max-width: 28px;
}

.front-data .front-data__circle .front-data__num {
	font-size: 14px;
	margin-top: 4px;
}

.front-data .front-data__circle .front-data__num span {
	font-size: 40px;
}

.front-data .front-data__circle .front-data__num .gender {
	font-size: 14px;
	margin-top: 4px;
}

.front-data .front-data__button {
	margin-top: 50px;
}

.mv .mv__heading .en {
	font-size: 14px;
	margin-top: 30px;
}

.front-news .front-news__layout {
	padding: 50px 0;
}

.front-news .front-news__heading .en {
	font-size: 14px;
}

.front-news .front-news__heading .ja {
	font-size: 20px;
	line-height: 1.5;
	margin-top: 8px;
}

.front-news .front-news__articles {
	margin-top: 32px;
}

.front-news .front-news__article a {
	padding: 20px 0;
}

.front-news .front-news__the-title {
	font-size: 14px;
}

.front-news .front-news__button {
	margin-top: 50px;
}

.front-solution .front-solution__background {
	padding: 32px 0 40px;
}

.front-solution .front-solution__heading .en {
	font-size: 14px;
}

.front-solution .front-solution__heading .ja {
	font-size: 30px;
}

.front-solution .front-solution__texts {
	margin-top: 20px;
}

.front-solution .front-solution__button {
	margin-top: 32px;
}

.header__layout {
	gap: 20px;
	padding: 0 20px;
}

.hamburger .hamburger__icon {
	height: 20px;
	width: 20px;
}

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

.the-content table {
	margin: 32px auto;
}

.the-content img {
	margin: 32px auto;
}

.the-content h2 {
	font-size: 21px;
	margin-bottom: 20px;
	margin-top: 50px;
}

.the-content p {
	font-size: 14px;
	line-height: 1.7857142857;
}

.archive .archive__layout {
	padding-top: 60px;
}

.archive .archive__articles .archive__article a {
	padding: 20px 0;
}

.archive .archive__articles .archive__article .archive__info {
	gap: 20px;
}

.archive .archive__articles .archive__article .archive__info .category {
	font-size: 12px;
}

.archive .archive__articles .archive__article .archive__the-title {
	font-size: 14px;
}

.archive .archive__picture-articles {
	gap: 40px;
}

.archive .archive__category-name {
	margin-bottom: 20px;
	padding-top: 18px;
}

.archive .archive__pagination {
	margin-top: 40px;
}

.not-found .not-found__layout .num {
	font-size: 80px;
}

.not-found .not-found__layout .en {
	font-size: 40px;
}

.not-found .not-found__layout .text {
	font-size: 20px;
	margin-top: 16px;
}

.not-found .not-found__layout .button {
	height: 50px;
	width: 280px;
}

.page-online-shopping .link-icon {
	height: 14px;
	width: 14px;
}

.page-service .link-icon,
.page-ai .link-icon {
	height: 14px;
	width: 14px;
}

.page-security .watchguard img {
	max-width: 240px;
}

.page-business .page-business__links {
	gap: 32px;
	grid-template-columns: 1fr;
}

.page-company .page-company__gradient-heading h2 {
	font-size: 25px;
	line-height: 1.2;
}

.page-company .page-company__philosophy {
	gap: 30px;
}

.page-company .page-company__philosophy .texts h3 {
	font-size: 20px;
	line-height: 1.2;
}

.page-company .page-company__info .data .map img {
	height: 15px;
	width: 12px;
}

.page-company .page-company__info .data .link img {
	height: 14px;
	width: 14px;
}

.page-company .page-company__info .data .link-exclamation img {
	height: 14px;
	width: 14px;
}

.page-company .page-company__links {
	gap: 32px;
	grid-template-columns: 1fr;
	margin: 0 auto;
	max-width: 84%;
}

.page-thanks .page-thanks__heading,
.page-thanks .page-thanks__texts {
	margin-top: 24px;
}

.page-thanks .page-thanks__heading {
	font-size: 21px;
}

.page-thanks .page-thanks__button {
	margin-top: 32px;
}

.page-csr .page-csr__block:not(:first-child) {
	margin-top: 70px;
}

.page-csr .page-csr__block .page-csr__heading {
	font-size: 20px;
	padding: 16px;
}

.page-csr .page-csr__block .page-csr__content {
	gap: 30px;
	margin-top: 50px;
}

.page-csr .page-csr__block .page-csr__title {
	font-size: 20px;
}

.page-csr .page-csr__block .page-csr__text {
	font-size: 16px;
	margin-top: 8px;
}

.page-health .page-health__kenko {
	margin-top: 50px;
}

.page-health .page-health__archive {
	margin-top: 24px;
}

.page-history .page-history__group:not(:first-child) {
	margin-top: 30px;
}

.page-history .page-history__group .page-history__year {
	font-size: 20px;
}

.page-policy .page-policy__indent {
	padding-left: 12px;
}

.page-policy ul li {
	padding-left: 14px;
}

.page-policy ol {
	padding-left: 20px;
}

.page-newgrad .heading,
.page-internship .heading,
.page-year-round .heading {
	font-size: 18px;
}

.page-newgrad .button,
.page-internship .button,
.page-year-round .button {
	margin-top: 40px;
}

.page-newgrad .button-foot img,
.page-internship .button-foot img,
.page-year-round .button-foot img {
	height: 13px;
	width: 14px;
}

.page-newgrad .indent,
.page-internship .indent,
.page-year-round .indent {
	padding-left: 28px;
}

.page-recruit .page-recruit__gradient-heading {
	font-size: 25px;
}

.page-recruit .page-recruit__gradient-heading--fs-60 {
	font-size: 25px;
}

.page-recruit .page-recruit__textarea .fs-22 {
	font-size: 14px;
	line-height: 1.7142857143;
}

.page-recruit .page-recruit__textarea--mt-40 {
	margin-top: 24px;
}

.page-recruit .page-recruit__links {
	gap: 32px;
	grid-template-columns: 1fr;
}

.page-recruit .page-recruit__mt-200 {
	margin-top: 80px;
}

.page-recruit .page-recruit__types {
	gap: 60px;
}

.page-recruit .page-recruit__sub-title {
	font-size: 18px;
}

.page-recruit .page-recruit__button {
	margin-top: 30px;
}

.page-recruit .page-recruit__button .button-foot img {
	height: 13px;
	width: 14px;
}

.page-recruit .page-recruit__session {
	font-size: 20px;
}

.page-welfare .page-welfare__pictures {
	gap: 30px;
}

.single .single__the-title {
	font-size: 21px;
}

.single .single__info {
	margin-top: 12px;
}

.single .single__the-content {
	margin-top: 40px;
}

.single .single__button {
	margin-top: 70px;
}

}

@-webkit-keyframes bg-move {

from {
	background-position: top center;
}

to {
	background-position: bottom center;
}

}

@keyframes bg-move {

from {
	background-position: top center;
}

to {
	background-position: bottom center;
}

}

@-webkit-keyframes fadeIn {

from {
	opacity: 0;
}

to {
	opacity: 1;
}

}

@keyframes fadeIn {

from {
	opacity: 0;
}

to {
	opacity: 1;
}

}

@-webkit-keyframes fadeInDown {

from {
	opacity: 0; /* transform でアニメーションの方向を管理 */
	-webkit-transform: translate3d(0, -70px, 0);
	transform: translate3d(0, -70px, 0);
}

to {
	opacity: 1;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
}

}

@keyframes fadeInDown {

from {
	opacity: 0; /* transform でアニメーションの方向を管理 */
	-webkit-transform: translate3d(0, -70px, 0);
	transform: translate3d(0, -70px, 0);
}

to {
	opacity: 1;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
}

}

@-webkit-keyframes fadeInUp {

from {
	opacity: 0; /* transform でアニメーションの方向を管理 */
	-webkit-transform: translate3d(0, 70px, 0);
	transform: translate3d(0, 70px, 0);
}

to {
	opacity: 1;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
}

}

@keyframes fadeInUp {

from {
	opacity: 0; /* transform でアニメーションの方向を管理 */
	-webkit-transform: translate3d(0, 70px, 0);
	transform: translate3d(0, 70px, 0);
}

to {
	opacity: 1;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
}

}

@-webkit-keyframes fadeInLeft {

from {
	opacity: 0; /* transform でアニメーションの方向を管理 */
	-webkit-transform: translate3d(-70px, 0, 0);
	transform: translate3d(-70px, 0, 0);
}

to {
	opacity: 1;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
}

}

@keyframes fadeInLeft {

from {
	opacity: 0; /* transform でアニメーションの方向を管理 */
	-webkit-transform: translate3d(-70px, 0, 0);
	transform: translate3d(-70px, 0, 0);
}

to {
	opacity: 1;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
}

}

@-webkit-keyframes fadeInRight {

from {
	opacity: 0; /* transform でアニメーションの方向を管理 */
	-webkit-transform: translate3d(70px, 0, 0);
	transform: translate3d(70px, 0, 0);
}

to {
	opacity: 1;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
}

}

@keyframes fadeInRight {

from {
	opacity: 0; /* transform でアニメーションの方向を管理 */
	-webkit-transform: translate3d(70px, 0, 0);
	transform: translate3d(70px, 0, 0);
}

to {
	opacity: 1;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
}

}


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