@charset "UTF-8";
* {
  box-sizing: border-box;
  font-family: "Mplus 1p", sans-serif; }

.font_eg_serif {
  font-family: 'Alice'; }

.font_jp_serif {
  font-family: 'Sawarabi Mincho'; }

body {
  position: relative;
  margin: 0;
  padding: 0;
  font-size: 16px; }

body.onePage {
  overflow: hidden; }

.center {
  text-align: center; }

.normal {
  font-weight: normal; }

.bold {
  font-weight: bold; }

.b1 {
  font-size: 105%; }

.b2 {
  font-size: 110%; }

.b3 {
  font-size: 115%; }

.b4 {
  font-size: 120%; }

.b5 {
  font-size: 125%; }

@media screen and (min-width: 601px) {
  .b1 {
    font-size: 110%; }

  .b2 {
    font-size: 120%; }

  .b3 {
    font-size: 130%; }

  .b4 {
    font-size: 140%; }

  .b5 {
    font-size: 150%; } }
.s1 {
  font-size: 90%; }

.s2 {
  font-size: 80%; }

.s3 {
  font-size: 70%; }

.whiteEdge {
  text-shadow: 1px 0px 0 #fff, 1px 1px 0 #fff, 0px 1px 0 #fff, -1px 1px 0 #fff, -1px 0px 0 #fff, -1px -1px 0 #fff, 0px -1px 0 #fff, 1px -1px 0 #fff; }

.underLine {
  text-decoration: underline; }

.strike {
  text-decoration: line-through; }

.red {
  color: #dc1448; }

.dred {
  color: #84002c; }

.pink {
  color: #ff4ca4; }

.dpink {
  color: #d81864; }

.orange {
  color: #e45000; }

.blue {
  color: #30b8ff; }

.dblue {
  color: #183cbc; }

.green {
  color: #44a008; }

.dgreen {
  color: #246008; }

.purple {
  color: #b854ec; }

.dpurple {
  color: #441888; }

.marker_clear_pink {
  background: linear-gradient(transparent 50%, rgba(255, 156, 212, 0.5) 0%); }

.marker_clear_yellow {
  background: linear-gradient(transparent 50%, rgba(255, 255, 136, 0.5) 0%); }

span.kome {
  margin-left: 1em;
  text-indent: -1em;
  display: block; }

a {
  color: #0c84fc; }

@media screen and (min-width: 601px) {
  a.pc_hover:hover {
    color: #ff7cb0; } }
h1 {
  font-family: 'Alice';
  margin: 0;
  font-size: 27px;
  text-align: center;
  position: relative;
  z-index: 200;
  letter-spacing: 1px;
  text-shadow: 1px 0px 0 #fff,1px 1px 0 #fff,0px 1px 0 #fff,-1px 1px 0 #fff,-1px 0px 0 #fff,-1px -1px 0 #fff,0px -1px 0 #fff,1px -1px 0 #fff;
  color: #382828;
  font-weight: normal; }

@media screen and (min-height: 430px) {
  h1:before {
    width: 180px;
    height: 40px; } }
@media screen and (min-width: 601px) {
  h1 {
    position: absolute;
    top: 1.5em;
    right: 0;
    left: 0;
    font-size: 40px; } }
@media screen and (max-width: 736px) and (max-height: 414px) {
  h1 {
    font-size: 24px; } }
h1:before {
  position: absolute;
  margin: auto;
  left: 0;
  right: 0;
  top: 80%;
  content: "";
  width: 150px;
  height: 20px;
  background: url(../image/page/h_deco.png) top center no-repeat;
  background-size: 100% auto;
  z-index: -1; }

@media screen and (max-width: 640px) and (max-height: 360px) {
  h1:before {
    width: 130px;
    height: 15px; } }
h1.mt {
  margin-top: 0.5em !important; }

@media screen and (min-width: 375px) {
  h1.mt {
    margin-top: 0.3em !important; } }
/*バナー*/
#banner_wrap {
  text-align: center;
  width: 100%; }

@media screen and (max-width: 640px) and (max-height: 360px) {
  #banner_wrap {
    width: 90%;
    margin: 0px auto; } }
@media screen and (max-width: 480px) and (max-height: 320px) {
  #banner_wrap {
    width: 100%;
    margin: 0px auto; } }
.banner_img {
  width: 96%;
  height: auto;
  display: block;
  margin: 10px auto 0 auto;
  background-color: #fff; }

@media screen and (min-width: 601px) {
  .banner_img {
    width: 90%; } }
@media screen and (max-width: 360px) and (max-height: 640px) {
  .banner_img {
    width: 94%; } }
.banner_img.pc_hover:hover {
  transition: all .3s ease;
  border: 0px solid #999; }

.banner_img img {
  transition: all .3s ease;
  width: 100%;
  height: auto;
  vertical-align: bottom; }

.banner_img.pc_hover:hover img {
  transition: all .3s ease;
  opacity: 0.7; }

.banner_img.hover img {
  transition: all .3s ease;
  opacity: 0.7; }

.applinkwrap {
  display: flex;
  margin-top: 15px; }

.applinkcont {
  width: 50%; }

.applinkcont div:nth-child(1) {
  width: 100%; }

.applinkcont div:nth-child(1) img {
  width: 50%;
  height: auto;
  border: 7px solid #eee;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.3);
  display: block;
  margin: 0 auto; }

.applinkcont div:nth-child(2) {
  width: 100%;
  height: auto; }

.applinkcont div:nth-child(2) img {
  width: 60%;
  height: auto;
  display: block;
  margin: 10px auto; }

a.disable {
  cursor: default; }

.mt02 {
  margin-top: 0.2em !important; }

.mb02 {
  margin-bottom: 0.2em !important; }

.mt05 {
  margin-top: 0.5em !important; }

.mb05 {
  margin-bottom: 0.5em !important; }

.mt1 {
  margin-top: 2em !important; }

.mb1 {
  margin-bottom: 2em !important; }

.mt2 {
  margin-top: 2em !important; }

.mb2 {
  margin-bottom: 2em !important; }

.mt3 {
  margin-top: 3em !important; }

.mb3 {
  margin-bottom: 3em !important; }

.text_right {
  text-align: right !important; }

.text_left {
  text-align: left !important; }

.only_sp {
  display: inline; }

@media screen and (min-width: 601px) {
  .only_sp {
    display: none; } }
.only_pc {
  display: none; }

@media screen and (min-width: 601px) {
  .only_pc {
    display: inline; } }
#app_intro2 {
  width: 100%;
  height: auto;
  background-color: rgba(255, 255, 255, 0.5);
  border-top: 2px solid #fff;
  border-bottom: 2px solid #fff;
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.1);
  margin-top: 38px; }

@media screen and (min-height: 430px) {
  #app_intro2 {
    margin-top: 55px; } }
@media screen and (min-width: 601px) {
  #app_intro2 {
    display: block;
    padding-top: 1em;
    border: 0px solid red;
    transform: translateY(0);
    position: relative;
    background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(254, 254, 254, 0.5) 15%, rgba(250, 250, 250, 0.5) 85%, rgba(249, 249, 249, 0) 100%);
    background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(254, 254, 254, 0.5) 15%, rgba(250, 250, 250, 0.5) 85%, rgba(249, 249, 249, 0) 100%);
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(254, 254, 254, 0.5) 15%, rgba(250, 250, 250, 0.5) 85%, rgba(249, 249, 249, 0) 100%); } }
#logo2 {
  position: absolute;
  top: auto;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  width: auto;
  height: 25%;
  max-height: 200px;
  text-align: center; }

@media screen and (min-width: 768px) and (min-height: 1024px) {
  #logo2 {
    height: 100px; } }
@media screen and (min-width: 1024px) and (min-height: 768px) {
  #logo2 {
    height: 120px; } }
@media screen and (max-width: 732px) and (max-height: 412px) {
  #logo2 {
    height: 80px; } }
@media screen and (max-width: 667px) and (max-height: 375px) {
  #logo2 {
    height: 80px; } }
@media screen and (max-width: 640px) and (max-height: 360px) {
  #logo2 {
    height: 100px; } }
@media screen and (max-width: 600px) and (max-height: 800px) {
  #logo2 {
    height: 90px; } }
