@charset "utf-8";
/* CSS Document */

/*--------------------
CARDページ共通
--------------------*/

#contents-main{
	padding-top: 40px;
	color: #221815;
}


#contents-main .guide_inner{
	width: 650px;
	margin: 0 auto;
}

#contents-main a{
    color: #221815;
	text-decoration: underline;
}

#contents-main a:hover{
	text-decoration: none;
}

#contents-main h3{
	background: none;
	border: none;}
	
#contents-main .guide_inner .btn_area{
    text-align: center;
}

#contents-main .guide_inner .btn_area a{
    padding: 10px 20px;
	background: #009e41;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	width: 300px;
	margin-bottom: 12px;
}


#contents-main h4{
    color: #009e41;
    background-color: rgba(0,157,65,0.1);
    border: none;
    border-radius: 5px;
    font-size: 16px;
    margin: 0 auto;
    padding: 10px 16px;
	font-weight: bold;
	text-align: center;
}



/*
タイトル
#point
*/
#contents-main #point{
   background-color: #edede8;
   padding: 10px;
   border-radius: 10px;
   margin: 0 auto 35px;
}

#contents-main #point .point_inner{   
   border: 4px solid #fff;
   border-radius: 8px;
   text-align: center;
}

#contents-main #point .point_cm{
   background: url(point_bg.png) no-repeat bottom;
   text-align: center;
   padding: 20px 0 86px;
   background-clip: border-box;
}

#contents-main #point .point_cm h4{
   position: relative;
   display: inline-block;
   text-align: center;
   color: #fff;
   background-color: #009e41;
   border-radius: 50px;
   padding: 10px 0;
   margin: 0 auto 15px;
   font-size: 24px;
   width: 270px;
}

#contents-main #point .point_cm h4:after {
    content: "";
    display: block;
    position: absolute;
    bottom: -20px;
    width: 0;
    height: 0;
    border: 12px solid transparent;
    left: 36%;
    left: calc(50% - 12px);
    border-top: 10px solid #009e41;
}

#contents-main #point .point_cm p img{
	width: 270px;
}
/*#contents-main #point .point_shop{
   padding: 20px 64px;
   text-align: center;
}*/

#contents-main #point .point_shop ul{
    display: table;
    width: 570px;
    margin: 15px auto 20px;
}

/*#contents-main #point .point_shop ul{
	display: flex;
	justify-content:space-between
}*/

#contents-main #point .point_shop ul li{
    display: table-cell;
    vertical-align: middle;
}

#contents-main #point .point_shop a{
    position: relative;
	font-weight: bold;
	display: block;
	padding: 20px 0 0 35px;
	margin: 0 auto;
	border-radius: 10px;
	text-decoration: none;
	background-color: #fff;
    width: 270px;
    height: 65px;
    box-sizing: border-box;
}

#contents-main #point .point_shop a span{
    position: absolute;
	top:10px;
	left: 4%;
	width: 65px;
}

#contents-main #point .point_shop a:after{
    font-family: "Font Awesome 5 Free";
    content: "\f0da";
    font-weight: 900;
    display: inline;
    font-size: 22px;
    position: absolute;
    right: 8%;
	color: #009e41;
}

.point-list #contents-main #point .point_shop li:first-of-type a{
	border: 2px solid #009e41;
	padding: 18px 0 0 55px;
}
.point-list #contents-main #point .point_shop li:first-of-type a:after,
.nopoint-list #contents-main #point .point_shop li:last-of-type a:after{
    content: "\f0d7";
    font-size: 54px;
    position: absolute;
    right: 43%;
	bottom: -20px;
}

.point-list #contents-main #point .point_shop li:first-of-type a span,
.nopoint-list #contents-main #point .point_shop li:last-of-type a span{
	left: 8%;
}

.nopoint-list #contents-main #point .point_shop li:last-of-type a{
	border: 2px solid #e72d31;
	padding: 18px 0 0 55px;	
}


#contents-main #point .point_shop li:last-child a:after{
	color: #e72d31;
}


#contents-main .shop_guide_menu ul{
	border-bottom: 2px solid #009e41;
}

#contents-main .shop_guide_menu ul li.current a {
	background: #009e41;
	color:#FFF;
}

.shop_guide_menu ul li a {
}


/*
ポイントカード説明
#point_intro
*/
#contents-main .point_parts{
    text-align: center;
	margin-bottom: 30px;
}

#contents-main #point_intro p{
     font-weight: bold;
	 padding: 10px 0;
	 font-size: 18px;
}

#contents-main #point_intro p:first-child{
     padding:0; 
}

#contents-main #point_intro p span{
     color: #e72d31;
}

#contents-main #point_intro .introduction{
    margin-top: 25px;
}

#contents-main #point_intro .introduction:after,
#contents-main #point_intro .introduction .point_table:after{
    content: " ";
	display: block;
	line-height: 0;
	height: 0;
	visibility: hidden;
	clear: both;	
}

#contents-main #point_intro .introduction .point_table{   
    border-top: 2px solid #d9d9d9;
	border-bottom: none;
}

