@charset "UTF-8";

@media screen and (max-width: 1680px) {
  .page-content .wide-wrap {
    padding: 0 20px;
  }
}

@media screen and (max-width: 1520px) {
  .wide-wrap-inner {
    padding: 0 20px;
  }
  .mv-img-wrap {
    width: 50.66vw;
  }
}

@media screen and (max-width: 1240px) {
  .wrap {
    padding: 0 20px;
  }
  .footer-inner {
    padding: var(--px100) 20px;
  }
}

@media screen and (max-width: 991px) {
  body {
    min-width: initial;
  }
  #header {
    display: block;
  }
  .header-logo {
    width: fit-content;
  }
  .header-inner {
    height: 60px;
  }
  .header-logo img {
    width: 150px;
  }
  .header-logo a {
    height: 60px;
    gap: .8em;
    padding: 0 20px;
  }
  .header-logo a p {
  font-size: var(--px12);
  line-height: 1.2;
  letter-spacing: .1em;
  }
  .hamburger-wrap {
    height: 60px;
    gap: 15px;
    padding: 0 30px;
  }
  .header-nav-list {
    grid-template-columns: repeat(2, 1fr);
  }
  .header-nav-item a {
    font-size: var(--px20);
  }
  .header-nav-item a span {
    font-size: var(--px14);
  }
  .footer-inner-top {
    flex-direction: column;
    align-items: center;
  }
  .footer-inner-bottom {
    flex-direction: column;
    align-items: center;
    margin-top: 30px;
  }
  .footer-nav-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
  .mv-slider-wrap {
    padding: 15px 0;
  }
  .mv-slider img {
    max-height: 25px;
  }
  .technology-content-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 20px;
  }
  .technology-content-item {
    max-width: 365px;
    margin-inline: auto;
  }
  .flow-content-list {
    grid-template-columns: repeat(4, 1fr);
  }
  .contact-content-flex {
    flex-direction: column;
  }
  .contact-content-flex__left {
    width: 100%;
  }
  .contact-content-flex__right {
    width: 100%;
  }
  .contact-content-flex__left p br.pc-only {
    display: none;
  }
  .form-btn-wrap {
    margin-inline: auto;
  }
  .page-mv-img {
    max-width: 300px;
  }
  .archive-works-item__detail {
    display: flex;
    flex-direction: column-reverse;
  }
  .archive-works-item__detail-people {
    width: 100%;
    max-width: 160px;
    margin-inline: auto;
  }
  .archive-works-item__detail-people-name {
    text-align: center;
    margin-top: 10px;
  }
  .archive-works-item__detail-text {
    width: 100%;
    padding-right: 0;
    margin-right: 0;
    padding-top: 1em;
    margin-top: 1em;
    border-right: none;
  }
  .archive-works-item__detail-text-box:not(:last-child) {
    margin-bottom: 1em;
  }
  .archive-works-item__detail-text::after {
    width: 100%;
    height: 1px;
  }

  .archive-works-item__detail-people-img {
    max-width: 100px;
    margin-inline: auto;
  }
}

@media screen and (max-width: 767px) {
  body {
    line-height: 1.6;
  }
  .header-inner {
    height: 40px;
  }
  .header-logo a {
    height: 40px;
    padding-left: 15px;
  }
  .hamburger-wrap {
    height: 40px;
    padding: 0 20px;
  }
  .header-logo img {
    width: 120px;
  }
  .header-logo a p {
    display: none;
  }
  .hamburger {
    width: 3em;
    height: 1.2em;
  }
  .header.over .header-inner {
    height: 40px;
  }
  .header.over .header-logo a {
    height: 40px;
  }
  .header.over .header-logo img {
    width: 120px;
  }
  .header.over .hamburger-wrap {
    height: 40px;
    padding: 0 20px;
  }
  .hamburger-wrap p {
    display: none;
  }
  .header-nav-list {
    gap: 20px 10px;
  }
  .footer-nav-list {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .footer-link-list {
    flex-direction: column;
    gap: 20px;
  }
  .footer-link-item a {
    font-size: 14px;
    gap: 5px;
  }
  .footer-link-item a img {
    width: 18px;
  }
  .copy {
    font-size: 8px;
    text-align: center;
  }
  .mv-img img.pc-only {
    display: none;
  }
  .mv-img img.sp-only {
    display: block;
  }
  .mv-img-wrap {
    width: 100%;
  }
  .mv-img-item.i1 {
    width: clamp(7.5rem, 3.913rem + 15.31vw, 11.25rem);
    top: 19%;
    left: 10%;
  }
  .mv-img-item.i2 {
    width: clamp(7.5rem, 3.913rem + 15.31vw, 11.25rem);
    top: 50%;
    left: 60%;
  }
  .mv-img-item.i3 {
    width: clamp(7.5rem, 3.913rem + 15.31vw, 11.25rem);
    top: 72%;
    left: 40%;
  }
  .mv-svg.pc-only {
    display: none;
  }
  .mv-svg.sp-only {
    display: block;
  }
  .mv-slider-wrap {
    padding: 10px 0;
  }
  .concept {
    padding-top: 40px;
    margin-top: 0;
  }
  .concept-content h2 {
    margin-bottom: 30px;
  }
  .concept-content .text-top {
    font-size: 18px;
    line-height: 1.4;
  }
  .concept-content p.fs20 {
    font-size: 14px;
  }
  .concept-content-bg {
    display: none;
  }
  .concept-img img {
    position: relative;
    right: -3px;
  }
  .technology-content-list {
    grid-template-columns: 1fr;
  }
  .technology-content-item {
    border-radius: 230px 230px 10px 10px;
  }
  .technology-content-item__title {
    max-width: 80%;
    margin-inline: auto;
  }
  .technology-content-item__text {
    font-size: 14px;
  }
  .works-slide {
    width: 340px;
  }
  .works-slide-thumb {
    width: 340px;
    overflow: visible;
    flex: 1;
    position: relative;
  }
  .works-slide-info {
    width: 340px;
    transform: translateX(0);
    flex: 1;
    position: absolute;
    top: 0;
    left: 0;
    transition: .5s;
  }
  .works-slide-info__inner {
    transition-delay: .5s;
  }
  .works-slide-info__bg {
    opacity: .7;
  }
  .works-slide.swiper-slide-active .works-slide-info {
    width: 340px;
  }
  .flow-content-list {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 30px;
  }
  .form-label {
    font-size: var(--px16);
  }
  .contact-form input, .contact-form textarea {
    font-size: var(--px16);
  }
  ::placeholder {
    font-size: var(--px16);
  }
  .privacy-text {
    font-size: var(--px16);
  }
  .archive-works-list {
    grid-template-columns: 1fr;
  }
  .sec-title-bg {
    display: none;
  }
  .archive-works-item__detail-people-img {
    max-width: 80px;
  }
}

@media screen and (max-width: 540px) {
  .flow-content-list {
    grid-template-columns: 1fr;
  }
  .flow-content-item:not(:last-child)::after {
    top: initial;
    right: initial;
    bottom: -25px;
    transform: translateY(0) rotate(90deg);
  }
  .archive-works-item__detail-people-img {
    max-width: 60px;
  }
}