@media screen and (max-width: 320px) and (max-height: 480px) {
  #logo2 {
    height: 90px; } }
@media screen and (max-width: 320px) and (max-height: 372px) {
  #logo2 {
    height: 90px; } }
#logo2 img {
  width: auto;
  height: 100%;
  margin: 0 auto; }

#app_intro2 .app_txt {
  width: 90%;
  position: relative !important;
  margin: 0 auto; }

@media screen and (min-width: 601px) {
  #app_intro2 .app_txt {
    width: 60%;
    max-width: 800px;
    margin-top: 40px; } }
@media screen and (max-width: 732px) and (max-height: 412px) {
  #app_intro2 .app_txt {
    margin-top: 30px; } }
@media screen and (max-width: 667px) and (max-height: 375px) {
  #app_intro2 .app_txt {
    margin-top: 25px; } }
@media screen and (max-width: 600px) and (max-height: 800px) {
  #app_intro2 .app_txt {
    margin-top: 15px; } }
@media screen and (max-width: 568px) and (max-height: 320px) {
  #app_intro2 .app_txt {
    margin-top: 6px; } }
@media screen and (max-width: 320px) and (max-height: 480px) {
  #app_intro2 .app_txt {
    margin-top: 20px; } }
@media screen and (max-width: 320px) and (max-height: 372px) {
  #app_intro2 .app_txt {
    margin-top: 15px; } }
#app_intro2 .app_txt p:nth-child(1) {
  position: relative !important;
  padding-top: 8%; }

#app_intro2 .app_txt p {
  position: relative !important;
  margin: 0 !important;
  padding: 0;
  text-align: left;
  font-size: 12px;
  padding: 0.1em 0em .1em 3em;
  text-shadow: 1px 0px 0 #fff,1px 1px 0 #fff,0px 1px 0 #fff,-1px 1px 0 #fff,-1px 0px 0 #fff,-1px -1px 0 #fff,0px -1px 0 #fff,1px -1px 0 #fff;
  color: #333; }

@media screen and (min-width: 601px) {
  #app_intro2 .app_txt p {
    font-size: 14px;
    padding: 0.1em 2em; } }
.qr_intro {
  display: none; }

#app_intro2 .applinkwrap {
  display: block;
  margin-top: 20px;
  margin-bottom: 8%; }

@media screen and (min-width: 420px) {
  #app_intro2 .applinkwrap {
    display: flex; } }
@media screen and (max-width: 372px) and (max-height: 320px) {
  #app_intro2 .applinkwrap {
    display: flex; } }
#app_intro2 .applinkcont {
  width: 100%; }

#app_intro2 .applinkcont div:nth-child(1) {
  width: 100%;
  display: none; }

#app_intro2 .applinkcont div:nth-child(1) img {
  width: 50%;
  height: auto;
  border: 7px solid #eee;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.3);
  display: block;
  margin: 0 auto; }

#app_intro2 .applinkcont div:nth-child(2) {
  width: 100%;
  height: auto; }

#app_intro2 .applinkcont div:nth-child(2) img {
  width: 50%;
  height: auto;
  display: block;
  margin: 15px auto; }

