@charset "utf-8";


* {
   -webkit-appearance: none;
   margin:0;
    padding: 0;
}

html{
  height: 100%;
}

/*基本設定*/
body{
  color: #000;
  font-size: 13px;
  position: relative;
  margin:0;
  padding: 0;
  height: 100%;
  max-width: 100%;
  overflow-x: hidden;
  background: #fff;

}

input[type="submit"]{
   -webkit-appearance: none;
   border-radius: 0;
}

button:active{
  border: none !important;
}


input[type="text"],textarea {
  border: 1px solid #999;
  border-radius: 0;

}
textarea:focus {
  border: none !important;
}

.clearfix:after {
    content: "."; 
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
}

.clearfix {
    min-height: 1px;
}

* html .clearfix {
    height: 1px;
    /*¥*//*/
    height: auto;
    overflow: hidden;
    /**/
}

a{
  color: #00376b;
  text-decoration: none;
  font-weight: 900;
}

img,i,div,p,ul,li,input,td,th,span,textarea,select,option,ul,form,nav,body,h2,h3,a,table,th,td,tr,section,label,table{
    box-sizing: border-box;
}

html,body,section,p,div,img{
  line-height: 100%;
  vertical-align: top;
}

.wrap {
     overflow: hidden;
     padding-bottom: 45px;
 }

/*color*/

.yellow{
  color: #ffff00;
}


/* Material icons */
.material-icons,.material-icons-outlined{
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: 'liga';
}


img{
  max-width: 100%;
  width: 100%;
}

ol, ul{
    list-style:none;
    margin: 0;
    padding: 0;
}


.pc{
  display: block;
}

.sp{
  display: none;
}



section{

}

section .row{
  position: relative;
  width: 880px;
  margin: 0 auto;
}

@media only screen and (max-width: 768px) {
  section .row{
    max-width: 100%;
  }
}

section#top {
  background-image: url(./../img/20210927_materix_shader-min.gif);
}



section#top .top_logo{
  position: absolute;
  z-index: 2;
  left: 0;
  top: 0;
  width: 100%;
  animation-duration: 2s;

}

section#top .top_logo2{
  position: absolute;
  z-index: 2;
  left: 10px;
  top: 0%;
  width: 100%;
  }


.delay-16s {
 animation-delay: calc(var(--animate-delay) * 4);
}

section#top .top_text{
  position: absolute;
  z-index: 2;
  top: 3%;
  right: 15px;
  width: 50%;
  animation: blink 1s infinite;
}



section#sec1{
  background: #fff;
  position: relative;

}

section#sec1 .sec1_2{
  position: absolute;
  left: 0;
  top:0;
  animation-duration: 1.5s;
  z-index: 1;
}

section#sec2{
  background: url(./../img/sec2_back.png);
  position: relative;
  padding: 45px 0px;
}

section#sec2 .sec2_anm1{

}

section#sec2 .sec2_anm2{

}

section#sec2 .sec2_anm3{
  padding: 15px;
  animation-duration: 3s;
}

section#sec2 .sec2_anm3{
  position: absolute;
  left: 0;
  top: 0;
}

section#sec2 .sec2_anm4{
  padding: 15px;
  z-index: 2;
  position: absolute;
  bottom: 0;
  left: 0;
}

section#sec3{
  background: #000;
}

section#sec3 .padd{
  padding: 10px 15px;
}


section#sec4{
  background: url(./../img/sec2_back.png);
  position: relative;
  padding: 45px 0px;
}

section#sec4 .sec4_1{
  padding-bottom: 25px;
  animation-duration: 2s;
}

section#sec4 .sec4_2{
  padding: 0px 15px;
  margin-bottom: 15px;
}


section#sec4 .rubberBand{
  animation-duration: 3s;
}


.pad_t{
  padding-top: 45px;
}

.pad_b{
  padding-bottom: 45px;
}

.padd{
  padding: 15px 10px;
}


.button{
  position: fixed;
  width: 100%;
  padding: 10px 25px;
  left: 0;
  bottom: 0;
  z-index: 10
}


@media only screen and (min-width: 769px) {

  .button{
    display: none;
  }


}




