/* 全体のスタイルの設定 */

* {
  box-sizing: border-box;
}

/* bodyの初期スタイル設定 */
body {
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: 0.1em;
  font-family: 'M PLUS 1p', sans-serif;
  font-weight: 300;
  color: #fff;
  background-color: #05002b;
  -webkit-text-size-adjust:100%;
}

/* 初期スタイル調整 */

h2,
h3 {
  margin-top: 0;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
}

h2, .txt-h2 {
  font-size: 40px;
  font-weight: 900;
}

h3, .txt-h3 {
  font-size: 40px;
  font-weight: 700;
}

.txt-prof_1 {
  font-size: 40px;
  font-weight: 500;
}

.txt-prof_2 {
  font-size: 20px;
  font-weight: 500;
}

.txt-h3_works {
  font-size: 30px;
  font-weight: 500;
}

.txt-h3_works::before {
  display: inline-block;
  position: relative;
  content: "";
  width: 44px;
  height: 44px;
  top: 1px;
  left: -4px;
  background: url(../img/h3-circle-sp.png) no-repeat 50% 50%;
}

.txt-h3_about::before {
  display: inline-block;
  position: relative;
  content: "";
  width: 44px;
  height: 44px;
  top: -3px;
  left: -11px;
  background: url(../img/h3-moon-sp.png) no-repeat 50% 50%;
}

h4, .txt-h4 {
  font-size: 24px;
  font-weight: 500;
}

h4.h4_works::before {
  content: "";
  background: url(../img/h3-diamond-sp.png) no-repeat;
  display: inline-block;
  width: 35px;
  height: 35px;
  vertical-align: middle;
  margin: 0 10px 3px 0;
}

.txt-top {
  font-size: 30px;
  font-weight: 900;
}

.txt-desc {
  font-size: 20px;
  font-weight: 500;
}

.txt-contents {
  font-size: 20px;
  font-weight: 700;
}

.txt-contact {
  font-size: 16px;
  font-weight: 300;
}

.txt-alert {
  color: #ED2B2B;
}

.txt-marker {
  color: #25FFDB;
}

.txt-small {
  font-size: 10px;
}

.txt-button {
  font-size: 24px;
  font-weight: 900;
  letter-spacing: 0.1em;
}

.txt-header {
  font-size: 40px;
  font-weight: 900;
  letter-spacing: 0.1em;
}

#txt-copyright {
  font-size: 8px;
  font-weight: 300;
}

@media screen and (max-width: 400px) {
  .txt-h3_works {
    font-size: 20px;
    font-weight: 500;
    width: 100vw;
  }

  .txt-h3_works::before {
    display: inline-block;
    position: relative;
    content: "";
    width: 55px;
    height: 55px;
    top: 10px;
    left: 1px;
    background: url(../img/h3-circle-sp.png) no-repeat 50% 50%;
  }

  .txt-h3_about {
    font-size: 20px;
    font-weight: 500;
  }

  .txt-h3_about::before {
    display: inline-block;
    position: relative;
    content: "";
    width: 55px;
    height: 55px;
    top: 8px;
    left: 1px;
    background: url(../img/h3-moon-sp.png) no-repeat 50% 50%;
  }

  .txt-h4 {
    font-size: 20px;
    font-weight: 500;
  }
}


@media screen and (min-width: 768px) {
  body {
    font-size: 24px;
    font-weight: 300;
  }

  h2, .txt-h2 {
    font-size: 60px;
  }

  h3, .txt-h3 {
    font-size: 60px;
  }

  .txt-h3_works {
    font-size: 60px;
    font-weight: 500;
  }

  .txt-h3_works::before {
    display: inline-block;
    position: relative;
    content: "";
    width: 120px;
    height: 120px;
    top: 10px;
    left: 8px;
    background: url(../img/h3-circle-pc.png) no-repeat 50% 50%;
  }

  .txt-h3_about::before {
    display: inline-block;
    position: relative;
    content: "";
    width: 120px;
    height: 120px;
    top: 10px;
    left: 8px;
    background: url(../img/h3-moon-pc.png) no-repeat 50% 50%;
  }

  h4, .txt-h4 {
    font-size: 40px;
    font-weight: 500;
  }

  h4.h4_works::before {
    content: "";
    background: url(../img/h3-diamond-pc.png) no-repeat;
    display: inline-block;
    width: 50px;
    height: 50px;
    vertical-align: middle;
    margin: 0 10px 3px 0;
  }

  .txt-header {
    font-size: 24px;
  }

  .txt-prof_2 {
    font-size: 24px;
  }
}