@media screen and (max-width: 372px) and (max-height: 320px) {
  #app_intro2 .applinkcont div:nth-child(2) img {
    width: 70%; } }
@media screen and (min-width: 601px) {
  #app_intro2 .app_txt p:nth-child(1) {
    position: relative !important;
    padding-top: 4%; }

  .qr_intro {
    display: block;
    width: 60%;
    max-width: 800px;
    margin: 3% auto 10px auto;
    text-align: center;
    text-shadow: 1px 0px 0 #fff,1px 1px 0 #fff,0px 1px 0 #fff,-1px 1px 0 #fff,-1px 0px 0 #fff,-1px -1px 0 #fff,0px -1px 0 #fff,1px -1px 0 #fff;
    color: #333;
    font-size: 14px;
    font-weight: bold; }

  #app_intro2 .applinkwrap {
    display: flex;
    margin: 0 auto auto auto;
    width: 60%;
    max-width: 800px;
    padding-bottom: 5%;
    justify-content: center; }

  #app_intro2 .applinkcont {
    width: 50%;
    max-width: 200px;
    z-index: 10; }

  #app_intro2 .applinkcont div:nth-child(1) {
    width: 100%;
    display: block; }

  #app_intro2 .applinkcont div:nth-child(1) img {
    width: 60%;
    height: auto;
    border: 7px solid #eee;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.3);
    display: block;
    margin: 0 auto; }

  #app_intro2 .applinkcont div:nth-child(2) {
    width: 100%;
    height: auto; }

  #app_intro2 .applinkcont div:nth-child(2) img {
    width: 80%;
    height: auto;
    display: block;
    margin: 10px auto; } }
/* フッター用
--------------------------- */
footer {
  width: 100%;
  height: auto;
  position: absolute;
  bottom: 0;
  text-align: center;
  padding: 20px 0;
  font-size: 14px;
  color: #382828;
  text-shadow: 0 0 2px #fff,0 0 2px #fff,0 0 3px #fff;
  z-index: 5; }

footer.relative {
  position: relative; }

footer:before {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../image/page/race.png);
  background-position: center bottom;
  background-size: auto 50%;
  background-repeat: repeat-x;
  position: absolute;
  left: 0%;
  top: 0%;
  z-index: -1; }

footer a {
  display: block;
  width: 16em;
  height: auto;
  margin: 0 auto 10px auto;
  color: #00389c;
  text-decoration: none;
  background: #ffe77f;
  background: -moz-linear-gradient(top, #ffe77f 0%, #fcf6bd 100%);
  background: -webkit-linear-gradient(top, #ffe77f 0%, #fcf6bd 100%);
  background: linear-gradient(to bottom, #ffe77f 0%, #fcf6bd 100%);
  border-radius: 5px;
  text-shadow: none;
  font-weight: bold;
  text-align: center;
  line-height: 200%;
  box-shadow: 0 0 0 3px rgba(228, 168, 40, 0.5); }

@media screen and (min-width: 601px) {
  footer a:hover {
    margin: 2px auto 8px auto;
    color: #24a4ff; } }
#pageTop {
  bottom: 3px;
  right: 3px;
  width: 40px;
  height: 40px;
  text-align: center;
  position: fixed;
  overflow: hidden;
  z-index: 100;
  overflow: visible;
  opacity: 0.8; }

#pageTop a {
  border: 2px solid #fff;
  border-radius: 50%;
  margin: 0 auto;
  width: 40px;
  height: 40px;
  background: #ff597d;
  background: -moz-linear-gradient(top, #ff597d 0%, #ffb08c 100%);
  background: -webkit-linear-gradient(top, #ff597d 0%, #ffb08c 100%);
  background: linear-gradient(to bottom, #ff597d 0%, #ffb08c 100%);
  display: block;
  position: relative;
  color: #fff;
  text-align: center;
  text-decoration: none;
  line-height: 33px;
  font-size: 16px; }

@media screen and (min-width: 601px) {
  #pageTop:hover {
    opacity: 1; }

  #pageTop {
    bottom: 5px;
    right: 5px;
    width: 50px;
    height: 50px; }

  #pageTop a {
    border: 2px solid #fff;
    border-radius: 50%;
    margin: 0 auto;
    width: 50px;
    height: 50px;
    line-height: 40px;
    font-size: 20px; } }
/* #キャンペーンページ
--------------------------- */
#campaign_wrapper {
  width: 100%;
  height: auto;
  min-height: 100%;
  background: rgba(255, 255, 255, 0.7); }

@media screen and (min-width: 801px) {
  #campaign_wrapper {
    width: 800px;
    margin: 0 auto;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); } }
#campaign_container {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  min-height: 100%;
  margin: 0;
  padding: 0; }

#campaign_container::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../image/page/bg_hoshi1.png), url(../image/page/bg_hoshi2.png), url(../image/page/bg_stripe.png), linear-gradient(to bottom, #bfe8ff 0%, #a4a7ff 41%, #f4d9ff 100%);
  background-position: top left,top right,top left,top left;
  background-size: 68px 149px,68px 149px,78px 78px,auto 100%;
  background-repeat: repeat-y,repeat-y,repeat,no-repeat;
  z-index: -1; }

#campaign_header {
  outline: 0px solid red;
  height: auto;
  width: 100%; }

#campaign_header img {
  height: auto;
  width: 100%; }

