.linkto {
  top: unset;
  bottom: 13rem;
  transform: rotateZ(90deg) translateY(50%);
}

.board {
  height: var(--board-height);
  --board-height: calc(100svh - 120px);

  &.top2 {
    overflow: unset;
    padding-top: 0;
    --board-width: calc((var(--board-height) - 4em) / 16 * 8);

    > div:first-child {
      display: grid;
      width: var(--board-width);
      margin-left: 0;
      gap: 1em 0.5em;
      grid-template-columns: 1fr 1fr;

      img {
        width: 100%;
        height: auto;
        transition: .5s;
      }

      .top2-photo-big {
        grid-column: 1 / 3;
      }

      .info-texts {
        height: 100%;
      }

      .by-social-heroes {
        grid-column: 1 / 3;
        grid-row: 4 / 4;
      }

      .top2-photo-grid {
        height: calc((((var(--board-width) - 0.5em) / 2) - 1.5em) / 4 * 5 + 2em);
        grid-column: 2 / 3;
        grid-row: 3 / 4;
        gap: 0.5em;
        grid-template-columns: repeat(4, 1fr);

        > *:nth-child(n+27) {
          display: none;
        }
      }
    }
  }
}

.container-2xs {
  p.font-14.mt-2 {
    font-size: 1rem;
    font-weight: bold;
    line-height: 2em;
    max-width: 68%;
    margin-right: auto;
    margin-left: auto;
  }
}

.structure {
  align-items: center;
  flex-direction: column;

  .d-flex:last-child {
    div:last-child {
      display: flex;
      align-items: center;
      /* flex-basis: content; */
      flex-direction: column;
    }
  }
}

.social-business {
  margin-bottom: 20rem;
}

.ads {
  > div {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);

    a {
      position: relative;

      div:has(> img), div img {
        width: 100%;
        height: auto;
      }

      .flex-center {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;

        p {
          color: white;
        }
      }
    }
  }
}

.news {
  .shadow-box {
    padding-right: 2rem;
    padding-left: 2rem;
  }

  .news-header {
    grid-template-columns: 1fr 1fr;

    .pickup-icon {
      width: 90%;
      margin-right: auto;
      margin-left: auto;
      grid-column: 1 / 3;
display: flex;
                flex-direction: row;
                align-items: center;
            padding-top: 1em;
            padding-bottom: 1em;
img{
max-width:100px;
}
    }
.pickup-icon p.font-13 {
    font-weight: bold;
    margin-bottom: -2em;
    margin-top:  -2em;
padding-top:0;
}

    .tab-button {
      color: var(--color-mediumblue-500);

      svg {
        width: 10rem;
      }
    }
  }

  .media-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2em 1em;

    > div {
      display: flex;
      flex-direction: column;
      max-width: 256px;

      .title {
        flex-grow: 1;
      }
    }
  }

  .right {
    text-align: center !important;
  }
}

.service-links {
  .right {
    margin-top: 6rem;
    margin-bottom: 4rem;
    text-align: center !important;
  }

  > div:first-of-type {
    grid-template-columns: repeat(2, 1fr);
  }
}

.ceo-message {
  .container {
    grid-template-columns: 1fr;

    > div:first-child {
      margin-top: 6rem;
    }

    > div:last-child {
      margin-top: 4em;

      .sign {
        width: 11rem;
        margin-right: 0;
        margin-bottom: 2rem;
        margin-left: auto;
      }

      .d-flex-justify-between {
        align-items: center;
        flex-direction: column;
        gap: 2em;

        p {
          margin-right: 12%;
          margin-left: auto;
        }

        .button-sm {
          width: 10rem;
          margin-right: auto;
          margin-left: auto;
          text-align: center;
        }
      }
    }
  }
}

.ceo-message {

  & .container {
    padding-top: 4em;

    & > div:first-child {
      justify-content: flex-start;

      .message1 {
        max-width: 280px;
      }

      .bar {
        width: 80px;
        margin-left: calc(100vw / (1500 / 250));
      }
    }
  }
}

.hero100 {
  padding-bottom: 16em;

  > div:nth-of-type(2) {
    p {
      font-size: .84rem;
      margin-bottom: 5em;
      padding-right: 3em;
    }
  }
}

