@charset "UTF-8";
#loading {
  position: fixed;
  z-index: 99999;
  background-color: #ffffff;
  top: 0;
  left: 0;
  width: 100%;
  height: 200%;
}
body {
  min-width: 320px;
  color: #000;
}
#contents_inner {
  overflow: hidden;
}
@media screen and (max-width:768px) {
  #to-top {
    bottom: 60px;
  }
}
@media screen and (max-width:500px) {}
#footer #page-top {
  display: none !important;
}
#to-top {
  right: 0;
  z-index: 4;
}
#to-top a {
  width: 100%;
  height: 100%;
  display: block;
}
#wrapper {
  min-width: 100%;
}
@media screen and (max-width:667px) {
  #footer {
    margin-top: 0px !important;
  }
  #to-top img {
    width: 56px;
  }
}
/* .lp_contents_wrap  */
.lp_contents_wrap {
  /* padding: 110px 30px;*/
  font-size: 14px;
}
.lp_contents_wrap {
  word-break: break-all;
  word-wrap: break-word;
}
.lp_contents_wrap .lp_contents {
  margin: 0 auto;
  position: relative;
}
.lp_contents_wrap img {
  max-width: 100%;
  vertical-align: bottom;
  margin: 0 auto;
}
.lp_contents_wrap, .lp_contents_wrap *, .lp_contents_wrap *:before, .lp_contents_wrap *:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
.lp_contents_wrap *:before, .lp_contents_wrap *:after {
  background-size: 100%;
}
.lp_contents_wrap a {
  color: inherit;
}
/* .lp_lead_wrap */
.lp_lead_wrap {
  text-align: center;
  letter-spacing: -0.4em;
  margin: 0 0 30px 0;
}
.lp_lead_wrap .lp_lead {
  display: inline-block;
  letter-spacing: normal;
  text-align: left;
  padding: 0 35px;
}
@media screen and (max-width:667px) {
  .lp_lead_wrap {
    margin: 0 0 25px 0;
  }
  .lp_lead_wrap .lp_lead {
    display: block;
    padding: 0;
  }
}
/* .btn_row */
.btn_row {
  text-align: center;
  margin: 0 -25px -25px 0;
}
.btn_row .btn_col {
  display: inline-block;
  vertical-align: bottom;
  max-width: 340px;
  width: 100%;
  padding: 0 25px 25px 0;
}
.btn_row .btn_wrap {
  font-size: 16px;
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
  border-radius: 8px;
  -webkit-box-shadow: 0px 3px 0px #9e000b;
  -moz-box-shadow: 0px 3px 0px #9e000b;
  box-shadow: 0px 3px 0px #9e000b;
}
.btn_row .btn {
  position: relative;
  letter-spacing: -0.4em;
  white-space: nowrap;
  display: block;
  background-color: #e0000f;
  height: 64px;
  color: #ffffff;
  text-decoration: none !important;
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
  border-radius: 8px;
}
.btn_row .btn:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  height: 100%;
}
.btn_row .btn_text, .btn_row .btn_img {
  display: inline-block;
  vertical-align: middle;
  white-space: normal;
  letter-spacing: normal;
}
.btn_row .btn_img {
  margin-right: 8px;
}
.btn_text {
  font-size: 20px;
  font-weight: bold;
}
/* -------------------------------- #lp_visual --------------------------------*/
#s01_01 {
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
#lp_visual {
  width: 100%;
  position: relative;
  margin: 0 auto;
}
#lp_visual .lp_visual {
  width: 100%;
  margin: 0 auto;
  padding: 0 16px;	
}


@media screen and (max-width:768px) {
#lp_visual .lp_visual {
  padding: 0;
}
  #lp_visual {
    width: 100%;
    position: relative;
    margin: 0 auto;
    padding: 10px 0;	  
  }
}
/* アニメーション */
.anime01 {
  transition: opacity 0.6s ease 0s, transform 0.6s ease 0s;
  -webkit-transition: opacity 0.6s ease 0s, transform 0.6s ease 0s;
  -moz-transition: opacity 0.6s ease 0s, transform 0.6s ease 0s;
  -o-transition: opacity 0.6s ease 0s, transform 0.6s ease 0s;
  -ms-transition: opacity 0.6s ease 0s, transform 0.6s ease 0s;
  -ms-filter: "alpha(opacity=0)";
  -khtml-opacity: 0;
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  opacity: 0;
  -webkit-transform: translate(0px, 60px);
  -moz-transform: translate(0px, 60px);
  -o-transform: translate(0px, 60px);
  -ms-transform: translate(0px, 60px);
  transform: translate(0px, 60px);
}
.anime01.active {
  -ms-filter: "alpha(opacity=100)";
  -khtml-opacity: 1;
  filter: alpha(opacity=100);
  -moz-opacity: 1;
  opacity: 1;
  -webkit-transform: translate(0px, 0px);
  -moz-transform: translate(0px, 0px);
  -o-transform: translate(0px, 0px);
  -ms-transform: translate(0px, 0px);
  transform: translate(0px, 0px);
}
.anime02 {
  -ms-filter: "alpha(opacity=0)";
  -khtml-opacity: 0;
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  opacity: 0;
  -moz-transform: scale(0.8);
  -webkit-transform: scale(0.8);
  -o-transform: scale(0.8);
  -ms-transform: scale(0.8);
  transform: scale(0.8);
  -moz-transition: transform 0.5s cubic-bezier(.38, 0, .54, 1.74) 0s, opacity 0s ease 0s;
  -webkit-transition: transform 0.5s cubic-bezier(.38, 0, .54, 1.74) 0s, opacity 0s ease 0s;
  -o-transition: transform 0.5s cubic-bezier(.38, 0, .54, 1.74) 0s, opacity 0s ease 0s;
  -ms-transition: transform 0.5s cubic-bezier(.38, 0, .54, 1.74) 0s, opacity 0s ease 0s;
  transition: transform 0.5s cubic-bezier(.38, 0, .54, 1.74) 0s, opacity 0s ease 0s;
}
.anime02.active {
  -ms-filter: "alpha(opacity=100)";
  -khtml-opacity: 1;
  filter: alpha(opacity=100);
  -moz-opacity: 1;
  opacity: 1;
  -moz-transform: scale(1);
  -webkit-transform: scale(1);
  -o-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}
