.s_pale{
 margin-top: 10px;
}

body:not(#id2) article > section:nth-of-type(2n+1){
  margin-top: 10px;
/*   background: #F0EADF; */
  background: #FFF9E0;
}


body:not(#id2) section > ._inner > section {
  margin: 4vw 0;
}


.anchor {
   position: relative;
   display: block;
   top: -100px;
}

h1{
  background: #E60012;
  color: white;
  text-align: left;
  margin: 0;
  line-height: 1.5;
}

h2{
  line-height: 1.4;
}
  
.pre{
  color: #7B7B7B;
  margin-bottom: 0;
  font-weight: bold;
}

h2.st1{
  color: #fff;
  background: #7B7B7B;
  border-radius: 30px;
  padding: 10px 20px 5px;
}

.pre+h2.st1{
  margin-top: 0;
}

h2.with_icon{
  margin: 7vw 0 5vw 3vw;
  position: relative;
  padding-left: 22vw;
}

h2.with_icon img{
  position: absolute;
  bottom:-1vw;
  left: -2vw;
  width: 20vw;
  max-width: 140px;
}



.bt, .bt_out {
  text-align: center;
}



.bt a,
.bt_out a{
  display: inline-block;
  background: #E60012;
  border-radius: 6px;
  padding: 1em;
  color: #fff;
  font-weight: bold;
  font-size: 16px;
  width: 90%;
  max-width: 500px;
  border: 1px solid #fff;
}

.bt_out a{
  background: #E60012 url(../img/ic_window_w.svg) no-repeat 95% center;
  background-size: 20px 20px ;
  padding-right: 3em;
}



h4.st1{
  background: #E60012;
  border-radius: 50px;
  color: #fff;
  display: inline-block;
  padding: 5px 15px 2px;
  margin-bottom: 5px;
}

.wk_dot{
  border: 2px dotted #E60012;
}

.wk_point{
  border: 3px solid #ffeb91;
  border-radius: 20px;
  background: #fff;
  font-size: 1.2em;
  padding: 10px 20px;
}


/*
.bt_kuwashiku{
  padding: 20px;
}
*/

/* PC */
@media screen and (min-width: 960px) {
  .bt a:hover,
  .bt_out a:hover{
  /*   background: #ffd500; */
    animation: bt_move 0.2s linear both;
  }
  
  
  .bt_out a:hover{
    background: #E60012;
  }
   
  @keyframes bt_move {
    0% {  transform: scale(1, 1); background: #E60012;}
    100% {  transform: scale(1.1, 1.1); background: #ffc800;}
  }
}


/* ==========================================================================
   パートナーご紹介 shop
   ========================================================================== */
   
#id2 #s_shop ._inner{
  overflow: hidden;
  }

#id2 .s_shop{
  background: #fff;
  border-radius: 10px;
  margin-bottom: 10px;
  padding: 10px;
  display: flex;
  justify-content: space-between;
  position: relative;
}

/*
.s_shop .ptn_logo{
  display: none;
}
*/


.s_shop .text{
  flex: 1 0 50%;
  max-width: 50%;
}

.s_shop .text a{
  text-align: center;
  display: block;
  padding: 5px 30px 5px 3px;
  border-radius: 10px;
  color: #E60012;
  border: 2px solid #E60012;
  font-weight: bold;
  background: #fff url(../img/ic_window.svg) no-repeat 95% center;
  background-size: 20px 20px ;
  margin-top: 5px;
}



#id2 .ic_new{
  position: absolute;
  width: 50px;
  height: 35px;
  top: -10px;
  left: -5px;
  }

/* PC用 */
@media screen and (min-width: 960px) {
.s_shop .text a:hover{
  background: #ffc800 url(../img/ic_window.svg) no-repeat 95% center;
  background-size: 20px 20px ;
}
}

.text h2{
  font-size: 1.3em;
  text-align: center;
}

.text figure{
  text-align: center;
  margin: auto;
  max-width: 170px;
  max-height: 60px;
}

.s_shop .toku{
  flex: 1 0 calc(50% - 10px);
  max-width: calc(50% - 10px);
  background: #a5dfe9; /* #189EB6*/
  border-radius: 10px;
  padding: 10px;
}

.toku p{
  margin: .5em 0;
  line-height: 1.2;
}

.toku .ic{
  text-align: center;
  margin: .25em auto;
}

.toku .ic img{
  width: 90%;
}

