@charset "UTF-8";
.g-recaptcha {
  display: flex;
  justify-content: center;
  margin:50px 0 50px 0;
}

.logowrap {
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 1;
  left: 2vw;
  /*左からの配置場所*/ }
  .logowrap p {
    font-size: 0.8rem;
    margin: 0; }
  .logowrap h1 {
    margin: 0; }
    .logowrap h1 img {
      width: 350px; }

.keyvisual img {
  width: 100%; }

.bizinfo {
  padding: 4vw 8vw; }

.kv-video {
  position: relative;
  width: 100%;
  height: 500px;
  overflow: hidden; }
  .kv-video video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block; }
  .kv-video .overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1; }
  .kv-video .text {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    color: #fff;
    max-width: 40%;
    padding: 0 20px; }
    .kv-video .text h3 {
      font-size: 2.7rem;
      line-height: 1.4;
      font-weight: 800;
      margin-bottom: 0.5em; }
      .kv-video .text h3 .first-letter {
        font-size: 4rem;
        line-height: 1;
        padding-right: 5px; }
    .kv-video .text p {
      font-size: 1.2rem; }
  .kv-video.video-block-left .text {
    left: 8%;
    text-align: left; }
  .kv-video.video-block-right .text {
    right: 8%;
    text-align: left; }

.video-block-right img {
  width: 100%;
  object-fit: cover; }

@media screen and (max-width: 768px) {
  .text {
    max-width: 100% !important; }

  .kv-video.video-block-right .text {
    left: 5%; }

  .kv-video.video-block-left .text {
    left: 5%; }

  .kv-video {
    height: 350px; } }
.logo-kazari {
  padding-bottom: 0; }

.company-overview {
  background: #f9f9f9;
  padding: 80px 20px; }
  .company-overview .container {
    max-width: 960px;
    margin: 0 auto; }
  .company-overview .overview-content dl {
    display: grid;
    grid-template-columns: 1fr 4fr;
    gap: 10px 40px; }
    .company-overview .overview-content dl div {
      display: contents; }
    .company-overview .overview-content dl dt {
      font-weight: 500;
      color: #333;
      font-size: 1.1rem;
      line-height: 1.6;
      border-bottom: 2px solid #ccc;
      padding: 1.2rem 1rem; }
    .company-overview .overview-content dl dd {
      margin: 0;
      color: #555;
      font-size: 1.1rem;
      line-height: 1.6;
      border-bottom: 1px solid #ccc;
      padding: 1.2rem 1rem; }
  @media (max-width: 768px) {
    .company-overview .overview-content dl {
      grid-template-columns: 1fr;
      gap: 0; }
      .company-overview .overview-content dl dt {
        border-bottom: none;
        border-top: 1px solid #ccc;
        padding: 1rem 1rem 0.5rem; }
      .company-overview .overview-content dl dd {
        border-bottom: 1px solid #ccc;
        padding: 0.2rem 1rem 1rem; } }

footer img {
  max-width: 400px; }
footer p {
  font-size: 1.2rem;
  line-height: 1.3;
  letter-spacing: 2px; }
footer .tel {
  font-size: 2rem;
  font-weight: 900; }

.copyright {
  background: #494949;
  text-align: center;
  color: #fff;
  margin: 0;
  padding: 5px; }