#contents-main #point_intro .introduction .point_table dt{
	  padding: 20px 30px;
	  float: left;
}


#contents-main #point_intro .introduction .point_table dd{
   width: 66%;
   float: left;
}

#contents-main #point_intro .introduction .point_table dd .table_contents,
#contents-main #point_intro .introduction .point_table dd .table_contents dd{
   float: none;
   width: auto;
}


#contents-main #point_intro .introduction .point_table .table_contents{
     text-align: left;
	 padding: 20px 30px;
}

#contents-main #point_intro .introduction .point_table .table_contents dt,
#contents-main #point_intro .introduction .point_table .table_contents dd{
     display: block;
	 border: none;
}

#contents-main #point_intro .introduction .point_table .table_contents dt{
     color: #009e41;
	 font-weight: bold;
	 font-size: 16px;
	 padding: 0 0 5px;
	 border: none;
	 width: 100%;
}
#contents-main #point_intro .introduction .point_table .table_contents dd a{
     color: #009e41;
	 position: relative;
}
#contents-main #point_intro .introduction .point_table .table_contents dd a:after{
    font-family: "Font Awesome 5 Free";
    content: "\f0da";
    font-weight: 900;
    display: inline;
    font-size: 16px;
    position: absolute;
    right: -10px;
	bottom: -2px;
	color: #009e41;
}




/*
ポイント照会
#point_map
*/
#contents-main #point_map p{
    padding: 24px 0;
}


#contents-main #point_map p span{
    font-weight: bold;
	display: inline-block;
    padding: 5px 0;
}

#contents-main #point_map p.map_img{
    border-top: 1px dashed #d9d9d9;
}

/*
ポイント有効期間
#point_time
*/
#contents-main #point_time p{
    padding: 24px 0;
	text-align: left;
}

/*
個人情報の取り扱い
#point_time
*/
#contents-main #point_privacy p{
    padding: 24px 0;
	text-align: left;
}

#contents-main #point_privacy .privacy_contents{
    overflow: auto;
	height: 200px;
	text-align: center;
	border: 1px solid #d9d9d9;
	margin-bottom: 20px;
	padding: 16px;
	font-size:14px;
}
/*スクロールバーの横幅指定*/
#contents-main #point_privacy .privacy_contents::-webkit-scrollbar {
    width: 10px;
}
/*スクロールバーの背景色・角丸指定*/
#contents-main #point_privacy .privacy_contents::-webkit-scrollbar-track {
 	border-radius: 10px;
	background: #edede8;
}
/*スクロールバーの色・角丸指定*/
#contents-main #point_privacy .privacy_contents::-webkit-scrollbar-thumb {
  	border-radius: 10px;
	background:#b7b7b7;
}


#contents-main #point_privacy .privacy_contents dl{
	text-align: left;
}

#contents-main #point_privacy .privacy_contents dl dt{
    color: #009e41;
	font-weight: bold;
}
#contents-main #point_privacy .privacy_contents dl dd{
    padding-bottom: 15px;
	line-height: 1.5;
}

#contents-main #point_privacy .privacy_contents span{
    background-color: #edede8;
    border-radius: 5px;
	border: none;
	margin: 0 auto 10px;
    padding: 8px 0;
	text-align: center;
	font-weight: bold;
	display: block;
}
#contents-main #point_privacy .privacy_contents dl dd li li{
	padding-left: 30px;
	list-style-position:outside;
}

#contents-main #point_intro .introduction .point_table:nth-child(2) .attention li br{
    display: none;
}


/*
対象ショップ一覧
point-list01.jsp
*/

div#contents-main #corso_point {
	text-align:center;
	margin:10px 24px 30px 0;
}

div#contents-main #corso_point p{
	display: inline-block;
}

div#contents-main #corso_point p.logo img {
	width: 140px;
}

div#contents-main #corso_point p.text{
	width: 360px;
	text-align: left;
	line-height: 30px;
	padding-left: 10px;
	vertical-align: top;
	margin-top: 10px;
}
div#contents-main #corso_point p.text a{
	color:#00823e;
	font-weight: bold;
	text-decoration: none;
}

div#contents-main #corso_point p.text a span{
	text-decoration: underline;
}

div#contents-main #corso_point p.text a span:hover{
	text-decoration: none;
}

div#contents-main #corso_point p.text a::before {
    font-family: "Font Awesome 5 Free";
    content: "\f0da";
    font-weight: 900;
    display: inline;
    padding-right: 4px;
    font-size: 18px;
}

/*
お問い合わせ #card_contact
*/

div#contents-main #card_contact{
	background: #EDEFEF;
	margin-top: 40px;
	border-radius: 10px;
	padding: 20px;
}

div#contents-main #card_contact h3{
	border-bottom: 1px solid #221815;
	padding: 0 0 16px;
	margin: 0 0 20px;
}

div#contents-main #card_contact .contact_list{
	display: table;
}

div#contents-main #card_contact .contact_list > li{
	display: table-cell;
	text-align: center;
	width: 50%;
	border-right: 1px solid #221815;
}