.campaign_h1 {
  background: transparent;
  font-size: 1.3rem;
  font-weight: bold;
  margin: 3.5rem auto 0.3rem auto;
  width: 100%;
  height: auto;
  color: #743fef;
  border-bottom: 3px double #ffdc64; }

@media screen and (min-width: 601px) {
  .campaign_h1 {
    font-size: 1.4rem; } }
.campaign_h1:nth-child(1) {
  margin: 1rem auto 0.3rem auto; }

.campaign_h1 img:nth-child(1), .campaign_h1 img:nth-child(2) {
  width: 2rem;
  height: auto;
  vertical-align: middle; }

@media screen and (min-width: 601px) {
  .campaign_h1 img:nth-child(1), .campaign_h1 img:nth-child(2) {
    width: 3rem; } }
.campaign_h1 img:nth-child(1) {
  margin-right: 0.7rem; }

.campaign_h1 img:nth-child(2) {
  margin-left: 0.7rem; }

.campaign_h1::before, .campaign_h1::after {
  background: transparent; }

@media screen and (min-width: 601px) {
  .campaign_h1 {
    position: relative;
    top: auto; } }
@media screen and (min-width: 801px) {
  .campaign_h1 {
    font-size: 1.8rem;
    margin: 3.7rem auto 0.8rem auto; }

  .campaign_h1:nth-child(1) {
    margin: 1.5rem auto 0.7rem auto; } }
.campaign_h2 {
  padding: 0.1em 0.4em;
  background: transparent;
  font-size: 1.2rem;
  font-weight: bold;
  margin: 2rem 3% 0.3rem 3%;
  width: auto;
  height: auto;
  letter-spacing: 2px;
  background: rgba(255, 255, 255, 0.5); }

@media screen and (min-width: 601px) {
  .campaign_h2 {
    margin: 2rem 7% 0.3rem 7%; } }
@media screen and (min-width: 801px) {
  .campaign_h2 {
    margin: 2rem 12% 0.3rem 12%; } }
#campaign_content {
  outline: 0px solid blue;
  height: auto;
  width: 100%;
  position: relative;
  z-index: 3; }

#campaign_content p {
  font-size: 1rem;
  margin: 0.3rem auto 1rem auto;
  width: 90%; }

@media screen and (min-width: 601px) {
  #campaign_content p {
    width: 80%; } }
@media screen and (min-width: 801px) {
  #campaign_content p {
    font-size: 1.2rem;
    margin: 0.4rem auto 1.1rem auto;
    width: 70%;
    line-height: 180%; } }
span.kome {
  margin-left: 1em;
  text-indent: -1em;
  display: block; }

.campaign_explainImg {
  width: 90%;
  height: auto;
  display: block;
  margin: 1em auto; }

.campaign_storeLink {
  display: block;
  font-size: 1rem;
  text-align: center;
  margin: 0.5em auto;
  color: #fff;
  font-weight: bold;
  box-shadow: 0 0 3px 1px rgba(255, 255, 255, 0.5) inset, 0 0 3px 0px rgba(0, 0, 0, 0.3);
  width: 14em;
  height: auto;
  border-radius: 1em;
  padding: 0.5em;
  text-decoration: none;
  border: 2px solid #fff;
  transition: all .3s ease; }

.campaign_storeLink.as {
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.6) 100%);
  text-shadow: 0 0 3px #000; }

.campaign_storeLink.gp {
  background: linear-gradient(to bottom, rgba(88, 156, 28, 0.8) 0%, rgba(88, 156, 28, 0.6) 100%);
  text-shadow: 0 0 3px #246008; }

.campaign_storeLink.pc_hover:hover {
  transition: all .3s ease;
  opacity: 0.7; }

.campaign_storeLink.pc_hover:active {
  transition: all .3s ease;
  opacity: 0.7; }

.campaign_storeLink.hover {
  transition: all .3s ease;
  opacity: 0.7; }

#campaign_container #app_intro2 {
  margin-top: 11%; }

#campaign_container #logo2 {
  height: auto;
  width: 100%; }

.campaign_app_txt {
  margin-top: 23px !important; }

#campaign_container #logo2 img {
  width: 230px;
  height: auto; }

#campaign_container #logo2.logo_hf img {
  width: 160px;
  height: auto; }

@media screen and (min-width: 601px) {
  #campaign_container #app_intro2 {
    margin-top: 50px; }

  #campaign_container #logo2 {
    height: auto;
    width: 100%; }

  .campaign_app_txt {
    margin-top: 40px !important; }

  #campaign_container #logo2 img {
    width: 300px;
    height: auto; }

  #campaign_container #logo2.logo_hf img {
    width: 200px;
    height: auto; } }
#campaign_bannerSpace {
  outline: 0px solid orange;
  height: auto;
  width: 100%;
  text-align: center;
  margin-bottom: 2rem; }

#campaign_bannerSpace .banner_img {
  width: 90%;
  height: auto;
  display: block;
  margin: 10px auto 0 auto;
  background-color: #fff; }

#campaign_bannerSpace .banner_img.pc_hover:hover {
  transition: all .3s ease;
  border: 0px solid #999; }

#campaign_bannerSpace .banner_img img {
  transition: all .3s ease;
  width: 100%;
  height: auto;
  vertical-align: bottom; }

@media screen and (min-width: 601px) {
  #campaign_bannerSpace .banner_img {
    width: 80%;
    margin: 15px auto 0 auto; } }
@media screen and (min-width: 801px) {
  #campaign_bannerSpace .banner_img {
    width: 70%;
    margin: 15px auto 0 auto; } }
#campaign_bannerSpace .banner_img.pc_hover:hover img {
  transition: all .3s ease;
  opacity: 0.7; }

#campaign_bannerSpace .banner_img.hover img {
  transition: all .3s ease;
  opacity: 0.7; }

