@charset "UTF-8";
body {
  position: relative; }

.view_pc {
  display: block; }

.view_sp {
  display: none; }

.error {
  margin-bottom: 20px;
  color: #cc0000;
  font-weight: bold; }
  .error.none {
    display: none; }

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"], input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box; }
input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration {
  display: none; }
input[type="submit"]::focus, input[type="button"]::focus {
  outline-offset: -2px; }

/* ================================================ 
	header 
==============================================================================================================================================================*/
#page-header {
  margin: 0;
  position: relative;
  overflow: hidden;
  padding-bottom: 10px; }
  #page-header::after {
    content: '';
    width: 100%;
    height: 10px;
    position: absolute;
    bottom: 0;
    left: 0;
    background: linear-gradient(to left, #f88c00 0%, #ccdb37 25%, #00c4ff 50%, #8379c5 75%, #f2529d 100%); }
  #page-header .logo {
    background: #fff;
    padding: 13px 5% 23px;
    text-align: center;
    position: relative; }
    #page-header .logo img {
      display: block;
      margin: 0 auto;
      width: 50%;
      max-width: 206px; }
    #page-header .logo::after {
      content: '';
      width: 100%;
      height: 10px;
      position: absolute;
      bottom: 0;
      left: 0;
      background: linear-gradient(to left, #f88c00 0%, #ccdb37 25%, #00c4ff 50%, #8379c5 75%, #f2529d 100%); }
  #page-header .inner {
    padding: 10px 0 30px;
    background: url("../img/bg_main_visual.png") no-repeat center center;
    background-size: cover; }
    #page-header .inner h1 {
      margin: 0 auto;
      width: 80%;
      max-width: 600px;
      position: relative;
      z-index: 80; }
      #page-header .inner h1 img {
        width: 100%; }
    #page-header .inner .kv-nav {
      margin: 30px auto 0;
      width: 86%;
      max-width: 580px; }
      #page-header .inner .kv-nav ul {
        display: flex;
        flex-flow: row wrap;
        justify-content: center; }
        #page-header .inner .kv-nav ul li {
          width: 49%;
          margin-right: 2%; }
          #page-header .inner .kv-nav ul li:nth-child(2n) {
            margin-right: 0; }
          #page-header .inner .kv-nav ul li:nth-child(-n+2) {
            margin-bottom: 2%; }
    #page-header .inner p {
      margin: 20px auto 0;
      max-width: 580px;
      text-align: center; }
      #page-header .inner p.btn {
        margin: 40px auto 0;
        max-width: 464px; }

.modalTopics {
  display: none;
  height: 100vh;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100000; }

.modalTopics__bg {
  background: rgba(0, 0, 0, 0.8);
  height: 100vh;
  position: absolute;
  width: 100%; }

.modalTopics__content {
  left: 50%;
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 8550000;
  width: 90%;
  max-width: 800px; }
  .modalTopics__content .inblock {
    position: relative;
    background: url("../img/bg_modal.jpg") repeat left top #FDD000;
    border-radius: 30px;
    padding: 30px; }
    .modalTopics__content .inblock h2 {
      text-align: center;
      margin-bottom: 30px; }
    .modalTopics__content .inblock ul {
      margin-bottom: 20px; }
      .modalTopics__content .inblock ul li {
        background: url("../img/bg_modal_line.png") repeat-x left bottom;
        padding-bottom: 23px;
        margin-bottom: 20px; }
        .modalTopics__content .inblock ul li:last-child {
          background: none;
          padding-bottom: 0;
          margin-bottom: 0; }
    .modalTopics__content .inblock p {
      text-align: center; }

.js-modalTopics-closeBtn {
  position: absolute;
  top: -40px;
  right: 20px; }

/* ================================================ 
	Common 
==============================================================================================================================================================*/
.index-content {
  padding: 0 0 50px;
  background: url("../img/bg_index.png") no-repeat center center;
  background-size: cover; }

/* ================================================ 
	index 
==============================================================================================================================================================*/
#introduction {
  margin: 0 auto;
  width: 90%;
  max-width: 600px;
  padding: 40px 0 0; }
  #introduction figure {
    margin: 0 auto;
    padding: 0;
    display: block;
    text-align: center; }

#megashinka {
  margin: 100px auto 0;
  width: 90%;
  max-width: 600px;
  text-align: center; }

#play {
  margin: 100px auto 0; }
  #play .inner {
    margin: 0 auto;
    width: 90%;
    max-width: 600px;
    padding: 4px;
    box-sizing: border-box;
    background: linear-gradient(to right, #f57c00, #cddc39, #00bcd4, #7b1fa2, #ec407a);
    border-radius: 25px; }
    #play .inner .incont {
      background: url("../img/bg_contents.png") repeat;
      padding: 0 30px 30px;
      border-radius: 25px; }
      #play .inner .incont .play-intro {
        margin: 0 auto 65px;
        max-width: 407px; }
      #play .inner .incont h2 {
        margin: 0 auto 25px;
        width: 78%;
        max-width: 447px;
        position: relative;
        top: -35px; }
      #play .inner .incont .step1 {
        margin: 0 auto;
        width: 100%;
        max-width: 598px; }
      #play .inner .incont .step2 {
        margin: 50px auto 0;
        width: 100%;
        max-width: 598px; }
      #play .inner .incont .step2-image {
        margin: 20px auto 0;
        width: 100%;
        max-width: 274px; }
      #play .inner .incont .rally {
        margin: 30px auto 0;
        width: 90%;
        max-width: 464px; }
      #play .inner .incont .rally-caption {
        margin: 20px auto 0;
        width: 100%;
        max-width: 570px; }
      #play .inner .incont .asets {
        margin: 20px auto 0;
        width: 50%;
        max-width: 274px; }
      #play .inner .incont .step3 {
        margin: 60px auto 0;
        width: 100%;
        max-width: 598px; }
      #play .inner .incont .read {
        margin: 40px auto 0;
        width: 90%;
        max-width: 520px; }
      #play .inner .incont .caption1 {
        margin: 20px auto 0;
        width: 100%;
        max-width: 560px; }
      #play .inner .incont .step4 {
        margin: 50px auto 0;
        width: 100%;
        max-width: 598px; }
      #play .inner .incont .present {
        margin: 30px auto 0;
        width: 60%;
        max-width: 235px; }
      #play .inner .incont .step5 {
        margin: 50px auto 0;
        width: 100%;
        max-width: 575px; }
      #play .inner .incont .caption4 {
        margin: 40px auto 0;
        width: 100%;
        max-width: 575px; }
      #play .inner .incont .caption2 {
        margin: 20px auto 0;
        width: 100%;
        max-width: 560px; }
      #play .inner .incont .present2 {
        margin: 30px auto 0;
        width: 60%;
        max-width: 275px; }
      #play .inner .incont .caption4 {
        margin: 40px auto 0;
        width: 90%;
        max-width: 575px; }
      #play .inner .incont .caption5 {
        margin: 40px auto 0;
        width: 100%;
        max-width: 575px; }
      #play .inner .incont .caption6 {
        margin: 20px auto 0;
        width: 90%;
        max-width: 575px; }
      #play .inner .incont .caption3 {
        margin: 20px auto 0;
        width: 100%;
        max-width: 560px; }
  #play .btn {
    margin: 40px auto;
    width: 70%;
    max-width: 464px;
    text-align: center; }

#topics {
  margin: 100px auto 0;
  width: 90%;
  max-width: 640px;
  text-align: center; }
  #topics h2 {
    margin: 0 auto;
    max-width: 630px;
    text-align: center; }
  #topics p {
    margin: 30px auto;
    max-width: 640px;
    text-align: center; }

/* ================================================ 
	introduction 
==============================================================================================================================================================*/
/* ================================================ 
	present 
==============================================================================================================================================================*/
.presentBlock ul {
  margin: 0 auto 30px;
  width: 94%;
  padding: 20px;
  max-width: 1000px;
  box-sizing: border-box;
  box-shadow: 10px 10px #7e582b;
  border: 1px #7e582b solid;
  background: #fff6e4;
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: stretch; }
  .presentBlock ul li {
    width: 49%;
    margin-right: 2%; }
    .presentBlock ul li:last-child {
      margin-right: 0; }
      .presentBlock ul li:last-child p {
        margin-bottom: 15px; }
        .presentBlock ul li:last-child p:last-child {
          margin-bottom: 0; }

.btnComingSoon {
  margin: 0 auto 50px;
  width: 94%;
  text-align: center;
  max-width: 600px; }

.participationEndCover {
  padding: 10px 0 0; }

.participationEnd {
  margin: 0 auto 30px;
  max-width: 94%; }
  .participationEnd p {
    text-align: center; }
  .participationEnd .caption {
    text-align: center;
    display: inline-block;
    padding: 10px 0 0; }

.storeListCover {
  margin: 0 auto 30px;
  width: 94%; }
  .storeListCover .storeList a {
    margin: 0 auto;
    display: block;
    text-decoration: none;
    max-width: 570px;
    text-align: center;
    color: #EC6C48;
    background: #fff;
    border-radius: 10px;
    font-size: 16px;
    line-height: 150%;
    font-weight: bold;
    border: 3px #fff solid;
    box-shadow: 0px 0px 0px 3px #f4d214;
    cursor: pointer;
    padding: 15px;
    position: relative;
    width: 100%;
    box-sizing: border-box;
    position: relative; }
    .storeListCover .storeList a::after {
      content: '';
      width: 10px;
      height: 17px;
      position: absolute;
      top: 50%;
      right: 20px;
      transform: translate(0, -50%);
      background: url("../img/arrow.png") no-repeat left top;
      background-size: auto;
      background-size: 10px 17px; }

.shplistBtn a {
  margin: 20px auto 40px;
  max-width: 300px;
  padding: 10px;
  font-size: 16px;
  line-height: 150%;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  display: block;
  background: #d93026;
  color: #fff;
  border: 1px #fff solid;
  box-shadow: 0px 0px 0px 3px #d93026;
  transition: 0.6s; }
  .shplistBtn a:hover {
    background: #fff;
    color: #d93026;
    border: 1px #d93026 solid; }

.participation {
  margin: 0 auto 50px;
  width: 94%;
  box-sizing: border-box;
  max-width: 600px;
  display: block;
  background: #d93026;
  text-align: center;
  text-decoration: none !important;
  padding: 5px;
  transition: 0.6s;
  position: relative; }
  .participation.end {
    pointer-events: none !important;
    color: #000;
    background: #7A1B15; }
  .participation p {
    position: absolute;
    background: white;
    width: 80%;
    padding: 30px 10px;
    text-align: center;
    top: 50%;
    left: 50%;
    font-size: 20px;
    line-height: 150%;
    font-weight: bold;
    transform: translate(-50%, -50%);
    z-index: 1000; }
  .participation span {
    display: block;
    letter-spacing: 0.05em;
    padding: 10px;
    color: #fff;
    border: 1px #fff solid;
    font-size: 32px;
    line-height: 150%;
    position: relative;
    transition: 0.6s; }
    .participation span::after {
      position: absolute;
      top: 40%;
      transform: translate(0, -40%);
      right: 20px;
      margin: auto;
      content: "";
      vertical-align: middle; }
    .participation span::before {
      position: absolute;
      top: 40%;
      transform: translate(0, -40%);
      right: 20px;
      margin: auto;
      content: "";
      vertical-align: middle;
      width: 10px;
      height: 10px;
      border-top: 1px solid #fff;
      border-right: 1px solid #fff;
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg); }
  .participation:hover {
    background: #a92018; }
    .participation:hover span {
      background: #a92018; }

.spBtn {
  display: none; }

/* ================================================ 
	main 
==============================================================================================================================================================*/
main {
  display: block; }

#content {
  margin: 0 auto 50px;
  width: 94%;
  max-width: 1000px;
  padding: 30px 20px;
  background: #fff;
  box-sizing: border-box; }
  #content .compTxt {
    margin-bottom: 30px;
    text-align: left; }
    #content .compTxt .txt01 {
      margin-bottom: 10px;
      font-size: 20px;
      line-height: 150%;
      color: #6d400b; }
    #content .compTxt .txt02 {
      margin-bottom: 20px;
      font-size: 16px;
      line-height: 150%; }
    #content .compTxt .txt03 {
      font-size: 20px;
      line-height: 150%;
      font-weight: bold; }
      #content .compTxt .txt03 span {
        color: #6d400b; }
  #content .apri {
    text-align: center;
    margin-bottom: 30px; }

.intro {
  margin: 0 auto 50px;
  max-width: 1000px;
  width: 94%;
  box-sizing: border-box;
  padding: 0 0 30px;
  background: #fff;
  overflow: hidden;
  border-radius: 25px; }
  .intro .ttl h2 {
    margin: 0;
    color: #FDD000 !important;
    background: #771183 !important;
    padding: 5px 0;
    font-weight: bold; }
  .intro .flow {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    padding: 10px 30px; }
    .intro .flow li {
      margin: 0 auto 4%;
      text-align: center; }
      .intro .flow li:last-child {
        margin-bottom: 0; }

.about {
  margin: 0 auto 50px;
  max-width: 1000px;
  width: 94%; }

.endBlock {
  margin: 0 auto;
  max-width: 750px;
  text-align: center; }

