@charset "UTF-8";

/*
//usage
//
@include fontNotoRegular;
@include fontNotoBold;
@include fontLatoRegular;
@include fontLatoBold;
*/
/*@include layout-SP {
}
*/
html {
  font-family: 'Noto Sans JP', 'Lato', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  text-size-adjust: 100%;
  font-weight: 400;
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
  width: 100%;
  background-color: #ffffff;
  word-wrap: break-word;
  line-height: 1.5;
}

* {
  box-sizing: border-box;
}

a {
  text-decoration: none;
  text-decoration-skip-ink: none;
  color: #000;
  outline: none;
}

a:hover {
  text-decoration-skip-ink: none;
}

.clearfix:after {
  content: " ";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.st-Header_Hum {
  width: 115px;
  height: 115px;
  background-color: #000;
  position: fixed;
  z-index: 132;
  top: 0;
  right: 0px;
  opacity: 0;
  display: block;
  pointer-events: none;
}

.st-Header_Hum.is-start {
  pointer-events: auto;
}

@media screen and (max-width: 768px) {
  .st-Header_Hum {
    width: 20vmin;
    height: 20vmin;
  }
}

.st-Header_Line {
  will-change: transform, opacity;
  position: absolute;
  left: 37px;
  width: 50px;
  height: 2px;
  background-color: #FFF;
  transition: all 200ms 0s ease-out;
}

@media screen and (max-width: 768px) {
  .st-Header_Line {
    left: 6vmin;
    width: 8.66667vmin;
    height: 0.26667vmin;
  }
}

.st-Header_Line-1 {
  top: 49px;
}

.is-active .st-Header_Line-1 {
  transform: rotate(30deg);
  top: 57px;
}

@media screen and (max-width: 768px) {
  .st-Header_Line-1 {
    top: 7.33333vmin;
  }

  .is-active .st-Header_Line-1 {
    top: 9.33333vmin;
  }
}

.st-Header_Line-2 {
  top: 57px;
}

.is-active .st-Header_Line-2 {
  opacity: 0;
}

@media screen and (max-width: 768px) {
  .st-Header_Line-2 {
    top: 9.33333vmin;
  }

  .is-active .st-Header_Line-2 {
    opacity: 0;
  }
}

.st-Header_Line-3 {
  top: 65px;
}

.is-active .st-Header_Line-3 {
  transform: rotate(-30deg);
  top: 57px;
}

@media screen and (max-width: 768px) {
  .st-Header_Line-3 {
    top: 11.33333vmin;
  }

  .is-active .st-Header_Line-3 {
    top: 9.33333vmin;
  }
}

/*
//usage
//
@include fontNotoRegular;
@include fontNotoBold;
@include fontLatoRegular;
@include fontLatoBold;
*/
.Ameba {
  position: relative;
  top: 0;
  left: 0;
  text-align: center;
  cursor: pointer;
  user-select: none;
  will-change: transform;
}

.Ameba-1 {
  animation: animate4 5s 0s ease-in-out infinite alternate;
}

@media screen and (max-width: 768px) {
  .Ameba-1 {
    animation: animate4-sp 5s 0s ease-in-out infinite alternate;
  }
}

.Ameba-2 {
  animation: animate5 4.8s 0.1s ease-in-out infinite alternate;
}

@media screen and (max-width: 768px) {
  .Ameba-2 {
    animation: animate5-sp 4.8s 0.1s ease-in-out infinite alternate;
  }
}

.Ameba-3 {
  animation: animate5 4s 0.2s ease-in-out infinite alternate;
}

@media screen and (max-width: 768px) {
  .Ameba-3 {
    animation: animate5-sp 4s 0.2s ease-in-out infinite alternate;
  }
}

.Ameba-4 {
  animation: animate4 6.1s 0.3s ease-in-out infinite alternate;
}

@media screen and (max-width: 768px) {
  .Ameba-4 {
    animation: animate4-sp 6.1s 0.3s ease-in-out infinite alternate;
  }
}

.Ameba-5 {
  animation: animate5 5.4s 0.4s ease-in-out infinite alternate;
}

@media screen and (max-width: 768px) {
  .Ameba-5 {
    animation: animate5-sp 5.4s 0.4s ease-in-out infinite alternate;
  }
}

.Ameba_Circle_Wrapper {
  will-change: transform;
}

.Ameba_Circle_Wrapper-1 {
  animation: animate3 1.5s 0.1s ease-out infinite alternate;
}

.Ameba_Circle_Wrapper-2 {
  animation: animate3 1.7s 0.3s ease-out infinite alternate;
}

.Ameba_Circle_Wrapper-3 {
  animation: animate3 1.9s 0.5s ease-out infinite alternate;
}

.Ameba_Circle_Wrapper-4 {
  animation: animate3 2.1s 0.7s ease-out infinite alternate;
}

.Ameba_Circle_Wrapper-5 {
  animation: animate3 2.3s 0.9s ease-out infinite alternate;
}

.Ameba_Circle {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  position: absolute;
  will-change: transform;
  user-select: none;
}

@media screen and (min-width: 769px) {
  .Ameba_Circle {
    transition: transform 1000ms 0s cubic-bezier(0.34, 1.56, 0.64, 1);
  }

  .Ameba_Circle:hover {
    animation-name: none;
    cursor: url(/assets/app/img/pointer.png) 24 24, auto;
    transform: scale(1.1);
  }

  .mousedown .Ameba_Circle:hover {
    cursor: url(/assets/app/img/pointer-base-mini.png) 13 13, auto;
  }

  .Ameba-1 .Ameba_Circle:hover path {
    fill: #54c8e7;
  }

  .Ameba-2 .Ameba_Circle:hover path {
    fill: #54c8e7;
  }

  .Ameba-3 .Ameba_Circle:hover path {
    fill: #54c8e7;
  }

  .Ameba-4 .Ameba_Circle:hover path {
    fill: #54c8e7;
  }

  .Ameba-5 .Ameba_Circle:hover path {
    fill: #54c8e7;
  }
}

.Ameba_First {
  font-family: 'Lato', sans-serif;
  font-weight: 400;
  font-size: 100px;
  top: 45px;
  left: 70px;
  line-height: 1;
  position: absolute;
  color: #fff;
  pointer-events: none;
  user-select: none;
}

@media screen and (max-width: 768px) {
  .Ameba_First {
    font-size: 13.33333vw;
    top: 6vw;
    left: 9.33333vw;
  }
}

.Ameba_Second {
  position: absolute;
  top: 77px;
  left: 138px;
  pointer-events: none;
  user-select: none;
  color: #FFF;
  line-height: 1;
  text-align: left;
}

.Ameba_Second_US {
  user-select: none;
  font-family: 'Lato', sans-serif;
  font-weight: 400;
  font-size: 20px;
  letter-spacing: 8px;
}

@media screen and (max-width: 768px) {
  .Ameba_Second_US {
    letter-spacing: 1.06667vw;
    font-size: 2.66667vw;
  }
}

.Ameba_Second_JP {
  user-select: none;
  font-family: 'Lato', sans-serif;
  font-weight: 400;
  font-size: 12px;
  margin-top: 13px;
  letter-spacing: 5px;
}

@media screen and (max-width: 768px) {
  .Ameba_Second_JP {
    letter-spacing: 0.66667vw;
    font-size: 1.6vw;
    margin-top: 1.73333vw;
  }
}

.Ameba_Circle span {
  user-select: none;
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #9999ff;
  border-radius: 53% 58% 59% 50% / 50% 47% 50% 45%;
  transition: 0.5s;
}

.Ameba_Circle span:nth-child(1) {
  user-select: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #54c8e7;
  opacity: 0.6;
  border-radius: 53% 58% 59% 50% / 50% 47% 50% 45%;
  transition: 0.5s;
}

.square:hover span:nth-child(1) {
  user-select: none;
  border: none;
  background: #ff0000;
}

.Ameba_SVG {
  will-change: transform;
  animation: animate2 30s linear infinite;
  user-select: none;
  opacity: 0.6;
}

.Ameba_SVG path {
  fill: #54c8e7;
  transition: all 500ms 0s ease-out;
  user-select: none;
}

.Ameba-1 .Ameba_SVG path {
  fill: #017b7f;
}

.Ameba-2 .Ameba_SVG path {
  fill: #2d59c6;
}

.Ameba-3 .Ameba_SVG path {
  fill: #4398d8;
}

.Ameba-4 .Ameba_SVG path {
  fill: #6666e2;
}

.Ameba-5 .Ameba_SVG path {
  fill: #57b6b2;
}

.is-selected .Ameba_SVG path {
  fill: #54c8e7;
}

@keyframes animate {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

@keyframes animate2 {
  0% {
    transform: rotate(360deg);
  }

  100% {
    transform: rotate(0deg);
  }
}

@keyframes animate3 {
  0% {
    transform: scale(1);
  }

  100% {
    transform: scale(1.06);
  }
}

@keyframes animate4 {
  0% {
    transform: translateY(0);
  }

  100% {
    transform: translateY(50px);
  }
}

@keyframes animate4-sp {
  0% {
    transform: translateY(0);
  }

  100% {
    transform: translateY(6.66667vmin);
  }
}

@keyframes animate5 {
  0% {
    transform: translateY(0);
  }

  100% {
    transform: translateY(-50px);
  }
}

@keyframes animate5-sp {
  0% {
    transform: translateY(0);
  }

  100% {
    transform: translateY(-6.66667vmin);
  }
}

/*
//usage
//
@include fontNotoRegular;
@include fontNotoBold;
@include fontLatoRegular;
@include fontLatoBold;
*/
.Detail {
  display: none;
  width: 65vw;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1001;
  user-select: none;
}

@media screen and (max-width: 768px) {
  .Detail {
    position: fixed;
    width: 96vw;
    top: 0;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
  }

  .keyboard .Detail {
    position: absolute;
    top: auto;
    bottom: 270px;
  }
}

.Detail_Front {
  width: calc(100% - 180px);
  height: calc(100vh - 120px);
  position: absolute;
  left: 30px;
  top: 70px;
  padding: 80px;
  z-index: 1;
  color: #FFF;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}

@media screen and (max-width: 1280px) {
  .Detail_Front {
    width: calc(100% - 180/ 1400 * 100vw);
    height: calc(100vh - 120/ 1400 * 100vw);
    left: 2.14286vw;
    top: 5vw;
    padding: 5vw;
  }
}

@media screen and (max-width: 768px) {
  .Detail_Front {
    left: 5.33333vmin;
    top: 25vh;
    height: auto;
    left: 0;
    width: 100%;
    padding: 4vmin 2.66667vmin;
    padding-top: 26.66667vmin;
    background-color: #000;
    padding-bottom: 9.33333vmin;
    padding-left: 6vmin;
    overflow-x: hidden;
  }
}

.Detail_BigT {
  vertical-align: top;
  margin-top: -30px;
  margin-left: 0px;
  font-family: 'Lato', sans-serif;
  font-weight: 400;
  pointer-events: none;
  position: absolute;
  z-index: 1;
  width: 10000px;
  color: #000;
  display: flex;
  font-size: 500px;
  line-height: 0.8;
}

@media screen and (max-width: 768px) {
  .Detail_BigT {
    z-index: -1;
    font-size: 53.33333vmin;
    margin-top: -26.66667vmin;
    margin-left: -5.33333vmin;
  }
}

.Detail_Bg {
  width: 100%;
  height: 100%;
  background-color: #0b0b0f;
  opacity: 1;
  position: absolute;
}

@media screen and (max-width: 768px) {
  .Detail_Bg {
    background-color: transparent;
  }
}

.Detail_Cap {
  font-family: 'Lato', sans-serif;
  font-weight: 400;
  font-size: 16px;
}

@media screen and (max-width: 1280px) {
  .Detail_Cap {
    font-size: 1.28571vw;
  }
}

@media screen and (max-width: 768px) {
  .Detail_Cap {
    font-size: 4.26667vmin;
  }
}

.Detail_Ttl {
  font-size: 24px;
  margin-top: 30px;
  line-height: 1.8;
}

@media screen and (max-width: 1280px) {
  .Detail_Ttl {
    font-size: 1.71429vw;
    margin-top: 2.14286vw;
  }
}

@media screen and (max-width: 768px) {
  .Detail_Ttl {
    margin-top: 8vmin;
    font-size: 4.8vmin;
  }
}

.Detail_Txt {
  font-size: 14px;
  margin-top: 30px;
  line-height: 2.2;
}

@media screen and (max-width: 1280px) {
  .Detail_Txt {
    font-size: 1vw;
    margin-top: 2.14286vw;
  }
}

@media screen and (max-width: 768px) {
  .Detail_Txt {
    margin-top: 9.33333vmin;
    font-size: 3.73333vmin;
    width: 91%;
    margin-left: auto;
    margin-right: auto;
  }
}

.Detail_List {
  color: #FFF;
  border-top: solid 1px #4d4d4d;
}

@media screen and (max-width: 768px) {
  .Detail_List {
    width: 92%;
    margin-left: auto;
    margin-right: auto;
  }
}

.Detail_Item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  border-bottom: solid 1px #4d4d4d;
  padding-top: 35px;
  padding-bottom: 35px;
}

.Detail_Item.is-no-border {
  border-bottom: none;
  padding-bottom: 20px;
}

@media screen and (max-width: 1280px) {
  .Detail_Item.is-no-border {
    padding-bottom: 1.42857vw;
  }
}

@media screen and (max-width: 1280px) {
  .Detail_Item {
    padding-top: 2.5vw;
    padding-bottom: 2.5vw;
  }
}

@media screen and (max-width: 768px) {
  .Detail_Item {
    padding-top: 8vmin;
    padding-bottom: 8vmin;
    flex-direction: column;
    align-items: flex-start;
  }
}

.Detail_List_Ttl {
  width: 15%;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: 14px;
}

@media screen and (max-width: 1280px) {
  .Detail_List_Ttl {
    font-size: 1vw;
    width: 25%;
  }
}

@media screen and (max-width: 768px) {
  .Detail_List_Ttl {
    width: 100%;
    font-size: 3.46667vmin;
  }
}

.Detail_List_Txt {
  width: 84%;
  margin-left: auto;
  font-size: 14px;
}

@media screen and (max-width: 1280px) {
  .Detail_List_Txt {
    font-size: 1vw;
    width: 75%;
  }
}

@media screen and (max-width: 768px) {
  .Detail_List_Txt {
    width: 100%;
    font-size: 3.46667vmin;
    margin-top: 3.33333vmin;
    line-height: 1.9;
  }

  .Detail_List_Txt a[href^="tel:"] {
    color: #FFF;
  }

  .Detail_List_Txt.is-no-tel {
    color: #FFF;
    text-decoration: none;
    pointer-events: none;
  }
}

.Detail_Txt-right {
  text-align: right;
}

.Detail_Wide_Btn {
  display: flex;
  align-items: center;
  justify-content: center;
  border: solid 1px #4d4d4d;
  width: 100%;
  letter-spacing: 1px;
  height: 100px;
  margin-top: 80px;
  font-size: 16px;
  color: #FFF;
  background-color: rgba(0, 0, 0, 0);
  font-family: 'Lato', sans-serif;
  font-weight: 700;
  transition: background-color 200ms 0s ease-out;
}

@media screen and (min-width: 769px) {
  .Detail_Wide_Btn:hover {
    background-color: rgba(50, 50, 50, 0.3);
    cursor: url(/assets/app/img/pointer.png) 24 24, auto;
  }
}

@media screen and (max-width: 1280px) {
  .Detail_Wide_Btn {
    margin-top: 5.71429vw;
    font-size: 1.14286vw;
    height: 7.14286vw;
  }
}

@media screen and (max-width: 768px) {
  .Detail_Wide_Btn {
    font-size: 3.46667vmin;
    height: 16vmin;
    margin-left: auto;
    margin-right: auto;
  }
}

.Detail_Input {
  font-size: 14px;
  padding: 15px 20px;
  width: 100%;
  border: solid 1px #4d4d4d;
  background-color: transparent;
  color: #FFF;
}

@media screen and (max-width: 1280px) {
  .Detail_Input {
    font-size: 1vw;
    padding: 1.07143vw 1.42857vw;
  }
}

@media screen and (max-width: 768px) {
  .Detail_Input {
    font-size: 4.26667vmin;
    padding: 2vmin 2.66667vmin;
  }
}

.Detail_Label {
  font-size: 16px;
  margin-right: 30px;
}

@media screen and (max-width: 1280px) {
  .Detail_Label {
    font-size: 1.14286vw;
    margin-right: 2.14286vw;
  }
}

@media screen and (max-width: 768px) {
  .Detail_Label {
    font-size: 3.73333vmin;
    margin-right: 4vw;
  }
}

.Detail_TextArea {
  font-size: 14px;
  padding: 15px 20px;
  width: 100%;
  height: 200px;
  border: solid 1px #4d4d4d;
  background-color: transparent;
  color: #FFF;
}

@media screen and (max-width: 1280px) {
  .Detail_TextArea {
    font-size: 1vw;
    padding: 1.07143vw 1.42857vw;
    height: 14.28571vw;
  }
}

@media screen and (max-width: 768px) {
  .Detail_TextArea {
    font-size: 4.26667vw;
    padding: 2vw 2.66667vw;
    height: 53.33333vw;
  }
}

.Detail_Check {
  color: #FFF;
}

.Detail_Check_Txt {
  font-size: 14px;
  padding-left: 10px;
}

@media screen and (max-width: 1280px) {
  .Detail_Check_Txt {
    font-size: 1.09375vw;
    padding-left: 0.78125vw;
  }
}

@media screen and (max-width: 768px) {
  .Detail_Check_Txt {
    font-size: 3.46667vw;
    padding-left: 1.33333vw;
  }
}

.Detail_Submit_Btn {
  width: 100%;
  display: block;
  background-color: transparent;
  border: solid 1px #4d4d4d;
  color: #FFF;
  margin-top: 50px;
  margin-bottom: 50px;
  font-size: 16px;
  padding: 30px;
  cursor: pointer;
  letter-spacing: 2px;
  text-align: center;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  background-color: rgba(0, 0, 0, 0);
  transition: background-color 200ms 0s ease-out;
}

.Detail_Submit_Btn.is-disable {
  color: #333;
  pointer-events: none;
}

@media screen and (min-width: 769px) {
  .Detail_Submit_Btn:hover {
    background-color: rgba(50, 50, 50, 0.3);
    cursor: url(/assets/app/img/pointer.png) 24 24, auto;
  }
}

@media screen and (max-width: 1280px) {
  .Detail_Submit_Btn {
    margin-top: 3.57143vw;
    margin-bottom: 3.57143vw;
    font-size: 1.14286vw;
    padding: 2.14286vw;
  }
}

@media screen and (max-width: 768px) {
  .Detail_Submit_Btn {
    margin-top: 6.66667vw;
    margin-bottom: 6.66667vw;
    font-size: 3.46667vw;
    padding: 4vw;
  }
}

.Detail_Hum {
  display: none;
  width: 100px;
  height: 100px;
  background-color: #000;
  position: fixed;
  z-index: 101;
  top: 0;
  right: 0px;
  pointer-events: auto;
  z-index: 2000;
}

@media screen and (max-width: 768px) {
  .Detail_Hum {
    position: fixed;
    z-index: 2000;
    width: 20vmin;
    height: 20vmin;
  }
}

.Detail_Line {
  will-change: transform, opacity;
  position: absolute;
  left: 30px;
  width: 44px;
  height: 2px;
  background-color: #FFF;
  transition: all 200ms 0s ease-out;
}

@media screen and (max-width: 768px) {
  .Detail_Line {
    left: 6vmin;
    width: 8.66667vmin;
    height: 0.26667vmin;
  }
}

.Detail_Line-1 {
  top: 35px;
}

.is-active .Detail_Line-1 {
  transform: rotate(30deg);
  top: 50px;
}

@media screen and (max-width: 768px) {
  .Detail_Line-1 {
    top: 7.33333vmin;
  }

  .is-active .Detail_Line-1 {
    top: 9.33333vmin;
  }
}

.Detail_Line-2 {
  top: 50px;
}

.is-active .Detail_Line-2 {
  opacity: 0;
}

@media screen and (max-width: 768px) {
  .Detail_Line-2 {
    top: 9.33333vmin;
  }

  .is-active .Detail_Line-2 {
    opacity: 0;
  }
}

.Detail_Line-3 {
  top: 65px;
}

.is-active .Detail_Line-3 {
  transform: rotate(-30deg);
  top: 50px;
}

@media screen and (max-width: 768px) {
  .Detail_Line-3 {
    top: 11.33333vmin;
  }

  .is-active .Detail_Line-3 {
    top: 9.33333vmin;
  }
}

.Detail_Error {
  color: #F30;
  font-size: 16px;
  margin-top: 8px;
}

@media screen and (max-width: 1280px) {
  .Detail_Error {
    font-size: 1.25vw;
    margin-top: 0.625vw;
  }
}

@media screen and (max-width: 768px) {
  .Detail_Error {
    font-size: 3.2vw;
    margin-top: 1.06667vw;
  }
}

.About_Outline {
  margin-top: 100px;
}

@media screen and (max-width: 1280px) {
  .About_Outline {
    margin-top: 7.14286vw;
  }
}

@media screen and (max-width: 768px) {
  .About_Outline {
    margin-top: 13.33333vmin;
  }
}

.About_List {
  margin-top: 50px;
}

@media screen and (max-width: 1280px) {
  .About_List {
    margin-top: 3.57143vw;
  }
}

@media screen and (max-width: 768px) {
  .About_List {
    margin-top: 6.66667vmin;
  }
}

.About_Map {
  /*filter: grayscale(1);*/
  margin-top: 50px;
}

.About_Map iframe {
  width: 100%;
  height: 400px;
}

@media screen and (max-width: 1280px) {
  .About_Map {
    margin-top: 3.57143vw;
  }

  .About_Map iframe {
    height: 28.57143vw;
  }
}

@media screen and (max-width: 768px) {
  .About_Map {
    margin-top: 6.66667vmin;
  }

  .About_Map iframe {
    height: 66.66667vmin;
  }
}

.About_Message {
  margin-top: 100px;
}

@media screen and (max-width: 768px) {
  .About_Message {
    margin-top: 7.14286vw;
  }
}

@media screen and (max-width: 768px) {
  .About_Message {
    margin-top: 17.33333vmin;
  }
}

.About_Message_Ttl {
  font-size: 40px;
  line-height: 1.4;
  font-family: 'Lato', sans-serif;
  font-weight: 700;
}

@media screen and (max-width: 1280px) {
  .About_Message_Ttl {
    font-size: 2.85714vw;
  }
}

@media screen and (max-width: 768px) {
  .About_Message_Ttl {
    font-size: 5.86667vmin;
  }
}

.About_Clients {
  margin-top: 100px;
}

@media screen and (max-width: 1280px) {
  .About_Clients {
    margin-top: 7.14286vw;
  }
}

@media screen and (max-width: 768px) {
  .About_Clients {
    margin-top: 20vmin;
  }
}

.Detail_About_Cap_Txt {
  font-size: 12px;
}

@media screen and (max-width: 768px) {
  .Detail_About_Cap_Txt {
    font-size: 3.73333vw;
  }
}

.Works_List {
  width: 100%;
  border-top: solid 1px #4d4d4d;
}

@media screen and (max-width: 768px) {
  .Works_List {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}

.Works_Item {
  display: flex;
  justify-content: space-between;
  border-bottom: solid 1px #4d4d4d;
  padding-top: 50px;
  padding-bottom: 50px;
}

@media screen and (max-width: 1400px) {
  .Works_Item {
    padding-top: 3.57143vw;
    padding-bottom: 3.57143vw;
  }
}

@media screen and (max-width: 768px) {
  .Works_Item {
    padding-top: 9.33333vmin;
    padding-bottom: 9.33333vmin;
    flex-direction: column;
  }
}

.Works_Left {
  margin-right: 30px;
}

@media screen and (max-width: 1400px) {
  .Works_Left {
    margin-right: 2.14286vw;
  }
}

@media screen and (max-width: 768px) {
  .Works_Left {
    margin-right: 0;
  }
}

.Works_Cap {
  font-size: 14px;
}

@media screen and (max-width: 1280px) {
  .Works_Cap {
    font-size: 1vw;
  }
}

@media screen and (max-width: 768px) {
  .Works_Cap {
    font-size: 3.46667vmin;
  }
}

.Works_Ttl {
  font-size: 24px;
  margin-top: 30px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
}

@media screen and (max-width: 1400px) {
  .Works_Ttl {
    font-size: 1.71429vw;
    margin-top: 2.14286vw;
  }
}

@media screen and (max-width: 768px) {
  .Works_Ttl {
    font-size: 5.86667vmin;
    margin-top: 4vmin;
  }
}

.Works_Txt {
  font-size: 14px;
  margin-top: 30px;
}

@media screen and (max-width: 1400px) {
  .Works_Txt {
    font-size: 1vw;
    margin-top: 2.14286vw;
  }
}

@media screen and (max-width: 768px) {
  .Works_Txt {
    font-size: 3.73333vmin;
    margin-top: 4vmin;
  }
}

.Works_Right {
  text-align: right;
}

.Works_Slider {
  width: 360px;
  height: 240px;
  overflow: hidden;
  position: relative;
}

@media screen and (max-width: 1400px) {
  .Works_Slider {
    width: 21.85714vw;
    height: 14.57143vw;
  }
}

@media screen and (max-width: 768px) {
  .Works_Slider {
    width: 72vmin;
    height: 48vmin;
    margin-top: 8vmin;
  }
}

.Works_Slider_Item {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

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

.Works_Num {
  margin-top: 5px;
  font-size: 12px;
}

@media screen and (max-width: 1280px) {
  .Works_Num {
    margin-top: 0.39063vw;
    font-size: 0.9375vw;
  }
}

@media screen and (max-width: 768px) {
  .Works_Num {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 1.06667vmin;
    font-size: 3.2vmin;
  }
}

.Recruit_Cap {
  margin-top: 140px;
}

@media screen and (max-width: 1280px) {
  .Recruit_Cap {
    margin-top: 10vw;
  }
}

@media screen and (max-width: 768px) {
  .Recruit_Cap {
    margin-top: 18.66667vmin;
  }
}

.Recruit_List {
  margin-top: 50px;
}

@media screen and (max-width: 1280px) {
  .Recruit_List {
    margin-top: 3.57143vw;
  }
}

@media screen and (max-width: 768px) {
  .Recruit_List {
    margin-top: 8vmin;
  }
}

.Recruit_List_Job {
  border-top: solid 1px #4d4d4d;
  margin-top: 50px;
}

@media screen and (max-width: 1280px) {
  .Recruit_List_Job {
    margin-top: 3.57143vw;
  }
}

@media screen and (max-width: 768px) {
  .Recruit_List_Job {
    margin-top: 6.66667vmin;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}

.Recruit_Item {
  border-bottom: solid 1px #4d4d4d;
}

.Recruit_Item_Ttl {
  font-size: 16px;
}

@media screen and (max-width: 1280px) {
  .Recruit_Item_Ttl {
    font-size: 1.14286vw;
  }
}

@media screen and (max-width: 768px) {
  .Recruit_Item_Ttl {
    font-size: 4vmin;
  }
}

.Recruit_Item_List_Wrapper {
  display: none;
}

.Recruit_Item_List {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  padding-bottom: 40px;
  border-top: solid 1px #000;
}

@media screen and (max-width: 1280px) {
  .Recruit_Item_List {
    padding-bottom: 2.85714vw;
  }
}

@media screen and (max-width: 768px) {
  .Recruit_Item_List {
    padding-bottom: 8vmin;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}

.Recruit_Item_List_Ttl {
  width: 20%;
  font-size: 14px;
  margin-top: 40px;
  flex-shrink: 0;
}

@media screen and (max-width: 1280px) {
  .Recruit_Item_List_Ttl {
    font-size: 1vw;
    margin-top: 2.85714vw;
    width: 25%;
  }
}

@media screen and (max-width: 768px) {
  .Recruit_Item_List_Ttl {
    font-size: 3.73333vmin;
    margin-top: 9.33333vmin;
    width: 100%;
  }
}

.Recruit_Item_List_Txt {
  width: 79%;
  margin-left: auto;
  font-size: 14px;
  margin-top: 40px;
}

@media screen and (max-width: 1280px) {
  .Recruit_Item_List_Txt {
    font-size: 1vw;
    margin-top: 2.85714vw;
    width: 74%;
  }
}

@media screen and (max-width: 768px) {
  .Recruit_Item_List_Txt {
    margin-left: 0;
    font-size: 3.46667vmin;
    width: 100%;
    margin-top: 4vmin;
    line-height: 1.7;
  }
}

.Recruit_Item_U {
  padding-top: 40px;
  padding-bottom: 40px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  width: 100%;
  align-items: center;
}

@media screen and (min-width: 769px) {
  .Recruit_Item_U:hover {
    cursor: url(/assets/app/img/pointer-plus.png) 24 24, auto;
  }

  .is-selected .Recruit_Item_U:hover {
    cursor: url(/assets/app/img/pointer-minus.png) 24 24, auto;
  }

  .Recruit_Item_U.hover {
    cursor: url(/assets/app/img/pointer-plus.png) 24 24, auto;
  }

  .is-selected .Recruit_Item_U.hover {
    cursor: url(/assets/app/img/pointer-minus.png) 24 24, auto;
  }
}

@media screen and (max-width: 1280px) {
  .Recruit_Item_U {
    padding-top: 2.5vw;
    padding-bottom: 2.5vw;
  }
}

@media screen and (max-width: 768px) {
  .Recruit_Item_U {
    padding-top: 10.66667vmin;
    padding-bottom: 10.66667vmin;
  }
}

.Recruit_Line {
  display: block;
  margin-right: 10px;
  width: 15px;
  height: 2px;
  background-color: #4d4d4d;
  transition: transform 200ms 0s ease-out, opacity 200ms 0s ease-out;
}

@media screen and (max-width: 1280px) {
  .Recruit_Line {
    margin-right: 0.71429vw;
    width: 1.07143vw;
    height: 0.14286vw;
  }
}

@media screen and (max-width: 768px) {
  .Recruit_Line {
    margin-right: 1.33333vw;
    width: 4.66667vw;
    height: 0.53333vw;
  }
}

.is-selected .Recruit_Line-1 {
  opacity: 0;
}

.Recruit_Line-2 {
  transform: rotate(90deg);
  margin-top: -2px;
}

.is-selected .Recruit_Line-2 {
  transform: rotate(0deg);
}

@media screen and (max-width: 1280px) {
  .Recruit_Line-2 {
    margin-top: -0.21429vw;
  }
}

@media screen and (max-width: 768px) {
  .Recruit_Line-2 {
    margin-top: -0.4vw;
  }
}

.Recruit_Entry_Btn {
  margin-top: 80px;
}

@media screen and (max-width: 1280px) {
  .Recruit_Entry_Btn {
    margin-top: 5.71429vw;
  }
}

@media screen and (max-width: 768px) {
  .Recruit_Entry_Btn {
    width: 90%;
    margin-top: 10.66667vmin;
  }
}

.Recruit_Entry_Txt {
  line-height: 2.1;
  border: solid 1px #4d4d4d;
  width: 100%;
  margin-top: 80px;
  padding: 30px 35px;
  font-size: 14px;
}

@media screen and (max-width: 1280px) {
  .Recruit_Entry_Txt {
    margin-top: 5.71429vw;
    padding: 2.14286vw 2.5vw;
    font-size: 1vw;
  }
}

@media screen and (max-width: 768px) {
  .Recruit_Entry_Txt {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 10.66667vmin;
    padding: 8vmin 6vmin;
    font-size: 3.46667vmin;
  }
}

.Order_Entry_Txt {
  line-height: 2.1;
  border: solid 1px #4d4d4d;
  width: 100%;
  padding: 30px 35px;
  font-size: 14px;
}

@media screen and (max-width: 1280px) {
  .Order_Entry_Txt {
    padding: 2.14286vw 2.5vw;
    font-size: 1vw;
  }
}

@media screen and (max-width: 768px) {
  .Order_Entry_Txt {
    padding: 5.33333vmin 5.33333vmin;
    font-size: 3.73333vmin;
  }
}

.Order_List {
  margin-top: 70px;
}

@media screen and (max-width: 1280px) {
  .Order_List {
    margin-top: 5vw;
  }
}

@media screen and (max-width: 768px) {
  .Order_List {
    margin-top: 13.33333vmin;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}

.Order_List_Ttl {
  width: 25%;
}

@media screen and (max-width: 768px) {
  .Order_List_Ttl {
    width: 100%;
  }
}

.Order_List_Txt {
  width: 72%;
  line-height: 2;
  margin-left: auto;
}

@media screen and (max-width: 768px) {
  .Order_List_Txt {
    width: 100%;
  }
}

.Order_Caption {
  width: 100%;
  line-height: 2;
  font-size: 14px;
  margin-top: 50px;
  text-align: center;
}

@media screen and (max-width: 1280px) {
  .Order_Caption {
    font-size: 1vw;
    margin-top: 3.57143vw;
  }
}

@media screen and (max-width: 768px) {
  .Order_Caption {
    font-size: 3.46667vmin;
    width: 90%;
    margin-top: 9.33333vmin;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
  }
}

.Order_Contact_Btn {
  margin-top: 60px;
}

@media screen and (max-width: 1280px) {
  .Order_Contact_Btn {
    margin-top: 4.28571vw;
  }
}

@media screen and (max-width: 768px) {
  .Order_Contact_Btn {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 13.33333vmin;
    margin-bottom: 10.66667vmin;
  }
}

.Contact_List {
  margin-top: 50px;
}

@media screen and (max-width: 1280px) {
  .Contact_List {
    margin-top: 3.57143vw;
  }
}

.Contact_Personal_Wrapper {
  width: 100%;
  padding: 18px;
  margin-top: 40px;
  border: solid 1px #4d4d4d;
}

@media screen and (max-width: 768px) {
  .Contact_Personal_Wrapper {
    width: 100%;
    padding: 1.28571vw;
    margin-top: 2.85714vw;
  }
}

.Contact_Personal {
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  line-height: 2.2;
  height: 250px;
  padding-left: 20px;
  padding-right: 30px;
  padding-top: 10px;
  padding-bottom: 10px;
}

@media screen and (max-width: 1280px) {
  .Contact_Personal {
    height: 16.42857vw;
    padding-left: 1.42857vw;
    padding-right: 2.14286vw;
    padding-top: 0.71429vw;
    padding-bottom: 0.71429vw;
  }
}

@media screen and (max-width: 768px) {
  .Contact_Personal {
    padding-left: 2.66667vw;
    padding-right: 4vw;
    padding-top: 1.33333vw;
    padding-bottom: 1.33333vw;
    height: 53.33333vw;
  }

  .Contact_Personal a[href^="tel:"] {
    color: #FFF;
  }

  .Contact_Personal.is-no-tel {
    color: #FFF;
    text-decoration: none;
    pointer-events: none;
  }
}

.Contact_Personal_Ttl {
  font-size: 16px;
}

@media screen and (max-width: 1280px) {
  .Contact_Personal_Ttl {
    font-size: 1.14286vw;
  }
}

@media screen and (max-width: 768px) {
  .Contact_Personal_Ttl {
    font-size: 3.46667vw;
  }
}

.Contact_Personal_Ttl2 {
  font-size: 15px;
  margin-top: 17px;
}

@media screen and (max-width: 1280px) {
  .Contact_Personal_Ttl2 {
    font-size: 1.07143vw;
    margin-top: 1.21429vw;
  }
}

@media screen and (max-width: 768px) {
  .Contact_Personal_Ttl2 {
    font-size: 3.46667vw;
    margin-top: 2.26667vw;
  }
}

.Contact_Personal_Txt {
  font-size: 13px;
  margin-top: 10px;
}

@media screen and (max-width: 1280px) {
  .Contact_Personal_Txt {
    font-size: 0.92857vw;
    margin-top: 0.71429vw;
  }
}

@media screen and (max-width: 768px) {
  .Contact_Personal_Txt {
    font-size: 3.2vw;
    margin-top: 1.33333vw;
  }
}

.Contact_List_Ttl {
  width: 22%;
}

@media screen and (max-width: 768px) {
  .Contact_List_Ttl {
    width: 100%;
  }
}

.Contact_List_Txt {
  width: 76%;
  margin-left: auto;
}

@media screen and (max-width: 768px) {
  .Contact_List_Txt {
    width: 100%;
    margin-left: 0;
  }
}

.Contact_Agree {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 40px;
}

@media screen and (max-width: 1280px) {
  .Contact_Agree {
    margin-top: 2.85714vw;
  }
}

@media screen and (max-width: 768px) {
  .Contact_Agree {
    width: 100%;
    margin-top: 5.33333vw;
  }

  .Contact_Agree label {
    width: 100%;
    text-align: center;
  }
}

.Contact_Page2 {
  display: none;
  margin-top: 60px;
}

@media screen and (max-width: 1280px) {
  .Contact_Page2 {
    margin-top: 4.28571vw;
  }
}

@media screen and (max-width: 768px) {
  .Contact_Page2 {
    margin-top: 8vw;
    min-height: 50vh;
  }
}

.Contact_Thanks {
  width: 100%;
  border: solid 1px #4d4d4d;
  padding: 25px;
  font-size: 15px;
  line-height: 1.8;
}

@media screen and (max-width: 1280px) {
  .Contact_Thanks {
    padding: 1.78571vw;
    font-size: 1.07143vw;
  }
}

@media screen and (max-width: 768px) {
  .Contact_Thanks {
    padding: 3.33333vw;
    font-size: 3.46667vw;
  }
}

.Contact_Close {
  width: 100%;
  display: block;
  background-color: transparent;
  border: solid 1px #4d4d4d;
  color: #FFF;
  margin-top: 50px;
  margin-bottom: 50px;
  font-size: 16px;
  letter-spacing: 2px;
  padding: 30px;
  cursor: pointer;
  text-align: center;
  font-family: 'Lato', sans-serif;
  font-weight: 700;
  background-color: rgba(0, 0, 0, 0);
  transition: background-color 200ms 0s ease-out;
}

@media screen and (min-width: 769px) {
  .Contact_Close:hover {
    cursor: url(/assets/app/img/pointer.png) 24 24, auto;
    background-color: rgba(50, 50, 50, 0.3);
  }
}

@media screen and (max-width: 1280px) {
  .Contact_Close {
    margin-top: 3.57143vw;
    margin-bottom: 3.57143vw;
    font-size: 1.14286vw;
    letter-spacing: 0.14286vw;
    padding: 2.14286vw;
  }
}

@media screen and (max-width: 768px) {
  .Contact_Close {
    margin-top: 6.66667vw;
    margin-bottom: 6.66667vw;
    font-size: 3.46667vw;
    letter-spacing: 0.26667vw;
    padding: 4vw;
  }
}

.Detail_Contact_Error-total {
  text-align: center;
  margin-top: -35px;
}

@media screen and (max-width: 1280px) {
  .Detail_Contact_Error-total {
    margin-top: -2.73438vw;
  }
}

@media screen and (max-width: 768px) {
  .Detail_Contact_Error-total {
    margin-top: -4.26667vw;
  }
}

.Entry_List {
  margin-top: 50px;
}

@media screen and (max-width: 1280px) {
  .Entry_List {
    margin-top: 3.57143vw;
  }
}

@media screen and (max-width: 768px) {
  .Entry_List {
    margin-top: 6.66667vmin;
  }
}

.Entry_List_Ttl {
  width: 22%;
}

@media screen and (max-width: 768px) {
  .Entry_List_Ttl {
    width: 100%;
    font-size: 3.73333vmin;
  }
}

.Entry_List_Txt {
  width: 76%;
  margin-left: auto;
}

@media screen and (max-width: 768px) {
  .Entry_List_Txt {
    width: 100%;
  }
}

.Entry_Age_List {
  display: flex;
  align-items: center;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .Entry_Age_List {
    flex-wrap: wrap;
  }
}

.Entry_Age_Cap {
  font-size: 14px;
  padding-right: 10px;
}

@media screen and (max-width: 1280px) {
  .Entry_Age_Cap {
    font-size: 1vw;
    padding-right: 0.71429vw;
  }
}

@media screen and (max-width: 768px) {
  .Entry_Age_Cap {
    font-size: 3.46667vmin;
    padding-right: 2.66667vmin;
  }
}

.Entry_Age_Item {
  display: flex;
  align-items: center;
  width: 30%;
  justify-content: flex-start;
  font-size: 14px;
}

.Entry_Age_Item span {
  padding: 10px;
}

.Entry_Age_Item .Detail_Input {
  width: 80%;
  text-align: center;
}

@media screen and (max-width: 1280px) {
  .Entry_Age_Item {
    font-size: 1vw;
  }

  .Entry_Age_Item span {
    padding: 0.71429vw;
  }
}

@media screen and (max-width: 768px) {
  .Entry_Age_Item {
    font-size: 3.46667vmin;
    width: 36%;
  }

  .Entry_Age_Item span {
    padding: 2vmin;
  }
}

@media screen and (max-width: 768px) {
  .Entry_Age_Item-year {
    width: 60%;
    margin-bottom: 4vmin;
  }
}

.Entry_Zip_List {
  display: flex;
  align-items: center;
}

.Entry_Zip_List span {
  font-size: 18px;
  padding-right: 30px;
}

.Entry_Zip_List .Detail_Input {
  width: 30%;
}

@media screen and (max-width: 1280px) {
  .Entry_Zip_List span {
    font-size: 1.28571vw;
    padding-right: 2.14286vw;
  }
}

@media screen and (max-width: 768px) {
  .Entry_Zip_List .Detail_Input {
    width: 50%;
  }

  .Entry_Zip_List span {
    font-size: 4.26667vmin;
    padding-right: 4vmin;
  }
}

.Entry_Post_Item {
  display: flex;
  align-items: center;
}

.Entry_Post_Item:first-child {
  margin-bottom: 20px;
}

@media screen and (max-width: 1280px) {
  .Entry_Post_Item:first-child {
    margin-bottom: 1.42857vw;
  }
}

@media screen and (max-width: 768px) {
  .Entry_Post_Item {
    flex-wrap: wrap;
  }

  .Entry_Post_Item:first-child {
    margin-bottom: 4vmin;
  }
}

.Entry_Post_Ttl {
  width: 130px;
  font-size: 14px;
}

@media screen and (max-width: 1280px) {
  .Entry_Post_Ttl {
    width: 9.28571vw;
    font-size: 1vw;
  }
}

@media screen and (max-width: 768px) {
  .Entry_Post_Ttl {
    width: 40vmin;
    font-size: 3.46667vmin;
    margin-bottom: 1.33333vmin;
  }
}

.Entry_Attach_Item {
  padding: 12px;
  display: flex;
  align-items: center;
}

@media screen and (max-width: 1280px) {
  .Entry_Attach_Item {
    padding: 0.85714vw;
  }
}

@media screen and (max-width: 768px) {
  .Entry_Attach_Item {
    font-size: 3.46667vmin;
    margin-bottom: 5.33333vw;
    flex-wrap: wrap;
  }
}

.Entry_Attach_Ttl {
  width: 34%;
  max-width: 130px;
}

@media screen and (max-width: 1280px) {
  .Entry_Attach_Ttl {
    max-width: 9.28571vw;
  }
}

@media screen and (max-width: 768px) {
  .Entry_Attach_Ttl {
    max-width: 100%;
    width: 100%;
  }
}

.Entry_Attach_Cancel {
  display: none;
  color: #FFF;
  margin-left: 10px;
}

@media screen and (min-width: 769px) {
  .Entry_Attach_Cancel {
    transition: opacity 200ms 0s ease-out;
  }

  .Entry_Attach_Cancel:hover {
    opacity: 0.7;
  }
}

@media screen and (max-width: 1280px) {
  .Entry_Attach_Cancel {
    margin-left: 0.71429vw;
  }
}

@media screen and (max-width: 768px) {
  .Entry_Attach_Cancel {
    margin-left: 0;
    margin-top: 2.66667vw;
    background-color: #333;
    padding: 0.4vw 2.66667vw;
  }
}

.Entry_Attach_Txt {
  border-bottom: solid 1px #4d4d4d;
  margin-top: 20px;
  padding-bottom: 35px;
  font-size: 14px;
  line-height: 2;
}

.Entry_Attach_Txt.is-no-border {
  border-bottom: none;
}

@media screen and (max-width: 1280px) {
  .Entry_Attach_Txt {
    margin-top: 1.42857vw;
    padding-bottom: 2.5vw;
    font-size: 1vw;
  }
}

@media screen and (max-width: 768px) {
  .Entry_Attach_Txt {
    margin-top: 6.66667vmin;
    padding-bottom: 5.33333vmin;
    font-size: 3.46667vmin;
  }
}

.Entry_Document_Item {
  margin-bottom: 25px;
}

.Entry_Document_Item:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 1280px) {
  .Entry_Document_Item {
    margin-bottom: 1.78571vw;
  }

  .Entry_Document_Item:last-child {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 768px) {
  .Entry_Document_Item {
    margin-bottom: 3.33333vmin;
  }
}

.Entry_Page2 {
  display: none;
  margin-top: 60px;
}

@media screen and (max-width: 1280px) {
  .Entry_Page2 {
    margin-top: 4.28571vw;
  }
}

@media screen and (max-width: 768px) {
  .Entry_Page2 {
    margin-top: 8vw;
    min-height: 50vh;
  }
}

.Entry_Thanks {
  width: 100%;
  border: solid 1px #4d4d4d;
  padding: 25px;
  font-size: 15px;
  line-height: 1.8;
}

@media screen and (max-width: 1280px) {
  .Entry_Thanks {
    padding: 1.78571vw;
    font-size: 1.07143vw;
  }
}

@media screen and (max-width: 768px) {
  .Entry_Thanks {
    padding: 3.33333vmin;
    font-size: 3.46667vmin;
  }
}

.Entry_Close {
  width: 100%;
  display: block;
  background-color: transparent;
  border: solid 1px #4d4d4d;
  color: #FFF;
  margin-top: 50px;
  margin-bottom: 50px;
  font-size: 16px;
  letter-spacing: 2px;
  padding: 30px;
  cursor: pointer;
  text-align: center;
  font-family: 'Lato', sans-serif;
  font-weight: 700;
  background-color: rgba(0, 0, 0, 0);
  transition: background-color 200ms 0s ease-out;
}

@media screen and (min-width: 769px) {
  .Entry_Close:hover {
    cursor: url(/assets/app/img/pointer.png) 24 24, auto;
    background-color: rgba(50, 50, 50, 0.3);
  }
}

@media screen and (max-width: 1280px) {
  .Entry_Close {
    margin-top: 3.57143vw;
    margin-bottom: 3.57143vw;
    font-size: 1.14286vw;
    letter-spacing: 0.14286vw;
    padding: 2.14286vw;
  }
}

@media screen and (max-width: 768px) {
  .Entry_Close {
    margin-top: 6.66667vmin;
    margin-bottom: 6.66667vmin;
    font-size: 3.46667vmin;
    letter-spacing: 0.26667vmin;
    padding: 4vmin;
  }
}

.Detail_Entry_Error-total {
  text-align: center;
  margin-top: -35px;
}

@media screen and (max-width: 1280px) {
  .Detail_Entry_Error-total {
    margin-top: -2.73438vw;
  }
}

@media screen and (max-width: 768px) {
  .Detail_Entry_Error-total {
    margin-top: -4.26667vw;
  }
}

body {
  /*スクロールバー全体*/
  /*スクロールバーの軌道*/
  /*スクロールバーの動く部分*/
}

body ::-webkit-scrollbar {
  width: 1px;
  background-color: #4d4d4d;
}

body ::-webkit-scrollbar-track {
  border-radius: 1px;
}

body ::-webkit-scrollbar-thumb {
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 1px;
}

.SPTouchLayer {
  position: fixed;
  top: 0px;
  width: 100%;
  will-change: transform;
  z-index: 130;
  display: none;
  min-height: 100vh;
  /* Fallback */
  min-height: calc(var(--vh, 1vh) * 100);
}

@media screen and (max-width: 768px) {
  .SPTouchLayer {
    display: block;
  }
}

html,
body {
  margin: 0;
  padding: 0;
  min-width: 100%;
  width: 100vw;
  height: 100vh;
  text-align: justify;
  background-color: #000;
  position: fixed;
}

body {
  background-color: #25346e;
  -webkit-tap-highlight-color: transparent;
  color: #000000;
  font-size: 16px;
  font-weight: 300;
  will-change: background;
  overflow: hidden;
  position: relative;
  width: 100%;
  min-height: 100vh;
  /* Fallback */
  min-height: calc(var(--vh, 1vh) * 100);
  cursor: url(/assets/app/img/pointer-base.png) 16 16, auto;
}

body.mousedown {
  cursor: url(/assets/app/img/pointer-base-mini.png) 13 13, auto;
}

@media screen and (orientation: landscape) {
  body {
    /* 横向きの場合のスタイル */
    background-color: #000;
  }
}

#js-Wall {
  width: 100%;
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  background-color: #f00;
  opacity: 0;
  display: none;
  height: 100%;
}

#BG-Layer {
  background-color: #25346e;
  width: 100%;
  position: absolute;
  pointer-events: none;
  user-select: none;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
  height: 100%;
  overflow: hidden;
}

.js-World {
  position: relative;
  top: 0;
  left: 0;
  background: transparent;
  width: 100%;
  min-width: 100%;
  min-height: 100%;
  overflow: hidden;
  opacity: 0;
  z-index: 100;
  height: 100%;
}

.FluidArea {
  will-change: opacity;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  opacity: 0;
  -webkit-transition: opacity 1s ease-in-out;
  transition: opacity 1s ease-in-out;
}

.FluidAreaSP {
  will-change: opacity;
  width: 100%;
  min-height: 100vh;
  /* Fallback */
  min-height: calc(var(--vh, 1vh) * 100);
  position: absolute;
  pointer-events: none;
  user-select: none;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  background-image: url("/assets/app/img/sp-bg.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top left;
  display: none;
  opacity: 0;
}

@media screen and (max-width: 768px) {
  .FluidAreaSP {
    display: block;
  }
}

canvas {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

#glContainer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.dg {
  display: none;
}

select::-ms-expand {
  display: none;
}

.cp-Select select {
  margin: 0;
  background: none;
  border: 1px solid transparent;
  outline: none;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  font-size: 14px;
  display: flex;
  width: 100%;
  height: 50px;
  background-color: #4d4d4d;
  color: #FFF;
  padding-left: 20px;
  background-image: url("/assets/app/img/select-tri.png");
  background-repeat: no-repeat;
  background-size: 8px 15.5px;
  background-position: center right 10px;
  cursor: pointer;
}

@media screen and (max-width: 1280px) {
  .cp-Select select {
    font-size: 1vw;
    width: 15.71429vw;
    height: 3.57143vw;
    padding-left: 1.42857vw;
    background-size: 0.57143vw 1.10714vw;
  }
}

@media screen and (max-width: 768px) {
  .cp-Select select {
    width: 100%;
    font-size: 4.8vw;
    height: 12vw;
    padding-left: 2.93333vw;
    background-size: 1.06667vw 2.06667vw;
    background-position: center right 2vw;
  }
}

.cp-Select select option {
  padding: 20px;
}

.app-Loading {
  position: absolute;
  z-index: 2000;
  top: 50%;
  left: 50%;
  width: 100px;
  height: 100px;
  background: transparent;
  border: 10px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  border-top: 10px solid #fff;
  animation: circle-animate 1.2s infinite linear;
}

@media screen and (max-width: 1280px) {
  .app-Loading {
    width: 7.8125vw;
    height: 7.8125vw;
    border: 0.78125vw solid rgba(255, 255, 255, 0.3);
    border-top: 0.78125vw solid #fff;
  }
}

@media screen and (max-width: 768px) {
  .app-Loading {
    width: 13.33333vw;
    height: 13.33333vw;
    border: 1.33333vw solid rgba(255, 255, 255, 0.3);
    border-top: 1.33333vw solid #fff;
  }
}

@keyframes circle-animate {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }

  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

.tp-Logo {
  opacity: 0;
  position: absolute;
  top: 40px;
  left: 27px;
  z-index: 500;
  width: 50px;
  user-select: none;
}

.tp-Logo img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 768px) {
  .tp-Logo {
    top: 5.33333vmin;
    left: 3.6vmin;
    width: 10vmin;
  }
}

.tp-BoxLayer {
  position: absolute;
  z-index: 130;
  left: 0;
  top: 0;
  width: 100%;
  pointer-events: none;
  min-height: 100vh;
  /* Fallback */
  min-height: calc(var(--vh, 1vh) * 100);
}

.tp-Copy {
  opacity: 0;
  font-family: 'Lato', sans-serif;
  font-weight: 400;
  color: #FFF;
  font-size: 12px;
  position: absolute;
  letter-spacing: 1px;
  bottom: 22px;
  left: 27px;
  z-index: 10;
  user-select: none;
}

@media screen and (max-width: 768px) {
  .tp-Copy {
    font-size: 3.2vmin;
    letter-spacing: 0.13333vmin;
    bottom: 2.66667vmin;
    left: 3.6vmin;
  }
}

.tp-Copy_Year {
  padding-left: 3px;
  padding-right: 3px;
}