@charset 'utf-8';
/* ============ STYLE ============ */
body {
  width: 100%;
  font-family: 'Noto Sans JP', sans-serif;
  /*font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo";*/
  color: #000;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6em;
  letter-spacing: 1px;
}
a {
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none;
  color: #323232;
}
a:hover {
  cursor: pointer;
  opacity: 0.9;
}
*:focus {
  outline: none;
}
img {
  vertical-align: bottom;
  max-width: 100%;
}
body.scroll-disable {
  overflow: hidden;
}

.pc {display: block !important;}
.sp {display: none !important;}
@media only screen and (max-width: 640px) {
  .pc {display: none !important;}
  .sp {display: block !important;}
}


/* -----------------------
  common
-------------------------- */
.wrap {
  width: 640px;
  max-width: 640px;
  margin: 0 auto;
}
.wrap560 {
  width: 560px;
  max-width: 560px;
  margin: 0 auto;
}
.inner {
  width: 640px;
  max-width: 640px;
  margin: 0 auto;
}
.inner560 {
  width: 100%;
  max-width: 560px;
  margin: 0 auto;
}
@media only screen and (max-width: 640px) {
  .wrap, .wrap560 {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
  }
  .inner {
    width: 93%;
    max-width: 93%;
    margin: 0 auto;
  }
  .inner560 {
    width: 88%;
    max-width: 88%;
    margin: 0 auto;
  }
}

/* -----------------------
  LP main visual
-------------------------- */
#mainVisual {
  position: relative;
  margin: 0;
  padding: 40px 0 60px;
  background-color: #004CA0;
}
#mainVisual .logo {
  position: absolute;
  top: 10px;
  left: 10px;
  width: 230px;
}
#mainVisual .mainTitle {
  color: #fff;
  font-size: 30px;
  font-weight: 700;
  text-align: center;
  line-height: 1.5em;
}
#mainVisual .mainTitle span {
  font-size: 18px;
  font-weight: 500;
}

.formHeader {
  margin: 40px 0 0;
  font-weight: 500;
}
.formExp {
  margin: 30px 0 0;
  font-size: 20px;
  font-weight: 600;
  text-align: center; 
  /*text-decoration: underline;*/
}
.formTxt {
  margin: 0 0 30px;
  font-size: 12px;
  line-height: 1.3em;
}
.formAttWrap {
  margin: 20px 0 0;
  padding: 30px;
  text-align: center;
  background-color: #ffc5cc;
}
.formAttTitle {
  color: #ff0000;
  font-size: 24px;
  font-weight: 500;  
}
.formAttTxt {
  margin: 10px 0 0;
}
@media only screen and (max-width: 640px) {
  #mainVisual {
    padding: 60px 20px 40px;
  }
  #mainVisual .logo {
    width: 160px;
  }
  #mainVisual .mainTitle {
    font-size: 24px;
  }
  #mainVisual .mainTitle span {
    font-size: 16px;
  }
}

