/********************/
/* import           */
/********************/
:root {
  --white: #ffffff;
  --black: #231815;
  --snow: #e8e2d8;
  --red: #A00F17;
  --blue: #326497;
  --dark: #4c4948;
}

html body {
  font-family: sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #000000;
}

[data-font=notosans700] {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
}

[data-font=notosans900] {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
}

[data-font=notoserif] {
  font-family: "Noto Serif JP", sans-serif;
  font-weight: 700;
}

.btn {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  text-decoration: none;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
  line-height: 1;
  outline: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.btn svg {
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.btn path {
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.sqbtn {
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  /* user-select: none; */
}
.sqbtn p {
  pointer-events: none;
  /* user-select: none; */
}

.btn-fade {
  opacity: 1;
  -webkit-transition: opacity 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media (hover: hover) {
  .btn-fade:hover {
    opacity: 0.7;
  }
}

.btn-inv {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #fd7d1c;
  -webkit-transition: background-color 0.2s;
  transition: background-color 0.2s;
  border: 2px #fd7d1c solid;
}
.btn-inv p {
  color: #ffffff;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
}
@media (hover: hover) {
  .btn-inv:hover {
    background-color: #ffffff !important;
  }
  .btn-inv:hover p {
    color: #fd7d1c !important;
  }
}

/*
body.ua_pc {
  .btn-fade {
    opacity: 1;
    transition: opacity 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);

    &:hover {
      opacity: 0.7 !important;
    }
  }
}
*/
/********************/
/* common           */
/********************/
html, body {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  -ms-scroll-chaining: none;
      overscroll-behavior: none;
}

body {
  font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  font-weight: 400;
  color: #000000;
  background-color: #000000;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

body.pp {
  background-color: #ffffff;
}

/*reset*/
/*html, body, */
div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  font-weight: normal;
  vertical-align: baseline;
  background: transparent;
}

input {
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px #fff solid;
  border-radius: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font: inherit;
  outline: none;
}

template {
  display: none;
}

#viewport ul,
#viewport ol {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 0;
}
#viewport img {
  vertical-align: top;
}

#viewport {
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  text-align: left;
  position: relative;
  margin: 0 0 0 0;
  -webkit-text-size-adjust: 100%;
  overflow: visible;
}

#viewport {
  width: 100%;
  background-color: transparent;
  background-attachment: fixed;
  /* font-feature-settings: "palt"; */
  /* font-feature-settings: 'pkna'; */
}
#viewport img {
  width: 100%;
  font-size: 0;
}
#viewport .fontpalt {
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
#viewport a {
  text-decoration: none;
  color: #000000;
  outline: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
#viewport span.irep {
  display: block;
  width: 0;
  height: 0;
  overflow: hidden;
}
#viewport.ready {
  visibility: hidden;
}

canvas {
  display: block;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  /* user-select: none; */
  -ms-touch-action: none;
      touch-action: none;
}

.modal__inner {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/********************/
/* pc_view          */
/********************/
html #viewport .pc_on {
  display: none;
}
html #viewport .sp_on {
  display: block;
}

@media screen and (min-width: 768px) {
  html #viewport .pc_on {
    display: block;
  }
  html #viewport .sp_on {
    display: none;
  }
}