#pageTop2 {
  bottom: 3px;
  right: 3px;
  width: 40px;
  height: 40px;
  text-align: center;
  position: fixed;
  overflow: hidden;
  z-index: 100;
  overflow: visible;
  opacity: 0.8; }

#pageTop2 a {
  border: 2px solid #fff;
  border-radius: 50%;
  margin: 0 auto;
  width: 40px;
  height: 40px;
  background: #ff597d;
  background: -moz-linear-gradient(top, #ff597d 0%, #ffb08c 100%);
  background: -webkit-linear-gradient(top, #ff597d 0%, #ffb08c 100%);
  background: linear-gradient(to bottom, #ff597d 0%, #ffb08c 100%);
  display: block;
  position: relative;
  color: #fff;
  text-align: center;
  text-decoration: none;
  line-height: 33px;
  font-size: 16px; }

@media screen and (min-width: 601px) {
  #pageTop2:hover {
    opacity: 1; }

  #pageTop2 {
    bottom: 5px;
    right: 5px;
    width: 50px;
    height: 50px; }

  #pageTop2 a {
    border: 2px solid #fff;
    border-radius: 50%;
    margin: 0 auto;
    width: 50px;
    height: 50px;
    line-height: 40px;
    font-size: 20px; } }
#extend {
  width: 80%;
  height: auto;
  margin: 5px auto 10px auto;
  text-align: center; }

@media screen and (min-width: 601px) {
  #extend {
    width: 60%; } }
#extend a {
  text-decoration: none;
  width: auto; }

.extendImg {
  width: 100%;
  height: auto;
  margin: 0px auto 0 auto;
  opacity: 0;
  transition: all 0.5s ease; }

#extend a.pc_hover:hover .extendImg {
  opacity: 0.7 !important;
  transition: all 0.5s ease; }

@media screen and (min-width: 601px) {
  .extendImg {
    height: auto;
    display: block;
    margin: 0px auto 0px auto; } }
#extend a span {
  font-size: 20px;
  font-weight: bold;
  margin-top: -15px;
  margin-right: auto;
  margin-left: auto;
  color: #c82c7c;
  width: 11em;
  padding: 0;
  transition: all 0.5s ease; }

#extend a.pc_hover:hover span {
  color: #ff80e4;
  transition: all 0.5s ease; }

#extend a:visited span {
  color: #1480e4;
  transition: all 0.5s ease; }

/* #仲間ボーナス説明ページ　--------------------------- */
#campaign_container_fb {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  min-height: 100%;
  margin: 0;
  padding: 0; }

#campaign_container_fb::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../../app_hf/image/page/bg_hoshi1.png), url(../../app_hf/image/page/bg_hoshi2.png), url(../image/page/bg_stripe.png), linear-gradient(to top, #fddb92 0%, #d1fdff 100%);
  background-position: top left,top right,top left,top left;
  background-size: 68px 149px,68px 149px,78px 78px,auto 100%;
  background-repeat: repeat-y,repeat-y,repeat,no-repeat;
  z-index: -1; }

.fb_getheader {
  width: 100%;
  height: auto;
  display: block;
  margin: 1.5em auto; }

@media screen and (min-width: 601px) {
  .fb_getheader {
    width: 60%;
    height: auto;
    margin: 1.5em auto; } }
.talkWrapper {
  width: 96%;
  margin: 0 auto;
  padding: 0rem 0 2rem 0;
  color: #fff;
  font-size: 110%; }

@media screen and (min-width: 601px) {
  .talkWrapper {
    width: 90%; } }
.talk {
  width: 100%;
  margin: 0.8rem auto 1.3rem auto;
  position: relative;
  display: flex; }

@media screen and (min-width: 601px) {
  .talk {
    width: 95%; } }