/* -----------------------
  LP section
-------------------------- */
/* overview */
#overviewArea {
  padding: 60px 30px;
  font-weight: 600;
  text-align: center;
  background-color: #fff57f;
}
.makerWrap {
  position: relative;
  margin: 60px 0 0;
  padding: 50px 40px 30px;
  background-color: #fff;
  border-radius: 10px;
}
.makerWrap h3 {
  width: 230px;
  margin: 0 auto 20px;
}
.makerTxt {
  margin: 20px;
  font-size: 22px;
  line-height: 1.6em;
}
.makerSubTxt {
  margin-bottom: 50px;
}
.makerLogoWrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.makerLogoWrap .makerLogo {
  width: 48%;
  margin-bottom: 30px;
}
.makerAddTxt {
  position: absolute;
  bottom: 20px;
  right: 30px;
  font-weight: 500;
}
.wChanceWrap {
  margin-top: 30px;
  padding: 16px 30px 50px;
  background-color: #0d4694;
  border-radius: 10px;;
}
.listWrapWchance {
  list-style: none;
  margin: 20px 0 0;
  padding-left: 20px;
  color: #fff;
  font-weight: 400;
  text-align: left;
}
.wChanceListItem {
  position: relative;
  display: block;
}
.wChanceListItem:before {
  position: absolute;
  content: '\203B';
  top: 0;
  left: -20px;
}
.downloadWrap {
  margin: 40px 0 0;
  padding: 0 0 20px;
  background-color: #fff;
}
.downloadBtnWrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  margin: 30px 0 0;
}
.btnItem {
  width: 40%;
}
@media only screen and (max-width: 640px) {
  #overviewArea {
    padding: 30px 15px 50px;
  }
  .makerWrap {
    position: relative;
    margin: 35px 0 0;
    padding: 30px 20px 30px;
  }
  .makerWrap h3 {
    width: 166px;
  }
  .makerTxt {
    margin: 0 0 10px;
    font-size: 16px;
  }
  .makerSubTxt {
    font-size: 12px;
    margin-bottom: 30px;
  }
  .makerLogoWrap .makerLogo {
    margin-bottom: 20px;
  }
  .makerAddTxt {
    position: absolute;
    bottom: 10px;
    right: 20px;
    font-size: 14px;
    font-weight: 500;
  }
  .wChanceWrap {
    margin-top: 24px;
    padding: 10px 15px 30px;
  }
  .listWrapWchance {
    margin: 10px 0 0;
    padding-left: 14px;
    font-size: 12px;
    line-height: 1.4em;
  }
  .wChanceListItem:before {
    left: -14px;
  }
  .downloadWrap {
    margin: 30px 0 0;
  }
  .downloadBtnWrap {
    margin: 20px 0 0;
  }
  .btnItem {
    width: 40%;
  }
}
/* flow */
#flowArea {
  padding: 60px 50px;
  background-color: #0d4694;
}
#flowArea h2 {
  margin: 0 0 70px;
  color: #fff000;
  font-size: 42px;
  font-weight: 700;
  text-align: center;
}
.flowStepWrap {
  position: relative;
  margin: 0 0 30px;
  padding: 30px 35px;
  background-color: #fff;
  border-radius: 10px;
}
.flowTxt {
  margin: 30px 0 0;
  font-size: 20px;
  line-height: 1.6em;
}
.flowArrow {
  position: absolute;
  bottom: -50px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
}
.flowArrow {
  width: 70px;
}
.flowDownloadWrap {
  margin: 60px 0 0;
  padding: 0 0 20px;
  background-color: #fff;
  border-radius: 10px;
}
.flowDownloadBtnWrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  margin: 30px 0 0;
}
.flowBtnItem {
  width: 40%;
}
.flowDownloadTxt {
  margin: 30px 0 10px;
  font-size: 20px;
  font-weight: 500;
  text-align: center;
}

/* list */
.flowListWrap {
  list-style: none;
  margin: 20px 0 0;
  padding-left: 16px;
  font-size: 14px;
  line-height: 1.6em;
}
.flowListItem {
  position: relative;
  display: block;
}
.flowListItem:before {
  position: absolute;
  content: '\203B';
  top: 0;
  left: -16px;
}
@media only screen and (max-width: 640px) {
  #flowArea {
    padding: 50px 15px;
  }
  #flowArea h2 {
    margin: 0 0 50px;
    font-size: 32px;
  }
  .flowStepWrap {
    position: relative;
    margin: 0 0 15px;
    padding: 20px 20px 30px;
    border-radius: 6px;
  }
  .flowTxt {
    margin: 15px 0 0;
    font-size: 16px;
    text-align: justify;
    line-height: 1.6em;
    letter-spacing: 0;
  }
  .flowArrow {
    bottom: -28px;
  }
  .flowArrow {
    width: 45px;
  }
  .flowDownloadWrap {
    margin: 40px 0 0;
    padding: 0 0 24px;
  }
  .flowDownloadBtnWrap {
    margin: 20px 0 0;
  }
  .flowBtnItem {
    width: 42%;
  }
  .flowDownloadTxt {
    margin: 20px 0 10px;
    font-size: 16px;
  }
  
  /* list */
  .flowListWrap {
    margin: 20px 0 0;
    padding-left: 14px;
    font-size: 12px;
    letter-spacing: 0;
  }
  .flowListItem:before {
    left: -14px;
  }
}


