/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');

.flame{
/*border:solid 4px #003f7d;	*/
}
.flameContent{
border:solid 4px #003f7d;	
}
ul.appBox li span.heading{
background-color:#21aee4;	
}
.flameHead{
background-color:#003f7d;
}

html { 
overflow-y:scroll;
}

.clear{
clear: both;
}
#contents a:hover img{
opacity:0.7;
filter: alpha(opacity=70);
-ms-filter: "alpha( opacity=70 )";
background: #fff;
}

.pc{ display:block; }
.sp{ display:none; }
@media only screen and (max-width: 640px) {
.pc{ display:none; }
.sp{ display:block; }	
}
/*
.pc{ display:block; }
.tab{ display:none; }
.sp{ display:none; }
@media only screen and (max-width: 767px) {
.pc{ display:none; }
.tab{ display:block; }
.sp{ display:none; }
}
@media only screen and (max-width: 540px) {
.pc{ display:none; }
.tab{ display:none; }
.sp{ display:block; }	
}

*/


a:link,
a:visited{
color: #005fc3;
text-decoration: none;
}

a:hover{
color: #6296ca;
text-decoration: none;
font-weight: normal;
}



body{
text-align:left;
/*background-image: url(/contents/campaign/img/1807/page_bg_02.png);
background-position: center;
background-repeat: repeat-y;*/
font-family:"ＭＳ Ｐゴシック","MS PGothic",verdana,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,Sans-Serif;
color: #333; 
}
@media only screen and (max-width: 767px) {
body{
width:100%;
background:none;
}
}
#contents img{
width: 100%;
margin: 0 auto;
max-width: 960px;
text-align:center;
}
@media only screen and (max-width: 767px) {
#contents img{
width: 100%;
margin: 0 auto;
max-width: 960px;
height:auto;
}	
}

/*ヘッダー*/
@media only screen and (min-width: 768px) {
#head {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-justify-content: space-between;
-ms-justify-content: space-between;
justify-content: space-between;
width: 100%;
max-width: 960px;
margin: 30px auto;
padding:0px 10px;
box-sizing: border-box;
}
}
@media only screen and (max-width: 767px) {
#head {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-justify-content: space-between;
-ms-justify-content: space-between;
justify-content: space-between;
align-items: flex-end;
width: 100%;
padding: 10px;
box-sizing: border-box;
}
#head .logo img{
width: 170px;
}
#head .back img{
width: 130px;
}
}
@media only screen and (max-width: 540px) {
#head .logo img{
width: 150px;
}
#head .back img{
width: 115px;
}
}


/*カード会員限定*/
#komeri_aqua{
background-color:#FFFFFF;
color:#000;
font-size:1.8em;
font-weight:bold;
padding:10px 0;
margin:0;
padding-left:2.0em;
text-align:left;
position:relative;
}
@media only screen and (max-width: 767px) {
#komeri_aqua{
font-size:3.8vw;
text-align:left;
padding-left:1.0em;
padding-bottom:5px;
}
}
#komeri_aqua span{
text-align:center;
background: #000;
color: #fff;
padding: 2px 0;
display: block;
width: 5.0em;
position: absolute;
top: 7px;
right: 2%;
}
@media only screen and (max-width: 767px) {
#komeri_aqua span{
font-size:0.8em;
}
}


/*コンテンツ*/
#contents{
max-width:960px;
margin:0 auto;
padding-bottom:10px;
/*background-color:#d4e8f1;*/
clear:both;
}
@media only screen and (max-width: 767px) {
#contents{
width: 100%;
margin: 0 auto;
max-width: 960px;
}	
}
#contents .mainImage{
margin:0px 0 20px;	
}
#wrapper{
width: 100%;
max-width: 920px;
margin:0 auto 16px;
overflow:hidden;
padding:0 20px;
box-sizing:border-box;
}
@media only screen and (max-width: 767px) {
#wrapper{
width:92%;
margin:0 4%;
padding:0;
}	
}
.flame{
border-radius:12px;
-webkit-border-radius:12px;
-moz-border-radius:12px;
box-sizing: border-box;
background-color:#fff;
margin:0 auto 20px;
overflow:hidden;
width:100%;
padding:20px;
box-sizing:border-box;
}
@media only screen and (max-width: 767px) {
.flame{
width:100%;
padding:20px;
}
}
@media only screen and (max-width: 540px) {
.flame{
padding:10px;
}
}
.flame2{
background-color:#fff;
border:solid 4px #008f4a;
}