div#contents-main #card_contact .contact_list > li:last-child{
	border-right: none;
}


div#contents-main #card_contact .contact_list dt{
	font-weight: bold;
}

div#contents-main #card_contact .contact_list dd.tel p{
	color:#dc1e64;
	line-height: 1.3em;
	padding: 10px 0 6px;
}

div#contents-main #card_contact .contact_list li dd{
	line-height: 1.5em;
	margin-bottom: 10px;
}


div#contents-main #card_contact .contact_list li dd.tel a{
	background:#fff;
	font-weight: bold;
	font-size: 16px;
	border: 1px solid #221815;
	border-radius: 10px;
	padding: 14px 0 14px 12px;
	min-width: 245px;
	display: inline-block;
	text-decoration: none;
}

div#contents-main #card_contact .contact_list li dd.tel a span{
	font-weight: normal;
	font-size:12px;
}

div#contents-main #card_contact .contact_list li dd.tel a::before {
    font-family: "Font Awesome 5 Free";
    content: "\f095";
    font-weight: 900;
    display: inline;
    padding-right: 4px;
    font-size: 16px;
}


div#contents-main #card_contact .weview_suica{
	background: #fff;
	padding:20px 24px;
	margin-top: 24px;
}

div#contents-main #card_contact .weview_suica dt{
	font-weight: bold;
	font-size: 16px;
	padding-bottom: 6px;
}
div#contents-main #card_contact .weview_suica dd strong{
	color:#dc1e64;
	font-weight: normal;}

ul.attention {
	font-size: 12px;
	padding: 6px 0 0;
}

ul.attention li{
	line-height: 1.5em;
	padding:0 0 4px;
}

ul.attention li:last-child{
	padding: 0;
}

ul.attention li::before{
	content: "※";
}
/*
.sidemenu dt a::after {
	content:"Cordo point card";
}*/

/*--------------------
JREポイントサービスについて body.card_index
--------------------*/

body.card_index #card_info {
	display: table;
}

body.card_index #card_info img{
	width: 285px;
}

body.card_index #card_info li {
	display: table-cell;
	background: #CFEFF9;
	padding: 20px 20px 90px;
	text-align: center;
	position: relative;
	cursor: pointer;
}

body.card_index #card_info li:hover {
	opacity: 0.8;
}


body.card_index #card_info li#jre_card{
	background: #FADEE8;
}

body.card_index #card_info li h3{
	color: #009FE8;
	font-size: 24px;
	padding: 4px 0 12px;
}

body.card_index #card_info li#jrepoint_card h3{
	line-height: 2.1em;
}

body.card_index #card_info li#jre_card h3{
	color: #dc1e64;
}

body.card_index #card_info li#jre_card h3 span {
	font-size: 14px;
}

body.card_index #card_info li .balloon img{
	width: 240px;
}

body.card_index #card_info li .text {
	border-top: 1px dotted #221815;
	margin-top: 12px;
	padding-top: 12px;
	text-align: left;
}
body.card_index #card_info li .text b{
	color: #dc1e64;
	font-weight: bold;
	font-size: 18px;
}


body.card_index #card_info li .button {
	width: 100%;
	position: absolute;
	bottom: 30px;
	left: 0;
}
body.card_index #card_info li .button a {
	background: #efe800;
	padding: 8px 36px 12px;
	display: inline-block;
	border-radius: 100px;
	font-family: Dosis;
	font-weight: 700;
	font-size: 22px;
	text-decoration: none;
	}

body.card_index #card_info li .button a::before {
    font-family: "Font Awesome 5 Free";
    content: "\f0da";
    font-weight: 900;
    display: inline;
    padding-right: 10px;
    font-size: 18px;
}



/*--------------------
JREポイントカードbody.card_jrepoint_card
JREカード共通 body.card_jre_card
--------------------*/
body.card_jre_card #card_main,
body.card_jrepoint_card #card_main{
	background:url(fig_line_jrepoint_card.png) no-repeat top center #CCE9F3;
	border-radius: 10px;
	text-align: center;
	overflow: hidden;
	padding: 0 0 24px;
}

body.card_jre_card #card_main img,
body.card_jrepoint_card #card_main img{
	width: 500px;
}

body.card_jre_card #card_main h2,
body.card_jrepoint_card #card_main h2 {
	border:none;
	background: none;
	font-size: 36px;
	padding: 46px 0 16px;
	color: #009FE8;
}

body.card_jre_card #card_main ul ,
body.card_jrepoint_card #card_main ul {
	display: table;
	width: 260px;
	margin: 14px auto 0;
}

body.card_jre_card #card_main ul li,
body.card_jrepoint_card #card_main ul li{
	display:table-cell;
	width: 110px;
    vertical-align: middle;
}

body.card_jre_card #card_main ul li a,
body.card_jrepoint_card #card_main ul li a{
	background: #efe800;
	width: 100px;
	height: 100px;
	display: inline-block;