.dot_innovation {
  background-image: url("../images/top/bg_dot_innovation_sp.svg");
  background-attachment: fixed;
  background-position: right bottom;
  background-size: cover;

  img:nth-of-type(1) {
    width: 30%;
    margin-top: 1em;
  }

  img:nth-of-type(2) {
    width: 100%;
  }

  .d-flex-justify-between {
    align-items: end;
    flex-direction: column-reverse;

    > div:first-of-type {
      width: 100%;

      p {
        font-size: 1rem;

        &:last-of-type {
          margin-bottom: 8rem;
        }
      }
    }

    > div:last-of-type {
      width: 100%;
      margin-top: 8rem;
    }

    .w-6 {
      margin-right: 0;
    }

    .button {
      padding-right: 3em;
      padding-left: 3em;
      border-radius: 50px;
      background-color: #FF0000;
    }
  }
}

.board2 {
  position: relative;
  padding-bottom: 3rem;
  background: #f2f2fc;

  picture img {
    display: inline-block;
    width: 100%;
  }

  > a {
    right: 50%;
    bottom: 7%;
    transform: translateX(50%);
    gap: 1em 0.5em;

    img {
      width: 14rem;
    }
  }
}

.contact {
  .contact-message-container-container {
    margin-top: 9rem;

    img {
      left: 4%;
      transform: translateY(calc(-100% - 2rem));
    }
  }

  .contact-container {
    form {
      select {
        width: 100%;
      }

      > div:has(input,textarea,select) {
        gap: 0.5em;
      }

      .zip-flex {
        flex-direction: column;
        width: 12em;
      }

      .pref-flex {
        flex-direction: column;
        width: 12em;
        margin-top: 2em;
        gap: 1em;

        > div {
          display: flex;
          flex-direction: column;
          gap: 0.5em;
        }
      }

      .tel-flex {
        margin-top: 0.5em;
        gap: 0.5em;

        input {
          width: 100%;
        }
      }
    }
  }
}

.top3 {
  > div {
    > div:nth-child(1) {
      img {
        top: clamp(38%, 19rem, 60%);
        left: 0;
        width: 4rem;
        transform: translate(5%, -50%);
      }
    }

    > div:nth-child(2) {
      img {
        position: absolute;
        z-index: 2;
        top: unset;
        right: 2rem;
        bottom: 0;
        left: unset;
        width: min(25vh, 50%);
        transform: translate(-5%, -20%);
      }
    }
  }

  .texts {
    .text {
      z-index: 1;
      top: clamp(38%, 19rem, 60%);
      left: 5%;
      padding-left: 6.5rem;

      &.nb {
        padding-left: 7rem;
      }
    }
  }
}

.news-details {
  .news-header {
    grid-template-columns: 1fr;

    .font-30 {
      font-size: var(--font-size-15);
      margin-top: 2em;
    }
  }

  .news-body {
    margin-top: 10rem;

    p {
      margin-top: 8rem;

      &:nth-of-type(2) {
        font-size: var(--font-size-10);
      }
    }
  }

  .buttons {
    align-self: center;
    justify-content: center;
    margin-top: 18em;
    margin-bottom: 10em;

    .button {
      padding-right: 2em;
      padding-left: 2em;
    }
  }
}

.news-archive {
  .news-grid {
    grid-template-columns: 1fr;

    > div:first-child img.mt-3 {
      margin-top: 5rem;
    }

    .images {
      margin-bottom: -8rem;

      img:nth-child(2) {
        width: 18em;
        transform: translateY(calc(-100% + 1em));
      }
    }

    .news-items {
      margin-top: 1em;
      padding-right: 4%;
      padding-left: 4%;
      grid-template-columns: repeat(2, 1fr);
    }
  }

  div:has(> .filter) {
    display: grid;
    align-items: start;
    margin-top: 6rem;
    margin-bottom: 1rem;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;

    .filter:not(:first-child) {
      margin-top: 0;
    }
  }
}

