@media (max-width: 1024px) {
  main {
    width: 100%;
  }

  h2 {
    margin-block-end: 0;
    margin-block-start: 0;
    margin-inline-end: 0;
    margin-inline-start: 0;
  }

  h3 {
    font-weight: normal;
    margin-block-end: 0;
    margin-block-start: 0;
    margin-inline-end: 0;
    margin-inline-start: 0;
  }

  a:link,
  a:visited,
  a:hover,
  a:active {
    color: #1a1a1a;
    text-decoration: none;
  }

  .first-view-section {
    position: relative;
  }

  .first-view-pic {
    position: relative;
    width: 100vw;
  }

  .first-view-video {
    display: block;
    position: relative;
    width: 100vw;
  }

  .bg-gray {
    background-color: #1f1f1f;
    margin: auto;
    position: relative;
    width: 96vw;
    z-index: 0;
  }

  .bg-black {
    background-color: black;
    position: relative;
    top: -4vw;
    width: 100vw;
    z-index: 0;
  }

  .bg-white {
    background-color: white;
  }

  .addLeft {
    left: 2vw;
  }

  .vision-section {
    background-color: white;
    height: 80vw;
    overflow: hidden;
    position: relative;
    top: 11vw;
    width: 97vw;
  }

  .vision-title {
    color: black;
    font-family: 'Oswald', sans-serif;
    font-size: 6.13vw;
    font-weight: normal;
    left: -35vw;
    letter-spacing: calc(8 / 1200 * 100vw);
    position: relative;
    top: 52vw;
    transform: rotate(90deg);
  }

  .vision-img {
    height: auto;
    position: relative;
    top: -14vw;
    width: 140%;
    z-index: -1;
  }

  .vision-txt-area {
    font-size: 3.47vw;
    font-weight: bold;
    left: 24vw;
    position: relative;
    top: -11vw;
    width: 64.84vw;
  }

  .vision-txt {
    color: black;
    margin-top: 5.87vw;
  }

  .talent-section {
    height: auto;
    padding-bottom: 15vw;
    position: relative;
    top: 15vw;
    width: 100%;
  }

  .talent-title-area {
    text-align: center;
  }

  .talent-title {
    color: black;
    font-family: 'Oswald', sans-serif;
    font-size: 6.13vw;
    font-weight: normal;
    letter-spacing: calc(8 / 1200 * 100vw);
    margin-bottom: 0;
    margin-top: 10vw;
  }

  .talent-sub-title {
    color: black;
    font-size: 2.67vw;
    position: relative;
    top: -2.3vw;
  }

  .talent-list {
    display: flex;
    height: 32vw;
    position: relative;
    top: 3vw;
    width: 100%;
  }

  .talent {
    display: inline-block;
    width: 25%;
  }

  .talent-img {
    width: 100%;
  }

  .talent-info-area {
    background-color: white;
    padding-bottom: 0.44vw;
    position: relative;
    top: -2vw;
    z-index: 10;
  }

  .talent-name {
    background-color: black;
    color: white;
    font-size: 2.5vw;
    font-weight: bold;
    padding: 1.6vw 0 1.6vw 3.2vw;
    position: relative;
  }

  .talent-catchcopy {
    color: black;
    font-size: 0.73vw;
    margin: 0.44vw 0 0 6.59vw;
    padding: 0 0.88vw;
    position: relative;
  }

  .accordion {
    margin-left: 25%;
    position: relative;
    width: 70%;
  }

  .accordion-area {
    color: black;
    font-size: 0.73vw;
    position: relative;
    text-align: right;
  }

  .sns-area {
    -webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
    align-items: center; /* 縦方向中央揃え */
    display: -webkit-flex;
    display: flex;
    padding: 0.22vw 0.88vw;
  }

  .sns-icon {
    height: 2.12vw;
    padding: 0.5vw;
    width: 2.12vw;
  }

  .sns-follower {
    color: black;
    font-size: 0.88vw;
    left: 0.5vw;
    position: relative;
  }

  .mens-talent-area {
    margin-top: 4rem;
  }

  .partner-section {
    height: 70vw;
    position: relative;
    width: 100%;
  }

  .partner-title-area {
    text-align: center;
  }

  .partner-title {
    color: black;
    font-family: 'Oswald', sans-serif;
    font-size: 6.13vw;
    font-weight: normal;
    letter-spacing: calc(8 / 1200 * 100vw);
    margin-bottom: 0;
    margin-top: 10vw;
  }

  .partner-sub-title {
    color: black;
    font-size: 2.67vw;
    position: relative;
    top: -2.3vw;
  }

  .partner-list {
    display: flex;
    height: 32vw;
    position: relative;
    top: 3vw;
    width: 100%;
  }

  .partner {
    display: inline-block;
    width: 25%;
  }

  .partner-img {
    width: 100%;
  }

  .partner-info-area {
    background-color: white;
    padding-bottom: 0.44vw;
    position: relative;
    top: -2vw;
    z-index: 10;
  }

  .partner-name {
    background-color: black;
    color: white;
    font-size: 2.5vw;
    font-weight: bold;
    padding: 1.6vw 0 1.6vw 3.2vw;
    position: relative;
  }

  .partner-catchcopy {
    color: black;
    font-size: 0.73vw;
    margin: 0.44vw 0 0 6.59vw;
    padding: 0 0.88vw;
    position: relative;
  }

  .news-section {
    height: 130vw;
    position: relative;
    width: 100%;
  }

  .news-title-area {
    text-align: center;
  }

  .news-title {
    color: black;
    font-family: 'Oswald', sans-serif;
    font-size: 6.13vw;
    font-weight: normal;
    letter-spacing: calc(8 / 1200 * 100vw);
    margin-bottom: 0;
    margin-top: 0;
    padding-top: 9.49vw;
  }

  .news-sub-title {
    color: black;
    font-size: 2.69vw;
    position: relative;
    top: -2.3vw;
  }

  .news-area {
    border: solid 2px black;
    height: 75.79vw;
    margin: 0 auto;
    overflow: auto;
    padding: 0;
    position: relative;
    text-align: left;
    top: 6vw;
    width: 76.67vw;
  }

  ul.article-group {
    list-style: none;
    margin: 0;
  }

  .article-group {
    padding: 3.2vw;
  }

  .article-area {
    color: black;
    font-size: 3.47vw;
    padding-left: 3.2vw;
  }

  .article-date {
    font-weight: bold;
  }

  .support-section {
    height: 123vw;
    position: relative;
    width: 100%;
  }

  .support-title-area {
    text-align: center;
  }

  .support-title {
    color: black;
    font-family: 'Oswald', sans-serif;
    font-size: 6.13vw;
    font-weight: normal;
    letter-spacing: calc(8 / 1200 * 100vw);
    margin-bottom: 0;
    margin-top: 0;
  }

  .support-sub-title {
    color: black;
    font-size: 2.69vw;
    position: relative;
    top: -2vw;
  }

  .support-area {
    background-color: black;
    box-shadow: 0 0 4vw rgba(0, 0, 0, 0.3);
    height: 65vw;
    line-height: 2;
    margin: auto;
    padding: 9vw 0;
    position: relative;
    text-align: center;
    top: 4vw;
    width: 100%;
  }

  .support-sentence {
    color: white;
    font-size: 3.2vw;
    font-weight: bold;
    margin-top: 2.67vw;
  }

  .support-txt {
    border-bottom: solid 1px #8c8c8c;
  }

  .support-other-txt {
    font-size: 2.67vw;
    font-weight: normal;
  }

  .none-bold {
    font-weight: normal;
  }

  .none-underbar {
    border: none;
  }

  .message-section {
    height: auto;
    padding-bottom: 10vw;
    position: relative;
    width: 100%;
  }

  .message-title-area {
    text-align: center;
  }

  .message-title {
    color: black;
    font-family: 'Oswald', sans-serif;
    font-size: 6.13vw;
    font-weight: normal;
    letter-spacing: calc(8 / 1200 * 100vw);
    margin-bottom: 0;
    margin-top: 0;
  }

  .message-sub-title {
    color: black;
    font-size: 2.69vw;
    position: relative;
    top: -2vw;
  }

  .message-area {
    display: flex;
    flex-direction: column;
    position: relative;
    text-align: center;
    top: 2vw;
  }

  .message-row-area {
    height: auto;
    left: 1vw;
    line-height: 1.7;
    margin: 0 auto;
    order: 1;
    padding-bottom: 13vw;
    position: relative;
    top: 5vw;
    width: 90vw;
  }

  .message-img {
    margin: auto;
    order: 2;
    position: relative;
    width: 40vw;
  }

  .ceo-sign {
    position: relative;
    top: 3vw;
    width: 26vw;
  }

  .ceo-sign-order {
    order: 3;
  }

  .message-row-first {
    font-size: 3vw;
    text-align: left;
  }

  .message-row-content {
    font-size: 3vw;
    text-align: left;
  }

  .company-section {
    height: 140vw;
    position: relative;
    width: 100%;
  }

  .company-title-area {
    text-align: center;
  }

  .company-title {
    color: black;
    font-family: 'Oswald', sans-serif;
    font-size: 6.13vw;
    font-weight: normal;
    letter-spacing: calc(8 / 1200 * 100vw);
    margin-bottom: 0;
    margin-top: 0;
    padding-top: 10vw;
  }

  .company-sub-title {
    color: black;
    font-size: 2.69vw;
    position: relative;
    top: -2vw;
  }

  .company-area {
    background-color: white;
    height: 115vw;
    margin: auto;
    position: relative;
    text-align: center;
    top: 4vw;
    width: 100%;
  }

  .company-info {
    border-bottom: 1px solid black;
    line-height: 1.7;
    margin: auto;
    padding: 4vw 0;
    width: 80%;
  }

  .company-info-title {
    color: black;
    font-family: "Rounded Mplus 1c", sans-serif;
    font-size: 4vw;
    font-weight: bold;
  }

  .company-info-value {
    color: black;
    font-size: 3.2vw;
    margin-top: 2.67vw;
  }
}
