@charset "UTF-8";
*{
  margin: 0;
  padding: 0;
}
body{
  font-family: 'Avenir','Helvetica Neue','Helvetica','Arial','Hiragino Sans','ヒラギノ角ゴシック',YuGothic,'Yu Gothic','メイリオ', Meiryo,'ＭＳ Ｐゴシック','MS PGothic'

}
/*---------- ページ全体の指定 ----------*/
ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

a:hover img {
  opacity: 1;
}

a img {
  background-color: rgba(255, 255, 255, .01);
  width: 100%;
}

#wrapper img {
  width: 100%;
  display: block;
}

.mb10 {
  margin-bottom: 10% !important  ;
}

.mb20 {
  margin-bottom: 20px;
}
.mb15{
  margin-bottom: 15%!important;
}
.mt10{
  margin-top: 20% !important;
}
/*---------- ヘッダー ----------*/
#header {
  min-width: 100%;
}

#header h1 {
  width: 100%;
  margin: 0;
}

#header h1 img {
  width: 100%;
  margin: 0;
}

img {
  font-size: 0;
  margin: 0;
  padding: 0;
  line-height: 0;
  vertical-align: bottom;
}

.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

/*--------------------------*/
/*--------------------------*/
.backtotop {
  position: fixed;
  right: 15px;
  width: 45% !important;
  bottom: 30px;
  z-index: 9000;
  display: none;
}

.backtotop a, .closewin a {
  display: block;
  color: #777777;
  padding: 10px 6px;
  margin: 0;
  background-color: #DDDDDD;
  opacity: 0.8;
  border-radius: 5px;
  text-decoration: none;
  font-weight: bold;
  font-size: 12px;
}

.backtotop img {
  width: 100%;
}

/* .backtotop a {
  background-color: transparent !important;
} */
.backtotop a {
  background-color: rgba(228, 228, 228, 0.8) !important;
}
/*終了表示*/
ul.inner li.end_msg{
  position: relative;
}
ul.inner li.end_msg::after{
position: absolute;
display: block;
content: "";
width: 75%;
height: 300px;
background: url(../img/apply_fin.png) no-repeat;
    background-size: auto;
background-size: contain;
left: 0;
right: 0;
margin: auto;
top: -73px;
}

/*css coupon*/
.border{
  margin-top: .5em;
  height: 12px;
  width: 100%;
  background: url(../img/border.jpg);
  background-size: contain;
}

.note{
  margin: .5em auto;
}
ul.btn{
  width: 90%;
  margin: 0 auto 2em;
}
ul.btn li{
  margin: 1em auto;
}
section.info_coupon,
section.faq{
  background: #F7E7F1;
  padding: 1em 0;
}
section.faq h1,
section.faq h2{
  width: 90%;
  margin: .5em auto;
}
section.info_coupon h1{
  margin-bottom: .5em;
}
section.info_coupon .flex_box{
  display: flex;
  width: 95%;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: auto;
  padding: 5% 0;
}
section.info_coupon .flex_box li{
  width: 100%;
  margin: 1em 0;
}
section.info_coupon .dl_app .flex_box{
  padding: 0;
}
section.info_coupon .dl_app .flex_box li{
  width: 49%;
  margin: 0 0 0.5em;
}
section.info_coupon .dl_app .flex_box li:nth-of-type(3),
section.info_coupon .dl_app .flex_box li:nth-of-type(4){
  width: 100%;
}
section.info_coupon .dl_app{
  background: #fff;
  width: 95%;
  margin: 1em auto;
  padding: .5em 0;
}
section.info_coupon .dl_app h1{
}
h3.subttl{
  width: 90%;
  margin: auto;
}
.faq_back{
  width: 70%;
  margin: auto;
  padding: 2em 0;
}
.txt_area{
  width: 90%;
  margin: auto;
}


/* よくある質問CSS */
.text_cont{
  border: 2px solid #AD127A;
  border-radius: 10px;
  width: 100%;
  margin: 1em auto;
  padding: 1em 0;
}
.text_cont h1{
  width: 100%;
  background: #AD127A;
  border-radius: 6px 6px 0em 0;
  color: #fff;
  text-align: center;
  font-size: 1.25em;
  padding: 0.4em 0;
}
.que,
.ans{
  width: 90%;
  margin: auto;
}
.que p{
  color: #AD127A;
}
.que p::before{
  content: "Q.";
  display: inline-block;
  margin-right: .25em;
}
.ans p::before{
  content: "A.";
  display: inline-block;
  margin-right: .25em;
}
.ans p.note::before{
    content: "※";
  display: inline-block;
  margin-right: .25em;
}
.faq_list{
  margin-top: 2em;
}