/* delay*/
.delay0 {
  -moz-transition-delay: 0s !important;
  -webkit-transition-delay: 0s !important;
  -o-transition-delay: 0s !important;
  -ms-transition-delay: 0s !important;
}
.delay100 {
  -moz-transition-delay: 0.1s !important;
  -webkit-transition-delay: 0.1s !important;
  -o-transition-delay: 0.1s !important;
  -ms-transition-delay: 0.1s !important;
}
.delay200 {
  -moz-transition-delay: 0.2s !important;
  -webkit-transition-delay: 0.2s !important;
  -o-transition-delay: 0.2s !important;
  -ms-transition-delay: 0.2s !important;
}
.delay300 {
  -moz-transition-delay: 0.3s !important;
  -webkit-transition-delay: 0.3s !important;
  -o-transition-delay: 0.3s !important;
  -ms-transition-delay: 0.3s !important;
}
.delay400 {
  -moz-transition-delay: 0.4s !important;
  -webkit-transition-delay: 0.4s !important;
  -o-transition-delay: 0.4s !important;
  -ms-transition-delay: 0.4s !important;
}
.delay500 {
  -moz-transition-delay: 0.5s !important;
  -webkit-transition-delay: 0.5s !important;
  -o-transition-delay: 0.5s !important;
  -ms-transition-delay: 0.5s !important;
}
.delay600 {
  -moz-transition-delay: 0.6s !important;
  -webkit-transition-delay: 0.6s !important;
  -o-transition-delay: 0.6s !important;
  -ms-transition-delay: 0.6s !important;
}
.delay700 {
  -moz-transition-delay: 0.7s !important;
  -webkit-transition-delay: 0.7s !important;
  -o-transition-delay: 0.7s !important;
  -ms-transition-delay: 0.7s !important;
}
.delay800 {
  -moz-transition-delay: 0.8s !important;
  -webkit-transition-delay: 0.8s !important;
  -o-transition-delay: 0.8s !important;
  -ms-transition-delay: 0.8s !important;
}
.delay900 {
  -moz-transition-delay: 0.9s !important;
  -webkit-transition-delay: 0.9s !important;
  -o-transition-delay: 0.9s !important;
  -ms-transition-delay: 0.9s !important;
}
.delay1000 {
  -moz-transition-delay: 1s !important;
  -webkit-transition-delay: 1s !important;
  -o-transition-delay: 1s !important;
  -ms-transition-delay: 1s !important;
}
.delay1100 {
  -moz-transition-delay: 1.1s !important;
  -webkit-transition-delay: 1.1s !important;
  -o-transition-delay: 1.1s !important;
  -ms-transition-delay: 1.1s !important;
}
.delay1200 {
  -moz-transition-delay: 1.2s !important;
  -webkit-transition-delay: 1.2s !important;
  -o-transition-delay: 1.2s !important;
  -ms-transition-delay: 1.2s !important;
}
.delay1300 {
  -moz-transition-delay: 1.3s !important;
  -webkit-transition-delay: 1.3s !important;
  -o-transition-delay: 1.3s !important;
  -ms-transition-delay: 1.3s !important;
}
.delay1400 {
  -moz-transition-delay: 1.4s !important;
  -webkit-transition-delay: 1.4s !important;
  -o-transition-delay: 1.4s !important;
  -ms-transition-delay: 1.4s !important;
}
.delay1500 {
  -moz-transition-delay: 1.5s !important;
  -webkit-transition-delay: 1.5s !important;
  -o-transition-delay: 1.5s !important;
  -ms-transition-delay: 1.5s !important;
}
.delay1600 {
  -moz-transition-delay: 1.6s !important;
  -webkit-transition-delay: 1.6s !important;
  -o-transition-delay: 1.6s !important;
  -ms-transition-delay: 1.6s !important;
}
.delay1700 {
  -moz-transition-delay: 1.7s !important;
  -webkit-transition-delay: 1.7s !important;
  -o-transition-delay: 1.7s !important;
  -ms-transition-delay: 1.7s !important;
}
.delay1800 {
  -moz-transition-delay: 1.8s !important;
  -webkit-transition-delay: 1.8s !important;
  -o-transition-delay: 1.8s !important;
  -ms-transition-delay: 1.8s !important;
}
.delay1900 {
  -moz-transition-delay: 1.9s !important;
  -webkit-transition-delay: 1.9s !important;
  -o-transition-delay: 1.9s !important;
  -ms-transition-delay: 1.9s !important;
}
.delay2000 {
  -moz-transition-delay: 2s !important;
  -webkit-transition-delay: 2s !important;
  -o-transition-delay: 2s !important;
  -ms-transition-delay: 2s !important;
}
.delay2100 {
  -moz-transition-delay: 2.1s !important;
  -webkit-transition-delay: 2.1s !important;
  -o-transition-delay: 2.1s !important;
  -ms-transition-delay: 2.1s !important;
}
.delay2200 {
  -moz-transition-delay: 2.2s !important;
  -webkit-transition-delay: 2.2s !important;
  -o-transition-delay: 2.2s !important;
  -ms-transition-delay: 2.2s !important;
}
.delay2300 {
  -moz-transition-delay: 2.3s !important;
  -webkit-transition-delay: 2.3s !important;
  -o-transition-delay: 2.3s !important;
  -ms-transition-delay: 2.3s !important;
}
.delay2400 {
  -moz-transition-delay: 2.4s !important;
  -webkit-transition-delay: 2.4s !important;
  -o-transition-delay: 2.4s !important;
  -ms-transition-delay: 2.4s !important;
}
.delay2500 {
  -moz-transition-delay: 2.5s !important;
  -webkit-transition-delay: 2.5s !important;
  -o-transition-delay: 2.5s !important;
  -ms-transition-delay: 2.5s !important;
}
.delay2600 {
  -moz-transition-delay: 2.6s !important;
  -webkit-transition-delay: 2.6s !important;
  -o-transition-delay: 2.6s !important;
  -ms-transition-delay: 2.6s !important;
}
.delay2700 {
  -moz-transition-delay: 2.7s !important;
  -webkit-transition-delay: 2.7s !important;
  -o-transition-delay: 2.7s !important;
  -ms-transition-delay: 2.7s !important;
}
.delay2800 {
  -moz-transition-delay: 2.8s !important;
  -webkit-transition-delay: 2.8s !important;
  -o-transition-delay: 2.8s !important;
  -ms-transition-delay: 2.8s !important;
}
.delay2900 {
  -moz-transition-delay: 2.9s !important;
  -webkit-transition-delay: 2.9s !important;
  -o-transition-delay: 2.9s !important;
  -ms-transition-delay: 2.9s !important;
}
.delay3000 {
  -moz-transition-delay: 3s !important;
  -webkit-transition-delay: 3s !important;
  -o-transition-delay: 3s !important;
  -ms-transition-delay: 3s !important;
}
/* .speed */
.speed0 {
  -moz-transition-duration: 0s !important;
  -webkit-transition-duration: 0s !important;
  -o-transition-duration: 0s !important;
  -ms-transition-duration: 0s !important;
}
.speed100 {
  -moz-transition-duration: 0.1s !important;
  -webkit-transition-duration: 0.1s !important;
  -o-transition-duration: 0.1s !important;
  -ms-transition-duration: 0.1s !important;
}
.speed200 {
  -moz-transition-duration: 0.2s !important;
  -webkit-transition-duration: 0.2s !important;
  -o-transition-duration: 0.2s !important;
  -ms-transition-duration: 0.2s !important;
}
.speed300 {
  -moz-transition-duration: 0.3s !important;
  -webkit-transition-duration: 0.3s !important;
  -o-transition-duration: 0.3s !important;
  -ms-transition-duration: 0.3s !important;
}
.speed400 {
  -moz-transition-duration: 0.4s !important;
  -webkit-transition-duration: 0.4s !important;
  -o-transition-duration: 0.4s !important;
  -ms-transition-duration: 0.4s !important;
}
.speed500 {
  -moz-transition-duration: 0.5s !important;
  -webkit-transition-duration: 0.5s !important;
  -o-transition-duration: 0.5s !important;
  -ms-transition-duration: 0.5s !important;
}
.speed600 {
  -moz-transition-duration: 0.6s !important;
  -webkit-transition-duration: 0.6s !important;
  -o-transition-duration: 0.6s !important;
  -ms-transition-duration: 0.6s !important;
}
.speed700 {
  -moz-transition-duration: 0.7s !important;
  -webkit-transition-duration: 0.7s !important;
  -o-transition-duration: 0.7s !important;
  -ms-transition-duration: 0.7s !important;
}
.speed800 {
  -moz-transition-duration: 0.8s !important;
  -webkit-transition-duration: 0.8s !important;
  -o-transition-duration: 0.8s !important;
  -ms-transition-duration: 0.8s !important;
}
.speed900 {
  -moz-transition-duration: 0.9s !important;
  -webkit-transition-duration: 0.9s !important;
  -o-transition-duration: 0.9s !important;
  -ms-transition-duration: 0.9s !important;
}
.speed1000 {
  -moz-transition-duration: 1s !important;
  -webkit-transition-duration: 1s !important;
  -o-transition-duration: 1s !important;
  -ms-transition-duration: 1s !important;
}
.speed1100 {
  -moz-transition-duration: 1.1s !important;
  -webkit-transition-duration: 1.1s !important;
  -o-transition-duration: 1.1s !important;
  -ms-transition-duration: 1.1s !important;
}
.speed1200 {
  -moz-transition-duration: 1.2s !important;
  -webkit-transition-duration: 1.2s !important;
  -o-transition-duration: 1.2s !important;
  -ms-transition-duration: 1.2s !important;
}
.speed1300 {
  -moz-transition-duration: 1.3s !important;
  -webkit-transition-duration: 1.3s !important;
  -o-transition-duration: 1.3s !important;
  -ms-transition-duration: 1.3s !important;
}
.speed1400 {
  -moz-transition-duration: 1.4s !important;
  -webkit-transition-duration: 1.4s !important;
  -o-transition-duration: 1.4s !important;
  -ms-transition-duration: 1.4s !important;
}
.speed1500 {
  -moz-transition-duration: 1.5s !important;
  -webkit-transition-duration: 1.5s !important;
  -o-transition-duration: 1.5s !important;
  -ms-transition-duration: 1.5s !important;
}
.speed1600 {
  -moz-transition-duration: 1.6s !important;
  -webkit-transition-duration: 1.6s !important;
  -o-transition-duration: 1.6s !important;
  -ms-transition-duration: 1.6s !important;
}
.speed1700 {
  -moz-transition-duration: 1.7s !important;
  -webkit-transition-duration: 1.7s !important;
  -o-transition-duration: 1.7s !important;
  -ms-transition-duration: 1.7s !important;
}
.speed1800 {
  -moz-transition-duration: 1.8s !important;
  -webkit-transition-duration: 1.8s !important;
  -o-transition-duration: 1.8s !important;
  -ms-transition-duration: 1.8s !important;
}
.speed1900 {
  -moz-transition-duration: 1.9s !important;
  -webkit-transition-duration: 1.9s !important;
  -o-transition-duration: 1.9s !important;
  -ms-transition-duration: 1.9s !important;
}
.speed2000 {
  -moz-transition-duration: 2s !important;
  -webkit-transition-duration: 2s !important;
  -o-transition-duration: 2s !important;
  -ms-transition-duration: 2s !important;
}
/* pc */
@media all and (min-width: 668px) {
  .pc_delay0 {
    -moz-transition-delay: 0s !important;
    -webkit-transition-delay: 0s !important;
    -o-transition-delay: 0s !important;
    -ms-transition-delay: 0s !important;
  }
  .pc_delay100 {
    -moz-transition-delay: 0.1s !important;
    -webkit-transition-delay: 0.1s !important;
    -o-transition-delay: 0.1s !important;
    -ms-transition-delay: 0.1s !important;
  }
  .pc_delay200 {
    -moz-transition-delay: 0.2s !important;
    -webkit-transition-delay: 0.2s !important;
    -o-transition-delay: 0.2s !important;
    -ms-transition-delay: 0.2s !important;
  }
  .pc_delay300 {
    -moz-transition-delay: 0.3s !important;
    -webkit-transition-delay: 0.3s !important;
    -o-transition-delay: 0.3s !important;
    -ms-transition-delay: 0.3s !important;
  }
  .pc_delay400 {
    -moz-transition-delay: 0.4s !important;
    -webkit-transition-delay: 0.4s !important;
    -o-transition-delay: 0.4s !important;
    -ms-transition-delay: 0.4s !important;
  }
  .pc_delay500 {
    -moz-transition-delay: 0.5s !important;
    -webkit-transition-delay: 0.5s !important;
    -o-transition-delay: 0.5s !important;
    -ms-transition-delay: 0.5s !important;
  }
  .pc_delay600 {
    -moz-transition-delay: 0.6s !important;
    -webkit-transition-delay: 0.6s !important;
    -o-transition-delay: 0.6s !important;
    -ms-transition-delay: 0.6s !important;
  }
  .pc_delay700 {
    -moz-transition-delay: 0.7s !important;
    -webkit-transition-delay: 0.7s !important;
    -o-transition-delay: 0.7s !important;
    -ms-transition-delay: 0.7s !important;
  }
  .pc_delay800 {
    -moz-transition-delay: 0.8s !important;
    -webkit-transition-delay: 0.8s !important;
    -o-transition-delay: 0.8s !important;
    -ms-transition-delay: 0.8s !important;
  }
  .pc_delay900 {
    -moz-transition-delay: 0.9s !important;
    -webkit-transition-delay: 0.9s !important;
    -o-transition-delay: 0.9s !important;
    -ms-transition-delay: 0.9s !important;
  }
  .pc_delay1000 {
    -moz-transition-delay: 1s !important;
    -webkit-transition-delay: 1s !important;
    -o-transition-delay: 1s !important;
    -ms-transition-delay: 1s !important;
  }
  .pc_delay1100 {
    -moz-transition-delay: 1.1s !important;
    -webkit-transition-delay: 1.1s !important;
    -o-transition-delay: 1.1s !important;
    -ms-transition-delay: 1.1s !important;
  }
  .pc_delay1200 {
    -moz-transition-delay: 1.2s !important;
    -webkit-transition-delay: 1.2s !important;
    -o-transition-delay: 1.2s !important;
    -ms-transition-delay: 1.2s !important;
  }
  .pc_delay1300 {
    -moz-transition-delay: 1.3s !important;
    -webkit-transition-delay: 1.3s !important;
    -o-transition-delay: 1.3s !important;
    -ms-transition-delay: 1.3s !important;
  }
  .pc_delay1400 {
    -moz-transition-delay: 1.4s !important;
    -webkit-transition-delay: 1.4s !important;
    -o-transition-delay: 1.4s !important;
    -ms-transition-delay: 1.4s !important;
  }
  .pc_delay1500 {
    -moz-transition-delay: 1.5s !important;
    -webkit-transition-delay: 1.5s !important;
    -o-transition-delay: 1.5s !important;
    -ms-transition-delay: 1.5s !important;
  }
  .pc_delay1600 {
    -moz-transition-delay: 1.6s !important;
    -webkit-transition-delay: 1.6s !important;
    -o-transition-delay: 1.6s !important;
    -ms-transition-delay: 1.6s !important;
  }
  .pc_delay1700 {
    -moz-transition-delay: 1.7s !important;
    -webkit-transition-delay: 1.7s !important;
    -o-transition-delay: 1.7s !important;
    -ms-transition-delay: 1.7s !important;
  }
  .pc_delay1800 {
    -moz-transition-delay: 1.8s !important;
    -webkit-transition-delay: 1.8s !important;
    -o-transition-delay: 1.8s !important;
    -ms-transition-delay: 1.8s !important;
  }
  .pc_delay1900 {
    -moz-transition-delay: 1.9s !important;
    -webkit-transition-delay: 1.9s !important;
    -o-transition-delay: 1.9s !important;
    -ms-transition-delay: 1.9s !important;
  }
  .pc_delay2000 {
    -moz-transition-delay: 2s !important;
    -webkit-transition-delay: 2s !important;
    -o-transition-delay: 2s !important;
    -ms-transition-delay: 2s !important;
  }
  .pc_delay2100 {
    -moz-transition-delay: 2.1s !important;
    -webkit-transition-delay: 2.1s !important;
    -o-transition-delay: 2.1s !important;
    -ms-transition-delay: 2.1s !important;
  }
  .pc_delay2200 {
    -moz-transition-delay: 2.2s !important;
    -webkit-transition-delay: 2.2s !important;
    -o-transition-delay: 2.2s !important;
    -ms-transition-delay: 2.2s !important;
  }
  .pc_delay2300 {
    -moz-transition-delay: 2.3s !important;
    -webkit-transition-delay: 2.3s !important;
    -o-transition-delay: 2.3s !important;
    -ms-transition-delay: 2.3s !important;
  }
  .pc_delay2400 {
    -moz-transition-delay: 2.4s !important;
    -webkit-transition-delay: 2.4s !important;
    -o-transition-delay: 2.4s !important;
    -ms-transition-delay: 2.4s !important;
  }
  .pc_delay2500 {
    -moz-transition-delay: 2.5s !important;
    -webkit-transition-delay: 2.5s !important;
    -o-transition-delay: 2.5s !important;
    -ms-transition-delay: 2.5s !important;
  }
  .pc_delay2600 {
    -moz-transition-delay: 2.6s !important;
    -webkit-transition-delay: 2.6s !important;
    -o-transition-delay: 2.6s !important;
    -ms-transition-delay: 2.6s !important;
  }
  .pc_delay2700 {
    -moz-transition-delay: 2.7s !important;
    -webkit-transition-delay: 2.7s !important;
    -o-transition-delay: 2.7s !important;
    -ms-transition-delay: 2.7s !important;
  }
  .pc_delay2800 {
    -moz-transition-delay: 2.8s !important;
    -webkit-transition-delay: 2.8s !important;
    -o-transition-delay: 2.8s !important;
    -ms-transition-delay: 2.8s !important;
  }
  .pc_delay2900 {
    -moz-transition-delay: 2.9s !important;
    -webkit-transition-delay: 2.9s !important;
    -o-transition-delay: 2.9s !important;
    -ms-transition-delay: 2.9s !important;
  }
  .pc_delay3000 {
    -moz-transition-delay: 3s !important;
    -webkit-transition-delay: 3s !important;
    -o-transition-delay: 3s !important;
    -ms-transition-delay: 3s !important;
  }
  .pc_speed0 {
    -moz-transition-duration: 0s !important;
    -webkit-transition-duration: 0s !important;
    -o-transition-duration: 0s !important;
    -ms-transition-duration: 0s !important;
  }
  .pc_speed100 {
    -moz-transition-duration: 0.1s !important;
    -webkit-transition-duration: 0.1s !important;
    -o-transition-duration: 0.1s !important;
    -ms-transition-duration: 0.1s !important;
  }
  .pc_speed200 {
    -moz-transition-duration: 0.2s !important;
    -webkit-transition-duration: 0.2s !important;
    -o-transition-duration: 0.2s !important;
    -ms-transition-duration: 0.2s !important;
  }
  .pc_speed300 {
    -moz-transition-duration: 0.3s !important;
    -webkit-transition-duration: 0.3s !important;
    -o-transition-duration: 0.3s !important;
    -ms-transition-duration: 0.3s !important;
  }
  .pc_speed400 {
    -moz-transition-duration: 0.4s !important;
    -webkit-transition-duration: 0.4s !important;
    -o-transition-duration: 0.4s !important;
    -ms-transition-duration: 0.4s !important;
  }
  .pc_speed500 {
    -moz-transition-duration: 0.5s !important;
    -webkit-transition-duration: 0.5s !important;
    -o-transition-duration: 0.5s !important;
    -ms-transition-duration: 0.5s !important;
  }
  .pc_speed600 {
    -moz-transition-duration: 0.6s !important;
    -webkit-transition-duration: 0.6s !important;
    -o-transition-duration: 0.6s !important;
    -ms-transition-duration: 0.6s !important;
  }
  .pc_speed700 {
    -moz-transition-duration: 0.7s !important;
    -webkit-transition-duration: 0.7s !important;
    -o-transition-duration: 0.7s !important;
    -ms-transition-duration: 0.7s !important;
  }
  .pc_speed800 {
    -moz-transition-duration: 0.8s !important;
    -webkit-transition-duration: 0.8s !important;
    -o-transition-duration: 0.8s !important;
    -ms-transition-duration: 0.8s !important;
  }
  .pc_speed900 {
    -moz-transition-duration: 0.9s !important;
    -webkit-transition-duration: 0.9s !important;
    -o-transition-duration: 0.9s !important;
    -ms-transition-duration: 0.9s !important;
  }
  .pc_speed1000 {
    -moz-transition-duration: 1s !important;
    -webkit-transition-duration: 1s !important;
    -o-transition-duration: 1s !important;
    -ms-transition-duration: 1s !important;
  }
  .pc_speed1100 {
    -moz-transition-duration: 1.1s !important;
    -webkit-transition-duration: 1.1s !important;
    -o-transition-duration: 1.1s !important;
    -ms-transition-duration: 1.1s !important;
  }
  .pc_speed1200 {
    -moz-transition-duration: 1.2s !important;
    -webkit-transition-duration: 1.2s !important;
    -o-transition-duration: 1.2s !important;
    -ms-transition-duration: 1.2s !important;
  }
  .pc_speed1300 {
    -moz-transition-duration: 1.3s !important;
    -webkit-transition-duration: 1.3s !important;
    -o-transition-duration: 1.3s !important;
    -ms-transition-duration: 1.3s !important;
  }
  .pc_speed1400 {
    -moz-transition-duration: 1.4s !important;
    -webkit-transition-duration: 1.4s !important;
    -o-transition-duration: 1.4s !important;
    -ms-transition-duration: 1.4s !important;
  }
  .pc_speed1500 {
    -moz-transition-duration: 1.5s !important;
    -webkit-transition-duration: 1.5s !important;
    -o-transition-duration: 1.5s !important;
    -ms-transition-duration: 1.5s !important;
  }
  .pc_speed1600 {
    -moz-transition-duration: 1.6s !important;
    -webkit-transition-duration: 1.6s !important;
    -o-transition-duration: 1.6s !important;
    -ms-transition-duration: 1.6s !important;
  }
  .pc_speed1700 {
    -moz-transition-duration: 1.7s !important;
    -webkit-transition-duration: 1.7s !important;
    -o-transition-duration: 1.7s !important;
    -ms-transition-duration: 1.7s !important;
  }
  .pc_speed1800 {
    -moz-transition-duration: 1.8s !important;
    -webkit-transition-duration: 1.8s !important;
    -o-transition-duration: 1.8s !important;
    -ms-transition-duration: 1.8s !important;
  }
  .pc_speed1900 {
    -moz-transition-duration: 1.9s !important;
    -webkit-transition-duration: 1.9s !important;
    -o-transition-duration: 1.9s !important;
    -ms-transition-duration: 1.9s !important;
  }
  .pc_speed2000 {
    -moz-transition-duration: 2s !important;
    -webkit-transition-duration: 2s !important;
    -o-transition-duration: 2s !important;
    -ms-transition-duration: 2s !important;
  }
}
/* sp */
@media all and (max-width: 667px) {
  .sp_delay0 {
    -moz-transition-delay: 0s !important;
    -webkit-transition-delay: 0s !important;
    -o-transition-delay: 0s !important;
    -ms-transition-delay: 0s !important;
  }
  .sp_delay100 {
    -moz-transition-delay: 0.1s !important;
    -webkit-transition-delay: 0.1s !important;
    -o-transition-delay: 0.1s !important;
    -ms-transition-delay: 0.1s !important;
  }
  .sp_delay200 {
    -moz-transition-delay: 0.2s !important;
    -webkit-transition-delay: 0.2s !important;
    -o-transition-delay: 0.2s !important;
    -ms-transition-delay: 0.2s !important;
  }
  .sp_delay300 {
    -moz-transition-delay: 0.3s !important;
    -webkit-transition-delay: 0.3s !important;
    -o-transition-delay: 0.3s !important;
    -ms-transition-delay: 0.3s !important;
  }
  .sp_delay400 {
    -moz-transition-delay: 0.4s !important;
    -webkit-transition-delay: 0.4s !important;
    -o-transition-delay: 0.4s !important;
    -ms-transition-delay: 0.4s !important;
  }
  .sp_delay500 {
    -moz-transition-delay: 0.5s !important;
    -webkit-transition-delay: 0.5s !important;
    -o-transition-delay: 0.5s !important;
    -ms-transition-delay: 0.5s !important;
  }
  .sp_delay600 {
    -moz-transition-delay: 0.6s !important;
    -webkit-transition-delay: 0.6s !important;
    -o-transition-delay: 0.6s !important;
    -ms-transition-delay: 0.6s !important;
  }
  .sp_delay700 {
    -moz-transition-delay: 0.7s !important;
    -webkit-transition-delay: 0.7s !important;
    -o-transition-delay: 0.7s !important;
    -ms-transition-delay: 0.7s !important;
  }
  .sp_delay800 {
    -moz-transition-delay: 0.8s !important;
    -webkit-transition-delay: 0.8s !important;
    -o-transition-delay: 0.8s !important;
    -ms-transition-delay: 0.8s !important;
  }
  .sp_delay900 {
    -moz-transition-delay: 0.9s !important;
    -webkit-transition-delay: 0.9s !important;
    -o-transition-delay: 0.9s !important;
    -ms-transition-delay: 0.9s !important;
  }
  .sp_delay1000 {
    -moz-transition-delay: 1s !important;
    -webkit-transition-delay: 1s !important;
    -o-transition-delay: 1s !important;
    -ms-transition-delay: 1s !important;
  }
  .sp_delay1100 {
    -moz-transition-delay: 1.1s !important;
    -webkit-transition-delay: 1.1s !important;
    -o-transition-delay: 1.1s !important;
    -ms-transition-delay: 1.1s !important;
  }
  .sp_delay1200 {
    -moz-transition-delay: 1.2s !important;
    -webkit-transition-delay: 1.2s !important;
    -o-transition-delay: 1.2s !important;
    -ms-transition-delay: 1.2s !important;
  }
  .sp_delay1300 {
    -moz-transition-delay: 1.3s !important;
    -webkit-transition-delay: 1.3s !important;
    -o-transition-delay: 1.3s !important;
    -ms-transition-delay: 1.3s !important;
  }
  .sp_delay1400 {
    -moz-transition-delay: 1.4s !important;
    -webkit-transition-delay: 1.4s !important;
    -o-transition-delay: 1.4s !important;
    -ms-transition-delay: 1.4s !important;
  }
  .sp_delay1500 {
    -moz-transition-delay: 1.5s !important;
    -webkit-transition-delay: 1.5s !important;
    -o-transition-delay: 1.5s !important;
    -ms-transition-delay: 1.5s !important;
  }
  .sp_delay1600 {
    -moz-transition-delay: 1.6s !important;
    -webkit-transition-delay: 1.6s !important;
    -o-transition-delay: 1.6s !important;
    -ms-transition-delay: 1.6s !important;
  }
  .sp_delay1700 {
    -moz-transition-delay: 1.7s !important;
    -webkit-transition-delay: 1.7s !important;
    -o-transition-delay: 1.7s !important;
    -ms-transition-delay: 1.7s !important;
  }
  .sp_delay1800 {
    -moz-transition-delay: 1.8s !important;
    -webkit-transition-delay: 1.8s !important;
    -o-transition-delay: 1.8s !important;
    -ms-transition-delay: 1.8s !important;
  }
  .sp_delay1900 {
    -moz-transition-delay: 1.9s !important;
    -webkit-transition-delay: 1.9s !important;
    -o-transition-delay: 1.9s !important;
    -ms-transition-delay: 1.9s !important;
  }
  .sp_delay2000 {
    -moz-transition-delay: 2s !important;
    -webkit-transition-delay: 2s !important;
    -o-transition-delay: 2s !important;
    -ms-transition-delay: 2s !important;
  }
  .sp_delay2100 {
    -moz-transition-delay: 2.1s !important;
    -webkit-transition-delay: 2.1s !important;
    -o-transition-delay: 2.1s !important;
    -ms-transition-delay: 2.1s !important;
  }
  .sp_delay2200 {
    -moz-transition-delay: 2.2s !important;
    -webkit-transition-delay: 2.2s !important;
    -o-transition-delay: 2.2s !important;
    -ms-transition-delay: 2.2s !important;
  }
  .sp_delay2300 {
    -moz-transition-delay: 2.3s !important;
    -webkit-transition-delay: 2.3s !important;
    -o-transition-delay: 2.3s !important;
    -ms-transition-delay: 2.3s !important;
  }
  .sp_delay2400 {
    -moz-transition-delay: 2.4s !important;
    -webkit-transition-delay: 2.4s !important;
    -o-transition-delay: 2.4s !important;
    -ms-transition-delay: 2.4s !important;
  }
  .sp_delay2500 {
    -moz-transition-delay: 2.5s !important;
    -webkit-transition-delay: 2.5s !important;
    -o-transition-delay: 2.5s !important;
    -ms-transition-delay: 2.5s !important;
  }
  .sp_delay2600 {
    -moz-transition-delay: 2.6s !important;
    -webkit-transition-delay: 2.6s !important;
    -o-transition-delay: 2.6s !important;
    -ms-transition-delay: 2.6s !important;
  }
  .sp_delay2700 {
    -moz-transition-delay: 2.7s !important;
    -webkit-transition-delay: 2.7s !important;
    -o-transition-delay: 2.7s !important;
    -ms-transition-delay: 2.7s !important;
  }
  .sp_delay2800 {
    -moz-transition-delay: 2.8s !important;
    -webkit-transition-delay: 2.8s !important;
    -o-transition-delay: 2.8s !important;
    -ms-transition-delay: 2.8s !important;
  }
  .sp_delay2900 {
    -moz-transition-delay: 2.9s !important;
    -webkit-transition-delay: 2.9s !important;
    -o-transition-delay: 2.9s !important;
    -ms-transition-delay: 2.9s !important;
  }
  .sp_delay3000 {
    -moz-transition-delay: 3s !important;
    -webkit-transition-delay: 3s !important;
    -o-transition-delay: 3s !important;
    -ms-transition-delay: 3s !important;
  }
  .sp_speed0 {
    -moz-transition-duration: 0s !important;
    -webkit-transition-duration: 0s !important;
    -o-transition-duration: 0s !important;
    -ms-transition-duration: 0s !important;
  }
  .sp_speed100 {
    -moz-transition-duration: 0.1s !important;
    -webkit-transition-duration: 0.1s !important;
    -o-transition-duration: 0.1s !important;
    -ms-transition-duration: 0.1s !important;
  }
  .sp_speed200 {
    -moz-transition-duration: 0.2s !important;
    -webkit-transition-duration: 0.2s !important;
    -o-transition-duration: 0.2s !important;
    -ms-transition-duration: 0.2s !important;
  }
  .sp_speed300 {
    -moz-transition-duration: 0.3s !important;
    -webkit-transition-duration: 0.3s !important;
    -o-transition-duration: 0.3s !important;
    -ms-transition-duration: 0.3s !important;
  }
  .sp_speed400 {
    -moz-transition-duration: 0.4s !important;
    -webkit-transition-duration: 0.4s !important;
    -o-transition-duration: 0.4s !important;
    -ms-transition-duration: 0.4s !important;
  }
  .sp_speed500 {
    -moz-transition-duration: 0.5s !important;
    -webkit-transition-duration: 0.5s !important;
    -o-transition-duration: 0.5s !important;
    -ms-transition-duration: 0.5s !important;
  }
  .sp_speed600 {
    -moz-transition-duration: 0.6s !important;
    -webkit-transition-duration: 0.6s !important;
    -o-transition-duration: 0.6s !important;
    -ms-transition-duration: 0.6s !important;
  }
  .sp_speed700 {
    -moz-transition-duration: 0.7s !important;
    -webkit-transition-duration: 0.7s !important;
    -o-transition-duration: 0.7s !important;
    -ms-transition-duration: 0.7s !important;
  }
  .sp_speed800 {
    -moz-transition-duration: 0.8s !important;
    -webkit-transition-duration: 0.8s !important;
    -o-transition-duration: 0.8s !important;
    -ms-transition-duration: 0.8s !important;
  }
  .sp_speed900 {
    -moz-transition-duration: 0.9s !important;
    -webkit-transition-duration: 0.9s !important;
    -o-transition-duration: 0.9s !important;
    -ms-transition-duration: 0.9s !important;
  }
  .sp_speed1000 {
    -moz-transition-duration: 1s !important;
    -webkit-transition-duration: 1s !important;
    -o-transition-duration: 1s !important;
    -ms-transition-duration: 1s !important;
  }
  .sp_speed1100 {
    -moz-transition-duration: 1.1s !important;
    -webkit-transition-duration: 1.1s !important;
    -o-transition-duration: 1.1s !important;
    -ms-transition-duration: 1.1s !important;
  }
  .sp_speed1200 {
    -moz-transition-duration: 1.2s !important;
    -webkit-transition-duration: 1.2s !important;
    -o-transition-duration: 1.2s !important;
    -ms-transition-duration: 1.2s !important;
  }
  .sp_speed1300 {
    -moz-transition-duration: 1.3s !important;
    -webkit-transition-duration: 1.3s !important;
    -o-transition-duration: 1.3s !important;
    -ms-transition-duration: 1.3s !important;
  }
  .sp_speed1400 {
    -moz-transition-duration: 1.4s !important;
    -webkit-transition-duration: 1.4s !important;
    -o-transition-duration: 1.4s !important;
    -ms-transition-duration: 1.4s !important;
  }
  .sp_speed1500 {
    -moz-transition-duration: 1.5s !important;
    -webkit-transition-duration: 1.5s !important;
    -o-transition-duration: 1.5s !important;
    -ms-transition-duration: 1.5s !important;
  }
  .sp_speed1600 {
    -moz-transition-duration: 1.6s !important;
    -webkit-transition-duration: 1.6s !important;
    -o-transition-duration: 1.6s !important;
    -ms-transition-duration: 1.6s !important;
  }
  .sp_speed1700 {
    -moz-transition-duration: 1.7s !important;
    -webkit-transition-duration: 1.7s !important;
    -o-transition-duration: 1.7s !important;
    -ms-transition-duration: 1.7s !important;
  }
  .sp_speed1800 {
    -moz-transition-duration: 1.8s !important;
    -webkit-transition-duration: 1.8s !important;
    -o-transition-duration: 1.8s !important;
    -ms-transition-duration: 1.8s !important;
  }
  .sp_speed1900 {
    -moz-transition-duration: 1.9s !important;
    -webkit-transition-duration: 1.9s !important;
    -o-transition-duration: 1.9s !important;
    -ms-transition-duration: 1.9s !important;
  }
  .sp_speed2000 {
    -moz-transition-duration: 2s !important;
    -webkit-transition-duration: 2s !important;
    -o-transition-duration: 2s !important;
    -ms-transition-duration: 2s !important;
  }
}
/* -------------------------------- #lp_nav_wrap --------------------------------*/
#lp_nav_wrap {
  height: 80px;
  position: relative;
  z-index: 4;
}
#lp_nav_wrap .lp_contents_wrap.lp_nav {
  padding-top: 0;
  padding-bottom: 0;
  background: #97191f;
  height: 80px;
  text-align: center;
  letter-spacing: -0.4em;
  white-space: nowrap;
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
  width: 100%;
  margin: 0 auto;
}
#lp_nav_wrap .lp_contents_wrap.lp_nav {
  top: 0;
  left: 0;
  width: 100%;
  z-index: 20000;
  position: relative;
}
#lp_nav_wrap.active .lp_contents_wrap.lp_nav {
  position: fixed;
  left: 0;
  right: 0;
  margin: auto;
}
#lp_nav_wrap .lp_contents_wrap.lp_nav a {
  text-decoration: none !important;
  -moz-transition: color 0.4s ease 0s;
  -webkit-transition: color 0.4s ease 0s;
  -o-transition: color 0.4s ease 0s;
  -ms-transition: color 0.4s ease 0s;
  transition: color 0.4s ease 0s;
}
#lp_nav_wrap .lp_contents_wrap.lp_nav > * {
  letter-spacing: normal;
}
#lp_nav_wrap .lp_contents_wrap.lp_nav .lp_nav_in {
  display: inline-table;
  white-space: nowrap;
  vertical-align: middle;
}
#lp_nav_wrap .lp_contents_wrap.lp_nav .lp_nav_list {
  /*  display: table-row;*/
  display: flex;
  justify-content: center;
}
#lp_nav_wrap .lp_contents_wrap.lp_nav .lp_nav_list li {
  /*  display: table-cell;*/
  height: 80px;
  display: flex;
  align-items: center;
}
#lp_nav_wrap .lp_contents_wrap.lp_nav .lp_nav_list li:last-child {
  border-right: none;
}
#lp_nav_wrap .lp_contents_wrap.lp_nav .lp_nav_list li a {
  display: block;
  padding: 0 40px;
  position: relative;
  color: #fff;	
}
#lp_nav_wrap .lp_contents_wrap.lp_nav .lp_nav_list li a::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #fff;
  position: absolute;
  right: 0;
}
#lp_nav_wrap .lp_contents_wrap.lp_nav .lp_nav_list li:last-child a::after {
  display: none;
}