border-radius: 100px;
line-height: 1.3em;
font-weight: bold;
box-sizing: border-box;
text-decoration: none;}



body.card_jre_card #card_main ul li a::before,
body.card_jrepoint_card #card_main ul li a::before {
    font-family: "Font Awesome 5 Free";
    content: "\f0d7";
    font-weight: 900;
    display: block;
    padding:10px 0 0;
    font-size: 18px;
}

body.card_jre_card #card_main ul li:first-child a::before,
body.card_jrepoint_card #card_main ul li:first-child a::before{
	/*padding-bottom: 0.5em;*/
}


body.card_jre_card #jrepoint_beenfit,
body.card_jrepoint_card #jrepoint_beenfit{
	border-top:1px solid #221815;
}

body.card_jre_card #jrepoint_beenfit > li,
body.card_jrepoint_card #jrepoint_beenfit > li{
	border-bottom: 1px dotted #221815;
	padding: 12px 10px 24px;
	text-align: left;
}



body.card_jre_card #jrepoint_beenfit li h3,
body.card_jrepoint_card #jrepoint_beenfit li h3{
	font-size: 22px;
	font-weight: bold;
	color: #00823E;
	min-height: 49px;
	  display: flex;
  align-items: center;
	text-align: left;
	padding-left: 74px;
	line-height: 1.3em;
	background: url(fig_jrelogo_s.png) no-repeat left center;
}

body.card_jre_card .moreinfo,
body.card_jrepoint_card .moreinfo{
	text-align: center;
    border-radius: 100px;
    border: 1px solid #221815;
    padding: 8px;
	font-size: 12px;
	width: 85%;
	margin:24px auto;
}

body.card_jre_card .entry,
body.card_jrepoint_card .entry{
	border-radius: 10px;
	background:#FADEE8;
	text-align: center;
	font-weight: bold;
	font-size: 20px;
	color: #dc1e64;
	line-height: 1.4em;
	padding: 16px 0;
}

body.card_jre_card .entry span,
body.card_jrepoint_card .entry span {
	display: block;
	text-align: center;
}


/*--------------------
JREポイントカードbody.card_jrepoint_card
--------------------*/

body.card_jrepoint_card #point{
	text-align: center;
	overflow: hidden;
	width: 90%;
	margin: 20px auto 30px;
}

body.card_jrepoint_card #point li{
	width: 50%;
	float: left;
	margin-bottom: 20px;
}

body.card_jrepoint_card #point li img {
	display: block;
	margin: 0 auto;
}

body.card_jrepoint_card #point li p{
	width: 210px;
	margin: 0 auto;
	font-weight:bold;
}

body.card_jrepoint_card #point li p span {
	font-size: 12px;
}


body.card_jrepoint_card div#contents-main #card_contact .contact_list li.pointcall dd.tel p{
	line-height: 1.3em;
}


/*--------------------
JREカード body.card_jre_card
--------------------*/
body.card_jre_card #card_main{
	background:url(fig_line_jre_card.png) no-repeat top center #FADEE8;
}

body.card_jre_card #card_main h2{
	color: #dc1e64;
    padding-bottom: 0;
	margin-bottom: 10px;
}

body.card_jre_card #card_main h2 span{
	opacity: 1;
	font-size: 12px;
	float: none;
}

body.card_jre_card #point{
	text-align: center;
	overflow: hidden;
	width: 90%;
	margin: 20px auto 30px;
}

body.card_jre_card #point h3{
	font-size: 24px;
	color: #dc1e64;
	padding-bottom: 6px;
}

body.card_jre_card #point h3 strong{
	font-size: 34px;
}

body.card_jre_card #point p{
	color: #dc1e64;
}

body.card_jre_card #point .wpoint{
	margin-top: 24px;
}

body.card_jre_card #jrecard_beenfit {
	border: 8px solid #FADEE8;
	padding: 0px 18px 6px;
	margin-top: 54px;
	border-radius: 20px;
}

body.card_jre_card #jrecard_beenfit h3{
    width: 210px;
    background: #dc1e64;
    padding: 12px 0;
    border-radius: 100px;
    color: #fff;
    margin: -20px auto 0;
	position: relative;
}
body.card_jre_card #jrecard_beenfit h3:before{
    content: "";
    display: inline;
    border: 20px solid transparent;
    border-top-color: #dc1e64;
    position: absolute;
    bottom: -29px;
    left: 39%;}

body.card_jre_card #jrecard_beenfit > ol{
counter-reset:number;
list-style:none;
margin:0;
padding:0;
}
body.card_jre_card #jrecard_beenfit ol > li{
	border-bottom: 1px dotted #221815;
	padding: 24px 0;
}

body.card_jre_card #jrecard_beenfit ol > li:last-child{
	border:none;
}

body.card_jre_card #jrecard_beenfit ol > li:before{
counter-increment: number;
content: counter(number);
	    font-family: Dosis;
    font-weight: 700;
	font-size: 22px;
	display: inline-block;
	float: left;
	background: #efe800;
	border-radius: 100px;
	width: 36px;
	height: 36px;
	margin-right: 10px;
	text-align: center;
	line-height: 34px;
}