.face {
  position: relative;
  width: 84px !important;
  height: 84px;
  display: block;
  order: 1; }
  .face::after {
    display: block;
    content: "";
    position: absolute;
    top: -2px;
    left: -2px;
    width: 84px;
    height: 84px;
    background: linear-gradient(to bottom, #fceabb 0%, #fff789 50%, #f8b500 51%, #fbdf93 100%);
    border-radius: 15%;
    z-index: 1;
    box-shadow: 0px 0px 0px 1px #e09800, 0px 0px 5px 0px rgba(255, 122, 245, 0.5); }
  .face img {
    position: relative;
    width: 80px !important;
    height: 80px;
    border-radius: 15%;
    z-index: 10;
    border: 1px solid #b46000; }

@media screen and (min-width: 601px) {
  .face {
    width: 104px !important;
    height: 104px; }
    .face::after {
      top: -2px;
      left: -2px;
      width: 104px;
      height: 104px; }
    .face img {
      width: 100px !important;
      height: 100px; } }
.bln_right,
.bln_left,
.bbl_left,
.bbl_right {
  color: #262626;
  font-size: 90%;
  line-height: 150%;
  background: #fff;
  background-size: 64px, auto;
  text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.5);
  box-shadow: 0 3px 0 0px #a8b8d8; }

.bln_right {
  position: relative;
  width: 70% !important;
  box-sizing: border-box;
  padding: 0.8rem 1.5rem;
  border-radius: 0.8rem;
  margin: 0.5rem auto 0 30px !important;
  order: 2; }
  .bln_right::before {
    box-sizing: content-box;
    content: "";
    width: 0;
    height: 0;
    border-width: 10px 20px 10px 0px;
    border-style: solid;
    border-color: transparent #fff transparent transparent;
    position: absolute;
    top: 1rem;
    z-index: 1;
    left: -20px;
    display: block; }
  .bln_right::after {
    box-sizing: content-box;
    content: "";
    width: 0;
    height: 0;
    border-width: 10px 20px 10px 0px;
    border-style: solid;
    border-color: transparent #a8b8d8 transparent transparent;
    position: absolute;
    top: calc(1rem + 3px);
    left: -20px;
    z-index: 0;
    display: block; }

.bln_left {
  position: relative;
  width: 70% !important;
  background-color: #fff;
  box-sizing: border-box;
  padding: 1rem 2rem;
  border-radius: 0.8rem;
  margin: 0.5rem 30px 0 auto !important;
  order: 0; }
  .bln_left::before {
    box-sizing: content-box;
    content: "";
    width: 0;
    height: 0;
    border-width: 10px 0 10px 20px;
    border-style: solid;
    border-color: transparent transparent transparent #fff;
    position: absolute;
    top: 1rem;
    z-index: 1;
    right: -20px;
    display: block; }
  .bln_left::after {
    box-sizing: content-box;
    content: "";
    width: 0;
    height: 0;
    border-width: 10px 0 10px 20px;
    border-style: solid;
    border-color: transparent transparent transparent #a8b8d8;
    position: absolute;
    top: calc(1rem + 3px);
    right: -20px;
    z-index: 0;
    display: block; }

.bbl_right {
  position: relative;
  width: 70%;
  background-color: rgba(255, 255, 255, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.7);
  box-sizing: border-box;
  padding: 0.8rem 1.5rem;
  border-radius: 10% / 50%;
  margin: 0 auto 0 30px;
  color: #392c1b;
  order: 2; }
  .bbl_right::before {
    content: "";
    width: 12px;
    height: 12px;
    border: 1px solid rgba(255, 255, 255, 0.7);
    background: url(../image/bln_bg.png), rgba(255, 255, 255, 0.6);
    border-radius: 50%;
    position: absolute;
    top: 50px;
    left: -18px; }
  .bbl_right::after {
    content: "";
    border: 1px solid rgba(255, 255, 255, 0.7);
    width: 6px;
    height: 6px;
    background: url(../image/bln_bg.png), rgba(255, 255, 255, 0.6);
    border-radius: 50%;
    position: absolute;
    top: 55px;
    left: -29px; }

@media screen and (max-width: 600px) {
  .talk {
    margin: 0.5rem auto 1rem auto; }

  .face {
    width: 84px !important;
    height: 84px; }
    .face::after {
      width: 84px;
      height: 84px; }
    .face img {
      width: 80px !important;
      height: 80px; }

  .txt .face img {
    margin: 0 !important; }

  .bln_right,
  .bln_left,
  .bbl_right,
  .bbl_left {
    padding: 0.8rem 1rem;
    width: 72% !important; }

  .bln_right {
    margin: 0.5rem auto 0 15px !important; }
    .bln_right::before {
      border-width: 5px 10px 5px 0px;
      top: 1rem;
      left: -10px; }
    .bln_right::after {
      border-width: 5px 10px 5px 0px;
      top: calc(1rem + 3px);
      left: -10px; }

  .bln_left {
    margin: 0.5rem 18px 0 auto !important; }
    .bln_left::before {
      border-width: 5px 0 5px 10px;
      top: 1rem;
      right: -10px; }
    .bln_left::after {
      border-width: 5px 0 5px 10px;
      top: calc(1rem + 3px);
      right: -10px; }

  .bbl_right::before {
    width: 12px;
    height: 12px;
    top: 3rem;
    left: -16px; }
  .bbl_right::after {
    top: 3rem;
    left: -28px; } }
@media screen and (max-width: 400px) {
  .talk {
    margin: 0.5rem auto 1rem auto; }

  .face {
    width: 64px !important;
    height: 64px; }
    .face::after {
      width: 64px;
      height: 64px; }
    .face img {
      width: 60px !important;
      height: 60px; }

  .txt .face img {
    margin: 0 !important; }

  .bln_right,
  .bln_left,
  .bbl_right,
  .bbl_left {
    padding: 0.8rem 1rem;
    width: 73% !important; } }
.fb_ss_wrapper {
  width: 100%;
  height: auto;
  position: relative;
  margin: 20px 0% 20px 0; }

.fb_ss_wrapper.right {
  margin: 20px 0 20px 0%; }

@media screen and (min-width: 601px) {
  .fb_ss_wrapper {
    width: 80%;
    height: auto;
    position: relative;
    margin: 20px 20% 20px 0; }

  .fb_ss_wrapper.right {
    margin: 20px 0 20px 20%; } }
.fb_ss_frame {
  width: 100%;
  height: auto;
  top: 0;
  left: 0; }

.fb_ss_frame img {
  width: 100%;
  height: auto; }

.fb_ss_image {
  position: absolute;
  width: 61.8%;
  height: auto;
  top: 5.6%;
  right: 10.9%; }

.fb_ss_wrapper.right .fb_ss_image {
  width: 61.8%;
  height: auto;
  top: 5.6%;
  left: 10.35%; }

.fb_ss_image img {
  width: 100%;
  height: auto; }

.fb_ss_hand {
  width: 10%;
  height: auto;
  position: absolute; }

.fb_ss_hand.tapAnime {
  animation: tapAnime 2s infinite linear;
  transform-origin: right bottom; }

.fb_ss_hand.pointAnime {
  animation: pointAnime 2s infinite linear; }

.fb_ss_hand.pointAnime img {
  transform: rotate(31deg); }

.fb_ss_hand.hand00 {
  top: 53%;
  left: 20%; }

.fb_ss_hand.hand01 {
  top: 31%;
  left: 27.2%; }

.fb_ss_hand.hand02 {
  top: 20%;
  left: 69%; }

.fb_ss_hand.hand04 {
  top: 27%;
  left: 48%; }

.fb_ss_hand.hand05 {
  top: 38%;
  left: 50%; }

.fb_ss_hand.hand07 {
  top: 27%;
  left: 37%; }

.fb_ss_hand.hand08 {
  top: 38%;
  left: 43%; }

.fb_ss_hand.hand09 {
  top: 40%;
  left: 53%; }

/*　タップアニメ設定==========================　*/
@keyframes tapAnime {
  0% {
    transform: rotate(0deg);
    opacity: 0; }
  5% {
    transform: rotate(2deg);
    opacity: 1; }
  15% {
    transform: rotate(0deg);
    opacity: 1; }
  25% {
    transform: rotate(-10deg);
    opacity: 1; }
  60% {
    transform: rotate(-10deg);
    opacity: 1; }
  70% {
    opacity: 0; }
  100% {
    transform: rotate(-10deg);
    opacity: 0; } }
/*　指さしアニメ設定　==========================　*/
@keyframes pointAnime {
  0% {
    opacity: 0; }
  10% {
    transform: translateY(0px);
    opacity: 1; }
  20% {
    transform: translateY(-5px); }
  30% {
    transform: translateY(0px); }
  40% {
    transform: translateY(-5px); }
  50% {
    transform: translateY(0px); }
  60% {
    opacity: 1; }
  70% {
    opacity: 0; }
  100% {
    opacity: 0; } }
.fb_ss_hand img {
  width: 100%;
  height: auto; }

/*　ネクスト画像設定==========================　*/
.fb_ss_next {
  width: 80%;
  text-align: center;
  margin: 20px auto; }

.fb_ss_next.next_right {
  margin: 20px 0  20px 20%; }

.fb_ss_next img {
  width: 12%;
  height: auto; }

/*　もじゃべあ仲間登録設定==========================　*/
.frend_moja {
  width: 92%;
  margin: 0px auto 40px auto;
  font-size: 0.9rem; }

@media screen and (min-width: 601px) {
  .frend_moja {
    width: 80%;
    margin: 0px auto 40px auto;
    font-size: 1.2rem; } }
/* ランディングページ
--------------------------- */
#lp_wrapper {
  width: 100%;
  height: auto;
  min-height: 100%;
  background: rgba(255, 255, 255, 0.7); }

@media screen and (min-width: 501px) and (max-height: 400px) {
  #lp_header {
    display: flex; } }
@media screen and (min-width: 601px) {
  #lp_header {
    display: flex; } }