.sitemap-sp {
  margin-top: 13em;
  color: var(--color-mediumblue-500);

  img {
    position: unset;
  }

  .shadow-box {
    margin-top: 3em;
    padding: 0.5em 1em;
    border-radius: 10px;
    background-color: white;
    --shadow-size: 6px;
  }

  .sitemap-item {
    &:not(.sitemap-top):not(.open) {
      display: none;
    }
  }

  .toggle-sitemap-item {
    cursor: pointer;
  }

  a {
    text-decoration: none;
    color: var(--color-mediumblue-500);
  }

  .sitemap-top {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 180px;
    height: 70px;

    img {
      width: 3em;
    }

    p {
      font-size: 3.125rem;
      font-weight: bold;
    }
  }

  .shadow-box {
    > span {
      font-size: 1.875rem;
      font-weight: bold;
      transform: rotate(-90deg);
    }

    &:has(+ .open) {
      > span {
        transform: rotate(90deg);
      }
    }
  }

  .sitemap-about {
    display: flex;
    justify-content: space-between;
    max-width: 220px;
    height: 70px;

    p {
      line-height: 1.3em;
    }

    > span {
      font-size: 1.875rem;
    }
  }

  .sitemap-medium {
    display: flex;
    justify-content: space-between;
    max-width: 150px;
    height: 40px;
    margin-top: 1.5em;
    border-width: 3px;
    border-radius: 6px;
    --shadow-size: 4px;

    > span {
      font-size: 0.6875rem;
    }
  }

  .sitemap-small {
    max-width: 160px;
    height: 20px;
    margin-top: 1.25em;
    padding-top: 1px;
    padding-bottom: 0;
    border-width: 2px;
    border-radius: 4px;
    --shadow-size: 4px;
  }

  .group {
    position: relative;
    margin-bottom: 5rem;

    &:before {
      position: absolute;
      z-index: -1;
      top: 0;
      bottom: calc(20px - 3px);
      margin-left: 2em;
      content: "";
      border-left: 3px solid var(--color-mediumblue-500);
    }

    > div:not(.shadow-box) {
      position: relative;
      margin-left: 4em;
      --bar-bottom: calc(20px - 3px);

      .shadow-box {
        position: relative;

        &:before {
          position: absolute;
          top: 50%;
          left: 0;
          width: calc(2em + 3px);
          content: "";
          transform: translateX(-100%);
          border-top: 3px solid var(--color-mediumblue-500);
        }
      }

      &:before {
        position: absolute;
        z-index: -1;
        top: 0;
        bottom: var(--bar-bottom);
        margin-left: 2em;
        content: "";
        border-left: 3px solid var(--color-mediumblue-500);
      }

      > div:not(.shadow-box) {
        position: relative;
        margin-left: 4em;
        --bar-bottom: calc(10px - 3px);

        .shadow-box {
          position: relative;

          &:before {
            position: absolute;
            top: 50%;
            left: 0;
            width: calc(2em + 2px);
            content: "";
            transform: translateX(-100%);
            border-top: 3px solid var(--color-mediumblue-500);
          }
        }

        &:before {
          position: absolute;
          z-index: -1;
          top: 0;
          bottom: var(--bar-bottom);
          margin-left: 2em;
          content: "";
          border-left: 3px solid var(--color-mediumblue-500);
        }

        > div:not(.shadow-box) {
          margin-left: 4em;
        }
      }
    }
  }
}

.hero-grid {
  grid-template-columns: repeat(3, 1fr) !important;
}

.dna .hero-grid {
  grid-template-columns: 1fr !important;
}

.social-business {
  & .social-business-buttons {
    .button {
      font-size: .7rem;
      padding-right: 1em;
      padding-left: 1em;
      border-radius: 40px;
    }
  }
}

.service-links {
  & > div:first-of-type {
    & > div {
      p:first-of-type {
        font-size: 1rem;
        font-weight: bold;
        margin-top: 1.2em;
        padding-bottom: 0.8rem;
      }

      & div:last-child {
        a {
          font-size: .9rem;
          font-weight: bold;
          text-decoration: none;
          color: black;
        }
      }
    }

    > div:last-of-type {
      width: 10rem;
    }
  }
}

.ceo-message {
  & .container {
    & > div:last-child {
      & > p {
        font-size: 1.1rem;
        line-height: 2em;
      }
    }
  }
}