.flameHead{
border-top-left-radius:12px;
-webkit-border-top-left-radius:12px;
-moz-border-top-left-radius:12px;
border-top-right-radius:12px;
-webkit-border-top-right-radius:12px;
-moz-border-top-right-radius:12px;
box-sizing: border-box;
color:#fff;
font-size:1.6em;
font-weight:bold;
text-align:center;
padding:8px 8px 0;
}
@media only screen and (max-width: 767px) {
.flameHead{
font-size:1.1em;
}	
}
.flameContent{
border-bottom-left-radius:12px;
-webkit-border-bottom-left-radius:12px;
-moz-border-bottom-left-radius:12px;
border-bottom-right-radius:12px;
-webkit-border-bottom-right-radius:12px;
-moz-border-bottom-right-radius:12px;
box-sizing: border-box;
background-color:#fff;
width:100%;
margin:0 auto 20px;
overflow:hidden;
}

div.image{
text-align:center;
}

.caSuper_midashi {
font-size: 30px;
font-family: 'Noto Sans JP', sans-serif; 
font-weight: bold;
margin: 50px 20px 20px;
padding: 10px 20px;
background-color: #dcdddd;
line-height: 1.0;
}

.caSuper_txt {
font-size: 25px;
font-family: 'Noto Sans JP', sans-serif;  
font-weight: bold;
margin: 0 20px;
padding: 0 20px;
line-height: 1.8;
letter-spacing: 3px;
}

.period {
font-size: 30px;
}

ul.caSuper_list {
margin: 0 50px;
padding: 0 0 0 15px;
letter-spacing: 2px;
}

ul.caSuper_list li {
font-size: 20px;
font-family: 'Noto Sans JP', sans-serif; 
font-weight: bold;
background: none;
list-style-type: disc;
line-height: 1.4;
padding-left: 0;
margin-bottom: 10px;
}

.modal_wrap input {
display: none;
} 
.modal_overlay {
display: flex;
justify-content: center;
overflow: auto;
position: fixed;
top: 0;
left: 0;
z-index: 9999;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.7);
opacity: 0;
transition: opacity 0.5s, transform 0s 0.5s;
transform: scale(0);
} 
.modal_trigger {
position: absolute;
width: 100%;
height: 100%;
} 
.modal_content {
align-self: center;
width: 60%;
max-width: 800px;
padding: 30px 30px 15px;
box-sizing: border-box;
background: #fff;
line-height: 1.4em;
transform: scale(1.2);
transition: 0.5s;
}
.open_button {
cursor: pointer;
} 
.modal_wrap input:checked ~ .modal_overlay {
opacity: 1;
transform: scale(1);
transition: opacity 0.5s;
} 
.modal_wrap input:checked ~ .modal_overlay .modal_content {
transform: scale(1);
} 
.modal_content {
align-self: center;
width: 60%;
max-width: 800px;
padding: 30px 30px 15px;
box-sizing: border-box;
background: #fff;
line-height: 1.4em;
transform: scale(1.2);
transition: 0.5s;
} 
.close_button {
position: absolute;
top: 14px;
right: 16px;
font-size: 24px;
cursor: pointer;
}

@media only screen and (max-width: 767px) {
.caSuper_midashi {
font-size: 16px;
margin: 20px 0 10px;
padding: 10px 10px;
}
 
.caSuper_txt {
font-size: 14px;
margin: 0;
padding: 0 8px;
line-height: 1.5;
letter-spacing: 0;
}

.period {
font-size: 18px;
}
 
ul.caSuper_list {
margin: 0 10px 0 15px;
padding: 0 12px;
letter-spacing: 0;
}
 
ul.caSuper_list li {
font-size: 14px;
font-weight: bold;
background: none;
list-style-type: disc;
line-height: 1.4;
padding-left: 0;
margin-bottom: 6px;
} 
 
.modal_content {
align-self: center;
width: 80%;
max-width: 800px;
padding: 30px 30px 15px;
box-sizing: border-box;
background: #fff;
line-height: 1.4em;
transform: scale(1.2);
transition: 0.5s;
} 
} 


