@charset "UTF-8";
/* =====================================================
  共通
--------------------------------------------------*/
header.site-header {
  border-bottom: 2px solid #1E1E1E;
}

/* ▼ 764px以上だったら */
@media (min-width: 764px) {
  header.lowerlayer {
    margin: 0 0 94px;
  }
}
.pageHead {
  margin: 0 0 20px;
}

.pageHead h2 {
  font-size: 24px;
  font-weight: 700;
}

.pageHead p {
  font-size: 16px;
  font-weight: 700;
}

.pageHead .topP {
  font-family: "Quicksand", sans-serif;
}

/* ▼ 764px以上だったら */
@media (min-width: 764px) {
  .pageHead h2 {
    display: inline;
    margin: 0 25px 0 0;
    font-size: 48px;
  }
  .pageHead .topP {
    font-size: 40px;
  }
  .pageHead .bottmP {
    display: inline;
    font-size: 30px;
  }
}
.localFooter {
  padding: 23px 0 0;
  margin: 23px 0 0;
  border-top: 2px solid #1E1E1E;
}
.localFooter ul li {
  margin: 0 0 15px;
}
.localFooter ul li:last-child {
  margin: 0;
}

/* ▼ 764px以上だったら */
@media (min-width: 764px) {
  .localFooter {
    padding: 60px 0 0;
    margin: 50px 0 0;
  }
  .localFooter ul {
    display: flex;
    flex-wrap: wrap;
    gap: 54px;
  }
  .localFooter ul li {
    flex-basis: calc(50% - 27px); /* 2列 */
  }
}
/* ▼ 764px以上1280px以下だった */
@media screen and (min-width: 764px) and (max-width: 1280px) {
  /*header.site-header{
     margin: 0 38px 0 38px !important;
     padding: 40px 0 15px 0 !important;
   }
   main{
     padding: 20px 38px 40px 38px !important;
   }*/
  .wrapper {
    padding: 0 38px 0 38px;
  }
}
/* --------------------------------------------------
  共通  END
=====================================================*/
/* =====================================================
   main 
--------------------------------------------------*/
.pageHead {
  margin: 0 0 20px;
}
.pageHead h2 {
  font-size: 24px;
  font-weight: 700;
  font-family: "Quicksand", "Zen Maru Gothic", sans-serif;
}
.pageHead p {
  font-size: 16px;
  font-weight: 700;
}

.pageHead > p:first-of-type {
  font-family: "Quicksand", "Zen Maru Gothic", sans-serif;
}

main {
  padding: 20px 36px 40px;
}
main .bannerGroup {
  background: #000;
  text-align: center;
  border-radius: 5px;
  padding: 27px 30px;
  margin: 0 0 30px;
}
main .bannerGroup img {
  margin: 0 auto 30px;
  max-width: 558px;
  width: 100%;
  height: auto;
}
main .bannerGroup p {
  color: #FFF;
  font-family: "Inter", sans-serif;
  font-size: 16px;
}
main .box {
  margin: 0 0 60px;
}
main .box h3 {
  display: flex;
  align-items: center;
  font-size: 16px;
  font-weight: 700;
  font-family: "Quicksand", "Zen Maru Gothic", sans-serif;
  margin: 0 0 20px;
}
main .box h3::after {
  display: block;
  content: "";
  width: 100%;
  height: 2px;
  background: #1E1E1E;
  flex: 1;
  margin: 0 0 0 10px;
}
main .box p {
  margin: 0 0 30px;
}
main .box .bottomP {
  margin: 0 0 50px;
}
main .box .career {
  margin: 0 0 20px;
}
main .box .career h4 {
  font-size: 16px;
  font-weight: 700;
}
main .box .conditions {
  padding: 0 0 0 20px;
}
main .box .conditions h5 {
  font-weight: 500;
}
main .box .conditions ul {
  margin: 0 0 30px;
}
main .box .conditions ul li {
  display: flex;
  align-items: baseline;
}
main .box .conditions ul li::before {
  content: "・";
}
main .entry_btn h3 {
  display: flex;
  align-items: center;
  font-size: 16px;
  font-weight: 700;
  font-family: "Quicksand", "Zen Maru Gothic", sans-serif;
  margin: 0 0 20px;
}
main .entry_btn h3::after {
  display: block;
  content: "";
  width: 100%;
  height: 2px;
  background: #1E1E1E;
  flex: 1;
  margin: 0 0 0 10px;
}
main .entry_btn ul li {
  margin: 0 0 14px;
}
main .entry_btn .btn_link {
  font-size: 20px;
  font-family: "Zen Maru Gothic", sans-serif;
  padding: 23px 10px 23px;
}