.hero100 {
  & > div:nth-of-type(2) {
    left: 0;
    justify-content: center;

    .button {
      margin-top: 1em;
      padding: .1rem 3em;
      padding-right: 3em;
      padding-left: 3em;
      border: 3px solid var(--color-white);
      border-radius: 60px;
    }
  }
}

.hero100 {
  & > div:nth-of-type(2) {
    p {
      max-width: 15em;
    }
  }
}


.certificate, 
.recruit-seminar {
  .container {
    display: grid;
    margin-top: 0px;
    grid-template-columns: 100%;
    gap: 3%;

    .sidemenu {
      .info_jp {
        font-size: 12px;
        font-weight: 700;
      }

      .info_en {
        font-size: 10px;
        font-weight: bold;
        margin-top: 6px;
      }
    }

    .content {
      margin-bottom: 0px;

      > div {
        margin-bottom: 75px;

        .title {
          font-size: 12px;
          font-weight: 700;
          display: block;
          width: 100%;
          margin-bottom: 55px;
          padding: 4px;
          padding-left: 8px;
          color: var(--color-mediumblue-500);
          border: 3px solid var(--color-mediumblue-500);
          border-radius: 5px;
          box-shadow: 5px 5px var(--color-mediumblue-500);
        }
      }

      .a {
        line-height: 30px;
        margin-bottom: 100px;
        letter-spacing: 1px;

        > div:not(.btn-recruit-seminar) {
          display: flex;
        }

        .font-14 {
          font-size: 13px;
        }

        .font-12 {
          font-size: 11px;
        }

        .note {
          margin-top: 60px;
        }
      }

      .b {
        .b-1 {
          line-height: 30px;
          display: grid;
          margin-bottom: 25px;
          letter-spacing: 3px;
          grid-template-columns: 33% 65%;
          gap: 2%;
        }

        .note {
          line-height: 30px;
        }
      }

      .c {
        .c-1 {
          .c-1-1 {
            p:last-child {
              grid-column: 1/3;
            }
          }

          .c-1-2 {
            display: block;
            margin-bottom: 45px;

            a {
              display: block;
              margin-top: 30px;
              margin-bottom: 10px;
              color: white;
              background-color: var(--color-mediumblue-500);
              box-shadow: none;
            }
          }
        }
      }

      .d {
        line-height: 17px;

        .font-14 {
          font-size: 13px;
          letter-spacing: 2px;
        }

        .note {
          line-height: 30px;
        }
      }

      .contact {
        font-size: 12px;
        font-weight: 700;
        display: block;
        width: 148px;
        margin: auto;
        margin-top: 200px;
        margin-bottom: 200px;
        padding: 6px;
        text-align: center;
        text-decoration: none;
        color: white;
        border-radius: 20px;
        background-color: var(--color-mediumblue-500);
      }
    }
  }
}

.privacypolicy {
  .container {
    display: grid;
    margin-top: 0px;
    grid-template-columns: 100%;

    .content {
      > div {
        margin-top: 60px;
        margin-bottom: 40px;

        .title {
          margin-bottom: 40px;
        }
      }

      .back {
        margin-top: 100px;
        margin-bottom: 200px;
      }
    }
  }
}

.error {
  .container {
    display: grid;
    margin-top: 0px;
    grid-template-columns: 100%;
    gap: 2%;

    .content {
      font-weight: 700;
      margin-top: 50px;
      margin-bottom: 0px;

      p {
        line-height: 30px;

      }

      .drop-shadow {
        .front {
          p {
            font-size: 16px;
            margin-top: 20px;
            letter-spacing: 0px;
          }
        }

        .background {
          transform: translate(calc(-100% + 20px), 20px);
        }
      }

    }

    .font-14 {
      width: 100%;
      margin-top: 50px;
      grid-column: 1/1;
    }

    .back {
      margin-top: 50px;
      margin-bottom: 100px;
      padding: 6px;
      grid-column: 1/1;
    }
  }
}

/*???*/
.news-archive {
  & .news-grid {
    & .images {
      img:nth-child(2) {
        width: 14em;
        transform: translateY(calc(-160%));
      }
    }
  }
}