.lp_header_left,
.lp_header_right {
  width: 100%;
  height: 50vh;
  text-align: center;
  position: relative;
  box-shadow: 0 0 20px 0 #fff; }

.lp_header_left {
  background-image: url(../../app_hf/image/page/logo.png), linear-gradient(rgba(112, 255, 255, 0) 80%, rgba(112, 255, 255, 0.5) 100%), url(../../app_hf/image/page/parts_page1_bg01.png), url(../../app_hf/image/page/bg_top.jpg);
  background-repeat: no-repeat,no-repeat,no-repeat,no-repeat;
  background-position: 5% 6%,100% 100%,right top,left top;
  background-size: 40% auto,100% 100%,70% auto,cover; }

.lp_header_right {
  background-image: url(../../app_sk/image/page/logo.png), linear-gradient(rgba(112, 255, 255, 0) 80%, rgba(112, 255, 255, 0.5) 100%), url(../../app_sk/image/page/parts_page1_bg01.png), url(../../app_sk/image/page/bg_top.jpg);
  background-repeat: no-repeat,no-repeat,no-repeat,no-repeat;
  background-position: 3% 8%,100% 100%,right top,left top;
  background-size: 50% auto,100% 100%,55% auto,cover; }

@media screen and (min-width: 301px) and (min-height: 501px) {
  .lp_header_left {
    background-position: 3% center,100% 100%,150% top,left top;
    background-size: 40% auto,100% 100%,90% auto,cover; }

  .lp_header_right {
    background-position: 3% center,100% 100%,110% top,left top;
    background-size: 50% auto,100% 100%,70% auto,cover; } }
@media screen and (min-width: 401px) and (min-height: 401px) {
  .lp_header_left {
    background-position: 3% center,100% 100%,right top,left top;
    background-size: 40% auto,100% 100%,100% auto,cover; }

  .lp_header_right {
    background-position: 3% center,100% 100%,right top,left top;
    background-size: 50% auto,100% 100%,80% auto,cover; } }
@media screen and (min-width: 501px) and (max-height: 400px) {
  .lp_header_left,
  .lp_header_right {
    width: 50%;
    height: 100vh; }

  .lp_header_left {
    background-position: center 78%,100% 100%,right top,left top;
    background-size: 40% auto,100% 100%,120% auto,cover; }

  .lp_header_right {
    background-position: center 80%,100% 100%,right top,left top;
    background-size: 50% auto,100% 100%,100% auto,cover; } }
@media screen and (min-width: 601px) {
  .lp_header_left,
  .lp_header_right {
    width: 50%;
    height: 100vh; }

  .lp_header_left {
    background-position: center 78%,100% 100%,right top,left top;
    background-size: 40% auto,100% 100%,120% auto,cover; }

  .lp_header_right {
    background-position: center 80%,100% 100%,right top,left top;
    background-size: 50% auto,100% 100%,100% auto,cover; } }
@media screen and (min-width: 601px) and (min-height: 801px) {
  .lp_header_left,
  .lp_header_right {
    width: 50%;
    height: 50vh; } }
@media screen and (min-width: 1201px) and (min-height: 1001px) {
  .lp_header_left,
  .lp_header_right {
    width: 50%;
    height: 100vh; } }
.lp_button_wrapper {
  width: 100%;
  height: auto;
  margin-top: auto;
  margin-bottom: 0;
  border: 0px solid white;
  position: absolute;
  bottom: 0;
  padding-bottom: 0px; }

@media screen and (min-width: 1201px) and (min-height: 1001px) {
  .lp_button_wrapper {
    padding-bottom: 50px; } }
/*各タイトル誘導ボタン*/
.lp_button {
  -webkit-tap-highlight-color: transparent;
  display: block;
  font-size: 18px;
  width: 12em;
  height: 3em;
  margin: 0px auto 20px 3%;
  border-radius: 0.5em;
  line-height: 2.8em;
  border: 3px solid #fff;
  text-align: center;
  color: #481c14;
  text-decoration: none;
  text-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
  box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.3), 0 0px 10px 0 rgba(255, 205, 240, 0) inset, 0 2px 3px 0 rgba(0, 0, 0, 0.1) inset;
  text-shadow: 0px 0px 0px #ff4c9c,1px 0px 0 #fff,1px 1px 0 #fff,0px 1px 0 #fff,-1px 1px 0 #fff,-1px 0px 0 #fff,-1px -1px 0 #fff,0px -1px 0 #fff,1px -1px 0 #fff;
  transition: all .5s ease; }

