@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@900&display=swap");
@media screen and (min-width: 801px) {
  .sp-only {
    display: none;
  }
}

.responsive-small {
  display: none;
}
@media screen and (min-width: 1001px) {
  .responsive-small {
    display: unset;
  }
}

.responsive-mid {
  display: none;
}
@media screen and (min-width: 1201px) {
  .responsive-mid {
    display: unset;
  }
}

.responsive-wide {
  display: none;
}
@media screen and (min-width: 1501px) {
  .responsive-wide {
    display: unset;
  }
}

.responsive-xl {
  display: none;
}
@media screen and (min-width: 1921px) {
  .responsive-xl {
    display: unset;
  }
}

.no-sp {
  display: none;
}
@media screen and (min-width: 801px) {
  .no-sp {
    display: unset;
  }
}

.no-sp-small {
  display: none;
}
@media screen and (min-width: 1001px) {
  .no-sp-small {
    display: unset;
  }
}

.no-sp-small-mid {
  display: none;
}
@media screen and (min-width: 1201px) {
  .no-sp-small-mid {
    display: unset;
  }
}

.no-sp-small-mid-wide {
  display: none;
}
@media screen and (min-width: 1501px) {
  .no-sp-small-mid-wide {
    display: unset;
  }
}

.xl-only {
  display: none;
}
@media screen and (min-width: 1921px) {
  .xl-only {
    display: unset;
  }
}

@font-face {
  font-family: hamburgHand;
  font-weight: bold;
  src: url(../assets/fonts/HamburgHand-Bold.otf) format("opentype");
}
@font-face {
  font-family: hamburgHandReg;
  font-weight: 400;
  src: url(../assets/fonts/HamburgHand-Regular.otf) format("opentype");
}
.f-hamb-reg {
  font-family: hamburgHandReg !important;
  font-weight: 400;
}

.f-hamb {
  font-family: hamburgHand !important;
  font-weight: bold;
}

.f-source-b {
  font-family: "source-han-sans-japanese", sans-serif !important;
  font-weight: 700;
}

.f-source-reg {
  font-family: "source-han-sans-japanese", sans-serif !important;
  font-weight: 400;
}

.f-source-med {
  font-family: "source-han-sans-japanese", sans-serif !important;
  font-weight: 500;
}

.f-yumin-exb {
  font-family: YuMincho, "YuMincho", "Yu Mincho", "Noto Serif JP", serif !important;
  font-weight: 900;
}

a:link,
a:visited,
a:hover,
a:active,
a {
  text-decoration: none !important;
  color: inherit;
}

a:hover {
  opacity: 0.7;
}

h1,
.h1-like {
  font-family: hamburgHand !important;
  font-weight: bold;
  font-size: clamp(4rem, 8vw, 11.6rem);
  font-weight: 700;
  line-height: 110%;
}

h2,
.h2-like {
  font-family: hamburgHand !important;
  font-weight: bold;
  font-size: clamp(4rem, 7vw, 11.6rem);
  font-weight: 700;
  line-height: 110%;
  letter-spacing: 0.1em;
}

h3,
.h3-like {
  font-size: clamp(2.4rem, 3vw, 5rem);
  line-height: 170%;
  font-weight: 700;
  letter-spacing: 0.1em;
}

h4,
.h4-like {
  font-size: clamp(2rem, 2vw, 3rem);
  font-weight: 700;
}

.p-36 {
  font-size: clamp(2.4rem, 3.5vw, 3.6rem);
}

.p-small {
  font-size: clamp(1rem, 2vw, 1.1rem);
}

.p-bold {
  font-weight: bold;
}

@media screen and (min-width: 801px) {
  section.recruit-landing .landing-img {
    margin-top: 0;
    top: 0;
    right: 0;
    width: calc(62.5vw + clamp(40px, 5vw, 80px));
    height: 100%;
  }
}
@media screen and (min-width: 1601px) {
  section.recruit-landing .landing-img {
    width: calc(100vw - 410px);
  }
}