.news-archive {
  & .news-grid {
    & .news-items {
      & .news-item {
        p {
          font-size: .9rem;
          margin-top: 1em;
        }
      }
    }
  }
}

.news-details {
  .news-header {
    margin-top: 1rem;
    grid-template-columns: 1fr;
  }
}


.news-details {
  & .news-header {
    .icons {

    }

    img:first-child {
      width: 10rem;
    }

    img:nth-child(2) {
      width: 2.5rem;
      margin-top: 1.5rem;
      margin-left: 1rem;
    }
  }
}

.news-details {
  & .news-header {
    .font-30 {
      font-size: 1.1rem;
      margin-top: 2em;
    }
  }

  .mt-5 p {
    line-height: 1.8;
    margin-bottom: 1rem;
  }
}

.contact-message-container-container .container.contact-message-container .font-14 {
  font-size: 1.1rem;
}

.mw_wp_form .d-flex.gap-1-5.zip-flex .button {
  padding: 0.75em 1em;
  text-align: center;
}

.certificate, 
.recruit-seminar {
  & .container {
    & .content {
      & .a {
        .font-14 {
          font-size: 14px;
        }
      }
    }
  }
}

.certificate, 
.recruit-seminar {
  & .container {
    & .content {
      & > div {
        .title {
          font-size: 14px;

          p {
            font-size: 14px;
          }
        }
      }
    }
  }
}

.recruit-seminar div.btn-recruit-seminar {
  text-align: center;
}

.dot_innovation {
  position: relative;
  background: none;
}

.dot_innovation::after {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background-image: url(../images/top/bg_dot_innovation_sp.svg);
  background-attachment: absolute;
  background-position: right bottom;
  background-size: cover;
}

.ceo-message + .hero100 {
  > div:nth-of-type(2) {
    right: 4rem;
    width: 100%;
  }
}

a.linkto.font-14.quicksand {
  font-weight: bold;
  right: -70px;
  bottom: 16%;
  padding-bottom: 8px;
  letter-spacing: 1px;
  border-bottom: 1px solid #000;
}

.top3 {
  & > div {
    & > div:nth-child(2) {
      img {
        transform: translate(0, -30%);
      }
    }
  }
}

.contact {
  & .contact-container {
    & form {
      input, textarea, select {
        font-size: max(16px, 0.75rem);
        max-width: 100%;
        border: 2px solid var(--color-mediumblue-500);
        border-radius: 4px;
      }
    }
  }
}

img.tab.locationhead {
  position: absolute;
  z-index: 0;
  top: 6.5rem;
  left: 1.2rem;
  display: block;
  width: 76px;
}

.board.top3 {
  overflow: hidden;
}

.contact_button {
  display: none;
}

/*0627追加*/
.dot_innovation {
  & .d-flex-justify-between {
    .button {
      margin-top: 1.5em;
    }

    & > div:first-of-type {
      p {
        font-size: 1rem;
        font-weight: bold;
      }
    }
  }
}

.ads {
  & > div {
    & a {
      & .flex-center {
        p {
          font-size: 1rem;
          font-weight: bold;
          color: white;
          text-shadow: 0 0 4px black;
        }
      }
    }
  }
}

.service-links {
  & > div:first-of-type {
    & > div {
      p:first-of-type {
        font-size: 1rem;
        font-weight: bold;
        margin-top: 1.2em;
        padding-bottom: 0;
      }
    }
  }
}

main.news-details .container .mt-5 p {
  font-size: 1em;
  line-height: 1.8;
  margin-bottom: 1.5rem;
}

.social-business {
  & .social-business-buttons {
    display: grid;
    justify-content: space-around;
    margin: 4em 1em -2em;
    opacity: .98;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1em;
  }
}

.service-links {
  & > div:first-of-type {
    & > div {
      & > div:last-child {
        p {
          font-size: .9em;
          text-align: left;
        }
      }
    }
  }
}

.dot_innovation .font-26 {
  font-weight: bold;
  margin-bottom: .3em;
}

.ceo-message + .hero100 {
  & > div:nth-of-type(2) {
    p {
      font-size: .84rem;
      line-height: 2;
      margin-bottom: .5em;
      padding-right: 3em;
      letter-spacing: 2px;
    }
  }
}

