@media (max-width: 1200px) {
  .about-textwrap h2 {
    font-size: 2.8rem;
  }
  .about-text p {
    font-size: 1.2rem;
  }
  .about-img01 {
    width: 250px;
    height: 370px;
    top: -300px;
  }
  .about-img02 {
    height: 280px;
  }
  .business-item {
    width: 90%;
  }
  .fv-title01 {
    left: 5%;
    top: 13%;
  }
  .fv-title02 {
    right: 5%;
    bottom: 13%;
  }
}
@media (max-width: 1024px) {
  .about {
    padding-top: 4rem;
  }
  .company-table th {
    width: 200px;
  }
  .company-table td {
    width: calc(100% - 200px);
  }
  .fv-title01 {
    left: 4%;
    top: 10%;
  }
  .fv-title02 {
    right: 4%;
    bottom: 10%;
  }
}
@media (max-width: 900px) {
  .about-bottom {
    margin-top: 1rem;
  }
  .about-img01 {
    width: 33%;
    height: auto;
    top: -3rem;
    aspect-ratio: 1/1.5;
  }
  .about-img02 {
    width: 60%;
    aspect-ratio: 1.75/1;
    object-fit: cover;
    height: auto;
    margin: 4rem 0 0;
  }
  .about-bg {
    top: 30%;
    left: initial;
    right: 1rem;
  }
  .business-title {
    font-size: 5.5rem;
    width: 150px;
  }
  .company-title {
    font-size: 5.5rem;
    width: 150px;
  }
  .company-tablewrap {
    width: calc(100% - 150px);
  }
  /*オープニングアニメーションレスポンシブ*/

  .logo-icon {
    width: 150px;
  }

  .logo-text {
    width: 350px;
  }
  @keyframes expand-01 {
    0% {
      width: 0;
    }
    25% {
      width: 350px;
    }
    85% {
      width: 350px;
    }
    100% {
      width: 0;
    }
  }

  @keyframes expand-02 {
    0% {
      height: 0;
    }
    50% {
      height: 0;
      width: 42px;
    }
    100% {
      height: 150px;
      width: 42px;
    }
  }
  .fv-wh {
    width: 225px;
  }
  .fv-video {
    width: 130%;
    height: 50%;
  }
  .fv-title {
    font-size: 3.5rem;
  }
}
@media (max-width: 800px) {
}
@media (max-width: 768px) {
  .business-contents {
    flex-direction: column;
  }
  .business-title {
    width: 100%;
    writing-mode: horizontal-tb; /* ← これで横書きに戻す */
    text-orientation: mixed; /* ← 念のため通常の文字向きに戻す */
    text-align: center;
    position: initial;
  }
  .business-lists {
    width: 95%;
    margin: 2rem auto 0;
    max-width: 600px;
  }
  .business-item {
    width: 100%;
  }
  .company-inner {
    flex-direction: column;
    min-height: initial;
  }
  .company-title {
    width: 100%;
    writing-mode: horizontal-tb; /* ← これで横書きに戻す */
    text-orientation: mixed; /* ← 念のため通常の文字向きに戻す */
    text-align: center;
    position: initial;
  }
  .company-tablewrap {
    width: 100%;
    margin-top: 2rem;
  }
  .footer-logo img {
    width: 200px;
  }
  .contact-btn {
    width: 250px;
  }
}
@media (max-width: 630px) {
  .business-title {
    font-size: 3.5rem;
  }
  .company-title {
    font-size: 3.5rem;
  }
}
@media (max-width: 576px) {
  .footer-contents {
    flex-direction: column-reverse;
    align-items: center;
  }
  .footer-logo {
    margin-top: 2rem;
  }
  .company-table th,
  .company-table td {
    padding: 0.5rem;
    font-size: 1rem;
  }
  .company-table th {
    width: 150px;
  }
  .company-table td {
    width: calc(100% - 150px);
  }
  .business-item h3 {
    font-size: 1.3rem;
  }
  .business-item h3 p span {
    font-size: 1.15rem;
  }
  .business-item h3::before {
    font-size: 3rem;
  }
  .about-text p + p {
    margin-top: 0.5rem;
  }
  .about-text p {
    font-size: 1rem;
    line-height: 1.7;
    font-weight: 600;
  }
  .about-textwrap {
    padding-left: 0;
  }
  .about-bg {
    width: 95vw;
  }
  /*オープニングアニメーションレスポンシブ*/

  .logo-icon {
    width: 120px;
  }

  .logo-text {
    width: 285px;
  }
  @keyframes expand-01 {
    0% {
      width: 0;
    }
    25% {
      width: 285px;
    }
    85% {
      width: 285px;
    }
    100% {
      width: 0;
    }
  }

  @keyframes expand-02 {
    0% {
      height: 0;
    }
    50% {
      height: 0;
      width: 33.5px;
    }
    100% {
      height: 120px;
      width: 33.5px;
    }
  }
  .fv-wh {
    width: 175px;
  }
  .fv-video {
    height: 40%;
  }
  .fv-title01 {
    left: 5%;
    top: 13%;
  }
  .fv-title02 {
    right: 5%;
    bottom: 13%;
  }
  .fv-title {
    font-size: 3rem;
  }
  .about-textwrap h2 {
    font-size: 2.5rem;
  }
  .about-img01 {
    width: 36%;
  }
}
@media (max-width: 480px) {
  .business-item h3 {
    font-size: 1.2rem;
  }
  .business-item h3::before {
    margin-right: 0;
  }
  .business-item h3 {
    flex-direction: column;
    text-align: center;
  }
  .business-title {
    font-size: 2.8rem;
  }
  .company-title {
    font-size: 2.8rem;
  }
  .business-lists {
    gap: 2rem;
  }
  .company-table th {
    width: 100px;
  }
  .company-table th,
  .company-table td {
    font-size: 0.95rem;
  }
  /*オープニングアニメーションレスポンシブ*/
  .logo-icon {
    width: 100px;
  }

  .logo-text {
    width: 240px;
  }
  @keyframes expand-01 {
    0% {
      width: 0;
    }
    25% {
      width: 240px;
    }
    85% {
      width: 240px;
    }
    100% {
      width: 0;
    }
  }

  @keyframes expand-02 {
    0% {
      height: 0;
    }
    50% {
      height: 0;
      width: 28px;
    }
    100% {
      height: 100px;
      width: 28px;
    }
  }
  .fv-wh {
    width: 145px;
  }
  .fv-video {
    height: 40%;
  }
  .fv-title {
    font-size: 2.8rem;
  }
  .fv-title01 {
    left: 2.5%;
    top: 15%;
  }
  .fv-title02 {
    right: 2.5%;
    bottom: 15%;
  }
  .fv {
    height: 90vh;
  }
  .about-img01 {
    width: 40%;
  }
}
@media (max-width: 360px) {
  /*オープニングアニメーションレスポンシブ*/

  .logo-icon {
    width: 80px;
  }

  .logo-text {
    width: 190px;
  }
  @keyframes expand-01 {
    0% {
      width: 0;
    }
    25% {
      width: 190px;
    }
    85% {
      width: 190px;
    }
    100% {
      width: 0;
    }
  }

  @keyframes expand-02 {
    0% {
      height: 0;
    }
    50% {
      height: 0;
      width: 22.5px;
    }
    100% {
      height: 80px;
      width: 22.5px;
    }
  }
  .fv-wh {
    width: 118px;
  }
  .fv-video {
    height: 35%;
  }
  .fv-title {
    font-size: 2.8rem;
  }
  .fv-title01 {
    left: 2.5%;
    top: 15%;
  }
  .fv-title02 {
    right: 2.5%;
    bottom: 15%;
  }
}