@media screen and (min-width: 401px) {
  .lp_button {
    margin: 0px auto 20px auto; } }
.lp_button1 {
  background-image: linear-gradient(45deg, rgba(255, 84, 0, 0.8) 0%, rgba(135, 255, 204, 0.8) 100%); }

.lp_button2 {
  background-image: linear-gradient(45deg, rgba(252, 164, 255, 0.8) 0%, rgba(0, 148, 255, 0.8) 100%); }

.lp_button.pc_hover:hover {
  color: #ff1c84;
  transition: all .5s ease;
  margin-top: -2px;
  margin-bottom: 22px;
  box-shadow: 0 6px 6px 0px rgba(0, 0, 0, 0.2), 0 0px 15px 0 rgba(255, 205, 240, 0.8) inset, 0 3px 4px 0 rgba(0, 0, 0, 0.1) inset;
  text-shadow: 0px 0px 3px #ff94d0,1px 0px 0 #fff,1px 1px 0 #fff,0px 1px 0 #fff,-1px 1px 0 #fff,-1px 0px 0 #fff,-1px -1px 0 #fff,0px -1px 0 #fff,1px -1px 0 #fff; }

.lp_button.pc_hover:active {
  color: #7cffff;
  transition: all .3s ease;
  box-shadow: 0 2px 3px -2px rgba(0, 0, 0, 0.3), 0 0px 15px 0 rgba(170, 225, 255, 0.8) inset, 0 2px 3px 0 rgba(0, 0, 0, 0.1) inset;
  text-shadow: 0px 0px 3px #7cffff,1px 0px 0 #fff,1px 1px 0 #fff,0px 1px 0 #fff,-1px 1px 0 #fff,-1px 0px 0 #fff,-1px -1px 0 #fff,0px -1px 0 #fff,1px -1px 0 #fff;
  margin-top: 2px;
  margin-bottom: 18px; }

.lp_button.hover {
  color: #7cffff;
  transition: all .3s ease;
  box-shadow: 0 2px 3px -1px rgba(0, 0, 0, 0.3), 0 0px 15px 0 rgba(170, 225, 255, 0.8) inset, 0 2px 3px 0 rgba(0, 0, 0, 0.1) inset;
  text-shadow: 0px 0px 3px #7cffff,1px 0px 0 #fff,1px 1px 0 #fff,0px 1px 0 #fff,-1px 1px 0 #fff,-1px 0px 0 #fff,-1px -1px 0 #fff,0px -1px 0 #fff,1px -1px 0 #fff;
  margin-top: 2px;
  margin-bottom: 18px; }

@media screen and (min-width: 601px) {
  .lp_button {
    margin: 10px auto 30px auto;
    font-size: 18px; }

  .lp_button.pc_hover:hover {
    margin-top: 8px;
    margin-bottom: 32px; }

  .lp_button.pc_hover:active {
    margin-top: 12px;
    margin-bottom: 28px; }

  .lp_button.hover {
    margin-top: 12px;
    margin-bottom: 28px; } }
@media screen and (max-width: 736px) and (max-height: 414px) {
  .lp_button {
    font-size: 12px; } }
@media screen and (max-width: 640px) and (max-height: 360px) {
  .lp_button {
    font-size: 12px; } }
.lp_cp_link {
  margin: 2em auto 0em auto;
  padding: 0 1em;
  text-align: center;
  display: block;
  max-width: 800px;
  width: 90%; }

/*各タイトルイメージ*/
.lp_ss {
  width: 100%;
  height: auto;
  max-width: 392px;
  margin: 2em auto 2em auto;
  display: block; }

@media screen and (min-width: 601px) {
  .lp_ss {
    margin: 1em auto 3em auto; } }
.lp_text {
  text-align: center;
  margin: 0 auto 4em auto !important;
  width: 100% !important;
  padding: 0 1em; }

@media screen and (min-width: 601px) {
  .lp_text {
    margin: 0 auto 5em auto !important; } }
/*ページローダースタイル---------------------------------------------　*/
#loader {
  width: 140px;
  height: 140px;
  display: none;
  position: fixed;
  _position: absolute;
  /* IE6対策 */
  top: 50%;
  left: 50%;
  margin-top: -70px;
  /* heightの半分のマイナス値 */
  margin-left: -70px;
  /* widthの半分のマイナス値 */
  z-index: 2000; }

#fade {
  width: 100%;
  height: 100%;
  display: none;
  background-color: #FFFFFF;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 1000; }

/*# sourceMappingURL=style.css.map */
