@charset "UTF-8";
/* =================================
共通
================================= */
.midashi {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f5f5f5;
  height: 25rem;
  margin-bottom: 6.25rem;
  overflow: hidden;
  position: relative;
  z-index: 0; }
  .midashi h2 {
    display: flex;
    align-items: center;
    justify-content: center; }
  .midashi strong {
    font-size: 4.375rem;
    font-weight: 600;
    font-family: "Poppins", sans-serif;
    letter-spacing: .02em;
    display: flex;
    align-items: center; }
    .midashi strong:after {
      content: '';
      width: 4.375rem;
      height: 0.0625rem;
      background: #222;
      transform: rotate(-60deg);
      margin-left: 0.625rem;
      margin-right: 0.625rem; }
  .midashi span {
    font-size: 1.5625rem;
    font-weight: 500;
    letter-spacing: .2em; }

.txt_gray {
  font-weight: 600;
  font-size: 2.5rem;
  font-family: "Poppins", sans-serif;
  letter-spacing: .02em;
  line-height: 1.3;
  color: #e3e3e3; }

.btn {
  border: 0.0625rem solid #fff;
  line-height: inherit;
  font-style: normal;
  font-size: 1rem;
  font-weight: 400;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  width: 100%;
  max-width: 24.375rem;
  padding: 0.9375rem;
  box-sizing: border-box;
  color: #fff;
  background: 0;
  cursor: pointer; }
  .btn:hover {
    text-decoration: none;
    opacity: .5;
    transition: all .2s ease-in; }

.arw {
  position: relative;
  display: inline-block; }
  .arw:before {
    content: "";
    position: absolute;
    top: 0;
    right: -1.5625rem;
    bottom: 0;
    margin: auto;
    width: 0.75rem;
    height: 0.75rem;
    border-top: 0.0625rem solid #fff;
    border-right: 0.0625rem solid #fff;
    transform: rotate(45deg); }

footer {
  margin-top: 200px; }

@media print, screen and (max-width: 768px) {
  .midashi {
    height: 15.625rem;
    margin-bottom: 3.75rem; }
    .midashi strong {
      font-size: min(40px, 9vw); }
      .midashi strong:after {
        width: 2.8125rem;
        margin-left: min(1vw, 5px);
        margin-right: min(1vw, 5px); }
    .midashi span {
      font-size: min(20px, 4.5vw); }

  .txt_gray {
    font-size: 1.75rem; }

  .btn {
    font-size: 0.9375rem;
    max-width: 17.5rem;
    padding: 0.75rem;
    width: 65%; }

  .arw:before {
    right: -0.9375rem;
    width: 0.625rem;
    height: 0.625rem; }

  footer {
    margin-top: 120px; } }
/* =================================
Service 事業内容
================================= */
.service section {
  margin-bottom: 6.25rem;
  overflow: hidden; }
  .service section:last-of-type {
    margin-bottom: 0; }
.service .komidashi {
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 3.4375rem;
  width: 110%;
  height: 25.9375rem;
  overflow: hidden;
  position: relative;
  left: -5%;
  z-index: 0; }
  .service .komidashi:before {
    content: '';
    width: 57%;
    height: 500%;
    background: #222;
    position: absolute;
    top: 0;
    left: -10%;
    bottom: 0;
    z-index: -1;
    margin: auto;
    transform: rotate(15deg); }
  .service .komidashi:after {
    content: '';
    width: 60%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: -2;
    margin: auto;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover; }
.service .sec01 .komidashi:after {
  background-image: url("../images/service/service_pic_01.jpg"); }
.service .sec02 .komidashi:after {
  background-image: url("../images/service/service_pic_02.jpg"); }
.service .sec03 .komidashi:after {
  background-image: url("../images/service/service_pic_03.jpg"); }
.service h3 {
  text-align: left;
  width: 80%; }
  .service h3 span {
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    font-size: 6.25rem;
    line-height: 1;
    margin-bottom: 0.625rem; }
  .service h3 strong {
    font-size: 2.3125rem;
    line-height: 1.5; }
.service dl {
  max-width: 51.5625rem; }
.service dt {
  margin-bottom: 1.875rem; }
.service dd {
  font-size: 1.25rem;
  display: inline-block;
  text-align: left;
  line-height: 2; }
.service .sub_area {
  margin-top: 3.75rem;
  max-width: 46.875rem; }
  .service .sub_area ul {
    margin-bottom: 3.75rem; }
    .service .sub_area ul:last-of-type {
      margin-bottom: 0; }
  .service .sub_area .agency_list {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    row-gap: 1.5625rem;
    font-size: 1.25rem; }
    .service .sub_area .agency_list li {
      width: 31%;
      border: 0.0625rem solid #222;
      border-radius: 1.875rem;
      padding: 0.375rem 0;
      box-sizing: border-box; }
  .service .sub_area .ico_area_01 li {
    max-width: 11.125rem;
    margin: 0 0.625rem;
    display: inline-block; }
  .service .sub_area .ico_area_02 {
    display: flex;
    align-items: center;
    justify-content: space-between; }
    .service .sub_area .ico_area_02 li {
      max-width: 4.375rem; }

@media print, screen and (max-width: 768px) {
  .service section {
    margin-bottom: 3.75rem; }
  .service .komidashi {
    margin-bottom: 2.1875rem;
    height: 15.625rem; }
    .service .komidashi:before {
      width: 60%; }
    .service .komidashi:after {
      width: 58%; }
  .service h3 {
    text-shadow: 0 0 0.3125rem black; }
    .service h3 span {
      font-size: 3.4375rem;
      margin-bottom: 0.3125rem; }
    .service h3 strong {
      font-size: 1.5625rem; }
  .service dt {
    margin-bottom: 1.25rem; }
  .service dd {
    font-size: 1rem; }
  .service .sub_area {
    margin-top: 1.875rem; }
    .service .sub_area ul {
      margin-bottom: 2.1875rem; }
    .service .sub_area .agency_list {
      row-gap: 0.9375rem;
      font-size: 1.125rem; }
      .service .sub_area .agency_list li {
        width: 100%;
        max-width: 15.625rem;
        padding: 0.1875rem 0;
        margin: 0 auto; }
    .service .sub_area .ico_area_01 li {
      max-width: 7.5rem;
      margin: 0 0.625rem; }
    .service .sub_area .ico_area_02 {
      display: block; }
      .service .sub_area .ico_area_02 li {
        display: inline-block;
        max-width: 2.8125rem;
        margin: 0 0.625rem; } }
/* =================================
Company 会社概要
================================= */
.company .intro_img {
  object-fit: cover;
  height: 23.75rem;
  margin-bottom: 3.4375rem; }
.company .txt_gray {
  margin-bottom: 2.5rem; }
.company .info {
  margin-bottom: 3.75rem;
  font-size: 1.25rem; }
  .company .info dt {
    max-width: 31.25rem;
    border: 0.0625rem solid #222;
    border-radius: 1.875rem;
    padding: 0.5rem 0;
    margin: 0 auto 0.625rem; }
  .company .info dd {
    margin-bottom: 2.5rem; }
.company .border_area {
  max-width: 31.25rem;
  margin: 0 auto;
  border: 0.0625rem solid #222;
  box-sizing: border-box;
  padding: 1.875rem 2.8125rem;
  font-size: 1.25rem; }
  .company .border_area dt {
    border-bottom: 0.0625rem solid #222;
    padding-bottom: 0.75rem;
    margin-bottom: 0.75rem; }
.company .gmap iframe {
  width: 100%;
  height: 20rem;
  margin-top: 7.5rem; }

@media print, screen and (max-width: 768px) {
  .company .intro_img {
    height: 12.5rem;
    object-position: 40% center;
    margin-bottom: 2.5rem; }
  .company .txt_gray {
    margin-bottom: 1.5625rem; }
  .company .info {
    margin-bottom: 2.5rem;
    font-size: 1rem; }
    .company .info dt {
      max-width: 18.75rem;
      padding: 0.3125rem 0;
      margin: 0 auto 0.5rem; }
    .company .info dd {
      margin-bottom: 1.5625rem; }
  .company .border_area {
    padding: 1.25rem 5%;
    font-size: 1rem; }
    .company .border_area dt {
      padding-bottom: 0.625rem;
      margin-bottom: 0.625rem; }
  .company .gmap iframe {
    margin-top: 4.375rem; } }
/* =================================
Recruit 採用情報
================================= */
.recruit .txt_gray {
  margin-bottom: 3.75rem; }
.recruit .intro_flex_area {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 3.75rem; }
  .recruit .intro_flex_area img {
    width: 48%;
    max-width: 30rem; }
.recruit .intro {
  margin-bottom: 5rem; }
  .recruit .intro dt {
    margin-bottom: 1.875rem;
    font-size: 1.875rem; }
    .recruit .intro dt span {
      display: inline-block; }
  .recruit .intro dd {
    line-height: 2;
    font-size: 1.25rem; }
    .recruit .intro dd p {
      margin-bottom: 1em; }
      .recruit .intro dd p:last-of-type {
        margin-bottom: 0; }
.recruit .anchor_link {
  margin-top: -6.25rem;
  padding-top: 6.25rem;
  margin-bottom: 3.4375rem; }
  .recruit .anchor_link:last-child {
    margin-bottom: 0; }
.recruit .bg_b {
  position: relative;
  z-index: 0;
  padding: 3.75rem 1.875rem;
  background: #222;
  color: #fff; }
.recruit .default_area {
  position: relative; }
.recruit .circle {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0.0625rem solid #979797;
  border-radius: 50px;
  box-sizing: border-box;
  width: 6.25rem;
  height: 6.25rem;
  font-size: 3.5rem;
  font-family: "Poppins", sans-serif;
  color: #979797; }
.recruit h4 strong {
  font-size: 2.1875rem;
  display: inline-block;
  border-bottom: 0.125rem solid #fff;
  padding-bottom: 1.375rem;
  margin-bottom: 1.5625rem;
  line-height: 1; }
.recruit h4 span {
  color: #888;
  font-size: 1.25rem;
  font-family: "Poppins", sans-serif;
  letter-spacing: .1em;
  line-height: 1; }
.recruit .txt_vertical {
  top: 0;
  right: 1.875rem;
  bottom: 0;
  margin: auto;
  transition: all .2s ease-in;
  cursor: pointer;
  /*アコーディオン記述*/ }
  .recruit .txt_vertical.close {
    top: auto;
    bottom: 2.5rem; }
    .recruit .txt_vertical.close span:after {
      top: -1.5625rem;
      bottom: auto;
      transform: rotate(-45deg); }
.recruit .open_area {
  margin-top: 3.125rem;
  margin-bottom: 1.25rem;
  height: 0;
  /*アコーディオン記述*/
  overflow: hidden;
  /*アコーディオン記述*/
  transition: height 0.4s ease-out;
  /*アコーディオン記述*/
  display: none;
  /*アコーディオン記述*/ }
.recruit table {
  max-width: 760px;
  margin: 0 auto 3.4375rem;
  text-align: left;
  color: #fff; }
.recruit th, .recruit td {
  font-size: 0.9375rem;
  border-bottom: 0.0625rem solid #999;
  box-sizing: border-box;
  padding-top: 0.9375rem;
  padding-bottom: 0.9375rem; }
.recruit th {
  width: 15%; }
.recruit td {
  width: 85%;
  font-weight: 400; }

@media print, screen and (max-width: 768px) {
  .recruit .txt_gray {
    margin-bottom: 2.1875rem; }
  .recruit .intro_flex_area {
    margin-bottom: 2.8125rem;
    display: block;
    width: 100%; }
    .recruit .intro_flex_area img {
      width: 85%;
      max-width: 31.25rem;
      margin-bottom: 8%; }
      .recruit .intro_flex_area img:nth-of-type(even) {
        margin-left: auto;
        margin-right: 0; }
      .recruit .intro_flex_area img:last-of-type {
        margin-bottom: 0; }
  .recruit .intro {
    margin-bottom: 2.5rem; }
    .recruit .intro dt {
      margin-bottom: 1.875rem;
      font-size: 1.25rem; }
    .recruit .intro dd {
      display: inline-block;
      text-align: left;
      font-size: 1rem; }
  .recruit .anchor_link {
    margin-top: -3.125rem;
    padding-top: 3.125rem;
    margin-bottom: 1.875rem; }
  .recruit .bg_b {
    padding: 3.125rem 5%; }
  .recruit .circle {
    width: min(80px, 17vw);
    height: min(80px, 17vw);
    font-size: min(42px, 8.5vw); }
  .recruit h4 strong {
    font-size: 1.4375rem;
    padding-bottom: 0.9375rem;
    margin-bottom: 0.75rem; }
  .recruit h4 span {
    font-size: min(1rem, 4.2vw);
    line-height: 1.3; }
  .recruit .txt_vertical {
    right: 1.25rem;
    font-size: 1rem; }
    .recruit .txt_vertical.close {
      bottom: 1.5625rem; }
      .recruit .txt_vertical.close span:after {
        top: -1.125rem; }
  .recruit .open_area {
    margin-top: 1.875rem;
    margin-bottom: 0.625rem; }
  .recruit table {
    margin-bottom: 1.875rem; }
  .recruit th, .recruit td {
    font-size: 0.875rem;
    display: block;
    width: 100%; }
  .recruit th {
    border: 0;
    padding: 0;
    margin-bottom: 0.3125rem; }
  .recruit td {
    padding: 0 0 0.625rem;
    margin-bottom: 0.625rem; }
  .recruit tr:last-of-type td {
    margin-bottom: 0; } }
/* =================================
応募フォーム＆お問い合わせ 共通
================================= */
.form .intro {
  font-size: 1.4375rem;
  margin-bottom: 5rem; }
.form .bg_b {
  padding: 5.3125rem 0;
  background: #222;
  color: #fff; }
.form table {
  width: 90%;
  max-width: 47.5rem;
  margin: 0 auto;
  text-align: left; }
.form th, .form td {
  padding-bottom: 1.875rem;
  box-sizing: border-box; }
.form tr:last-of-type th, .form tr:last-of-type td {
  padding-bottom: 0; }
.form th {
  font-size: 0.9375rem;
  width: 31%;
  padding-right: 3%;
  vertical-align: top; }
  .form th span {
    border: 0.0625rem solid #fff;
    padding: 0 1.25rem;
    border-radius: 1.25rem; }
.form td {
  width: 66%;
  overflow-wrap: anywhere;
  font-weight: 400; }
.form label {
  display: flex;
  align-items: center;
  justify-content: space-between; }
.form input, .form select, .form textarea {
  width: 100%;
  background: #fff;
  line-height: inherit;
  font-size: 0.9375rem;
  font-style: normal;
  font-weight: 400;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  border: 0.0625rem solid #999;
  padding: 0.375rem 1.25rem;
  box-sizing: border-box;
  color: #222; }
.form input, .form select {
  max-width: 25rem; }
.form .w100 {
  max-width: none; }
.form .h200 {
  height: 200px; }
.form textarea {
  height: 10rem; }
.form .select_wrap {
  position: relative;
  width: 100%;
  max-width: 13.75rem; }
  .form .select_wrap:before {
    content: "";
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    border: 0.5rem solid transparent;
    border-top: 0.75rem solid #989898; }
.form select {
  color: #6c6c6c;
  -webkit-appearance: none;
  appearance: none; }
.form ::placeholder {
  color: #b0b0b0;
  font-size: 0.9375rem;
  font-weight: 400; }
.form .btn {
  margin-top: 5.3125rem; }
.form .back_btn {
  margin-top: 1.5625rem;
  padding: 0.625rem;
  background: 0;
  border: 0;
  border-bottom: 1px solid #fff;
  color: #fff;
  cursor: pointer;
  font-size: 0.9375rem;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif; }
  .form .back_btn:hover {
    text-decoration: none;
    opacity: .5;
    transition: all .2s ease-in; }
.form .sub_txt {
  font-size: 0.875rem;
  margin-top: 0.1875rem;
  color: #fff; }

@media print, screen and (max-width: 768px) {
  .form .intro {
    font-size: 1.125rem;
    margin-bottom: 2.5rem;
    text-align: left;
    display: inline-block; }
  .form .bg_b {
    padding: 2.1875rem 0 3.125rem; }
  .form th, .form td {
    display: block;
    width: 100%;
    padding-bottom: 1.5625rem; }
  .form th, .form tr:last-of-type th {
    padding-right: 0;
    padding-bottom: 0.75rem; }
  .form td {
    padding-bottom: 1.5625rem; }
  .form label {
    justify-content: flex-start; }
    .form label strong {
      margin-right: 0.625rem; }
  .form input, .form select, .form textarea {
    padding: 0.3125rem 0.9375rem; }
  .form .h200 {
    height: 420px; }
  .form textarea {
    height: 17.5rem; }
  .form .btn {
    margin-top: 2.5rem; }
  .form .send_btn {
    margin-top: 2.5rem; }
  .form .back_btn {
    margin-top: 0.9375rem;
    font-size: 0.875rem;
    cursor: pointer; }
  .form .intro_txt {
    display: inline-block;
    text-align: left; }
  .form .sub_txt {
    font-size: 0.8125rem; } }
/* =================================
応募フォーム＆お問い合わせ 確認画面
================================= */
.form.form_confirm .inner {
  padding-top: 4.375rem; }
.form.form_confirm p {
  margin-bottom: 3.125rem;
  font-size: 1.25rem; }
.form.form_confirm th, .form.form_confirm td {
  padding-top: 1.5625rem;
  padding-bottom: 1.5625rem;
  border-bottom: 0.0625rem solid #b0b0b0; }
.form.form_confirm tr:first-of-type th, .form.form_confirm tr:first-of-type td {
  padding-top: 0; }
.form.form_confirm tr:last-of-type th, .form.form_confirm tr:last-of-type td {
  padding-bottom: 1.5625rem; }
.form.form_confirm th {
  padding-left: 1.5625rem;
  width: 30%; }
.form.form_confirm td {
  padding-right: 1.5625rem;
  width: 70%; }

@media print, screen and (max-width: 768px) {
  .form.form_confirm .inner {
    padding-top: 2.5rem; }
  .form.form_confirm p {
    margin-bottom: 1.875rem;
    font-size: 1rem; }
  .form.form_confirm th, .form.form_confirm td {
    display: block;
    width: 100%;
    padding-left: 0;
    padding-right: 0; }
  .form.form_confirm th, .form.form_confirm tr:last-of-type th {
    padding-top: 1.25rem;
    padding-bottom: 0;
    border: 0; }
  .form.form_confirm td, .form.form_confirm tr:last-of-type td {
    padding-top: 0.3125rem;
    padding-bottom: 1.25rem; } }
/* =================================
応募フォーム＆お問い合わせ 完了画面
================================= */
.form.form_complete .inner {
  padding-top: 4.375rem; }
.form.form_complete p {
  font-size: 1.25rem;
  margin-bottom: 1em; }
  .form.form_complete p:last-of-type {
    margin-bottom: 0; }
.form.form_complete .btn {
  border-color: #222;
  color: inherit; }

@media print, screen and (max-width: 768px) {
  .form.form_complete .inner {
    padding-top: 2.5rem; }
    .form.form_complete .inner > div {
      text-align: left;
      display: inline-block; }
  .form.form_complete p {
    font-size: 1rem; } }
/* =================================
新着情報
================================= */
.news .inner {
  max-width: 43.75rem; }
.news .intro_tit {
  display: inline-block;
  text-align: left; }
.news .intro_sub_txt {
  text-align: left;
  margin-top: 0; }
.news img {
  margin-top: 3.75rem; }
