body {
    font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    -webkit-text-size-adjust: 100%;
    width: 100%;
    margin: 0 auto;
}

article,aside,canvas,details,figcaption,figure,
header,footer,main,menu,nav,section,summary {
    display: block;
}

.footer{
    text-align: center;
}

h1 {
    color: #FFFFFF;
    margin: 0;
    padding: 10px 15px;
    font-size: 24px;
    font-size: 6.5vw;
}

#contents {
    display: flex;
    flex-wrap: wrap;
    padding: 20px 13px;
}

#contents .icon_area {
    width: 31.11%;
    width: calc(100%/3);
    text-align: center;
    margin-bottom: 10px;
}

#contents .icon {
    position: relative;
    margin-bottom: 4px;
}

#contents .icon > div[data-toggle="modal"] {
    cursor: pointer;
}

#contents .renewal {
    position: absolute;
    right: 5px;
    top: -10px;
    width: 30%;
}

#contents .icon_img {
    width: 75%;
    border-radius: 18%;
    box-shadow: 0px 3px 15px rgba(0,0,0,0.2);
}

#contents .title {
    color: #000000;
    font-size:11px;
    font-size: 3vw;
    min-height: 11px;
    padding: 0 11.5%;
}
#contents .title:hover {
    color:#000000;
    text-decoration:none;
}

#flow_wrap {
    width: 90%;
    margin: 20px auto;
    font-size: 12px;
    line-height: 1.3;
}

#flow_wrap p.title {
    font-size: 14px;
}

#flow_wrap ul,
#flow_wrap ul li {
    margin: 0;
    padding: 0;
}

#flow_wrap ul li {
    display: table;
    width: 100%;
    border-bottom: dotted 1px #999999;
}

#flow_wrap ul li p {
    display: table-cell;
    vertical-align: middle;
    padding: 13px 5px;
    text-align:left;
}

#flow_wrap ul li p.number {
    width: 10px;
}

#flow_wrap ul li p.img {
    width: 60px;
}

.iphone, .android, .chrome {
    display:none;
}

.modal{
    padding-left: 0px !important;
    font-family: Verdana, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W6", HiraKakuPro-W6, sans-serif;
}

.modal-dialog {
    margin: 6.4px;
    margin: 2vw;
}

.modal-header,
.modal-body,
.modal-footer {
    padding: 11.52px;
    padding: 3.6vw;
    overflow-wrap: break-word;
}

.modal-header {
    box-sizing: content-box;
    font-size:18px;
    font-size:5.625vw;
    height: 1.4em;
}

.modal-header h4 {
    font-size: inherit;
    height: inherit;
}

.modal-content {
    box-sizing:content-box;
}

.coupon_title {
  font-weight: bold;
  color: #666666;
  font-size: 26.6px;
  font-size: 7vw;
  padding-bottom: 7px;
  padding-bottom: 2vw;
  font-family: sans-serif;
  text-align: left;
  line-height:1em;
}

.coupon_wrap{
  background-color:#D31B15;
  color: #fff;
  text-align: center;
  padding: 6.4px;
  padding: 2vw;
  box-sizing: border-box;
}

.coupon_wrap_inner{
  border: solid 1px #fff;
  padding: 11.52px;
  padding: 3.6vw;
  box-sizing: border-box;
}

.coupon_wrap p{
  margin:0;
  padding: 0;
}

.coupon_wrap .use_cond{
  font-size: 16px;
  font-size: 5vw;
  font-weight: bold;
}

.coupon_wrap .content{
  font-size: 58px;
  font-size: 14vw;
  line-height: 1.07em;
  padding-top: 0.5em
}

.coupon_wrap .content_with_unit{
  font-size: 73.6px;
  font-size: 23vw;
  line-height: 0.5em;
  padding-top: 0.5em
}

.coupon_wrap .content_with_unit .num{
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
}


.coupon_wrap .content_with_unit .unit{
  font-size:50%;
}

.coupon_wrap .coupon_txt{
  font-size: 41.6px;
  font-size: 13vw;
  font-family: 'Lato', sans-serif;
  border-top: solid 1px #fff;
  margin-top: 0.5em;
  padding-top: 0.5em;
}

.coupon_wrap .date{
  font-size: 16px;
  font-size: 4vw;
  color:#D31B15;
  background-color: #fff;
  border-radius:20px;
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  margin-top: 25px;
}

.coupon_wrap .when{
  font-size: 14px;
  font-size: 3.5vw;
  text-align: left;
  margin-top: 1em;
  color:#fff;
}


@media screen and (min-width:768px) {

.modal-dialog {
    margin:2% auto;
}

.modal-header,
.modal-body,
.modal-footer {
    padding: 2%;
}

.modal-header {
    font-size:18px;
}

.coupon_wrap {
    padding:2.7%;
}

.coupon_wrap_inner {
    padding:3.6%;
}

.coupon_modal .modal-body {
    font-size: 600px;
}

.coupon_modal .coupon_title{
  font-size: 7%;
  padding-bottom: 7px;
}

.coupon_wrap .use_cond {
    font-size: 5%;
}

.coupon_wrap .content{
  font-size: 16%;
}

.coupon_wrap .content_with_unit{
  font-size: 23%;
}

.coupon_wrap .content_with_unit .unit{
  font-size:50%;
}

.coupon_wrap .coupon_txt{
  font-size: 13%;
}

.coupon_wrap .date{
  font-size: 4%;
}

.coupon_wrap .when{
  font-size: 3.5%;
}

}

@media print {
  /* bootstrapのCSS上書き */
  a[href]:after {
      content: "";
  }
}