/* ================================================ 
	common parts 
==============================================================================================================================================================*/
.ttl {
  margin-bottom: 20px;
  color: #86705B; }
  .ttl h2 {
    margin: 0;
    background: #2c2a25;
    text-align: center;
    padding: 5px;
    font-size: 24px;
    line-height: 150%;
    font-weight: bold;
    letter-spacing: 0.1em;
    color: #fdd000; }
  .ttl.contact {
    margin-bottom: 15px; }
    .ttl.contact h2 {
      margin-bottom: 0;
      color: #FA8CAA; }
  .ttl p {
    font-size: 16px;
    line-height: 170%; }
    .ttl p .tec {
      text-align: center; }

.blockTtl01 {
  margin-bottom: 20px;
  text-align: center;
  font-size: 24px;
  line-height: 150%;
  font-weight: bold;
  letter-spacing: 0.1em;
  color: #6d400b; }

.blockTtl02 {
  margin-bottom: 25px;
  border-bottom: 5px #6d400b solid;
  padding-bottom: 3px;
  color: #6d400b;
  text-align: center;
  font-size: 24px;
  line-height: 150%;
  font-weight: bold;
  letter-spacing: 0.1em; }
  .blockTtl02.pt1 {
    margin-bottom: 15px;
    border-bottom: 3px #6d400b solid; }

.blockTtl03 {
  padding: 5px 10px;
  background: #483c13;
  text-align: center;
  font-size: 24px;
  line-height: 150%;
  font-weight: bold;
  letter-spacing: 0.1em;
  color: #fff; }

.blockTtl04 {
  margin-bottom: 20px;
  text-align: center;
  font-size: 19px;
  line-height: 150%;
  font-weight: bold;
  letter-spacing: 0.1em;
  color: #6d400b;
  border-bottom: 4px #6d400b double; }

/* ================================================ 
	objectBlock 
==============================================================================================================================================================*/
.objectBlock.mb0 {
  margin-bottom: 0; }
.objectBlock .cardBlock {
  margin-bottom: 70px;
  background: #f8f5ec;
  border-radius: 20px;
  padding: 30px; }
  .objectBlock .cardBlock .cardSelect {
    margin-bottom: 20px;
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: flex-start; }
    .objectBlock .cardBlock .cardSelect input[type="radio"] {
      display: none; }
    .objectBlock .cardBlock .cardSelect label {
      border: 3px #f8f5ec solid;
      padding: 5px;
      box-sizing: border-box;
      cursor: pointer; }
    .objectBlock .cardBlock .cardSelect input[type="radio"]:checked + label.on {
      border: 3px #ad061c solid;
      background: #fbf0f1; }
    .objectBlock .cardBlock .cardSelect p {
      text-align: center;
      margin-top: 6px;
      font-size: 17px;
      line-height: 120%;
      letter-spacing: 0.1em;
      font-weight: bold; }
      .objectBlock .cardBlock .cardSelect p span {
        font-size: 11px;
        line-height: 130%; }
  .objectBlock .cardBlock .images {
    margin: 0 auto 20px;
    max-width: 760px;
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    /*--- IE10 用 ---*/
    display: -ms-flexbox;
    -ms-flex-flow: row nowrap;
    -ms-flex-pack: center;
    -ms-flex-align: center;
    /*--- Androidブラウザ用 ---*/
    display: -webkit-box;
    -webkit-box-direction: row;
    -webkit-box-pack: center;
    -webkit-box-align: center;
    /*--- safari（PC）用 ---*/
    display: -webkit-flex;
    -webkit-flow: row nowrap;
    -webkit-justify-content: center;
    -webkit-align-items: center; }
    .objectBlock .cardBlock .images.tabbox li {
      border: 3px #fff solid;
      box-sizing: border-box;
      padding: 10px; }
      .objectBlock .cardBlock .images.tabbox li.select {
        border: 3px #E3007F solid;
        background: #fbf0f1; }
    .objectBlock .cardBlock .images li {
      width: 49%;
      margin-right: 2%;
      text-align: center; }
      .objectBlock .cardBlock .images li:last-child {
        margin-right: 0; }
      .objectBlock .cardBlock .images li p {
        margin-bottom: 6px;
        font-size: 17px;
        line-height: 150%;
        letter-spacing: 0.1em;
        font-weight: bold; }
        .objectBlock .cardBlock .images li p:last-child {
          margin-bottom: 0; }
  .objectBlock .cardBlock .captionTxt {
    margin-bottom: 30px; }
    .objectBlock .cardBlock .captionTxt li {
      font-size: 16px;
      line-height: 160%; }
  .objectBlock .cardBlock .captionTxt01 {
    margin-bottom: 10px; }
    .objectBlock .cardBlock .captionTxt01 li {
      font-size: 15px;
      line-height: 160%; }
  .objectBlock .cardBlock .btnArea ul {
    margin: 0 auto 10px;
    max-width: 760px;
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    /*--- IE10 用 ---*/
    display: -ms-flexbox;
    -ms-flex-flow: row nowrap;
    -ms-flex-pack: center;
    -ms-flex-align: center;
    /*--- Androidブラウザ用 ---*/
    display: -webkit-box;
    -webkit-box-direction: row;
    -webkit-box-pack: center;
    -webkit-box-align: center;
    /*--- safari（PC）用 ---*/
    display: -webkit-flex;
    -webkit-flow: row nowrap;
    -webkit-justify-content: center;
    -webkit-align-items: center; }
    .objectBlock .cardBlock .btnArea ul:last-child {
      margin: 0 auto; }
    .objectBlock .cardBlock .btnArea ul li {
      margin-right: 2%;
      text-align: center; }
      .objectBlock .cardBlock .btnArea ul li:last-child {
        margin-right: 0; }
      .objectBlock .cardBlock .btnArea ul li a {
        transition: 0.4s; }
        .objectBlock .cardBlock .btnArea ul li a:hover {
          opacity: 0.7; }
.objectBlock.mb0 .cardBlock {
  margin-bottom: 0;
  padding: 30px 30px; }
.objectBlock.mb0 .confirmationTable {
  margin: 15px 0;
  width: 100%;
  border-collapse: collapse;
  border-top: 1px #6d400b solid;
  border-left: 1px #6d400b solid; }
  .objectBlock.mb0 .confirmationTable th {
    background: #BF7213;
    border-right: 1px #6d400b solid;
    border-bottom: 1px #6d400b solid;
    font-weight: normal;
    padding: 15px;
    color: #fff;
    text-align: left;
    width: 150px; }
  .objectBlock.mb0 .confirmationTable td {
    padding: 15px;
    border-right: 1px #6d400b solid;
    border-bottom: 1px #6d400b solid;
    background: #fff; }

/* ================================================ 
	guideBlock 
==============================================================================================================================================================*/
.guideBlock .guideStep {
  margin-bottom: 50px;
  border-radius: 20px;
  background: #f8f5ec;
  padding: 20px;
  text-align: center; }
  .guideBlock .guideStep h4 {
    margin-bottom: 20px;
    padding: 0 0 12px; }
    .guideBlock .guideStep h4 a {
      text-align: center; }
    .guideBlock .guideStep h4.cardType01 {
      background: url("../img/bg_card_type01.png") repeat-x left bottom; }
    .guideBlock .guideStep h4.cardType02 {
      background: url("../img/bg_card_type02.png") repeat-x left bottom; }
  .guideBlock .guideStep dl {
    margin-bottom: 15px;
    padding: 0 10px;
    text-align: left;
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: stretch;
    /*--- IE10 用 ---*/
    display: -ms-flexbox;
    -ms-flex-flow: row nowrap;
    -ms-flex-pack: flex-start;
    -ms-flex-align: stretch;
    /*--- Androidブラウザ用 ---*/
    display: -webkit-box;
    -webkit-box-direction: row;
    -webkit-box-pack: flex-start;
    -webkit-box-align: stretch;
    /*--- safari（PC）用 ---*/
    display: -webkit-flex;
    -webkit-flow: row nowrap;
    -webkit-justify-content: flex-start;
    -webkit-align-items: stretch; }
    .guideBlock .guideStep dl dt {
      width: 120px;
      margin-right: 20px; }
      .guideBlock .guideStep dl dt p {
        font-size: 18px;
        line-height: 150%;
        font-weight: bold; }
    .guideBlock .guideStep dl dd {
      flex: 1;
      font-size: 16px;
      line-height: 150%; }
      .guideBlock .guideStep dl dd span {
        font-size: 11px;
        line-height: 110%; }
  .guideBlock .guideStep .pt1 {
    margin-bottom: 50px; }
    .guideBlock .guideStep .pt1 dl dt p {
      background: #A83F80;
      color: #fff;
      text-align: center;
      border-radius: 50px; }
    .guideBlock .guideStep .pt1 dl dd a {
      color: #cb2095; }
  .guideBlock .guideStep .pt2 {
    margin-bottom: 0; }
    .guideBlock .guideStep .pt2 dl dt p {
      background: #8ACCEE;
      color: #fff;
      text-align: center;
      border-radius: 50px; }
    .guideBlock .guideStep .pt2 dl dd a {
      color: #02a9ff; }
.guideBlock.qrPage {
  margin: 0 auto;
  width: 94%;
  max-width: 767px; }

/* ================================================ 
	overViewlock 
==============================================================================================================================================================*/
.overViewlock {
  margin: 0 auto 30px; }
  .overViewlock .OverviewText {
    margin-bottom: 30px; }
  .overViewlock .overView {
    margin-bottom: 10px; }
    .overViewlock .overView dl {
      background: url(../img/bg_line01.png) repeat-x left bottom;
      display: flex;
      flex-flow: row nowrap;
      justify-content: flex-start;
      align-items: stretch;
      margin-bottom: 10px; }
      .overViewlock .overView dl:last-child {
        margin-bottom: 0; }
      .overViewlock .overView dl dt {
        margin-right: 10px;
        width: 150px;
        color: #000;
        background: #fdd000;
        display: flex;
        flex-flow: row nowrap;
        justify-content: center;
        align-items: center; }
        .overViewlock .overView dl dt span {
          display: block;
          text-align: center;
          font-size: 14px;
          line-height: 150%;
          letter-spacing: 0.1em;
          padding: 5px; }
      .overViewlock .overView dl dd {
        flex: 1;
        background: #f1f1f1;
        padding: 10px; }
        .overViewlock .overView dl dd a {
          color: #ff0000; }
        .overViewlock .overView dl dd p {
          margin-bottom: 1em; }
          .overViewlock .overView dl dd p:last-child {
            margin-bottom: 0; }
  .overViewlock .caption {
    font-size: 12px;
    line-height: 150%; }

/* ================================================ 
	overViewlock 
==============================================================================================================================================================*/
.applicationBlock {
  margin-bottom: 70px;
  text-align: center; }

/* ================================================ 
	precautionBlock 
==============================================================================================================================================================*/
.precautionBlock .captionTxt {
  font-size: 16px;
  line-height: 150%;
  text-align: right;
  font-weight: bold;
  color: #E3007F; }
.precautionBlock .precaution {
  margin-bottom: 10px;
  box-sizing: border-box;
  padding: 20px;
  height: 300px;
  overflow: auto;
  background: #fff; }
  .precautionBlock .precaution dl {
    margin-bottom: 30px; }
    .precautionBlock .precaution dl dt {
      margin-bottom: 10px;
      font-size: 20px;
      line-height: 150%;
      font-weight: bold;
      color: #751485; }
    .precautionBlock .precaution dl dd {
      line-height: 180%;
      padding-left: 0.5em;
      text-indent: -0.5em; }
  .precautionBlock .precaution .caption {
    margin-bottom: 0;
    background: #eee;
    padding: 15px; }
    .precautionBlock .precaution .caption dl {
      margin-bottom: 0; }
      .precautionBlock .precaution .caption dl dt {
        margin-bottom: 10px;
        color: #be9321;
        padding: 2px 0;
        font-size: 18px;
        line-height: 150%;
        font-weight: bold; }
      .precautionBlock .precaution .caption dl dd {
        line-height: 180%; }

.membersBlock {
  margin: 0 auto 50px;
  width: 94%;
  max-width: 1000px;
  text-align: center; }
  .membersBlock a {
    transition: 0.4s;
    display: block;
    text-align: center; }
    .membersBlock a:hover {
      opacity: 0.7; }

/* ================================================ 
	under-precaution 
==============================================================================================================================================================*/
#under-precaution {
  padding: 60px 5%;
  background: url("../img/bg_under_precaution.png") repeat center center; }
  #under-precaution.index {
    padding: 0;
    background: none;
    margin: 40px auto 0;
    width: 90%;
    max-width: 600px; }
  #under-precaution .please-note {
    margin: 0 auto 40px;
    background: #fff;
    padding: 20px;
    border-radius: 10px; }
    #under-precaution .please-note .ttl {
      text-align: center; }
      #under-precaution .please-note .ttl h2 {
        display: inline-block;
        position: relative;
        font-size: 20px;
        line-height: 180%;
        margin: 0;
        background: none;
        padding: 0;
        font-weight: bold;
        color: #000; }
        #under-precaution .please-note .ttl h2::before {
          content: '';
          position: absolute;
          transform: translate(0, -40%);
          top: 50%;
          left: -25px;
          width: 22px;
          height: 20px;
          background: url("../img/ico_precaution.png") no-repeat;
          background-size: 22px auto; }
        #under-precaution .please-note .ttl h2::after {
          content: '';
          position: absolute;
          transform: translate(0, -40%);
          top: 50%;
          right: -25px;
          width: 22px;
          height: 20px;
          background: url("../img/ico_precaution.png") no-repeat;
          background-size: 22px auto; }
    #under-precaution .please-note ul li {
      text-indent: -1em;
      padding-left: 1em;
      font-size: 14px;
      line-height: 180%; }
  #under-precaution .recommended-environment {
    margin: 0 auto;
    border-bottom: 1px #fff solid;
    border-left: 1px #fff solid;
    border-right: 1px #fff solid;
    padding: 0 0 20px;
    border-radius: 10px; }
    #under-precaution .recommended-environment .ttl {
      margin-bottom: 15px;
      text-align: center; }
      #under-precaution .recommended-environment .ttl h2 {
        margin: 0 0 -.89em;
        padding: 0;
        background: none;
        color: #fff;
        text-align: center;
        font-size: 18px;
        line-height: 180%;
        position: relative;
        top: -.89em; }
        #under-precaution .recommended-environment .ttl h2::before {
          content: '';
          position: absolute;
          transform: translate(0, -40%);
          top: 50%;
          left: 4px;
          width: 40%;
          height: 1px;
          background: #fff; }
        #under-precaution .recommended-environment .ttl h2::after {
          content: '';
          position: absolute;
          transform: translate(0, -40%);
          top: 50%;
          right: 4px;
          width: 40%;
          height: 1px;
          background: #fff; }
    #under-precaution .recommended-environment ul {
      padding: 0 20px; }
      #under-precaution .recommended-environment ul li {
        text-indent: -1em;
        padding-left: 1em;
        color: #fff;
        font-size: 14px;
        line-height: 180%; }
  #under-precaution .topics-under {
    margin-top: 60px; }

/* ================================================ 
	footer 
==============================================================================================================================================================*/
footer {
  position: relative;
  padding: 30px 0 20px; }
  footer .mallnav {
    margin: 0 auto 40px;
    width: 94%;
    text-align: center;
    max-width: 470px; }
  footer .share {
    margin: 0 auto 30px;
    width: 94%; }
    footer .share p {
      margin-bottom: 15px;
      font-weight: 600;
      text-align: center; }
      footer .share p span {
        color: #b62a92; }
    footer .share ul {
      display: flex;
      justify-content: center; }
      footer .share ul li {
        width: 60px;
        margin-right: 20px; }
        footer .share ul li:last-child {
          margin-right: 0; }
  footer .copyrights {
    margin: 0 auto;
    width: 94%;
    text-align: center;
    display: block; }
    footer .copyrights p {
      text-align: left;
      display: inline-block;
      font-size: 14px;
      line-height: 150%; }
      footer .copyrights p span {
        display: inline-block;
        margin-top: 5px;
        font-size: 10px;
        line-height: 150%; }
    footer .copyrights figure {
      display: block;
      margin: 20px auto 0;
      max-width: 170px; }

/* ================================================ 
	reader page 
==============================================================================================================================================================*/
.readerIntro {
  margin: 0 auto 30px;
  width: 94%;
  max-width: 767px;
  color: #86705B;
  font-size: 14px;
  line-height: 150%; }
  .readerIntro strong {
    color: #E3007F;
    font-weight: bold; }
  .readerIntro.off {
    display: none; }

.readerCaption {
  margin: 0 auto;
  width: 90%;
  color: #ff1c1d;
  max-width: 690px;
  font-size: 12px;
  line-height: 150%;
  font-weight: bold;
  box-sizing: border-box; }
  .readerCaption figure {
    margin: 0 auto;
    width: 70%;
    display: block;
    text-align: center; }
  .readerCaption.introPage {
    margin: 0 auto 20px; }
  .readerCaption.qrPage h2 {
    font-size: 28px;
    line-height: 150%; }
  .readerCaption.qrPage p {
    font-size: 16px;
    line-height: 150%; }
  .readerCaption.entry {
    margin-bottom: 15px;
    font-size: 14px;
    line-height: 160%;
    font-weight: normal;
    background: none;
    color: #eb0624;
    padding: 10px;
    box-sizing: border-box;
    text-align: left; }
    .readerCaption.entry strong {
      font-size: 120%;
      line-height: 150%; }
  .readerCaption.off {
    display: none; }

.readerCaptionTxt {
  margin: 0 auto 60px;
  width: 94%;
  max-width: 767px;
  box-sizing: border-box;
  color: #493c13;
  background: #EFCF8C;
  border: 2px #483B12 solid;
  border-radius: 10px;
  text-align: center;
  font-size: 14px;
  line-height: 150%;
  font-weight: normal;
  padding: 5px 10px; }
  .readerCaptionTxt h2 {
    font-size: 24px;
    line-height: 140%;
    color: #ff0000;
    font-weight: bold; }

.wallpaperBlockCover {
  position: relative;
  background: url("../img/bg_contents.png") repeat;
  padding: 30px 0 50px; }

.wallpaperBlock {
  margin: 0 auto;
  padding-top: 40px;
  width: 100%;
  max-width: 750px;
  box-sizing: border-box;
  position: relative;
  /*.line {
  	position: absolute;
  	z-index: 10000;
  	pointer-events: none;
  	left: 50%;
  	top: 0;
  	width: 1px;
  	height: 100%;
  	background: #ddd;
  }*/ }
  .wallpaperBlock ul {
    position: relative;
    z-index: 30;
    margin-bottom: 30px;
    display: flex;
    flex-flow: row wrap; }
    .wallpaperBlock ul li {
      box-sizing: border-box;
      position: relative;
      z-index: 999;
      padding: 0;
      margin: 0;
      transition: 1.8s;
      width: 49%;
      /*.discovery {
      	position: absolute;
      	pointer-events: none;
      	left: 30%;
      	top: 65%;
      	transform: translate(-50%, -65%);
      	width: 44%;
      	max-width: 146px;
      	z-index: 1000;
      	transition: 0.8s;
      	transition-delay: 2s;
      	opacity: 0;
      	perspective: 500px;
      }*/ }
      .wallpaperBlock ul li:nth-child(odd) {
        margin-right: 1%; }
      .wallpaperBlock ul li:nth-child(even) {
        margin-left: 1%; }
      .wallpaperBlock ul li:nth-child(-n+3) {
        margin-bottom: 30px; }
      .wallpaperBlock ul li .overCover {
        display: none; }
      .wallpaperBlock ul li figure {
        display: block;
        margin: 0 auto 20px;
        position: relative; }
        .wallpaperBlock ul li figure .before {
          opacity: 1;
          transition: .8s;
          transition-delay: 1s; }
        .wallpaperBlock ul li figure .after {
          opacity: 0;
          transition: .8s;
          transition-delay: 1s;
          position: absolute;
          top: 0;
          left: 0; }
      .wallpaperBlock ul li .images-cover {
        margin: 0 auto;
        width: 90%; }
      .wallpaperBlock ul li .images {
        position: relative;
        overflow: hidden; }
        .wallpaperBlock ul li .images span {
          margin: 0 auto;
          width: 100%;
          display: block;
          cursor: pointer;
          transition: 0.6s;
          transition-delay: 1s; }
      .wallpaperBlock ul li .get {
        position: absolute;
        pointer-events: none;
        top: -7%;
        left: 50%;
        transform: translate(-50%, 0);
        width: 86%;
        opacity: 1;
        z-index: 1000;
        transition: 0.8s; }
      .wallpaperBlock ul li .getStamp {
        opacity: 0;
        position: absolute;
        top: -200px;
        left: -25px;
        z-index: 1;
        transform: scale(5, 5);
        transform: rotate(-180deg);
        perspective: 500px;
        pointer-events: none; }
      .wallpaperBlock ul li.stamped .overCover {
        display: block;
        position: absolute;
        z-index: 50;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0);
        z-index: 50; }
      .wallpaperBlock ul li.stamped .get {
        /*opacity: 0;*/ }
      .wallpaperBlock ul li.stamped .discovery {
        animation-name: stampDiscovery;
        animation-duration: 1.2s;
        animation-delay: 2s;
        animation-direction: normal;
        animation-fill-mode: both;
        width: 100%;
        z-index: 49; }
      .wallpaperBlock ul li.stamped figure .before {
        opacity: 0; }
      .wallpaperBlock ul li.stamped figure .after {
        opacity: 1; }
      .wallpaperBlock ul li.stamped .images {
        z-index: 48; }
        .wallpaperBlock ul li.stamped .images span, .wallpaperBlock ul li.stamped .images p {
          opacity: 0; }
      .wallpaperBlock ul li.stamped .getStamp {
        /*
        animation-name: stamp;
        animation-duration: 0.8s;
        animation-delay: 0.5s;
        animation-direction: normal;
        animation-fill-mode: both;
        */
        animation-name: stampDiscovery;
        animation-duration: 1.2s;
        animation-delay: 1s;
        animation-direction: normal;
        animation-fill-mode: both;
        width: 100%;
        z-index: 49; }

@keyframes stampDiscovery {
  0% {
    position: absolute;
    top: 70%;
    left: 20%;
    transform: translate(-20%, -70%) scale(5) rotate(-80deg); }
  33% {
    position: absolute;
    top: 70%;
    left: 20%;
    transform: translate(-20%, -70%); }
  60% {
    position: absolute;
    top: 70%;
    left: 20%;
    transform: translate(-20%, -70%); }
  100% {
    transform: scale(1) rotate(0deg);
    position: absolute;
    top: 70%;
    left: 20%;
    opacity: 1;
    transform: translate(-20%, -70%); } }
@keyframes stamp {
  0% {
    transform: rotateY(360deg); }
  100% {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 1;
    transform: rotateY(0deg); } }
#megashinka01,
#megashinka02,
#megashinka03,
#megashinka04 {
  opacity: 0;
  transition: 0.5s;
  width: 100%;
  height: 100vh;
  z-index: 10000;
  top: 0;
  left: 0;
  position: fixed;
  pointer-events: none; }
  #megashinka01.on,
  #megashinka02.on,
  #megashinka03.on,
  #megashinka04.on {
    opacity: 1;
    transition: 0.5s;
    pointer-events: auto; }
    #megashinka01.on .over,
    #megashinka02.on .over,
    #megashinka03.on .over,
    #megashinka04.on .over {
      opacity: 1; }
    #megashinka01.on p,
    #megashinka02.on p,
    #megashinka03.on p,
    #megashinka04.on p {
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%) scale(1);
      opacity: 1; }
  #megashinka01 p,
  #megashinka02 p,
  #megashinka03 p,
  #megashinka04 p {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    text-align: center;
    transition: 0.8s;
    box-sizing: border-box;
    transform: translate(-50%, -50%);
    opacity: 0;
    z-index: 20000;
    overflow: hidden; }
    #megashinka01 p video,
    #megashinka02 p video,
    #megashinka03 p video,
    #megashinka04 p video {
      width: 100%;
      height: 100%;
      object-fit: cover;
      /* ★ これがフルスクリーン中央フィットの決め手 */
      object-position: center;
      opacity: 1 !important;
      transform: none !important; }
  #megashinka01 .over,
  #megashinka02 .over,
  #megashinka03 .over,
  #megashinka04 .over {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10001;
    opacity: 0;
    transition: 0.5s;
    background: url("../img/modal.png") repeat; }

