@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Montserrat:100,200,300,400,500,600,700,800,900');

body { 
	line-height: 1.6;
	padding-top: initial !important;
}

ul,li,ol { list-style: none;}

section { max-width: 769px;
    margin: 0 auto;
background-color: #ffffff !important;}

main img {
    display: block;
    margin: auto;
    width: 100%;}

.red {color: #cc0033;text-decoration: underline;}

.sp{display: none;}

.w688 {
    width: 90%;
    margin: 0 auto;}

.anotation_txt01{
	font-size: 15px;
	max-width: 90%;
	margin: 0 auto;
    text-align: center;}
.anotation_txt02{
	font-size: 15px;
	max-width: 90%;
	margin: 0 auto;
    text-align: left;}



.mt10{margin-top: 10px}
.pb{padding-bottom: 30px;}
.hr_1{margin: 30px 0 10px; height: 2px;}


/* KV下 */
.heading {
	margin: 0 auto;
	padding: 25px 0 25px 15px;}
.heading div{
	text-align:left;
	text-indent: -1em;
	font-size: 15px;}
.heading_txt{
	margin: 0 auto;
	max-width: 80%;}
/* KV下 end */


/* CP */
.cpmain{
	background-color: #ffebff;
	padding-bottom: 35px;}
.cpmain_2{
	background-color: #ffffff;
	padding-bottom: 25px;}
.cpmain_3{
	background-color: #ffebff;
	padding-bottom: 35px;
	margin-bottom: 25px;}
.cpimg,.cpimg03,.cpimg05{
	max-width: 90%;
	margin: 0 auto;}
.cpimg02{
	max-width: 80%;
	margin: 0 auto;}
.cpimg06,.Table{
	max-width: 100%;
	margin: 0 auto;}
.cpimg04{
	max-width: 80%;
	margin: 0 auto;}
.cpimg{padding: 30px 0;}
.cpimg02{padding: 30px 0;}
.cpimg03{padding: 10px 0 0;}
.cpimg04{padding: 40px 0 30px;}
.cpimg05{padding: 10px 0;}

.textli1em {
    padding-left: 1em !important;
    text-indent: -1em !important;}
.txt_01{text-align: center;}
.cp_txtimg{width: 70%;margin: 0 auto;}
/* CP end */


/* faq */
.con_inner {
    max-width: 100%;
    margin: 0 auto;
    padding: 20px 20px 0;
background-color: #f7f7f7;}
.questionList {
	border: 4px solid #3d3d3d;
	border-radius: 10px;padding:5px 20px}
.question_ttl{
	font-size: 35px;
	text-align: center;
	color: #3d3d3d;
	font-family:"Montserrat",sans-serif;
	font-weight: 900;
	margin-bottom: 15px;
}
.m-faq {border: none!important;}
.m-faq-q {
	padding-top: 20px;
    padding-right: 30px;
    padding-bottom: 20px; }
.m-faq-q__title {font-weight: bold;}
.faq_a__title {color: #3d3d3d;}
.faq_a__title::before {top: calc(20% - 17px);}
.faq_a__figure{
	width: 40%;
	margin: auto;
}
.cp_txt{
	font-weight: bold;
	font-size: 17px;
color: #3d3d3d;
padding: 15px 20px 30px;}
.info_txt {font-size: 16px;}
/* faq end */


/* キャンペーン概要 */
.description{padding: 0 3%;}
.description h3{
	font-size: 18px;
    padding: 0;
    margin: 1.3em auto 0.2em;
    color: #cc0033;
	font-weight: bold;
	line-height: 24px;}
.description p{
	padding: 0;
    font-size: 14px;
	color: #3d3d3d;}
/* キャンペーン概要 end */


/* btn */
div#fixedNav{
	display:block;
	position: fixed;
	bottom: 0;
	z-index: 30;
	width: 100%;}
.bgc-g{
	background-color: #f7f7f7 !important;
	padding: 25px 0 10px;}
.entry_float_btn{
    display: inline-block;
    width: 100%;}
.entryBtn{
	text-align: center;}
.entryBtn div a img {
			width: 60%;
			vertical-align: top;
	margin-bottom: 10px;}
.entryBtn div a:hover,
.entryBtn div a:active{
	opacity: 0.9;
	filter: alpha(opacity=90);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";}

.info_img_wrap a {
    display: block;
    margin: 0 auto;
}

.info_img_wrap .optconfm {display: none;}
.checkmark {width: 3.466666vw;height: 3.466666vw;max-width: 18px;max-height: 18px;vertical-align: middle;display: inline-block;border:1px solid #cc0033;box-sizing: border-box;border-radius: 5px;}
.info_img_wrap input:checked ~ label .checkmark {background: url(../images/icon_checked.png) center/cover;}
.entry.not_checked {pointer-events: none!important;filter: grayscale(.4);}
.entry .on {display: block;}
.entry .off {display: none;}
.entry.not_checked .on {display: none;}
.entry.not_checked .off {display: block;}
/* btn end */

/*見出し20231011修正*/
.txt_h2{
	background-color: #cc0033;
	padding: 0;
	text-align: center;
	font-size: 38px;
	color: #fff;
	font-weight: 900;
	padding-top: 3px;
	font-family:"Montserrat",sans-serif;
}

/*ランクバナー*/
.rnk_bnr01{padding-bottom: 35px;}


/*--------------------*/
/* SP
/*--------------------*/
@media only screen and (max-width: 768px){
 
section { max-width: 100%;}

img {max-width: 100%;}
	
.sp{display: block;}

.w688 {
	max-width: 90% !important;
    margin: 0 auto;}
	
.anotation_txt01{
	font-size: 14px;
	max-width: 90%;
	margin: 0 auto;}
.anotation_txt02{
	font-size: 10px;
	max-width: 95%;
	margin: 0 auto;
    text-align: left;}
	
.pb{padding-bottom: 20px;}
.hr_1{margin: 20px 0 10px;height: 0px;}




/* KV下 */
.heading {
	padding: 20px 0 0 15px;
	display: flex;}
.heading div{
	margin: 0 auto;}
.heading p{
	text-align:left;
	text-indent: -1em;
	font-size: 15px;}
.heading_txt{
	margin: 0 auto;
	max-width: 80%;
	padding-bottom: 20px;}
/* KV下 end */


/* CP */
.cpmain{
	background-color: #ffebff;
	padding-bottom: 25px;}
.cptitle{
	max-width: 100%;}
.cpimg,.cpimg03,.cpimg05,.Table{
	max-width: 95%;
	margin: 0 auto;}
.cpimg{	padding: 20px 0 15px;}
.cpimg02{padding: 10px 0 25px;}
.cpimg03{padding: 0 0 15px;}
.cpimg04{
	max-width: 90%;
	margin: 0 auto;
	padding: 0 0 10px;}
.cpimg05{padding: 10px 0 5px;}
.txt_01{text-align: left;}
.cp_txtimg{width: 93%;margin: 0 auto;}

/* CP end */


/* faq */
.con_inner {
    max-width: 100%;
    margin: 0 auto;
    padding: 0 20px;
	background-color: #f7f7f7;}
.questionList {padding: 20px;}
.questionList {
	border: 2px solid #3d3d3d;
	border-radius: 10px;
	padding: 1vw;}
	.question_ttl{
		font-size: 5vw;
		margin-bottom: 10px;
		padding-top: 10px;
	}
.faq_a__figure{
	width: 80%;
	margin: auto;
}
.m-faq-q {
	padding-top: 10px;
    padding-right: 30px;
    padding-bottom: 10px; }
/* faq end */

/* キャンペーンコード */
.cp_txt{
	font-weight: bold;
	font-size: 14px;
	padding: 15px 20px}
/* キャンペーンコード end */


/* キャンペーン概要 */
.description{padding: 0 4%;}
.description h3{
	font-size: 15px;
    padding: 0;
    margin: 1.3em auto 0.2em;
    color: #cc0033;
	font-weight: bold;
	line-height: 20px;}
.description p{
	padding: 0;
    font-size: 13px;
	color: #3d3d3d;}
/* キャンペーン概要 end */


/* btn */
div#fixedNav{
	display:block;
	position: fixed;
	bottom: 0;
	z-index: 46;
	width: 100%;
	background-color: #f7f7f7;}
.entryBtn {
	margin: 10px 14px 8px;
	text-align: center;}
.bgc-g{
	background-color: #f7f7f7 !important;
	padding: 10px 0;}
		
section#pointget .entryBtn {
			margin-bottom: 0;}
.entryBtn div a img {
	width: 80%;
	vertical-align: top;
	margin-bottom: 10px;}
.entryBtn div a:hover,
.entryBtn div a:active {
	opacity: 0.9;
	filter: alpha(opacity=90);
			-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";}
.info_txt {font-size: 14px;}
/* btn end */

/*見出し20231011修正*/
.txt_h2{
	font-size: 23px;padding-top: 0;}

/*ランクバナー*/
.rnk_bnr01{padding-bottom: 25px;}
	

.dh-accordion2 .accordion-item .accordion-heading .accordion-heading-button .heading-title {
	font-size: 1.4rem;line-height: 2.0rem;
	}
.dh-accordion2 .accordion-item .accordion-panel .accordion-panel-inner {
	font-size: 1.4rem;line-height: 2.0rem;
	}

}
@media only screen and (max-width: 410px){
.info_txt {font-size: 12px;}
	.anotation_txt01{font-size: 10px;}
	.heading {padding: 15px 0 0 15px;}
	.heading p {font-size: 10px;}
	.heading_txt{max-width: 90%; padding-bottom: 15px}
	.cpimg02{padding: 10px 0 15px;}
	.cp_txt {font-size: 12px;}
	.m-faq-q__title,.faq_a__title{font-size: 1.3rem;}
	}

/*アプリ誘導*/
.app_txt{max-width: 100%;}
.txt_h3{
	background-color: #333333;
	text-align: center;
	font-size: 20px;
	color: #fff;
	font-weight: 600;
	padding: 5px;
}

.txt_h3 a{color: #fff000;text-decoration: underline;}

@media only screen and (max-width: 410px){
	.txt_h3{
	font-size: 13px;
	font-weight: 600;
	padding: 5px;}
	.app_txt{}
}
@media only screen and (min-width: 768px){
	.dh-mainContents{
		width: initial !important;
	}
}

@media only screen and (max-width: 767px){
	bady{padding-top:initial !important;}
	
}

.dh-accordion2 .accordion-item .accordion-heading .accordion-heading-button .heading-title {font-weight: bold;}
.dh-accordion2 .accordion-item .accordion-panel .accordion-panel-inner {font-weight: bold;}
.faq_a__text{	padding-top: 20px;}