/* common
---------------------------------------------------------- */
.antifog {
  min-width:1080px;
  width:100%;
}

.co-block{
	width: 1140px;
  padding:80px 20px;
	margin: 0 auto;
	text-align: center;  
  transform: skewY(4.7deg);
}

.antifog h2 {
  text-align: center;
  font-size:4.8rem;
  margin:auto;
  margin-bottom:45px;
  padding-bottom:20px;
  width:360px;
  border-bottom: 4px solid #7cde13;
}

.antifog h2.ttl_w {color:#2c2d2f;}
.antifog h2.ttl_b {color:#7cde13;}

.antifog h2 span,
.antifog h2 span {
  font-size:2.5rem;
  display: block;}


.wrap-line::before {
content: '';
position: absolute;
top: -15px;
left: 0;
right: 0;
z-index: 5;
background-color: #7cde13;
width: 100%;
height: 30px;
clip-path: polygon(100% 0, 0 50%, 100% 100%);
}

.wrap-line::after {
  content: '';
  position: absolute;
  bottom: -15px;
  left:0;
  right:0;
  z-index: 2;
  background-color: #7cde13;
  width: 100%;
  height: 30px;
  clip-path: polygon(0 0, 0 100%, 100% 50%);
}

.LP a.hover {opacity: 0.7;}

/* main
---------------------------------------------------------- */
.main{
  position: relative;
  background: #2c2d2f;
  margin: 0;
  padding-bottom:360px;
  align-items: center;}

.main-head {
  position: relative;
  padding-top:40px;
  margin: 0 110px 90px 110px;}

.main-head img{
  width: 100%;
	height: auto;}

.main-head img.package{
  position: absolute;
  bottom:-35px;
  left:50px;
  width: 23%;
	height: auto;
}

/* point
---------------------------------------------------------- */
.point{
  position: relative;
  transform: skewY(-4.7deg);
  background: #fff;
	margin: 40px auto 60px;
	padding: 0;
  z-index: 2;
  margin-top: -350px;
}

.point ul {
  width:800px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: auto;
  margin-bottom:-40px;
  }

.point ul li{
  width:236px;
  margin-bottom:40px;
  line-height: 0;
  }
.point ul li img {
  width:236px;
  height:236px;}


/* movie
---------------------------------------------------------- */

.movie{
  transform: skewY(-4.7deg);
  background: #2c2d2f;
  padding-top:200px;
  margin-top:-250px;
  padding-bottom:40px;
}

.movie::after {
  content: '';
  position: absolute;
  bottom: -15px;
  left:0;
  right:0;
  z-index: 2;
  background-color: #7cde13;
  width: 100%;
  height: 30px;
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
}

.Movie-Box iframe{
  width:800px;
  height:450px;
  margin:0 auto;
}



/* shop
---------------------------------------------------------- */
.shop {
  padding-bottom:300px;
  margin-bottom:-300px;
  background: #fff;}

.shop .co-block{
  padding:70px 0 50px;
  transform: skewY(0);}

.LP .shop h2 {
  font-size:3rem;
  margin-bottom:40px;
  padding-bottom:10px;
  width:265px;
}

.shop ul {
  width: 980px;
  display: flex;
  margin:auto;
  justify-content: space-between;
}

.shop ul li {
  width:auto;
  font-weight: bold;
  color:#333;
  display: flex;
  margin:40px 25px;
  }

.shop ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.shop ul li a img {
  display: block;
  width:90%;}
.shop ul li a img.amazon {width:80%;}
.shop ul li a img.yahoo {margin-bottom:5px;}
.shop ul li a.hover {text-decoration: underline;}

/* features
---------------------------------------------------------- */
.features{
  background: #f1f1f1;
  padding-bottom:200px;
  margin-bottom:-150px;
}
.features .co-block{transform: skewY(0);}

.features-menu {
  height:85px;
  background: #000;
  border-top: 10px solid #7cde13;
}

.features .anchorLink li:not(:last-child) {border-right: 1px solid #7cde13;}

.features-menu ul {
  height:45px;
  border-left:1px solid #7cde13;
  border-right:1px solid #7cde13;
  width:780px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: auto;}

.features-menu ul li {width:calc(100% / 2);}

.features-menu.anchorLink a {
  height:45px;
  font-weight: bold;
  font-size:2rem;
  position: relative;
  color:#7cde13;
  display: block;
  padding: 0;
  text-decoration: none;
  text-align: center;
}



.features-menu.anchorLink a span {
  display: inline-block;
  font-size:1.4rem;
  vertical-align: 3px;
  text-indent: 1em;
}

.features-menu.anchorLink a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left:0;
  right:0;
  width: 0;
  height: 0;
  margin: auto;
  border-style: solid;
  border-width: 8px 7.5px 0 7.5px;
  border-color: #7cde13 transparent transparent transparent;
  }


.features img.package{
  width: 258px;
	height: 446px;
  margin-bottom:50px;
}

.features_img {
  width:780px;
  height:auto;
  margin-bottom:160px;
}

.bottom_arrow {
  position: relative;}

.bottom_arrow::after {
content: '';
  position: absolute;
  bottom: 60px;
  left:0;
  right:0;
  width: 0;
  height: 0;
  margin: auto;
  border-style: solid;
  border-width: 28px 42.5px 0 42.5px;
  border-color: #7cde13 transparent transparent transparent;}

.features p.features-txt {
  font-size:3.6rem;
  font-weight: bold;
  margin-bottom:25px;
}

.features p.features-txt span {font-size:4.8rem;}
.features p.features-txt span.red {
  display: inline-block;
  color:#ff0303;
  margin-bottom:10px;}

.features h3 {
  display: inline-block;
  font-size:3.6rem;
  position: relative;
  padding:0 40px;
  margin:0 auto 30px;
}

.features h3::before {
  content: '';
  position: absolute;
  bottom: 0;
  left:0;  
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 64px 3.5px 0 3.5px;
  border-color: #7cde13 transparent transparent transparent;
  transform: rotate(-24deg);}

.features h3::after {
  content: '';
  position: absolute;
  bottom: 0;
  right:0;  
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 64px 3.5px 0 3.5px;
  border-color: #7cde13 transparent transparent transparent;
  transform: rotate(24deg);}

.features picture.features_img_sports01 img {
  max-width:1180px;
  width: 100%;
  height:auto;
  margin-bottom:90px;
}

.features h4 {
  font-size: 2.4rem;
  margin: 0 0 30px;}

.features picture.features_img_sports02 img{
  max-width:780px;
  width: 100%;
  height:192px;
}



/* howto
---------------------------------------------------------- */
.howto {
  transform: skewY(-4.7deg);
  background: #2c2d2f;
  color:#fff;
  z-index: 2;
  position: relative;
}

.howto ol {
  width: 980px;
  padding-top:45px;
  margin: auto auto 45px;
  display: flex;
  justify-content: space-between;
}

.howto ol li,
.howto ol li img.howto_img_photo {
  text-align: left;
  width: 450px;
  font-size:1.8rem;
  position: relative;
  margin-bottom:5px;
}

.howto ol li:first-child::after {
  content: '';
  position: absolute;
  top:calc(50% - 51px);
  right:-48px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 17px 0 17px 15px;
  border-color: transparent transparent transparent #7cde13;}

img.howto_img_step {
  width:100px;
  height:100px;
  position: absolute;
  top:-35px;
  left:-25px;
  z-index: 2;}

.howto ol li span {
  font-size:1.4rem;
  display: inline-block;
  text-indent: -1em;
  margin-left: 1em;
  margin-top:15px;}

.howto ul {
  border-top:1px solid #7cde13;
  width: 980px;
  margin: auto;
  padding-top:34px;
  text-align: left;}

.howto ul li {
  font-size:1.4rem;
  display: inline-block;
  text-indent: -1em;
  margin-left: 1em;
  margin-bottom:3px;
}


/* User's Voice
---------------------------------------------------------- */
.usersvoice {
  pointer-events: none;
  position: relative;
  z-index: 1;
  transform: skewY(-4.7deg);background: #fff;}

.usersvoice.wrap-line::before {display: none;}

.usersvoice.wrap-line::after {
  content: '';
  position: absolute;
  bottom: -15px;
  left:0;
  right:0;
  z-index: 2;
  background-color: #7cde13;
  width: 100%;
  height: 30px;
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
}



/* product
---------------------------------------------------------- */
.product{
  top:-300px;
  padding-top:300px;
  margin-bottom:-300px;
  background: #f1f1f1;
  overflow: hidden;
  z-index: 0;
  position: relative;
}

.product .co-block{
  padding: 80px 20px 40px;
  transform: skewY(0);}


.LP .product h2 {margin-bottom:65px;}


/* fogshield */
.product .product_fogshield {
  background: #7cde13;
  border-radius: 50%;
  width:683px;
  height:683px;
  margin: auto;
  position: relative;
  text-align: center;
}

.product .product_fogshield img.package{
  position: relative;
  top:-12px;
  width: 254px;
	height: 441px;}

.product .product_fogshield a.hover {opacity:1 !important;}
.product .product_fogshield a.hover img.package {
  filter: drop-shadow(0 0 20px #fff);
  transition: drop-shadow 2s ease-out;}

.product p img.product-txt {
  width:573px;
  height:28px;
  margin-bottom:30px;
}
.product h3 img.product-logo {
  width:510px;
  height:100px;}


/* shop */
.product .shop {
  padding-bottom:0;
  margin-bottom:45px;}

.product .shop .co-block{padding:25px 0 20px;}

.LP .product .shop h2 {
  font-size:1.8rem;
  margin-bottom:20px;
  padding-bottom:0;
  width:150px;
  border-bottom: 2px solid #7cde13;
}



/* rainhopper */
.product .rainhopper {
  overflow: hidden;
  width:780px;
  margin: auto;
  position: relative;
  padding-top:50px;
  padding-bottom:30px;
  margin-bottom:100px;
}

.product .rainhopper_head {
  width:340px;
  height:72px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #1bc0ff;
  color:#fff;
  transform:skewX(13deg);
  position: absolute;
  left:-30px;
  padding-top: 10px;
}
.product .rainhopper_head img {
  width:83px;
  height:44px;
  margin-right:10px;
}

.product .rainhopper_head h3 {transform:skewX(-13deg);}

.product .rainhopper_head h3 img {
  width:130px;
  height:47px;
}

.rainhopper_inner {
  margin-top:72px;
  border:4px solid #1bc0ff;
  background: #fff;
  position: relative;
}

.rainhopper_inner img.rainhopper_package {
  width:165px;
  height:361px;
  position: absolute;
  right:20px;
  bottom:-30px;
}

.rainhopper_txt {
  display: block;
  width:512px;
  height:38px;
  margin-bottom:20px;
}

.rainhopper_logo {
  display: block;
  width:510px;
  height:auto;}
 
.rainhopper_inner a {
  padding:25px 40px;
  position: relative;
  display: block;
  z-index: 10;
}

.rainhopper_inner a.hover {
  opacity: 1;
  }

.rainhopper_inner a.hover .rainhopper_txt,
.rainhopper_inner a.hover .rainhopper_logo {opacity: 0.7;}



/* ----------------------------------------
ショップ追従バナー
----------------------------------------*/
a.sp_shop_banner {display:none;}

.wrapper {
  overflow: hidden;
  position: relative;}

.side {z-index: 3;
  width: 1px;
  position: fixed;
  height: calc(100vh - 4.9rem);
  top: var(--side-top, 17.9rem);
  bottom: 0;
  }

.fixed .side {
  position: fixed;
  top: 4.9rem;
}

/* フッターに到達 */
.side.at-bottom {
  height: calc(100vh - 4.9rem);
  position: absolute;
  top: auto;
  bottom: 0;
  background-position: left bottom;
}

a.sp_shop_banner {display:none;}

.right {
  top: 0;
  right: 0;
}

.right .shop_banner img {
  width:19.8rem;
  height: 19.8rem;
  }

.right .side_banner {
  width: 19.8rem;
  height: 19.8rem;
  position: absolute;
  right: 0;
  top: auto;
  bottom: 5rem;
  margin: auto;
}
.right .side_banner a {transition: opacity 0.3s ease;}
.right .side_banner a.hover {opacity: 0.5;}

#products_antifog {
  padding-top: 100px;
  margin-top: -100px;
}