body.card_jre_card #jrecard_beenfit ol dl dt{
	color: #dc1e64;
font-weight: bold;
font-size: 18px;
line-height: 1.4em;
    padding-left: 47px;
    letter-spacing: 0.05em;}

body.card_jre_card #jrecard_beenfit ol dl dt span{
font-size: 24px;
background: linear-gradient(transparent 80%, #efe800 20%);}

body.card_jre_card #jrecard_beenfit ol dl dd{
    clear: both;
padding-top: 10px;}

/*--------------------
よくある質問 body.card_faq
--------------------*/

body.card_faq #contents h3{
	border-top:4px solid #EDEFEF;
	border-bottom:4px solid #EDEFEF;
	font-size: 18px;
}

body.card_faq #contents .faq_inner dl{
	padding: 24px 0;
}

body.card_faq #contents .faq_inner dt {
    font-weight: bold;
    font-size: 16px;
    min-height: 36px;
}

body.card_faq #contents .faq_inner dt::before{
    content: "Q";
    font-family: Dosis;
    font-weight: 700;
    font-size: 20px;
    width: 36px;
    height: 36px;
    text-align: center;
    line-height: 36px;
    display: inline-block;
    background: #efe800;
    border-radius: 100px;
    margin-right: 12px;
}

body.card_faq #contents .faq_inner dd{
border: 2px dotted #ccc;
    border-radius: 10px;
    padding: 18px 18px 18px 62px;
    margin: 10px 0 30px;
    position: relative;
    min-height: 25px;
}

body.card_faq #contents .faq_inner:last-child dl dd:last-child{
	margin-bottom: 0;
}

body.card_faq #contents .faq_inner dd::before{
content: "A";
    font-family: Dosis;
    font-weight: 700;
    font-size: 20px;
    width: 36px;
    height: 36px;
    text-align: center;
    line-height: 34px;
    display: inline-block;
    color: #fff;
    background: #dc1e64;
    border-radius: 100px;
    margin-right: 12px;
    position: absolute;
    left: 12px;
    top: 12px;
}

body.card_faq #contents .faq_inner dd dl{
	padding: 0;
	margin: 0 0 12px;
}

body.card_faq #contents .faq_inner dd dt{
	font-size: 14px;
}
	
body.card_faq #contents .faq_inner dd dd{
	background:#EDEFEF;
	border-radius: 5px;
padding: 12px;
margin: 2px 0 0;
border: none;}

body.card_faq #contents .faq_inner dd dl:last-child{
	margin-bottom: 0;
}

body.card_faq #contents .faq_inner dd dt::before,
body.card_faq #contents .faq_inner dd dd::before{
	display: none;
}

/*--------------------
対象ショップ body.point-list
--------------------*/

body.point-list #contents-main #point .point_inner,
body.nopoint-list #contents-main #point .point_inner{
	padding: 0 0 20px;
}

body.point-list #contents-main #corso_point #corso_point_inner{
    border: 2px solid #fff;
    border-radius: 10px;
	padding: 30px;
}

body.point-list #corso_point ul{
	overflow: hidden;
	margin-top: 20px;
}

body.point-list #corso_point ul li{
	float: left;
	margin-right: 20px;
	position: relative;
}

body.point-list #corso_point ul li:last-child{
	margin:0;
}

body.point-list #corso_point ul li a{
    display: block;
    width: 217px;
    height: 65px;
    line-height: 65px;
    font-weight: bold;
    font-size: 16px;
    text-decoration: none;
    color: #009FE8;
    background: #CCE9F3;
    text-align: center;
    padding-left: 54px;
}

body.point-list #corso_point ul li a:before{
    content: "";
    width: 48px;
    height: 30px;
    background: url(fig_jrepoint_card_s.png) no-repeat;
    background-size: contain;
    display: inline-flex;
    margin-top: 17px;
    margin-left: -56px;
    position: absolute;
}

body.point-list #corso_point ul li a::after {
    content: "";
    bottom: 0;
    right: 0;
    border-top: 20px solid transparent;
    border-right: 20px solid #009FE8;
    position: absolute;
    z-index: 100;
}

body.point-list #corso_point ul li.jre_card a{
	background: #FADEE8;
	color:#dc1e64;}

/* IE対策STRAT */

@media all and (-ms-high-contrast: none){
	
body.point-list #corso_point ul li a:before{
	margin-left: -20px;
	}
	
body.point-list #corso_point ul li.jre_card a:before{
	margin-left: 20px;
	}
	
body.point-list #corso_point ul li.jre_card a{
	padding-left: 20px;
	width: 250px;}
}

body.point-list #corso_point ul li a:before{
	margin-left: -20px\9;/*IE*/
	}
	
body.point-list #corso_point ul li.jre_card a:before{
	margin-left: 20px\9;/*IE*/
	}
	
body.point-list #corso_point ul li.jre_card a{
	padding-left: 20px\9;/*IE*/
	width: 250px\9;/*IE*/}