.button_animation_2{
    animation: button_animation_2 2s ease infinite;
}
@keyframes button_animation_2 {
    0% { transform:translateX(0) }
  5% { transform:translateX(0) }
  10% { transform:translateX(0) }
  20% { transform:translateX(-20px) }
  25% { transform:translateX(0) }
  30% { transform:translateX(-20px) }
  50% { transform:translateX(0) }
  100% { transform:translateX(0) }
}



@keyframes blink {
  0%,100%{
    opacity: 0;
  }
  0%{
    opacity: 1;
    color:#ffffff;
  }
  50%{
    opacity: 1;
  }
}


/** デフォルトの大きさは1.0倍 */
.bound-img-wrap img{
  transform: scale(1);
}
/** 画像ホバー時のアニメを設定 */
.bound-img-wrap img{
  -webkit-animation: bound 2s ease-in infinite; 
  -moz-animation:    bound 2s ease-in infinite; 
  animation: bound 2s ease-in infinite;
}

/** アニメーションの定義 */
@keyframes bound {
  /** 開始時は１倍の大きさ */
  from { transform: scale(1); }
  /** 0%～25%にかけて1.15倍する */
  25% { transform: scale(1.05); }
  /** 25%～50%にかけて0.95倍する */
  50% { transform: scale(0.95); }
  /** 50%～75%にかけて1.05倍する */
  75% { transform: scale(1.05); }
  /** 終了時は元の大きさに戻す */
  to { transform: scale(1); }
}


.animated{
  --animate-duration: 2s;
}



footer{
  
}



.button_area {
  position: relative;
  max-width: 100%;
  padding-top: -5px;
  padding-bottom:25px;
  width: 100%;
  margin: 0 auto;
  text-align: center;
  padding-bottom: 250px;

}

.button_area .headShake, .button_area .headShake_1{
  animation-duration: 1.5s;
  max-width: 100% !important;
  position: absolute;
  bottom: -220px;
  padding: 10px;
}

.button_area .button_bg{
  position: absolute;
  left: 0;
  top: 100px;
  width: 100%;
  height: auto;
  z-index: -1;
}

.button_area .btn_sec2{
  animation-duration: 2s;
  position: absolute;
  left: 0;
  top: 0;
}



.buttons {
  position: absolute;
  width: 100%;
  opacity: 1;
  -webkit-animation: tikutaku 1.5s linear infinite 0s forwards;
          animation: tikutaku 1.5s linear infinite 0s forwards;
}

.buttons:nth-of-type(1) {
  z-index: 2;
  visibility: visible;
}

.buttons:nth-of-type(2) {
  -webkit-animation-delay: -.75s;
  animation-delay: -.75s;
  z-index: 0;
  visibility: hidden;

}


@-webkit-keyframes tikutaku {
  0% {
    visibility: visible;
    z-index: 2;
  }
  50.5% {
    visibility: visible;
    z-index: 2;
  }
  51% {
    visibility: hidden;
    z-index: 0;
  }
  100% {
    visibility: hidden;
    z-index: 0;
  }
}


@keyframes tikutaku {
  0% {
    visibility: visible;
    z-index: 2;
  }
  50.5% {
    visibility: visible;
    z-index: 2;
  }
  51% {
    visibility: hidden;
    z-index: 0;
  }
  100% {
    visibility: hidden;
    z-index: 0;
  }
}


@media only screen and (min-width: 769px) {

  .button_area {
    position: relative;
    max-width: 100%;
    height: 400px;
    padding-top: 35px;
    padding-bottom: 45px;
  }


}


.top_logo.animated {
    animation-duration: 1.5s;
    --animate-slower: 2s;
}

.popup{
  position: fixed;
  bottom: -100px;
  left: 2%;
  width: calc(100% - 4%);
  background: rgba(255,255,255,.75);
  padding: 10px;
  border-radius: 8px;
  transition: .4s;
}

.popup.active{
  bottom: 8px;
  transition: .4s;
}

.popup div{
  background: #d9398f;
  padding: 8px;
  border-radius: 8px;
  width: 100%;
  overflow: hidden;
}

.popup div p{
  color: #fff;
  transform: translateX(100%);
  animation: marquee 8s linear infinite;
  white-space: nowrap;
}

@keyframes marquee {
  0% {
    -moz-transform: translateX(100%);
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
  100% {
    -moz-transform: translateX(-100%);
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}
