@charset "utf-8";

@media screen and (max-width: 1000px) {
  #header header {
    width: 100%;
  }
  #gloval_menu {
    width: 100%;
  }
  #footer_wrap footer {
    width: 100%;
  }
  #footer_wrap .credit {
    width: 100%;
  }
  .breadcrumbs {
    width: 100%;
  }
  .content_box {
    width: 98%;
  }
  #about .content_box {
    width: 98%;
  }
  #portfolio ul li {
    width: calc(90% / 3);
  }
  #portfolio ul::before {
    display: none;
  }
  #portfolio ul::after {
    width: calc(90% / 3);
  }
}

@media screen and (max-width: 768px) {
  .opening_logo {
    width: 60%;
  }
  .toggle_btn {
    display: block;
  }
  .content_wrap {
    padding: 60px 0;
  }
  #header .btn_area {
    right: 70px;
  }
  #gloval_menu, #fnav_menu {
    display: none;
  }
  .visual_wrap {
    padding: 30px 0;
    height: auto;
    max-height: none;
  }
  .visual_wrap::before {
    padding-top: 0;
  }
  .visual_wrap .visual_catch_wrap {
    position:static;
    width: 100%;
    height: auto;
  }
  .visual_catch_wrap .visual_catch_box {
    margin: 0 auto;
    width: 95%;
    height: auto;
  }
  .visual_catch_wrap .visual_catch_box .catch01,
  .visual_catch_wrap .visual_catch_box .catch02 {
    width: 100%;
    height: auto;
  }
  .visual_catch_wrap .visual_catch_box .catch01 img {
    width: 90%;
    height: auto;
  }
  @keyframes catch01 {
  0% {
    transform: translateY(100px) translateX(0%);
    transform-origin: bottom;
    opacity: 0;
  }
  100% {
    transform: translateY(0) translateX(0%);
    opacity: 1;
    }
  }
  .visual_wrap .video_wrap {
    width: 100%;
    height: auto;
    position:static;
  }
  .visual_catch_wrap .service_word {
    margin: 0 0 0 5%;
    width: 95%;
    height: auto;
  }
  .visual_wrap .visual_effect .catch_obi01 {
    bottom: 50%;
    height: 12%;
  }
  .visual_wrap .visual_effect .catch_obi02 {
    height: 5%;
  }
  .visual_wrap .visual_effect .catch_obi04 {
    top: 3%;
  }
  #service .lead {
    width: 95%;
  }
  #service ul.client {
    flex-direction: column;
    width: 95%;
  }
  #service ul.items {
    width: 95%;
  }
  #service ul.client li {
    margin-bottom: 10px;
    width: 100%;
  }
  #service ul.items li {
    margin: 0 0 10px 0;
    width: 49%;
  }
  #service .text_wrap {
    width: 95%;
  }
  #portfolio ul li {
    width: calc(90% / 2);
  }
  #contact .content_box {
    width: 90%;
  }
}

@media screen and (max-width: 640px) {
  #about .flex_between {
    flex-direction: column;
  }
  #about .text_box {
    margin: 0 auto;
    width: 95%;
  }
  #about .pict {
    margin: 0 auto;
    width: 95%;
    display: flex;
    justify-content: center;
  }
  #about .pict p {
    width: 50%;
  }
}


@media screen and (max-width: 480px) {
  br.nobr_pc {
    display: block;
  }
  #service ul.items li {
    padding: 20px 10px;
  }
  .contact_form {
    flex-direction: column;
  }
  .contact_form dt, .contact_form dd {
    width: 100%;
  }
  #portfolio ul li h2 {
    width: 95%;
    font-size: 1.2rem;
    top: 30%;
  }
  #price .price_list .items {
    width: 100%;
  }
}