.modalCover {
  opacity: 0;
  transition: 0.5s;
  width: 100%;
  height: 100%;
  z-index: 10000;
  position: fixed;
  top: 0;
  pointer-events: none; }
  .modalCover.on {
    transition-delay: 1s;
    opacity: 1;
    transition: 0.5s;
    pointer-events: auto; }
    .modalCover.on.complete {
      transition-delay: 3.5s; }
      .modalCover.on.complete .modal {
        transition-delay: 2.2s !important;
        height: auto; }
    .modalCover.on .modal {
      transform: translate(-50%, -50%) scale(1); }
    .modalCover.on .over {
      opacity: 1; }
  .modalCover .over {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10001;
    opacity: 0;
    transition: 0.5s;
    background: url("../img/modal.png") repeat; }
    .modalCover .over img {
      width: 100%;
      height: 100%; }

.modal {
  margin: 0 auto;
  max-width: 320px;
  z-index: 20000;
  width: 86%;
  max-height: 80vh;
  position: absolute;
  top: 50%;
  left: 50%;
  box-sizing: border-box;
  transform: translate(-50%, -50%) scale(0);
  transition: 0.5s;
  transition-delay: 0.2s; }
  .modal .ribon {
    position: relative;
    top: 34px;
    z-index: 100; }
  .modal .inner {
    margin-bottom: 0;
    position: relative;
    z-index: 99;
    border-radius: 20px; }
    .modal .inner .cover {
      width: 100%;
      height: 100%;
      position: absolute;
      z-index: 301;
      top: 0;
      left: 0;
      background-color: rgba(0, 0, 0, 0);
      display: none; }
    .modal .inner .block {
      padding: 0;
      box-sizing: border-box;
      background: #ffe100;
      background-size: cover;
      border-radius: 20px; }
      .modal .inner .block.complete {
        background: url("../img/bg_comp_stamp.png") no-repeat center bottom 26% #EC6C48;
        background-size: 100% auto; }
        .modal .inner .block.complete .contBlock {
          background: none !important;
          padding: 0 !important; }
      .modal .inner .block.questionnaire {
        background: #fff; }
        .modal .inner .block.questionnaire .inBlock {
          padding: 15px; }
      .modal .inner .block .inBlock {
        padding: 0; }
        .modal .inner .block .inBlock .mi {
          text-align: center;
          color: #b90083;
          font-size: 18px;
          line-height: 150%; }
        .modal .inner .block .inBlock .contBlock {
          padding: 15px 0 0;
          position: relative;
          background: url("../img/bg_modal.png") no-repeat center top #FDD000;
          background-size: 100% auto;
          border-radius: 20px; }
          .modal .inner .block .inBlock .contBlock h2 {
            margin: 0 auto 10px;
            padding: 0;
            width: 57%;
            position: static; }
            .modal .inner .block .inBlock .contBlock h2.completeTtl {
              margin: 0 auto;
              width: 75%;
              position: static; }
            .modal .inner .block .inBlock .contBlock h2.completeTxt {
              text-align: center !important;
              margin-bottom: 0px;
              color: #333;
              font-size: 13px;
              line-height: 150%;
              width: 100%;
              box-sizing: border-box;
              padding: 10px 15px 0; }
          .modal .inner .block .inBlock .contBlock .contArea {
            max-height: calc(85vh - 65px);
            /*overflow: auto;*/
            box-sizing: border-box; }
            .modal .inner .block .inBlock .contBlock .contArea.overFlowNone {
              height: auto;
              overflow: visible; }
            .modal .inner .block .inBlock .contBlock .contArea figure {
              margin: 0;
              background: #771183;
              padding: 10px 10px 0; }
              .modal .inner .block .inBlock .contBlock .contArea figure img {
                margin: 0 auto;
                width: 80%;
                display: block; }
          .modal .inner .block .inBlock .contBlock .completeMessage {
            text-align: center;
            margin: 5px 0 5px;
            width: 100%;
            color: #fff;
            box-sizing: border-box;
            padding: 0 15px;
            font-size: 11px;
            line-height: 150%; }
            .modal .inner .block .inBlock .contBlock .completeMessage strong {
              font-size: 12px;
              line-height: 150%; }
          .modal .inner .block .inBlock .contBlock .completeMessage2 {
            color: #fff;
            font-size: 11px;
            line-height: 150%;
            text-align: center;
            margin-bottom: 10px; }
            .modal .inner .block .inBlock .contBlock .completeMessage2 p {
              margin: 0 auto;
              width: 75%; }
          .modal .inner .block .inBlock .contBlock .completeTxt02 {
            margin-bottom: 20px;
            padding: 10px 15px 0;
            font-size: 12px;
            line-height: 150%;
            font-weight: bold;
            text-align: center; }
            .modal .inner .block .inBlock .contBlock .completeTxt02 p {
              margin-bottom: 5px;
              color: #333; }
              .modal .inner .block .inBlock .contBlock .completeTxt02 p:last-child {
                margin-bottom: 0; }
              .modal .inner .block .inBlock .contBlock .completeTxt02 p strong {
                font-weight: bold;
                color: #e70015; }
                .modal .inner .block .inBlock .contBlock .completeTxt02 p strong.strong01 {
                  font-size: 144%;
                  line-height: 150%; }
                .modal .inner .block .inBlock .contBlock .completeTxt02 p strong.strong {
                  font-size: 120%;
                  line-height: 150%; }
                .modal .inner .block .inBlock .contBlock .completeTxt02 p strong.strong03 {
                  display: block; }
                .modal .inner .block .inBlock .contBlock .completeTxt02 p strong.strong02 {
                  font-size: 90%;
                  line-height: 140%;
                  display: block; }
          .modal .inner .block .inBlock .contBlock .completeTxt03 {
            margin: 0 auto;
            width: 90%;
            box-sizing: border-box;
            padding: 10px;
            font-size: 10px;
            line-height: 150%;
            text-align: center;
            background: #fff; }
            .modal .inner .block .inBlock .contBlock .completeTxt03 figure {
              margin: 0 auto 10px;
              width: 42%; }
            .modal .inner .block .inBlock .contBlock .completeTxt03 p {
              margin: 0 auto 5px;
              color: #333; }
              .modal .inner .block .inBlock .contBlock .completeTxt03 p:last-child {
                margin-bottom: 0; }
          .modal .inner .block .inBlock .contBlock .parts {
            position: absolute;
            left: 50%;
            top: 30%;
            transform: translate(-50%, -30%);
            position: absolute;
            width: 96%;
            z-index: 300; }
          .modal .inner .block .inBlock .contBlock .image {
            margin: 10px auto;
            width: 80%;
            position: relative;
            text-align: center; }
            .modal .inner .block .inBlock .contBlock .image p {
              display: inline-block; }
              .modal .inner .block .inBlock .contBlock .image p img {
                width: 100%;
                height: auto; }
          .modal .inner .block .inBlock .contBlock .movieAcc {
            margin: 0 auto;
            width: 80%; }
            .modal .inner .block .inBlock .contBlock .movieAcc.stampcomp {
              margin: 10px auto;
              width: 37%; }
          .modal .inner .block .inBlock .contBlock .extinction {
            margin-top: 15px;
            background: url("../img/bg_fukidashi.png") no-repeat left top;
            background-size: 100% 100%;
            padding-bottom: 60px;
            position: relative; }
            .modal .inner .block .inBlock .contBlock .extinction.pt2 {
              padding-bottom: 70px; }
            .modal .inner .block .inBlock .contBlock .extinction.pt3 {
              padding-bottom: 60px; }
            .modal .inner .block .inBlock .contBlock .extinction .extinction-commentary {
              padding: 25px 25px 25px 30px; }
              .modal .inner .block .inBlock .contBlock .extinction .extinction-commentary p {
                font-size: 13px;
                line-height: 150%; }
            .modal .inner .block .inBlock .contBlock .extinction .animal1 {
              position: absolute;
              right: 5%;
              bottom: 0;
              width: 34%; }
            .modal .inner .block .inBlock .contBlock .extinction .animal2 {
              position: absolute;
              right: 5%;
              bottom: 0;
              width: 48%; }
            .modal .inner .block .inBlock .contBlock .extinction .animal3 {
              position: absolute;
              right: 5%;
              bottom: 0;
              width: 60%; }
          .modal .inner .block .inBlock .contBlock .txt {
            text-align: center;
            font-size: 14px;
            line-height: 150%;
            font-weight: bold;
            color: #000;
            margin-bottom: 10px; }
          .modal .inner .block .inBlock .contBlock .commentary h3 {
            color: #55a25b;
            text-align: center;
            font-size: 16px;
            line-height: 150%;
            font-weight: bold; }
          .modal .inner .block .inBlock .contBlock .commentary .inBlock {
            color: #000;
            box-sizing: border-box;
            font-size: 13px;
            line-height: 150%; }
            .modal .inner .block .inBlock .contBlock .commentary .inBlock figure {
              margin: 15px 0 0; }
            .modal .inner .block .inBlock .contBlock .commentary .inBlock h4 {
              text-align: center;
              font-size: 15px;
              line-height: 180%;
              color: #000; }
            .modal .inner .block .inBlock .contBlock .commentary .inBlock p {
              padding-bottom: 15px;
              word-break: break-all; }
              .modal .inner .block .inBlock .contBlock .commentary .inBlock p strong {
                color: #ff0000; }
              .modal .inner .block .inBlock .contBlock .commentary .inBlock p:last-child {
                margin-bottom: 0; }
            .modal .inner .block .inBlock .contBlock .commentary .inBlock .national {
              background: #000;
              padding: 25px 15px 10px;
              color: #fff;
              position: relative; }
              .modal .inner .block .inBlock .contBlock .commentary .inBlock .national::before {
                content: '';
                position: absolute;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
                background: url("../img/bg_national.png") no-repeat left top;
                background-size: 15% auto; }
              .modal .inner .block .inBlock .contBlock .commentary .inBlock .national h4 {
                color: #fff; }
              .modal .inner .block .inBlock .contBlock .commentary .inBlock .national .copy {
                padding-bottom: 0 !important;
                text-align: right; }
          .modal .inner .block .inBlock .contBlock .postCard {
            margin: 15px auto 0;
            width: 94%;
            display: flex;
            flex-flow: row nowrap;
            justify-content: flex-start;
            align-items: center; }
            .modal .inner .block .inBlock .contBlock .postCard p {
              width: 78%;
              margin-right: 4%;
              text-align: left; }
              .modal .inner .block .inBlock .contBlock .postCard p:last-child {
                width: 18%;
                margin-right: 0;
                text-align: right; }
  .modal .modalLogoCover {
    background: #fff;
    padding: 10px;
    border-radius: 0 0 20px 20px; }
    .modal .modalLogoCover img {
      margin: 0 auto;
      width: 80%;
      display: block; }
  .modal .closeBtnCover {
    background: #771183;
    padding: 15px 10px; }
    .modal .closeBtnCover.complete {
      padding: 0 15px;
      background: none; }
    .modal .closeBtnCover img {
      margin: 0 auto;
      width: 80%;
      display: block; }
    .modal .closeBtnCover a {
      text-decoration: none !important;
      display: block; }
  .modal .closeBtnCover02 {
    padding: 0 15px 15px; }
    .modal .closeBtnCover02 a {
      text-decoration: none !important;
      display: block; }
  .modal .closeBtnCover3 {
    background: #fff;
    text-align: center;
    padding: 10px;
    border-radius: 0 0 20px 20px; }
    .modal .closeBtnCover3 figure {
      margin: 0 auto;
      width: 80%; }
  .modal .closeBtn {
    margin: 0 auto;
    max-width: 320px;
    text-align: center;
    color: #771183;
    background: #fff;
    cursor: pointer;
    /*border: 2px #fff solid;
    box-shadow: 0px 0px 0px 3px #f4d214;*/
    padding: 10px;
    position: relative;
    width: 84%;
    font-weight: bold;
    border-radius: 10px; }
    .modal .closeBtn.aeon {
      background: #b90083;
      box-shadow: 0px 0px 0px 3px #b90083;
      color: #fff; }
      .modal .closeBtn.aeon p {
        background: #8b1a6a !important;
        box-shadow: 0px 0px 0px 3px #8b1a6a !important;
        color: #Fff !important; }
        .modal .closeBtn.aeon p span:before {
          background-color: #fff; }
        .modal .closeBtn.aeon p span:after {
          background-color: #fff; }
    .modal .closeBtn.closeBtnComplete {
      background: #fff;
      margin-bottom: 20px;
      /*box-shadow: 0px 0px 0px 3px #f4d214;*/
      color: #EC6C48;
      font-size: 90%;
      line-height: 150%; }
      .modal .closeBtn.closeBtnComplete p {
        background: #F5B5A3 !important;
        /*box-shadow: 0px 0px 0px 3px #8b1a6a!important;*/
        color: #Fff !important; }
        .modal .closeBtn.closeBtnComplete p span {
          background: #F5B5A3; }
          .modal .closeBtn.closeBtnComplete p span:before {
            background-color: #fff; }
          .modal .closeBtn.closeBtnComplete p span:after {
            background-color: #fff; }
    .modal .closeBtn p {
      position: absolute;
      display: block;
      width: 22px;
      height: 22px;
      background: #C9A0CD;
      right: 10px;
      top: 50%;
      transform: translate(0, -50%); }
      .modal .closeBtn p span {
        position: relative;
        display: block;
        margin-top: 0;
        width: 20px;
        height: 20px;
        background-color: transparent;
        -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
        transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1); }
        .modal .closeBtn p span:before {
          content: '';
          -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
          transform: rotate(45deg);
          position: absolute;
          top: 10px;
          left: 1px;
          width: 100%;
          height: 2px;
          -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
          transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
          background-color: #fff; }
        .modal .closeBtn p span:after {
          content: '';
          -webkit-transform: rotate(-45deg);
          -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
          position: absolute;
          top: 10px;
          left: 1px;
          width: 100%;
          height: 2px;
          -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
          transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
          background-color: #fff; }

.cardTtl {
  margin-bottom: 20px;
  background: #6d400b;
  color: #fff;
  text-align: center;
  padding: 10px;
  font-size: 24px;
  line-height: 150%;
  font-weight: bold; }

.find {
  margin: 0 auto 40px;
  width: 94%;
  max-width: 767px;
  padding: 20px 10px;
  box-sizing: border-box;
  text-align: center;
  background: #F5F5F5;
  color: #86705B;
  border-radius: 20px;
  font-size: 18px;
  line-height: 160%; }
  .find.off {
    display: none; }

.questionBlock {
  margin: 0 auto 40px;
  width: 94%;
  max-width: 767px;
  padding: 30px 0 0; }
  .questionBlock .beginning {
    text-align: center;
    color: #fff; }
  .questionBlock .step {
    margin: 30px 0 0;
    padding: 0;
    box-sizing: border-box;
    font-size: 18px;
    line-height: 160%;
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    border: 3px #fdd000 solid; }
    .questionBlock .step:first-child {
      margin-top: 20px; }
    .questionBlock .step h2 {
      background: #fdd000;
      color: #000;
      text-align: center;
      padding: 5px 10px;
      font-size: 16px;
      line-height: 150%; }
    .questionBlock .step .image {
      margin-bottom: 10px;
      text-align: center; }
    .questionBlock .step .question {
      padding: 30px; }
      .questionBlock .step .question select {
        display: block;
        margin: 0 auto;
        width: 90%;
        max-width: 380px;
        font-size: 16px;
        line-height: 150%; }
      .questionBlock .step .question .flex {
        display: flex;
        flex-flow: row nowrap;
        justify-content: center;
        align-items: stretch; }
        .questionBlock .step .question .flex label {
          width: 48%;
          text-align: center;
          font-size: 18px;
          line-height: 150%;
          padding: 15px 20px;
          font-weight: bold; }
          .questionBlock .step .question .flex label.woman {
            margin-right: 20px;
            background: #fff;
            color: #FA818E;
            border: 1px #fff solid;
            box-shadow: 0px 0px 0px 3px #FA818E; }
          .questionBlock .step .question .flex label.man {
            background: #ccc;
            color: #6AAFCE;
            border: 1px #fff solid;
            box-shadow: 0px 0px 0px 3px #6AAFCE; }
          .questionBlock .step .question .flex label.none {
            background: #aaa;
            color: #333;
            border: 1px #fff solid;
            box-shadow: 0px 0px 0px 3px #aaa; }
        .questionBlock .step .question .flex input[type="radio"] {
          display: none; }
          .questionBlock .step .question .flex input[type="radio"]:checked + label.woman {
            background: #FA818E;
            color: #fff; }
          .questionBlock .step .question .flex input[type="radio"]:checked + label.man {
            background: #6AAFCE;
            color: #fff; }
          .questionBlock .step .question .flex input[type="radio"]:checked + label.none {
            background: #ccc;
            color: #fff; }
    .questionBlock .step .about {
      padding: 25px 15px 0;
      width: 100%;
      box-sizing: border-box; }
      .questionBlock .step .about .aboutContent {
        margin-bottom: 30px;
        border-bottom: 2px #ccc dotted;
        padding-bottom: 20px; }
        .questionBlock .step .about .aboutContent:last-child {
          margin-bottom: 0;
          padding-bottom: 0;
          border: none; }
        .questionBlock .step .about .aboutContent .image {
          text-align: center;
          margin-bottom: 10px; }
        .questionBlock .step .about .aboutContent p {
          text-align: center;
          font-size: 13px;
          line-height: 150%;
          margin-bottom: 15px; }
          .questionBlock .step .about .aboutContent p:last-child {
            margin-bottom: 0; }
          .questionBlock .step .about .aboutContent p span {
            color: #ff0000;
            font-size: 12px;
            line-height: 150%; }
    .questionBlock .step .lineBlock {
      margin: 0 auto 30px;
      width: 80%;
      display: flex;
      flex-flow: row nowrap;
      justify-content: flex-start;
      align-items: stretch; }
      .questionBlock .step .lineBlock .icon {
        width: 64px;
        margin-right: 20px; }
      .questionBlock .step .lineBlock .btnBox {
        flex: 1;
        display: flex;
        flex-flow: row nowrap;
        justify-content: flex-start;
        align-items: center;
        border: 1px #000 solid;
        box-sizing: border-box;
        padding: 2px 4px; }
        .questionBlock .step .lineBlock .btnBox .aboutCont {
          margin-bottom: 0;
          padding: 15px 5px; }
    .questionBlock .step .aboutCont {
      width: 100%;
      margin-bottom: 15px;
      box-sizing: border-box;
      text-align: center;
      display: block;
      padding: 20px 5px;
      font-size: 16px;
      line-height: 150%;
      font-weight: bold;
      text-decoration: none;
      color: #333;
      border: 1px #fff solid;
      transition: 0.6s; }
      .questionBlock .step .aboutCont.line {
        background: #fff;
        color: #000;
        box-shadow: 0px 0px 0px 3px #fff;
        border: 1px #000 solid; }
      .questionBlock .step .aboutCont.camera {
        background: #fdd000;
        color: #000;
        box-shadow: 0px 0px 0px 3px #fdd000;
        pointer-events: none; }
        .questionBlock .step .aboutCont.camera span {
          font-size: 12px;
          line-height: 150%; }
      .questionBlock .step .aboutCont:hover.line {
        border: 1px #fff solid;
        background: #000;
        color: #fff !important;
        box-shadow: 0px 0px 0px 3px #000; }
      .questionBlock .step .aboutCont:hover.camera {
        background: #fff !important;
        color: #000 !important;
        box-shadow: 0px 0px 0px 3px #333; }
        .questionBlock .step .aboutCont:hover.camera span {
          font-size: 12px;
          line-height: 150%; }
    .questionBlock .step .captionTxt {
      text-align: center;
      padding: 0 15px 15px;
      font-size: 13px;
      line-height: 150%; }
      .questionBlock .step .captionTxt span {
        font-size: 12px;
        line-height: 150%; }

.questionnaire .step {
  margin: 0 0 10px;
  font-size: 18px;
  line-height: 160%;
  background: #efe8ed;
  border-radius: 10px;
  padding: 10px; }
  .questionnaire .step h2 {
    margin: 0 0 10px !important;
    color: #750e57;
    text-align: center !important;
    padding: 3px 10px;
    font-size: 14px;
    line-height: 150%;
    box-sizing: border-box; }
  .questionnaire .step .question {
    padding: 0; }
    .questionnaire .step .question select {
      display: block;
      margin: 0 auto;
      width: 90%;
      max-width: 380px;
      font-size: 16px;
      line-height: 150%; }
    .questionnaire .step .question .flex {
      display: flex;
      flex-flow: row nowrap;
      justify-content: center;
      align-items: stretch; }
      .questionnaire .step .question .flex label {
        text-align: center;
        font-size: 14px;
        line-height: 150%;
        padding: 3px 5px;
        font-weight: bold; }
        .questionnaire .step .question .flex label.woman {
          width: 25%;
          margin-right: 15px;
          background: #e5576b;
          color: #fff;
          border: 1px #fff solid;
          box-shadow: 0px 0px 0px 3px #e5576b; }
        .questionnaire .step .question .flex label.man {
          width: 25%;
          margin-right: 15px;
          background: #387eab;
          color: #fff;
          border: 1px #fff solid;
          box-shadow: 0px 0px 0px 3px #387eab; }
        .questionnaire .step .question .flex label.none {
          width: 40%;
          background: #aaa;
          color: #333;
          border: 1px #fff solid;
          box-shadow: 0px 0px 0px 3px #aaa; }
      .questionnaire .step .question .flex input[type="radio"] {
        display: none; }
        .questionnaire .step .question .flex input[type="radio"]:checked + label.woman {
          background: #FA818E;
          color: #fff; }
        .questionnaire .step .question .flex input[type="radio"]:checked + label.man {
          background: #6AAFCE;
          color: #fff; }
        .questionnaire .step .question .flex input[type="radio"]:checked + label.none {
          background: #ccc;
          color: #333; }

.endCaption {
  margin: 10px auto 0; }
  .endCaption a {
    color: #ff0000; }

.btnBlock {
  margin: 0 auto 50px;
  width: 78%;
  max-width: 630px;
  font-size: 16px;
  line-height: 150%; }
  .btnBlock#secret {
    text-align: center; }
  .btnBlock p.caption {
    margin-bottom: 10px;
    text-align: center; }
  .btnBlock p.btn {
    margin-bottom: 10px;
    text-align: center; }
  .btnBlock p.btn-camera {
    margin-bottom: 10px;
    text-align: center; }
    .btnBlock p.btn-camera button {
      margin: 0;
      border: none;
      background: none; }
  .btnBlock p:last-child {
    text-align: center;
    margin: 20px auto 0;
    max-width: 566px;
    font-size: 10px;
    line-height: 150%; }

#qr-reader {
  position: fixed !important;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: #000;
  z-index: 9999; }
  #qr-reader.hidden {
    display: none; }

.quizBlock {
  margin: 0 auto 20px;
  max-width: 680px;
  width: 94%;
  box-sizing: border-box; }
  .quizBlock h2 {
    position: relative;
    top: 30px; }
  .quizBlock .quizarea {
    border-left: 3px #ffda1c solid;
    border-right: 3px #ffda1c solid;
    border-bottom: 3px #ffda1c solid;
    border-radius: 0 0 10px 10px;
    padding: 50px 20px 20px; }
  .quizBlock p {
    font-size: 18px;
    line-height: 150%;
    margin-bottom: 1em; }
    .quizBlock p:last-child {
      margin-bottom: 0; }
  .quizBlock .answerCheck {
    margin: 10px 0 0;
    text-align: center;
    color: #e5521c; }
    .quizBlock .answerCheck h3 {
      font-size: 21px;
      line-height: 150%;
      font-weight: bold;
      letter-spacing: 0.02em; }
      .quizBlock .answerCheck h3 strong {
        font-size: 150%;
        line-height: 150%; }
    .quizBlock .answerCheck p {
      font-size: 24px;
      line-height: 150%;
      font-weight: bold; }
  .quizBlock .flex {
    display: flex; }
    .quizBlock .flex input {
      width: 23.5%;
      margin-right: 2%;
      font-size: 30px;
      line-height: 150%;
      padding: 10px;
      box-sizing: border-box;
      border: 1px #231815 solid;
      text-align: center; }
      .quizBlock .flex input:last-child {
        margin-right: 0; }
  .quizBlock .btn {
    margin: 30px  auto 60px;
    max-width: 320px; }
    .quizBlock .btn a {
      display: block;
      position: relative;
      text-decoration: none;
      border-radius: 10px;
      background: #231815;
      color: #ffda1c;
      font-size: 20px;
      line-height: 150%;
      font-weight: bold;
      text-align: center;
      padding: 20px;
      transition: 0.6s; }
      .quizBlock .btn a:hover {
        opacity: 0.8; }
      .quizBlock .btn a::after {
        content: '';
        width: 0;
        height: 0;
        position: absolute;
        right: 20px;
        top: 50%;
        transform: translate(0, -50%);
        border-top: solid 10px transparent;
        border-right: solid 10px transparent;
        border-bottom: solid 10px transparent;
        border-left: solid 10px #fff; }

.datailBtn {
  display: none;
  transition: 0.6s;
  position: relative;
  z-index: 200000; }
  .datailBtn.active {
    display: block; }
  .datailBtn .btn {
    margin: 10px 0 0; }
    .datailBtn .btn p {
      margin-bottom: 10px;
      width: 100%;
      height: 2em;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      color: #000;
      font-size: 11px;
      line-height: 150%;
      font-weight: bold; }
    .datailBtn .btn.type1 a {
      background: #fff; }
    .datailBtn .btn.type2 a {
      background: #fff; }
    .datailBtn .btn.type3 a {
      background: #fff; }
    .datailBtn .btn.type4 a {
      background: #fff; }
    .datailBtn .btn a {
      display: block;
      position: relative;
      text-decoration: none;
      border-radius: 10px;
      color: #1c6e51;
      font-size: 12px;
      line-height: 150%;
      font-weight: bold;
      text-align: center;
      padding: 10px 14px 10px 5px;
      transition: 0.6s;
      border: 3px #1c6e51 solid; }
      .datailBtn .btn a:hover {
        opacity: 0.8; }
      .datailBtn .btn a::after {
        content: '';
        width: 0;
        height: 0;
        position: absolute;
        right: 2px;
        top: 50%;
        transform: translate(0, -50%);
        border-top: solid 5px transparent;
        border-right: solid 5px transparent;
        border-bottom: solid 5px transparent;
        border-left: solid 5px #1c6e51; }

.dwonload {
  margin: 0 auto 20px;
  max-width: 621px;
  width: 94%; }
  .dwonload dl {
    margin: 0 auto;
    max-width: 601px; }
    .dwonload dl dt {
      position: relative;
      z-index: 100;
      cursor: pointer; }
    .dwonload dl dd {
      display: none;
      position: relative;
      z-index: 99;
      top: -15px;
      box-sizing: border-box;
      margin-bottom: -10px;
      text-align: center;
      background: #eea385;
      padding: 20px 10px 15px;
      transition: 0.8s; }
      .dwonload dl dd.active {
        display: block; }
      .dwonload dl dd .presentBox {
        display: flex;
        flex-flow: row nowrap;
        justify-content: center;
        align-items: center; }
        .dwonload dl dd .presentBox p {
          margin-right: 20px;
          color: #333;
          font-size: 16px;
          line-height: 150%; }
        .dwonload dl dd .presentBox div {
          width: 30%; }

.completeBlock {
  margin: 0 auto 30px;
  max-width: 75    7px;
  width: 94%;
  padding: 20px;
  box-sizing: border-box;
  box-shadow: 10px 10px #7e582b;
  border: 1px #7e582b solid;
  background: #fff6e4;
  max-width: 690px; }
  .completeBlock ul {
    width: 100%;
    margin: 0 auto 20px;
    max-width: 620px;
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: stretch; }
    .completeBlock ul li {
      margin-right: 0;
      width: 100%;
      text-align: center; }
      .completeBlock ul li:last-child {
        margin-right: 0; }
  .completeBlock a.application {
    margin: 0 auto 20px;
    max-width: 600px;
    padding: 10px;
    font-size: 26px;
    line-height: 150%;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
    display: block;
    color: #f3dd62;
    background: #172749;
    border: 1px #fff6e4 solid;
    box-shadow: 0px 0px 0px 3px #172749;
    transition: 0.6s; }
    .completeBlock a.application:hover {
      background: #fff6e4;
      color: #333;
      border: 1px #172749 solid;
      box-shadow: 0px 0px 0px 3px #fff6e4; }

.generaBtn3 {
  margin: 0 auto;
  max-width: 320px; }
  .generaBtn3 input {
    background: #483c13;
    border-radius: 10px;
    width: 100%;
    color: #fff;
    font-size: 18px;
    line-height: 150%;
    font-weight: bold;
    text-align: center;
    padding: 10px; }

.precautionBlock02 {
  margin: 0 auto;
  width: 100%;
  padding: 0 0 20px;
  background: #fff;
  box-sizing: border-box; }
  .precautionBlock02 .ttl h2 {
    background: #2c2a25;
    color: #fdd000; }
  .precautionBlock02 .inner {
    box-sizing: border-box;
    margin: 0 auto;
    width: 94%;
    padding: 0;
    height: 300px;
    overflow: auto; }
    .precautionBlock02 .inner.noscroll {
      height: auto; }
    .precautionBlock02 .inner dl {
      margin: 0 auto;
      max-width: 767px;
      width: 94%;
      padding-bottom: 30px; }
      .precautionBlock02 .inner dl dt {
        margin-bottom: 10px;
        padding: 0 0 8px;
        color: #873395;
        font-size: 18px;
        line-height: 150%;
        font-weight: bold;
        border-bottom: 1px #873395 solid; }
      .precautionBlock02 .inner dl dd {
        text-indent: -1em;
        padding-left: 1em;
        color: #5f5434; }
    .precautionBlock02 .inner p {
      margin: 0 auto;
      max-width: 767px;
      text-indent: -1em;
      padding-left: 1em;
      width: 94%;
      font-size: 14px;
      line-height: 180%; }
    .precautionBlock02 .inner .txt01 {
      padding: 15px 15px 20px; }
    .precautionBlock02 .inner .precaution02 {
      box-sizing: border-box;
      color: #86705B;
      padding: 20px;
      text-align: center; }
    .precautionBlock02 .inner .cardBlock {
      padding: 25px 15px 20px; }
      .precautionBlock02 .inner .cardBlock .images {
        margin: 0;
        display: flex;
        flex-flow: row nowrap;
        justify-content: flex-start;
        align-items: stretch; }
        .precautionBlock02 .inner .cardBlock .images li {
          margin-bottom: 20px;
          text-align: center;
          width: 48%;
          margin-right: 2%; }
          .precautionBlock02 .inner .cardBlock .images li:last-child {
            margin-right: 0; }
          .precautionBlock02 .inner .cardBlock .images li p {
            margin-bottom: 6px;
            font-size: 16px;
            line-height: 150%;
            letter-spacing: 0.1em;
            font-weight: bold; }
            .precautionBlock02 .inner .cardBlock .images li p:last-child {
              margin-bottom: 0; }
      .precautionBlock02 .inner .cardBlock .captionTxt {
        margin-bottom: 30px; }
        .precautionBlock02 .inner .cardBlock .captionTxt li {
          font-size: 16px;
          line-height: 160%; }
      .precautionBlock02 .inner .cardBlock .btnArea ul {
        margin: 0 auto 10px;
        max-width: 308px; }
        .precautionBlock02 .inner .cardBlock .btnArea ul:last-child {
          margin: 0 auto; }
        .precautionBlock02 .inner .cardBlock .btnArea ul li {
          margin-bottom: 10px;
          text-align: center; }
          .precautionBlock02 .inner .cardBlock .btnArea ul li a {
            transition: 0.4s; }
            .precautionBlock02 .inner .cardBlock .btnArea ul li a:hover {
              opacity: 0.7; }

.precautionBlock03 {
  margin: 0 auto;
  max-width: 767px;
  width: 94%; }
  .precautionBlock03 .precaution {
    margin-bottom: 10px; }
    .precautionBlock03 .precaution dl {
      margin-bottom: 30px; }
      .precautionBlock03 .precaution dl dt {
        margin-bottom: 10px;
        border-left: 10px #F789A7 solid;
        padding: 2px 10px;
        font-size: 20px;
        line-height: 150%;
        font-weight: bold; }
      .precautionBlock03 .precaution dl dd {
        line-height: 180%;
        padding-left: 1em;
        text-indent: -1em; }
    .precautionBlock03 .precaution .caption {
      margin-bottom: 20px;
      background: #eee;
      padding: 15px; }
      .precautionBlock03 .precaution .caption dl {
        margin-bottom: 0; }
        .precautionBlock03 .precaution .caption dl dt {
          margin-bottom: 10px;
          border-left: 10px #463a15 solid;
          padding: 2px 10px;
          font-size: 16px;
          line-height: 150%;
          font-weight: bold; }
        .precautionBlock03 .precaution .caption dl dd {
          line-height: 180%; }

/* ================================================ 
	step bar
==============================================================================================================================================================*/
/*
nav {
  margin: 0 auto 30px;
  width: 94%;
  max-width: 1000px;
  position: relative;
  top: 0;
  z-index: 20;
}
*/
.stepBar {
  position: relative;
  margin: 0 0 1em;
  padding: 0;
  text-align: center;
  width: 100%;
  overflow: hidden;
  *zoom: 1; }
  .stepBar .step {
    position: relative;
    float: left;
    display: inline-block;
    height: 60px;
    font-size: 14px;
    line-height: 130%;
    padding: 10px 40px 10px 20px;
    background-color: #ccc;
    box-sizing: border-box;
    color: #333; }
    .stepBar .step:before {
      position: absolute;
      left: -15px;
      display: block;
      content: '';
      background-color: #ccc;
      border-left: 4px solid #FFF;
      width: 20px;
      height: 30px; }
    .stepBar .step:after {
      position: absolute;
      left: -15px;
      display: block;
      content: '';
      background-color: #ccc;
      border-left: 4px solid #FFF;
      width: 20px;
      height: 30px;
      top: 0;
      -moz-transform: skew(30deg);
      -ms-transform: skew(30deg);
      -webkit-transform: skew(30deg);
      transform: skew(30deg); }
    .stepBar .step:before {
      bottom: 0;
      -moz-transform: skew(-30deg);
      -ms-transform: skew(-30deg);
      -webkit-transform: skew(-30deg);
      transform: skew(-30deg); }
    .stepBar .step:first-child {
      -moz-border-radius-topleft: 4px;
      -webkit-border-top-left-radius: 4px;
      border-top-left-radius: 4px;
      -moz-border-radius-bottomleft: 4px;
      -webkit-border-bottom-left-radius: 4px;
      border-bottom-left-radius: 4px; }
      .stepBar .step:first-child:before, .stepBar .step:first-child:after {
        content: none; }
    .stepBar .step:last-child {
      -moz-border-radius-topright: 4px;
      -webkit-border-top-right-radius: 4px;
      border-top-right-radius: 4px;
      -moz-border-radius-bottomright: 4px;
      -webkit-border-bottom-right-radius: 4px;
      border-bottom-right-radius: 4px; }
    .stepBar .step.current {
      color: #FFF;
      background: #6d400b; }
      .stepBar .step.current:before, .stepBar .step.current:after {
        background: #6d400b; }
  .stepBar.step4 li {
    width: 26%; }
    .stepBar.step4 li:last-child {
      width: 22%; }

/* ================================================ 
	submitArea
==============================================================================================================================================================*/
#submitArea {
  margin: 0 auto 30px;
  position: relative;
  z-index: 29;
  width: 94%;
  padding: 0; }
  #submitArea button {
    box-sizing: border-box;
    box-shadow: 0 0 0 3px #6d400b;
    background: #6d400b;
    border: 2px #fff solid;
    width: 100%;
    box-sizing: border-box;
    padding: 10px 25px 10px 20px;
    font-size: 26px;
    line-height: 150%;
    font-weight: bold;
    cursor: pointer;
    color: #fff;
    position: relative;
    transition: 0.6s;
    max-width: 340px;
  /*
&[type="submit"][disabled] {
  background: #ccc;
  color: #fff;
  border: 2px #fff solid;
  cursor: default;
  box-shadow: 0 0 0 3px #ccc;
}
  */ }
    #submitArea button:hover, #submitArea button:active {
      background: #BF7213; }
    #submitArea button::before {
      content: '';
      position: absolute;
      width: 20px;
      height: 17px;
      top: 50%;
      right: 15px;
      transform: translate(0, -50%);
      background: url("../img/icon_btn.png") no-repeat left top; }
  #submitArea .backBtn button {
    box-sizing: border-box;
    box-shadow: 0 0 0 3px #6d400b;
    background: #6d400b;
    border: 2px #fff solid;
    width: 100%;
    box-sizing: border-box;
    padding: 10px;
    font-size: 26px;
    line-height: 150%;
    font-weight: bold;
    cursor: pointer;
    color: #fff;
    position: relative;
    transition: 0.6s;
    max-width: 340px; }
    #submitArea .backBtn button:hover, #submitArea .backBtn button:active {
      background: #BF7213; }
    #submitArea .backBtn button::before {
      content: '';
      position: absolute;
      width: 20px;
      height: 17px;
      top: 50%;
      left: 20px;
      transform: translate(0, -50%);
      background: url("../img/icon_btn2.png") no-repeat left top; }
  #submitArea ul {
    margin: 0 auto;
    max-width: 640px; }
    #submitArea ul li {
      text-align: center; }
      #submitArea ul li input {
        box-sizing: border-box;
        box-shadow: 0 0 0 2px #b58e48;
        background: #b58e48;
        border: 1px #fff solid;
        width: 100%;
        box-sizing: border-box;
        padding: 15px;
        font-size: 20px;
        line-height: 150%;
        font-weight: bold;
        cursor: pointer;
        color: #fff;
        position: relative;
        transition: 0.6s; }
        #submitArea ul li input:hover, #submitArea ul li input:active {
          background: #e4ce9c; }
    #submitArea ul.btn2 {
      display: flex;
      flex-flow: row nowrap;
      justify-content: flex-start;
      align-items: stretch;
      /*--- IE10 用 ---*/
      display: -ms-flexbox;
      -ms-flex-flow: row nowrap;
      -ms-flex-pack: flex-start;
      -ms-flex-align: stretch;
      /*--- Androidブラウザ用 ---*/
      display: -webkit-box;
      -webkit-box-direction: row;
      -webkit-box-pack: flex-start;
      -webkit-box-align: stretch;
      /*--- safari（PC）用 ---*/
      display: -webkit-flex;
      -webkit-flow: row nowrap;
      -webkit-justify-content: flex-start;
      -webkit-align-items: stretch; }
      #submitArea ul.btn2 li {
        width: 48%;
        margin-right: 2%; }
        #submitArea ul.btn2 li input {
          background: #e4ce9c;
          border: 1px #483c13 solid;
          width: 100%;
          box-sizing: border-box;
          border-radius: 10px;
          padding: 10px 5px;
          font-size: 20px;
          line-height: 150%;
          font-weight: bold;
          cursor: pointer;
          color: #666; }
          #submitArea ul.btn2 li input:hover, #submitArea ul.btn2 li input:active {
            color: #fff;
            background: #483c13; }
        #submitArea ul.btn2 li:first-child input {
          background: #eee;
          border: 1px #ccc solid;
          width: 100%;
          color: #666; }
          #submitArea ul.btn2 li:first-child input:hover, #submitArea ul.btn2 li:first-child input:active {
            background: #ddd; }
  #submitArea .txt01 {
    margin-bottom: 15px; }

/* ================================================ 
	form 
==============================================================================================================================================================*/
.formBlock {
  margin-bottom: 40px; }
  .formBlock .inner {
    border-radius: 10px;
    background: #fff;
    color: #86705B; }
    .formBlock .inner .introTxt {
      padding: 20px; }
      .formBlock .inner .introTxt p {
        margin-bottom: 15px; }
        .formBlock .inner .introTxt p:last-child {
          margin-bottom: 0; }
    .formBlock .inner .formArea {
      padding: 20px; }
      .formBlock .inner .formArea .cardNumberList {
        margin: 0 0 30px;
        overflow: hidden; }
        .formBlock .inner .formArea .cardNumberList dt {
          float: left;
          width: 20%;
          font-weight: bold;
          padding: 5px 0 0 0; }
        .formBlock .inner .formArea .cardNumberList dd {
          width: 80%;
          float: left;
          padding: 5px 0;
          display: flex;
          flex-flow: row nowrap;
          justify-content: flex-start;
          align-items: flex-start; }
          .formBlock .inner .formArea .cardNumberList dd input {
            width: 23%;
            margin: 0 2% 0 0;
            padding: 5px;
            outline: none;
            font-size: 18px;
            text-align: center;
            box-sizing: border-box;
            box-shadow: 0 0 0 1px #a5a19f;
            border: 1px #fff solid; }
            .formBlock .inner .formArea .cardNumberList dd input.hold {
              background: #e9e9e9; }
            .formBlock .inner .formArea .cardNumberList dd input:first-child {
              margin-left: 2px; }
            .formBlock .inner .formArea .cardNumberList dd input:last-child {
              margin-right: 0; }
          .formBlock .inner .formArea .cardNumberList dd:last-child {
            margin-right: 0; }
      .formBlock .inner .formArea .waonNumberHowtoBox {
        clear: both; }
        .formBlock .inner .formArea .waonNumberHowtoBox .h5Cover {
          margin-bottom: 5px;
          color: #e60012; }
          .formBlock .inner .formArea .waonNumberHowtoBox .h5Cover h5 {
            font-size: 16px;
            line-height: 150%; }
        .formBlock .inner .formArea .waonNumberHowtoBox ul {
          margin-bottom: 15px; }
          .formBlock .inner .formArea .waonNumberHowtoBox ul li {
            list-style-type: none;
            text-align: left; }
        .formBlock .inner .formArea .waonNumberHowtoBox .imgBox {
          text-align: center;
          margin-bottom: 15px; }
          .formBlock .inner .formArea .waonNumberHowtoBox .imgBox:last-child {
            margin-bottom: 0; }

#entrySubmitBox {
  clear: both;
  text-align: center;
  margin: 0 auto; }
  #entrySubmitBox h5 {
    margin-bottom: 15px;
    display: inline-block;
    padding: 0 10px;
    font-size: 24px;
    line-height: 150%;
    font-weight: bold; }
  #entrySubmitBox .agree {
    margin: 0 0 15px; }
    #entrySubmitBox .agree label {
      cursor: pointer; }
    #entrySubmitBox .agree input {
      margin: 0 5px 0 0; }
  #entrySubmitBox .btnCover {
    margin: 0 auto;
    max-width: 700px;
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: stretch; }
    #entrySubmitBox .btnCover .backBtn {
      width: 48%;
      margin-right: 4%; }
      #entrySubmitBox .btnCover .backBtn input {
        background: #eee;
        border: 1px #ccc solid;
        width: 100%;
        box-sizing: border-box;
        border-radius: 10px;
        padding: 10px 5px;
        font-size: 20px;
        line-height: 150%;
        font-weight: bold;
        cursor: pointer;
        color: #666; }
        #entrySubmitBox .btnCover .backBtn input:hover, #entrySubmitBox .btnCover .backBtn input:active {
          background: #ddd; }
    #entrySubmitBox .btnCover .btnArea {
      width: 48%; }
      #entrySubmitBox .btnCover .btnArea input {
        background: #b58e48;
        border: 1px #b58e48 solid;
        width: 100%;
        margin: 0 auto 20px;
        max-width: 400px;
        box-sizing: border-box;
        border-radius: 10px;
        padding: 10px 5px;
        font-size: 20px;
        line-height: 150%;
        font-weight: bold;
        cursor: pointer;
        color: #fff; }
        #entrySubmitBox .btnCover .btnArea input:hover, #entrySubmitBox .btnCover .btnArea input:active {
          background: #b58e48; }
        #entrySubmitBox .btnCover .btnArea input[type="submit"][disabled] {
          background: #ccc;
          color: #666;
          border: 1px #ccc solid;
          cursor: default; }
  #entrySubmitBox .notion {
    text-align: left !important;
    font-size: 14px;
    margin: 15px 0 0 0;
    margin: 30px auto 0;
    width: 94%;
    max-width: 960px; }

/* ================================================ 
	FAQ 
==============================================================================================================================================================*/
.faqBlock {
  margin: 0 auto 60px;
  max-width: 769px;
  width: 94%; }
  .faqBlock .faqTtl {
    margin-bottom: 10px;
    text-align: center;
    color: #000; }
    .faqBlock .faqTtl h2 {
      padding-bottom: 5px;
      font-size: 26px;
      line-height: 110%; }
    .faqBlock .faqTtl p {
      padding-top: 8px;
      display: inline-block;
      border-top: 3px #000  solid; }
  .faqBlock dl {
    margin-bottom: 20px; }
    .faqBlock dl dt {
      color: #000;
      font-weight: bold; }
    .faqBlock dl dd {
      color: #000; }
      .faqBlock dl dd a {
        color: #000; }

.shoplist-caption {
  margin: 20px auto 0;
  box-sizing: border-box;
  max-width: 1000px;
  padding: 0 15px;
  width: 94%; }
  .shoplist-caption p {
    border: 2px #ff0000 solid;
    padding: 10px;
    color: #ff0000;
    font-size: 1.0rem;
    line-height: 150%; }

.shoplistAnchorBox {
  margin: 30px auto 0;
  max-width: 1000px;
  width: 94%;
  box-sizing: border-box;
  padding: 0 15px 20px;
  border-radius: 10px;
  background: #fff; }
  .shoplistAnchorBox h3 {
    font-size: 20px;
    color: #fff;
    line-height: 1.2;
    text-align: center;
    margin: 0 0 15px 0;
    padding: 12px 0;
    background: #fdd000; }
  .shoplistAnchorBox ul li {
    display: inline-block;
    font-size: 18px;
    line-height: 1;
    margin: 0.6em 0 0 0;
    padding: 0 6px;
    border-right: 1px solid #ffffff; }
    .shoplistAnchorBox ul li:first-child {
      border-left: 1px solid #ffffff; }
    .shoplistAnchorBox ul li a {
      color: #666;
      text-decoration: underline; }
      .shoplistAnchorBox ul li a:hover {
        text-decoration: none; }

#shoplistBox {
  margin: 20px auto 40px;
  max-width: 1000px;
  width: 94%;
  background: #fff;
  box-sizing: border-box;
  padding: 20px;
  border-radius: 20px;
  border: 8px #f1f1f1 solid; }
  #shoplistBox .ttl02 {
    font-size: 24px;
    font-weight: bold;
    margin: 35px 0 15px 0;
    padding: 0 0 10px 0;
    background: url(../img/shoplist_line01.png) 0 bottom repeat-x; }
    #shoplistBox .ttl02:first-child {
      margin-top: 0; }
  #shoplistBox .shoplistList li {
    clear: both;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    padding: 15px;
    border-bottom: 1px solid #ffffff;
    background: #F2F1F1; }
    #shoplistBox .shoplistList li:nth-child(even) {
      background: #F7F7F7; }
    #shoplistBox .shoplistList li .txtClm {
      width: calc(100% - 90px - 5px); }
    #shoplistBox .shoplistList li .btnClm {
      width: 90px; }
      #shoplistBox .shoplistList li .btnClm a {
        transition: 0.6s; }
        #shoplistBox .shoplistList li .btnClm a:hover {
          opacity: 0.7; }
    #shoplistBox .shoplistList li .name {
      color: #463a15;
      font-size: 16px; }
      #shoplistBox .shoplistList li .name span {
        margin: 0 0.5em 0 0; }
    #shoplistBox .shoplistList li .address {
      font-size: 14px; }
      #shoplistBox .shoplistList li .address span {
        display: block; }

/* ================================================ 
	looking back0
==============================================================================================================================================================*/
#lookingBack {
  margin: 20px auto 0;
  width: 90%;
  max-width: 600px; }
  #lookingBack h2 {
    margin: 0 auto 20px;
    width: 90%;
    max-width: 690px;
    border-radius: 10px;
    text-align: center;
    color: #fff;
    padding: 15px 10px;
    font-size: 18px;
    line-height: 150%; }
    #lookingBack h2 strong {
      color: #ffe100; }
    #lookingBack h2.type1 {
      background: #009fb0; }
    #lookingBack h2.type2 {
      background: #e62789; }
    #lookingBack h2.type3 {
      background: #2a9f48; }
    #lookingBack h2.type4 {
      background: #e5521c; }
  #lookingBack figure {
    margin: 0 auto 40px;
    padding: 0;
    width: 60%;
    text-align: center;
    display: block; }
  #lookingBack .txtSpace {
    margin-bottom: 40px;
    border: 1px #8f8f8f solid; }
    #lookingBack .txtSpace .commentary h3 {
      color: #55a25b;
      text-align: center;
      position: relative;
      font-size: 16px;
      line-height: 150%;
      font-weight: bold;
      padding: 12px 5px 18px;
      background: url("../img/bg_stamp_line.png") repeat-x left bottom #fff; }
      #lookingBack .txtSpace .commentary h3::before {
        content: '';
        width: 12px;
        height: 12px;
        position: absolute;
        top: 43%;
        left: 2%;
        transform: translate(0, -43%);
        background: url("../img/commentary_icon.png") no-repeat left top;
        background-size: 12px 12px; }
      #lookingBack .txtSpace .commentary h3::after {
        content: '';
        width: 12px;
        height: 12px;
        position: absolute;
        top: 43%;
        right: 2%;
        transform: translate(0, -43%);
        background: url("../img/commentary_icon.png") no-repeat left top;
        background-size: 12px 12px; }
    #lookingBack .txtSpace .commentary .inBlock {
      background: #ffe400;
      box-sizing: border-box;
      padding: 20px 0 30px;
      font-size: 13px;
      line-height: 150%; }
      #lookingBack .txtSpace .commentary .inBlock figure {
        margin: 0 auto 20px;
        width: 100%;
        text-align: center;
        display: block; }
      #lookingBack .txtSpace .commentary .inBlock p {
        margin-bottom: 10px;
        padding: 0 30px;
        line-height: 180%;
        color: #231815; }
        #lookingBack .txtSpace .commentary .inBlock p a {
          word-break: break-all; }
        #lookingBack .txtSpace .commentary .inBlock p strong {
          color: #ff0000; }
        #lookingBack .txtSpace .commentary .inBlock p:last-child {
          margin-bottom: 0;
          padding-bottom: 0; }
    #lookingBack .txtSpace .commentary .inQuote {
      margin-top: 20px;
      background: #eff0ef;
      background: #000;
      padding: 25px 15px 10px;
      color: #fff;
      position: relative; }
      #lookingBack .txtSpace .commentary .inQuote::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background: url("../img/bg_national.png") no-repeat left top;
        background-size: 15% auto; }
      #lookingBack .txtSpace .commentary .inQuote figure {
        text-align: center;
        margin-bottom: 15px; }
      #lookingBack .txtSpace .commentary .inQuote h3 {
        text-align: center;
        font-size: 16px;
        line-height: 180%;
        color: #fff; }
      #lookingBack .txtSpace .commentary .inQuote p {
        margin-bottom: 10px;
        line-height: 180%; }
        #lookingBack .txtSpace .commentary .inQuote p a {
          word-break: break-all; }
        #lookingBack .txtSpace .commentary .inQuote p.copy {
          margin-bottom: 0;
          text-align: right; }
    #lookingBack .txtSpace .commentary .captionImage {
      margin: 0 auto;
      max-width: 333px; }
  #lookingBack .closeBtn {
    margin: 0 auto 40px;
    max-width: 320px;
    text-align: center;
    color: #000;
    background: #79b976;
    border: 2px #fff solid;
    cursor: pointer;
    box-shadow: 0px 0px 0px 1px #2c9982;
    position: relative;
    width: 80%; }
    #lookingBack .closeBtn a {
      text-decoration: none;
      color: #fff;
      display: block;
      padding: 10px 5px; }
    #lookingBack .closeBtn p {
      position: absolute;
      display: block;
      width: 26px;
      height: 26px;
      background: #96c793;
      right: 20px;
      top: 50%;
      transform: translate(0, -50%); }
      #lookingBack .closeBtn p span {
        position: relative;
        display: block;
        margin-top: 0;
        width: 20px;
        height: 20px;
        background-color: transparent;
        transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1); }
        #lookingBack .closeBtn p span:before {
          content: '';
          transform: rotate(45deg);
          position: absolute;
          top: 13px;
          left: 4px;
          width: 100%;
          height: 2px;
          transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
          background-color: #fff; }
        #lookingBack .closeBtn p span:after {
          content: '';
          transform: rotate(-45deg);
          position: absolute;
          top: 13px;
          left: 4px;
          width: 100%;
          height: 2px;
          transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
          background-color: #fff; }

/* ================================================ 
	completion
==============================================================================================================================================================*/
#completionBlock {
  margin: 0 auto 30px;
  width: 90%;
  max-width: 750px;
  box-sizing: border-box;
  padding: 20px 15px; }
  #completionBlock.complete {
    margin: 0 auto;
    width: inherit;
    padding: 20px 0 50px;
    background: url("../img/bg_complete.jpg") no-repeat center center;
    background-size: cover;
    position: relative; }
    #completionBlock.complete::after {
      content: '';
      width: 100%;
      height: 10px;
      position: absolute;
      bottom: 0;
      left: 0;
      background: linear-gradient(to left, #f88c00 0%, #ccdb37 25%, #00c4ff 50%, #8379c5 75%, #f2529d 100%); }
    #completionBlock.complete h2 {
      margin: 0 auto 20px;
      width: 70%; }
    #completionBlock.complete .complete-screen {
      margin: 40px auto 30px;
      max-width: 750px;
      display: flex;
      flex-flow: row wrap;
      justify-content: center; }
      #completionBlock.complete .complete-screen li {
        box-sizing: border-box;
        position: relative;
        z-index: 999;
        padding: 0;
        margin: 0;
        transition: 1.8s;
        width: 49%; }
        #completionBlock.complete .complete-screen li:nth-child(odd) {
          margin-right: 1%; }
        #completionBlock.complete .complete-screen li:nth-child(even) {
          margin-left: 1%; }
        #completionBlock.complete .complete-screen li:nth-child(-n+3) {
          margin-bottom: 30px; }
        #completionBlock.complete .complete-screen li figure {
          margin: 0 auto 20px;
          display: block; }
        #completionBlock.complete .complete-screen li .images-cover {
          margin: 0 auto;
          width: 90%; }
  #completionBlock.comp {
    margin-bottom: 10px;
    width: inherit;
    padding: 20px 8%;
    background: url("../img/bg_comp.png") no-repeat center center;
    background-size: 100% auto; }
  #completionBlock .h2Cover {
    position: relative;
    margin: 0 auto -10%;
    max-width: 680px;
    top: -20%; }
    #completionBlock .h2Cover .img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      max-width: 680px;
      height: 100%;
      opacity: 0; }
      #completionBlock .h2Cover .img img {
        width: 100%;
        height: 100%; }
  #completionBlock h2 {
    pointer-events: none;
    text-align: center;
    margin: 0 auto;
    max-width: 680px; }
  #completionBlock .h3Cover {
    position: relative;
    margin: 0 auto 20px;
    max-width: 680px;
    text-align: center; }
    #completionBlock .h3Cover::before {
      content: '';
      position: absolute;
      top: 50%;
      left: 0;
      width: 100%;
      height: 2px;
      background: #eb6ea6; }
    #completionBlock .h3Cover h3 {
      position: relative;
      display: inline-block;
      background: #fff;
      padding: 5px 10px;
      font-size: 18ppx;
      line-height: 150%;
      color: #eb6ea6; }
  #completionBlock .precentBlock {
    margin: 0 auto 30px;
    width: 50%;
    display: flex;
    justify-content: center; }
    #completionBlock .precentBlock div figure {
      padding: 0;
      margin: 0 2%; }
    #completionBlock .precentBlock div p {
      margin-top: 10px;
      text-align: center;
      font-size: 14px;
      line-height: 150%;
      font-weight: bold;
      color: #751485; }
  #completionBlock .twitterBtn {
    margin: 0 auto 30px;
    width: 94%;
    text-align: center; }
  #completionBlock .txt {
    margin: 20px 0;
    text-align: center;
    font-size: 14px;
    line-height: 150%;
    color: #fff; }
    #completionBlock .txt strong {
      font-size: 16px;
      line-height: 150%;
      color: #771183; }
  #completionBlock .dlBtn {
    margin-bottom: 40px;
    text-align: center; }
  #completionBlock .completionBCont {
    text-align: center;
    margin-bottom: 30px;
    background: #334435;
    color: #fff;
    padding: 45px 15px 15px; }
    #completionBlock .completionBCont h3 {
      text-align: center;
      margin-bottom: 20px;
      font-size: 20px;
      line-height: 150%; }
    #completionBlock .completionBCont .txt01 {
      margin-bottom: 20px;
      font-size: 16px;
      line-height: 150%; }
      #completionBlock .completionBCont .txt01 a {
        color: #d9127e !important; }
    #completionBlock .completionBCont dl dt {
      margin-bottom: 15px;
      padding: 10px;
      position: relative;
      cursor: pointer; }
      #completionBlock .completionBCont dl dt.type01 {
        background: url("../img/ttl_completion01.png") no-repeat left top;
        background-size: 100% auto; }
      #completionBlock .completionBCont dl dt.type02 {
        background: url("../img/ttl_completion02.png") no-repeat left top;
        background-size: 100% auto; }
      #completionBlock .completionBCont dl dt.type03 {
        background: url("../img/ttl_completion03.png") no-repeat left top;
        background-size: 100% auto; }
      #completionBlock .completionBCont dl dt.type04 {
        background: url("../img/ttl_completion04.png") no-repeat left top;
        background-size: 100% auto; }
      #completionBlock .completionBCont dl dt.active.type01 {
        background: url("../img/ttl_completion01_on.png") no-repeat left top;
        background-size: 100% auto; }
      #completionBlock .completionBCont dl dt.active.type02 {
        background: url("../img/ttl_completion02_on.png") no-repeat left top;
        background-size: 100% auto; }
      #completionBlock .completionBCont dl dt.active.type03 {
        background: url("../img/ttl_completion03_on.png") no-repeat left top;
        background-size: 100% auto; }
      #completionBlock .completionBCont dl dt.active.type04 {
        background: url("../img/ttl_completion04_on.png") no-repeat left top;
        background-size: 100% auto; }
    #completionBlock .completionBCont dl dd {
      margin-bottom: 20px;
      background: #fff;
      padding: 10px; }
      #completionBlock .completionBCont dl dd .question {
        text-align: center;
        margin-bottom: 20px; }
      #completionBlock .completionBCont dl dd .txt01 {
        margin-bottom: 20px;
        font-size: 16px;
        line-height: 150%;
        color: #000;
        text-align: center; }
        #completionBlock .completionBCont dl dd .txt01 strong.type01 {
          color: #d9127e; }
        #completionBlock .completionBCont dl dd .txt01 strong.type02 {
          color: #009fb0; }
        #completionBlock .completionBCont dl dd .txt01 strong.type03 {
          color: #17a749; }
        #completionBlock .completionBCont dl dd .txt01 strong.type04 {
          color: #e0542a; }
      #completionBlock .completionBCont dl dd .answer {
        text-align: center;
        margin-bottom: 20px; }
    #completionBlock .completionBCont dl .commentary {
      border-radius: 10px;
      box-sizing: border-box; }
      #completionBlock .completionBCont dl .commentary h4 {
        background: #ea619e;
        border-radius: 10px 10px 0 0;
        color: #fff;
        text-align: center;
        padding: 8px;
        font-size: 22px;
        line-height: 150%; }
      #completionBlock .completionBCont dl .commentary h5 {
        margin-bottom: 15px;
        background: #241916;
        border-radius: 10px;
        color: #ffe100;
        text-align: center;
        padding: 8px;
        font-size: 18px;
        line-height: 150%; }
      #completionBlock .completionBCont dl .commentary .inBlock {
        background: #ffd800;
        box-sizing: border-box;
        padding: 15px;
        font-size: 13px;
        line-height: 150%; }
        #completionBlock .completionBCont dl .commentary .inBlock figure {
          margin: 0 auto 10px;
          width: 100%;
          display: block; }
          #completionBlock .completionBCont dl .commentary .inBlock figure:first-child {
            margin-bottom: 30px; }
        #completionBlock .completionBCont dl .commentary .inBlock p {
          padding-bottom: 10px;
          text-align: left;
          line-height: 180%;
          color: #000; }
          #completionBlock .completionBCont dl .commentary .inBlock p.ter {
            text-align: right !important; }
          #completionBlock .completionBCont dl .commentary .inBlock p a {
            word-break: break-all; }
          #completionBlock .completionBCont dl .commentary .inBlock p strong {
            color: #ff0000; }
          #completionBlock .completionBCont dl .commentary .inBlock p:last-child {
            margin-bottom: 0; }
        #completionBlock .completionBCont dl .commentary .inBlock .captionImage {
          margin: 0 auto;
          max-width: 333px; }
    #completionBlock .completionBCont dl .end {
      text-align: center; }
      #completionBlock .completionBCont dl .end figure {
        margin: 20px auto;
        width: 60%;
        padding: 0; }
      #completionBlock .completionBCont dl .end p {
        color: #000;
        font-size: 12px;
        line-height: 150%; }