p {
  margin-top: 0;
  margin-bottom: 1.5em;
  text-align: center;
}

a {
  color: #fff;
  text-decoration: none;
}

@media screen and (min-width: 768px) {

  a:hover,
  a:focus {
    animation: neon1 1.5s ease-in-out infinite alternate;
  }

  @keyframes neon1 {
    from {
      text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #fff, 0 0 40px #ff1177,
        0 0 70px #ff1177, 0 0 80px #ff1177, 0 0 100px #ff1177, 0 0 150px #ff1177;
    }

    to {
      text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #fff, 0 0 20px #ff1177,
        0 0 35px #ff1177, 0 0 40px #ff1177, 0 0 50px #ff1177, 0 0 75px #ff1177;
    }
  }

}

ul {
  margin: 1em 0;
  padding: 0;
  list-style: none;
}

section {
  padding: 60px 0;
}

/* Common button styles */
.btn {
  display: block;
  padding: 15px 15px;
  border-radius: 20px;
  margin: 0 auto;
  margin-bottom: 0;
  overflow: hidden;
  position: relative;
  -webkit-transform: translatez(0);
  transform: translatez(0);
  text-decoration: none;
  box-sizing: border-box;
}

.btn:hover, .btn:focus {
  text-decoration: none;
}

/* ピンクのボタン */
.sweepButton_p {
  border: none;
  color: #05002b;
  background: #de009f;
}

/* 黄色のボタン */
.sweepButton_y {
  border: none;
  color: #05002b;
  background: #f4e53d;
}

/* 白のボタン */
.sweepButton_w {
  border: none;
  color: #05002b;
  background: white;
}

/* contactのボタン */
.btn-contact {
  color: white;
  background: #05002b;
  border: 1px solid white;
  font-size: 26px;
  padding: 10px 20px;
  font-weight: 500;
}