/* IE対策END */






body.point-list #contents-main .shoplistbox,
body.nopoint-list #contents-main .shoplistbox{
	border:1px solid #009d41;
	border-radius: 4px;
	margin-top: 30px;
}
body.nopoint-list #contents-main .shoplistbox{
	border:1px solid #e72d31;	
}

body.point-list #contents-main p.catch{
	font-weight: bold;
	text-align: center;
}

body.point-list #contents-main .shoplistbox h5,
body.nopoint-list #contents-main .shoplistbox h5{
	background: #009d41;
	color:#FFF;
	font-size: 16px;
	font-weight: bold;
	padding: 10px;
	text-align: center;
}
body.nopoint-list #contents-main .shoplistbox h5{
	background: #e72d31;	
}

body.point-list #contents-main .shoplistbox .table_box,
body.nopoint-list #contents-main .shoplistbox .table_box{
	padding: 20px;
}
body.point-list #contents-main .shoplistbox .table01 th,
body.point-list #contents-main .shoplistbox .table01 td,
body.nopoint-list #contents-main .shoplistbox .table01 th,
body.nopoint-list #contents-main .shoplistbox .table01 td{
	border-top:0;
	padding: 10px;
}
body.point-list #contents-main .shoplistbox .table01 .name,
body.nopoint-list #contents-main .shoplistbox .table01 .name{
	width: 350px;
	text-align: left;
}
body.point-list #contents-main .shoplistbox .table01 .name a{
	display: block;
}
body.nopoint-list #contents-main .shoplistbox .table01 .name a{
}
body.point-list #contents-main .shoplistbox .table01 .name span,
body.nopoint-list #contents-main .shoplistbox .table01 .name span{
	font-size: 14px;
	font-weight: normal;
}
body.point-list #contents-main .shoplistbox .table01 .generic{
	text-align: center;
}
body.point-list #contents-main .shoplistbox .table01 tr:last-child th,
body.point-list #contents-main .shoplistbox .table01 tr:last-child td,
body.nopoint-list #contents-main .shoplistbox .table01 tr:last-child th,
body.nopoint-list #contents-main .shoplistbox .table01 tr:last-child td{
	border-bottom:0;
}



/*IE対策*/
@media all and (-ms-high-contrast:none){
	body.point-list #contents-main .point_table td{
	float:none\0;/*IE*/
}
}

body.point-list #contents-main .point_table tr.shop{
	border: 1px solid #ccc;
    width: 100%;
    margin: 10px auto;
    display: block;
    padding: 0 10px 0 15px;
    box-sizing: border-box;
	background: -webkit-linear-gradient(90deg, #00823E 10px, #fff 10px);
    background: linear-gradient(90deg, #00823E 10px, #fff 10px);
}


body.point-list #contents-main .point_table td.name{
	font-weight: bold;
	font-size: 16px;
}

body.point-list #contents-main .point_table td.generic3{
	border: none;
	background: url(fig_jrelogo_s.png) no-repeat 10px center;
    background-size: 28px auto;
    padding-left: 44px;
    line-height: 1.3em;
}

body.point-list #contents-main .point_table td.generic3:before{
	display: none;
}

body.point-list #contents-main .point_table td.name span.floor {
	font-size:12px;
	font-weight: normal;

}


body.point-list #contents-main .point_table td:last-child{
	border-bottom: none;
}



/*
----------------
スマホ 
----------------
*/

body.sp #contents .inner,
body.sp #contents .inner #contents-main{
	padding: 0;
}
body.sp .inner #contents-main ul.attention {
    font-size: 90%;
}


body.sp .inner #contents-main .point_parts{
   margin-bottom: 24px;
}

body.sp .inner #contents-main #point{
    border-radius: 0;
	padding: 5px 0;
	margin: 0 auto 24px
}

body.sp .inner #contents-main #point .point_inner{
    border-radius: 0;
	border-right: 0;
	border-left: 0;
}

body.sp .inner #contents-main #point .point_cm{
    background-size: contain;
	padding: 15px 0 50px;
}

body.sp .inner #contents-main #point .point_cm h4{
   font-size: 110%;
   padding: 7px 7%;
   width: inherit;
}

body.sp .inner #contents-main #point .point_cm p{
    width: 56%;
	box-sizing: border-box;
	margin: 0 auto;
}

body.sp .inner #contents-main #point .point_shop ul{
	width: 95%;
    table-layout: fixed;
}

body.sp .inner #contents-main #point .point_shop ul li{
    
    width: calc(100%/2);
}

body.sp .inner #contents-main #point .point_shop a{
    padding: 42px 0 30px;
	font-size: 14px;
    box-sizing: border-box;
	width: 96%;
}

body.sp .inner #contents-main #point .point_shop a span{
    top: 6px;
    left: 30%;
	width: 36%;
}

body.sp .inner #contents-main #point .point_shop ul li a{
    font-size: 12px;
}

body.sp .inner #contents-main #point .point_shop a:after{
    right: 4%;
    bottom: 3px;
}

