@charset "UTF-8";
@-webkit-keyframes glitch-anim-1 {
  0% {
    clip-path: inset(40% 0 61% 0);
    -webkit-transform: translate(-2px, 2px);
            transform: translate(-2px, 2px);
  }
  20% {
    clip-path: inset(92% 0 1% 0);
    -webkit-transform: translate(2px, -2px);
            transform: translate(2px, -2px);
  }
  40% {
    clip-path: inset(43% 0 1% 0);
    -webkit-transform: translate(-2px, 2px);
            transform: translate(-2px, 2px);
  }
  60% {
    clip-path: inset(25% 0 58% 0);
    -webkit-transform: translate(2px, -2px);
            transform: translate(2px, -2px);
  }
  80% {
    clip-path: inset(54% 0 7% 0);
    -webkit-transform: translate(-2px, 2px);
            transform: translate(-2px, 2px);
  }
  100% {
    clip-path: inset(58% 0 43% 0);
    -webkit-transform: translate(2px, -2px);
            transform: translate(2px, -2px);
  }
}
@keyframes glitch-anim-1 {
  0% {
    clip-path: inset(40% 0 61% 0);
    -webkit-transform: translate(-2px, 2px);
            transform: translate(-2px, 2px);
  }
  20% {
    clip-path: inset(92% 0 1% 0);
    -webkit-transform: translate(2px, -2px);
            transform: translate(2px, -2px);
  }
  40% {
    clip-path: inset(43% 0 1% 0);
    -webkit-transform: translate(-2px, 2px);
            transform: translate(-2px, 2px);
  }
  60% {
    clip-path: inset(25% 0 58% 0);
    -webkit-transform: translate(2px, -2px);
            transform: translate(2px, -2px);
  }
  80% {
    clip-path: inset(54% 0 7% 0);
    -webkit-transform: translate(-2px, 2px);
            transform: translate(-2px, 2px);
  }
  100% {
    clip-path: inset(58% 0 43% 0);
    -webkit-transform: translate(2px, -2px);
            transform: translate(2px, -2px);
  }
}
@-webkit-keyframes glitch-anim-2 {
  0% {
    clip-path: inset(65% 0 5% 0);
    -webkit-transform: translate(2px, -2px);
            transform: translate(2px, -2px);
  }
  20% {
    clip-path: inset(45% 0 40% 0);
    -webkit-transform: translate(-2px, 2px);
            transform: translate(-2px, 2px);
  }
  40% {
    clip-path: inset(14% 0 71% 0);
    -webkit-transform: translate(2px, -2px);
            transform: translate(2px, -2px);
  }
  60% {
    clip-path: inset(80% 0 10% 0);
    -webkit-transform: translate(-2px, 2px);
            transform: translate(-2px, 2px);
  }
  80% {
    clip-path: inset(12% 0 78% 0);
    -webkit-transform: translate(2px, -2px);
            transform: translate(2px, -2px);
  }
  100% {
    clip-path: inset(38% 0 40% 0);
    -webkit-transform: translate(-2px, 2px);
            transform: translate(-2px, 2px);
  }
}
@keyframes glitch-anim-2 {
  0% {
    clip-path: inset(65% 0 5% 0);
    -webkit-transform: translate(2px, -2px);
            transform: translate(2px, -2px);
  }
  20% {
    clip-path: inset(45% 0 40% 0);
    -webkit-transform: translate(-2px, 2px);
            transform: translate(-2px, 2px);
  }
  40% {
    clip-path: inset(14% 0 71% 0);
    -webkit-transform: translate(2px, -2px);
            transform: translate(2px, -2px);
  }
  60% {
    clip-path: inset(80% 0 10% 0);
    -webkit-transform: translate(-2px, 2px);
            transform: translate(-2px, 2px);
  }
  80% {
    clip-path: inset(12% 0 78% 0);
    -webkit-transform: translate(2px, -2px);
            transform: translate(2px, -2px);
  }
  100% {
    clip-path: inset(38% 0 40% 0);
    -webkit-transform: translate(-2px, 2px);
            transform: translate(-2px, 2px);
  }
}
/*
==========================================================================
  スマートフォン用スタイル（sp.scss）
  - drawer.js を利用する案件のスマホ向けレイアウト調整
  - PC 用 common.css を壊さない範囲で上書きする
  - 必要に応じて drawer 関連ブロックは削除／コメントアウトして使う
==========================================================================
*/
/* 基本設定
******************************************************************************************** */
html {
  position: relative;
  -webkit-overflow-scrolling: touch;
  width: 100%;
  overflow-x: hidden;
  overflow-y: visible;
}

