
/* ----------------------------------------
con-wrap
----------------------------------------*/
.con-wrap {}
.con-wrap{
	padding: 0 0 120px 0;
}

.con-wrap img{vertical-align: top;}
br.sp {display: none;}


/* ----------------------------------------
co-block
----------------------------------------*/
.co-block{
	width: 1140px;
  padding:0 20px;
	margin: 0 auto;
}


/* ----------------------------------------
main-wrap
----------------------------------------*/
.main-wrap{
  margin: 0 0 60px 0;
}
.main-head{
  padding: 40px 110px 90px 110px;
}
.main-head img{
	width: 100%;
	height: auto;
}



.main{align-items: center;}

/*スポーツをもっと快適に、アクティブに！*/
.main picture.main-copy {
  display: block;
  width:980px;
  margin:auto;
  margin-bottom:70px;
}

.main picture.main-copy img {
  width:100%;
  height:auto;}


/*スポルファ レインホッパー」誕生*/
.main-tit {
  width: 100%;
  margin: 0 0 150px;
  padding:50px 0 70px;
  position: relative;
  text-align: center;
}

.main-tit::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #1bc0ff;
    transform: skewY(-4.7deg);
    z-index: -1;
}

.main-tit .co-block {position: relative;}
.main-tit h1 {
  background: url(/products/sp_rain/images/rain_hopper-tit.png) no-repeat 0 0;
  background-size: contain;
  width: calc(100% - 215px);
  height: 147px;
  margin: auto;
  margin-left: 215px;
  text-indent: -9999px;}



.main-tit p img {
  position: absolute;
  top:-40px;
  left:0;
  width:199px;
  height:199px;}



/*最初のレインホッパー紹介*/
.main-rein_hopper {
	width: 980px;
}

.main-rein_hopper__inner {
  position: relative;
  border:6px solid #fdb913;
  padding:80px 0 80px 30px;
}

.main-rein_hopper__inner .product-img_1 {
  bottom:-160px;
  left:20px;
  position: absolute;}
.main-rein_hopper__inner .product-logo {
  display: block;
  position: relative;
  left: 325px;
}



/* ----------------------------------------
movie-wrap
----------------------------------------*/
.movie-wrap{
	text-align: center;
	margin: 280px auto 370px;
	padding: 0;
  position: relative;
}

.movie-wrap::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background:
    url("/products/sp_rain/images/movie-bg_1.png") no-repeat -200px -80px,
    url("/products/sp_rain/images/movie-bg_2.png") no-repeat center -40px,linear-gradient(#02adef, #0189cc);
  background-position: top top, 10px 10px;
  transform: skewY(4.7deg);
  z-index: -1;
}

.movie-wrap::after {
  content: '';
  position: absolute;
  height:calc(100% - 40px);
  top: 20px;
  bottom: 0;
  left: 0;
  right: 0;
  background: #005bb9;
  transform: skewY(-4.7deg);
  z-index: -2;
}

.movie-wrap__inner {
  padding:100px 0 120px;
}

.movie-wrap h2{
  font-weight: normal;
  font-size:6rem;
  color:#fff;
  text-shadow: 4px 4px 0px rgba(0,0,0,0.34);
  letter-spacing: 0.5rem;
  margin-bottom:45px;
}


.Movie-Box iframe{
  width:800px;
  height:450px;
  margin:0 auto;
  outline: 3px solid #ffa000;
  outline-offset: -3px;
  box-shadow: 10px 10px 0px rgba(0,0,0,0.15);
}


/* ----------------------------------------
.secret
----------------------------------------*/
.secret{
  position: relative;
  background: #e6e6e6;
  padding-bottom: 695px;
  margin-bottom:-500px;
}

.secret .secret-tit{
  text-align:center;
  width: 100%;
  margin: 0;
  position: relative;
  top:-100px;
  z-index: 3;}

.secret .secret-tit::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #fdb913;
    transform: skewY(-4.7deg);
    z-index: -1;
}

.secret .secret-tit h2 {
  padding:80px 0;
  text-align: center;
  font-size:3rem;
  line-height: 1.4;
  z-index: 4;
  position: relative;
}