.toku .point{
  display: block;
  width: 100%;
  height: 100px;
  background: url("../img/bk_point.svg") no-repeat center top;
  background-size: auto 100%;
  text-align: center;
  position: relative;
/*   border: 1px solid red; */
}

.toku .wari{
background: #FEED84;
border-radius: 50%;
text-align: center;
padding: 10px 3px 5px;
color: #000;
font-weight: bold;
font-size: 1.3em;
line-height: 1.3;
}



.toku .wari.smaller{font-size: 1em;}

.toku .warik{
border-radius: 20px; 
font-size: 1em; 
}

.toku .wari + .wari{
 margin-top: .5em; 
}

.toku .wari mark{
  font-size: 1.6em;
  background: none;
  color: #E60012;
}


.toku .nm1{
 font-size: .8em; 
}

.toku .point span{
  position: absolute;
  top: 50%;
  left: 10%;
  right: 0;
  color:  #E60012;
  font-weight: bold;
  font-size: 1.7em;
  }
  
.toku .point  span:first-letter{font-size: 2em;}

.s_hotel .toku{background: #ecd19a;}
.s_gourmet .toku{background: #f0c0c3;}
.s_sports .toku{background: #abbde9;}
.s_leisure .toku{background: #cce59d;}
.s_service .toku{background: #a5d6b9;}
.s_hair .toku{background: #f6c3d7;}
.s_gas .toku{background: #eac6bf;}
.s_drug .toku{background: #eabbe5;}
.s_super .toku{background: #e9c89f;}


@media screen and (max-width: 599px) {
  .toku .point{background-size: 100% 100%; 
    height: 100px;
    }
  
  .toku .point span {top: 45%;}
}

/* タブレット・SPのみ */
@media screen and (max-width: 959px) { 
  .toku .red.bold br{
    display: none;
  }
}

/* タブレット・SPのみ */
@media screen and (max-width: 959px) { 
  .toku .red.bold br{
    display: none;
  }
}

/* iPad以上用 */
@media screen and (min-width: 768px) {  
  #id2 .s_pale ._wrap{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  
  #id2 .s_shop{
     flex: 1 0 calc(50% - 5px);
     max-width: calc(50% - 5px);
     min-width: calc(50% - 5px);
  }
  
}


/* PC用 */
@media screen and (min-width: 1024px) {
    h1{      
      padding: 10px 20px 0;
    }
    
    h2.with_icon{
      margin: 50px 0 ;
      padding-left: 170px;
    }

    
    h2.with_icon img{
      top:-50px;
    }
   
}

/* ==========================================================================
   パートナーって？ feature
========================================================================== */
  
#s_feature1 .s1 .girl:nth-of-type(1){
  text-align: right;
}

@media screen and (max-width: 599px) {
  
  #s_feature1 .s1 ._inner .girl img{
    max-width: 50%;
  }
  
  #s_feature1 section ._inner{
    margin: 0;
    padding: 0;
  }
  
  #s_feature1 figure img{
     width: 50%;
  }
   
  #s_feature1 section figure:nth-child(2n+1) {
     text-align: right;
  }
  
 #s_feature1 section ._inner * + *{
     margin-top: -15vw;
  }
  
}

@media screen and (min-width: 600px) {
  
  #s_feature1 section ._inner{
    margin: 0 3vw;
    display: flex;
    position: relative;
    padding: 100px 0 ;
  }
  
  #s_feature1 section.s2 ._inner{
    padding: 50px 0;
  }
  
  #s_feature1 section figure{
    flex:1 0 25%;
    margin: -20px;
  }
  
  #s_feature1 .s2 figure{
    flex:1 0 20%;
    margin: -30px;
  }
  
  #s_feature1 section figure:nth-of-type(2n){
    margin-top: 80px;
  } 
  
  #s_feature1 .s1 .girl {
    max-width: 25vw;
  }
  
  #s_feature1 .s1 .girl:nth-of-type(2) {
    max-width: 27vw;
  }
  
  #s_feature1 .s1 .girl{
    position: absolute;
    width: 200px;
    height: 170px;
    top: -20px;
    right: -2vw;
  }
  
  #s_feature1 .s1 .girl:nth-of-type(2){
    position: absolute;
    width: 220px;
    height: 200px;
    top:auto;
    bottom: -20px;
    left: -2vw;
  }
  
  #s_feature1 .s2 .girl{
    max-width: 600px;
    margin: 10px auto;
  }
  
}