.shareBlock {
  margin-bottom: 30px;
  padding: 0 15px; }
  .shareBlock a {
    margin: 0 auto;
    display: block;
    max-width: 320px;
    text-align: center;
    color: #000;
    text-decoration: none;
    background: #fff;
    border-radius: 100px;
    font-size: 16px;
    line-height: 150%;
    font-weight: bold;
    border: 3px #fff solid;
    box-shadow: 0px 0px 0px 3px #f4d214;
    cursor: pointer;
    padding: 15px;
    position: relative;
    width: 100%;
    box-sizing: border-box;
    position: relative; }
    .shareBlock a::before {
      content: '';
      width: 30px;
      height: 30px;
      position: absolute;
      top: 50%;
      left: 20px;
      transform: translate(0, -50%);
      background: url("../img/icon_x.png") no-repeat left top;
      background-size: auto;
      background-size: 30px 30px; }
    .shareBlock a::after {
      content: '';
      width: 10px;
      height: 17px;
      position: absolute;
      top: 50%;
      right: 20px;
      transform: translate(0, -50%);
      background: url("../img/arrow2.png") no-repeat left top;
      background-size: auto;
      background-size: 10px 17px; }

.creditBlock {
  margin: 0 auto; }
  .creditBlock p {
    color: #000;
    text-align: center;
    font-size: 10px;
    line-height: 180%; }