.recruit-section {
  background: linear-gradient(to right, #f8f8f8, #f0f0f0);
  padding: 80px 20px;
  text-align: center; }
  .recruit-section .container {
    max-width: 960px;
    margin: 0 auto; }
  .recruit-section h2 {
    font-size: 2rem;
    font-weight: 700;
    color: #333;
    margin-bottom: 1rem; }
  .recruit-section .lead {
    font-size: 1rem;
    color: #666;
    line-height: 1.8;
    margin-bottom: 2rem; }
  .recruit-section .recruit-btn {
    display: inline-block;
    padding: 12px 32px;
    border: 1px solid #333;
    color: #333;
    text-decoration: none;
    font-weight: 600;
    border-radius: 50px;
    transition: all 0.3s ease; }
    .recruit-section .recruit-btn:hover {
      background: #333;
      color: #fff; }
  @media (max-width: 768px) {
    .recruit-section .lead br.pc-only {
      display: none; } }

.recruit p {
  text-align: center;
  margin-bottom: 50px; }

.mobfooter {
  text-align: center; }
  .mobfooter img {
    width: 300px; }

.contactwrap {
  padding: clamp(24px, 4vw, 48px);
  background: #fff; }
  .contactwrap .c {
    text-align: center; }

.formTable {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  border-collapse: collapse;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  overflow: hidden;
  font-size: 18px; }
  .formTable tr {
    border-bottom: 1px solid #e5e7eb; }
    .formTable tr:last-child {
      border-bottom: 0; }
  .formTable th, .formTable td {
    padding: 16px clamp(12px, 2.5vw, 20px);
    vertical-align: middle; }
  .formTable th {
    width: 220px;
    background: #fafafa;
    text-align: left;
    font-weight: 600;
    color: #555; }
  .formTable input[type="text"],
  .formTable input[type="email"],
  .formTable textarea {
    width: 100%;
    max-width: 640px;
    font: inherit;
    color: #333;
    padding: 10px 12px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #fff;
    transition: border-color .2s, box-shadow .2s, background-color .2s; }
    .formTable input[type="text"]:focus,
    .formTable input[type="email"]:focus,
    .formTable textarea:focus {
      outline: none;
      border-color: #0d6efd;
      box-shadow: 0 0 0 4px rgba(13, 110, 253, 0.12);
      background: #fff; }
  .formTable textarea {
    min-height: 140px;
    resize: vertical; }

.contactwrap p[align="center"] {
  margin: 18px 0 0;
  text-align: center; }
  .contactwrap p[align="center"] input[type="submit"],
  .contactwrap p[align="center"] input[type="reset"] {
    appearance: none;
    border: 1px solid transparent;
    border-radius: 999px;
    padding: 10px 20px;
    font: inherit;
    cursor: pointer;
    transition: transform .06s ease, box-shadow .2s, background-color .2s; }
  .contactwrap p[align="center"] input[type="submit"] {
    background: #0d6efd;
    color: #fff; }
    .contactwrap p[align="center"] input[type="submit"]:hover {
      box-shadow: 0 4px 14px rgba(13, 110, 253, 0.25); }
    .contactwrap p[align="center"] input[type="submit"]:active {
      transform: translateY(1px); }
  .contactwrap p[align="center"] input[type="reset"] {
    margin-left: 10px;
    background: #f6f7f9;
    border-color: #e5e7eb;
    color: #555; }
    .contactwrap p[align="center"] input[type="reset"]:hover {
      background: #eef1f5; }
    .contactwrap p[align="center"] input[type="reset"]:active {
      transform: translateY(1px); }

.contactwrap p[align="center"] {
  margin: 18px 0 0;
  text-align: center; }
  .contactwrap p[align="center"] input[type="submit"],
  .contactwrap p[align="center"] input[type="button"] {
    appearance: none;
    border: 1px solid transparent;
    border-radius: 999px;
    padding: 10px 20px;
    font: inherit;
    cursor: pointer;
    transition: transform .06s ease, box-shadow .2s, background-color .2s; }
  .contactwrap p[align="center"] input[type="submit"] {
    background: #0d6efd;
    color: #fff; }
    .contactwrap p[align="center"] input[type="submit"]:hover {
      box-shadow: 0 4px 14px rgba(13, 110, 253, 0.25); }
    .contactwrap p[align="center"] input[type="submit"]:active {
      transform: translateY(1px); }
  .contactwrap p[align="center"] input[type="button"] {
    margin-left: 10px;
    background: #f6f7f9;
    border-color: #e5e7eb;
    color: #555; }
    .contactwrap p[align="center"] input[type="button"]:hover {
      background: #eef1f5; }
    .contactwrap p[align="center"] input[type="button"]:active {
      transform: translateY(1px); }

@media (max-width: 768px) {
  .formTable {
    border-radius: 10px; }
    .formTable tr {
      display: block;
      border-bottom: 1px solid #e5e7eb;
      padding: 12px; }
    .formTable th, .formTable td {
      display: block;
      width: 100%;
      padding: 0; }
    .formTable th {
      background: transparent;
      margin-bottom: 6px;
      color: #666;
      font-size: .95rem; }
    .formTable td input[type="text"],
    .formTable td input[type="email"],
    .formTable td textarea {
      max-width: 100%; }
    .formTable td > * + * {
      margin-left: 8px; }
    .formTable tr + tr {
      margin-top: 10px; }

  .contactwrap p[align="center"] {
    margin-top: 16px; }
    .contactwrap p[align="center"] input[type="submit"],
    .contactwrap p[align="center"] input[type="reset"] {
      width: 48%;
      max-width: 220px; } }
:focus-visible {
  outline: 3px solid rgba(13, 110, 253, 0.35);
  outline-offset: 2px; }

.notice {
  color: #FF0004; }