section.talent {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding-left: 8vw;
  margin: clamp(50px, 10vw, 190px) auto 0;
}
section.talent .text-container {
  width: 100%;
  max-width: 692px;
  margin: 0 auto;
}
section.talent .text-container h2.line-title {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.5em;
  color: #121212;
}
section.talent .text-container h2.line-title::after {
  content: "";
  display: block;
  height: 2px;
  width: clamp(165px, 40vw, 330px);
  background-color: rgba(29, 159, 90, 0.6);
}
section.talent .text-container h2, section.talent .text-container h4 {
  font-family: "source-han-sans-japanese", sans-serif !important;
  font-weight: 500;
}
section.talent .text-container h4, section.talent .text-container p {
  padding-right: 8vw;
}
section.talent .text-container h4 {
  font-size: clamp(2rem, 2vw, 2.4rem);
  margin-bottom: 1em;
  line-height: 150%;
}
section.talent .text-container p .block-break {
  display: inline;
}
@media screen and (min-width: 801px) {
  section.talent {
    background-color: #F4F4F4;
    background-image: url(../img/recruit/talent-bg.svg);
    background-position: left top;
    background-repeat: no-repeat;
    background-size: auto 100%;
    padding: 70px clamp(50px, 8vw, 190px) 120px;
  }
  section.talent .text-container {
    text-align: center;
  }
  section.talent .text-container h4, section.talent .text-container p {
    padding-right: unset;
  }
  section.talent .text-container h4 {
    line-height: 180%;
  }
  section.talent .text-container p {
    line-height: 220%;
    letter-spacing: 0;
  }
  section.talent .text-container p .block-break {
    display: inline-block;
  }
  section.talent .text-container h2.line-title {
    display: block;
    margin-bottom: 1.2em;
  }
  section.talent .text-container h2.line-title::after {
    display: none;
  }
}

section.recruit {
  width: 85%;
  max-width: 1265px;
  margin: clamp(80px, 15vw, 200px) auto 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
section.recruit h3 {
  margin-bottom: 1em;
}
section.recruit .btn-row {
  width: 100%;
  align-items: center;
  justify-content: space-evenly;
  flex-wrap: wrap;
  margin: 0 auto clamp(40px, 8vw, 80px);
}
section.recruit .btn-row button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  appearance: none;
  background-color: unset;
  border: 2px solid #3A9366;
  box-sizing: border-box;
  width: clamp(250px, 50vw, 370px);
  max-width: 100%;
  height: clamp(63px, 10vw, 84px);
  color: #3A9366;
  cursor: pointer;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: bold;
  line-height: 100%;
  text-align: center;
  margin: 5px;
}
section.recruit .btn-row button:hover {
  opacity: 0.8;
}
section.recruit .btn-row button.active-btn {
  background-color: #3A9366;
  color: #ffffff;
  pointer-events: none;
}
section.recruit .btn-row button.active-btn:hover {
  opacity: 1;
}
section.recruit .btn-row button .annotation {
  display: block;
  font-size: 75%;
  margin-top: 0.5em;
}
section.recruit .recruit-container {
  width: 100%;
}
section.recruit .recruit-container .recruit-area {
  width: 100%;
  margin-bottom: clamp(40px, 8vw, 80px);
}
section.recruit .recruit-container .recruit-area .recruit-row {
  display: flex;
  width: 100%;
  border-bottom: 1px solid #CCCCCC;
  border-left: 1px solid #CCCCCC;
  border-right: 1px solid #CCCCCC;
  font-size: 16px;
}
section.recruit .recruit-container .recruit-area .recruit-row:first-child {
  border-top: 1px solid #CCCCCC;
}
section.recruit .recruit-container .recruit-area .recruit-row .table-title,
section.recruit .recruit-container .recruit-area .recruit-row .table-content {
  box-sizing: border-box;
  color: #707070;
}
section.recruit .recruit-container .recruit-area .recruit-row .table-title {
  width: 36%;
  min-width: 36%;
  padding: 1em;
  background-color: #F7F7F7;
  text-align: center;
}
section.recruit .recruit-container .recruit-area .recruit-row .table-content {
  padding: 1em 0.5em;
  border-left: 1px solid #CCCCCC;
}
section.recruit .recruit-container .recruit-area {
  display: none;
}
section.recruit .recruit-container.recruit1 .recruit-type-1 {
  display: block;
}
section.recruit .recruit-container.recruit2 .recruit-type-2 {
  display: block;
}
section.recruit .recruit-container.recruit3 .recruit-type-3 {
  display: block;
}
@media screen and (min-width: 801px) {
  section.recruit h3 {
    margin-bottom: 2em;
  }
  section.recruit .recruit-container .recruit-area .recruit-row .table-title {
    width: 27%;
    min-width: 27%;
    padding: 2em;
  }
  section.recruit .recruit-container .recruit-area .recruit-row .table-content {
    padding: 2em 3em;
  }
}