@media screen and (max-width:768px) {
  #lp_nav_wrap {
    height: auto;
    background: #97191f;
  }
  #lp_nav_wrap .lp_contents_wrap.lp_nav .lp_nav_list {
    justify-content: space-between;
    flex-wrap: wrap;
	padding: 10px 8px;    
  }
  #lp_nav_wrap .lp_contents_wrap.lp_nav .lp_nav_list li {
    width: calc((100% - 10px)/2);
    text-align: center;
    height: 40px;
    line-height: 40px;
  }
  #lp_nav_wrap .lp_contents_wrap.lp_nav .lp_nav_in {
    display: block;
  }
  #lp_nav_wrap .lp_contents_wrap.lp_nav .lp_nav_list li:nth-child(3n), #lp_nav_wrap .lp_contents_wrap.lp_nav .lp_nav_list li:nth-child(4n) {
    margin-bottom: 0;
  }
  #lp_nav_wrap .lp_contents_wrap.lp_nav .lp_nav_list li a {
    width: 100%;
    height: 100%;
    padding: 0;
    border-radius: 4px;
  }
  #lp_nav_wrap .lp_contents_wrap.lp_nav .lp_nav_list li a::after {
    display: none;
  }
  #lp_nav_wrap.active .lp_contents_wrap.lp_nav {
    position: relative;
  }
}
@media all and (min-width:668px) {
  #lp_nav_wrap .lp_contents_wrap.lp_nav a:hover {
    color: #ffe33b;
  }
}
@media screen and (max-width:667px) {
  .announce_main {
    font-size: 16px;
  }
  #lp_nav_wrap .lp_contents_wrap.lp_nav {
    font-size: 13px;
    padding: 0;
  }
}
@media screen and (max-width:350px) {
  #lp_nav_wrap .lp_contents_wrap.lp_nav {
    font-size: 12px;
    height: 60px;
  }
}
#lp_main {
  position: relative;
  font-family: 'Noto Sans JP', sans-serif;
}
.main_note {
  text-align: right;
  color: #fff;
  font-size: 14px;
  padding-right: 24px;
  margin-bottom: 8px;
}
@media screen and (max-width:768px) {}
@media screen and (max-width:599px) {}
@media screen and (max-width:414px) {}