body.sp .inner #contents-main .guide_inner{
    padding: 0 16px;
    box-sizing: border-box;
}

body.sp .inner #contents-main #point_intro p{
    padding: 0 0 5px;
	font-size: 16px;
}

body.sp .inner #contents-main #point_intro p:first-child{
    width: 90%;
	margin: 0 auto;
}
body.sp .inner #contents-main #point_intro p span {
	display: block;
}

body.sp .inner #contents-main #point_intro .introduction .point_table{
     font-size: 90%; 
}

body.sp .inner #contents-main #point_intro .introduction .point_table dt{
	  padding: 20px 30px;
	  float: none;
}


body.sp .inner #contents-main #point_intro .introduction .point_table dd{
   width: 100%;
   float: none;
   line-height: 150%;
}


body.sp .inner #contents-main #point_intro .introduction .point_table .table_contents{
     text-align: left;
	 padding: 0 0 20px;
}


body.sp .inner #contents-main #point_intro .introduction .point_table .table_contents dt{
	 padding: 0 0 5px; 
}

body.sp .inner #contents-main #point_intro .introduction .point_table:nth-child(2) .attention li br{
    display:inherit;
}

body.sp .inner #contents-main #point_intro .introduction .point_table:nth-child(3) .attention li br{
    display: none;
}

body.sp .inner #contents-main #point_map p,
body.sp .inner #contents-main #point_time p,
body.sp .inner #contents-main #point_privacy p{
    font-size: 90%;
}

body.sp .inner #contents-main #point_map p span{
    font-size: 16px;
}

body.sp .inner #contents-main #point_time p br{
    display: none;
}

body.sp .inner #contents-main #point_privacy .privacy_contents span{
    padding: 5px 15px;
	line-height: 1.5;
}







body.sp div#contents-main #corso_point{
	margin: 0;
}

body.sp div#contents-main #corso_point p.text{
	width: 100%;
	padding: 0;
}

body.sp div#contents-main #corso_point .logo img {
	width: 100px;
}

body.sp div#contents-main #card_contact .contact_list li{
	width: 100%;
	display: block;
	border: none;
	padding: 0 0 12px;
	margin:0 0 12px;
	border-bottom: 1px dotted #221815;
}

body.sp div#contents-main #card_contact .contact_list li:last-child{
	margin:0;
	padding: 0;
	border: none;
}


/*--------------------
JREポイントサービスについて body.card_index.sp
--------------------*/

body.card_index.sp #card_info li{
	width: 100%;
	padding-top: 30px;
	display: block;
	box-sizing: border-box;
}

body.card_index.sp #card_info{
	margin-top:20px;
}

body.card_index.sp #card_info li p.balloon img{
	width: auto;
	height: 36px;
}

body.card_index.sp #card_info li#jrepoint_card h3 {
    line-height: 1.3em;
}

body.card_index.sp #card_info li p img {
	width: 70%;
}

body.card_index.sp #card_info li .text{
	border: none;
	padding-top: 0;
}



/*--------------------
JREポイントカードbody.card_jrepoint_card.sp
JREカード共通 body.card_jre_card.sp
--------------------*/

body.card_jre_card.sp #card_main,
body.card_jrepoint_card.sp #card_main{
	background-size:100% auto;
}

body.card_jre_card.sp #contents-main img,
body.card_jrepoint_card.sp #contents-main img{
	width: 96%;
}

body.card_jre_card.sp #card_main h2,
body.card_jrepoint_card.sp #card_main h2{
	font-size: 26px;
	padding-top: 30px;
}

body.card_jre_card.sp #card_main ul,
body.card_jrepoint_card.sp #card_main ul{
    width: 70%;
    table-layout: fixed;
}

body.card_jre_card.sp #card_main ul li,
body.card_jrepoint_card.sp #card_main ul li{
	width: auto;
}

body.card_jre_card.sp #card_main ul li a,
body.card_jrepoint_card.sp #card_main ul li a{
    width: 90px;
    height: 90px;
    font-size: 12px;
}


body.card_jre_card.sp #card_main ul li:first-child a::before,
body.card_jrepoint_card.sp #card_main ul li:first-child a::before{
	/*padding-bottom: 0.5em;*/
}

body.card_jre_card.sp #point,
body.card_jrepoint_card.sp #point{
	width: 100%;
}



body.card_jre_card.sp #point img.wpoint,
body.card_jrepoint_card.sp #point img.wpoint{
	width: 60%;
}


body.card_jre_card.sp #jrepoint_beenfit li h3,
body.card_jrepoint_card.sp #jrepoint_beenfit li h3{
	font-size: 16px;
	background-size: 30px auto;
	padding-left: 40px;
	min-height: 25px;
}

body.card_jre_card.sp .moreinfo,
body.card_jrepoint_card.sp .moreinfo{
	border:none;
	padding: 0
}

body.card_jre_card.sp .entry,
body.card_jrepoint_card.sp .entry{
	font-size: 16px;
	padding: 16px;
	text-align: left;
}

