@charset "utf-8";
@media screen and (max-width: 960px) {
  .sp-only {
    display: flex !important;
  }
  .pc-only {
    display: none !important;
  }
  .section-title {
    margin: 40px 0;
  }
  .section-title h4 {
    font-size: 21px;
  }
  .section-title span {
    font-size: 14px;
  }
  .main__logo {
    width: 300px;
    margin: -30px 0 0 0;
  }
  .main__catch {
    width: 100%;
    padding: 0 15px;
    margin: 15px 0 0 0;
    font-size: 14px;
    line-height: 20px;
    text-align: center;
  }
  .main::after {
    width: calc(100vw - 40px);
  }
  .header-menu.gallery {
    height: 50px;
    display: block;
    padding: 13px 0;
  }
  .header-menu.gallery .top {
    font-size: 15px;
  }
  .header-menu {
    height: auto;
    background: #1959a0;
    display: block;
  }
  .header-menu__list {
    width: 100%;
  }
  .header-menu__item {
    height: 40px;
    padding: 0 2px;
    font-size: 13px;
    border-right: 1px solid #1959a0;
    border-bottom: 1px solid #1959a0;
    background: #0b67cc;
  }
  .header-menu__item a::before,
  .header-menu__item a::after {
    display: none;
  }
  .section-title p {
    margin: 0 0 10px 0;
    font-size: 17px;
  }
  .section-title h2 {
    font-size: 26px;
    line-height: 26px;
  }
  .about-cont {
    margin-top: 40px;
  }
  .about-cont__txt-block h2 {
    font-size: 14px;
    line-height: 23px;
  }
  .about-cont__centering {
    padding: 0 30px;
    display: block;
  }
  .about-cont__img {
    width: 100%;
    height: auto;
  }
  .about-cont__txt-block {
    width: 100%;
    margin: 30px 0 0 0;
    padding: 0;
  }
  .about-cont__txt-block h2 .company {
    font-size: 20px;
    font-weight: bold;
  }
  .works-cont {
    width: 100%;
  }
  .works-block {
    margin: 40px 0 0 0;
    padding: 0 15px 20px 15px;
  }
  .works-list__txt-block h3 {
    font-size: 20px;
  }
  .works-list__txt-block p {
    font-size: 18px;
    line-height: 24px;
  }
  .works-list__item {
    flex-wrap: wrap;
    margin: 0 0 20px 0;
    padding: 15px;
  }
  .works-list__img {
    width: 100%;
    height: auto;
    min-width: 0;
  }
  .works-list__txt-block {
    width: 100%;
    padding: 15px 0 0 0;
  }
  .recruit-block {
    margin: 0;
  }
  .company-cont {
    width: 100%;
    flex-wrap: wrap;
    padding: 0 15px;
  }
  .company-list {
    margin: 0;
  }
  .company-list__item {
    height: auto;
  }
  .company-list__item p {
    font-size: 13px;
  }
  .company-list__item p:first-child {
    flex: 4;
    font-size: 13px;
  }
  .gallery-block .js-modal {
    width: calc(100% / 2);
  }
  .gallery-block .big {
    height: auto;
    width: 90%;
  }
  .gallery-block .big ~ .next,
  .gallery-block .big ~ .prev {
    bottom: 20px;
    transform: none;
    visibility: visible;
    border-radius: 5px;
    top: inherit;
    width: 60px;
    height: 60px;
  }
  .gallery-block .big ~ .prev {
    left: 20px;
  }
  .contact-block {
    margin: 0 0 0 0;
    padding: 10px 0 50px 0;
  }
  .contact-block__centering {
    width: 100%;
    padding: 0 30px;
  }
  .iso-block {
    flex-wrap: wrap;
    font-size: 18px;
    text-align: center;
  }
  .iso-block__img {
    margin-bottom: 10px;
  }
  .confirm,
  .complete,
  #formWrap h4 {
    width: 100%;
    padding: 30px 15px;
    line-height: 24px;
    font-size: 21px;
  }
  .mail-step .formTable {
    width: 100%;
    padding: 0 15px;
  }
  .mail-step .contact-block__btn-block {
    padding: 0 15px;
  }
  .mail-step .contact-block__btn-block .contact-block__btn-send {
    margin: 0 0 20px 0 !important;
  }
  .mail-step
    .contact-block__btn-block.two
    .contact-block__btn-send:first-child {
    margin-right: 10px !important;
  }
  .error_messe {
    width: 100%;
    padding: 0 15px;
    font-size: 15px;
  }
  .contact-block__btn-send {
    width: 100%;
  }
  .contact-tell-block .contact,
  .contact-tell-block .tell {
    width: 100%;
    padding: 20px 0;
    font-size: 22px;
  }
  .contact-tell-block .contact {
    margin-bottom: 0;
  }
  .footer {
    margin-bottom: 50px;
  }
  .cta-footer {
    height: 50px;
  }
  .cta-footer .contact,
  .cta-footer .tell {
    font-size: 18px;
  }
  .sdgs-header {
    height: 120px;
  }
  .sdgs-header h2 {
    font-size: 20px;
    line-height: 27px;
  }
  .sdgs-main {
    width: 100%;
    padding: 20px 0 10px 0;
  }
  .sdgs-main img {
    width: 100%;
    padding: 0 10px;
  }
  .sdgs-main p {
    width: 100%;
    padding: 0 20px;
  }
  .sdgs {
    width: 100%;
  }
  .sdgs iframe {
    width: 100%;
    height: 237px;
    margin: 0;
    padding: 0 20px;
  }
  .sdgs .footer {
    margin: 0;
  }
  .news-cont {
    width: 100%;
    padding: 0 15px;
  }
  .news-list__item {
    flex-wrap: wrap;
  }
  .news-list__item p {
    font-size: 13px;
    line-height: 19px;
    margin: 8px 0 0 0;
  }
  .news-list__item span {
    width: 90px;
    font-size: 13px;
    margin: 4px 0 0 0;
  }
  .news-block {
    margin: 30px 0 0 0;
  }
  ul.header-menu__list:first-child li.header-menu__item:first-child {
    width: 40px;
  }
  li.header-menu__item:first-child {
    width: 100%;
    margin: 0;
  }
  li.header-menu__item:first-child.home {
    width: 50px;
    min-width: 50px;
    margin: 0;
  }
  .download-block {
    width: auto;
    margin: 0 30px;
    padding: 20px;
    font-size: 15px;
    line-height: 19px;
  }
  .download-block a {
    width: auto;
    height: auto;
    margin: 20px 0 0 0;
    padding: 15px !important;
    display: inline-block;
    background: #4e8fdb;
    border-radius: 3px;
    color: #ffffff;
    font-size: 14px;
    font-weight: bold;
    text-decoration: none;
  }
}
