@charset "utf-8";
.sp-only {
   display: none !important;
}
body {
   height: 100vh;
   position: relative;
}
@media all and (max-width:767px) {
   body {
      font-size: 3.7vw;
      min-height: 600px;
   }
}
/* == header ============================================== */
header {
   position: absolute;
   left: 0;
   top: 0;
   width: 100%;
   z-index: 100;
}
header .h-title {
   margin: 25px 30px;
   color: #fff;
   font-size: 140%;
}
@media all and (max-width:767px) {
   header .h-title {
      margin: 20px;
   }
   body.enter header .h-title {
      color: #333;
   }
}
/* == footer ============================================== */
footer {
   position: absolute;
   left: 0;
   bottom: 15px;
   width: 100%;
   text-align: right;
   z-index: 10;
}
footer .copyright {
   padding: 0 15px 0 0;
   font-size: 75%;
}
@media all and (max-width:767px) {
   footer {
      bottom: 10px;
   }
   footer .copyright {
      font-size: 65%;
   }
}
/* == frontpage ==============================================*/
.block_splash {
   position: fixed;
   left: 0;
   top: 0;
   width: 100%;
   height: 100vh;
   background: #fff;
   z-index: 9;
   transition: all .5s;
}
body.enter .block_splash {
   opacity: 0;
   visibility: hidden;
   pointer-events: none;
   filter: blur(3px);
}
.block_splash .splash-wrap {
   text-align: center;
   position: relative;
   top: 38%;
}
.block_splash .splash-title {
   font-size: 190%;
   font-weight: 400;
   letter-spacing: 3px;
}
.block_splash .enter-wrap {
   margin: 25px 0 0;
   position: relative;
}
.block_splash .enter-wrap .enter01 {
   transition: all .3s;
}
.block_splash .enter-wrap.open .enter01 {
   opacity: 0;
   filter: blur(3px);
   visibility: hidden;
   pointer-events: none;
}
.block_splash .enter-wrap .enter01 .lead {
   margin: 0 0 10px;
   font-size: 88%;
}
.block_splash .enter-wrap .enter01 label {
   display: inline-block;
   cursor: pointer;
   transition: all .2s;
}
.block_splash .enter-wrap .enter01 label:hover {
   color: gold;
}
.block_splash .enter-wrap .enter02 {
   position: absolute;
   background: #fff;
   text-align: center;
   top: 0;
   left: 0;
   right: 0;
   margin: auto;
   opacity: 0;
   filter: blur(3px);
   visibility: hidden;
   pointer-events: none;
   transition: all .3s;
}
.block_splash .enter-wrap.open .enter02 {
   opacity: 1;
   filter: blur(0px);
   visibility: visible;
   pointer-events: auto;
}
.block_splash .enter-wrap .enter02 button {
   -webkit-appearance: none;
   -moz-appearance: none;
   appearance: none;
   display: inline-block;
   border: none;
   background: none;
   font-size: 135%;
   font-family: 'Noto Serif JP', sans-serif;
   padding: 5px;
   cursor: pointer;
   transition: all .2s;
}
.block_splash .enter-wrap .enter02 button:hover {
   color: gold;
}
@media all and (max-width:767px) {
   .block_splash {
      position: absolute;
      display: table;
      width: 100%;
      min-height: 600px;
   }
   .block_splash .splash-title {
      font-size: 160%;
   }
   .block_splash .splash-wrap {
      top: auto;
      display: table-cell;
      vertical-align: middle;
   }
   .block_splash .enter-wrap {
      margin: 20px 0 0;
   }
   .block_splash .enter-wrap .enter01 .lead {
      line-height: 2;
   }
}
/*------------------------------*/
.block_main-content {
   position: relative;
   z-index: 1;
   height: 100vh;
   overflow: hidden;
}
.block_main-content .area_image {
   position: absolute;
   left: 0;
   top: 0;
   width: 50%;
   height: 100%;
   background: url(../img/bg-content.jpg) no-repeat center;
   background-size: cover;
   z-index: 10;
}
.block_main-content .area_image::before {
   content: '';
   width: 40%;
   height: 100%;
   background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
   background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
   background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#00ffffff', GradientType=1);
   position: absolute;
   right: 0;
   top: 0;
}
.block_main-content .area_content {
   padding: 0 0 0 50%;
   position: relative;
   height: 100%;
}
.block_main-content .area_content .bg-memo {
   position: absolute;
   left: 0;
   top: 0;
   width: 100%;
   height: 100%;
   background: url(../img/bg-memo.png) repeat;
   -webkit-animation: memo 25s linear 0s infinite;
   animation: memo 25s linear 0s infinite;
   z-index: 5;
}
@-webkit-keyframes memo {
   0% {
      background-position: left center;
   }
   100% {
      background-position: left 1392px center;
   }
}
@keyframes memo {
   0% {
      background-position: left center;
   }
   100% {
      background-position: left 1392px center;
   }
}
@-webkit-keyframes memo_sp {
   0% {
      background-position: left center;
   }
   100% {
      background-position: left 696px center;
   }
}
@keyframes memo_sp {
   0% {
      background-position: left center;
   }
   100% {
      background-position: left 696px center;
   }
}
.block_main-content .area_content .content-wrap {
   width: 100%;
   height: 100%;
   padding: 0 10%;
   display: table;
   box-sizing: border-box;
   position: relative;
   z-index: 10;
}
.block_main-content .area_content .content-wrap .table-cell {
   display: table-cell;
   vertical-align: middle;
}
.block_main-content .area_content .counter-text {
   font-size: 140%;
   line-height: 1;
}
.block_main-content .area_content .counter-number {
   font-size: 140%;
   margin: 0 0 15px;
}
.block_main-content .area_content .counter-number span {
   font-size: 180%;
   display: inline-block;
}
.block_main-content .area_content .counter-number span:nth-child(n + 2) {
   padding: 0 0 0 10px;
}
.block_main-content .area_content .content-lead {
   font-size: 90%;
   line-height: 2.2;
}
.block_main-content .area_content .content-lead + .content-lead {
   margin: 20px 0 0;
}
.block_main-content .area_content .btn_link {
   margin: 50px 0 0;
}
.block_main-content .area_content .btn_link a {
   display: inline-block;
   position: relative;
   transition: all .2s;
   padding: 5px 15px 5px 0;
}
.block_main-content .area_content .btn_link a::before {
   content: '';
   width: 6px;
   height: 6px;
   box-sizing: border-box;
   border-top: solid 1px #000;
   border-right: solid 1px #000;
   position: absolute;
   right: 0;
   bottom: 15px;
   transform: rotateZ(45deg);
}
.block_main-content .area_content .btn_link a:hover {
   color: blue;
}
@media all and (max-width:767px) {
   .block_main-content .area_image {
      display: none;
   }
   .block_main-content .area_content {
      padding: 5% 0;
      box-sizing: border-box;
   }
   .block_main-content .area_content .bg-memo {
      background-size: 696px 373px;
      -webkit-animation: memo_sp 25s linear 0s infinite;
      animation: memo_sp 25s linear 0s infinite;
   }
   .block_main-content .area_content .content-wrap {
      padding: 0 5%;
   }
   .block_main-content .area_content .counter-number {
      font-size: 130%;
      margin: 0 0 10px;
   }
   .block_main-content .area_content .counter-number span {
      font-size: 170%;
   }
   .block_main-content .area_content .counter-number span:nth-child(n + 2) {
      padding: 0 0 0 3%;
   }
   .block_main-content .area_content .content-lead {
      line-height: 1.8;
   }
   .block_main-content .area_content .content-lead + .content-lead {
      margin: 15px 0 0;
   }
   .block_main-content .area_content .btn_link {
      margin: 30px 0 0;
   }
   .block_main-content .area_content .btn_link a::before {
      bottom: 13px;
   }
}