/* ▼ 764px以上だったら */
@media (min-width: 764px) {
  .pageHead {
    margin: 0 0 60px;
  }
  .pageHead h2 {
    display: block;
    margin: 0 25px 0 0;
    font-size: 40px;
  }
  .pageHead > p:first-of-type {
    font-size: 40px;
  }
  .pageHead > p:last-of-type {
    display: inline;
    font-size: 48px;
  }
  main {
    padding: 55px 0 60px;
  }
  main .box {
    margin: 0 0 55px;
  }
  main .box h3 {
    font-size: 40px;
  }
  main .box p {
    font-size: 30px;
    margin: 0 0 80px;
  }
  main .box .bottomP {
    margin: 0 0 100px;
  }
  main .box .career {
    display: flex;
    gap: 30px;
  }
  main .box .career h4 {
    font-size: 30px;
  }
  main .box .conditions h5 {
    font-size: 30px;
  }
  main .box .conditions ul li {
    font-size: 30px;
  }
  main .entry_btn h3 {
    font-size: 40px;
  }
  main .entry_btn ul {
    display: flex;
    gap: 43px;
  }
  main .entry_btn ul li {
    flex: 1;
  }
}

/* --------------------------------------------------
   main END
=====================================================*/

/* =====================================================
  Recruit - Coming Soon
--------------------------------------------------*/
.comingSoonBox {
  text-align: center;
}
.comingSoonHeading {
  margin: 0 0 14px;
  font-size: 22px;
  font-weight: 700;
  font-family: "Quicksand", "Zen Maru Gothic", sans-serif;
}
.comingSoonMedia {
  margin: 0 auto;
}
.comingSoonImg {
  display: block;
  width: 100%;
  max-width: 560px;
  height: auto;
  margin: 0 auto;
}
.comingSoonText {
  margin: 14px 0 0;
  font-size: 16px;
  font-weight: 700;
}
.comingSoonActions {
  margin-top: 18px;
}

/* ▼ 764px以上だったら */
@media (min-width: 764px) {
  .pageHead h2 {
    font-size: 40px;
  }
  .pageHead .bottomP {
    display: block;
    font-size: 48px;
    line-height: 1.3;
  }

  main {
    padding: 55px 0 100px;
  }

  .localFooter {
    padding: 60px 0 0;
    margin: 50px 0 0;
  }
  .localFooter ul {
    display: flex;
    flex-wrap: wrap;
    gap: 54px;
  }
  .localFooter ul li {
    flex-basis: calc(50% - 27px);
    margin: 0;
  }

  .contactStep--details {
    padding-top: 26px;
    margin-top: 10px;
  }
  .contactStepText {
    font-size: 24px;
    margin: 0 0 14px;
  }

  .contactBox {
    padding: 28px 0px;
  }
  .contactBox h3 {
    font-size: 30px;
    margin: 0 0 22px;
  }

  /* PC：ラベル左／入力右の2カラム */
  .formRow {
    grid-template-columns: 220px 1fr;
    column-gap: 18px;
    row-gap: 0;
    align-items: center;
  }
  .formRow label {
    margin: 0;
    text-align: right;
  }

  /* 複数行になりやすい項目は上揃え */
  .formRow:has(textarea) {
    align-items: start;
  }
  .formRow textarea {
    margin-top: 2px;
  }

  /* 同意チェックは1カラムのまま */
  .formRow.checkboxRow {
    grid-template-columns: 1fr;
  }
  /* ラジオボタンも2カラムレイアウトに合わせる */
  .formRow--radio {
    grid-template-columns: 220px 1fr;
    column-gap: 18px;
    row-gap: 0;
    align-items: start;
  }
  .formRow--radio .radioGroup {
    grid-column: 2;
  }
  .formRow label {
    font-size: 16px;
  }
  .contactForm input[type="text"],
  .contactForm input[type="email"],
  .contactForm input[type="tel"],
  .contactForm select,
  .contactForm textarea {
    font-size: 18px;
    padding: 12px 14px;
  }

  .radioLabel span {
    font-size: 18px;
  }
  .radioLabel input[type="radio"] {
    width: 22px;
    height: 22px;
  }

  .comingSoonHeading {
    margin-bottom: 18px;
    font-size: 30px;
  }
  .comingSoonText {
    margin-top: 18px;
    font-size: 18px;
  }
  .comingSoonActions {
    margin-top: 22px;
  }
}

/* --------------------------------------------------
   recruit coming soon END
=====================================================*/
