/* フォント */
* {
  color: #151414;
  font-family: Noto Sans JP, -apple-system, blinkmacsystemfont, Segoe UI, Hiragino Kaku Gothic ProN, BIZ UDPGothic, meiryo, sans-serif;
}

/*基準を1rem=10pxに設定*/
/* html {
    font-size: 100%;
} */

/*最小値:1.1rem → 可変（0.9rem + 0.625vw（画面幅320px:2px, 800px:5px, 1200px:7.5px））→ 最大値:1.6rem*/
.font-size-S {
    font-size: clamp(1.1rem, calc(0.9rem + 0.625vw), 1.6rem);
}

/*最小値:1.2rem → 可変（1rem + 0.625vw（画面幅320px:2px, 800px:5px, 1200px:7.5px））→ 最大値:1.7rem*/
.font-size-M {
    font-size: clamp(1.2rem, calc(1rem + 0.625vw), 1.7rem);
}

/*最小値:1.6rem → 可変（2.2rem + 0.625vw（画面幅320px:2px, 800px:5px, 1200px:7.5px））→ 最大値:2.9rem*/
.font-size-L {
    font-size: clamp(2.4rem, calc(2.2rem + 0.625vw), 2.9rem);
}


/* 基本パーツ */

body {
  margin: 0;
}

.header_inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 90rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.header_content {
  display: flex;
  height: 5rem;
  align-items: center;
  gap: 5rem;
}

.header-logo {
  margin: 0;
  padding: 1rem .5rem;
  font-size: 2rem;
}

.header-logo a {
  margin: 0;
  padding: 0;
}

.header-logo_image {
  height: 3rem;
  vertical-align: middle;
}

.header_nav {
  align-items: center;
  display: flex;
  gap: .5rem;
}

.header-menu {
  display: flex;
  gap: 3rem;
}

nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer_inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 90rem;
  padding-left: 3rem;
  padding-right: 3rem;
}

.footer_content {
  display: flex;
  align-items: center;
  gap: 2rem;
  font-size: 0.8rem;
  padding-bottom: 2rem;
}

.footer_content p.footer-copyright {
  margin: 0;
  color: #959494;
}

.footer_content .footer-nav a {
  color: #959494;
}


/* top page */

body.top-bg {
  background-image: url("../img/bizright_logo_bg.svg");
  background-repeat: no-repeat;
  background-position-x: center;
  background-size: auto 100vh;
}

main.top-page {
  height: 83vh;
}

main.top-page .top-copy {
  margin-left: auto;
  margin-right: auto;
  max-width: 65rem;
}

main.top-page .top-copy p {
  margin: 0;
  padding-left: 2rem;
  padding-top: 30vh;
  font-size: 3.6rem;
  font-weight: bold;
}


/* normal page */

main.normal-page section {
  margin-bottom: 4rem;
  margin-left: auto;
  margin-right: auto;
  max-width: 90rem;
  padding-left: 3rem;
  padding-right: 3rem;
}

main.normal-page h1 {
  font-size: 3.2rem;
}

main.normal-page h2 {
  font-size: 2.4rem;
  margin-top: 4rem;
}

main.normal-page .business-content h2 {
  font-size: 2rem;
}

main.normal-page dl {
  padding-left: 4rem;
  padding-right: 4rem;
  line-height: 1.8rem;
}

main.normal-page .campany-profile_row {
  display: flex;
  gap: 2rem;
  padding-top: 1.6rem;
  padding-bottom: 1.6rem;
  border-bottom: solid 1px #b5b4b4;
}

main.normal-page .history-timeline_row {
  display: flex;
  gap: 2rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  border-bottom: solid 1px #b5b4b4;
}

main.normal-page dt {
  width: 16vw;
  flex-shrink: 0;
  font-weight: bold;
  padding: 0 0.5rem;
}

main.normal-page dd {
  margin: 0;
  padding: 0 0.5rem;
}

main.normal-page dd ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

main.normal-page dl dd dl.company-profile-officer {
  padding: 0;
}

main.normal-page dl dd dl.company-profile-officer .company-profile-officer_row {
  display: flex;
  gap: 2rem;
  padding: 0;
}

main.normal-page dl dd dl.company-profile-officer .company-profile-officer_row dt {
  width: 7rem;
  flex-shrink: 0;
  font-weight: normal;
  padding: 0;
}