/* -------------------------------- 共通 --------------------------------*/
#footer {
  margin-top: 0;
}
.lp_visual_main {
  position: relative;
  text-align: center;
}
.hashi {
  width: 44%;	
  position: absolute;
  right: 0;
  top: 0;
}
.page_link {
  width: 22%;
  position: absolute;
  bottom: 0;
  z-index: 1;
  left: 0;
  right: 78%;
}
.note02_wrap {
  width: 100%;
  padding: 24px 16px 0 16px;
  display: flex;
  justify-content: center;
  margin-bottom: -2px;
  position: relative;
  z-index: 1;
}
.note02 {
  margin: 0 auto;
}
.note02 li {
  font-size: 13px;
  font-weight: normal;
  font-family: "Rounded Mplus 1c";
}
.note {
  font-size: 14px;
  font-weight: 600;
  color: #97191f;	
  text-align: left;
  margin: -1em auto 0 0;
}
@media screen and (max-width:1500px) {

}

@media screen and (max-width:1000px) {
  .lp_visual_main {
    text-align: center;
  }
}
@media screen and (max-width:768px) {
  #contents_inner {
    z-index: 0;
    position: relative;
  }
  #lp_nav_wrap {
    z-index: 1 !important;
  }	
.note.media_sp {
  text-align: center;
  margin-bottom: 10px;
}	
  .note02 {
    width: 100%;
  }
  .note02 li {
    padding-right: 0;
  }
  .lp_visual_main {
    width: 100%;
    margin: 0 auto;
  }
  .pro_content {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    position: relative;
	padding-top: 60px;  
  }
	
 .h1_title {
    width: calc(100% - 40px);
    margin: 0 auto 0 0;
    left: 20px;
    bottom: 10px;
    right: 20px;
  }	
  .lp_visual {
    max-height: 100%;
  }
  .h3_title {
    padding: 0 20px;
  }
  #lp_nav_wrap .lp_contents_wrap.lp_nav {
    height: auto;
  }
}

