@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 {
  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: "SourceHanSans", "NotoSansJP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  -webkit-font-smoothing: antialiased; /* macOS字体平滑 */
  text-rendering: optimizeLegibility; /* 改善可读性 */
}

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: "SourceHanSans", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  border: none;
  height: 1px;
}

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;
}

/*公用样式   结束*/
/* # =================================================================
   # ANIMATION
   # ================================================================= */
/* fadeIn */
.fadeIn {
  animation-name: fadeInAnime;
  animation-duration: 3.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* fadeUp */
.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 1.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.8s;
  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;
  }
}
/* flipRightTop */
.flipRightTop {
  animation-name: flipRightTopAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes flipRightTopAnime {
  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: 2s;
  animation-fill-mode: forwards;
}

@keyframes zoomInAnime {
  from {
    transform: scale(0.6);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}
/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.zoomInTrigger,
.flipLeftTopTrigger,
.flipRightTopTrigger,
.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);
  }
}/*# sourceMappingURL=common.css.map */