.precentCaption {
  margin: 0 auto 30px;
  background: #FEE780;
  box-sizing: border-box;
  padding: 10px; }
  .precentCaption p {
    color: #231815;
    text-align: center;
    font-size: 11px;
    line-height: 150%; }
    .precentCaption p span {
      font-size: 16ppx;
      line-height: 150%; }

.collaboration {
  margin-bottom: 30px;
  padding: 15px 5%;
  text-align: center;
  background: #fff; }
  .collaboration.inModal {
    margin: 0;
    padding: 10px 8%;
    text-align: center; }
  .collaboration.inComp {
    margin: 0;
    padding: 10px 8%;
    text-align: center;
    border-radius: 0 0 20px 20px; }

.mallnavi {
  position: relative;
  background: url("../img/bg_mallnavi.png") no-repeat left top #771183;
  background-size: contain;
  padding: 60px 5%; }
  .mallnavi::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url("../img/bg_mallnavi2.png") no-repeat right center;
    background-size: contain; }
  .mallnavi .txt01 {
    margin-bottom: 40px;
    text-align: center;
    color: #fff;
    font-size: 14px;
    line-height: 180%;
    font-weight: bold; }
  .mallnavi .txt02 {
    margin-bottom: 10px;
    text-align: center;
    color: #fff;
    font-size: 18px;
    line-height: 180%;
    font-weight: bold; }
  .mallnavi a {
    margin: 0 auto;
    width: 80%;
    max-width: 520px;
    display: block;
    text-align: center;
    color: #771183;
    text-decoration: none;
    background: #fff;
    border-radius: 100px;
    font-size: 16px;
    line-height: 150%;
    font-weight: bold;
    border: 3px #fff solid;
    /*box-shadow: 0px 0px 0px 3px #f4d214;*/
    cursor: pointer;
    padding: 15px;
    position: relative;
    box-sizing: border-box;
    position: relative; }
    .mallnavi a img {
      display: block;
      margin: 0 auto;
      width: 40%; }
    .mallnavi a::after {
      content: '';
      width: 10px;
      height: 17px;
      position: absolute;
      top: 50%;
      right: 20px;
      transform: translate(0, -50%);
      background: url("../img/arrow3.png") no-repeat left top;
      background-size: auto;
      background-size: 10px 17px; }