/* -----------------------
  second common
-------------------------- */
h2.singleLine {
  height: 42px;
  margin: 0 0 40px;
  text-align: center;
}
h2.doubleLine {
  height: 84px;
  margin: 0 0 40px;
  text-align: center;
}
h2.singleLine img, h2.doubleLine img {
  height: 100%;
}
h3 {
  padding: 0;
  font-size: 18px;
  text-align: center;
  line-height: 1.7em;
}
#secondHeaderArea {
  position: relative;
  margin: 0;
  padding: 0;
}
.secondTitle {
  position: relative;
  text-align: center;
  line-height: 1em;
}
.secondTitleStamp {
  position: relative;
  text-align: center;
  line-height: 1em;
}
.secondTitleTxt {
  position: relative;
  color: #fff;
  font-size: 24px;
  font-weight: 600;
  text-align: center;
  line-height: 1.4em;
}
#mainAreaForm {
  margin: 0;
  padding: 60px 0 0;
  font-weight: 500;
  background-color: #fff57f;
}
#mainAreaForm a {
  text-decoration: underline;
}
@media only screen and (max-width: 640px) {
  h2.singleLine {
    height: 32px;
    margin: 0 0 30px;
  }
  h2.doubleLine {
    height: 74px;
  }
  h3 {
    font-size: 16px;
  }
}

/* -----------------------
  application form
-------------------------- */
.btnWrap {
  width: 70%;
  margin: 40px auto 0;
  padding-bottom: 80px;
}
.btnWrapConf {
  width: 70%;
  margin: 40px auto 0;
  padding-bottom: 80px;
}
.btnWrap .mainLink, .btnWrapConf .mainLink {
  margin: 0 0 10px;
}
.btnWrapComplete {
  width: 80%;
  margin: 0 auto;
  padding: 0 0 80px;
}
.inputArea {
  padding: 20px 30px 40px;
}
.inputArea a {
  text-decoration: underline;
}
.inputTitle {
  margin: 24px 0 10px;
  padding: 7px 10px;
  background-color: #dbecff;
}
.req {
  color: #ff0000;
}
.reqTxt {
  margin-bottom: -20px;
  color: #ff0000;
  text-align: right;
}
.inputAddTxt {
  margin: 5px 0 0;
  font-size: 13px;
}
.qestTitle {
  margin-bottom: 24px;
  padding-left: 2.1em;
  text-indent: -2.1em;
  line-height: 1.8em;
}
.qestTitle span {
  border-bottom: solid 1px #000;
}
.qestTitle span.addTxt {
  font-size: 12px;
  border-bottom: none;
}
.agreeWrap {
  margin: 30px 0 50px;
  text-align: center;
}

.header_emesg {
  padding: 1em 20px;
  color: #ff0000;
  font-weight: 400;
  text-align: center;
  background-color: #fff;
  border-radius: 10px;
}
.msg {
  color: #ff0000;
  font-size: 14px;
  font-weight: normal;
}
.msgW {
  color: #fff;
  font-size: 14px;
  font-weight: normal;
}
.confirmTxt {
  margin: 0 0 10px 20px;
  font-weight: 500;
  text-align: left;
}
@media only screen and (max-width: 640px) {
  .inputArea {
    padding: 10px 0 40px;
  }
  .inputAddTxt {
    margin: 5px 0 0;
    font-size: 13px;
  }
  .qestTitle {
    margin-top: 24px;
    padding-left: 2.1em;
    text-indent: -2.1em;
    line-height: 1.8em;
  }
  .agreeWrap {
    text-align: center;
  }
  .btnWrap {
    width: 100%;
    margin: 20px auto 0;
    padding-bottom: 40px;
  }
  .btnWrapConf {
    width: 100%;
    margin: 20px auto 0;
    padding-bottom: 40px;
  }
}
.btnWrapMypage {
  width: 70%;
  margin: 0 auto;
  padding-bottom: 80px;
}
@media only screen and (max-width: 640px) {
  .btnWrapMypage {
    width: 84%;
    margin: 0 auto;
    padding-bottom: 60px;
  }
}
/* 完了画面 */
.completeTxt {
  margin-bottom: 60px;
  padding: 0;
  font-size: 18px;
  text-align: center;
  line-height: 1.7em;
}

.closeTxt {
  padding-bottom: 60px;
  font-size: 18px;
  text-align: center;
  line-height: 2em;
}
.errorTxt {
  padding: 60px 0;
  font-size: 18px;
  text-align: center;
  line-height: 2em;
}
@media only screen and (max-width: 640px) {
  .completeTxt {
    margin-bottom: 60px;
    padding: 0;
    font-size: 16px;
    text-align: center;
    line-height: 1.7em;
  }
  .closeTxt {
    font-size: 16px;
  }  
}