/*アプリ誘導*/
.sentence{
padding:32px 18px 5px;
overflow:hidden;
}
@media only screen and (max-width: 540px) {
.sentence{
padding:10px 2% 0;
}	
}
.catch1{
width:33%;
float:left;
margin-left:1%;
font-weight:bold;
}
@media only screen and (max-width: 540px) {
.catch1{
width:100%;
float:none;
}	
}
.catch1 span.catch1-1{
font-size:1.8em;
line-height:1.2em;
}
@media only screen and (max-width: 767px) {
.catch1 span.catch1-1{
font-size:3vw;
}
}
@media only screen and (max-width: 540px) {
.catch1 span.catch1-1{
display:block;
font-size:4.2vw;
text-align:center;
margin-bottom:10px;
}
.catch1 span.catch1-1 br{
display:none;
}
}
.catch1 span.catch1-1 span{
margin-left:-0.5em;
line-height:1.2em;
}
.catch2{
width:65%;
float:right;
margin-right:1%;
}
@media only screen and (max-width: 540px) {
.catch2{
display:block;
width:100%;
float:none;
text-align:center;
margin-bottom:10px;
}	
}
.catch2 span{
font-size:8.0em;
font-weight:900;
color:#E50112;
line-height:1;
}
@media only screen and (max-width: 767px) {
.catch2 span{
font-size:13vw;
}
}
@media only screen and (max-width: 540px) {
.catch2 span{
font-size:16.5vw;
}
}
.appIcon{
float:left;
width:100px;
height:100px;
border-radius:10px;
-webkit-border-radius:10px;
-moz-border-radius:10px;
border:solid 1px #ccc;
overflow:hidden;
clear:both;
}
@media only screen and (max-width: 767px) {
.appIcon{
width:15%;
height:auto;
}	
}
.appIcon img{
width:100%;
height:auto;
}
.appComment{
float:left;
margin-left:20px;
}
@media only screen and (max-width: 767px) {
.appComment{
width:80%;
margin-left:3%;
}	
}
.comment1{
font-size:2.4em;
font-weight:bold;
}
@media only screen and (max-width: 767px) {
.comment1{
font-size:1.2em;
}	
}
.comment2{
font-size:1.0em;
}
@media only screen and (max-width: 540px) {
.comment2{
font-size:0.8em;
}	
}
ul.appBox{
border-bottom:none;
overflow:hidden;
clear:both;
}

div.pointImage{
width:94%;
margin:0 3%;	
}
ul.appBox li{
display:block;
float:left;
width:48%;
margin:10px 1% 5px;
}
ul.appBox li span.heading{
display:block;
width:100%;
color:#fff;
text-align:center;
border-radius:4px;
-webkit-border-radius:4px;
-moz-border-radius:4px;
padding:5px 2%;
font-size:1.2em;
font-weight:bold;
margin-bottom:5px;
box-sizing: border-box;
}

@media only screen and (max-width: 640px) {
ul.appBox li span.heading{
font-size:0.7em;
line-height:0.9;
margin-bottom:0;
}
}
ul.appBox li span.heading br{
display:none;
}
@media only screen and (max-width: 640px) {
ul.appBox li span.heading br{
display:block;
}
}
ul.appBox li span.bnrImage{
display:block;
float:left;
width:100%;
margin-top:5px;
}
@media only screen and (max-width: 767px) {
ul.appBox li span.bnrImage{
width:100%;
}
}
ul.appBox li span.image img{
width:100%;
height:auto;	
}
div.applyBtn{
width:490px;
margin:30px auto;
}
div.applyBtn a:hover img, 
div.applyBtn a:active{
opacity:1.0 !important;
filter: alpha(opacity=100) !important;
-ms-filter: "alpha( opacity=100 )" !important;
}

#wrap #contents div.applyBtn img{
width:100%;
height:auto;
}


ul.note{
font-size:1.0em;
padding-bottom:5px;
text-align:left;
text-align:justify;
margin-top:10px;
}
ul.note li{
padding-left:1.0em;
text-indent:-1.0em;	
}
@media only screen and (max-width: 767px) {
ul.note{
font-size:0.8em;
}	
}


a.topPage{
display:block;
margin:40px auto 60px;
width:18.0em;
text-align:center;
font-size: 18px;
font-weight: bold;
background-color: #969494;
padding: 10px 0;
border-radius: 30px;
color: #fff;
text-decoration: none;
}

a.topPage2{
display:block;
margin:40px auto 60px;
width:18.0em;
text-align:center;
font-size: 18px;
font-weight: bold;
background-color: #969494;
padding: 10px 0;
border-radius: 30px;
color: #fff;
text-decoration: none;
}

a.topPage:link,
a.topPage:visited,
a.topPage:hover,
a.topPage:active{
color: #fff;
}
a.topPage:hover{
opacity:0.7;
filter: alpha(opacity=70);
-ms-filter: "alpha( opacity=70 )";
}
@media only screen and (max-width: 540px) {
a.topPage{
width:90%;
margin:20px 5% 30px;
}	
}

#bottomwrap{
width: 100%;
margin: 0 auto;
max-width: 960px;
}

#bottom{
text-align:center;	
}
@media only screen and (max-width: 540px) {
#bottom{
text-align: center;
width: 96%;
margin:8px 2%;
font-size: 0.8em;
}
}



/*マージン等
--------------------------------------*/
.mt10{
margin-top:10px;
}
.mt20{
margin-top:20px;
}
.mt30{
margin-top:30px;
}
.mt40{
margin-top:40px;
}
.mt50{
margin-top:50px;
}

.mb10{
margin-bottom:10px;
}
.mb20{
margin-bottom:20px;
}
.mb30{
margin-bottom:30px;
}
.mb40{
margin-bottom:40px;
}
.mb50{
margin-bottom:50px;
}