@media screen and (max-width:599px) {
 .pro_content {
    padding-top: 0;
  }
}

/*-----------------商品紹介---------------*/
#s01 {
  position: relative;
}
/*common*/
.btn_wrap_ul {
  text-align: center;
}
.btn_wrap_ul {
  display: flex;
  justify-content: center;
  column-gap: 16px;
}
.pro_sec_title {
  font-size: 44px;
  font-weight: 800;
  letter-spacing: 0.1em;
  color: #6a2d15;
  text-align: center;
  position: relative;
}
.pro_content_in {
  max-width: 1200px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.pro_content.mara .pro_content_in {
  flex-direction: row-reverse;	
}
.pro_content .pro_img {
  width: 57%;
  text-align: center;
position: relative;	
}
.pro_content .pro_details {
  width: 43%;
  text-align: center;
}
.pro_content .pro_title {
  margin-bottom: 20px;
  position: relative;
}

/*.btn_wrap_li:hover a{
  color: #e60012;
}*/
.btn_wrap_li a:hover {
  opacity: 0.8;
  transition: 0.5s;
}
.note02 li {
  width: 100%;
  color: #000;
  font-weight: 500;
  text-align: left;
}
.lead_content {
  max-width: 1000px;	
  width: 100%;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.6;
  color: #97191f;
/*  -webkit-text-stroke: 6px #fff;
  paint-order: stroke fill;　	
*/  text-align: center;
  margin: 0 auto;
  padding: 48px 20px 80px 20px;
position: relative;
  z-index: 1;	
}
.lead_content span {
  font-size: 15px;
  display: block;
  text-align: right;
}
.btn {
  text-align: center;
}
.js-fadeIn {
  opacity: 0;
  transition-duration: 0.5s;
  transition-property: opacity, transform;
  transform: translate(0, 50px);
}
.is-scrollIn {
  opacity: 1;
  transform: translate(0, 0);
}
.pro_content_wrap {
  position: relative;
}
.lead {
  max-width: 1000px;
  width: 100%;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.7;
  text-align: center;
  margin: 0 auto;
  padding: 0 20px;
}
.txt_small {
  text-align: center;
  font-display: 14px;
}
.txt_small img {
  margin-right: 8px;
}
.lead_note {
  display: block;
  font-size: 13px;
  text-align: right;
  margin-top: 10px;
}
.logo {
  max-width: 295px;
  width: 36%;
  text-align: left;
}


@media screen and (max-width:1000px) {
.lead_content br{
	display:none;
	}
}

@media screen and (max-width:768px) {
#s01 {
  background-size: cover;
}	
  .lead_content span {
    text-align: center;
  }
  .lead_wrap {
    width: calc(100% - 40px);
    padding: 0;
    margin: 0 auto 20px auto;
  }
  /*.pro_list_li:nth-child(3) .details {
  margin: 10px auto 0 auto;
}*/
  .note {
    font-size: 13px;
    margin: 12px 0 0 0;
  }
  .pro_list_li .title {
    padding: 8px 10px;
  }
  .lead {
    font-size: 16px;
    line-height: 1.7;
    margin: 0 auto 10px auto;
  }
  .btn_wrap_li {
    max-width: 100%;
  }
  .btn_wrap_li a {
    font-size: 15px;
  }
  .lead_content {
    font-size: 16px;
    margin: 20px auto 48px auto;
    padding: 0 16px;
  }
  .note02_wrap {
    margin-bottom: 0;
    padding: 20px 16px 10px 16px;
  }
.pro_note{
	margin: -10px auto 10px auto;
	}
}