/* -----------------------
  login
-------------------------- */
.linkBox {
  margin: 30px 0 0;
  font-size: 14px;
  text-align: center;
  line-height: 1.8em;
}
.otherLink a {
  text-decoration: underline;
}
@media only screen and (max-width: 640px) {
  .inputAreaLogin {
    padding: 30px 10px 0;
    font-size: 14px;
  }
  .linkBox {
    margin: 40px 0 5px;
  }
}

/* -----------------------
  form
-------------------------- */
input[type='text'],
input[type='name'],
input[type='number'],
input[type='email'],
input[type='tel'],
input[type='postal-code'],
input[type='password'] {
  padding: 12px 15px !important;
  background: #fff;
  border: solid 1px #d9d9d9;
  z-index: 0 !important;
}
input[type="text"]:focus,
input[type="name"]:focus,
input[type='number']:focus,
input[type='email']:focus,
input[type='tel']:focus,
input[type='postal-code']:focus,
input[type='password']:focus {
  border: 1px solid #ABABAB;
  outline: 0;
}
::placeholder{
  color:#797979;
  font-size: 16px;
  font-weight: 400;
}
/* img */
input[type='image'] {
  width: 100%;
}
/* textarea */
textarea {
  width: 100%;
  height: 70px;
  padding: 10px 15px;
  background: #eff2ff;
  border: solid 1px #ABABAB;
  border-radius: 5px;
}
textarea:focus {
  border: 1px solid #ABABAB;
  outline: 0;
}
/* checkbox */
input[type="checkbox"]{
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
  position: relative;
  padding-left: 24px;
  vertical-align: middle;
}
input[type="checkbox"]::before{
  content: "";
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-size: 100%;
  background-image:  url(../img/common/check-before.png);
  background-repeat: no-repeat;
}
input[type="checkbox"]:checked::before {
  border-color:  #d9d9d9;
}
input[type="checkbox"]:checked::after {
  content: "";
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-size: 100%;
  background-image:  url(../img/common/check-after.png);
  background-repeat: no-repeat;
}
.checkboxWrap span {
  font-size: 14px;
  line-height: 2.6em;
  letter-spacing: -1px;
}
/* radio */
input[type=radio] {
  display: none;
}
.radioInput {
  appearance: none;
  position: absolute;
}
.radioSpan::before {
  content: '';
  display: block;
  width: 16px;
  height: 16px;
  margin-right: 10px;
  background-color: #fff;
  border: 1px solid #d9d9d9;
  border-radius: 50%;
}
.radioSpan {
  position: relative;
  display: flex;
  align-items: center;
  margin-bottom: 18px;
  line-height: 1em;
}
.radioInput:checked+.radioSpan::after { 
  content: '';
  display: block;
  position: absolute;
  left: calc(8px - 6px);
  width: 12px;
  height: 12px;
  background-color: #000;
  border-radius: 50%;
}
.radioWrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.radioItem {
  width: 25%;
}

/* select */
select{
  height: 56px;
  padding: 10px 15px !important;
  background: #eff2ff;
  border: solid 1px #ABABAB;
  border-radius: 5px;
  z-index: 0 !important;
  text-overflow: '';
  vertical-align: middle;
  appearance: button;
}
select option{
  background-color: #fff;
  color: #333;
}
select::-ms-expand {
  display: none;
}
select:-moz-focusring { 
  color: transparent; 
  text-shadow: 0 0 0 #828c9a;
}
.selectWrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.selectItemArea {
  width: 58%;
}
.selectItemKoma {
  width: 40%;
}
.selectOtherTxt {
  margin: 10px 0 0;
  font-size: 14px;
}
#selectKomaOther01,
#selectKomaOther02,
#selectKomaOther03,
#selectKomaOther04 {
  width: 100%;
}

/* input width */
.len100 {
  display: block;
  width: 100px;
}
.len200 {
  display: block;
  width: 200px;
}
.len300 {
  display: block;
  width: 300px;
}
.len50per {
  display: block;
  width: 50%;
}
.len100per {
  display: block;
  width: 100%;
}
@media only screen and (max-width: 640px) {
  .len50per {
    width: 100%;
  }
}

/* email */
.mailtxtWrap {
  list-style: none;
  margin-top: 5px;
  padding-left: 14px;
  font-size: 12px;
  line-height: 1.4em;
}
.mailtxtList {
 position: relative;
 display: block;
}
.mailtxtList:before {
 position: absolute;
 content: '\203B';
 top: 0;
 left: -14px;
}

