@charset "UTF-8";
/*------------------------------------------
 RESET
 ------------------------------------------*/
body, div, p, ul, ol, li, dl, dt, dd, table, th, td, img, figure,
h1, h2, h3, h4, h5, h6, form, select {
  margin: 0;
  padding: 0;
}
main, article, aside, figcaption, figure, picture, source,
footer, header, nav, section, details, summary {
  display: block;
}
h1, h2, h3, h4, h5, h6, th, em, strong {
  font-weight: normal;
}
ul, ol {
  list-style: none;
}
img {
  border: 0;
  vertical-align: middle;
}
a {
  text-decoration: none;
  display: block;
}
a:hover {
  transition: 0.5s;
  opacity: 0.6;
}
table {
  border-collapse: collapse;
}
pre {
  white-space: pre-wrap;
}
svg,
input,
select,
textarea,
label {
  vertical-align: middle;
}
*,
*:before,
*:after {
  word-break: normal;
  box-sizing: border-box;
  -ms-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
}
/* [IE8-] New Tag from HTML5 */
main, article, aside, figcaption, figure,
footer, header, nav, section, details, summary {
  display: block;
}
address {
  font-style: normal;
}
@media all and (orientation: landscape) {
  body, html {
    width: 100%;
  }
}
/*------------------------------------------
 BASE STYLE
 ------------------------------------------*/
/* font-family */
html, input, select, textarea, table, th, td, li, a {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", Meiryo, メイリオ, sans-serif;
}
/* font-style */
html {
  line-height: 2;
  font-size: 10px;
  -webkit-text-size-adjust: 100%;
}
body {
  background-color: #ffffff;
  width: 100%;
}
/* base font color */
html, input, select, textarea {
  color: #000;
}
/* normalize size */
input, select, textarea {
  font-size: 100%;
}
/* normalize style & weight */
strong, em, small {
  font-style: normal;
  font-weight: normal;
}
/* selection */
::selection {
  background: #000;
  color: #fff;
}
/* Firefox */
::-moz-selection {
  background: #000;
  color: #fff;
}
/*------------------------------------------
 COMMON
 ------------------------------------------*/
.footer a {
  display: inline-block;
}
/*------------------------------------------
 LOADING
 ------------------------------------------*/
 #loading {
  font-size: 1.4rem;
  width: 100vw;
  height: 100vh;
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  /*クリック,タッチ操作を無効*/
  pointer-events: none;
}
#loading_barWrap {
  width: 30vw;
  height: calc(1rem + 5px);
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
#loading_bar {
  width: 0;
  height: 1px;
  background: #b8b8b8;
  transition-duration: 1s;
}
.loading_text {
  text-align: center;
  color: #b8b8b8;
}
.loadingNone {
  animation: loadingAnime 1s forwards;
}
@keyframes loadingAnime {
  0% {
    opacity: 1;
  }
  99% {
    opacity: 0;
  }
  100% {
    opacity: 0;
    display: none;
  }
}
/*------------------------------------------
 FADEIN ANIMATION
 ------------------------------------------*/
/* 画面外にいる状態 */
.fadein-animation {
  opacity : 0.1;
  transform : translate(0, 50px);
  transition : all 400ms;
}
/* 画面内に入った状態 */
.fadein-animation.scrollin {
  opacity : 1;
  transform : translate(0, 0);
}
.fadein-animation:nth-of-type(2) {
  -moz-transition-delay:50ms;
  -webkit-transition-delay:50ms;
  -o-transition-delay:50ms;
  -ms-transition-delay:50ms;
}
.fadein-animation:nth-of-type(3) {
  -moz-transition-delay:100ms;
  -webkit-transition-delay:100ms;
  -o-transition-delay:100ms;
  -ms-transition-delay:100ms;
}
.fadein-animation:nth-of-type(4) {
  -moz-transition-delay:200ms;
  -webkit-transition-delay:200ms;
  -o-transition-delay:200ms;
  -ms-transition-delay:200ms;
}
.fadein-animation:nth-of-type(5) {
  -moz-transition-delay:300ms;
  -webkit-transition-delay:300ms;
  -o-transition-delay:300ms;
  -ms-transition-delay:300ms;
}
.fadein-animation:nth-of-type(6) {
  -moz-transition-delay:400ms;
  -webkit-transition-delay:400ms;
  -o-transition-delay:400ms;
  -ms-transition-delay:400ms;
}
/*------------------------------------------
 PC
 ------------------------------------------*/
