@charset "utf-8";
@media (max-width: 670px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: inline !important;
  }

  .header {
    height: 40px;
    padding: 20px 0 0;
    background: #fff;
  }
  .logo-area .logo-area-img {
    line-height: 30px;
  }
  .header-left {
    display: none;
  }
  .header-right {
    float: none;
    text-align: center;
    margin: initial;
  }
  .header-right a {
    line-height: 60px;
    font-size: 12px;
    padding: 5px;
    margin: 4px;
  }

  .main-visual {
    padding: 60px 0 0;
  }
  .main-visual img {
    margin-bottom: 2em;
  }

  .co-main {
    margin-top: 3em;
  }
  .co-visual img {
    width: 100%;
    padding-top: 60px;
  }

  .notice {
    margin-top: initial;
    margin-bottom: 1.5rem;
  }
  time {
    margin-right: 1em;
  }

  .service {
    padding: 1em 0;
  }
  .service-text {
    font-size: 13px;
  }
  .serv-card {
    width: initial;
  }
  .serv-card-wrapper {
    margin: 0.5em 0 3em;
  }
  .serv-container {
    margin-bottom: 4em;
  }

  .project-main {
    margin: 3em 0 5em;
  }
  .pjt-visual img {
    width: 100%;
    padding-top: 60px;
  }
  .pjt-h {
    font-size: 1.1em;
  }
  .pjt span {
    font-size: 0.75em;
    padding: 0.3em 0.5em;
  }
  .pjt-text {
    font-size: 0.8em;
  }

  .acs-visual {
    margin-bottom: 3em;
  }
  .acs-visual img {
    width: 100%;
    padding-top: 60px;
  }
  .access-main {
    margin: 3em 0;
  }
  .access-text {
    margin: 2em auto 0;
  }

  .serv-body {
    width: initial;
  }
  .serv-desc {
    margin-bottom: 2em;
  }
  .serv-major {
    font-size: 18px;
    margin: 0.5em 0;
  }
  .serv-btn {
    font-size: 0.9em;
    padding: 1em 2em;
  }
  .serv-main {
    margin-top: 3em;
  }
  .serv-main-container {
    margin-bottom: 1em;
  }
  .serv-visual img {
    width: 100%;
    padding-top: 60px;
  }
  .serv-img img {
    width: 100%;
  }
  .serv-main .serv-title {
    font-size: 1.5em;
  }
  .serv-text {
    margin-bottom: 1em;
  }

  .privacypolicy-visual {
    margin-bottom: 3em;
  }

  .under-sm {
    width: initial;
    padding: 30px;
  }
  .under-sm-left {
    float: initial;
    margin: initial;
    /* text-align: center; */
    /* margin-bottom: 1em; */
  }
  .under-sm-left img {
    width: 80%;
    margin-bottom: 1em;
  }
  .under-sm-right {
    display: initial;
    float: initial;
    text-align: center;
  }
  .under-sm-card {
    width: initial;
    padding: initial;
    margin-bottom: 0.5em;
    text-align: left;
    border: initial;
  }

  .ocean-lp {
    margin-top: 2em;
  }

  .footer-left {
    margin-left: 10px;
    font-size: 11px;
  }
  .footer-right {
    margin-right: 10px;
    font-size: 11px;
  }

  /* お問い合わせフォーム */
  #formWrap {
    width: 95%;
    margin: 0 auto;
    padding-top: 2em;
  }
  table.formTable th,
  table.formTable td {
    width: auto;
    display: block;
  }
  table.formTable th {
    margin-top: 5px;
    border-bottom: 0;
  }
  input[type="text"],
  textarea {
    width: 80%;
    padding: 5px;
    font-size: 110%;
    display: block;
  }
  input[type="submit"],
  input[type="reset"],
  input[type="button"] {
    display: block;
    width: 100%;
    height: 40px;
  }
  .form-cont {
    height: 85px;
  }
  .form-check {
    margin: 1em 0;
  }
  .form-reset {
    margin-bottom: 1em;
  }
  /* //お問い合わせフォーム */

  /* header内ハンバーガーメニュー */
  #nav-drawer {
    position: relative;
  }

  /*チェックボックス等は非表示に*/
  .nav-unshown {
    display: none;
  }

  /*アイコンのスペース*/
  #nav-open {
    display: inline-block;
    /* width: 30px; */
    height: 22px;
    vertical-align: middle;
  }

  /*ハンバーガーの形をCSSで表現*/
  #nav-open span,
  #nav-open span:before,
  #nav-open span:after {
    position: absolute;
    height: 3px; /*線の太さ*/
    width: 25px; /*長さ*/
    border-radius: 3px;
    background: #555;
    display: block;
    content: "";
    cursor: pointer;
  }
  #nav-open span:before {
    bottom: -8px;
  }
  #nav-open span:after {
    bottom: -16px;
  }

  /*閉じる用の薄黒箇所*/
  #nav-close {
    display: none;
    position: fixed;
    z-index: 99;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: black;
    opacity: 0;
    transition: 0.3s ease-in-out;
  }

  /*メニューの中身*/
  #nav-content {
    overflow: auto;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 90%;
    max-width: 330px; /*最大幅（お好みで調整を）*/
    height: 100%;
    background: #fff;
    transition: 0.3s ease-in-out;
    -webkit-transform: translateX(-105%);
    transform: translateX(-105%);
  }

  /*チェックがついたら表示させる*/
  #nav-input:checked ~ #nav-close {
    display: block;
    opacity: 0.5;
  }

  #nav-input:checked ~ #nav-content {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    box-shadow: 6px 0 25px rgba(0, 0, 0, 0.15);
  }

  .header-logo-menu {
    display: flex;
    display: -moz-flex;
    display: -o-flex;
    display: -webkit-flex;
    display: -ms-flex;
    flex-direction: row;
    -moz-flex-direction: row;
    -o-flex-direction: row;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    padding-left: 1em;
  }

  /*ロゴやサイトタイトルをセンタリング*/
  .logo-area {
    text-align: center;
    margin: auto;
  }

  #nav-content ul li a {
    font-size: 20px;
  }
  /* //header内ハンバーガーメニュー */

  /* company.html */
  .co-msg {
    font-size: 25px;
    margin: 2em 0 0.5em;
  }
  .co-h {
    font-size: 20px;
    margin-bottom: initial;
  }
  .co-container {
    margin-bottom: 5em;
  }
  .co-mp-inner {
    margin: 2em 0.5em;
  }
  table {
    width: 100%;
  }
  td,
  th {
    font-size: 14px;
    padding: 10px 15px;
  }
  .co-text,
  .co-mp-text,
  .hist-text {
    font-size: 14px;
  }
  /* //company.html */

  /* youtube広告 */
  .cover-heading-inner {
    position: absolute;
    top: 8em;
    left: 2em;
    color: #fff;
  }
  .contents-box,
  .flex-left,
  .flex-right {
    display: block;
  }
  .content-2 .img-3 {
    width: 50%;
  }
  .flex-left .text {
    margin-left: 0;
  }
  .flex-right .text {
    margin-right: 0;
  }
  /* //youtube広告 */
}