/* -----------------------
  kiyaku
-------------------------- */
.toggle_contents {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: block;
  width: 90%;
  margin: 20px auto;
  padding: 6px 0;
  color: #0d4694;
  font-size: 20px;
  border: 2px solid #0d4694;
  background: #fff;
}
.toggle_title {
  position: relative;
  padding: 10px 0;
  cursor: pointer;
  text-align: center;
  line-height: 1.5em;
}
.toggle_btn {
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  background: #0d4694;
  display: block;
  width: 36px;
  height: 36px;
  white-space: nowrap;
  overflow: hidden;
  border-radius: 50%;
  transition: .3s;
}
.toggle_btn:before, .toggle_btn:after {
  display: block;
  content: '';
  background-color: #fff;
  position: absolute;
  width:20px;
  height: 5px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: .3s;
}
.toggle_btn:before {
  width: 5px;
  height: 20px;
}
.toggle_title.selected .toggle_btn:before {
  content: normal;
}
.toggle_contents dd {
  display: none;
}
.toggle_contents_bk {
  background: #fff;
  padding: 15px !important;
  font-size: 12px;
  line-height: 1.5em;
  color: #000;
  text-align: justify;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
@media only screen and (max-width: 640px) {
  .toggle_contents {
    width: 100%;
    font-size: 18px;
  }
  .toggle_btn {
    right: 14px;
    width: 28px;
    height: 28px;
  }
  .toggle_btn:before, .toggle_btn:after {
    width: 16px;
    height: 5px;
  }
  .toggle_btn:before {
    width: 5px;
    height: 16px;
  }
}

/* -----------------------
  stamp
-------------------------- */
.stampTitle {
  position: relative;
  height: 108.2622px;
  margin-top: 30px;
  color: #fff;
  font-size: 20px;
  text-align: center;
  line-height: 1.8em;
  background: url(../img/second/sec-title-stamp.png) center / auto 100% no-repeat;
}
.main_txt_subtitle {
  margin: 0 0 30px;
  padding: 15px;
  color: #f73b6d;
  text-align: center;
  background-color: #fff;
  border-radius: 10px;
}
.stampWrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 94%;
  margin: 20px auto;
}
.stampWrap li {
  position: relative;
  width: calc((100% - 40px) / 5);
  margin-bottom: 10px; 
  color: #f73b6d;
  font-size: 32px;
  font-weight: 500;
  text-align: center;
}
.stampWrap li>span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
.stampWrap li.goal {
  font-weight: 700;
}
.stampWrap li.stampGet {
  color: #fff !important;
}
@media only screen and (max-width: 640px) {
  .stampTitle {
    height: 70.2622px;
  }
  .stampWrap {
    margin: 20px auto 0;
  }
  .stampWrap li {
    width: calc((100% - 20px) / 5);
    font-size: 28px;
    font-weight: 500;
  }
}
/* celebration */
#celebrationArea {
  margin: 0 0 60px;
  color: #fff;
}
.celebrationTitle {
  width: 90%;
  margin: 0 auto 30px;
}
.celebrationCard {
  width: 95%;
  margin: 0 auto 60px;
}
.pointDisplay {
  color: #fff;
  font-size: 32px;
  font-style: italic;
  text-align: center;
  letter-spacing: .2em;
}
.pointDisplay span.pointNum {
  padding-left: 10px;
  color: #e6bd55;
  font-size: 100px;
  font-weight: 500;
  letter-spacing: 0;
  font-family: 'Noto Serif JP', serif;
}
.pointDisplay span.pointTxt {
  padding-right: 10px;
  color: #e6bd55;
  font-size: 60px;
  font-weight: 500;
  letter-spacing: .1em;
  font-family: 'Noto Serif JP', serif;
}
.pointAttentionWrap {
  width: 93%;
  margin: 30px auto 70px;
  list-style: none;
  padding-left: 20px;
  color: #fff;
}