@media screen and (min-width: 835px){
  /* COMMON */
  h1, h2, h3 {
    font-size: 1.6rem;
    font-weight: bold;
    margin: 0 0 28px;
    text-align: center;
  }
  /* PC,SP */
  .pc {
    display: block;
  }
  .sp {
    display: none;
  }
  /* DECORATION TEXT */
  .decoration-text {
    font-size: 1.2rem;
    writing-mode: vertical-rl;
    letter-spacing: 5px;
    margin: 50vh auto 0;
    transform: translateY(-50%);
    text-align: center;
    position: absolute;
    left: 20px;
    color: #e8ff09;
  }
  /* BORDER */
  .border {
    border-bottom: solid 4px #000;
    width: 200px;
    display: inline-block;
    margin: 80px 0;
  }
  /* CONTENTS */
  .wrapper {
    max-width: 1000px;
    margin: 0 auto;
    font-size: 1.6rem;
  }
  .mainvisual img {
    width: 100%;
    height: auto;
  }
  .information {
    font-size: 1.8rem;
    text-align: center;
    margin: 20px 0 0;
  }
  .information p {
    margin: -10px 0 0;
  }
  .doodle {
    margin: 0 auto;
  }
  .doodle .swiper-container ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .doodle .swiper-container ul li {
    width: 33.3333%;
    margin-bottom: 40px;
  }
  .doodle div ul li {
    width: 16.6666%;
    margin-bottom: 40px;
  }
  .doodle .swiper-container ul li img {
    width: 306px;
  }
  .doodle_2 {
    margin: 40px auto 0;
  }
  .doodle_2  ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .doodle_2  ul li img {
    width: 470px;
  }
  .topics {
    text-align: center;
    margin: 80px 0;
    padding: 40px 0;
    border-top: solid 2px #000;
    border-bottom: solid 2px #000;
  }
  .topics dl dt {
    font-size: 2rem;
    font-weight: bold;
  }
  .topics dl dd:nth-child(2) {
    margin: 0 0 20px 0;
    font-size: 1.2rem;
  }
  .topics dl dd:nth-child(3) {
    margin: 0 0 12px 0;
  }
  .topics ul {
    margin: 24px 0 0;
    display: flex;
    flex-direction: row;
    justify-content: center;
  }
  .topics ul li {
    margin: 0 30px 0 0;
  }
  .topics ul li:last-child {
    margin-right: 0;
  }
  .footer {
    text-align: center;
    font-size:  1.4rem;
    margin: 0 0 32px 0;
  }
  .footer img {
    width: 74px;
    margin: 0 0 80px 0;
  }
}
/*------------------------------------------
 SP
 ------------------------------------------*/
@media screen and (min-width: 280px) and (max-width: 834px){
  /* COMMON */
  h1, h2, h3 {
    font-size: 1.6rem;
    font-weight: bold;
    margin: 0 0 12px;
    text-align: center;
  }
  .decoration-text {
    display: none;
  }
  /* PC,SP */
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  /* BORDER */
  .border {
    border-bottom: solid 4px #000;
    width: 110px;
    display: inline-block;
    margin: 40px 0;
  }
  /* SWIPER */
  .swiper-container ul li img {
    width: 306px;
  }
  .swiper-container ul li img,a {
    width: 100%;
  }
  /* CONTENTS */
  .wrapper {
    font-size: 1.4rem;
  }
  .mainvisual img {
    width: 100%;
    height: auto;
  }
  .information {
    text-align: center;
  }
  .doodle {
    padding-left: 20px;
  }
  .doodle .arrow_slide {
    width: 104px;
    margin: 16px auto 40px;
  }
  .doodle_2 {
    padding: 0 20px;
  }
  .doodle_2 img {
    width: 100%;
  }
  .doodle_2 ul li {
    margin: 0 0 20px;
  }
  .topics {
    text-align: center;
    margin: 40px 20px;
    padding: 40px 0;
    border-top: solid 2px #000;
    border-bottom: solid 2px #000;
  }
  .topics dl dt {
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: -10px;
  }
  .topics dl dd:nth-child(2) {
    margin: 0 0 20px 0;
    font-size: 1.2rem;
  }
  .topics dl dd:nth-child(3) {
    margin: 0 0 12px 0;
  }
  .topics ul {
    margin: 24px 0 0;
    display: flex;
    flex-direction: row;
    justify-content: center;
  }
  .topics ul li {
    margin: 0 30px 0 0;
  }
  .topics ul li:last-child {
    margin-right: 0;
  }
  .footer {
    text-align: center;
    font-size:  1.4rem;
    margin: 0 0 32px 0;
  }
  .footer img {
    width: 60px;
    margin: 0 0 32px 0;
  }
  .footer small {
    font-size: 1rem;
  }
}