.social-business {
  margin-bottom: 16rem;
}

.social-business-buttons {
  margin: 5rem 1em 0;
  gap: 1em;
}

.social-business-buttons .button {
  font-size: 11px;
  padding: 1em .8em;
  border-radius: 40px;
}

/*0628*/
.top3 {
  & > div {
    & > div:nth-child(2) {
      img {
        transform: translate(0, -20%);
      }
    }
  }
}

.news {
  .shadow-box {
    padding-right: 1rem;
    padding-left: .8rem;
  }
}

.location .tab.d-flex.gap-1.mb-1 > img:first-of-type {
  width: 11.5em;
}


.w-7.mt-4.prof.tab {
  width: 76%;
  margin-top: 0;

  .font-13, .font-15 {
    font-size: 1em;
  }
}

.w-7.white.infos .font-13 {
  font-size: 1em;
  margin-top: 2em;
}

.w-7.white.infos p.font-15.mt-1-5 {
  max-width: 95%;
}

.heroes {
  & .bg1 {
    margin-top: 3.5em;
  }
}

.contact {
  & .contact-message-container-container {
    img {
      left: 4%;
      width: 5em;
      transform: translateY(calc(-100% - 2rem));
    }
  }
}

.contact {
  & .contact-container {
    & form {
      label {
        font-size: 1.1rem;
      }
    }
  }
}

.contact {
  .contact-container button {
    padding: 0.75em 1em;

  }
}

.board {
  &.top2 {
    & > div:first-child {
      .by-social-heroes {
        position: absolute;
        z-index: 1;
        top: 75svh;
        left: 10px;
        width: 9.5em;
        grid-column: 1;
        grid-row: 1;
      }
    }
  }
}

.has-top-header .dot_innovation .font-12 {
    font-size: 15px;
}

/* 年別お知らせ欄追加 */

.info_box {

  .container {
    max-width: var(--container-width);
  }

  .info-wrap {
    display: block;
  }

  .info-wrap > p {
    height: auto;
    width: 100%;
    justify-content: center;
    padding: 8px 0;

    img {
      width: 50%;
    }
  }


  .tab-2 {
    justify-content: space-between;
    gap: 0;
    margin-top: 2em;
    width: 100%;
  }

  .tab-2 > label {
    width: 24%;
    font-size: .7em;
    padding: .6em 0.2em;
  }

  .tab-2 label:has(:checked) + div {
    width: 100%;
  }

  .button-sm {
    margin-top: 2em;
  }

  .shikiri {
    display: none;
  }

  .info-list {
    height: 250px;
  }

  .info-list .info {
    display: block;
    border-bottom: 1px solid #a2a2ff;
    padding-bottom: 0.5em;
    padding-left: 0.4em;
    padding-right: 0.4em;
    

    small {
      font-size: 14px;
    }

    small a {
      display: inline-block;
      background-color: var(--color-mediumblue-500);
      color: #fff;
      padding: 2px 3px;
      font-size: 11px;
    }

    >a {
      width: 100%;
    }
  }

  .tab-2 label:has(:checked) + div {
    border: 1.85px solid var(--color-mediumblue-500);
    height: 280px;
  }


}

.info_box {
    .tab-2 label:has(:checked) {
        border: 2px solid var(--color-mediumblue-500);
        border-bottom: none;
    }
}

.top1_test {
  #anim_s {
    max-width: 180px;
  }

  #anim_c {
    max-width: 120px;
  }

  #anim_i {
    max-width: 70px;
  }

  #anim_3 {
    max-width: 140px;
  }
}

/* 事業所検索結果リニューアル */

.location2 {

    .location-pc {
      display: inline;
    }
 
  .result-grid {
    gap: 1em 2em;
  }
  .result-office {
    .office-icon {
      max-width: 100px;
    }

    .office-name {
      font-size: 16px;
      min-height: auto;
    }

    .office-info-wrap {
      gap: 1em;
      min-height: auto;
      .office-img {
        max-width: 120px;
      }
      .office-info {
          font-size: 12px;
          max-width: none;
      }
    }
  }

  .result-office + .result-office {
    margin-top: 1.5em;
  }

}