body.card_jre_card.sp .entry span,
body.card_jrepoint_card.sp .entry span{
	display: inline;
}


/*--------------------
JREポイントカードbody.card_jrepoint_card.sp
--------------------*/
body.card_jrepoint_card.sp #point img{
width: 90%;
    margin: 0;}

body.card_jrepoint_card.sp #point li p{
    width: 90%;
    text-align: left;
    line-height: 1.4em;
    padding-top: 5px;
	font-weight: normal;
}

/*--------------------
JREカード body.card_jre_card.sp
--------------------*/

body.card_jre_card.sp #point h3{
	font-size: 16px;
	padding: 0 0 10px;
}

body.card_jre_card.sp #point h3 strong{
	display: block;
	text-align: center;
	font-size: 24px;
}

body.card_jre_card.sp #point img{
	width: 80%;
}

body.card_jre_card.sp #point .attention{
	text-align: left;
}

body.card_jre_card.sp #jrecard_beenfit{
	    border: 5px solid #FADEE8;
}

body.card_jre_card.sp #jrecard_beenfit h3{
	padding: 8px 0 10px;
}

body.card_jre_card.sp #jrecard_beenfit ol > li:before{
	width: 26px;
	height: 26px;
	font-size: 14px;
	line-height: 25px;
}



body.card_jre_card.sp #jrecard_beenfit ol dl dt{
	    padding-left: 36px;
	font-size: 14px;
}

body.card_jre_card.sp #jrecard_beenfit ol dl dt span {
	font-size: 22px;
}


/*--------------------
よくある質問 body.card_faq.sp
--------------------*/

body.card_faq.sp #contents h3{
	font-size: 16px;
}

body.card_faq.sp #contents .faq_inner dt{
	position: relative;
	padding: 5px 0 0 46px;
	font-size: 14px;
	}

body.card_faq.sp #contents .faq_inner dt::before{
    position: absolute;
    left: 0;
	top: 0;
}

body.card_faq.sp #contents .faq_inner dd dt{
	padding: 0;
	min-height: auto;
}

/*--------------------
JREポイント対象ショップ body.point-list.sp
--------------------*/

body.point-list.sp div#contents-main #corso_point{
	padding: 24px;
}

body.point-list.sp #corso_point ul li{
	width: 50%;
	margin: 0;
}

body.point-list.sp #corso_point ul li a{
	width: 100%;
	text-align: center;
	padding: 38px 0 0;
	background: url(fig_jrepoint_card_s.png) no-repeat center 20px #CCE9F3;
	background-size:auto 35px;
	font-size: 12px;
	height: 55px;
}
body.point-list.sp #corso_point ul li.jre_card a{
	background: url(fig_jre_card_s.png) no-repeat center 20px #FADEE8;
	background-size:auto 35px;
}


body.point-list.sp #corso_point ul li a:before{
	display: none;
}


body.point-list.sp #contents-main .shop_guide_menu ul{
	padding: 0;
	margin:30px 0 0; 
}

body.point-list.sp #contents-main .shop_guide_menu ul li{
	font-size: 12px;
}

body.point-list.sp #contents-main .shop_guide_menu ul li a{
	padding-top: 12px;
	height: 54px;
	margin-top: 15px;
}

body.point-list.sp #contents-main .shop_guide_menu ul li.current a{
	height: 69px;
    padding-top: 14px;
	margin-top: 0;
}
body.point-list.sp #contents-main .shop_guide_menu ul li,
body.point-list.sp #contents-main .shop_guide_menu ul,
body.point-list.sp #contents-main .shop_guide_menu ul li.current a::after{
	height: 69px;
}

body.point-list.sp #contents-main p.catch{
	text-align: left;
	font-size: 14px;
	padding-top: 20px;
}

body.point-list.sp #contents-main .point_table td{
	font-size: 14px;
	    padding: 8px;
}

body.point-list.sp #contents-main .point_table td.generic3{
	padding: 8px 8px 8px 45px;
}

body.point-list.sp #contents-main .point_table tr.shop{
	margin:10px 0;
}

body.point-list.sp #contents-main .shoplistbox .table_box,
body.nopoint-list.sp #contents-main .shoplistbox .table_box{
	padding: 10px;
}

body.point-list.sp #contents-main #point .point_shop li:first-of-type a::after,
body.nopoint-list.sp #contents-main #point .point_shop li:last-of-type a::after{
	right: 40%;
	bottom: -20px;
}

body.point-list.sp #contents-main .shoplistbox .table01 .name,
body.nopoint-list.sp #contents-main .shoplistbox .table01 .name{
	width: 50%;
}
body.point-list.sp #contents-main .shoplistbox .table01 .generic{
	font-size: 90%;
}

@media screen and (max-width:320px){
	body.point-list.sp #contents-main .shoplistbox .table01 .name,
	body.nopoint-list.sp #contents-main .shoplistbox .table01 .name{
		width: 60%;
	}
	body.point-list.sp #contents-main .shoplistbox .table01 .generic{
		font-size: 80%;
		line-height: 130%;
	}
}