#s_feature3 .flex{
  max-width: 800px;
  margin: auto;
}

#s_feature3 .flex > *{
  background: #fff;
  border: 3px solid #E60012;
  padding: 1vw;
/*   height: 100%; */
  display: block;
}

#s_feature3 .flex img{
  display: block;
}

#s_feature3 .flex svg{
  margin-top: 10px;
}

#s_feature3 .flex svg{
  margin-top: 10px;
}

/*PC*/
@media screen and (min-width: 960px) {
  #s_feature3  a svg:hover {
      animation: large_move2 0.2s linear both;
  }
}

#s_feature3 .fll{
  width: 25%;
  max-width: 130px;
  margin-right: 5%;
}

#s_feature4 .flex figure{
  margin-top: 10px;
  text-align: center;
  line-height: 1;
}

#s_feature4 .largest{
  line-height: 2;
}

/*NEW*/
#s_feature4 .flex > div{
overflow: hidden;
padding: 25px 10px;

}

@media screen and (max-width: 599px) {
  #s_feature4 .flex > div{
  border-bottom: 1px dotted #E60012;
  } 
}

#s_feature4 .wk_dot{
margin-bottom: 30px;
}

#s_feature4 .flex div > *{
float: left;
}

#s_feature4 .flex .p_logo{
  width: 22%;
}

#s_feature4 .flex .p_logo img{
  max-width: 96%;
}

#s_feature4 .flex .p_exp{
  width: 56%;
  padding-right: 5px;
}

#s_feature4 .flex .p_expl{
  width: 78%;
  padding-right: 5px;
}
#s_feature4 .flex .p_point{
  width: 22%;
}
#s_feature4 .flex p{
margin: .2em 0;
line-height: 1.3;
}

#s_feature4 .logo_w{
  width: 30%;
  min-width: 100px;
  margin-bottom: 20px;
}

#s_feature4 .logo_w.logo_stb{
  width: 60%;
}

/*/NEW*/

#s_feature5 section figure{
 margin: 30px 0;
}

/* ==========================================================================
   対象カード
========================================================================== */
#s_card a{
  padding: 10px;
  padding-right: 40%;
  border-left: 10px solid #E60012;
  background: #fff;
  border-radius: 10px;
  display: block;
  position: relative;
  height: auto;
  max-height: auto;
  min-height: 100px;
  box-shadow: 0px 5px 10px 0px rgba(0,0,0,0.3);
}


#s_card a .ic_next{
  margin-top: 10px;
}


#s_card a figcaption{
  font-weight: bold;
  color: #E60012;
  font-size: 18px;
  line-height: 1.3;
}

#s_card a div{
  text-align: center;
}

#s_card a img{
  max-width: 35%;
  top: 0;
  bottom:0;
  right: 10px;
  margin: auto;
}

#s_card a img{
  position: absolute;
}

@media screen and (max-width: 599px) {
  #s_card a{ margin-top: 20px;} 
}

@media screen and (min-width: 600px) {
  
  #s_card a{
    padding-right: 10px;
    height: 240px;
  }

  #s_card a img{
    top: 40%;
    left: 0;
    right: 0;
  }
  
  #s_card a img:first-child{
    max-width: 90%;
  }
  
  #s_card a img:last-child{
    max-width: 90%;
  }
  
  #s_card a:not(:last-child):not(:first-child) img{
    max-width: 70%;
  }
  

  
}


@media screen and (min-width: 960px) {
  
  #s_card a:hover{
    animation: def_move2 0.2s linear both;
  }
  
  @keyframes def_move2 {
      0% {  transform: scale(1, 1); background: #fff;}
      100% {  transform: scale(1, 1); background: #ffc800;}
  }
  
}

/* ==========================================================================
   join
   ========================================================================== */
#s_join4 .ac {margin-bottom: 40px;}

#s_join4 .ac img{width: 780px; max-width:97%; margin: 10px auto;}

/* ==========================================================================
   おすすめコンテンツ osusume
   ========================================================================== */
   
#s_osusume{
  padding-top: 50px;
  border-top: 3px solid #E60012
}

#s_osusume ._inner{
  max-width: 700px;
}

#id123 article ._inner{
  text-align: center;
}

#id123 article h2.st1{
  text-align: left;
}

#id123 article figure,
#id123 article h3{
  color: #6A151C;
}

#id123 article p{
  max-width: 600px;
  margin: 20px auto;
}

#id123 article figure img{
  border: 2px solid #6A151C;
  border-radius: 50%;
}