@media screen and (min-width: 768px) {
  /* ピンクのボタン */

  .sweepButton_p, .sweepButton_w {
    border: 2px solid rgba(222, 0, 159, 0.2);
    color: white;
    background: #05002b;
    -webkit-transition: all 0.2s ease-out 0s;
    transition: all 0.2s ease-out 0s;
  }

  .sweepButton_p .gradient_p,
  .sweepButton_w .gradient_p {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 300%;
    height: 100%;
    bottom: auto;
    margin: auto;
    z-index: -1;
    background: black;
    background: -moz-linear-gradient(90deg, black 0%, #de009f 94%, black 100%);
    background: -webkit-gradient(linear, left bottom, right top, color-stop(0%, black), color-stop(94%, #de009f), color-stop(100%, black));
    background: -webkit-linear-gradient(90deg, black 0%, #de009f 94%, black 100%);
    background: -o-linear-gradient(90deg, black 0%, #de009f 94%, black 100%);
    background: -ms-linear-gradient(90deg, black 0%, #de009f 94%, black 100%);
    background: linear-gradient(90deg, black 0%, #de009f 94%, black 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=“#000000", endColorstr="#000000”, GradientType=1);
    -webkit-transition: all 0s ease-out 0s;
    transition: all 0s ease-out 0s;
    -webkit-transform: translateX(-35%);
    -moz-transform: translateX(-35%);
    transform: translateX(-35%);
  }

  .sweepButton_p:hover, .sweepButton_p:focus,
  .sweepButton_w:hover, .sweepButton_w:focus {
    border: 2px solid rgba(222, 0, 159, 0.8);
    color: #f0f0f0;
    -webkit-transition: all 0.3s ease-out 0.1s;
    transition: all 0.3s ease-out 0.1s;
  }

  .sweepButton_p:hover .gradient_p,
  .sweepButton_p:focus .gradient_p,
  .sweepButton_w:hover .gradient_p,
  .sweepButton_w:focus .gradient_p {
    -webkit-transform: translateX(100%);
    -moz-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transition: all 0.8s ease-out 0s;
    transition: all 0.8s ease-out 0s;
  }

  /* 黄色のボタン */

  .sweepButton_y {
    border: 2px solid rgba(244, 229, 61, 0.2);
    color: white;
    background: #05002b;
    -webkit-transition: all 0.2s ease-out 0s;
    transition: all 0.2s ease-out 0s;
  }

  .sweepButton_y .gradient_y {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 300%;
    height: 100%;
    bottom: auto;
    margin: auto;
    z-index: -1;
    background: black;
    background: -moz-linear-gradient(90deg, black 0%, #f4e53d 94%, black 100%);
    background: -webkit-gradient(linear, left bottom, right top, color-stop(0%, black), color-stop(94%, #f4e53d), color-stop(100%, black));
    background: -webkit-linear-gradient(90deg, black 0%, #f4e53d 94%, black 100%);
    background: -o-linear-gradient(90deg, black 0%, #f4e53d 94%, black 100%);
    background: -ms-linear-gradient(90deg, black 0%, #f4e53d 94%, black 100%);
    background: linear-gradient(90deg, black 0%, #f4e53d 94%, black 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=“#000000", endColorstr="#000000”, GradientType=1);
    -webkit-transition: all 0s ease-out 0s;
    transition: all 0s ease-out 0s;
    -webkit-transform: translateX(-35%);
    -moz-transform: translateX(-35%);
    transform: translateX(-35%);
  }

  .sweepButton_y:hover, .sweepButton_y:focus {
    border: 2px solid rgba(244, 229, 61, 0.8);
    color: #f0f0f0;
    -webkit-transition: all 0.3s ease-out 0.1s;
    transition: all 0.3s ease-out 0.1s;
  }

  .sweepButton_y:hover .gradient_y, .sweepButton_y:focus .gradient_y {
    -webkit-transform: translateX(100%);
    -moz-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transition: all 0.8s ease-out 0s;
    transition: all 0.8s ease-out 0s;
  }

  /* 白のボタン */

  .sweepButton_w {
    border: 2px solid rgba(255, 255, 255, 0.2);
    color: white;
    background: #05002b;
    -webkit-transition: all 0.2s ease-out 0s;
    transition: all 0.2s ease-out 0s;
  }

  .sweepButton_w .gradient_w {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 300%;
    height: 100%;
    bottom: auto;
    margin: auto;
    z-index: -1;
    background: black;
    background: -moz-linear-gradient(90deg, black 0%, #fff 94%, black 100%);
    background: -webkit-gradient(linear, left bottom, right top, color-stop(0%, black), color-stop(94%, #fff), color-stop(100%, black));
    background: -webkit-linear-gradient(90deg, black 0%, #fff 94%, black 100%);
    background: -o-linear-gradient(90deg, black 0%, #fff 94%, black 100%);
    background: -ms-linear-gradient(90deg, black 0%, #fff 94%, black 100%);
    background: linear-gradient(90deg, black 0%, #fff 94%, black 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=“#000000", endColorstr="#000000”, GradientType=1);
    -webkit-transition: all 0s ease-out 0s;
    transition: all 0s ease-out 0s;
    -webkit-transform: translateX(-35%);
    -moz-transform: translateX(-35%);
    transform: translateX(-35%);
  }

  .sweepButton_w:hover, .sweepButton_w:focus {
    border: 2px solid rgba(255, 255, 255, 0.8);
    color: #f0f0f0;
    -webkit-transition: all 0.3s ease-out 0.1s;
    transition: all 0.3s ease-out 0.1s;
  }

  .sweepButton_w:hover .gradient_w, .sweepButton_w:focus .gradient_w {
    -webkit-transform: translateX(100%);
    -moz-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transition: all 0.8s ease-out 0s;
    transition: all 0.8s ease-out 0s;
  }

}


/* Neumorphismのボタン */

.neumorButton {
  display: block;
  padding: 20px 35px;
  margin: 0 auto;
  border: none;
  color: white;
  letter-spacing: 0.1em;
  line-height: 1.7;
  font-size: 24px;
  font-weight: 500;
  border-radius: 60px;
  background: #05002b;
  box-shadow: 18px 18px 43px #03001c,
    -18px -18px 43px #07003a;
}

.neumorButton:hover,
.neumorButton:focus {
  box-shadow: none;
}


/* コンテンツを格納するスタイル */

.inner {
  padding: 200px 0 0;
  margin: 0 auto;
}

/* PC用のスタイル*/
@media screen and (min-width: 768px) {
  .inner {
    max-width: 1200px;
  }
}

/* モバイルとPCでの表示に関するスタイル */
.sp-only {
  display: block;
}

.pc-only {
  display: none;
}

/* PC用のスタイル */
@media screen and (min-width: 768px) {
  .sp-only {
    display: none;
  }

  .pc-only {
    display: block;
  }
}

/* headerのスタイル */
.header {
  position: fixed;
  top: 0;
  width: 100vw;
  padding: 10px 50px 10px;
  background: #05002b;
  z-index: 200;
}

/* サイトロゴとナビゲーションの並び */
.logo-menu {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

/* サイトロゴの表示 */
.logo-area {
  width: 200px;
  margin: 0;
  text-align: left;
}


/* ハンバーガーメニュー */
.gnav-toggle {
  position: relative;
}

#gnav-open {
  display: inline-block;
  width: 55px;
  height: 55px;
  vertical-align: middle;
}

.navBtn {
  display: block;
  height: 55px;
  margin-top: 12px;
  cursor: pointer;
  position: absolute;
}

.gnav-hidden {
  display: none;
}

#gnav-close {
  display: none;
  position: fixed;
  z-index: 90;
  top: 93px;
  left: 0;
  width: 100%;
  height: 100%;
  background: #05002b;
  opacity: 0;
  transition: 0.3s ease-in-out;
}

#gnav-input:checked~#gnav-close {
  display: block;
  opacity: 1;
}

#gnav-input:checked~#gnav-content {
  transform: translateX(0%);
}

#gnav-content {
  overflow: auto;
  position: fixed;
  width: 100vw;
  height: 100vh;
  margin: auto;
  left: 0;
  z-index: 100;
  text-align: center;
  transition: 0.3s ease-in-out;
  transform: translateX(-105%);
  display: table;
}

.gnav-content-inner {
  display: table-cell;
  vertical-align: middle;
}

.gnav-menu {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
}

.gnav-item a {
  width: 50vw;
  text-align: center;
}

/* footerのスタイル */
.foot-area {
  padding: 200px 10px 10px;
}

.foot-area .logo-menu {
  border-bottom: thin solid white;
}

/* pc表示のナビゲーション */

@media screen and (min-width: 768px) {
  .foot-area {
    padding: 234px 32px 32px;
  }

  .foot-area .logo-menu {
    padding-bottom: 10px;
  }

  .logo-area {
    width: 250px;
  }
}

@media screen and (min-width: 768px) {

  .gnav-menu {
    flex-direction: row;
    padding-top: 15px;
    margin: 0;
  }

  .gnav-item {
    padding-bottom: 0;
  }

}

@media screen and (min-width: 768px) {
  .gnav-item a {
    margin-right: 40px;
  }
}

@media screen and (min-width: 1025px) {
  .gnav-item a {
    margin-right: 100px;
  }
}

/* topのスタイル */
.mv-area {
  width: 100vw;
  height: 100vh;
  background-image: url(../img/planets.png);
  background-size: cover;
  background-position: left;
  position: relative;
}

.mv-area .blend {
  position: absolute;
  mix-blend-mode: soft-light;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.mv-group {
  width: 100vw;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.mv-title {
  font-size: 30px;
  font-weight: 900;
  letter-spacing: 0.1em;
  margin-bottom: 0;
  text-align: left;
}

.mv-text {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: left;
}

#scroll {
  width: 100px;
  height: 100px;
  margin-left: 60%;
  bottom: 0;
  position: absolute;
}

@media screen and (min-width: 768px) {
  .mv-area {
    width: 100%;
  }

  .mv-title {
    margin-top: 90px;
    font-size: 50px;
  }

  #scroll {
    margin-left: 85%;
  }
}

/* aboutのスタイル */
.about-area {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

#video-about {
  width: 100vw;
}

.about-text-area {
  padding: 64px 0 64px;
  font-size: 24px;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .about-text-area {
    display: block;
  }

  .about-area .about-text_left {
    width: 100%;
  }

  .about-area .about-text_right {
    width: 100%;
  }
}

@media screen and (min-width: 1200px) {
  .about-text-area {
    display: block;
  }

  .about-area {
    position: relative;
  }

  .about-area h2 {
    position: absolute;
    top: 250px;
    left: 50px;
  }

  .about-area .about-text_left {
    width: auto;
    position: absolute;
    top: 360px;
    left: 25px;
  }

  .about-area .about-text_right {
    width: auto;
    position: absolute;
    top: 360px;
    right: 25px;
  }

  .about-area .btn-about {
    position: absolute;
    top: 650px;
    right: 50px;
  }
}

/* slick */
.gallery-works img {
  height: 30vw;
  max-height: 400px;
  min-height: 250px;
}

@media screen and (max-width: 480px){
  .gallery-works img {
    min-height: 350px;
  }
  .works-item .gallery-works .slick-center img {
    min-height: 250px;
  }
}

/* worksのスタイル */
.gallery-works {
  height: 500px;
}

.works-area {
  padding: 200px 0 0;
  margin: 0 auto;
}

.works-contents {
  text-align: center;
  font-size: 700;
}

.works-cotents_group {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 100vw;
  height: 100px;
  white-space: nowrap;
  overflow: scroll;
}

@media screen and (min-width: 768px) {
  .works-cotents_group {
    width: 80vw;
    margin: 0 auto;
  }

  .gallery-works {
    padding: 50px 0 50px;
    width: 100vw;
    height: 700px;
  }
}

.btn-n_works-area {
  padding-left: 30px;
}

#arrow {
  background: #05002b;
  width: 50px;
  transform: scale(-1, 1);
}

/* contactのスタイル */
.contact-area {
  text-align: center;
  font-size: 24px;
}

#form_lottie {
  width: 250px;
  height: 50%;
  display: inline-block;
  padding: 20px 0 20px;
}

@media screen and (min-width: 900px) {
  .contact-area {
    position: relative;
    height: 600px;
  }

  .contact-area p {
    position: absolute;
    top: 400px;
    left: 400px;
  }

  .contact-area #form_lottie {
    position: absolute;
    width: 400px;
    top: 300px;
    left: 25px;
  }

  .contact-area .btn-n_concact {
    position: absolute;
    top: 550px;
    right: 100px;
  }
  #form_lottie {
    height: 100%;
  }
}

/* 個別作品ページのスタイル */
.breadcrumb {
  float: left;
  padding: 100px 10px 10px;
}

.works-indiv {
  border-bottom: thin solid white;
  padding-top: 100px;
}

.works-mv {
  width: 90vw;
  height: 400px;
  text-align: center;
  position: relative;
}

@media screen and (min-width: 375px) {
  .works-indiv {
    padding-top: 150px;
  }
}

@media screen and (min-width: 768px) {
  .works-indiv {
    padding-top: 200px;
  }

  .works-mv {
    height: 800px;
  }
}

@media screen and (min-width: 1280px) {
  .works-indiv {
    padding-top: 300px;
  }
}


.works-mv .mockup-pc {
  width: 60vw;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.works-mv .mockup-sp {
  width: 15vw;
  position: absolute;
  top: 65%;
  left: 80%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}



.works-mv .blend {
  position: absolute;
  mix-blend-mode: soft-light;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}


.works-desc-group {
  margin: 100px 10px 0 10px;
}

.works-desc-group .works-desc {
  padding: 30px;
}

.works-desc h4, .works-desc p {
  text-align: left;
}

.works-sample {
  width: 100vw;
  padding: 200px 0 200px;
}

.works-sample-img {
  width: 100vw;
}

.works-button-group {
  width: 50vw;
  margin: 100px auto;
}

.works-button {
  display: flex;
  flex-direction: row;
  justify-content: center;
}

@media screen and (max-width: 400px) {
  .works-button {
    display: block;
    text-align: center;
  }

  .works-button .txt-contents {
    margin: auto;
  }

  .works-button .btn-visit {
    padding: 15px 15px;
    margin: 32px auto;
  }

}

@media screen and (min-width: 401px) and (max-width: 767px) {
  .works-button .txt-contents {
    margin-left: 16px;
  }

  .works-button .btn-visit {
    padding: 8px;
    margin-left: 16px;
  }
}

@media screen and (min-width: 768px) {
  .works-desc-group .works-desc {
    padding: 100px;
  }

  .works-sample {
    width: 100vw;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
  }

  .works-sample-img {
    width: 50vw;
  }

  .works-button {
    width: 400px;
    margin-left: auto;
    margin-right: auto;
  }

  .works-button .btn-visit {
    margin-right: 0;
  }
}

/* works 各項目の設定 */
/* スライダー */
.works-item .gallery-works .slider {
  width: 600px;
  height: 150px;
  margin: 20px auto;
  text-align: center;
}

.works-item .gallery-works .slick-slide {
  opacity: .6;
}

.works-item .gallery-works img {
  width: 80%;
  height: 80%;
  margin: auto;
}

.works-item .gallery-works .slick-center {
  display: block;
  opacity: 1;
}

.works-item .gallery-works .slick-center img {
  width: 100%;
  height: 100%;
}

/* 矢印のスタイル */
.works-item .slide-arrow {
  width: 44px !important;
  height: 44px !important;
  bottom: 0;
  height: 0;
  margin: auto;
  position: absolute;
  top: 0;
  width: 0;
}

.works-item .prev-arrow {
  z-index: 90;
  left: 44px;
}

.works-item .next-arrow {
  z-index: 90;
  right: 44px;
}

@media screen and (min-width: 768px) {

  /* スライダー */
  .works-item .gallery-works .slider {
    width: 600px;
    height: 150px;
    margin: 20px auto;
    text-align: center;
  }

  .works-item .gallery-works .slick-slide {
    opacity: .6;
  }

  .works-item .gallery-works img {
    width: 80%;
    height: 80%;
    max-width: 500px;
    max-height: 500px;
    margin: auto;
  }

  .works-item .gallery-works .slick-center {
    display: block;
    opacity: 1;
  }

  .works-item .gallery-works .slick-center img {
    width: 100%;
    height: 100%;
  }

  /* 矢印のスタイル */
  .works-item .slide-arrow {
    width: 90px !important;
    height: 90px !important;
    bottom: 0;
    height: 0;
    margin: auto;
    position: absolute;
    top: 0;
    width: 0;
  }

  .works-item .prev-arrow {
    z-index: 90;
    left: 90px;
  }

  .works-item .next-arrow {
    z-index: 90;
    right: 90px;
  }
}

/* contactのスタイル */
.contact_form-area {
  margin: 0 auto;
  text-align: center;
}

.p-contact-group {
  margin-left: auto;
  margin-right: auto;
}



@media screen and (min-width: 768px) {
  .p-contact-group {
    margin-left: 60%;
  }

  .p-contact {
    text-align: left;
  }
}

.form-group {
  padding: 10px;
  text-align: left;
}

.btn-contact {
  margin: 100px 0;
}

.contact_btn-area {
  display: inline-block;
  margin-left: auto;
  margin-right: auto;
}

.table-bordered {
  background: white;
}

.contact-complete {
  margin: 64px;
  font-size: 20px;
}

/* input 要素 */
#name, #email, #subject, #email_check, #tel {
  max-width: 400px;
}

#body {
  max-width: 640px;
}

/* エラー表示 */
.error-js, .error-php {
  color: #ED2B2B;
}

/* フォーム要素（Bootstrap4 のスタイルを上書き） */
.form-control {
  border-radius: 0px;
  background-color: #fdfdfd;
  font-size: 14px;
}

.form-control:focus {
  border-color: #aadbe8;
  outline: 0;
  -webkit-box-shadow: inset 0 0px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.4);
  box-shadow: inset 0 0px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.4);
  background-color: #fff;
}

/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder {
  font-size: 13px;
}

/* Firefox 18- */
:-moz-placeholder {
  font-size: 13px;
}

/* Firefox 19+ */
::-moz-placeholder {
  font-size: 13px;
}

/* IE 10+ */
:-ms-input-placeholder {
  font-size: 13px;
}

::placeholder {
  font-size: 13px;
}

textarea.form-control {
  height: 200px;
}

/* 確認ページの表 */
.confirm_table {
  margin: 30px 0;
}

.confirm_table table caption {
  caption-side: top;
}

.confirm {
  float: left;
  margin-right: 20px;
}

/* aboutページのスタイル */
.profile-area {
  height: 1280px;
  padding: 100px 0 0;
}

.profile-area .txt-h2 {
  padding-bottom: 50px;
}

#video-profile {
  width: 100vw;
  height: 561px;
  object-fit: cover;
  opacity: 0.2;
  mix-blend-mode: hard-light;
}

.prof-txt-group {
  padding: 50px;
}

.txt-prof {
  text-align: left !important;
}

.profile-area {
  position: relative;
}

.profile-area .prof-1 {
  position: absolute;
  top: 300px;
  left: 10%;
}

.profile-area .prof-2 {
  position: absolute;
  top: 650px;
}

@media screen and (min-width: 768px) {
  .profile-area {
    height: 1500px;
  }

  .profile-area .prof-2 {
    position: absolute;
    top: 800px;
  }
}

@media screen and (min-width: 1280px) {
  .profile-area {
    height: 1000px;
  }

  .profile-area .prof-1 {
    position: absolute;
    top: 250px;
    width: 40%;
    left: 10%;
  }

  .profile-area .prof-2 {
    position: absolute;
    top: 250px;
    width: 60%;
    right: 10%;
  }
}

/* ABOUT Experience のスタイル*/
.experience-area h3 {
  padding-bottom: 50px;
}

.experience-area .prof-txt-group .txt-prof {
  margin-bottom: 80px;
}


@media screen and (min-width: 768px) {
  .experience-area {
    margin: 0 auto;
    width: 80vw;
  }
}

/* ABOUT Skill Setsのスタイル*/
.skill_sets-area .prof-txt-group .txt-prof {
  margin-bottom: 80px;
}

.mgr-64 {
  margin-right: 64px;
}

.skill-item {
  margin: 30px 0;
}

.skill-others {
  margin: 3px 0;
}

@media screen and (max-width: 400px) {
  .skill_sets-area .prof-txt-group .container .row {
    display: block;
  }

  .skill_sets-area .prof-txt-group .txt-prof {
    width: 100%;
  }

  .skill_sets-area .prof-txt-group .txt-prof .skill-sup {
    margin-top: 80px;
    margin-bottom: 0;
  }
}

@media screen and (min-width: 768px) {
  .skill_sets-area {
    margin: 0 auto;
    width: 80vw;
  }
}

/* プライバシーポリシーのスタイル */

.privacy {
  margin: 150px 100px;
  padding: 100px 100px;
  border: 1px solid #fff;
}

.privacy_group {
  margin-bottom: 100px;
}

.privacy_desc {
  margin: 100px 0;
}

/* ブラウザ OS別 */

.iphone .mv-area, .ipad .mv-area{
  /* iphone ipadのみ */
  height: 100dvh;
}

.iphone .logo-area .sp-only, .ipad .logo-area .sp-only {
  /* iphone ipadのみ */
  display: block;
}

.iphone .logo-area .pc-only, .ipad .logo-area .pc-only {
  /* iphone ipadのみ */
  display: none;
}