.aeon {
  margin: 0 auto 30px;
  width: 80%;
  text-align: center; }
  .aeon a {
    margin: 0 auto;
    max-width: 520px;
    display: block;
    text-align: center;
    color: #EC6C48;
    text-decoration: none;
    background: #fff;
    border-radius: 10px;
    font-size: 16px;
    line-height: 150%;
    font-weight: bold;
    border: 3px #fff solid;
    box-shadow: 0px 0px 0px 3px #f4d214;
    cursor: pointer;
    padding: 15px;
    position: relative;
    width: 100%;
    box-sizing: border-box;
    position: relative; }
    .aeon a::after {
      content: '';
      width: 10px;
      height: 17px;
      position: absolute;
      top: 50%;
      right: 20px;
      transform: translate(0, -50%);
      background: url("../img/arrow.png") no-repeat left top;
      background-size: auto;
      background-size: 10px 17px; }

.earlySummer {
  background: #faf4de;
  margin: 0 auto 40px;
  box-sizing: border-box;
  width: 94%;
  max-width: 680px;
  box-sizing: border-box;
  padding: 10px;
  color: #552d1a;
  border-radius: 10px;
  font-size: 18px;
  line-height: 150%;
  font-weight: bold; }
  .earlySummer h2 {
    width: 80%;
    margin-bottom: 5px; }
  .earlySummer .flex {
    display: flex;
    flex-flow: row-reverse nowrap; }
    .earlySummer .flex p {
      flex: 1;
      margin-right: 5%;
      font-size: 16px;
      line-height: 150%; }
    .earlySummer .flex figure {
      width: 40%;
      margin: 0;
      padding: 0;
      position: relative;
      top: -20px; }
  .earlySummer .aeonlBtn {
    transition: 0.6s;
    position: relative;
    z-index: 700; }
    .earlySummer .aeonlBtn .btn {
      margin: 10px 0 0; }
      .earlySummer .aeonlBtn .btn p {
        margin-bottom: 10px;
        width: 100%;
        height: 2em;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        color: #e16d1e;
        font-size: 11px;
        line-height: 150%;
        font-weight: bold; }
      .earlySummer .aeonlBtn .btn a {
        display: block;
        position: relative;
        text-decoration: none;
        border-radius: 10px;
        background: #fff;
        color: #e16d1e;
        font-size: 18px;
        line-height: 150%;
        font-weight: bold;
        text-align: center;
        padding: 10px 5px;
        transition: 0.6s;
        border: 3px #e16d1e solid; }
        .earlySummer .aeonlBtn .btn a:hover {
          opacity: 0.8; }
        .earlySummer .aeonlBtn .btn a::after {
          content: '';
          width: 0;
          height: 0;
          position: absolute;
          right: 3px;
          top: 50%;
          transform: translate(0, -50%);
          border-top: solid 7px transparent;
          border-right: solid 7px transparent;
          border-bottom: solid 7px transparent;
          border-left: solid 7px #e16d1e; }

.sticker-block {
  margin: 0 auto 50px;
  width: 84%;
  max-width: 575px;
  text-align: center; }
  .sticker-block h2 {
    margin: 0 auto;
    max-width: 214px; }
  .sticker-block .cont1 {
    margin: 20px auto 0;
    max-width: 570px; }
  .sticker-block .cont2 {
    margin-top: 30px; }
  .sticker-block .present {
    margin: 20px auto 0;
    max-width: 381px; }
  .sticker-block .caption2 {
    margin: 15px auto 0; }
  .sticker-block .caption {
    margin-top: 20px; }
    .sticker-block .caption li {
      text-align: left;
      text-indent: -1em;
      padding-left: 1em;
      font-size: 10px;
      line-height: 150%; }
  .sticker-block .cont3 {
    margin: 40px auto 0;
    max-width: 392px; }

.back-top {
  margin: 0 auto;
  width: 64%;
  max-width: 452px;
  text-align: center; }
  .back-top .sticker {
    margin-bottom: 20px; }

.secretTtl {
  margin-bottom: 5px;
  padding: 0 15px;
  font-size: 16px;
  line-height: 150%;
  font-weight: bold; }

.iframeCover {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 62%;
  box-sizing: border-box; }
  .iframeCover.complete {
    margin: 0 auto 20px;
    width: 90%; }
  .iframeCover.secret {
    margin: 0 auto 20px; }
  .iframeCover iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.secretTxt {
  margin-bottom: 20px;
  color: #3d2626;
  text-align: center;
  font-size: 16px;
  line-height: 150%; }
  .secretTxt strong {
    color: #ea0029;
    font-size: 18px;
    line-height: 150%; }

.secretBtn {
  margin: 0 auto 40px;
  display: block;
  text-align: center;
  color: #fff !important;
  background: #e70015;
  border: 3px #fff solid;
  cursor: pointer;
  text-decoration: none !important;
  box-sizing: border-box;
  box-shadow: 0px 0px 0px 1px #e70015;
  padding: 15px 10px;
  position: relative;
  width: 80%;
  max-width: 320px; }
  .secretBtn:hover {
    color: #fff !important; }
  .secretBtn::after {
    content: '';
    width: 0;
    height: 0;
    position: absolute;
    right: 2px;
    top: 50%;
    transform: translate(0, -50%);
    border-top: solid 6px transparent;
    border-right: solid 6px transparent;
    border-bottom: solid 6px transparent;
    border-left: solid 6px #fff; }

.couponBlock {
  margin: 0 auto 50px;
  width: 70%; }

.coupon-caption {
  margin: 0 auto;
  width: 84%; }
  .coupon-caption .caption {
    margin: 15px auto 0;
    width: 96%; }

.prizeBlock {
  margin: 0 auto 50px;
  width: 90%;
  text-align: center; }
  .prizeBlock figure {
    margin: 0 auto 3px;
    width: 70%;
    display: block; }
  .prizeBlock p {
    text-align: center;
    color: #fff;
    font-size: 14px;
    line-height: 150%; }

/* ================================================ 
	Tab
==============================================================================================================================================================*/
.tab-pattern1,
.tab-pattern2,
.tab-pattern3,
.tab-pattern4 {
  margin: 0 auto;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-end; }
  .tab-pattern1 li,
  .tab-pattern2 li,
  .tab-pattern3 li,
  .tab-pattern4 li {
    text-align: center;
    color: #fff;
    margin-right: 4%;
    padding: 8px 20px 3px;
    border-radius: 10px 10px 0 0;
    background: #55a25b;
    width: 43%;
    box-sizing: border-box;
    font-size: 16px;
    line-height: 150%;
    font-weight: bold;
    border-top: 1px #1c6e51 solid;
    border-left: 1px #1c6e51 solid;
    border-right: 1px #1c6e51 solid;
    cursor: pointer; }
    .tab-pattern1 li.tab-pattern1-active,
    .tab-pattern2 li.tab-pattern1-active,
    .tab-pattern3 li.tab-pattern1-active,
    .tab-pattern4 li.tab-pattern1-active {
      color: #1c6e51;
      background: #c5ddc7;
      padding: 5px 10px; }
    .tab-pattern1 li.tab-pattern2-active,
    .tab-pattern2 li.tab-pattern2-active,
    .tab-pattern3 li.tab-pattern2-active,
    .tab-pattern4 li.tab-pattern2-active {
      color: #1c6e51;
      background: #c5ddc7;
      padding: 5px 10px; }
    .tab-pattern1 li.tab-pattern3-active,
    .tab-pattern2 li.tab-pattern3-active,
    .tab-pattern3 li.tab-pattern3-active,
    .tab-pattern4 li.tab-pattern3-active {
      color: #1c6e51;
      background: #c5ddc7;
      padding: 5px 10px; }
    .tab-pattern1 li.tab-pattern4-active,
    .tab-pattern2 li.tab-pattern4-active,
    .tab-pattern3 li.tab-pattern4-active,
    .tab-pattern4 li.tab-pattern4-active {
      color: #1c6e51;
      background: #c5ddc7;
      padding: 5px 10px; }
    .tab-pattern1 li:last-child,
    .tab-pattern2 li:last-child,
    .tab-pattern3 li:last-child,
    .tab-pattern4 li:last-child {
      margin-right: 0; }

.tab-pattern1-content-area .tab-pattern1-content {
  display: none;
  margin: 0 auto 15px;
  width: 90%;
  box-sizing: border-box;
  padding: 15px;
  background: #fff;
  border: 1px #55a25b solid; }
  .tab-pattern1-content-area .tab-pattern1-content.show {
    display: block; }

.tab-pattern2-content-area .tab-pattern2-content {
  display: none;
  margin: 0 auto 15px;
  width: 90%;
  box-sizing: border-box;
  padding: 15px;
  background: #fff;
  border: 1px #55a25b solid; }
  .tab-pattern2-content-area .tab-pattern2-content.show {
    display: block; }

.tab-pattern3-content-area .tab-pattern3-content {
  display: none;
  margin: 0 auto 15px;
  width: 90%;
  box-sizing: border-box;
  padding: 15px;
  background: #fff;
  border: 1px #55a25b solid; }
  .tab-pattern3-content-area .tab-pattern3-content.show {
    display: block; }

.tab-pattern4-content-area {
  display: none;
  margin: 0 auto 15px;
  width: 90%;
  box-sizing: border-box;
  padding: 15px;
  background: #fff;
  border: 1px #55a25b solid; }
  .tab-pattern4-content-area .tab-pattern4-content {
    display: none; }
    .tab-pattern4-content-area .tab-pattern4-content.show {
      display: block; }

.coupon-block {
  margin: 0 auto 20px;
  width: 90%; }
  .coupon-block figure {
    margin: 0 auto 30px;
    width: 90%; }
  .coupon-block #confirmation-caption {
    margin: 0 auto 60px;
    width: 90%;
    color: #fff;
    font-size: 10px;
    line-height: 150%; }
    .coupon-block #confirmation-caption.deactive {
      display: none; }
  .coupon-block #confirmation {
    margin: 0 auto 1em;
    max-width: 320px; }
    .coupon-block #confirmation.deactive {
      display: none; }
  .coupon-block #btn-box {
    margin-bottom: 1em; }
    .coupon-block #btn-box.deactive {
      display: none; }
    .coupon-block #btn-box .btn {
      margin-bottom: 1em; }
  .coupon-block .thanks {
    margin-bottom: 1.5em; }
  .coupon-block ul li {
    font-size: 13px;
    line-height: 150%;
    text-indent: -1em;
    padding-left: 1em;
    color: #fff; }
    .coupon-block ul li strong {
      color: #ffed00; }
  .coupon-block .txt2 {
    font-size: 14px;
    line-height: 150%;
    margin-top: 1em;
    margin-bottom: 1em; }
  .coupon-block .time {
    margin-bottom: 1em; }
  .coupon-block .coupon-id {
    margin-bottom: 1em; }
  .coupon-block .coupon-code {
    font-weight: bold; }
  .coupon-block .used {
    margin: 0 auto 1em;
    display: block;
    text-decoration: none;
    max-width: 320px;
    text-align: center;
    color: #fff;
    background: #999;
    border-radius: 10px;
    font-size: 14px;
    line-height: 150%;
    font-weight: bold;
    padding: 15px;
    position: relative;
    width: 100%;
    box-sizing: border-box;
    position: relative; }
  .coupon-block .btn {
    margin: 30px auto 0;
    display: block;
    text-decoration: none;
    max-width: 320px;
    text-align: center;
    color: #fff;
    background: #c7a008;
    border-radius: 10px;
    font-size: 15px;
    line-height: 150%;
    font-weight: bold;
    /*border: 3px #fff solid;
    box-shadow: 0px 0px 0px 3px #f4d214;*/
    cursor: pointer;
    padding: 15px;
    position: relative;
    width: 100%;
    box-sizing: border-box;
    position: relative; }
    .coupon-block .btn.key {
      background: #c7a008;
      font-size: 15px;
      line-height: 150%;
      border: 5px solid #FFF; }
    .coupon-block .btn::after {
      content: '';
      width: 10px;
      height: 17px;
      position: absolute;
      top: 50%;
      right: 20px;
      transform: translate(0, -50%);
      background: url("../img/arrow.png") no-repeat left top;
      background-size: 10px 17px; }

.loading {
  font-family: monospace;
  font-size: 20px;
  animation: blink 1s infinite;
  text-align: center;
  padding: 50px; }

@keyframes blink {
  0% {
    opacity: 1; }
  50% {
    opacity: 0.4; }
  100% {
    opacity: 1; } }
#pr {
  position: fixed;
  right: 25px;
  bottom: 85px;
  width: 100px;
  z-index: 5000; }
  #pr.deactive {
    display: none; }
  #pr .closeBtn {
    cursor: pointer;
    position: absolute;
    width: 35px;
    top: 0;
    right: 0;
    transform: translate(40%, -50%); }
