@charset "UTF-8";
/*样式初始化   开始*/
body,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
p,
blockquote,
dl,
dt,
dd,
ul,
ol,
li,
pre,
fieldset,
button,
input,
textarea,
th,
td, select {
  margin: 0;
  padding: 0;
  outline: none;
}

a:focus {
  -moz-outline-style: none;
  outline: none;
}

body,
button,
input,
select,
textarea,
code,
kbd,
pre,
samp,
tt {
  font-family: "NotoSansJP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

address,
cite,
dfn,
em,
var {
  font-style: normal;
}

small {
  font-size: 12px;
}

ul,
ol {
  list-style: none;
}

a {
  text-decoration: none;
}

abbr[title],
acronym[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

legend {
  color: #000;
}

fieldset,
img {
  border: none;
}

button,
input,
select,
textarea {
  font-size: 100%;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

html {
  overflow-y: scroll;
}

body {
  font-size: 12px;
  line-height: 26px;
  white-space: normal;
  word-break: break-word;
}

/*样式初始化   结束*/
/*公用样式   开始*/
.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.clearfix {
  display: inline-block;
  display: block;
  zoom: 1;
}

.pull_left {
  float: left;
}

.pull_right {
  float: right;
}

.nopull {
  float: none;
}

body {
  position: relative;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/*公用样式   结束*/
@font-face {
  font-family: "NOTOSANSJP-MEDIUM";
  src: url("../fonts/NOTOSANSJP-MEDIUM.OTF");
}
@font-face {
  font-family: "NOTOSANSJP-LIGHT";
  src: url("../fonts/NOTOSANSJP-LIGHT.OTF");
}
@font-face {
  font-family: "NOTOSANSJP-REGULAR";
  src: url("../fonts/NOTOSANSJP-REGULAR.OTF");
}
@font-face {
  font-family: "NOTOSANSJP-BOLD";
  src: url("../fonts/NOTOSANSJP-BOLD.OTF");
}
/* # =================================================================
   # ANIMATION
   # ================================================================= */
/* fadeIn */
.fadeIn {
  animation-name: fadeInAnime;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* fadeUp */
.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* fadeDown */
.fadeDown {
  animation-name: fadeDownAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeDownAnime {
  from {
    opacity: 0;
    transform: translateY(-50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.blur {
  animation-name: blurAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes blurAnime {
  from {
    filter: blur(10px);
    transform: scale(1.02);
    opacity: 0;
  }
  to {
    filter: blur(0);
    transform: scale(1);
    opacity: 1;
  }
}
/*==================================================
ぱたっ
===================================*/
/* flipLeftTop */
.flipLeftTop {
  animation-name: flipLeftTopAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes flipLeftTopAnime {
  from {
    transform: translate(-20px, 80px) rotate(-15deg);
    opacity: 0;
  }
  to {
    transform: translate(0, 0) rotate(0deg);
    opacity: 1;
  }
}
/*==================================================
ぶわっ、ぽんっ、どどんっ
===================================*/
/* zoomIn */
.zoomIn {
  animation-name: zoomInAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
}

@keyframes zoomInAnime {
  from {
    transform: scale(0.6);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}
/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.zoomInTrigger,
.flipLeftTopTrigger,
.fadeInTrigger,
.fadeUpTrigger,
.fadeDownTrigger,
.blurTrigger {
  opacity: 0;
}

.slide-in {
  overflow: hidden;
  transform: translate(-100%, 0%) matrix(1, 0, 0, 1, 0, 0);
  display: inline-block;
}

.slide-in_inner {
  display: inline-block;
  transform: translate(100%, 0%) matrix(1, 0, 0, 1, 0, 0);
}

.slideAnimeLeftRight {
  animation-name: slideText-100;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
}

@keyframes slideText-100 {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}
.slideAnimeRightLeft {
  animation-name: slideText100;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
}

@keyframes slideText100 {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(0);
  }
}
.eachTextAnime span {
  opacity: 0;
}

.eachTextAnime.appeartext span {
  animation: text_anime_on 1s ease-out forwards;
}

@keyframes text_anime_on {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* # =================================================================
   # TEXT
   # ================================================================= */
@media (min-width: 1000px) and (max-width: 3840px) {
  #g-nav, .openbtn {
    display: none;
  }
}
@media (min-width: 0) and (max-width: 999px) {
  .topNav {
    display: none;
  }
  .openbtn {
    position: fixed;
    z-index: 9999;
    top: 0;
    right: 0;
    cursor: pointer;
    width: 1rem;
    height: 1rem;
  }
  .openbtn span {
    display: inline-block;
    transition: all 0.4s;
    position: absolute;
    left: 0.2rem;
    height: 0.02rem;
    background-color: #fff;
    width: 0.6rem;
  }
  .openbtn span:nth-of-type(1) {
    top: 0.4rem;
  }
  .openbtn span:nth-of-type(2) {
    top: 0.6rem;
  }
  .openbtn.active span:nth-of-type(1) {
    top: 0.4rem;
    left: 0.22rem;
    transform: translateY(0.15rem) rotate(-45deg);
    width: 0.5rem;
  }
  .openbtn.active span:nth-of-type(2) {
    top: 0.7rem;
    left: 0.22rem;
    transform: translateY(-0.15rem) rotate(45deg);
    width: 0.5rem;
  }
  #g-nav {
    position: fixed;
    z-index: 999;
    top: -120%;
    left: 0;
    width: 100%;
    height: 100vh;
    background-image: linear-gradient(60deg, #4e4e4e, #212121);
    transition: all 0.6s;
  }
  #g-nav.panelactive {
    top: 0;
  }
  #g-nav ul {
    position: absolute;
    z-index: 999;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
  }
  #g-nav ul li {
    margin-bottom: 0.2rem;
    padding-left: 0.4rem;
    background: url(../images/icon-arr04.png) no-repeat;
    background-position: 0 0.17rem;
    background-size: 0.26rem 0.26rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #fff;
    font-size: 0.28rem;
    line-height: 0.6rem;
  }
  #g-nav ul li a, #g-nav ul li span {
    display: block;
    color: #fff;
  }
  #g-nav ul img {
    display: block;
    width: 3rem;
    opacity: 0.6;
    margin: 1rem auto 0;
  }
  #g-nav ul .itemList {
    display: none;
  }
}/*# sourceMappingURL=common.css.map */