.listWrap {
  list-style: none;
  margin: 0;
  padding-left: 20px;
}
.listItem {
  position: relative;
  display: block;
}
.listItem:before {
  position: absolute;
  content: '\203B';
  top: 0;
  left: -20px;
}
.listWrapMin {
  list-style: none;
  margin: 30px;
  padding-left: 20px;
  font-size: 13px;
  line-height: 1.5em;
}
.listItemMin {
  position: relative;
  display: block;
}
.listItemMin:before {
  position: absolute;
  content: '\203B';
  top: 0;
  left: -20px;
}@media only screen and (max-width: 640px) {
  #celebrationArea {
    margin: 0 0 60px;
    color: #fff;
  }
  .celebrationTitle {
    width: 90%;
    margin: 0 auto 20px;
  }
  .celebrationCard {
    width: 95%;
    margin: 0 auto 30px;
  }
  .pointDisplay {
    color: #fff;
    font-size: 24px;
    font-style: italic;
    text-align: center;
    letter-spacing: .1em;
  }
  .pointDisplay span.pointNum {
    padding-left: 6px;
    color: #e6bd55;
    font-size: 66px;
    letter-spacing: 0;
  }
  .pointDisplay span.pointTxt {
    padding-right: 6px;
    color: #e6bd55;
    font-size: 36px;
    letter-spacing: .1em;
  }
  .pointAttentionWrap {
    width: 93%;
    margin: 20px auto 40px;
    list-style: none;
    padding-left: 16px;
    color: #fff;
    font-size: 14px;
    line-height: 1.4em;
    letter-spacing: 0em;
  }
  
  .listWrap {
    padding-left: 14px;
    font-size: 12px;
    line-height: 1.4em;
  }
  .listItem:before {
    left: -14px;
  }
}

/* -----------------------
  Coupon
-------------------------- */
/* stamp page */
.couponWrap {
  padding-bottom: 20px;
}
.getCouponTitle {
  position: relative;
  height: 108.2622px;
  margin-top: 30px;
  color: #fff;
  font-size: 20px;
  text-align: center;
  line-height: 1.8em;
  background: url(../img/second/coupon/sec-title-coupon.png) center / auto 100% no-repeat;
}
.couponThumb {
  width: 90%;
  margin: 0 auto 20px;
}
.couponTitle {
  position: relative;
  height: 108.2622px;
  color: #fff;
  font-size: 20px;
  text-align: center;
  line-height: 1.8em;
  background: url(../img/second/coupon/sec-title-coupon.png) center / auto 100% no-repeat;
}
.couponTxt {
  margin-top: 40px;
  text-align: center;
}
.guideTitle {
  margin: 0 0 24px;
  font-size: 20px;
  text-align: center;
}
.btnWrapCoupon {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.couponBCD {
  margin: 30px 0;
}
.couponLimit {
  margin-bottom: 30px;
  text-align: center;
}
.couponLimit span {
  border-bottom: solid 1px #000;
}
.couponLink {
  width: 49%;
}
@media only screen and (max-width: 640px) {
  .getCouponTitle {
    margin-top: 0;
    height: 70.2622px;
  }
  .couponTitle {
    height: 70.2622px;
  }
}

/* -----------------------
  footer
-------------------------- */
.footer {
  margin: 0;
  padding: 40px 0 10px;
}
#footerAttentionArea ul li {
  padding-left: 1em;
  text-indent: -1em;
}
.imgFooter {
  width: 230px;
  margin: 40px auto 0;
}
.footerBtnArea {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.btnFootNav {
  position: relative;
  width: 33.3333333%;
  padding: 20px 0;
  color: #fff;
  text-align: center;
  background-color: #0d4694;
  border: solid 1px #fff;
}
.btnFootNav a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height:100%;
}
.btnFootNav:hover {
  color: #0d4694;
  background-color: #fff;
  border: solid 1px #0d4694;
  transition: 0.3s;
}
#footerNav {
  list-style: none;
  font-size: 14px;
  text-align: center;
  margin: 0 auto;
  padding: 20px 0;
}
#footerNav li {
  padding: 0 2em;
  height: 20px;
  line-height: 20px;
  text-align: center;
  display: inline-block;
  border-left :1px solid #000;
}
#footerNav li:first-child {
  border-left: none;
}
#footerNav li a {
  text-decoration: none;
}
.copyright {
  font-size: 12px;
  text-align: center;
  line-height: 1.5em;
}
.fixBtnMargin {
  display: block;
  height: 120px;
}
@media only screen and (max-width: 640px) {
  .footer {
    padding: 20px 0 10px;
    font-size: 14px;
  }
  #footerAttentionArea ul li {
    padding-left: 1em;
    text-indent: -1em;
  }
  .imgFooter {
    width: 140px;
    margin: 20px auto;
  }
  .btnFootNav {
    padding: 10px 0;
    font-size: 13px;
  }
  #footerNav {
    font-size: 13px;
  }
  #footerNav li {
    padding: 5px 0;
    height: auto;
    display: block;
    border-left: none;
  }
  .fixBtnMargin {
    display: block;
    height: 80px;
  }
}