body {
  position: relative;
  width: 100%;
  min-width: 100%;
  overflow-x: hidden;
  overflow-y: visible;
}

img {
  width: 100%;
  height: auto;
}

/* ドロワーメニュー（drawer.js）関連
******************************************************************************************** */
/*
// drawer を使わない案件では、このブロックごと削除またはコメントアウトして利用すること
.drawer--navbarTopGutter {
  padding-top: 5rem !important;
}

.drawer-navbar-header {
  height: 5rem !important;
}

.drawer-navbar-header {
  //background: $c-black !important;
}

.drawer-navbar {
  .drawer-nav {
    padding-top: 5rem !important;
    padding-left: 15px;
    padding-right: 15px;
    //background: $c-black !important;
    //color: $c-white !important;

    a {
      @include fs(16);
      //color: $c-white !important;
    }
  }
}

.drawer-dropdown-menu {
  padding-top: 20px !important;
  //background: $c-black !important;

  >li {
    border-bottom: 0 !important;

    &::before {
      display: none;
    }
  }
}

.drawer-hamburger {
  width: 3rem !important;
  padding-top: 12px !important;
}

.drawer-brand {
  width: 50%;
}

.drawer-menu {
  li {
    @include fs(14);
    text-align: left;
    border-bottom: 1px solid $c-line;
    padding: 5px 5px 5px 20px;
    position: relative;

    &::before {
      @include center;
      content: "";
      display: inline-block;
      position: absolute;
      left: 2%;
    }

    span {
      @include fs(12);
      margin-left: 20px;
    }

    &::before {}

    &.info {
      padding: 0;
      padding-top: 20px;
      border: 0;

      &::before {
        display: none;
      }
    }

    .btn {
      @include btn;
      text-align: center;
      margin: 0;

      a {
        color: $c-black !important;
      }
    }
  }
}

.drawer-navbar .drawer-hamburger-icon,
.drawer-navbar .drawer-hamburger-icon::after,
.drawer-navbar .drawer-hamburger-icon::before {
  background-color: $c-line;
}

.drawer--top.drawer-open .drawer-nav {
  top: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.drawer--left.drawer-open .drawer-nav,
.drawer--left .drawer-hamburger,
.drawer--left.drawer-open .drawer-navbar .drawer-hamburger {
  left: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.drawer--right.drawer-open .drawer-nav,
.drawer--right .drawer-hamburger,
.drawer--right.drawer-open .drawer-navbar .drawer-hamburger {
  right: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
*/
/* レイアウト設定
******************************************************************************************** */
/* 共通設定 */
/* Net:Engage; のSP表示では .pc-mode を隠し、.sp-mode を表示する */
.pc-mode {
  display: none;
}

.sp-mode {
  display: block;
}

/* ヘッダー SP向け上書き
******************************************************************************************** */
.header__logo-sub {
  font-size: 10px;
  font-size: 1rem;
  line-height: 1.4;
}
.header__nav {
  display: none;
  position: fixed;
  top: 70px;
  left: 0;
  width: 100%;
  background: rgba(10, 10, 10, 0.98);
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0;
  padding: 20px 0;
}
.header__nav-link {
  padding: 15px 5%;
  border-bottom: 1px solid rgba(139, 21, 56, 0.2);
}
.header__nav.active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.header__menu-toggle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

/* フッター SP向け上書き
******************************************************************************************** */
.footer__content {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
}

