@charset "UTF-8";
html {
  font-size: 2.97vw;
}
@media screen and (min-width: 769px) {
  html {
    font-size: 2.47vw;
  }
}
@media screen and (min-width: 961px) {
  html {
    font-size: 1.35vw;
  }
}
@media screen and (min-width: 1281px) {
  html {
    font-size: 17px;
  }
}

html body {
  font-family: "hiragino-kaku-gothic-pron", sans-serif;
  font-weight: 300;
  letter-spacing: 0.1em;
  color: #d2d2d2;
  line-height: 1.7;
  -ms-font-feature-settings: "normal";
  font-feature-settings: "palt";
  overflow-x: hidden;
  background: #000;
}
.serif {
  font-family: "hiragino-mincho-pron", sans-serif;
  font-weight: 300;
}

:root {
  --STxt: 3vw;
  --MTxt: 3.66vw;
  --LTxt: 4.31vw;
  --STitle: 6.5vw;
}

@media screen and (min-width: 641px) {
  --STxt: 1.25vw;
  --MTxt: 10.65vw;
  --LTxt: 2.22vw;
  --STitle: 50vw;
}
@media screen and (min-width: 900px) {
  :root {
    --STxt: 1.25vw;
    --MTxt: 1.65vw;
    --LTxt: 2.22vw;
    --STitle: 4vw;
  }

  html body {
    letter-spacing: 0.2em;
  }
}
.MTxt {
  font-size: clamp(11.5px, var(--MTxt), 16px);
}
.LTxt {
  font-size: clamp(13.8px, var(--LTxt), 24px);
}
.STitle {
  font-size: clamp(16.6px, var(--STitle), 46px);
}

.fwBold {
  font-weight: 600;
}

.fs90 {
  font-size: max(90%, 4px) !important;
}
.fs80 {
  font-size: max(80%, 4px) !important;
}
.fs70 {
  font-size: max(70%, 4px) !important;
}
.fs60 {
  font-size: max(60%, 4px) !important;
}
.fs50 {
  font-size: max(50%, 4px) !important;
}

/* ==================================================
link
================================================== */

a {
  cursor: pointer;
  display: inline-block;
  -webkit-transition: 0.8s opacity;
  -o-transition: 0.8s opacity;
  transition: 0.8s opacity;
}
a:link {
  text-decoration: none;
}
a:visited {
  text-decoration: none;
}
a:active {
  text-decoration: none;
}
ul li a {
  position: relative;
  outline: none;
  text-decoration: none;
}
p a:link {
  text-decoration: underline;
}
p a:visited {
  text-decoration: underline;
}
p a:active {
  text-decoration: underline;
}
ul li a:focus {
  outline: none;
}
.imgObj {
  line-height: 1;
}
/* ==================================================
  common
  ================================================== */

* {
  -webkit-overflow-js-btnscrolling: touch;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media screen and (max-width: 768px) {
  .spno {
    display: none !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 960px) {
  .tabno {
    display: none !important;
  }
}
@media screen and (min-width: 900px) {
  .pcno {
    display: none !important;
  }
  .indexno {
    display: none;
    opacity: 0;
  }
}

img {
  line-height: 1;
  width: 100%;
}
.js-Fade-intro,
.js-Fade {
  opacity: 0;
  transform: translateY(10px);
}
.js-Fade.fadeIn {
  transform: translate(0, 0);
}
.js-Fade.fadeInL {
  transform: translate(20px, 0);
}
.js-Fade.fadeInR {
  transform: translate(-20px, 0);
}

.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
  -webkit-animation-duration: 0.8s;
  animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0);
    transform: translate(0);
  }
}

a {
  overflow: hidden;
}
img {
  transition: 0.8s cubic-bezier(0.075, 0.82, 0.165, 1);
}
a:hover img {
  opacity: 0.7;
  transition: 0.8s cubic-bezier(0.075, 0.82, 0.165, 1);
  opacity: 1;
  filter: brightness(1.4);
}
