//== layout

body {
  background: #f6f6f6;

  &.overflowHidden {
    overflow: hidden;
  }
}

.wrap {
  max-width: $grid-breakpoint;
  margin: 0 auto;
}

//== header
.header {
  position: fixed;
  left: 0; right: 0; top: 0;
  z-index: $header-index;
  border-bottom: 1px solid rgba(0,0,0,.1);
  box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.1);

  .common {
    position: relative;
    height: 90px;
    padding: 0 13px;
    border-bottom: 1px solid rgba(0,0,0,.1);
    background: #fff;
    z-index: 3;

    &-wrap {
      position: relative;
      max-width:  $pc-inner-width;
      margin: 0 auto;

      .js-menu { display: none }

      h1 {
        float: left;
        line-height: 80px;
        margin: 0;
        padding: 0;

        img {
          height: 39px;
          vertical-align: middle;
        }
      }

      .gnb {
        float: right;
        font-size: 0;

        .sites {
          display: inline-block;
        }

        a {
          display: inline-block;
          vertical-align: middle;
          margin-top: 36px;
          margin-left: 30px;
          font-size: 15px;
          font-weight: bold;
          color: #110f0f;

          &:hover {
            color: $purple;
          }
        }

        .language {
          display: inline-block;
          position: relative;
          width: 85px;
          height: 90px;
          text-align: right;
          margin-left: 18px;
          vertical-align: top;

          h5 {
            display: inline-block;
            padding: 3px 5px 3px 9px;
            margin-top: 34px;
            text-align: right;
            font-size: 12px;
            font-weight: normal;
            color: #4d4d4d;
            cursor: pointer;
            border-radius: 18px;
            background-color: #f1f1f1;

            i {
              display: inline-block;
              margin-left: 5px;
              font-size: 10px;
            }
          }

          &-list {
            display: none;
            position: absolute;
            top: 26px; right: -5px;
            padding: 10px 17px;
            text-align: center;
            border-radius: 18px;
            box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, 0.14);
            background-color: #f1f1f1;

            h1,
            .js-langClose { display: none }

            .js-lang {
              position: relative;
              font-size: 12px;
              line-height: 1.82;
              text-align: right;
              color: #a79fb0;

              .check { display: none }

              &:hover,
              &.on {
                color: #231f20;
              }
            }

            &.on {
              display: block;
            }
          }
        }
      }
    }
  }

  .menu {
    position: relative;
    background: #fff;
    z-index: 2;
    font-size: 0;

    &-wrap {
      display: flex;
      align-items: center;
      position: relative;
      max-width: $pc-inner-width;
      height: 60px;
      margin: 0 auto;
      overflow: hidden;

      .topmenu {
        box-sizing: border-box;
        width: calc(50%);
        padding-left: 13px;
        text-align: left;

        li {
          display: inline-block;
          padding-right: 30px;

          &.isMb {
            display: none;
          }
        }

        a {
          font-size: 13px;
          font-weight: bold;
          color: #110f0f;

          &.on,
          &:hover {
            color: $yellow;
            text-decoration: none;
          }
        }
      }

      .sign {
        width: 50%;
        text-align: right;

        .js-storedown {
          position: relative;
          width: 170px;
          height: 60px;
          padding: 0 8px 0 25px;
          margin-left: 25px;
          background: #8163e3;
          vertical-align: middle;
          overflow: hidden;
          font-size: 0;

          .con {
            position: relative;
          }

          img { vertical-align: middle; }
          .ment { width: 75px; margin-right: 13px }
          .code { height: 46px; }

          &:before {
            content: '';
            display: block;
            position: absolute;
            left: 0%; top: 0%;
            width: 200%; height: 100%;
            background: rgb(129,99,227);
            background: -moz-linear-gradient(left,  rgb(129,99,227) 0%, rgb(129,99,227) 51%, rgb(129,99,227) 51%, rgb(201,69,232) 100%);
            background: -webkit-linear-gradient(left,  rgb(129,99,227) 0%,rgb(129,99,227) 51%,rgb(129,99,227) 51%,rgb(201,69,232) 100%);
            background: linear-gradient(to right,  rgb(129,99,227) 0%,rgb(129,99,227) 51%,rgb(129,99,227) 51%,rgb(201,69,232) 100%);
            filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#8163e3', endColorstr='#c945e8',GradientType=1 );

            transition: left .4s ease;
          }

          &:hover:before {
            left: -100%;
          }
        }
      }

      .sites {
        display: none;
      }
    }
  }

  .APKDown {
    display: none;
  }
}