@media screen and (max-width:599px) {
  .note02 li {
    text-align: left;
  }
  .lead {
    font-size: 15px;
    text-align: left;
    padding: 0;
  }
  .lead_content {
    margin: 20px auto 0 auto;
  }
  .icn_pro {
    width: 56px;
    margin: 0 auto 16px auto;
  }
  .note02_wrap {
    padding: 10px 16px;
  }
  .pro_content_wrap {
    margin: 20px auto 0 auto;
  }
  .btn_wrap_ul {
    column-gap: 10px;
  }
 .frame {
    width: 56px;
  }	
 .frame.deco01::before, .frame.deco02::before, .frame.deco03::before, .frame.deco04::before {
    width: 88px;
    height: 88px;
  }	
.frame_border.border01,.frame_border.border03 {
  height: 2px;	
	}
.frame_border.border02,.frame_border.border04 {
  width: 2px;	
	}	
}
@media screen and (max-width:414px) {
  .pro_list_li .pro_title {
    margin: 0 auto 10px auto;
  }
  .lead_content {
    font-size: 15px;
  }
}
/* -------------------------------- #app --------------------------------*/
.media_pc {
  display: block;
}
.media_sp {
  display: none;
}
.media_pc599 {
  display: block;
}
.media_sp599 {
  display: none;
}
.media_sp414 {
  display: none;
}
.btn_wrap_ul.media_pc {
  display: flex;
}
.btn_wrap_ul.media_sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .media_pc {
    display: none;
  }
  .media_sp {
    display: block;
  }
  #lp_nav_wrap .lp_contents_wrap.lp_nav {
    height: inherit;
    position: relative;
    background: none;
  }
  .btn_wrap_ul.media_sp {
    display: flex;
    width: 100%;
  }
  .btn_wrap_ul.media_pc {
    display: none;
  }
}
@media screen and (max-width: 599px) {
  .media_pc599 {
    display: none;
  }
  .media_sp599 {
    display: block;
  }
}
@media screen and (max-width: 414px) {
  .media_sp414 {
    display: block;
  }
}
/* -------------------------------- #s03 --------------------------------*/
.webbento {
  background: #f3f0e3;
  padding: 60px 30px;
  text-align: center;
  position: relative;
  z-index: 1;
}
/* .lp_web_yoyaku */
.webbento .lp_web_yoyaku {}
.webbento {
  padding: 60px 0;
  text-align: center;
  background: #fff5da;
}
@media screen and (max-width: 768px) {
  .webbento {
    padding: 40px 20px;
  }
}
@media screen and (max-width:667px) {
  .webbento {
    background-position: 75% top;
  }
  .webbento .lp_web_yoyaku_img {
    margin: 0 0 55px 0;
  }
}
/* -------------------------------- #s04 --------------------------------*/
.mobile {
  padding: 60px 0;
  text-align: center;
  background: url("../img/s04_bg.jpg");
  position: relative;
  z-index: 1;
}
.lp_web_search {}
.lp_web_search_img {
  text-align: center;
  line-height: 0;
  margin: 48px 0 55px 0;
}
@media screen and (max-width: 768px) {
  .mobile {
    padding: 40px 20px 40px 20px;
  }
}
.title_sec {
  font-size: 27px;
  font-weight: bold;
  color: #000;
  text-align: center;
  margin-bottom: 22px;
}
.lp_web_yoyaku {
  display: inline-block;
}
.lp_web_yoyaku_img {
  text-align: center;
  line-height: 0;
  margin: 48px 0 55px 0;
}
#footer {
  position: relative;
  z-index: 1;
}
.tenpo {
  padding: 60px 0 100px 0;
  text-align: center;
  background: #fff;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .tenpo {
    padding: 40px 20px 100px 20px;
  }
  #wrapper {
    position: relative;
  }
}

/*--------------------------------------
 ローストポーク
--------------------------------------*/
#lp_visual{
	background:url("../img/bg_main.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
.info_wrap {
  text-align: center;	
}

#s01 {
background:url("../img/bg_content.jpg");
background-repeat: no-repeat;
background-position: center;
background-size: cover;
 position: relative;
}
.btn_wrap_ul {
  column-gap: 10px;
}
.btn_wrap_li {
  width: 220px;
  height: 56px;
  line-height: 56px;
  position: relative;
  background: #97191f;
  border-radius: 8px;	
}
.btn_wrap_li a {
  width: 100%;
  height: 100%;
  font-size: 18px;
  color: #fff;
  text-decoration: none;	
  display: block;
}
/*.btn_wrap_li a {
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  text-decoration: none;
  background: #d15a10;
  display: block;
  border-radius: 8px;
  box-shadow: 0 8px #c5520b;	
}
*/.btn_wrap_li:hover{
  opacity: 0.7;
	transition: 0.5s;
}
.lp_contents {
  position: relative;
  overflow: hidden; 
}
.title_wrap{
	position: relative;
	margin-bottom: 16px;
}
.pro_main .pro_list {
  text-align: center;
}
.pro_list.reverse {
  flex-direction: row-reverse;
}
.pro_main .pro_details {
  margin-top: -60px;
}
.sec01_02 .pro_details {
  margin-top: -60px;
}
.pro_main {
  display: flex;
  justify-content: center;	
  margin-bottom: 180px;
}
.pro_list_inner {
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
  display: flex;
  align-items: center;
  gap: 40px;	
}
.pro_list.reverse .pro_list_inner {
flex-direction: row-reverse;	
}


@media screen and (max-width:1000px) {
}

