@charset "UTF-8";
html {
	font-size: 16px;
	scroll-behavior: smooth;
}

body {
  font-family: "M PLUS 1", sans-serif;
}

a[href^="tel:"] {
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
}

a {
  transition: opacity 0.3s;
}
a:hover {
  opacity: 0.7;
}

*,
*::before,
*::after {
  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 */
/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

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

a {
  text-decoration: none;
}

/* Make images easier to work with */
img {
  max-width: 100%;
  display: block;
  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;
}

/* フォームリセット */
/* 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=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

.header {
	position: fixed;
	z-index: 1000;
	top: 0;
	left: 0;
	width: 100%;
	height: 90px;
	background-color: #fff;
}
@media screen and (max-width: 1024px) {
    .header {
        height: 70px;
    }
}

.header__inner {
	display: flex;
	align-items: center;
	padding: 0 40px 0 32px;
	height: inherit;
	border: 1px solid #707070;
}
@media screen and (max-width: 1440px) {
	.header__inner {
		padding: 0 25px;
	}
}
@media screen and (max-width: 1240px) {
	.header__inner {
		padding: 0 15px;
	}
}

.header__logo {
	max-width: 69px;
	width: 100%;
}
@media screen and (max-width: 1440px) {
	.header__logo {
		max-width: 52px;
	}
}

.header__nav {
	margin-left: 99px;
	height: inherit;
}
@media screen and (max-width: 1600px) {
	.header__nav {
		margin-left: 30px;
	}
}
@media screen and (max-width: 1440px) {
	.header__nav {
		margin-left: 74px;
	}
}
@media screen and (max-width: 1240px) {
	.header__nav {
		margin-left: 30px;
	}
}

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

.header__item {
	height: inherit;
}

.header__item:not(:first-child) {
	margin-left: 30px;
}
@media screen and (max-width: 1440px) {
	.header__item:not(:first-child) {
		margin-left: 23px;
	}
}
@media screen and (max-width: 1024px) {
	.header__item:not(:first-child) {
		margin: 30px 0 0;
	}
}

.header__link {
	font-size: 1.7rem;
	font-weight: 800;
	font-family: "M PLUS 1", sans-serif;
	letter-spacing: 0.05rem;
	display: flex;
	align-items: center;
	height: inherit;
	color: #000;
}
@media screen and (max-width: 1440px) {
	.header__link {
		font-size: 1.5rem;
	}
}
@media screen and (max-width: 1240px) {
	.header__link {
		font-size: 1.3rem;
	}
}
@media screen and (max-width: 1024px) {
	.header__link {
		font-size: 1.6rem;
	}
}

.header__link::before {
	content: "";
	display: inline-block;
	background: url(../images/top/header-icon1.webp) no-repeat center/cover;
	width: 36px;
	height: 32px;
	margin-right: 9px;
}
@media screen and (max-width: 1440px) {
	.header__link::before {
		width: 27px;
		height: 24px;
	}
}

.header__item:nth-child(2) .header__link::before {
	background: url(../images/top/header-icon2.webp) no-repeat center/cover;
	width: 30px;
	height: 30px;
}
@media screen and (max-width: 1440px) {
	.header__item:nth-child(2) .header__link::before {
		width: 23px;
		height: 23px;
	}
}

.header__item:nth-child(3) .header__link::before {
	background: url(../images/top/header-icon3.webp) no-repeat center/cover;
	width: 32px;
	height: 32px;
}
@media screen and (max-width: 1440px) {
	.header__item:nth-child(3) .header__link::before {
		width: 24px;
		height: 24px;
	}
}

.header__item:nth-child(4) .header__link::before {
	background: url(../images/top/header-icon4.webp) no-repeat center/cover;
	width: 33px;
	height: 33px;
}
@media screen and (max-width: 1440px) {
	.header__item:nth-child(4) .header__link::before {
		width: 25px;
		height: 25px;
	}
}

.header__item:nth-child(5) .header__link::before {
	background: url(../images/top/header-icon5.webp) no-repeat center/cover;
	width: 25px;
	height: 33px;
}
@media screen and (max-width: 1440px) {
	.header__item:nth-child(5) .header__link::before {
		width: 19px;
		height: 25px;
	}
}

.header__contact {
	font-size: 1.7rem;
	font-weight: 800;
	font-family: "M PLUS 1", sans-serif;
	margin-left: 82px;
	background-color: #DEF0FF;
	color: #000;
	padding: 13px 50px;
}
@media screen and (max-width: 1600px) {
	.header__contact {
		margin-left: 30px;
		padding: 13px 40px;
	}
}
@media screen and (max-width: 1440px) {
	.header__contact {
		font-size: 1.5rem;
		margin-left: 62px;
		padding: 10px 20px;
	}
}
@media screen and (max-width: 1240px) {
	.header__contact {
		margin-left: 20px;
		padding: 10px 15px;
	}
}
@media screen and (max-width: 1024px) {
	.header__contact {
		margin: 30px 0 0;
		padding: 10px 20px;
	}
}

.header__sns-items {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 9px;
	margin-left: auto;
}
@media screen and (max-width: 1440px) {
	.header__sns-items {
		gap: 7px;
	}
}
@media screen and (max-width: 1024px) {
	.header__sns-items {
		margin: 30px 0 0;
	}
}

li.header__sns-item {
	max-width: 49px;
	width: 100%;
}
@media screen and (max-width: 1440px) {
	li.header__sns-item {
		max-width: 37px;
	}
}
@media screen and (max-width: 1240px) {
	li.header__sns-item {
		max-width: 31px;
	}
}
@media screen and (max-width: 1024px) {
	li.header__sns-item {
		max-width: 40px;
	}
}

.hamburger {
	position: fixed;
	z-index: 9999;
	top: 25px;
	right: 15px;
	width: 25px;
	height: 16px;
	cursor: pointer;
}

.hamburger span {
	position: absolute;
	left: 0;
	display: inline-block;
	width: 100%;
	height: 2px;
	transition: transform 0.3s;
	background-color: #000;
}

.hamburger span:first-child {
	top: 0;
}

.hamburger span:nth-child(2) {
	top: 8px;
	transition: opacity 0.3s;
}

.hamburger span:nth-child(3) {
	top: 16px;
}

.hamburger.is-active span:first-child {
	top: 10px;
	transform: rotate(-45deg);
}

.hamburger.is-active span:nth-child(2) {
	opacity: 0;
}

.hamburger.is-active span:nth-child(3) {
	top: 10px;
	transform: rotate(45deg);
}

.drawer-menu {
	position: absolute;
	z-index: 5000;
	top: 0;
	left: 0;
	display: none;
	width: 100%;
	height: 100vh;
	background-color: #fff;
}

.drawer-menu__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	padding-top: 18vh;
	width: 100%;
	height: inherit;
}

.drawer-menu__items {
	display: flex;
	flex-direction: column;
	align-items: center;
}

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

.drawer-menu__item:not(:first-child) {
	margin-top: 50px;
}

.drawer-menu__link {
	font-size: 1.6rem;
	letter-spacing: 0.05rem;
	line-height: 1.88;
	font-weight: 500;
}

.drawer-menu__contact {
	margin-top: 50px;
}

.mv {
	position: relative;
	width: 100%;
	height: 100vh;
	overflow: hidden;
}

.mv::before {
	content: "";
	display: inline-block;
	background: url(../images/top/mv-tag.webp) no-repeat center/cover;
	width: 100%;
	height: 100%;
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
@media screen and (max-width: 1024px) {
	.mv::before {
		display: none;
	}
}

.mv video {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	pointer-events: none;
}

.mv__container {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	pointer-events: auto;
}

.mv__text {
	font-size: 3rem;
	color: #fff;
}
@media screen and (max-width: 768px) {
	.mv__text {
		font-size: 2rem;
	}
	
	.mv {
		height: 100svh;
	}
}

.mv__logo {
	margin-top: 48px;
	pointer-events: none;
}
@media screen and (max-width: 768px) {
	.mv__logo {
		margin-top: 20px;
	}
}

/* スクロールボタン */
.scroll-button {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	color: #fff;
	font-size: 3rem;
	font-weight: 200;
	display: flex;
	flex-direction: column;
	align-items: center;
	pointer-events: auto;
}
@media screen and (max-width: 768px) {
	.scroll-button {
		font-size: 1.5rem;
	}
}

.scroll-button::after {
	content: "";
	width: 1px;
	height: 100px;
	background-color: #fff;
	margin-top: 16px;
}
@media screen and (max-width: 768px) {
	.scroll-button::after {
		height: 58px;
	}
}

.section__title {
	font-size: 6rem;
	font-weight: 600;
	text-align: center;
}
@media screen and (max-width: 768px) {
	.section__title {
		font-size: 3rem;
	}
}

.section__title--sub {
	text-align: center;
	font-weight: 300;
	font-size: 3rem;
}
@media screen and (max-width: 768px) {
	.section__title--sub {
		font-size: 2.2rem;
	}
}

.top-company {
	padding: 80px 0 0;
}
@media screen and (max-width: 768px) {
	.top-company {
		padding: 50px 0 0;
	}
}

.top-company__swiper {
	margin-top: 55px;
}

.swiper-slide img {
	aspect-ratio: 2/1;
}
@media screen and (max-width: 768px) {
	.swiper-slide img {
		aspect-ratio: auto;
	}
}

.swiper-button-prev {
	left: 13%;
}
@media screen and (max-width: 768px) {
	.swiper-button-prev {
		left: 7%;
	}
}

.swiper-button-next {
	right: 13%;
}
@media screen and (max-width: 768px) {
	.swiper-button-next {
		right: 7%;
	}
}

.top-company__swiper__text {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 3.5rem;
	color: #fff;
	text-align: center;
	max-width: 612px;
	width: 100%;
	background-color: #000;
	padding: 34px 0;
}
@media screen and (max-width: 1600px) {
	.top-company__swiper__text {
		max-width: 459px;
		padding: 26px 0;
	}
}
@media screen and (max-width: 768px) {
	.top-company__swiper__text {
		font-size: 2.2rem;
		max-width: 60%;
		padding: 14px 0;
	}
}

.top-work__text {
	margin-top: 64px;
	font-size: 3.3rem;
	text-align: center;
}
@media screen and (max-width: 768px) {
	.top-work__text {
		font-size: 1.8rem;
	}
}

.top-work__text span {
	display: inline-block;
}

.top-work__cards {
	margin-top: 62px;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	gap: 27px;
}
@media screen and (max-width: 768px) {
	.top-work__cards {
		gap: 15px;
	}
}

.top-work__card {
	position: relative;
	width: 48%;
}
@media screen and (max-width: 768px) {
	.top-work__card {
		width: 100%;
	}
}

.top-work__card a:hover .top-work__card__title {
	text-decoration: none;
}

.top-work__card__title {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 2.5rem;
	color: #fff;
	background-color: rgba(0, 0, 0, 0.52);
	max-width: 346px;
	width: 100%;
	padding: 10px 0;
	text-align: center;
	text-decoration: underline;
}
@media screen and (max-width: 1024px) {
	.top-work__card__title {
		max-width: 100%;
		width: 80%;
		font-size: 1.8rem;
	}
}

.top-information {
	background-color: #DEDEDE;
}

.top-information .inner {
	max-width: 1300px;
}

.top-news__item  a {
	display: flex;
	align-items: center;
	row-gap: 10px;
	padding-bottom: 40px;
	border-bottom: 1px dotted #000;
}

.top-news__item a:hover .top-news__item__title {
	text-decoration: none;
}

@media screen and (max-width: 768px) {
	.top-news__item a {
		flex-wrap: wrap;
		padding-bottom: 20px;		
	}
}

.top-news__item__date {
	font-size: 2.5rem;
	color: #000;
}
@media screen and (max-width: 768px) {
	.top-news__item__date {
		font-size: 1.5rem;
	}
}

.top-news__item__tag {
	max-width: 296px;
	width: 100%;
	text-align: center;
	font-size: 2.3rem;
	color: #009DFF;
	background-color: #fff;
	border: 1px solid #009DFF;
	padding: 10px 30px;
	margin-left: 80px;
}
@media screen and (max-width: 1024px) {
	.top-news__item__tag {
		margin-left: 30px;
	}
}
@media screen and (max-width: 768px) {
	.top-news__item__tag {
		max-width: 150px;
		font-size: 1.2rem;
		padding: 5px 0;
	}
}

.top-news__item__title {
	color: #000;
	text-decoration: underline;
	font-size: 2.5rem;
	margin-left: 25px;
}
@media screen and (max-width: 768px) {
	.top-news__item__title {
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
		text-overflow: ellipsis;
		width: 100%;
		margin: 0;
		font-size: 1.8rem;
	}
}

.top-news__item:not(:first-child) {
	margin-top: 57px;
}

.top-news__items {
	margin-top: 127px;
}
@media screen and (max-width: 768px) {
	.top-news__items {
		margin-top: 60px;
	}
}

.top-news__button {
	display: block;
	max-width: 296px;
	width: 100%;
	margin: 94px auto 0;
}

.top-news__button__link {
	display: block;
	width: 100%;
	background-color: #000;
	color: #fff;
	padding: 12px 0 11px;
	font-size: 2.3rem;
	margin: 0 auto;
}

.top-recruit {
	background: url(../images/top/top-recruit-bg.webp) no-repeat 100%/cover;
}

.top-recruit .inner {
	max-width: 1900px;
}

.top-recruit__button {
	display: block;
	max-width: 420px;
	width: 100%;
	margin: 50px auto 0;
}

.top-recruit__button__link {
	position: relative;
	display: block;
	width: 100%;
	background-color: #008FD8;
	color: #fff;
	text-align: center;
	padding: 22px 0 21px;
	font-size: 2.3rem;
	font-weight: bold;
}
@media screen and (max-width: 768px) {
	.top-news__button {
		margin: 60px auto 0;
	}

	.top-recruit__button__link, .top-news__button__link {
		font-size: 1.8rem;
	}
}

.top-recruit__button__link::after {
	content: "";
	display: inline-block;
	background: url(../images/top/arrow2.webp) no-repeat center/cover;
	width: 42px;
	height: 51px;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
}

.top-recruit__gallery {
	display: flex;
	gap: 15px;
	margin-top: 72px;
}
@media screen and (max-width: 768px) {
	.top-recruit__gallery {
		flex-wrap: wrap;
		justify-content: center;
		gap: 10px;
		margin-top: 50px;
	}
}

.top-recruit__gallery__img {
	border: 1px solid #008FD8;
}

.footer__body {
	background-color: #798B95;
}

.footer__inner {
	max-width: 1316px;
	width: 100%;
	margin: 0 auto;
	padding: 50px 30px 60px;
}
@media screen and (max-width: 768px) {
	.footer__inner {
		padding: 30px 15px 50px;
	}
	
	.top-recruit__gallery__img {
		width: 48%;
	}
}

.footer__top {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-end;
	padding-bottom: 40px;
	flex-wrap: wrap;
	gap: 30px;
}

.footer__info {
	width: 60%;
	display: flex;
	align-items: flex-end;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 48px;
}
@media screen and (max-width: 1024px) {
	.footer__info {
		width: 100%;
		align-items: flex-start;
		flex-direction: column;
		gap: 20px;
	}
}

.footer__info__text {
	color: #fff;
	line-height: 1.471;
	font-size: 1.7rem;
}
@media screen and (max-width: 768px) {
	.footer__info__text {
		font-size: 1.5rem;
	}
}

.footer__name {
	font-size: 3rem;
	color: #fff;
}
@media screen and (max-width: 1600px) {
	.footer__name {
		font-size: 2.3rem;
	}
}
@media screen and (max-width: 768px) {
	.footer__name {
		font-size: 2rem;
	}
}

.footer__info__text__address {
	margin-top: 30px;
}

.footer__info__text__tel {
	margin-top: 4px;
}

.footer__info__map {
	max-width: 214px;
	width: 100%;
	text-align: center;
}

.footer__info__map__link {
	display: inline-block;
	width: 100%;
	color: #fff;
	font-size: 2rem;
	line-height: 1.45;
	padding: 14px 0 13px;
	border: 2px solid #fff;
}
@media screen and (max-width: 1600px) {
	.footer__info__map__link {
		font-size: 1.5rem;
	}
}

.footer__info__map__link::after {
	content: "";
	display: inline-block;
	background: url(../images/top/arrow.webp) no-repeat center/cover;
	width: 20px;
	height: 12px;
	margin-left: 5px;
}

.footer__contact {
	max-width: 385px;
	width: 100%;
	text-align: center;
}
@media screen and (max-width: 1600px) {
	.footer__contact {
		max-width: 289px;
	}
}

.button {
	position: relative;
	padding: 0;
}

.button__link {
	display: inline-block;
	width: 100%;
	color: #fff;
	font-size: 2rem;
	line-height: 1.45;
	padding: 14px 0 13px;
	border: 2px solid #fff;
}
@media screen and (max-width: 1600px) {
	.button__link {
		font-size: 1.5rem;
	}
}

.button__link::after {
	content: "";
	display: inline-block;
	background: url(../images/top/arrow.webp) no-repeat center/cover;
	width: 20px;
	height: 12px;
	position: absolute;
	top: 50%;
	right: 18px;
	transform: translateY(-50%);
}

.footer__contact__link.button__link {
	background-color: #FA6129;
	border: 0;
	font-size: 3.5rem;
	padding: 28px 0 27px;
}
@media screen and (max-width: 1600px) {
	.footer__contact__link.button__link {
		font-size: 2.6rem;
		padding: 21px 0 20px;
	}
}
@media screen and (max-width: 768px) {
	.footer__contact__link.button__link {
		font-size: 2rem;
	}
}

.footer__contact__link.button__link::after {
	width: 30px;
	height: 36px;
}

.footer__bottom {
	display: flex;
	border-top: 1px solid #fff;
	padding: 27px 0 0;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 30px;
}

.footer__bottom__enterprise__title {
	font-size: 2rem;
	color: #fff;
}
@media screen and (max-width: 768px) {
	.footer__bottom__enterprise__title {
		font-size: 1.8rem;
	}
}

.footer__bottom__enterprise__lists {
	margin-top: 10px;
}

.footer__bottom__enterprise__list {
	color: #fff;
	font-size: 2rem;
	font-weight: 200;
	line-height: 1.45;
}
@media screen and (max-width: 1600px) {
	.footer__bottom__enterprise__list {
		font-size: 1.5rem;
	}
}

.footer__privacypolicy__link.button__link {
	font-size: 1.7rem;
	padding: 7px 0 6px 0.5em;
}
@media screen and (max-width: 768px) {
	.footer__privacypolicy__link.button__link {
		font-size: 1.5rem;
	}
}

.footer__privacypolicy.button {
	max-width: 385px;
	width: 100%;
	text-align: left;
}

.footer__copyright {
	display: block;
	text-align: center;
	font-size: 1.5rem;
	padding: 30px 0;
}
@media screen and (max-width: 768px) {
	.footer__copyright {
		font-size: 1.2rem;
		padding: 15px 0;
	}
}

body:not(.home) main {
	margin-top: 90px;
}
@media screen and (max-width: 1024px) {
	body:not(.home) main {
		margin-top: 70px;
	}
}

.sub-mv__title {
	color: #fff;
	text-align: center;
	font-size: 6rem;
	padding: 125px 0;
}
@media screen and (max-width: 768px) {
	.sub-mv__title {
		font-size: 3rem;
		padding: 80px 0;
	}
}

/* news */
.blog .sub-mv, .single .sub-mv, .category .sub-mv {
	background: url(../images/news/news-mv.webp) no-repeat center/cover;
}

.news__items {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0 57px;
	margin-top: 100px;
}

.news__item {
    width: 47%;
	transition: 0.3s;
}

.news__category {
    font-size: 2.3rem;
	color: #009DFF;	
    line-height: normal;
    border: 1px solid #009DFF;
    padding: 12px;
    max-width: 296px;
    width: 100%;
    text-align: center;
}

.news__category a {
	display: inline-block;
	width: 100%;
    color: #009DFF;
}

.news__date {
    font-size: 2.5rem;
    color: #000;
}

.news__information {
    display: flex;
    align-items: center;
    justify-content: space-between;
	gap: 30px;
	padding: 19px 0;
}

.news__title {
    display: inline-block;
    font-size: 2.5rem;
    color: #000;
    border-bottom: 1px solid #000;
}

.news__text-wrapper a {
    display: inline-block;
    width: 100%;
    padding: 25px 0 29px;
    border-bottom: 1px dotted #707070;
}

.news__item:hover {
	opacity: 0.7;
}

.news__item a:hover {
	opacity: 1;
}

.news__item:hover .news__title {
    border: 0;
}

.news__img {
    width: 100%;
    height: 348px;
    object-fit: cover;
}

.nav-links {
	position: relative;
	max-width: 360px;
	width: 100%;
	margin: 72px auto 0;
	display: flex;
	font-size: 2.5rem;
    flex-direction: row;
    justify-content: center;
    gap: 13px;
    line-height: 1;
    align-items: center;
}

.page-numbers:not(.next, .prev) {
    display: flex;
    background-color: #939393;
    color: #fff;
    border: 1px solid #707070;
    padding: 16px 24px;
    align-items: center;
    justify-content: center;
}

.prev.page-numbers {
    position: absolute;
    left: 0;
}

.next.page-numbers {
    position: absolute;
    right: 0;
}

.page-numbers.current {
    background-color: #000000;
}

.page-numbers {
    line-height: normal;
    height: inherit;
}

.next.page-numbers img, .prev.page-numbers img {
    max-width: 53px;
}

.detail__date {
    font-size: 2.5rem;
}

.detail__information {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 35px;
}

.detail__content {
    font-size: 2.5rem;
    margin-top: 40px;
}

.detail__title {
    font-size: 3rem;
    padding-bottom: 49px;
    border-bottom: 1px dotted #707070;
}

.detail__img {
    margin-top: 40px;
}

.detail__img img {
	height: auto;
}

.detail__other {
    display: flex;
    margin-top: 123px;
    justify-content: center;
    gap: 58px;
}

.detail__other a {
    color: #fff;
    background-color: #939393;
    border: 1px solid #707070;
    padding: 15px 30px;
    font-size: 2.5rem;
}

.detail__body {
    padding: 80px 0 100px;
}

.detail .inner {
	max-width: 1165px;
}
@media screen and (max-width: 1440px) {
	.detail .inner {
		max-width: 1100px;
	}
}

@media screen and (max-width: 1024px) {
	.news__items {
		gap: 0 30px;
	}
}

@media screen and (max-width: 768px) {
	.detail__body {
		padding: 60px 0 80px;
	}
	
	.news__items {
		margin-top: 30px;
	}

	.news__date, .nav-links, .news__title {
		font-size: 1.8rem;
	}

	.news__category {
		max-width: 180px;
		font-size: 1.6rem;
		padding: 10px;
	}

	.news__img {
		height: auto;
	}

	.news__text-wrapper a {
		padding: 15px 0 20px;
	}

	.news__information {
		padding: 15px 0;
	}

	.news__item {
		width: 100%;
	}

	.page-numbers:not(.next, .prev) {
		padding: 15px 20px;
	}

	.next.page-numbers img, .prev.page-numbers img {
		max-width: 44px;
	}

	.detail__other a, .detail__date {
		font-size: 1.8rem;
	}
	
	.detail__content {
		font-size: 1.6rem;		
	}

	.detail__title {
		font-size: 2.2rem;
		padding-bottom: 30px;
	}

	.detail__other {
		margin-top: 80px;
		gap: 30px;
	}

	.detail__other a {
		padding: 10px 20px;
	}

	.nav-links {
		max-width: 315px;
	}

}

/* work */

.page-id-22 .sub-mv {
	background: url(../images/work/work-mv.webp) no-repeat center/cover;
}

.work-about .inner {
	max-width: 1200px;
}

.sub-section__title {
	font-size: 4rem;
	text-align: center;
}
@media screen and (max-width: 768px) {
	.sub-section__title {
		font-size: 2.4rem;
	}
}

.work-about__lists {
	margin-top: 80px;
}
@media screen and (max-width: 768px) {
	.work-about__lists {
		margin-top: 30px;
	}
}

.work-about__list {
	border-bottom: 2px dotted #707070;
	padding-bottom: 80px;
}
@media screen and (max-width: 768px) {
	.work-about__list {
		padding-bottom: 60px;
	}
}

.work-about__list:not(:first-child) {
	padding-top: 60px;
}
@media screen and (max-width: 768px) {
	.work-about__list:not(:first-child) {
		padding-top: 30px;
	}
}

.work-about__list__body {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 60px;
}
@media screen and (max-width: 1024px) {
	.work-about__list__body {
		gap: 30px;
	}
}
@media screen and (max-width: 768px) {
	.work-about__list__body {
		flex-direction: column;
	}
}

.work-about__list__title-body {
	width: 25%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
@media screen and (max-width: 768px) {
	.work-about__list__title-body {
		width: 100%;
	}
}

.work-about__list__num {
	font-size: 7rem;
}
@media screen and (max-width: 768px) {
	.work-about__list__num {
		font-size: 5rem;
	}
}

.work-about__list__title {
	font-size: 3rem;
	margin-top: -15px;
}
@media screen and (max-width: 768px) {
	.work-about__list__title {
		font-size: 2.2rem;
		margin-top: 0;
	}
}

.work-about__list__sub-title {
	font-size: 1.8rem;
	color: #009AE3;
}
@media screen and (max-width: 768px) {
	.work-about__list__sub-title {
		font-size: 1.6rem;
	}
}

.work-about__list__gallery {
	display: flex;
	flex-direction: row;
	gap: 27px;
	flex: 1;
}
@media screen and (max-width: 768px) {
	.work-about__list__gallery {
		gap: 15px;
	}
}

.work-about__list__text {
	margin-top: 25px;
}
@media screen and (max-width: 768px) {
	.work-about__list__text {
		margin-top: 20px;
	}
}

.page-id-24 .sub-mv {
	background: url(../images/company/company-mv.webp) no-repeat center/cover;
}

.sub-section__title--blue {
	font-size: 5rem;
	color: #008FD8;
	text-align: center;
}
@media screen and (max-width: 768px) {
	.sub-section__title--blue {
		font-size: 2.8rem;
	}
}

.company .sub-section__title--blue {
	margin-top: 15px;
}

.company__greeting__text {
	margin-top: 60px;
}
@media screen and (max-width: 768px) {
	.company__greeting__text {
		margin-top: 30px;
	}
}

.company__important {
	background-color: #DEDEDE;
}

.company__important__cards {
	display: flex;
	margin-top: 80px;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: center;
	gap: 70px 56px;
}
@media screen and (max-width: 1024px) {
	.company__important__cards {
		gap: 70px 30px;
	}
}
@media screen and (max-width: 768px) {
	.company__important__cards {
		margin-top: 30px;
		gap: 50px;
	}
}

.company__important__card {
	width: 47%;
	background-color: #fff;
}
@media screen and (max-width: 768px) {
	.company__important__card {
		width: 100%;
	}
}

.company__important__card__body {
	background: url(../images/company/company-important1.webp) no-repeat 100%/cover;
	padding: 200px 0;
}
@media screen and (max-width: 768px) {
	.company__important__card__body {
		padding: 100px 0;
	}
}

.company__important__card:nth-child(2) .company__important__card__body {
	background: url(../images/company/company-important2.webp) no-repeat 100%/cover;
}

.company__important__card:nth-child(3) .company__important__card__body {
	background: url(../images/company/company-important3.webp) no-repeat 100%/cover;
}

.company__important__card:nth-child(4) .company__important__card__body {
	background: url(../images/company/company-important4.webp) no-repeat 100%/cover;
}

.company__important__card__container {
	padding: 50px 30px;
}
@media screen and (max-width: 1024px) {
	.company__important__card__container {
		padding: 30px 15px;
	}
}
@media screen and (max-width: 768px) {
	.company__important__card__container {
		padding: 30px 20px;
	}
}

.company__important__card__body__text {
	color: #fff;
	background-color: rgba(222, 222, 222, 0.65);
	text-align: center;
	padding: 20px 0;
	font-size: 3rem;
}
@media screen and (max-width: 768px) {
	.company__important__card__body__text {
		font-size: 2.2rem;
	}
}

.company__overview__table {
	max-width: 1100px;
	width: 100%;
	margin: 80px auto 0;
	border-collapse: collapse;
}
@media screen and (max-width: 768px) {
	.company__overview__table {
		margin: 30px auto 0;
	}
}

td {
	padding: 20px 0 20px 30px;
	border-bottom: 1px solid #000;
	font-size: 2rem;
}
@media screen and (max-width: 768px) {
	td {
		font-size: 1.6rem;
	}
	
	.company__overview__table td {
		width: 100%;
		display: block;
		padding: 0 0 20px 0;
	}
}

th {
	padding: 20px 0;
	border-bottom: 2px solid #000;
	font-size: 2rem;
	font-weight: 500;
}
@media screen and (max-width: 768px) {
	th {
		font-size: 1.6rem;
	}
	
	.company__overview__table th {
		width: 100%;
		display: block;
		text-align: left;
		border: 0;
		padding: 20px 0 10px;
	}
}

.company__facilities__table {
	max-width: 982px;
	width: 100%;
	margin: 80px auto 0;
	border-collapse: collapse;
}
@media screen and (max-width: 768px) {
	.company__facilities__table {
		margin: 30px auto 0;
	}
}

.company__facilities__table td {
	text-align: center;
	padding: 20px 0;
}

.company__facilities__table td:last-child {
	width: 10%;
}

.recruit-mv {
	position: relative;
	background: url(../images/recruit/recruit-mv.webp) no-repeat center/cover;
	padding: 257px 0 163px;
}
@media screen and (max-width: 768px) {
	.recruit-mv {
		padding: 0;
		height: 60vh;
	}
}

.recruit-mv__inner {
	max-width: 1460px;
	width: 100%;
	margin: 0 auto;
	padding: 0 30px;
}

.recruit-mv__title {
	display: inline;
	font-size: 6rem;
	font-weight: 700;
	line-height: 1.667;
	color: #fff;
	padding: 0 0 5px 0;
	text-shadow: 0px 3px 6px rgba(98, 98, 98, 0.6);
}
@media screen and (max-width: 768px) {
	.recruit-mv__title {
		position: absolute;
		bottom: 15%;
		left: 30px;
		font-size: 3rem;
	}
}

.recruit-title--en {
	text-align: center;
	color: #008FD8;
	font-size: 3rem;
	font-weight: 800;
}
@media screen and (max-width: 768px) {
	.recruit-title--en {
		font-size: 2.2rem;
	}
}

.recruit-title {
	text-align: center;
	font-size: 4.5rem;
	margin-top: 25px;
}
@media screen and (max-width: 768px) {
	.recruit-title {
		font-size: 2.5rem;
		margin-top: 10px;
	}
}

.recruit-title.recruit-title--left, .recruit-title--en.recruit-title--en--left {
	text-align: left;
}

.recruit-message {
	padding-bottom: 0;
}

.recruit-message__text.text {
	text-align: center;
	margin-top: 30px;
	font-size: 2.7rem;
}
@media screen and (max-width: 768px) {
	.recruit-message__text.text {
		font-size: 2rem;
	}
}

.recruit-message__text-catch {
	color: #EDEDED;
	font-size: 183px;
	text-align: center;
	overflow: hidden;
}
@media screen and (max-width: 1440px) {
	.recruit-message__text-catch {
		font-size: 135px;
	}
}
@media screen and (max-width: 768px) {
	.recruit-message__text-catch {
		font-size: 50px;
		margin-top: 40px;
	}
}

.recruit-about {
	margin-top: 100px;
	padding: 0;
}

.recruit-about__container {
	display: flex;
	gap: 0 150px;
}
@media screen and (max-width: 1440px) {
	.recruit-about__container {
		gap: 0 50px;
	}
}
@media screen and (max-width: 600px) {
	.recruit-about__container {
		flex-direction: column-reverse;
		gap: 30px 0;
	}
}

.recruit-about__img {
	max-width: 658px;
	width: 100%;
}
@media screen and (max-width: 1440px) {
	.recruit-about__img {
		max-width: 380px;
	}
}
@media screen and (max-width: 768px) {
	.recruit-about__img {
		max-width: 263px;
	}
}
@media screen and (max-width: 600px) {
	.recruit-about__img {
		width: 55%;
	}
}

.recruit-about__body {
	width: 46%;
	text-align: left;
	padding: 143px 20px 0 0;
}
@media screen and (max-width: 1440px) {
	.recruit-about__body {
		flex: 1;
		padding: 130px 35px 0 0;
	}
}
@media screen and (max-width: 900px) {
	.recruit-about__body {
		padding: 40px 40px 0 0;
	}
}
@media screen and (max-width: 768px) {
	.recruit-about__body {
		padding: 50px 40px 0 0;
	}
}
@media screen and (max-width: 600px) {
	.recruit-about__body {
		width: 100%;
		padding: 0 15px;
	}
}

.recruit-title--recruit-about {
	padding-left: 90px;
	margin-top: 20px;
}
@media screen and (max-width: 1440px) {
	.recruit-title--recruit-about {
		padding-left: 30px;
	}
}
@media screen and (max-width: 768px) {
	.recruit-title--recruit-about {
		padding-left: 25px;
	}
}

.recruit-about__text.text {
	margin-top: 30px;
	font-size: 2.3rem;
}

.recruit-about__text.text span, .recruit-message__text.text span {
    display: inline-block;
}

.recruit-about__more {
	padding: 80px 0 152px;
}
@media screen and (max-width: 768px) {
	.recruit-about__more {
		padding: 60px 0;
	}
	
	.recruit-about__text.text {
		font-size: 1.6rem;
	}
}

.recruit-about__more-button {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px;
}

.more-button {
	max-width: 400px;
	width: 100%;
}

.recruit-about__more__button.more-button {
	max-width: 552px;
}

.more-button__link {
	position: relative;
	display: inline-block;
	width: 100%;
	background-color: #008FD8;
	color: #fff;
	font-size: 2rem;
	padding: 14px 1em;
	text-align: center;
	border-radius: 18px;
}
@media screen and (max-width: 768px) {
	.more-button__link {
		font-size: 1.8rem;
	}
}

.more-button__link--recruit-about.more-button__link {
	font-size: 2.5rem;
	padding: 19px 1em;
}
@media screen and (max-width: 768px) {
	.more-button__link--recruit-about.more-button__link {
		font-size: 1.8rem;
	}
}

.more-button__link::after {
	content: "";
	display: inline-block;
	background: url(../images/top/arrow.webp) no-repeat center/cover;
	width: 25px;
	height: 29px;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
}

.recruit__gallery {
	display: flex;
	justify-content: center;
	gap: 18px;
}

@media screen and (max-width: 768px) {
	.recruit__gallery {
		flex-wrap: wrap;
		gap: 15px;
	}

	.recruit__gallery__img {
		width: 100%;
	}
}

.inner.recruit-topics__inner {
	max-width: 537px;
}

.recruit-topics .recruit-title--en, .recruit-topics .recruit-title {
	text-align: left;
}

.recruit-topics__card {
	background-color: #000;
	margin-top: 30px;
	text-align: center;
	padding: 50px 45px 45px;
}

.recruit-topics__card__title {
	font-size: 4.5rem;
	color: #fff;
}
@media screen and (max-width: 768px) {
	.recruit-topics__card {
		padding: 50px 30px 45px;
	}
	
	.recruit-topics__card__title {
		font-size: 2.6rem;
	}
}

.recruit-topics__card__text {
	color: #fff;
	margin-top: 15px;
}

.recruit-topics__card__button.more-button {
	margin-top: 35px;
}

.recruit__gallery__machine {
	width: 33%;
}
@media screen and (max-width: 768px) {
	.recruit__gallery__machine {
		width: 100%;
	}
}

.recruit-benefits__card {
	background: url(../images/recruit/recruit-benefits.webp) no-repeat 100%/cover;
	padding: 58px 107px 40px;
	margin-top: 50px;
}
@media screen and (max-width: 768px) {
	.recruit-benefits__card {
		padding: 40px 30px 30px;
		margin-top: 30px;
	}
}

.recruit-benefits__card__body {
	width: 35%;
	text-align: center;
}
@media screen and (max-width: 768px) {
	.recruit-benefits__card__body {
		width: 100%;
	}
}

.recruit-salary .inner {
    max-width: 750px;
}

.recruit-salary__table th, .recruit-salary__table td {
	border: 0;
	padding: 5px;
	color: #fff;
	text-align: center;
	font-size: 3rem;
}

.recruit-salary__table th {
	width: 27%;	
}

.recruit-salary__table td {
	width: 73%;	
}
@media screen and (max-width: 768px) {
	.recruit-salary__table th, .recruit-salary__table td {
		font-size: 2.2rem;
	}

	.recruit-salary__table th {
		width: 35%;	
	}

	.recruit-salary__table td {
		width: 65%;	
	}
}

.recruit-salary__table {
	max-width: 700px;
	width: 100%;
	border-spacing: 0 7px;
	margin-top: 20px;
}

.recruit-salary__table--green th {
	background-color: #58BC2B;
}

.recruit-salary__table--green td {
	background-color: #88BA4E;
}

.recruit-salary__table--blue th {
	background-color: #008FD8;
}

.recruit-salary__table--blue td {
	background-color: #36B6F2;
}

.note {
	font-size: 1.5rem;
}

.recruit-salary__table--pink th {
	background-color: #E30072;
}

.recruit-salary__table--pink td {
	background-color: #F765B4;
}

.recruit-salary__note.text {
	font-size: 3rem;
	margin-top: 20px;
}
@media screen and (max-width: 768px) {
	.recruit-salary__note.text {
		font-size: 2.2rem;
	}
}

.accordion {
	width: 100%;
}

.accordion__item {
	position: relative;
}

.accordion__item::before {
	content: "Q";
	display: inline-block;
	font-size: 4.5rem;
	color: #008FD8;
	position: absolute;
	top: 21px;
	left: 20px;
	z-index: 2;
	font-weight: 700;
}
@media screen and (max-width: 768px) {
	.accordion__item::before {
		font-size: 2.6rem;
		top: 14px;
	}
}

.accordion__title {
	position: relative;
	font-size: 2.5rem;
	padding: 40px 110px;
	cursor: pointer;
	color: #000;
	background-color: #F5F5F5;
	border: 1px solid #707070;
}
@media screen and (max-width: 768px) {
	.accordion__title {
		font-size: 1.8rem;
		padding: 20px 40px 20px 60px;
	}
}

.accordion__title:first-child {
	margin-top: 44px;
}

.accordion__title::before,
.accordion__title::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 30px;
	width: 25px;
	height: 2px;
	background-color: #000;
	transition: transform 0.3s ease-in-out;
}
@media screen and (max-width: 768px) {
	.accordion__title::before,
	.accordion__title::after {
		right: 15px;
		width: 18px;
	}
}

.accordion__title::before {
	transform: rotate(90deg);
}

.accordion__title.is-open::before {
	transform: rotate(180deg);
}

.accordion__content {
	position: relative;
	display: none;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
	border-left: 1px solid #000;
	padding: 35px 30px 44px 112px;
}
@media screen and (max-width: 768px) {
	.accordion__content {
		padding: 20px 40px 20px 60px;
	}
}

.accordion__text::before {
	content: "A";
	display: inline-block;
	font-size: 4.5rem;
	color: #008FD8;
	position: absolute;
	top: 20px;
	left: 25px;
}
@media screen and (max-width: 768px) {
	.accordion__text::before {
		font-size: 2.6rem;
		top: 14px;
		left: 21px;
	}
}

.accordion__text {
	font-size: 2.5rem;
}
@media screen and (max-width: 768px) {
	.accordion__text {
		font-size: 1.8rem;
	}
}

.accordion__text:not(:first-child) {
	margin-top: 25px;
}

.accordion__link {
	color: #000;
	text-decoration: underline;
}

.recruit-join {
	background: url(../images/recruit/join-us.webp) no-repeat center/cover;
	padding: 100px 0 160px;
}
@media screen and (max-width: 768px) {
	.recruit-join {
		padding: 60px 0 80px;
	}
}

.recruit-title--en.recruit-join__title-en {
	color: #000;
	text-align: left;
}

.recruit-title.recruit-join__title {
	text-align: left;
}

.recruit-join__button.more-button {
	display: block;
	max-width: 800px;
	margin: 60px auto 0;
}
@media screen and (max-width: 768px) {
	.recruit-join__button.more-button {
		margin-top: 30px;
		max-width: 400px;
	}
}

.recruit-join__link.more-button__link {
	padding: 20px 1em;
}

.page-id-50 .sub-mv {
	background: url(../images/privacypolicy/privacypolicy-mv.webp) no-repeat center/cover;
}

.privacypolicy__body {
	padding: 122px 0 128px;
}
@media screen and (max-width: 768px) {
	.privacypolicy__body {
		padding: 50px 0 60px;
	}
}

.privacypolicy__container {
	width: 77%;
}
@media screen and (max-width: 768px) {
	.privacypolicy__container {
		width: 100%;
	}
}

.privacypolicy__text.text {
	font-size: 2.2rem;
}
@media screen and (max-width: 768px) {
	.privacypolicy__text.text {
		font-size: 1.6rem;
	}
}

.privacypolicy__text.text:not(:first-child) {
	margin-top: 26px;
}
@media screen and (max-width: 768px) {
	.privacypolicy__text.text:not(:first-child) {
		margin-top: 20px;
	}
}

.recruit-sub-mv {
	background: url(../images/benefits/benefits-mv.webp) no-repeat center /cover;
	padding: 80px 0 497px;
}
@media screen and (max-width: 768px) {
	.recruit-sub-mv {
		padding: 20px 0 100px;
	}
}

.recruit-sub-mv__inner {
	max-width: 1230px;
	width: 100%;
	margin: 0 auto;
	padding: 0 30px;
}

.recruit-sub-mv__title-en {
	font-size: 3rem;
	color: #008FD8;
	font-weight: 800;
}
@media screen and (max-width: 768px) {
	.recruit-sub-mv__title-en {
		font-size: 2.2rem;
	}
}

.recruit-sub-mv__title {
	color: #fff;
	font-size: 6rem;
}
@media screen and (max-width: 768px) {
	.recruit-sub-mv__title {
		font-size: 3rem;
		line-height: 1.2;
	}
}

.recruit-sub-title {
	font-size: 5rem;
}
@media screen and (max-width: 768px) {
	.recruit-sub-title {
		font-size: 2.8rem;
	}
}

.recruit-sub__text.text {
	margin-top: 30px;
	padding-bottom: 48px;
}
@media screen and (max-width: 768px) {
	.recruit-sub__text.text {
		margin-top: 15px;
		padding-bottom: 30px;
	}
}

.benefits-about__title {
	font-size: 4rem;
	padding-top: 48px;
	border-top: 1px solid #707070;
}
@media screen and (max-width: 768px) {
	.benefits-about__title {
		font-size: 2.4rem;
		padding-top: 30px;
	}
}

.benefits-about__img {
	margin-top: 30px;
}
@media screen and (max-width: 768px) {
	.benefits-about__img {
		margin-top: 20px;
	}
}

.benefits-about__lists {
	margin-top: 30px;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	gap: 20px 35px;
	padding-bottom: 48px;
}
@media screen and (max-width: 768px) {
	.benefits-about__lists {
		gap: 15px;
		padding-bottom: 30px;
		margin-top: 20px;
	}
}

.benefits-about__list {
	width: 47%;
}
@media screen and (max-width: 768px) {
	.benefits-about__list {
		width: 100%;
	}
}

.benefits-about__list__title {
	position: relative;
	font-size: 2.5rem;
	padding-left: 36px;
}
@media screen and (max-width: 768px) {
	.benefits-about__list__title {
		font-size: 1.8rem;
	}
}

.benefits-about__list__title::before {
	content: "";
	display: inline-block;
	background: url(../images/benefits/benefits-about-list-icon.webp) no-repeat center/cover;
	width: 25px;
	height: 25px;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.benefits-about__list__text {
	font-size: 1.7rem;
	font-weight: 300;
	margin-top: 5px;
}
@media screen and (max-width: 768px) {
	.benefits-about__list__text {
		font-size: 1.5em;
	}
}

.entry-button.more-button {
	display: block;
	margin: 40px auto 0;
	max-width: 552px;
}
@media screen and (max-width: 768px) {
	.entry-button.more-button {
		max-width: 400px;
		margin-top: 30px;
	}
}

.recruit-sub-mv.interview-sub-mv {
	background: url(../images/interview/interview-mv.webp) no-repeat center /cover;
	padding: 79px 0 497px;
}
@media screen and (max-width: 768px) {
	.recruit-sub-mv.interview-sub-mv {
		padding: 20px 0 100px;
	}
}

.interview-about__staff__cards {
	display: flex;
	gap: 28px;
	justify-content: space-between;
}
@media screen and (max-width: 768px) {
	.interview-about__staff__cards {
		flex-wrap: wrap;
		gap: 15px;
	}
}

.interview-about__staff__card {
	width: 20%;
}
@media screen and (max-width: 768px) {
	.interview-about__staff__card {
		width: 47%;
	}
}

.interview-about__staff__card:hover {
    opacity: 0.7;
    cursor: pointer;
}

.interview-about__staff__card__text.text {
	margin-top: 18px;
}

.more-button.interview-button {
	margin-top: 100px;
}
@media screen and (max-width: 768px) {
	.more-button.interview-button {
		margin-top: 80px;
	}
}

.modal {
	position: fixed;
	z-index: 9999;
	top: 0;
	left: 0;
	display: flex;
	visibility: hidden;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 40px 20px;
	transition: opacity 0.3s, visibility 0.3s;
	opacity: 0;
	background: rgba(0, 0, 0, 0.5);
}

.modal.is-open {
	visibility: visible;
	opacity: 1;
}

.modal__body {
	position: relative;
	display: inline-block;
	max-width: 1142px;
	width: 90%;
}

.modal__content__staff {
	max-width: 206px;
	width: 100%;
	margin: 0 auto;
}

.modal__close-button {
	font-size: 6.6rem;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	cursor: pointer;
	color: #fff;
}
@media screen and (max-width: 768px) {
	.modal__close-button {
		font-size: 4rem;
	}
}

.modal__content {
	padding: 70px 70px 100px;
	background: #fff;
	max-height: 70vh;
	overflow-y: auto;
}
@media screen and (max-width: 768px) {
	.modal__content {
		padding: 50px 30px 80px;
	}
}

.modal__content__name {
	margin-top: 18px;
}

.modal__content__wrapper {
	display: flex;
	gap: 58px;
}
@media screen and (max-width: 768px) {
	.modal__content__wrapper {
		flex-direction: column;
		gap: 30px;
	}
}

.modal__content__name {
	margin-top: 18px;
}

.modal__content__list:not(:first-child) {
	margin-top: 60px;
}
@media screen and (max-width: 768px) {
	.modal__content__list:not(:first-child) {
		margin-top: 30px;
	}
}

.modal__title {
	font-size: 3rem;
	font-weight: 800;
	color: #008FD8;
}
@media screen and (max-width: 768px) {
	.modal__title {
		font-size: 2.2rem;
	}
}

.modal__text {
	font-size: 1.8rem;
	margin-top: 14px;
}
@media screen and (max-width: 768px) {
	.modal__text {
		font-size: 1.5rem;
	}
}

body.no-scroll {
	position: fixed;
	width: 100%;
    overflow-y: scroll;
}

html.scroll-disable {
    scroll-behavior: auto;
}

/* contact */
.page-id-55 .sub-mv {
	background: url(../images/contact/contact-mv.webp) no-repeat center/cover;
}

.contact-container .inner {
	max-width: 1050px;
}

.contact-container {
	padding: 80px 0 100px;
}

.required {
	color: #FF0000;
	border: 1px solid #FF0000;
	border-radius: 50px;
	padding: 6px 0;
	line-height: 1;
	margin-right: 28px;
	max-width: 93px;
    width: 100%;
	text-align: center;
}

.form__list {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	padding: 18px 0 22px;
	border-top: 1px solid #707070;
	align-items: center;
}

.form__list label {
    cursor: default;
}

label {
	display: flex;
	align-items: center;
	font-size: 2.2rem;
}

.form__contact__label .form-radio {
	flex-wrap: wrap;
	gap: 5px;
}

.form__contact__data .wpcf7-radio {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.form__contact__data {
	padding: 30px 15px 56px;
}
@media screen and (max-width: 768px) {
	.form__contact__data {
		padding: 15px 10px 30px 0;
	}
}

.form__data {
	width: 64%;
}

.form__data input, .form__data .wpcf7-select {
	width: 100%;
	border-radius: 17px;
	padding: 24px;
	font-size: 2.2rem;
	border: 1px solid #707070;
	font-weight: 300;
}

.form__data .wpcf7-select {
	position: relative;
	z-index: 1;
}

.form__data.form__data__name p {
	display: flex;
	gap: 18px;
}

.form__label {
	flex: 1;
}

.form__data textarea {
	width: 100%;
	border-radius: 17px;
	padding: 24px;
	font-size: 2.2rem;
	border: 1px solid #707070;
	font-weight: 300;
	height: 8em;
}

.form__list:last-child {
	border-bottom: 1px solid #707070;
}

.form__privacy {
	height: 195px;
	overflow-y: auto;
	overflow-x: hidden;
	margin-top: 40px;
	padding: 0px 15px;
	box-sizing: border-box;
}

.form__privacy p {
	font-size: 2.2rem;
	color: #939393;
	font-weight: 300;
}

.wpcf7-list-item-label::before {
	margin-right: 10px;
}

.form__submit input {
	max-width: 300px;
	width: 100%;
	font-size: 2.2rem;
	padding: 10px;
	background-color: #DEF0FF;
	border: 0;
    transition: opacity 0.3s;
	color: #000;
}

.wpcf7-submit:hover {
    opacity: 0.7;
}

.form__submit {
	text-align: center;
	margin-top: 60px;
}

p.form__text:not(:first-child) {
	margin-top: 22px;
}

.wpcf7-spinner {
	display: none;
}

.form__acceptance {
	margin-top: 15px;
}

select {
	color: #707070;
}

.form__data.form__data--select {
	position: relative;
}

.form__data.form__data--select .wpcf7-form-control-wrap::after {
	content: "";
	display: inline-block;
	background: url(../images/recruit/triangle.webp) no-repeat center/cover;
	width: 22px;
	height: 22px;
	position: absolute;
	top: 50%;
	right: 25px;
	transform: translateY(-50%);
}

select:hover {
   color: rgba(112, 112, 112, 0.5);
}

.form__data.form__data--select:hover .wpcf7-form-control-wrap::after {
   opacity: 0.5;
}

.wpcf7-form-control-wrap {
	display: inline-block;
	height: inherit;
	width: 100%;
}

@media screen and (max-width: 960px) {
	.form__data {
		width: 60%;
	}
		
	.required {
		margin-right: 15px;
	}
}

@media screen and (max-width: 768px) {
	.form__data {
		width: 100%;
	}

	.form__submit input, .form__privacy p, .form__data textarea, label, .form__data input, .form__data .wpcf7-select {
		font-size: 1.8rem;
	}

	.form__data input {
		padding: 18px;
	}

	.required {
		max-width: 70px;
		padding: 5px 0;
		margin-right: 20px;
	}

	.form__data.form__data__name p {
		flex-wrap: wrap;
	}

	.form__data.form__data__name p span {
		width: 100%;
	}

	.form__data.form__data--select .wpcf7-form-control-wrap::after {
		width: 18px;
		height: 18px;
		right: 20px;
	}
}

/* 404 */
.error {
	padding: 80px 0 160px;
}

.error__title {
	text-align: center;
	font-size: 8rem;
}

.error__main-text {
	text-align: center;
	font-size: 5rem;
	margin-top: 80px;
}

.error__text {
	text-align: center;
	font-size: 2.7rem;
	margin-top: 85px;
}

.error__button.more-button {
	display: block;
	margin: 95px auto 0;
}

@media screen and (max-width: 768px) {
	.error {
		padding: 60px 0 80px;
	}
	
	.error__title {
		text-align: center;
		font-size: 5rem;
	}

	.error__main-text {
		font-size: 1.8rem;
		margin-top: 56px;
	}

	.error__text {
		font-size: 1.6rem;
		margin-top: 50px;
	}
	
	.error__button.more-button {
		margin: 70px auto 0;
	}
}

.page-id-41 .top-recruit, .page-id-43 .top-recruit, .page-id-45 .top-recruit, .page-id-55 .top-recruit, .page-id-50 .top-recruit, .error404 .top-recruit {
    display: none;
}

/* 共通 */

html {
	font-size: 10px;
}

p {
	line-height: 1.45;
	font-weight: 500;
}

button {
	padding: 0;
}

.text {
	font-size: 2rem;
}
@media screen and (max-width: 768px) {
	.text {
		font-size: 1.6rem;
	}
}

section {
	padding: 80px 0 100px;
}
@media screen and (max-width: 768px) {
	section {
		padding: 60px 0 80px;
	}
}

.inner {
	max-width: 1310px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: 25px;
	padding-right: 25px;
}
@media screen and (max-width: 1440px) {
	.inner {
		max-width: 1200px;
	}
}
@media screen and (max-width: 768px) {
	.inner {
		padding-left: 15px;
		padding-right: 15px;
	}
}

@media screen and (max-width: 1024px) {
	.lg-none {
		display: none;
	}
}

.lg-show {
	display: none;
}
@media screen and (max-width: 1024px) {
	.lg-show {
		display: block;
	}
	
	.lg-none {
		display: none;
	}
}

@media screen and (max-width: 768px) {
	.md-none {
		display: none;
	}
}

.md-show {
	display: none;
}
@media screen and (max-width: 768px) {
	.md-show {
		display: block;
	}
}

@media screen and (max-width: 900px) {
	.pc-none {
		display: none;
	}
}

@media screen and (max-width: 1440px) {
	.br-xl {
		display: none;
	}
}

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

:target {
	scroll-margin-top: 90px;
}
@media screen and (max-width: 768px) {
	:target {
		scroll-margin-top: 70px;
	}
}