@charset "UTF-8";

* {
  margin: 0;
  padding: 0;
  vertical-align: bottom;
  outline: none;
  font-family: "source-han-serif-japanese",serif;
}

img {
  user-select: none;
}

#contents_sp {
  width: 100%;
}

#wrapper_sp {
  width: 100%;
  overflow: hidden;
}

#header_sp {
  position: relative;
  width: 100vw;
  height: 884px;
  background: #84F2CB;
  overflow: hidden;
}

#main_contents {
  position: relative;
  width: 100%;
  background: #ffffff;
  z-index: 30;
}

.top_image {
  position: absolute;
  left: 50%;
  width: 1200px;
  height: 884px;
  margin-left: -600px;
}

.title_logo {
  position: absolute;
  width: 998px;
  height: 363px;
  top: 521px;
  left: 50%;
  margin-left: -498px;
  z-index: 25;
  opacity: 0;
}

.wood_top {
  position: absolute;
  width: 1000px;
  height: 569px;
  top: -100px;
  left: 50%;
  margin-left: -501px;
  z-index: 20;
}

.wood_bottom {
  position: absolute;
  width: 1000px;
  height: 782px;
  top: 0px;
  left: 50%;
  margin-left: -501px;
  z-index: 19;
}

.bird1 {
  position: absolute;
  top: -50px;
  right: 100px;
  z-index: 50;
}

#main_contants_wrapper {
  position: relative;
  z-index: 10;
}

.center_cont {
  width: 1200px;
  height: auto;
  margin: 0 auto;
}

.full_cont1 {
  width: 100%;
  height: 72px;
  margin-top: 100px;
  background: url("../images/cont_title_back.jpg");
  background-repeat: repeat-x;
  text-align: center;
}

.full_cont2 {
  width: 100%;
  height: 868px;
  background: #FCF8EC;
  background-repeat: repeat-x;
  text-align: center;
}

.full_cont3 {
  width: 100%;
  height: auto;
  background: url("../images/footer_back.jpg");
  background-repeat: repeat-x;
  text-align: center;
}

.schedule {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding: 60px 0 ;
  text-align: center;
}

.shizen1 {
  margin-top: 100px;
}

.oubo2 {
  width: 100%;
  text-align: center;
}

.space_pt180 {
  padding-top: 180px;
}

.ret_btn{
  position: fixed;
  width: 960px;
  bottom: 60px;
  left: 50%;
  margin-left: -480px;
  z-index: 99;
  text-align: right;
}

.oubo2 {
  position: relative;
  z-index: 1;
}

.footer{
  position: relative;
  z-index: 1;
}

/* loading ---------------- */

#loader-bg {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: #84F2CB;
  z-index: 100;
}

#loader {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  width: 200px;
  height: 200px;
  margin-top: -100px;
  margin-left: -100px;
  text-align: center;
  color: #fff;
  z-index: 100;
}

/* icon flash --------*/

.flash{
    animation: flash 1.5s infinite linear;
    -webkit-animation: flash 1.5s infinite linear;
    -moz-animation: flash 1.5s infinite linear;
}
@keyframes flash {
    0% { opacity: 0.2; }
    50% { opacity: 1; }
    100% { opacity: 0.2; }
}
@-webkit-keyframes flash {
    0% { opacity: 0.2; }
    50% { opacity: 1; }
    100% { opacity: 0.2; }
}
@-moz-keyframes flash {
    0% { opacity: 0.2; }
    50% { opacity: 1; }
    100% { opacity: 0.2; }
}