/* トップページ Hero セクション SP向け上書き
******************************************************************************************** */
.hero::before {
  width: 400px;
  height: 400px;
  opacity: 0.05;
}
.hero__inner {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 0 5%;
}
.hero__content {
  margin-left: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 100%;
          flex: 1 1 100%;
}
.hero__content::before {
  width: 300px;
}
.hero__content::after {
  width: 200px;
}
.hero__label {
  font-size: 12px;
  font-size: 1.2rem;
  letter-spacing: 0.12em;
}
.hero__title {
  font-size: 48px;
  font-size: 4.8rem;
}
.hero__subtitle {
  font-size: 16px;
  font-size: 1.6rem;
}
.hero__devices {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 40px;
  margin-left: 0;
  width: 100%;
  height: 360px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.hero__mockup {
  width: 100%;
  max-width: 380px;
  height: 100%;
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
  -webkit-transform-origin: center;
          transform-origin: center;
}

.cta__title {
  font-size: 30px;
  font-size: 3rem;
}

/* About Intro セクション SP向け上書き
******************************************************************************************** */
.about-intro__inner {
  padding: 30px 20px 36px;
  -webkit-box-shadow: 0 16px 40px rgba(92, 10, 10, 0.25);
          box-shadow: 0 16px 40px rgba(92, 10, 10, 0.25);
}
.about-intro__label {
  font-size: 12px;
  font-size: 1.2rem;
  margin-bottom: 8px;
}
.about-intro__title {
  margin-bottom: 20px;
}
.about-intro__title-main {
  font-size: 26px;
  font-size: 2.6rem;
}
.about-intro__title-sub {
  font-size: 12px;
  font-size: 1.2rem;
  letter-spacing: 0.16em;
}
.about-intro__lead {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.7;
  margin-right: 0;
}
.about-intro__text {
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.7;
  margin-right: 0;
}
.about-intro__photo {
  width: 100%;
  float: none;
  margin-bottom: 20px;
  text-align: center;
  position: static;
  right: auto;
  bottom: auto;
  z-index: 1;
}
.about-intro__photo img {
  border-radius: 10px;
}

/* Services セクション SP向け上書き
******************************************************************************************** */
.services__title {
  font-size: 36px;
  font-size: 3.6rem;
}
.services__grid {
  grid-template-columns: 1fr;
}
.services__card {
  padding: 24px 20px;
}

.service-detail-card {
  padding: 20px;
}

/* Portfolio セクション SP向け上書き
******************************************************************************************** */
.portfolio__title {
  font-size: 36px;
  font-size: 3.6rem;
}
.portfolio__grid {
  grid-template-columns: 1fr;
}

/* CTA セクション SP向け上書き
******************************************************************************************** */
.cta__title {
  font-size: 32px;
  font-size: 3.2rem;
}
.cta__desc {
  font-size: 16px;
  font-size: 1.6rem;
}
.cta__buttons {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

/* 下層ページ SP向け上書き
******************************************************************************************** */
.page-header {
  padding: 120px 0 60px;
}
.page-header .page-title {
  font-size: 36px;
  font-size: 3.6rem;
}
.page-header .page-subtitle {
  font-size: 14px;
  font-size: 1.4rem;
}

.content-box {
  padding: 30px 20px;
}
.content-box__profile {
  float: none;
  max-width: 100%;
  margin: 0 0 10px;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(139, 21, 56, 0.5);
  -webkit-box-shadow: 0 18px 35px rgba(92, 10, 10, 0.45);
          box-shadow: 0 18px 35px rgba(92, 10, 10, 0.45);
  position: relative;
  background: radial-gradient(circle at top, rgba(139, 21, 56, 0.2), rgba(10, 10, 10, 0.9));
}
.content-box__profile img {
  display: block;
  width: 100%;
  height: auto;
}

.services-detail-grid {
  grid-template-columns: 1fr;
}

.about-building {
  margin: 30px 0 40px;
}
.about-building__inner img {
  height: 180px;
}

/* 会社情報テーブル SP向け上書き
******************************************************************************************** */
.info-table {
  display: block;
  width: 100%;
}
.info-table__row {
  display: block;
  border-bottom: none;
  padding: 16px 0;
}
.info-table__header {
  display: block;
  width: 100%;
  padding: 0 0 4px;
  font-size: 12px;
  font-size: 1.2rem;
  color: #8B1538;
  border: none;
}
.info-table__data {
  display: block;
  width: 100%;
  padding: 0 0 12px;
  font-size: 14px;
  font-size: 1.4rem;
  color: #e0e0e0;
  border-bottom: 1px solid rgba(139, 21, 56, 0.2);
}
.info-table__row:last-child .info-table__data {
  border-bottom: none;
}

/* 制作実績 SP向け上書き
******************************************************************************************** */
.works-grid {
  grid-template-columns: 1fr;
}

/* パートナー一覧（Partners） SP向け上書き
******************************************************************************************** */
.partners-grid {
  grid-template-columns: 1fr;
}

/* お問い合わせページ（Contact） SP向け上書き
******************************************************************************************** */
.contact-wrapper {
  grid-template-columns: 1fr;
  gap: 24px;
}

.contact-form-container,
.contact-info {
  padding: 30px 20px;
}

.contact-form-container__title,
.contact-info__title {
  font-size: 22px;
  font-size: 2.2rem;
  margin-bottom: 20px;
}

/* 制作実績詳細（Work Detail） SP向け上書き
******************************************************************************************** */
.work-detail {
  grid-template-columns: 1fr;
}
.work-detail__content {
  padding: 20px;
}

.work-detail__results {
  grid-template-columns: 1fr;
}

.work-detail__cta .button {
  width: 100%;
}

/* 料金ページ（Pricing） SP向け上書き
******************************************************************************************** */
/* 料金ページ（Pricing） SP向け上書き
******************************************************************************************** */
.pricing-grid {
  grid-template-columns: 1fr;
}

.pricing-note__text {
  padding: 20px;
  text-align: left;
}

.pricing-card {
  padding: 30px 20px;
  min-height: 0;
}
.pricing-card__title {
  letter-spacing: normal;
}
.pricing-card--lp {
  display: block;
  text-align: center;
}
.pricing-card--lp .pricing-card__image {
  margin: 20px 0;
}
.pricing-card--lp .pricing-card__recommend {
  display: block;
  grid-template-columns: none;
  -webkit-column-gap: 0;
     -moz-column-gap: 0;
          column-gap: 0;
  text-align: left;
}
.pricing-card--lp .pricing-card__recommend-body {
  margin-bottom: 12px;
}
.pricing-card--lp .pricing-card__recommend-visual {
  margin-top: 8px;
}
.pricing-card--lp .pricing-card__recommend-visual img {
  width: 100%;
  height: auto;
  display: block;
}

.pricing-lp {
  margin-bottom: 30px;
}

/* 追加料金リスト（Pricing Addon） SP向け上書き
******************************************************************************************** */
.pricing-list--addon {
  display: block;
}

.pricing-list--addon .pricing-list__item {
  background: rgba(10, 10, 10, 0.3);
  margin-bottom: 8px;
  padding-left: 32px;
  padding-right: 10px;
}

.pricing-list--addon .pricing-list__item::before {
  left: 12px;
}

/* その他サービス（Additional Pricing） SP向け上書き
******************************************************************************************** */
.additional-pricing {
  grid-template-columns: 1fr;
  gap: 20px;
  margin-top: 20px;
}
.additional-pricing .pricing-item {
  padding: 36px 20px 22px;
}
.additional-pricing .pricing-item::before {
  top: 18px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.additional-pricing .pricing-item__title {
  margin-top: 16px;
  text-align: center;
}

.pricing-list--services {
  display: block;
}

.pricing-list--services .pricing-list__item {
  border-bottom: 1px solid rgba(139, 21, 56, 0.1);
  margin-bottom: 4px;
}

/* 制作の流れ（Process Steps） SP向け上書き
******************************************************************************************** */
.process-steps {
  grid-template-columns: 1fr;
}

.process-step::after {
  display: none;
}/*# sourceMappingURL=sp.css.map */