/* -----------------------
  fixed BTN
-------------------------- */
.fixBtnArea {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  z-index: 999;
  opacity: 0;
}
.fixBtnArea.fixed {
  opacity: 1;
  transition: all .6s ease;
}
.fixBtnApp,
.fixBtnStatus {
  width: 50%;
}
.fixBtnAppBefore {
  width: 100%;
}


/* -----------------------
  Parts
-------------------------- */
.tac {text-align: center;}

.mt05 {margin-top: 5px;}
.mt15 {margin-top: 15px;}
.mt10 {margin-top: 10px;}
.mt20 {margin-top: 20px;}
.mt30 {margin-top: 30px;}
.mt40 {margin-top: 40px;}
.mt50 {margin-top: 50px;}
.mt60 {margin-top: 60px;}
.mt70 {margin-top: 70px;}
.mt80 {margin-top: 80px;}
.mt90 {margin-top: 90px;}

.mb10 {margin-bottom: 10px;}
.mb20 {margin-bottom: 20px;}
.mb30 {margin-bottom: 30px;}
.mb40 {margin-bottom: 40px;}
.mb50 {margin-bottom: 50px;}
.mb60 {margin-bottom: 60px;}
.mb70 {margin-bottom: 70px;}
.mb80 {margin-bottom: 80px;}
.mb90 {margin-bottom: 90px;}

.ml10 {margin-left: 10px;}
.ml20 {margin-left: 20px;}
.ml30 {margin-left: 30px;}
.ml40 {margin-left: 40px;}
.ml50 {margin-left: 50px;}
.ml60 {margin-left: 60px;}
.ml70 {margin-left: 70px;}
.ml80 {margin-left: 80px;}
.ml90 {margin-left: 90px;}

.mr10 {margin-right: 10px;}
.mr20 {margin-right: 20px;}
.mr30 {margin-right: 30px;}
.mr40 {margin-right: 40px;}
.mr50 {margin-right: 50px;}
.mr60 {margin-right: 60px;}
.mr70 {margin-right: 70px;}
.mr80 {margin-right: 80px;}
.mr90 {margin-right: 90px;}

.pt20 {padding-top: 20px;}
.pt50 {padding-top: 50px;}

.pb50 {padding-bottom: 50px;}
.pb60 {padding-bottom: 60px;}
.pb70 {padding-bottom: 70px;}
.pb80 {padding-bottom: 80px;}
.pb90 {padding-bottom: 90px;}
.pb120 {padding-bottom: 120px;}

.pd05 {padding: 5px;}
.pd10 {padding: 10px;}
.pd20 {padding: 20px;}
.pd30 {padding: 30px;}
.pd40 {padding: 40px;}
.pd50 {padding: 50px;}
.pd60 {padding: 60px;}
.pd70 {padding: 70px;}
.pd80 {padding: 80px;}
.pd90 {padding: 90px;}

/* -----------------------
  spiral
-------------------------- */
.spiralSeal {
  width: 100%;
  margin: 0 auto !important;
  padding: 0 0 60px;
  font-size: 12px;
  font-weight: normal;
  line-height: 1.6em;
}
.spiralSeal a {
  color: #666;
  text-decoration: underline !important;
}
.spiralSealImg {
  width: 140px;
  margin: 10px auto;
}

/* -----------------------
  entry
-------------------------- */
.entryBtnWrap {
  margin: 60px 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.entryBtnItem {
  width: 47%;
}
.entryBtnSankaZumi {
  position: relative;
  width: 100%;
  padding: 18px 0;
  color: #fff;
  font-size: 20px;
  font-weight: 600;
  text-align: center;
  background-color: #f73b6d;
  border-radius: 90px;
  border: solid 1px #f73b6d;
}
.entryBtnSankaZumi a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.entryBtnSankaZumiEdit {
  position: relative;
  width: 100%;
  padding: 18px 0;
  color: #0d4694;
  font-size: 20px;
  font-weight: 500;
  text-align: center;
  background-color: #d6fbff;
  border-radius: 90px;
  border: solid 1px #0d4694;
}
.entryBtnSankaZumiEdit a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.entryAddTxt {
  margin-top: 10px;
  font-size: 12px;
  text-align: center;
  letter-spacing: 0;
  line-height: 1.4em;
}