/*りんちゃん・るんちゃんの部屋*/
section#s_rinnun{
  background: #fff!important;
}

section#s_rinnun ._inner{
  text-align: center;
}

section#s_rinnun h2{
  margin: 2vw 0;
}

/*Q&A*/
section#s_qa{
  background: #fff!important;
}

section#s_qa ._inner{
  text-align: center;
}

section#s_qa h2{
  margin: 2vw 0;
}

section#s_qa a{
  display: block;
  margin: 2vw 0;
}

section#s_qa .bun{
  margin: 5vw 0;
}

/****** ★ONEDAY PAGE ******/

#s_oneday hr.hr_style01 {
  display: block;
  height: 1px;
  border: 0;
  margin: 1em 0;
  padding: 0;
  border-top: 3px dotted #44C3D3;
}

section#s_oneday{
  background: #fff!important;
}

#spe_link{
	position: absolute;
	left: 720px;
	top: 10px;
	z-index: 100;
}

#spe_link a{
	display: block;
}


#oneday_box1{
  position: relative;
	padding: 0 10px 10px;
}

#oneday_box1 .timebox{
	position: relative;
	height: 350px;
	text-align: center;
}

#oneday_box1 .dotline{
	position: absolute;
	top:120px;
	left: 50%;
	margin-left: -2px;
	width:5px;
	height: 2070px;
	background-image: url(../../osusume/img_oneday/bk_dotline.gif);
}

#oneday_box1 .timebox img{
	vertical-align: top;
}

#oneday_box1 .item_left{
	position: absolute;
	left: 0;
}

#oneday_box1 .item_right{
	position: absolute;
	right: 0;
}

#oneday_box1 .clock{
	margin-top: 113px; /*125-12.5*/
}

#oneday_box1 #time11 .item{
	margin-top: -100px;
}

#oneday_box1 #time13{
	height: 300px;
}

#oneday_box1 #time13 .notice_round{
	width:350px;
	position: absolute;
	top:480px;
	left:500px;
	margin-left: 12px;
	text-indent: -12px;
	font-size: 12px;
	line-height: 1.4em;
}

#oneday_box1 #time14{
	height: 350px;
}

#oneday_box1 #time16{
	height: 350px;
}

#oneday_box1 #time17{
	height: 400px;
}

#oneday_box1 #time18{
	height: 290px;
}

#oneday_box1 #img_12_2{
	position: absolute;
	left: 470px;
	top: 170px;
}

#oneday_box1 #img_13_2{
	position: absolute;
	left: 500px;
	top: 300px;
}

#oneday_box1 #img_18_2{
	position: absolute;
	left: 500px;
	top: -120px;
}

#oneday_box1 #img_18_3{
	position: absolute;
	left: 500px;
	top: 80px;
}

#oneday_box2 h3{
	margin-bottom: 0;
}

/*
@media screen and (max-width: 959px) {
  #oneday_box1 #time13{ height: 200px;}
  #oneday_box1 #time13{ height: 200px;}
  #oneday_box1 #time13{ height: 200px;}
}
*/


/* スマホ */
@media screen and (max-width: 599px) {

#spe_link{
		right: 0;
		left: auto;
		width: 40%;
	}
	
	#oneday_box1{
		padding: 0;
	}
	
	#oneday_box1 .timebox{
	/*position: relative;*/
	height: auto!important;
	text-align: left;
	/*text-align: center;*/
	}
	
	#oneday_box1 .timebox img{
	/*vertical-align: top;*/
	}
	
	#oneday_box1 .item{
	margin-top: 60px;
	}
	
	#oneday_box1 .item_left{
	position: static;
	/*left: 0;*/
	}
	
	#oneday_box1 .item_right{
	position: static;
	/*left: 0;*/
	}
	
	#oneday_box1 .item_add{
	position: static!important;	
	}
	
	#oneday_box1 .clock{
	position: absolute;
	margin-top: 0;
	top:30px;
	left:0;
	}
	
	#oneday_box1 .dotline{
		display: none;
	}
	
	#oneday_box1 #time11 .item{
	margin-top: -20px;
	}
	
	#oneday_box1 #time13 .notice_round{
	width:auto;
	position: static;
	/*top:280px;
	left:500px;
	margin-left: 12px;
	text-indent: -12px;*/
	font-size: 12px;
	line-height: 1.4em;

}




/* ==========================================================================
   対象カードのご紹介
   ========================================================================== */