section.entry {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 90px auto 0 auto;
}
section.entry h3 {
  margin-bottom: 1.5em;
}
section.entry .entry-form {
  width: 68%;
  max-width: 780px;
}
section.entry .entry-form .form-row {
  width: 100%;
  font-size: clamp(16px, 2vw, 20px);
  padding: 0.5em 0;
  font-weight: 500;
  color: #5D5D5D;
}
section.entry .entry-form .form-row .form-title p {
  width: 100%;
  margin-bottom: 0.6em;
}
section.entry .entry-form .form-row .form-title.required p:after {
  content: "【必須】";
  color: #FF0000;
}
section.entry .entry-form .form-row .form-input {
  width: 100%;
}
section.entry .entry-form .form-row .form-input p {
  width: 100%;
}
section.entry .entry-form .form-row .form-input p input[type=text],
section.entry .entry-form .form-row .form-input p input[type=email],
section.entry .entry-form .form-row .form-input p input[type=tel],
section.entry .entry-form .form-row .form-input p textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 0.5em;
  color: #BABABA;
  border: 1px solid #707070;
  font-size: clamp(13px, 2vw, 20px);
}
section.entry .entry-form .form-row .form-input p input[type=text]:focus,
section.entry .entry-form .form-row .form-input p input[type=email]:focus,
section.entry .entry-form .form-row .form-input p input[type=tel]:focus,
section.entry .entry-form .form-row .form-input p textarea:focus {
  color: #5D5D5D;
  outline: 2px solid #3A9366;
  border: unset;
}
section.entry .entry-form .form-row .form-input p textarea {
  height: clamp(250px, 40vw, 450px);
}
section.entry .entry-form .form-row .form-input.radio-input {
  align-items: center;
}
section.entry .entry-form .form-row .form-input.radio-input input[type=radio] {
  margin-right: 0.5em;
}
section.entry .entry-form .form-row .form-input.radio-input .wpcf7-list-item.first {
  margin-left: 0;
}
@media screen and (min-width: 801px) {
  section.entry .entry-form .form-row {
    display: flex;
  }
  section.entry .entry-form .form-row .form-title {
    min-width: 40%;
    width: 40%;
    margin: 0;
    box-sizing: border-box;
    padding: 0.5em 1em 0.5em 0;
    vertical-align: top;
    line-height: 100%;
  }
}

.submit-container {
  display: flex;
  align-items: center;
  text-align: center;
  margin: clamp(32px, 8vw, 120px) auto 0;
}
.submit-container p {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: fit-content;
  margin: 0 auto;
}

.submit-btn {
  appearance: unset;
  background-color: #3A9366;
  color: #ffffff;
  border: unset;
  text-align: center;
  padding: 1em 3em;
  line-height: 100%;
  font-size: clamp(16px, 2vw, 20px);
  cursor: pointer;
}
.submit-btn:hover {
  opacity: 0.7;
}

/*# sourceMappingURL=recruit.css.map */