//== footer
.footer-wrap {
  max-width: $grid-breakpoint;
  background: #f2f2f2;

  .footer-pc-logo {
    display: none;
  }

  .clause {
    width: 100%;
    padding: 20px;
    border-bottom: 1px solid #fff;
    font-size: 0;
    .js-clause {
      display: inline-block;
      white-space: pre-line;
      width: 50%;
      text-align: center;
      font-size: 12px;
      font-weight: bold;
      color: #4d4d4d;

      &:hover {
        color: $base-font-color;
      }
    }
  }

  .gap {
    padding: 20px;
  }

  .contact-us {
    padding: 20px;
  }

  h5 {
    padding: 28px 0 10px;
    font-size: 11px;
    font-weight: bold;
    color: #4d4d4d;
  }

  p {
    padding-bottom: 15px;
    white-space: pre-line;
    font-size: 12px;
    color: #808080;
  }

  .email {
    display: block;
    padding: 14px;
    border-radius: 4px;
    text-align: center;
    background-color: #230f3b;

    h5 {
      padding: 0;
      line-height: normal;
      font-size: 12px;
      font-weight: bold;
      color: #ffffff;
    }

    p {
      padding: 0;
      line-height: normal;
      font-size: 11px;
      color: #d9d9d9;
    }
  }

  .other-site {
    padding: 30px 0 40px;

    a {
      display: block;
      border-radius: 4px;
      border: solid 1px #cccccc;
      padding: 14px;
      font-size: 12px;
      font-weight: bold;
      color: #999;
      background-color: #f2f2f2;

      &:hover {
        color: $base-font-color;
      }

      &:first-child {
        margin-right: 2px;
      }

      &:last-child {
        margin-left: 2px;
      }
    }
  }

  .footer-logo {
    padding-bottom: 9px;
    text-align: center;
  }

  .copyright {
    font-size: 10px;
    text-align: center;
    color: #808080;
  }
}

