@charset "utf-8";
/*----------------------------------------------------
	共通タイトル
----------------------------------------------------*/
/* タイトル Josefin Sans：31pt,1.5送り,文字間.075em */
.title { background: url("../images/title.jpg") no-repeat center / cover; padding: 1.5em 0 .5em; }
.title__text {
  font-size: min((var(--vw) * 100) * 30 / var(--size-main), 3.0rem);
  text-align: center;
  letter-spacing: .075em;
  color: var(--color-main);
  position: relative;
  line-height: 2.0;
}
.title__text::before {
  position: absolute;
  border-bottom: 3px solid var(--color-main);
  top: 40%;
  left: 50%;
  transform: translateX(-50%);
  width: 50px;
  content: '';
}
.title__text .-en {
  font-size: min((var(--vw) * 100) * 44 / var(--size-main), 4.4rem);
}

.title__text.-white { color: #fff; }
.title__text.-white::before { border-bottom: 3px solid #fff; }


@media (max-width: 767px) { /* SP */
.title__text { font-size: 2.4rem; }
.title__text .-en { font-size: 3.5rem; }
}

/* 見出し：31pt,1.5送り */
.heading {
  font-size: var(--31px);
  line-height: 1.5;
  font-weight: bold;
}


/*----------------------------------------------------
	単独で使う -***
----------------------------------------------------*/
/* background */
.-bgMain { background: var(--color-main); color: #fff; }
.-bgSub { padding-inline: calc((100vw - var(--size-main)*1px) / 2); background: var(--color-sub); }
.-bgGray { background: #f4f4f4; }

/* color */
.-red { color: red; }

/*----------------------------------------------------
	共通パーツ
----------------------------------------------------*/
/* table */
.tableBox { width: 100%; line-height: 1.8; border-spacing: 0; text-align: left; padding: 1.5em 0 8.5em; }
.tableBox th,.tableBox td { display: block; width: 100%; font-weight: normal; padding: 1.2em; }
.tableBox th { letter-spacing: 0.05em; color: var(--color-main); border-top: 1px solid #bfbfbf; }
.tableBox td { border-top: 1px solid #bfbfbf; }
.tableBox tr:last-child td { border-bottom: 1px solid #bfbfbf; }

@media (min-width:768px) { /* PC */
.tableBox th,.tableBox td { display: table-cell; width: auto; float: none; padding: 1.3em 1em; }
.tableBox th { width: 20%; white-space: nowrap; text-align: center; border-top: 1px solid var(--color-main); }
.tableBox tr:last-child th { border-bottom: 1px solid var(--color-main); }
}

/*----------------------------------------------------
	トップページ
----------------------------------------------------*/
.top__service {
  background: var(--color-main);
  overflow: hidden;
}
.top__service__clip {
  background: var(--color-sub);
  transform: translateX(-400px) skewX(-30deg);
}
.top__service .container-inner {
  transform: translateX(400px) skewX(30deg);
  color: #fff;
  padding: 3em 0 5em;
}
.top__service__flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 2em;
}

@media (max-width: 767px) { /* SP */
.top__service__flex { gap: 1em; }
.top__service__flex a { width: 45%; }
}

.top__company {
  padding: 4em 0;
  background: var(--color-gray-light) url("../../index/images/back_company.jpg") no-repeat;
}

.top__recruit__wrap {
  background: url("../../index/images/top_recruit_M.png") no-repeat right center / auto 100%;
  display: flex;
  align-items: stretch;
}

.top__recruit__image img {
  min-height: 100%;
  width: 50vw;
  object-fit: cover;
}
.top__recruit__text {
  color: #fff;
  width: min(100%, 580px);
  padding: 3em 3em 2em 3em;
}
.top__recruit__mback {
  width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.recruit__title__text {
  font-size: min((var(--vw) * 100) * 20 / var(--size-main), 5.0rem);
  letter-spacing: .075em;
  line-height: 1.5;
  margin-bottom: .5em;
}
.recruit__title__text .-en {
  font-size: min((var(--vw) * 100) * 44 / var(--size-main), 4.4rem);
}
.top__recruit__boxin {
  padding: 2em 0 0;
  text-align: center;
}
@media (min-width: 768px) { /* PC */
.top__recruit__box {
  position: relative;
}
.top__recruit__boxin {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 100;
}
}
@media (max-width: 767px) { /* SP */
.top__recruit__wrap { flex-direction: column; }
.top__recruit__image img { width: 100vw; }
.top__recruit__mback { width: 100%; }

.top__recruit__img { clip-path: polygon(0 30%, 100% 0, 100% 100%, 0% 100%); }
.top__recruit__wrap { background: url("../../index/images/top_recruit_M.png") no-repeat right center / 100% 100%; }
}


.top__topics {
  padding: 4em 0;
}

.top__button {
  padding: .7em 2em;
  border: 2px solid #fff;
  color: #fff;
  transition: .3s;
  line-height: 1.5;
  border-radius: 100vh;
  display: inline-block;
  font-size: var(-16px);
}
.top__button:is(:hover, :focus) {
  background: #fff;
  border-color: currentColor;
  color: var(--color-main);
}

.top__button.-blue {
  background: var(--color-main);
}
.top__button.-blue:is(:hover, :focus) {
  background: #fff;
}

/*----------------------------------------------------
	企業情報+事業内容
----------------------------------------------------*/
/* 上部分共通 */
.title__box { text-align: center; margin-block: 3.3em; }
.title__box__text { letter-spacing: .02em; margin-top: 1.5em; }

/* 事業内容 */
.service__inner { text-align: center; padding: 2.6em 0 5em; }
.service__flexBox { 
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.7em;
  margin-bottom: 1.2em;
}
.service__flexBox__icon img { height: min(15vw, 131px); }

.service__flexBox__title {
  font-size: clamp(2.5rem, 100vw * 33 / var(--size-main), 3.3rem);
  letter-spacing: .075em;
  color: var(--color-main);
}
.service__text {
  position: relative;
  text-align: justify;
  letter-spacing: .02em;
  line-break: strict;
  color: var(--color-sub);
  margin-top: 3.8em;
}
.service__text::before { 
  position: absolute;
  content: "";
  background-color: var(--color-main); /* 線の色 */
  top: -2.1em; /* 線の位置 */
  width: 100px; /* 線の長さ */
  height: 3px; /* 線の高さ */
  left: 50%; /* 線の中央寄せ */
  transform: translateX(-50%); /* 線の中央寄せ */
}

@media (max-width: 767px) { /* SP */
.service__inner { padding: 3em 0 5em; }
.service__flexBox { flex-direction: column; gap: 0; }
.service__flexBox__icon img { height: auto; }
}

/*----------------------------------------------------
	採用情報
----------------------------------------------------*/
.recruit__flexBox { display: flex; flex-wrap: wrap; align-items: center; }
.recruit__flexBox__title {
  display: flex;
  align-items: center;
  gap: .2em;
  font-size: var(--31px);
  margin-bottom: 1em;
}
.recruit__flexBox__icon { width: 13%; }
.recruit__flexBox__text { text-align: justify; padding-bottom: 1em; }

.recruit__flexBox__img img { object-fit: cover; width: 100%; height: 100%; }

.recruit__inner {
  text-align: center;
  color: var(--color-main);
  padding-block: 3.8em;
  margin-bottom: 4.5em;
}
.recruit__title {
  font-size: clamp(5rem, 100vw * 80 / var(--size-main), 8rem);
  font-style: italic;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: .075em;
}
.recruit__subTitle {
  font-size: clamp(2.5rem, 100vw * 37 / var(--size-main), 3.7rem);
}

@media (min-width:768px) { /* PC */
.recruit__flexBox__item { width: 48%; padding-left: 1em; }
.recruit__flexBox__img { flex: 1; clip-path: polygon(0 0, 100% 0, 100% 100%, 38% 100%); margin-left: -2%; }
}

@media (max-width: 767px) { /* SP */
.recruit__flexBox { flex-direction: column; }
.recruit__flexBox__item, .recruit__flexBox__img { width: 100%; }
.recruit__flexBox__item { padding: 2em 1em; }
.recruit__flexBox__title { gap: 0.5em; line-height: 1.5; }
.recruit__title { margin-bottom: 0.2em; }
}

/*----------------------------------------------------
	お問い合わせ
----------------------------------------------------*/
.contact__inner { padding-top: 1em; padding-bottom: 4em; }
