@import url('https://fonts.googleapis.com/css2?family=Catamaran:wght@100;200;300;400;500;600;700;800;900&family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.cf:after {
  display: block;
  content: "";
  clear: both;
}

#nowloading {
  width: 100%;
  text-align: center;
  position: absolute;
  top: 32%;
  font-size: 10px;
  /*transition: all 1s;*/
}

#page-animate.is-slide::after {
 top: 0;
}

#page-animate:before {
  opacity: 1;
}

#page-animate {
  width: 100%;
  opacity: 1;
  transition: all 1s;
}

#page-animate.is-slide {
  opacity: 0;
  transition: all 1s;
}

#page-animate.is-slide-in {
  opacity: 0;
  transition: all 1s;
}

table {
  border-collapse: collapse;
}

input {
  -webkit-appearance: none;
  outline: none;
  font-family: 'Noto Sans JP', sans-serif;
  display: block;
  width: 100%;
  height: 32px;
  border-radius: 4px;
  border: #ccc;
  margin-top: 8px;
  padding: 8px;
  font-size: 12px;
  transition: all 0s;
}

input:hover {}

input:active {}

textarea {
  -webkit-appearance: none;
  outline: none;
  font-family: 'Noto Sans JP', sans-serif;
  display: block;
  width: 100%;
  height: 32px;
  border-radius: 4px;
  border: #ccc;
  margin-top: 8px;
  padding: 8px;
  font-size: 12px;
  height: 220px;
  resize: none;
  transition: all 0s;
}

textarea:hover {}

textarea:active {}

button {
  -webkit-appearance: none;
  outline: none;
}

button:active {
  letter-spacing: 2px!important;
}

input[type="button"]:active {
  letter-spacing: 2px!important;
}
input[type="submit"]:active {
  letter-spacing: 2px!important;
}

.btn {
  text-align: center;
  border: 0 transparent;
  cursor: pointer;
  display: block;
  outline: none;
}

.att {
  display: inline;
}

a {
  color: #221815;
  font-weight: bold;
  transition: all 0.4s;
}

a:hover {
  text-decoration: none;
  transition: all 0.4s;
}

a:active {
  background: #221815;
  color: #fff;
  border-radius: 1px;
  text-decoration: none;
  transition: all 0.4s;
}

body {
  overflow-x: hidden;
  background: #ffffff;
  color: #221815;
  font-size: 12px;
  font-family: 'Noto Sans JP', sans-serif;
  -webkit-text-size-adjust: 100%;
  transition: all 1s;
}

body.backdrop {
  background: #000000;
  transition: all 1s;
}

.displaynone {
  display: none !important;
}

img {
  width: 100%;
}

#right-side-handle {
  display: inline-block;
  color: #fff;
}

#main-wrap {
  display: block;
  overflow: hidden;

}

#main-wrap header#page-header {
  width: 100%;
  background: #fff;
  border-bottom: #333 solid 4px;
  padding: 24px 0 32px;
  margin-bottom: 0;
  position: fixed;
  top: -200px;
  z-index: 100;
  transition: all 2s;
}

#main-wrap header#page-header.drop {
  top: 0;
  transition: all 1s;
}

#main-wrap header#page-header .header {
  margin: 0 auto;
  display: block;
  width: 100%;
  max-width: 1280px;
}

#main-wrap header#page-header h1 {
  margin: 0 auto;
  line-height: 1;
  text-align: center;
  display: block;
}

#main-wrap header#page-header h1 .logo-en {
  cursor: pointer;
  width: 100%;
  max-width: 280px;
  display: block;
  margin: 0 auto 16px;
}

#main-wrap header#page-header h1 .logo-jp {
  width: 100%;
  max-width: 100%;
  display: block;
  margin: 0;
  font-size: 12px;
}

footer#page-footer {
  display: block;
  text-align: center;
  background: #221815;
  color: #fff;
  font-size: 10px;
  /*padding: 48px 0;*/
  padding: 12px 0;
  letter-spacing: 1px;
}

@media (max-width: 1440px) {
  #main-wrap header#page-header {
    padding: 20px 0;
  }

  #main-wrap header#page-header h1 .logo-en {
    max-width: 248px;
  }
}

@media(max-width: 1024px) {
}

@media(max-width: 768px) {
  #main-wrap header#page-header h1 .logo-en {
    max-width: 184px;
    margin: 0 auto 12px;
  }
  #main-wrap header#page-header h1 .logo-jp {
    font-size: 10px;
  }
}

@media(max-width: 640px) {
  input {
    margin-top: 4px;
    font-size: 10px;
  }
  textarea {
    font-size: 10px;
  }

}


@media(max-width: 414px) {
  #main-wrap header#page-header {
    padding: 16px 0;
  }

  #terms-of-service .container {
    padding: 16px 16px 24px;
  }
}

@media(max-width: 375px) {}

@media(max-width: 320px) {
  #main-wrap {
    padding: 0;
  }
}