@media screen and (max-width:768px) {
#lp_visual{
	background:url("../img/bg_main_sp.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}	
.pro_list_inner {
  position: relative;
justify-content: center;
flex-wrap: wrap;
flex-direction: column;
	}	
.pro_list {
  display: block;	
}
.pro_list:last-child {
  margin-bottom: 80px;
}
.pro_content .pro_img{
	width: 100%;  
    margin: 0;
  }
.pro_content .pro_details {
  width: 100%;
margin-top: -48px;	
	}	
  .btn_wrap_ul {
    column-gap: 8px;
  }
  .btn_wrap_li a {
    font-size: 14px;
  }
  .btn_wrap_li {
    width: 220px;
    height: 56px;
    line-height: 56px;
  }	

.lp_nav_list a {
  color: #3d0406;
	}
.pro_main {
  display: block;
	}
.pro_main .pro_list {
  width: calc(100% - 32px);
  margin: 0 auto;
}
.pro_content .pro_title {
    width: 84%;
    margin: 0 auto;
  }
}

@media screen and (max-width:599px) {
.pro_list {
  width: 100%;
	}
.lp_nav_list a {
  font-size: 13px;
	}
  .btn_wrap_ul.media_sp {
    width: 100%;
    max-width: 360px;
    margin: 0 auto;
  }	
 .btn_wrap_li {
    width: 100%;
    height: 50px;
    line-height: 50px;
    margin-bottom: 16px;
	}
  .btn_wrap_li a {
    font-size: 16px;
	box-shadow: none;    
  }
.pro_list_inner {
  width: 100%;
	}
 .pro_list:last-child {
    margin-bottom: 0;
  }	
.pro_main {
  margin-bottom: 70px;
}
.pro_content .pro_title {
    width: 80%;
  }
}

.lp_contents_wrap .lp_contents {
  overflow: hidden;
}
.main_img_wrap {
  position: relative;
  max-width: 100%;
  width: 100%;
}
.main_img {
  width: 100%;
  max-width: 1588px;	
  margin: 0 auto;
}
.h1_title {
  width: 34%;
  position: absolute;
  bottom: 20px;
  left: 0;
  right: inherit;
}


@media screen and (max-width:768px){
.main_img {
  width: 100%;
	}
.h1_title {
width: 95%;	
bottom: 8px;
    left: 0;
    right: 0;
    margin: auto;
	}	
.lp_visual_main {
  padding-left: 0;
}
.lp_contents_wrap.lp_nav::before {
  height: 2px;
	}
.lp_contents_wrap.lp_nav::after {
  height: 2px;
	}
}
@media screen and (max-width:599px){
}


/* =========================================================
   PRO LIST
   15% | 70% | 15%
========================================================= */

.pro_list {
  display: grid;
  grid-template-columns: 15% 70% 15%;
  width: 100%;
  align-items: center;
  position: relative;
  margin-bottom: 100px;	
}
.pro_list:last-child {
  margin-bottom: 80px;
}
.pro_list_inner {
  grid-column: 2;
  grid-row: 1;
  width: 100%;
  position: relative;
  z-index: 3;
}

@media screen and (max-width:768px){
.pro_list {
  align-items: flex-end;
}
.pro_list {
  margin-bottom: 64px;	
}
.pro_list:last-child {
  margin-bottom: 64px;
}
	
}

/* =========================================================
   CHARACTER AREA
========================================================= */

.chara_wrap {
  position: relative;
  width: 100%;
  height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  will-change: offset-distance;
}

/* 通常 → 右15% */

.pro_list:not(.reverse) .chara_wrap {
  grid-column: 3;
  grid-row: 1;
}

/* reverse → 左15% */

.pro_list.reverse .chara_wrap {
  grid-column: 1;
  grid-row: 1;
}

/* =========================================================
   CHARACTERS
========================================================= */

.chara01,
.chara02 {
  position: absolute;
  transform-origin: center center;
  will-change: transform;
}
.chara03 img {
  filter: drop-shadow(0 0 4px rgba(226, 77, 59, 0.4));
}

.chara01 img,.chara02 img {
 filter: drop-shadow(0 0 5px rgba(226, 77, 59, 0.4)) drop-shadow(0 0 10px rgba(226, 77, 59, 0.2)) drop-shadow(0 0 16px rgba(226, 77, 59, 0.2));	
}

/* 豚さん */

.chara01 {
  left: 40%;
  top: -20%;
  z-index: 2;
  animation: charaFloat01 7s ease-in-out infinite;
}

/* 食材 */

.chara02 {
  left: 58%;
  top: 7%;
  z-index: 1;
  animation: charaFloat02 8.5s ease-in-out infinite;
}

.pro_list:nth-child(1) .chara01 {
  width: 33%;
}
.pro_list:nth-child(1) .chara02 {
  width: 25%;
}
.pro_list:nth-child(2) .chara01 {
  width: 35%;
}
.pro_list:nth-child(2) .chara02 {
  width: 25%;
}
.pro_list:nth-child(3) .chara01 {
  width: 37%;
}
.pro_list:nth-child(3) .chara02 {
  width: 21%;
}
.pro_list:nth-child(4) .chara01 {
  width: 30%;
}
.pro_list:nth-child(4) .chara02 {
  width: 29%;
}

@media screen and (max-width:768px){
.chara01 {
  left: 10%;
	}
.chara02 {
  left: 40%;
  top: 47%;
	}
.pro_list:nth-child(1) .chara01 {
  width: 43%;
}
.pro_list:nth-child(1) .chara02 {
  width: 33%;
}
.pro_list:nth-child(2) .chara01 {
  width: 46%;
}
.pro_list:nth-child(2) .chara02 {
  width: 33%;
}
.pro_list:nth-child(3) .chara01 {
  width: 48%;
}
.pro_list:nth-child(3) .chara02 {
  width: 27%;
}
.pro_list:nth-child(4) .chara01 {
  width: 39%;
}
.pro_list:nth-child(4) .chara02 {
  width: 38%;
}
}

@media screen and (max-width:599px){
.chara02 {
    left: 40%;
    top: 13%;
  }
.chara03 img {
  filter: drop-shadow(0 0 4px rgba(226, 77, 59, 0.4));
}
.chara01 img,.chara02 img{
 filter: drop-shadow(0 0 4px rgba(226, 77, 59, 0.4)) drop-shadow(0 0 5px rgba(226, 77, 59, 0.2)) drop-shadow(0 0 8px rgba(226, 77, 59, 0.2));	
}	
.pro_list:nth-child(1) .chara01 {
  width: 62%;
  top: -8%;	
}
.pro_list:nth-child(1) .chara02 {
  width: 49%;
top: 20%;	
}
.pro_list:nth-child(2) .chara01 {
  width: 65%;
}
.pro_list:nth-child(2) .chara02 {
  width: 49%;
}
.pro_list:nth-child(3) .chara01 {
  width: 68%;
}
.pro_list:nth-child(3) .chara02 {
  width: 42%;
}
.pro_list:nth-child(4) .chara01 {
  width: 57%;
}
.pro_list:nth-child(4) .chara02 {
  width: 56%;
}
}


/* =========================================================
   CHARACTER FLOAT
========================================================= */

@keyframes charaFloat01 {
  0% {
    transform: translate3d(0, 0, 0) rotate(-2deg);
  }

  25% {
    transform: translate3d(12px, -35px, 0) rotate(2deg);
  }

  50% {
    transform: translate3d(-8px, 8px, 0) rotate(-1deg);
  }

  75% {
    transform: translate3d(-18px, 35px, 0) rotate(-3deg);
  }

  100% {
    transform: translate3d(0, 0, 0) rotate(-2deg);
  }
}

@keyframes charaFloat02 {
  0% {
    transform: translate3d(0, 0, 0) rotate(2deg);
  }

  25% {
    transform: translate3d(-12px, 28px, 0) rotate(-3deg);
  }

  50% {
    transform: translate3d(10px, 45px, 0) rotate(1deg);
  }

  75% {
    transform: translate3d(18px, -25px, 0) rotate(3deg);
  }

  100% {
    transform: translate3d(0, 0, 0) rotate(2deg);
  }
}

/* =========================================================
   NEGI
========================================================= */

.chara03 {
  position: absolute;
  top: -40px;
  right: 0;
  left: 40px;
  pointer-events: none;
  z-index: 0;
  overflow: visible;
}

.space-negi {
  position: absolute;
  display: block;
  max-width: none;
  transform-origin: center center;
  will-change: transform;
  pointer-events: none;
}

@media screen and (max-width:768px){
.chara03 {
width: 60%;	
  top: -20%;
  left: 0;	
	}
}

@media screen and (max-width:599px){
.chara03 {
width: 86%;		
  top: -5%;
	}
}

/* =========================================================
   NEGI FLOAT
========================================================= */

.space-negi:nth-child(1) {
  animation: negiFloat01 6.8s ease-in-out infinite;
}

.space-negi:nth-child(2) {
  animation: negiFloat02 7.6s ease-in-out infinite;
}

.space-negi:nth-child(3) {
  animation: negiFloat03 6.2s ease-in-out infinite;
}

.space-negi:nth-child(4) {
  animation: negiFloat04 8.1s ease-in-out infinite;
}

.space-negi:nth-child(5) {
  animation: negiFloat01 7.3s ease-in-out infinite reverse;
}

.space-negi:nth-child(6) {
  animation: negiFloat03 8.4s ease-in-out infinite reverse;
}

.space-negi:nth-child(7) {
  animation: negiFloat02 6.9s ease-in-out infinite reverse;
}

@keyframes negiFloat01 {
  0% {
    transform: translate3d(0, 0, 0) rotate(-8deg);
  }

  25% {
    transform: translate3d(25px, -55px, 0) rotate(12deg);
  }

  50% {
    transform: translate3d(-20px, 20px, 0) rotate(-15deg);
  }

  75% {
    transform: translate3d(35px, 65px, 0) rotate(8deg);
  }

  100% {
    transform: translate3d(0, 0, 0) rotate(-8deg);
  }
}

@keyframes negiFloat02 {
  0% {
    transform: translate3d(0, 0, 0) rotate(5deg);
  }

  25% {
    transform: translate3d(-35px, 45px, 0) rotate(-12deg);
  }

  50% {
    transform: translate3d(20px, -65px, 0) rotate(15deg);
  }

  75% {
    transform: translate3d(-25px, 30px, 0) rotate(-5deg);
  }

  100% {
    transform: translate3d(0, 0, 0) rotate(5deg);
  }
}

@keyframes negiFloat03 {
  0% {
    transform: translate3d(0, 0, 0) rotate(-5deg);
  }

  25% {
    transform: translate3d(45px, 35px, 0) rotate(15deg);
  }

  50% {
    transform: translate3d(-30px, -70px, 0) rotate(-10deg);
  }

  75% {
    transform: translate3d(20px, 55px, 0) rotate(8deg);
  }

  100% {
    transform: translate3d(0, 0, 0) rotate(-5deg);
  }
}

@keyframes negiFloat04 {
  0% {
    transform: translate3d(0, 0, 0) rotate(10deg);
  }

  25% {
    transform: translate3d(-45px, -35px, 0) rotate(-8deg);
  }

  50% {
    transform: translate3d(30px, 65px, 0) rotate(12deg);
  }

  75% {
    transform: translate3d(-20px, -55px, 0) rotate(-15deg);
  }

  100% {
    transform: translate3d(0, 0, 0) rotate(10deg);
  }
}

/* =========================================================
   PC：マウスオーバー
   ゆっくり外側へ弧を描いて、ゆっくり戻る
========================================================= */

@media screen and (min-width: 768px) {

  /* =========================================
     RIGHT
  ========================================= */

  .pro_list.is-hover-right .chara01 {
    offset-path: path("M 0 0 C 60 -115, 195 -130, 270 0");
    offset-distance: 0%;
    offset-rotate: 0deg;

    animation:
      charaFloat01 7s ease-in-out infinite,
      pongRight 7s both;
  }

  .pro_list.is-hover-right .chara02 {
    offset-path: path("M 0 0 C 60 -115, 195 -130, 270 0");
    offset-distance: 0%;
    offset-rotate: 0deg;

    animation:
      charaFloat02 8.5s ease-in-out infinite,
      pongRight 7s both;
  }


  /* =========================================
     LEFT
  ========================================= */

  .pro_list.is-hover-left .chara01 {
    offset-path: path("M 0 0 C -60 -115, -195 -130, -270 0");
    offset-distance: 0%;
    offset-rotate: 0deg;

    animation:
      charaFloat01 7s ease-in-out infinite,
      pongLeft 7s both;
  }

  .pro_list.is-hover-left .chara02 {
    offset-path: path("M 0 0 C -60 -115, -195 -130, -270 0");
    offset-distance: 0%;
    offset-rotate: 0deg;

    animation:
      charaFloat02 8.5s ease-in-out infinite,
      pongLeft 7s both;
  }


  /* =========================================
     RIGHT / LEFT 共通
  ========================================= */

  @keyframes pongRight {
    0% {
      offset-distance: 0%;
      animation-timing-function: cubic-bezier(0.3, 0, 0.8, 1);
    }

    17% {
      offset-distance: 100%;
      animation-timing-function: cubic-bezier(0.15, 0, 0.25, 1);
    }

    100% {
      offset-distance: 0%;
    }
  }


  @keyframes pongLeft {
    0% {
      offset-distance: 0%;
      animation-timing-function: cubic-bezier(0.3, 0, 0.8, 1);
    }

    17% {
      offset-distance: 100%;
      animation-timing-function: cubic-bezier(0.15, 0, 0.25, 1);
    }

    100% {
      offset-distance: 0%;
    }
  }

}


/* =========================================================
   SP：画面外からキャラクターが放り込まれる
========================================================= */

@media screen and (max-width: 767px) {
 /* =======================================================
     キャラエリア
  ======================================================= */

  .chara_wrap {
    height: 220px;
  }


  /* =======================================================
     発火前
     キャラ全体を画面外に待機
  ======================================================= */

  .pro_list:not(.reverse) .chara_wrap {
    transform: translate3d(130vw, -20px, 0);
    opacity: 0;
  }

  .pro_list.reverse .chara_wrap {
    transform: translate3d(-130vw, -20px, 0);
    opacity: 0;
  }


  /* =======================================================
     右側から飛び込む
  ======================================================= */

  .pro_list.is-flying-right .chara_wrap {
    animation:
      spaceThrowRight 2.2s cubic-bezier(0.2, 0.75, 0.25, 1) forwards;
  }

  @keyframes spaceThrowRight {

    /* 画面右上の外 */
    0% {
      transform: translate3d(130vw, -35vh, 0) rotate(8deg);
      opacity: 0;
    }

    /* 弧を描きながら接近 */
    40% {
      transform: translate3d(25vw, -15vh, 0) rotate(3deg);
      opacity: 1;
    }

    /* 着地 */
    100% {
      transform: translate3d(0, 0, 0) rotate(0deg);
      opacity: 1;
    }
  }


  /* =======================================================
     左側から飛び込む
  ======================================================= */

  .pro_list.is-flying-left .chara_wrap {
    animation:
      spaceThrowLeft 2.2s cubic-bezier(0.2, 0.75, 0.25, 1) forwards;
  }

  @keyframes spaceThrowLeft {

    /* 画面左上の外 */
    0% {
      transform: translate3d(-130vw, -35vh, 0) rotate(-8deg);
      opacity: 0;
    }

    /* 弧を描きながら接近 */
    40% {
      transform: translate3d(-25vw, -15vh, 0) rotate(-3deg);
      opacity: 1;
    }

    /* 着地 */
    100% {
      transform: translate3d(0, 0, 0) rotate(0deg);
      opacity: 1;
    }
  }


  /* =======================================================
     キャラクターの浮遊
  ======================================================= */

  .pro_list.is-flying-right .chara01,
  .pro_list.is-flying-left .chara01 {
    animation:
      charaFloat01SP 10s ease-in-out infinite,
      landingBounce 1.8s ease-out 2.2s both;
  }


  .pro_list.is-flying-right .chara02,
  .pro_list.is-flying-left .chara02 {
    animation:
      charaFloat02SP 11s ease-in-out infinite,
      landingBounce 1.8s ease-out 2.2s both;
  }


  /* =======================================================
     着地の「ぼよんぼよん」

  ======================================================= */

@keyframes landingBounce {

  /* 着地 */
  0% {
    translate: 0 0;
  }

  /* 1回目 */
  12% {
    translate: 0 8px;
  }

  25% {
    translate: 0 -4px;
  }

  /* 2回目 */
  38% {
    translate: 0 5px;
  }

  50% {
    translate: 0 -2.5px;
  }

  /* 3回目 */
  62% {
    translate: 0 2.5px;
  }

  72% {
    translate: 0 -1px;
  }

  /* 自然に止まる */
  100% {
    translate: 0 0;
  }
}


  /* =======================================================
     SP用 浮遊アニメーション
  ======================================================= */

  @keyframes charaFloat01SP {

    0% {
      transform: translate3d(0, 0, 0) rotate(-2deg);
    }

    25% {
      transform: translate3d(7px, -18px, 0) rotate(2deg);
    }

    50% {
      transform: translate3d(-5px, 5px, 0) rotate(-1deg);
    }

    75% {
      transform: translate3d(-9px, 18px, 0) rotate(-3deg);
    }

    100% {
      transform: translate3d(0, 0, 0) rotate(-2deg);
    }
  }


  @keyframes charaFloat02SP {

    0% {
      transform: translate3d(0, 0, 0) rotate(2deg);
    }

    25% {
      transform: translate3d(-7px, 14px, 0) rotate(-3deg);
    }

    50% {
      transform: translate3d(6px, 22px, 0) rotate(1deg);
    }

    75% {
      transform: translate3d(9px, -12px, 0) rotate(3deg);
    }

    100% {
      transform: translate3d(0, 0, 0) rotate(2deg);
    }
  }

/* =========================================================
   HORIZONTAL OVERFLOW
========================================================= */

html,
body {
  overflow-x: clip;
}

@supports not (overflow-x: clip) {
  html,
  body {
    overflow-x: hidden;
  }
}

/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {
  .chara01,
  .chara02,
  .space-negi,
  .chara_wrap {
    animation: none !important;
  }
}


/* =========================================================
   anime SP版
========================================================= */
@media screen and (max-width: 767px) {

  /* =========================================
     SP：通常の浮遊をゆっくり・小さめに
  ========================================= */

  .chara01 {
    animation: charaFloat01SP 10s ease-in-out infinite;
  }

  .chara02 {
    animation: charaFloat02SP 11s ease-in-out infinite;
  }

  @keyframes charaFloat01SP {
    0% {
      transform: translate3d(0, 0, 0) rotate(-1deg);
    }

    25% {
      transform: translate3d(6px, -15px, 0) rotate(1deg);
    }

    50% {
      transform: translate3d(-5px, 4px, 0) rotate(-0.5deg);
    }

    75% {
      transform: translate3d(-8px, 15px, 0) rotate(-1.5deg);
    }

    100% {
      transform: translate3d(0, 0, 0) rotate(-1deg);
    }
  }

  @keyframes charaFloat02SP {
    0% {
      transform: translate3d(0, 0, 0) rotate(1deg);
    }

    25% {
      transform: translate3d(-6px, 12px, 0) rotate(-1.5deg);
    }

    50% {
      transform: translate3d(5px, 18px, 0) rotate(0.5deg);
    }

    75% {
      transform: translate3d(8px, -10px, 0) rotate(1.5deg);
    }

    100% {
      transform: translate3d(0, 0, 0) rotate(1deg);
    }
  }


  /* =========================================
     SP：ネギも上下の動きを小さく・ゆっくり
  ========================================= */

  .space-negi:nth-child(1) {
    animation: negiFloat01SP 9s ease-in-out infinite;
  }

  .space-negi:nth-child(2) {
    animation: negiFloat02SP 10s ease-in-out infinite;
  }

  .space-negi:nth-child(3) {
    animation: negiFloat03SP 9.5s ease-in-out infinite;
  }

  .space-negi:nth-child(4) {
    animation: negiFloat04SP 11s ease-in-out infinite;
  }

  .space-negi:nth-child(5) {
    animation: negiFloat01SP 10s ease-in-out infinite reverse;
  }

  .space-negi:nth-child(6) {
    animation: negiFloat03SP 11.5s ease-in-out infinite reverse;
  }

  .space-negi:nth-child(7) {
    animation: negiFloat02SP 9.5s ease-in-out infinite reverse;
  }


  @keyframes negiFloat01SP {
    0% {
      transform: translate3d(0, 0, 0) rotate(-5deg);
    }

    25% {
      transform: translate3d(12px, -25px, 0) rotate(7deg);
    }

    50% {
      transform: translate3d(-10px, 8px, 0) rotate(-8deg);
    }

    75% {
      transform: translate3d(16px, 28px, 0) rotate(5deg);
    }

    100% {
      transform: translate3d(0, 0, 0) rotate(-5deg);
    }
  }

  @keyframes negiFloat02SP {
    0% {
      transform: translate3d(0, 0, 0) rotate(3deg);
    }

    25% {
      transform: translate3d(-15px, 20px, 0) rotate(-7deg);
    }

    50% {
      transform: translate3d(10px, -28px, 0) rotate(8deg);
    }

    75% {
      transform: translate3d(-12px, 15px, 0) rotate(-4deg);
    }

    100% {
      transform: translate3d(0, 0, 0) rotate(3deg);
    }
  }

  @keyframes negiFloat03SP {
    0% {
      transform: translate3d(0, 0, 0) rotate(-3deg);
    }

    25% {
      transform: translate3d(18px, 15px, 0) rotate(8deg);
    }

    50% {
      transform: translate3d(-14px, -30px, 0) rotate(-6deg);
    }

    75% {
      transform: translate3d(10px, 22px, 0) rotate(5deg);
    }

    100% {
      transform: translate3d(0, 0, 0) rotate(-3deg);
    }
  }

  @keyframes negiFloat04SP {
    0% {
      transform: translate3d(0, 0, 0) rotate(6deg);
    }

    25% {
      transform: translate3d(-18px, -15px, 0) rotate(-5deg);
    }

    50% {
      transform: translate3d(12px, 25px, 0) rotate(7deg);
    }

    75% {
      transform: translate3d(-10px, -22px, 0) rotate(-8deg);
    }

    100% {
      transform: translate3d(0, 0, 0) rotate(6deg);
    }
  }
}

/* =========================================
   CHARACTER IMAGE：無重力っぽい回転
========================================= */

.chara01 img {
  display: block;
  animation: charaRotate01 9s ease-in-out infinite;
  transform-origin: center center;
}

.chara02 img {
  display: block;
  animation: charaRotate02 11s ease-in-out infinite;
  transform-origin: center center;
}

@keyframes charaRotate01 {
  0% {
    transform: rotate(-4deg);
  }

  25% {
    transform: rotate(5deg);
  }

  50% {
    transform: rotate(-2deg);
  }

  75% {
    transform: rotate(-7deg);
  }

  100% {
    transform: rotate(-4deg);
  }
}

@keyframes charaRotate02 {
  0% {
    transform: rotate(4deg);
  }

  25% {
    transform: rotate(-5deg);
  }

  50% {
    transform: rotate(2deg);
  }

  75% {
    transform: rotate(7deg);
  }

  100% {
    transform: rotate(4deg);
  }
}



@media screen and (max-width:768px){
#footer {
  z-index: 3;
}
}