main.normal-page .profile-notice {
  padding-left: 4.4rem;
  padding-right: 4.4rem;
  line-height: 1.8rem;
  font-size: 0.8rem;
  color: #959494;
  /* text-align: right; */
}

main.normal-page .business-content-body {
  padding-left: 4rem;
  padding-right: 4rem;
}


main.normal-page .recruitment-notes,
main.normal-page .entry-notes {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

main.normal-page .recruitment-requirements_row {
  display: flex;
  gap: 2rem;
  padding-top: 1.6rem;
  padding-bottom: 1.6rem;
  border-bottom: solid 1px #b5b4b4;
}

main.normal-page form.entry-form {
  padding-left: 4rem;
  padding-right: 4rem;
  line-height: 1.8rem;
}

main.normal-page .entry-form_row {
  display: flex;
  gap: 2rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

main.normal-page .entry-form_row label {
  width: 16vw;
  flex-shrink: 0;
  font-weight: bold;
  padding: 0 0.5rem;
}

main.normal-page .entry-form_row input {
  width: 100%;
  padding: 0.5rem;
  font-size: 1.1rem;
  box-sizing: border-box;
}
main.normal-page .entry-form_row textarea {
  width: 100%;
  padding: 0.5rem;
  font-size: 1.1rem;
  box-sizing: border-box;
}
main.normal-page form.entry-form input[type="submit"] {
  width: 10rem;
  height: 3rem;
  font-size: 1rem;
}

main.normal-page .privacy-policy-body {
  padding-left: 4rem;
  padding-right: 4rem;
  line-height: 1.8rem;
}

.no-margin-top {
  margin-top: 0;
}
.no-margin-bottom {
  margin-bottom: 0;
}

main.normal-page .privacy-policy-footer .privacy-policy-signature {
  padding-left: 4rem;
  padding-right: 4rem;
  line-height: 2rem;
  margin-bottom: 3rem;
}

main.normal-page .privacy-policy-footer dl {
  padding-left: 4rem;
  padding-right: 4rem;
}
main.normal-page .privacy-policy-footer dl dt {
  padding-left: 0;
  padding-right: 0;
  width: 100%;
  margin-bottom: 0.5rem;
}
main.normal-page .privacy-policy-footer dl dd {
  padding-left: 0;
  padding-right: 0;
  width: 100%;
}



/* メディアクエリー */

@media screen and (max-width: 700px){
  .header_content {
    flex-direction: column;
    row-gap: 0;
    align-items: stretch;
    height: 120px;
  }
  .header-logo {
    padding: 1rem 0;
  }
  .header_nav {
    margin-left: auto;
  }

  .footer_inner {
    max-width: 90rem;
    padding-left: 1.6rem;
    padding-right: 1.6rem;
  }
  .footer_content {
    flex-direction: column-reverse;
    row-gap: 1rem;
    align-items: stretch;
  }

  main.top-page {
    height: 76vh;
  }
  main.top-page .top-copy p {
    writing-mode: vertical-rl;
    margin: 0;
    padding-left: 15vw;
    padding-top: 12vh;
    font-size: 3.2rem;
    font-weight: bold;
  }

  main.normal-page section {
    max-width: 90rem;
    padding-left: 1.6rem;
    padding-right: 1.6rem;
  }

  main.normal-page dt {
    width: 100%;
  }
  main.normal-page dl {
    padding-left: 0;
    padding-right: 0;
  }

  main.normal-page .campany-profile_row {
    flex-direction: column;
    gap: 0rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  main.normal-page .profile-notice {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  main.normal-page .history-timeline_row {
    flex-direction: column;
    gap: 0rem;
  }

  main.normal-page .business-content-body {
    padding-left: 0;
    padding-right: 0;
  }

  main.normal-page .recruitment-requirements_row {
    flex-direction: column;
    gap: 0rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  main.normal-page form.entry-form {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  main.normal-page .entry-form_row {
    flex-direction: column;
    gap: 0rem;
    padding-top: 0;
    padding-bottom: 1rem;
  }

  main.normal-page .entry-form_row label {
    width: 100%;
    padding: 0;
    margin-bottom: 0.5rem;
  }

  main.normal-page .privacy-policy-body {
    padding-left: 0;
    padding-right: 0;
  }
  main.normal-page .privacy-policy-footer .privacy-policy-signature {
    padding-left: 0;
    padding-right: 0;
  }
  main.normal-page .privacy-policy-footer dl {
    padding-left: 0;
    padding-right: 0;
  }

}