.secret .secret-tit h2 a {color:#e60012;}
.secret .secret-tit h2 a.hover {text-decoration: underline;}

.secret .secret-tit h2 span {
  display: block;
  font-size:5.2rem;}

img.secret_rainhopper {
  position: absolute;
  width:255px;
  height:535px;
  top:215px;
  left:0;
  right:0;
  margin:auto;
}


/*秘密：中身*/
.secret__contents__wrap {
  width:100%;
  overflow: hidden;
  position: relative;
  top:-200px;}

.secret__contents__wrap .co-block {
  width:1240px;
  padding:0;}

.secret__inner {
  margin: 0 0 15px 20px;
  padding-top:610px;
  background: #fff;
  width:100vw;
  box-shadow: 15px 15px rgba(0,0,0,0.1);  
}

.secret__contents {
  width:1220px;
  padding:0 20px 160px;
  text-align: center;
  font-size:3rem;
}


/*レンズにスプレーするだけで、雨・汗・海水をレンズに留まらせない！*/
.secret__contents h3 {
  line-height: 1.4;
  font-weight: normal;
  margin-bottom:40px;
}
.secret__contents h3 span {
  display: block;
  font-weight: bold;
  font-size:5.2rem;
  color:#31bcf0;}

.secret__contents h3 span span{
  display: inline;
  font-size:4.5rem;}
.secret__contents h3 br {display: none;}

/*その秘密は*/
img.secret_icon {
  width:162px;
  height:174px;
  display: block;
  margin: auto;
  margin-bottom: 40px;
}


/*レンズの表面に微粒子シリカの連続突起を形成し『超撥水性』*/
.secret-text {
  line-height: 1.4;
  margin-bottom: 80px;}

.secret-text > span {
  font-size:6rem;
  display: block;
  font-weight: bold;
}
.secret-text > span > span {
  position: relative;
  color:#ee1d23;
  z-index: 2;
}
.secret-text > span > span::after {
  content: "";
  position: absolute;
  bottom: 10px;
  z-index: -1;
  left: 0;
  width: 100%;
  height: 24px;
  background-color: #ffea59;
}

/*動画*/
.secret .video-wrapper{
	width: 800px;
  padding:0;
	margin: 0 auto;
}

.secret .video-wrapper video{
	width: 100%;
  border:3px solid #ffa000;
  box-shadow: 10px 10px 0px rgba(0,0,0,0.15);
}

/*だから*/
.secret .dakara {margin:120px auto 80px;}

/*止まっていても、水滴がレンズに留まることがありません！*/
.secret-text2 {
  font-weight: bold;
  font-size:5.2rem;
  line-height: 1.4;
  margin-bottom: 40px;
}


/* ----------------------------------------
point-wrap
----------------------------------------*/
.point-wrap{
	text-align: center;
  position: relative;
	margin: 0 auto;
  font-size:2.4rem;
  
  z-index: 2;
}

.point-wrap h2 {
  font-size:3.5rem;
  line-height: 1.2;
  background: #ffea59;
  padding:15px;
  margin-bottom:40px;
}

.point-wrap h2 + p {
  margin-bottom:40px;
  line-height: 1.75;
}

  
.point1,
.point2{
  top:-150px;
  width: 100%;
  margin: 0;
  position: relative;
  padding-bottom: 500px;
  margin-bottom:-500px;
}

.point3 {
  top:-150px;
  width: 100%;
  margin: 0;
  position: relative;
  padding-bottom: 180px;
}


/* 背景 */
.point1::before,
.point3::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(#1bc0ff, #1498da);
    transform: skewY(-4.7deg);
    z-index: -1;
}
.point2::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(#ffc83a, #ffa000);
  transform: skewY(4.7deg);
  z-index: -1;
}

.point3::after {
  content: '';
  position: absolute;
  top: auto;
  bottom: 0;
  left: 0;
  right: 0;
  height:calc(100% - 300px);
  background: linear-gradient(#ffc83a, #ffa000);
  transform: skewY(4.7deg);
  z-index: -2;
}



.point1 .co-block,
.point2 .co-block,
.point3 .co-block {
  padding-top:120px;
  position: relative;}


.point-tit {
  width:328px;
  height:328px;
  position: absolute;
  z-index: -2;
  text-indent: -9999px;
  top:-120px;
}




/* Point1 */
.point1 .co-block {padding-bottom:200px;}
.point1 .point-tit {
  background: url("/products/sp_rain/images/point1.png") no-repeat;
  background-size: 328px 328px;
}

.point1 img {
  width:100%;
  height:auto;}


/* Point2 */
.point2 {z-index: 2;}
.point2 .point-tit {right:0;}
.point2 .co-block {padding-bottom:200px;}


.point2 .point-tit {
  background: url("/products/sp_rain/images/point2.png") no-repeat;
  background-size: 328px 328px;
}

.point2 ul {
  width:785px;
  margin: auto;
  display: flex;
  justify-content: space-between;
}

.point2 ul li img {
  width:380px;
  height:auto;}

.point2 p.note {
  font-size:1.4rem;
  margin-top:15px;
  margin-bottom:30px;}

.point2 img.arrow {
  display: block;
  margin:30px auto;}

.point2 .before_after {
  width:600px;
  height: auto;
  display: block;
  margin: auto auto 40px;
  
}

/* Point3 */

.point3 {z-index: 3;}
.point3 .point-tit {
  background: url("/products/sp_rain/images/point3.png") no-repeat;
  background-size: 328px 328px;
}

.point3 ul {
  width:100%;
  margin: auto;
  display: flex;
  justify-content: space-between;
}

.point3 ul li {width:calc((100% / 3) - 20px);}
.point3 ul li img {
  width:100%;
  height:auto;}




/* ----------------------------------------
shop-wrap
----------------------------------------*/
.shop{
  margin: 0 auto 0;
}

.shop h2 {
  display: flex;
  justify-content: center;
  align-items: center;
  background:url("/products/sp_rain/images/product-bg.png") no-repeat top center;
  width:100%;
  height:155px;
  font-weight: normal;
  font-size:6rem;
  color:#052a83;
  text-shadow: 4px 4px 0px rgba(0,0,0,0.2);
  letter-spacing: 0.5rem;
}

.shop__inner {
  padding:60px 0 100px;
  background: #f1f1f1;
}

.shop .co-block {position: relative;}


.shop__box {
  width:785px;
  margin: auto;
  background: #fff;
  border-radius: 6px;
  padding:35px 50px 30px 270px;
  position: relative;
  margin-bottom:60px;
}


.shop-head{
  display: block;
  width: 403px;
  height: auto;
  margin-bottom:30px;
}
.shop__box figcaption {
  font-size:2.8rem;
  color:#052a83;
  margin-bottom:6px;
}
.shop__box figcaption span {font-size:2.2rem;}

.product-img_2 {
  position: absolute;
  bottom:-43px;
  left:42px;
  z-index: 8;
}

.shop_logo {
  width:452px;
  height:auto;
}





.shop-btn {
  width:785px;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

p.onlineshop{
    width:370px;
    background:none;
    padding:0;
    margin:0 0 30px;}		

p.onlineshop a{
  height:90px;
    display: flex;
    justify-content: center;
  align-items: center;
    text-align:left;
    font-size:2rem;
    font-weight:bold;
    color:#fff;
    line-height:2.4rem;
    background-color:#e60012;
    padding:20px 15px 20px 20px;
    margin:0;
    border-radius:10px;
    box-shadow: 0px 2px 5px rgba(0,0,0,0.6);}

p.onlineshop a.hover{
    box-shadow: none;}

p.onlineshop a img{
display: inline-block;
width:35px;
height: 33px;
margin:  5px 10px 0 0;
}




/* ----------------------------------------
User's Voice　20220526
----------------------------------------*/
.usersvoice {
  padding:30px 0 0;
  margin: 0 auto;}

.usersvoice__inner {
  padding:80px 0 0;}

.usersvoice .co-block {
  width: 980px;
  padding:0;
  position: relative;}


/* User's Voice タイトル周り */
.usersvoice .usersvoice-tit{
  text-align:center;
  width: 100%;
  height:140px;
  margin: 0;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;}


.usersvoice .usersvoice-tit::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background:url("/products/sp_rain/images/usersvoice-bg.png") no-repeat center 25px,#fdb913;
  transform: skewY(-4.7deg);
  z-index: -1;}

.usersvoice .usersvoice-tit .pickup {
  width:112px;
  height:112px;
  position: absolute;
  top:-30px;
  left:150px;
}

.usersvoice .usersvoice-tit h2 {
  font-weight: normal;
  font-size:6rem;
  color:#fff;
  text-shadow: 4px 4px 0px rgba(0,0,0,0.2);
  letter-spacing: 0.5rem;}


/* 安田大サーカス 団長 安田さんが絶賛！*/
.usersvoice .usersvoice-mainphoto {
  width:600px;
  height:338px;
  display: block;
  margin:0 auto 10px;
  border: 3px solid #ffa000;
  box-shadow: 10px 10px 0px rgb(0 0 0 / 15%);
}

.usersvoice h3{
  font-size:4rem;
  line-height: 1.5;
  color:#31bcf0;
  text-align: center;
  margin-bottom:80px;
}
.yasuda_note {
  display: block;
  width: 620px;
  margin: 15px auto 30px;
  text-align: right;
}

/* メッセージ*/
.usersvoice__comment {
  display: flex;
  justify-content: space-between;margin-bottom:50px;
  }

.usersvoice__comment:nth-child(even) {flex-direction: row-reverse;}
.usersvoice__comment img {
  margin:0 0 0 30px;
  width:280px;
  height:158px;
  border: 3px solid #ffa000;
  box-shadow: 10px 10px 0px rgb(0 0 0 / 15%);}
.usersvoice__comment:nth-child(even) img {margin:0 30px 0 0;}


.usersvoice p {
  font-size:2rem;
  line-height: 2.1;}

.usersvoice p sup {font-size:1.2rem;}
.usersvoice p span.note {
  display: block;
  font-size:1.1rem;
  color:#333;
  margin-top:-5px;
  padding-bottom:10px;
  margin-bottom:40px;}

.usersvoice .photo-box {
  display: flex;
  justify-content: space-between;
  margin-bottom:100px;
}

.usersvoice .photo-box img {
  border: 3px solid #ffa000;
  box-shadow: 10px 10px 0px rgb(0 0 0 / 15%);
  width:465px;
  height:262px;
}


/* ボタン */
p.usersvoice_btn {
  width:600px;
  margin: auto;
}
p.usersvoice_btn a {
    height: 90px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: left;
    font-size: 2.2rem;
    font-weight: bold;
    color: #fff;
    line-height: 2.4rem;
    background-color: #e60012;
    padding: 20px 15px 15px 20px;
    margin: 0;
    border-radius: 10px;
    box-shadow: 0px 2px 5px rgb(0 0 0 / 60%);
}

p.usersvoice_btn a.hover{
    box-shadow: none;}

p.usersvoice_btn a img{
display: inline-block;
width:54px;
height: 32px;
margin:  -5px 15px 0 0;
}




/* ----------------------------------------
User's Voice 2　20220628
----------------------------------------*/

.usersvoice2 {
  margin-top:140px;
  margin-bottom:100px;}

.usersvoice2.co-block {
  width: 1180px;
  padding:0;
  position: relative;}


.usersvoice2 h3 {
  color:#fdb913;
  margin-bottom:30px;
}

.usersvoice2 ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;}

.usersvoice2 ul li {
  font-size:2.2rem;
  line-height: 1.364;
  position:relative;
  background: #fff;
  width:380px;
  margin:25px;
  padding:20px;
  -webkit-filter:drop-shadow(10px 10px 0 rgba(0, 0, 0, .15));}

.usersvoice2 ul li h4 {
  font-size:1.6rem;
  text-align: center;
  line-height: 1;
  padding:8px 5px 5px;
  color:#fff;
  width:130px;
  background: #16a2e3;
  margin-bottom:15px;
}

.usersvoice2 ul li::after {
  position: absolute;
  content: "";
  bottom:-4px;
  right:-50px;
  border-style: solid;
  border-color: transparent transparent #16a2e3 transparent;
  border-width: 0 50px 40px 0;}



/* サイクリング */
.usersvoice2 ul.cycling{
  background:url("/products/sp_rain/images/picto_cycling.png") no-repeat;
  background-position-x:calc(50% - 20px);
  background-position-y:40px;
  background-size: 296px 241px;}
.usersvoice2 ul.cycling li {border:4px solid #16a2e3;}

/* サイクリング吹き出し調整 */
.usersvoice2 ul.cycling li:nth-child(2)::after {
  left:-50px;
  right:auto;
  transform: scale(-1, 1);}

.usersvoice2 ul.cycling li:last-child {
  margin-left:auto;
  margin-right:25px;}

.usersvoice2 ul.cycling li:last-child::after {
  top:-4px;
  bottom:auto;
  left:-50px;
  right:auto;transform: scale(-1, -1);}

.usersvoice2 ul.cycling li h4 {background: #16a2e3;}


/* ランニング */
.usersvoice2 ul.running{
  position: relative;
  top:-84px;
  padding-top:42px;
  margin-bottom:-240px;
  background:url("/products/sp_rain/images/picto_running.png") no-repeat center bottom 28px;
  background-size: 174px 220px;
}
.usersvoice2 ul.running li {
  position: relative;
  top:-120px;
  border:4px solid #fdb913;}
.usersvoice2 ul.running li::after {border-color: transparent transparent #fdb913 transparent;}
.usersvoice2 ul.running li h4 {background: #fdb913;}


/* 釣り */
.usersvoice2 ul.fishing{ position: relative;
  top:-14px;
  margin-bottom:23px;
  align-items: flex-end;
  background:url("/products/sp_rain/images/picto_fishing.png") no-repeat center bottom 50px;
  background-size: 338px 221px;}

.usersvoice2 ul.fishing li {border:4px solid #e7170a;}


/* 吹き出し調整 */
.usersvoice2 ul.fishing li::after {border-color: transparent transparent #e7170a transparent;}

.usersvoice2 ul.fishing li:nth-child(even)::after {
  right:auto;
  left:-50px;
  transform: scale(-1, 1);}
.usersvoice2 ul.fishing li:nth-child(n+3):nth-child(-n+4)::after {
  top:-4px;
  bottom:auto;}
.usersvoice2 ul.fishing li:nth-child(3)::after { transform: scale(1, -1);}
.usersvoice2 ul.fishing li:nth-child(4)::after { transform: scale(-1, -1);}

.usersvoice2 ul.fishing li h4 {background: #e7170a;}




/* ----------------------------------------
ショップ追従バナー
----------------------------------------*/
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_sp_rain {
  padding-top: 35px;
  margin-top: -35px;
}