@media screen and (max-width: $grid-breakpoint-mb) {

  body {
    overflow-x: hidden;
  }

  //== header
  .header-wrap {
    .hamburger span {
      background-color: #230f3b;
    }
  }

  .header {
    position: fixed;
    height: $mb-header-height;
    background: #fff;

    .common {
      position: relative;
      height: $mb-header-height;
      padding: 0 13px;

      &-wrap {
        line-height: $mb-header-height;

        .js-menu {
          position: absolute;
          display: inline-block;
          left: 0;
          top: 12px;
          line-height: normal;
          padding: 6px 10px 10px;
          cursor: pointer;
          z-index: 1;
        }

        h1 {
          float: none;
          text-align: center;
          line-height: 1.4;

          img {
            height: 25px;
          }
        }

        .gnb {
          position: absolute;
          top: 0;
          right: 0;
          float: none;
          line-height: normal;

          .sites {
            display: none;

            a {
              display: inline-block;
              vertical-align: middle;
              margin-top: 36px;
              margin-left: 30px;
              font-size: 15px;
              font-weight: bold;
              color: #110f0f;


              &:hover {
                color: $purple;
              }
            }
          }

          .language {
            height: $mb-header-height;
            margin-left: 0;
            z-index: 2;

            h5 {
              margin-top: 17px;
              font-size: 11px;
              border-radius: 0;
              background-color: #fff;
            }

            &-list {
              position: fixed;
              top: 0;
              left: 0;
              right: 0;
              padding: 0;
              border-radius: 0;
              background-color: #fff;

              ul {
                display: block;
                padding: 18px 0;
              }

              .js-lang {
                position: relative;
                display: block;
                width: 100%;
                padding: 15px;
                font-size: 14px;
                line-height: normal;
                text-align: center;
                color: #231f20;

                .iB {
                  position: relative;
                }

                &.on {
                  .check {
                    position: absolute;
                    top: 0;
                    right: -24px;
                    display: inline-block;
                    font-size: 13px;
                  }
                }

                &:active {
                  background-color: rgba(216, 216, 216, 0.21);
                }
              }

              &.on {
                h1 {
                  position: relative;
                  display: block;
                  line-height: $mb-header-height;
                  border-bottom: 1px solid #e8e8e8;
                  font-size: 13px;
                  font-weight: 500;
                  text-align: center;
                  color: #230f3b;
                }

                .js-langClose {
                  position: absolute;
                  top: 20px;
                  right: 13px;
                  display: inline-block;

                  i {
                    font-size: 20px;
                  }
                }
              }
            }
          }
        }
      }
    }

    .menu {
      position: fixed;
      left: 0;
      top: 0;
      display: none;
      width: 100%;
      height: 100%;
      background: #fff;
      z-index: 2;
      font-size: 0;
      border-bottom: solid 1px #e8e8e8;
      background: url(../assets/image/topmenu-bg.png) no-repeat left top #fff;
      background-size: 92%;

      &-wrap {
        box-sizing: border-box;
        position: relative;
        display: block;
        height: 100vh;
        padding: $mb-header-height 28px;
        margin: 0 auto;

        .topmenu {
          box-sizing: border-box;
          width: 100%;
          height: calc(50vh - #{$mb-header-height});
          margin: 0;
          padding: 25px 0 0;
          border-bottom: solid 1px #e6e6e6;
          text-align: left;

          li {
            display: block;
            padding: 9px;

            &.isMb {
              display: block;
            }
          }

          a {
            font-size: 15px;

            &.on,
            &:hover {
              color: #6035bd;
              text-decoration: none;
            }
          }
        }

        .sign {
          display: none;
        }

        .sites {
          display: block;
          position: relative;
          padding-top: 15px;

          li {
            display: block;
            padding: 15px;
          }

          &-web {
            font-size: 19px;
            font-weight: bold;
            color: #6035bd;
          }
        }
      }

      &.ko {
        .menu-wrap .topmenu li {
          padding: 7px;
        }
      }
    }

    .APKDown {
      display: block;
      position: relative;
      z-index: 2;

      .js-APKdownload {
        align-items: center;
        width: 100%;
        height: $mb-header-height;
        line-height: $mb-header-height;
        text-align: center;
        background-color: rgba(113, 78, 229, 0.93);

        .iB {
          line-height: normal;
        }

        img {
          height: 27px;
          vertical-align: middle
        }

        .iB {
          padding-left: 11px;
          text-align: left;
          vertical-align: middle;
        }

        .tit {
          font-size: 14px;
          font-weight: bold;
          color: #ffffff;
        }

        .script {
          font-size: 10px;
          color: #ffc400;
        }
      }
    }

    &.on {
      .common {
        background: transparent;
      }

      .menu {
        display: block;
      }

      .common-wrap .gnb .language {
        display: none;
      }

      .APKDown {
        position: fixed;
        left: 28px;
        right: 28px;
        bottom: 26px;

        .js-APKdownload {
          height: 72px;
          line-height: 72px;
        }
      }
    }
  }
}

@media screen and (min-width: $grid-breakpoint) {
  .wrap {
    max-width: $max-width;
  }

  .footer-wrap {
    padding: 40px 0 20px;
    max-width: none;
    font-size: 0;

    .footer-pc-logo {
      display: inline-block;
      padding-left: 10px;
      width: 33.3333%;
      vertical-align: top;

      img {
        width: 90%;
        max-width: 164px;
      }
    }

    .clause {
      display: inline-block;
      width: 33.3333%;
      padding: 0;
      border-bottom-width: 0;
      font-size: 0;
      vertical-align: top;
      .js-clause {
        display: block;
        width: auto;
        margin-bottom: 15px;
        text-align: left;
      }
    }

    .contact-us {
      display: inline-block;
      width: 33.3333%;
      max-width: 242px;
      padding: 0;
      vertical-align: top;

      h5 {
        padding-top: 0;
      }

      & > p {
        font-size: 11px;
      }

      .other-site {
        padding: 10px 0 0;

        a {
          padding: 6px;
          font-size: 10px;
        }
      }

    }

    .footer-logo {
      display: none;
    }
    .copyright {
      text-align: left;
    }
  }
}
