@charset "UTF-8";
/*-----------------------------*/
/*サイト CSS*/
/*-----------------------------*/
@import url(normalize.css);
@import "https://fonts.googleapis.com/css?family=Noto+Sans+JP:100,300,400,500,700,900&subset=japanese";
@import "https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap";
@import "https://fonts.googleapis.com/css?family=Noto+Serif+JP:200,300,400,500,600,700,900&display=swap";
@import "https://fonts.googleapis.com/css2?family=Shippori+Mincho+B1:wght@400;500;600;700;800&display=swap";
@import "https://fonts.googleapis.com/css?family=M+PLUS+Rounded+1c";
@import "https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap";
@import "https://fonts.googleapis.com/css2?family=Marcellus&display=swap";
@import "https://fonts.googleapis.com/css2?family=Sarabun&display=swap";
html.enable-javascript .hide-enable-js {
  display: none !important; }
html:not(.enable-javascript) * {
  display: none !important; }
html:not(.enable-javascript) body,
html:not(.enable-javascript) noscript,
html:not(.enable-javascript) .hide-disable-js {
  display: block !important; }

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  word-break: break-all;
  word-wrap: anywhere; }

html {
  height: 100%;
  font-size: 10px; }

body {
  height: 100%;
  padding: 0;
  margin: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 1.4rem;
  font-family: "Marcellus", "Optima", "Noto Sans JP", "メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, sans-serif;
  color: #333;
  line-height: 2rem;
  background-color: #fff; }

div,
ul,
li {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

h1,
h2,
h3,
h4,
h5 {
  margin: 0;
  padding: 0;
  line-height: 1em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

li {
  list-style: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

a {
  text-decoration: none;
  color: #333;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: 0.3s;
  transition: 0.3s; }

i {
  font-style: normal;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

img {
  vertical-align: top;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

table {
  border-collapse: collapse;
  border-spacing: 0;
  border: 1px solid #ccc; }

p {
  line-height: 2.2rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
  p:first-of-type {
    margin-top: 0; }
  p:last-of-type {
    margin-bottom: 0; }

#env {
  position: fixed;
  z-index: 999999;
  width: 100px;
  margin-left: -50px;
  padding: 0.3rem;
  background: red;
  left: 50%;
  top: 0px;
  color: #fff;
  text-align: center;
  font-size: 1rem; }
  #env:hover {
    opacity: 0; }
  #env.local {
    background: purple; }

.sp {
  display: none; }

.inner {
  position: relative;
  max-width: 1280px;
  width: 100%;
  margin: auto; }

.text_l {
  text-align: left; }

.text_r {
  text-align: right; }

.text_c {
  text-align: center; }

.fl_l {
  float: left; }

.fl_r {
  float: right; }

.mt_0 {
  margin-top: 0px !important; }

.mb_0 {
  margin-bottom: 0px !important; }

.mt_5 {
  margin-top: 5px !important; }

.mb_5 {
  margin-bottom: 5px !important; }

.mt_10 {
  margin-top: 10px !important; }

.mb_10 {
  margin-bottom: 10px !important; }

.mt_15 {
  margin-top: 15px !important; }

.mb_15 {
  margin-bottom: 15px !important; }

.mt_20 {
  margin-top: 20px !important; }

.mb_20 {
  margin-bottom: 20px !important; }

.mt_25 {
  margin-top: 25px !important; }

.mb_25 {
  margin-bottom: 25px !important; }

.mt_30 {
  margin-top: 30px !important; }

.mb_30 {
  margin-bottom: 30px !important; }

.mt_35 {
  margin-top: 35px !important; }

.mb_35 {
  margin-bottom: 35px !important; }

.mt_40 {
  margin-top: 40px !important; }

.mb_40 {
  margin-bottom: 40px !important; }

.mt_45 {
  margin-top: 45px !important; }

.mb_45 {
  margin-bottom: 45px !important; }

.mt_50 {
  margin-top: 50px !important; }

.mb_50 {
  margin-bottom: 50px !important; }

.mt_55 {
  margin-top: 55px !important; }

.mb_55 {
  margin-bottom: 55px !important; }

.mt_60 {
  margin-top: 60px !important; }

.mb_60 {
  margin-bottom: 60px !important; }

.mt_65 {
  margin-top: 65px !important; }

.mb_65 {
  margin-bottom: 65px !important; }

.mt_70 {
  margin-top: 70px !important; }

.mb_70 {
  margin-bottom: 70px !important; }

.mt_75 {
  margin-top: 75px !important; }

.mb_75 {
  margin-bottom: 75px !important; }

.mt_80 {
  margin-top: 80px !important; }

.mb_80 {
  margin-bottom: 80px !important; }

.mt_85 {
  margin-top: 85px !important; }

.mb_85 {
  margin-bottom: 85px !important; }

.mt_90 {
  margin-top: 90px !important; }

.mb_90 {
  margin-bottom: 90px !important; }

.mt_95 {
  margin-top: 95px !important; }

.mb_95 {
  margin-bottom: 95px !important; }

.mt_100 {
  margin-top: 100px !important; }

.mb_100 {
  margin-bottom: 100px !important; }

.img img {
  width: 100%; }

#pagetop {
  display: none;
  position: fixed;
  right: 30px;
  bottom: 50px; }
  #pagetop .pagetop {
    width: 70px;
    height: 70px;
    -webkit-filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.6));
            filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.6));
    -webkit-transition: 0.5s;
    transition: 0.5s; }
    #pagetop .pagetop:hover {
      -webkit-transition: 0.5s;
      transition: 0.5s;
      opacity: 0.8; }

.main_bg {
  position: absolute;
  z-index: -10;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  overflow: hidden; }
  .main_bg .bg_img {
    width: 100%; }
  .main_bg .movie {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 120%;
    min-height: 120%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    -o-object-fit: contain;
       object-fit: contain;
    aspect-ratio: 16 / 9;
    border: none; }

.en {
  word-break: keep-all; }
  .en * {
    word-break: keep-all; }

.main_ttl {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  width: 50%;
  margin: -100px auto 0px;
  padding: 240px 70px 120px; }
  .main_ttl::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    display: block;
    height: 100%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    border-radius: 50%;
    -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
            box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
    background: rgba(255, 255, 255, 0.9);
    aspect-ratio: 1 / 1; }
  .main_ttl .bg {
    display: none; }
  .main_ttl .sub {
    margin: 0 0 30px 0;
    font-family: "Marcellus", "Optima";
    font-size: 2.5rem;
    line-height: 2.5rem; }
  .main_ttl .main {
    margin: 0 0 30px 0; }
    .main_ttl .main img {
      width: 100%; }
  .main_ttl .lang {
    margin: 0 0 30px 0;
    font-size: 2.3rem;
    line-height: 3.3rem;
    font-weight: 400; }
  .main_ttl .en {
    margin: 0;
    font-family: "Marcellus", "Optima";
    font-size: 1.8rem; }

.lang_switch {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 100%; }
  .lang_switch span {
    display: inline-block;
    padding: 5px;
    margin: 0 0 0 5px;
    min-width: 35px;
    text-align: center;
    border-radius: 6px;
    border: 1px solid #bc241c;
    font-size: 1.6rem;
    font-family: "Marcellus", "Optima";
    color: #bc241c;
    background: #fff;
    cursor: pointer;
    -webkit-transition: 0.3s;
    transition: 0.3s; }
    .lang_switch span:hover {
      opacity: 0.5; }
    .lang_switch span.on {
      color: #fff;
      background: #bc241c; }

.our_message {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  width: 60%;
  margin: 0px auto;
  padding: 140px; }
  .our_message::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    display: block;
    height: 100%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    border-radius: 50%;
    -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
            box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
    background: rgba(255, 255, 255, 0.9);
    aspect-ratio: 1 / 1; }
  .our_message .bg {
    display: none; }
  .our_message .switch_txt .en {
    display: none; }
  .our_message .ttl .en {
    margin: 0 0 15px 0;
    font-family: "Marcellus", "Optima";
    font-size: 2.5rem;
    line-height: 2.5rem; }
  .our_message .ttl .jp {
    margin: 0 0 15px 0;
    font-size: 2rem;
    line-height: 2rem;
    font-weight: 400; }
  .our_message .txt {
    margin-top: 10px;
    text-align: left; }
  .our_message a {
    color: #814ba3; }
    .our_message a:hover {
      text-decoration: underline; }
    .our_message a::before {
      content: "";
      position: relative;
      top: 2px;
      display: inline-block;
      width: 14px;
      height: 14px;
      background: url(../images/arrow_right_purple.svg) no-repeat center/contain; }

.three_steps {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  width: 70%;
  margin: 0 0 0 auto;
  padding: 100px 200px 160px; }
  .three_steps::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    display: block;
    height: 100%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    border-radius: 50%;
    -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
            box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
    background: rgba(255, 255, 255, 0.9);
    aspect-ratio: 1 / 1; }
  .three_steps .bg {
    display: none; }
  .three_steps .ttl {
    margin-bottom: 30px; }
    .three_steps .ttl p {
      margin: 0; }
    .three_steps .ttl .jp {
      font-size: 2rem; }
    .three_steps .ttl .en {
      font-size: 2.4rem;
      line-height: 3.4rem; }
  .three_steps .lang_switch {
    margin-bottom: 30px; }
  .three_steps .step_list li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 50px; }
    .three_steps .step_list li:last-of-type {
      margin-bottom: 0; }
  .three_steps .step_list .icon {
    width: 14%; }
    .three_steps .step_list .icon img {
      width: 100%; }
  .three_steps .step_list .txt {
    width: 80%;
    text-align: left; }
  .three_steps .step_list .step {
    margin-bottom: 10px;
    font-size: 2.5rem; }

.this_month_donation {
  position: relative;
  width: 90%;
  margin: 0px auto 50px calc(50% - 45vw);
  padding: 100px 250px 100px;
  text-align: center; }
  .this_month_donation::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    height: 100%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    border-radius: 50%;
    -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
            box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
    background: white;
    aspect-ratio: 1 / 1; }
  .this_month_donation .bg {
    display: none; }
  .this_month_donation .ttl {
    margin-bottom: 20px;
    font-size: 2.2rem;
    font-weight: 400; }
    .this_month_donation .ttl .en {
      display: none;
      font-family: "Sarabun"; }
  .this_month_donation .name {
    margin-bottom: 20px;
    font-size: 2.4rem;
    line-height: 3.4rem;
    font-weight: bold; }
    .this_month_donation .name a:hover {
      opacity: 0.5; }
    .this_month_donation .name a:empty::after {
      display: none; }
    .this_month_donation .name a::after {
      content: "";
      position: relative;
      top: 2px;
      margin-left: 5px;
      display: inline-block;
      width: 24px;
      height: 24px;
      background: url(../images/icon_link.svg) no-repeat center/contain; }
    .this_month_donation .name .en {
      display: none;
      font-family: "Sarabun"; }
  .this_month_donation .outline {
    margin-bottom: 20px;
    font-weight: 500; }
    .this_month_donation .outline p {
      margin: 0;
      word-break: normal; }
    .this_month_donation .outline .en {
      display: none;
      font-family: "Sarabun"; }
  .this_month_donation .lang_switch {
    margin-bottom: 20px; }
  .this_month_donation .main_img {
    margin-bottom: 50px; }
    .this_month_donation .main_img img {
      width: 100%;
      border-radius: 10px; }
  .this_month_donation .clicks {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 5%; }
    .this_month_donation .clicks li {
      width: 30%; }
    .this_month_donation .clicks .icon {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      height: 75px;
      margin-bottom: 15px;
      text-align: center; }
      .this_month_donation .clicks .icon img {
        width: auto;
        height: 100%; }
    .this_month_donation .clicks .clicks {
      display: block;
      margin-bottom: 15px;
      font-size: 4rem;
      line-height: 4rem;
      font-family: "Marcellus", "Optima";
      color: #d00001;
      text-align: center; }
    .this_month_donation .clicks .txt {
      text-align: center;
      font-weight: 500;
      font-family: "Noto Sans JP"; }
      .this_month_donation .clicks .txt p {
        margin: 0; }
      .this_month_donation .clicks .txt .en {
        display: none;
        font-family: "Sarabun"; }
  .this_month_donation .btn_support_wrap {
    margin-top: 50px; }

.by_month_donations {
  position: relative;
  padding-top: 150px; }
  .by_month_donations::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 55%;
    left: 50%;
    height: 110%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    border-radius: 50%;
    -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
            box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
    background: rgba(255, 255, 255, 0.9);
    aspect-ratio: 1 / 1; }
  .by_month_donations .bg {
    display: none; }
  .by_month_donations > .inner {
    max-width: 1030px; }
  .by_month_donations .ttl {
    margin-bottom: 20px;
    text-align: center;
    color: #d00001;
    font-size: 3.5rem;
    line-height: 3.5rem;
    font-family: "Marcellus", "Optima";
    font-weight: bold; }
  .by_month_donations .sub {
    margin-bottom: 20px;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 500; }
  .by_month_donations .lang_switch {
    margin-bottom: 20px; }

.donation_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  .donation_list li {
    width: 30%;
    margin-bottom: 30px;
    border-radius: 10px;
    background: #fff;
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); }
    .donation_list li.jan .month {
      border-bottom-color: #ef3c56; }
    .donation_list li.feb .month {
      border-bottom-color: #00a6c6; }
    .donation_list li.mar .month {
      border-bottom-color: #feb822; }
    .donation_list li.apr .month {
      border-bottom-color: #f1647e; }
    .donation_list li.may .month {
      border-bottom-color: #66bd4a; }
    .donation_list li.jun .month {
      border-bottom-color: #83541f; }
    .donation_list li.jul .month {
      border-bottom-color: #f68b1f; }
    .donation_list li.aug .month {
      border-bottom-color: #045890; }
    .donation_list li.sep .month {
      border-bottom-color: #009893; }
    .donation_list li.oct .month {
      border-bottom-color: #7b652b; }
    .donation_list li.nov .month {
      border-bottom-color: #679650; }
    .donation_list li.dec .month {
      border-bottom-color: #4391ce; }
  .donation_list .month {
    padding: 10px;
    text-align: center;
    font-size: 2rem;
    color: #666;
    border-bottom-width: 7px;
    border-bottom-style: solid; }
  .donation_list .tn img {
    width: 100%; }
  .donation_list .box {
    padding: 15px; }
    .donation_list .box .en {
      display: none;
      font-family: "Sarabun"; }
  .donation_list .name {
    margin-bottom: 15px;
    font-weight: bold; }
    .donation_list .name a:hover {
      opacity: 0.5; }
    .donation_list .name a::after {
      content: "";
      position: relative;
      top: 2px;
      margin-left: 5px;
      display: inline-block;
      width: 14px;
      height: 14px;
      background: url(../images/icon_link.svg) no-repeat center/contain; }

.register_email {
  position: fixed;
  z-index: 10;
  right: 30px;
  bottom: 30px;
  max-width: 260px;
  padding: 10px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.9);
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); }
  .register_email .ttl {
    margin: 10px 0 15px;
    text-align: left;
    font-size: 1.8rem;
    line-height: 1.8rem; }
  .register_email .icon img {
    width: 100%; }
  .register_email .jp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0 0 5px 0;
    text-align: center; }
    .register_email .jp p {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      font-size: 1.1rem;
      line-height: 1.4rem; }
    .register_email .jp .icon {
      width: 40px;
      margin: 0 5px 0 0; }
  .register_email .en {
    margin: 0 0 5px 0;
    text-align: center;
    font-size: 1.1rem;
    line-height: 1.4rem; }
  .register_email .btn_close {
    position: absolute;
    right: 5px;
    top: 5px;
    display: block;
    border: none;
    padding: 0;
    background: none;
    cursor: pointer; }
    .register_email .btn_close:hover {
      background: none;
      opacity: 0.6; }
  .register_email .wrap_1 .jp {
    margin-bottom: 10px; }
  .register_email .wrap_1 .en .icon {
    width: 50px;
    margin: 10px auto 10px; }
  .register_email .wrap_1 .en .ttl {
    margin: 10px 0 0 0;
    width: 100%;
    font-size: 1.6rem;
    text-align: center; }
  .register_email .wrap_1 .en p {
    text-align: center; }
  .register_email .wrap_2 {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #ccc; }
    .register_email .wrap_2 .txt {
      margin-bottom: 10px; }
      .register_email .wrap_2 .txt .en {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; }
      .register_email .wrap_2 .txt .icon {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        width: 60px;
        margin: 0 15px 0 0; }
      .register_email .wrap_2 .txt p {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        text-align: left;
        font-size: 1.2rem;
        line-height: 1.4rem; }

.btn, .btn_support, .btn_regist {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
  padding: 5px 10px 15px;
  width: 100%;
  min-height: 65px;
  border: 1px solid #d00001;
  border-radius: 10px;
  overflow: hidden;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s; }
  .btn::after, .btn_support::after, .btn_regist::after {
    content: "";
    position: absolute;
    left: 0px;
    bottom: 0px;
    display: block;
    width: 100%;
    height: 10px;
    background: #9a0105; }
  .btn .en, .btn_support .en, .btn_regist .en {
    margin: 0;
    font-size: 2.2rem;
    line-height: 2.2rem;
    font-family: "Marcellus", "Optima"; }
  .btn .jp, .btn_support .jp, .btn_regist .jp {
    margin: 5px 0 0 0;
    font-size: 1.5rem;
    line-height: 1.5rem;
    font-weight: 500; }
  .btn_support {
    margin-bottom: 10px;
    background: #d00001;
    color: #fff;
    -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);
            box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3); }
    .btn_support p {
      padding: 10px 0;
      margin: 0; }
    .btn_support span {
      display: block; }
    .btn_support .jp {
      margin-top: 5px; }
    .btn_support:hover {
      background: #fff;
      color: #000; }
    .btn_support.clicked {
      background: #ccc;
      color: #999;
      border: 1px solid #ccc;
      cursor: unset; }
      .btn_support.clicked::after {
        background: #999; }
  .btn_regist {
    background: #fff; }
    .btn_regist:hover {
      background: #d00001;
      color: #fff; }
    .btn_regist .en {
      margin: 0 !important; }
      .btn_regist .en::after {
        content: "";
        position: relative;
        top: -2px;
        display: inline-block;
        margin-left: 8px;
        width: 10px;
        height: 10px;
        background: url(../images/arrow_right_bk.svg) no-repeat center/contain; }

.btn_support_wrap {
  position: relative;
  margin: 50px auto;
  width: 430px; }
  .btn_support_wrap .btn_support {
    width: 100%; }

.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(1) {
  -webkit-animation: spot-1 0.7s 0.9571428571s linear infinite;
          animation: spot-1 0.7s 0.9571428571s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(2) {
  -webkit-animation: spot-2 0.7s 0.9s linear infinite;
          animation: spot-2 0.7s 0.9s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(3) {
  -webkit-animation: spot-3 0.7s 0.9s linear infinite;
          animation: spot-3 0.7s 0.9s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(4) {
  -webkit-animation: spot-4 0.7s 1.3s linear infinite;
          animation: spot-4 0.7s 1.3s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(5) {
  -webkit-animation: spot-5 0.7s 0.6666666667s linear infinite;
          animation: spot-5 0.7s 0.6666666667s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(6) {
  -webkit-animation: spot-6 0.7s 0.9571428571s linear infinite;
          animation: spot-6 0.7s 0.9571428571s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(7) {
  -webkit-animation: spot-7 0.7s 0.84s linear infinite;
          animation: spot-7 0.7s 0.84s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(8) {
  -webkit-animation: spot-8 0.7s 1.05s linear infinite;
          animation: spot-8 0.7s 1.05s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(9) {
  -webkit-animation: spot-9 0.7s 0.5444444444s linear infinite;
          animation: spot-9 0.7s 0.5444444444s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(10) {
  -webkit-animation: spot-10 0.7s 0.94s linear infinite;
          animation: spot-10 0.7s 0.94s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(11) {
  -webkit-animation: spot-11 0.7s 0.3s linear infinite;
          animation: spot-11 0.7s 0.3s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(12) {
  -webkit-animation: spot-12 0.7s 0.58s linear infinite;
          animation: spot-12 0.7s 0.58s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(13) {
  -webkit-animation: spot-13 0.7s 0.7571428571s linear infinite;
          animation: spot-13 0.7s 0.7571428571s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(14) {
  -webkit-animation: spot-14 0.7s 0.3444444444s linear infinite;
          animation: spot-14 0.7s 0.3444444444s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(15) {
  -webkit-animation: spot-15 0.7s 0.28s linear infinite;
          animation: spot-15 0.7s 0.28s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(16) {
  -webkit-animation: spot-16 0.7s 0.7444444444s linear infinite;
          animation: spot-16 0.7s 0.7444444444s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(17) {
  -webkit-animation: spot-17 0.7s 0.7333333333s linear infinite;
          animation: spot-17 0.7s 0.7333333333s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(18) {
  -webkit-animation: spot-18 0.7s 0.75s linear infinite;
          animation: spot-18 0.7s 0.75s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(19) {
  -webkit-animation: spot-19 0.7s 0.2s linear infinite;
          animation: spot-19 0.7s 0.2s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(20) {
  -webkit-animation: spot-20 0.7s 0.3333333333s linear infinite;
          animation: spot-20 0.7s 0.3333333333s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(21) {
  -webkit-animation: spot-21 0.7s 0.64s linear infinite;
          animation: spot-21 0.7s 0.64s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(22) {
  -webkit-animation: spot-22 0.7s 0.84s linear infinite;
          animation: spot-22 0.7s 0.84s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(23) {
  -webkit-animation: spot-23 0.7s 0.3444444444s linear infinite;
          animation: spot-23 0.7s 0.3444444444s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(24) {
  -webkit-animation: spot-24 0.7s 0.9s linear infinite;
          animation: spot-24 0.7s 0.9s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(25) {
  -webkit-animation: spot-25 0.7s 0.18s linear infinite;
          animation: spot-25 0.7s 0.18s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(26) {
  -webkit-animation: spot-26 0.7s 0.78s linear infinite;
          animation: spot-26 0.7s 0.78s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(27) {
  -webkit-animation: spot-27 0.7s 0.88s linear infinite;
          animation: spot-27 0.7s 0.88s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(28) {
  -webkit-animation: spot-28 0.7s 0.85s linear infinite;
          animation: spot-28 0.7s 0.85s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(29) {
  -webkit-animation: spot-29 0.7s 1.0571428571s linear infinite;
          animation: spot-29 0.7s 1.0571428571s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(30) {
  -webkit-animation: spot-30 0.7s 1.05s linear infinite;
          animation: spot-30 0.7s 1.05s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(31) {
  -webkit-animation: spot-31 0.7s 1.0571428571s linear infinite;
          animation: spot-31 0.7s 1.0571428571s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(32) {
  -webkit-animation: spot-32 0.7s 0.8s linear infinite;
          animation: spot-32 0.7s 0.8s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(33) {
  -webkit-animation: spot-33 0.7s 0.8s linear infinite;
          animation: spot-33 0.7s 0.8s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(34) {
  -webkit-animation: spot-34 0.7s 0.7s linear infinite;
          animation: spot-34 0.7s 0.7s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(35) {
  -webkit-animation: spot-35 0.7s 0.2666666667s linear infinite;
          animation: spot-35 0.7s 0.2666666667s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(36) {
  -webkit-animation: spot-36 0.7s 0.2444444444s linear infinite;
          animation: spot-36 0.7s 0.2444444444s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(37) {
  -webkit-animation: spot-37 0.7s 0.64s linear infinite;
          animation: spot-37 0.7s 0.64s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(38) {
  -webkit-animation: spot-38 0.7s 0.2333333333s linear infinite;
          animation: spot-38 0.7s 0.2333333333s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(39) {
  -webkit-animation: spot-39 0.7s 0.48s linear infinite;
          animation: spot-39 0.7s 0.48s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(40) {
  -webkit-animation: spot-40 0.7s 0.9444444444s linear infinite;
          animation: spot-40 0.7s 0.9444444444s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(41) {
  -webkit-animation: spot-41 0.7s 0.8333333333s linear infinite;
          animation: spot-41 0.7s 0.8333333333s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(42) {
  -webkit-animation: spot-42 0.7s 0.18s linear infinite;
          animation: spot-42 0.7s 0.18s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(43) {
  -webkit-animation: spot-43 0.7s 0.68s linear infinite;
          animation: spot-43 0.7s 0.68s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(44) {
  -webkit-animation: spot-44 0.7s 0.6s linear infinite;
          animation: spot-44 0.7s 0.6s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(45) {
  -webkit-animation: spot-45 0.7s 0.44s linear infinite;
          animation: spot-45 0.7s 0.44s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(46) {
  -webkit-animation: spot-46 0.7s 0.5333333333s linear infinite;
          animation: spot-46 0.7s 0.5333333333s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(47) {
  -webkit-animation: spot-47 0.7s 0.4s linear infinite;
          animation: spot-47 0.7s 0.4s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(48) {
  -webkit-animation: spot-48 0.7s 0.5333333333s linear infinite;
          animation: spot-48 0.7s 0.5333333333s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(49) {
  -webkit-animation: spot-49 0.7s 0.24s linear infinite;
          animation: spot-49 0.7s 0.24s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(50) {
  -webkit-animation: spot-50 0.7s 0.5666666667s linear infinite;
          animation: spot-50 0.7s 0.5666666667s linear infinite; }
.btn_support:not(.clicked):hover + .spots_wrap .spot:nth-of-type(51) {
  -webkit-animation: spot-51 0.7s 1.3s linear infinite;
          animation: spot-51 0.7s 1.3s linear infinite; }

.spots_wrap {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%; }
  .spots_wrap .spot {
    position: absolute;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background: green;
    opacity: 0; }
    .spots_wrap .spot:nth-of-type(1) {
      -webkit-transform-origin: 89px 18px;
              transform-origin: 89px 18px;
      background: #ac79d2;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.8s;
      transition: all 1.8s; }
    .spots_wrap .spot:nth-of-type(2) {
      -webkit-transform-origin: 88px 19px;
              transform-origin: 88px 19px;
      background: #d19c7a;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.4s;
      transition: all 1.4s; }
    .spots_wrap .spot:nth-of-type(3) {
      -webkit-transform-origin: 80px 15px;
              transform-origin: 80px 15px;
      background: #d0837c;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.8s;
      transition: all 1.8s; }
    .spots_wrap .spot:nth-of-type(4) {
      -webkit-transform-origin: 80px 13px;
              transform-origin: 80px 13px;
      background: #d17aa6;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.3s;
      transition: all 1.3s; }
    .spots_wrap .spot:nth-of-type(5) {
      -webkit-transform-origin: 82px 15px;
              transform-origin: 82px 15px;
      background: #75d7c0;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.4s;
      transition: all 1.4s; }
    .spots_wrap .spot:nth-of-type(6) {
      -webkit-transform-origin: 83px 16px;
              transform-origin: 83px 16px;
      background: #d87474;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.9s;
      transition: all 1.9s; }
    .spots_wrap .spot:nth-of-type(7) {
      -webkit-transform-origin: 87px 13px;
              transform-origin: 87px 13px;
      background: #d79975;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.6s;
      transition: all 1.6s; }
    .spots_wrap .spot:nth-of-type(8) {
      -webkit-transform-origin: 81px 18px;
              transform-origin: 81px 18px;
      background: #d4779b;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.1s;
      transition: all 1.1s; }
    .spots_wrap .spot:nth-of-type(9) {
      -webkit-transform-origin: 84px 10px;
              transform-origin: 84px 10px;
      background: #7bd193;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.9s;
      transition: all 1.9s; }
    .spots_wrap .spot:nth-of-type(10) {
      -webkit-transform-origin: 89px 13px;
              transform-origin: 89px 13px;
      background: #74d89f;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.3s;
      transition: all 1.3s; }
    .spots_wrap .spot:nth-of-type(11) {
      -webkit-transform-origin: 81px 19px;
              transform-origin: 81px 19px;
      background: #b8d874;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.2s;
      transition: all 1.2s; }
    .spots_wrap .spot:nth-of-type(12) {
      -webkit-transform-origin: 80px 16px;
              transform-origin: 80px 16px;
      background: #d0837c;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.5s;
      transition: all 1.5s; }
    .spots_wrap .spot:nth-of-type(13) {
      -webkit-transform-origin: 89px 13px;
              transform-origin: 89px 13px;
      background: #8d77d4;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.6s;
      transition: all 1.6s; }
    .spots_wrap .spot:nth-of-type(14) {
      -webkit-transform-origin: 82px 15px;
              transform-origin: 82px 15px;
      background: #bc76d6;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.3s;
      transition: all 1.3s; }
    .spots_wrap .spot:nth-of-type(15) {
      -webkit-transform-origin: 88px 16px;
              transform-origin: 88px 16px;
      background: #d78875;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.7s;
      transition: all 1.7s; }
    .spots_wrap .spot:nth-of-type(16) {
      -webkit-transform-origin: 84px 17px;
              transform-origin: 84px 17px;
      background: #788ad3;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.2s;
      transition: all 1.2s; }
    .spots_wrap .spot:nth-of-type(17) {
      -webkit-transform-origin: 81px 13px;
              transform-origin: 81px 13px;
      background: #7ad1ad;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.8s;
      transition: all 1.8s; }
    .spots_wrap .spot:nth-of-type(18) {
      -webkit-transform-origin: 87px 10px;
              transform-origin: 87px 10px;
      background: #d279aa;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.5s;
      transition: all 1.5s; }
    .spots_wrap .spot:nth-of-type(19) {
      -webkit-transform-origin: 88px 13px;
              transform-origin: 88px 13px;
      background: #957cd0;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.2s;
      transition: all 1.2s; }
    .spots_wrap .spot:nth-of-type(20) {
      -webkit-transform-origin: 80px 15px;
              transform-origin: 80px 15px;
      background: #b075d7;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.9s;
      transition: all 1.9s; }
    .spots_wrap .spot:nth-of-type(21) {
      -webkit-transform-origin: 85px 17px;
              transform-origin: 85px 17px;
      background: #75d7c3;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.7s;
      transition: all 1.7s; }
    .spots_wrap .spot:nth-of-type(22) {
      -webkit-transform-origin: 84px 19px;
              transform-origin: 84px 19px;
      background: #9fd17b;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.4s;
      transition: all 1.4s; }
    .spots_wrap .spot:nth-of-type(23) {
      -webkit-transform-origin: 83px 10px;
              transform-origin: 83px 10px;
      background: #8cd378;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.9s;
      transition: all 1.9s; }
    .spots_wrap .spot:nth-of-type(24) {
      -webkit-transform-origin: 84px 19px;
              transform-origin: 84px 19px;
      background: #d58176;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.4s;
      transition: all 1.4s; }
    .spots_wrap .spot:nth-of-type(25) {
      -webkit-transform-origin: 81px 10px;
              transform-origin: 81px 10px;
      background: #75d77d;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.5s;
      transition: all 1.5s; }
    .spots_wrap .spot:nth-of-type(26) {
      -webkit-transform-origin: 83px 18px;
              transform-origin: 83px 18px;
      background: #d88374;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.5s;
      transition: all 1.5s; }
    .spots_wrap .spot:nth-of-type(27) {
      -webkit-transform-origin: 89px 18px;
              transform-origin: 89px 18px;
      background: #77a9d4;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.6s;
      transition: all 1.6s; }
    .spots_wrap .spot:nth-of-type(28) {
      -webkit-transform-origin: 82px 18px;
              transform-origin: 82px 18px;
      background: #d88474;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.1s;
      transition: all 1.1s; }
    .spots_wrap .spot:nth-of-type(29) {
      -webkit-transform-origin: 87px 10px;
              transform-origin: 87px 10px;
      background: #8579d2;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.5s;
      transition: all 1.5s; }
    .spots_wrap .spot:nth-of-type(30) {
      -webkit-transform-origin: 88px 17px;
              transform-origin: 88px 17px;
      background: #d07c9d;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.6s;
      transition: all 1.6s; }
    .spots_wrap .spot:nth-of-type(31) {
      -webkit-transform-origin: 81px 17px;
              transform-origin: 81px 17px;
      background: #93d477;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.2s;
      transition: all 1.2s; }
    .spots_wrap .spot:nth-of-type(32) {
      -webkit-transform-origin: 89px 10px;
              transform-origin: 89px 10px;
      background: #7e76d5;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 2s;
      transition: all 2s; }
    .spots_wrap .spot:nth-of-type(33) {
      -webkit-transform-origin: 87px 12px;
              transform-origin: 87px 12px;
      background: #d0c07c;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.3s;
      transition: all 1.3s; }
    .spots_wrap .spot:nth-of-type(34) {
      -webkit-transform-origin: 89px 13px;
              transform-origin: 89px 13px;
      background: #74d8b8;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.9s;
      transition: all 1.9s; }
    .spots_wrap .spot:nth-of-type(35) {
      -webkit-transform-origin: 84px 19px;
              transform-origin: 84px 19px;
      background: #a1d378;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.1s;
      transition: all 1.1s; }
    .spots_wrap .spot:nth-of-type(36) {
      -webkit-transform-origin: 83px 12px;
              transform-origin: 83px 12px;
      background: #d5767e;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.6s;
      transition: all 1.6s; }
    .spots_wrap .spot:nth-of-type(37) {
      -webkit-transform-origin: 87px 17px;
              transform-origin: 87px 17px;
      background: #7e77d4;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.8s;
      transition: all 1.8s; }
    .spots_wrap .spot:nth-of-type(38) {
      -webkit-transform-origin: 82px 14px;
              transform-origin: 82px 14px;
      background: #97d17a;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 2s;
      transition: all 2s; }
    .spots_wrap .spot:nth-of-type(39) {
      -webkit-transform-origin: 83px 14px;
              transform-origin: 83px 14px;
      background: #76d5c4;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.1s;
      transition: all 1.1s; }
    .spots_wrap .spot:nth-of-type(40) {
      -webkit-transform-origin: 89px 14px;
              transform-origin: 89px 14px;
      background: #d27c79;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.9s;
      transition: all 1.9s; }
    .spots_wrap .spot:nth-of-type(41) {
      -webkit-transform-origin: 83px 13px;
              transform-origin: 83px 13px;
      background: #d576ca;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.2s;
      transition: all 1.2s; }
    .spots_wrap .spot:nth-of-type(42) {
      -webkit-transform-origin: 82px 17px;
              transform-origin: 82px 17px;
      background: #7c88d0;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.9s;
      transition: all 1.9s; }
    .spots_wrap .spot:nth-of-type(43) {
      -webkit-transform-origin: 87px 17px;
              transform-origin: 87px 17px;
      background: #74d88e;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.7s;
      transition: all 1.7s; }
    .spots_wrap .spot:nth-of-type(44) {
      -webkit-transform-origin: 89px 18px;
              transform-origin: 89px 18px;
      background: #aa76d5;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.9s;
      transition: all 1.9s; }
    .spots_wrap .spot:nth-of-type(45) {
      -webkit-transform-origin: 85px 13px;
              transform-origin: 85px 13px;
      background: #c77bd1;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.8s;
      transition: all 1.8s; }
    .spots_wrap .spot:nth-of-type(46) {
      -webkit-transform-origin: 88px 13px;
              transform-origin: 88px 13px;
      background: #d4cb77;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.6s;
      transition: all 1.6s; }
    .spots_wrap .spot:nth-of-type(47) {
      -webkit-transform-origin: 88px 15px;
              transform-origin: 88px 15px;
      background: #75d7d2;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.9s;
      transition: all 1.9s; }
    .spots_wrap .spot:nth-of-type(48) {
      -webkit-transform-origin: 89px 18px;
              transform-origin: 89px 18px;
      background: #89d378;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.3s;
      transition: all 1.3s; }
    .spots_wrap .spot:nth-of-type(49) {
      -webkit-transform-origin: 80px 11px;
              transform-origin: 80px 11px;
      background: #d6ab76;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 2s;
      transition: all 2s; }
    .spots_wrap .spot:nth-of-type(50) {
      -webkit-transform-origin: 87px 16px;
              transform-origin: 87px 16px;
      background: #d57e76;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 2s;
      transition: all 2s; }
    .spots_wrap .spot:nth-of-type(51) {
      -webkit-transform-origin: 86px 17px;
              transform-origin: 86px 17px;
      background: #d5a176;
      -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
              box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.12);
      -webkit-transition: all 1.4s;
      transition: all 1.4s; }
    .spots_wrap .spot:nth-child(1) {
      padding: 5px;
      left: 4.8%;
      top: 0; }
    .spots_wrap .spot:nth-child(2) {
      padding: 5px;
      left: 9.6%;
      top: 0; }
    .spots_wrap .spot:nth-child(3) {
      padding: 5px;
      left: 14.4%;
      top: 0; }
    .spots_wrap .spot:nth-child(4) {
      padding: 5px;
      left: 19.2%;
      top: 0; }
    .spots_wrap .spot:nth-child(5) {
      padding: 3px;
      left: 24%;
      top: 0; }
    .spots_wrap .spot:nth-child(6) {
      padding: 3px;
      left: 28.8%;
      top: 0; }
    .spots_wrap .spot:nth-child(7) {
      padding: 3px;
      left: 33.6%;
      top: 0; }
    .spots_wrap .spot:nth-child(8) {
      padding: 4px;
      left: 38.4%;
      top: 0; }
    .spots_wrap .spot:nth-child(9) {
      padding: 4px;
      left: 43.2%;
      top: 0; }
    .spots_wrap .spot:nth-child(10) {
      padding: 5px;
      left: 48%;
      top: 0; }
    .spots_wrap .spot:nth-child(11) {
      padding: 5px;
      left: 52.8%;
      top: 0; }
    .spots_wrap .spot:nth-child(12) {
      padding: 4px;
      left: 57.6%;
      top: 0; }
    .spots_wrap .spot:nth-child(13) {
      padding: 4px;
      left: 62.4%;
      top: 0; }
    .spots_wrap .spot:nth-child(14) {
      padding: 4px;
      left: 67.2%;
      top: 0; }
    .spots_wrap .spot:nth-child(15) {
      padding: 4px;
      left: 72%;
      top: 0; }
    .spots_wrap .spot:nth-child(16) {
      padding: 5px;
      left: 76.8%;
      top: 0; }
    .spots_wrap .spot:nth-child(17) {
      padding: 4px;
      left: 81.6%;
      top: 0; }
    .spots_wrap .spot:nth-child(18) {
      padding: 5px;
      left: 86.4%;
      top: 0; }
    .spots_wrap .spot:nth-child(19) {
      padding: 3px;
      left: 91.2%;
      top: 0; }
    .spots_wrap .spot:nth-child(20) {
      padding: 4px;
      left: 96%;
      top: 0; }
    .spots_wrap .spot:nth-child(21) {
      padding: 4px;
      right: 0;
      top: 0%; }
    .spots_wrap .spot:nth-child(22) {
      padding: 5px;
      right: 0;
      top: 24%; }
    .spots_wrap .spot:nth-child(23) {
      padding: 4px;
      right: 0;
      top: 48%; }
    .spots_wrap .spot:nth-child(24) {
      padding: 5px;
      right: 0;
      top: 72%; }
    .spots_wrap .spot:nth-child(25) {
      padding: 3px;
      right: 0;
      top: 96%; }
    .spots_wrap .spot:nth-child(26) {
      padding: 5px;
      left: 0%;
      bottom: 0; }
    .spots_wrap .spot:nth-child(27) {
      padding: 5px;
      left: 4.8%;
      bottom: 0; }
    .spots_wrap .spot:nth-child(28) {
      padding: 4px;
      left: 9.6%;
      bottom: 0; }
    .spots_wrap .spot:nth-child(29) {
      padding: 4px;
      left: 14.4%;
      bottom: 0; }
    .spots_wrap .spot:nth-child(30) {
      padding: 5px;
      left: 19.2%;
      bottom: 0; }
    .spots_wrap .spot:nth-child(31) {
      padding: 3px;
      left: 24%;
      bottom: 0; }
    .spots_wrap .spot:nth-child(32) {
      padding: 5px;
      left: 28.8%;
      bottom: 0; }
    .spots_wrap .spot:nth-child(33) {
      padding: 3px;
      left: 33.6%;
      bottom: 0; }
    .spots_wrap .spot:nth-child(34) {
      padding: 3px;
      left: 38.4%;
      bottom: 0; }
    .spots_wrap .spot:nth-child(35) {
      padding: 5px;
      left: 43.2%;
      bottom: 0; }
    .spots_wrap .spot:nth-child(36) {
      padding: 4px;
      left: 48%;
      bottom: 0; }
    .spots_wrap .spot:nth-child(37) {
      padding: 4px;
      left: 52.8%;
      bottom: 0; }
    .spots_wrap .spot:nth-child(38) {
      padding: 4px;
      left: 57.6%;
      bottom: 0; }
    .spots_wrap .spot:nth-child(39) {
      padding: 4px;
      left: 62.4%;
      bottom: 0; }
    .spots_wrap .spot:nth-child(40) {
      padding: 3px;
      left: 67.2%;
      bottom: 0; }
    .spots_wrap .spot:nth-child(41) {
      padding: 3px;
      left: 72%;
      bottom: 0; }
    .spots_wrap .spot:nth-child(42) {
      padding: 4px;
      left: 76.8%;
      bottom: 0; }
    .spots_wrap .spot:nth-child(43) {
      padding: 4px;
      left: 81.6%;
      bottom: 0; }
    .spots_wrap .spot:nth-child(44) {
      padding: 3px;
      left: 86.4%;
      bottom: 0; }
    .spots_wrap .spot:nth-child(45) {
      padding: 5px;
      left: 91.2%;
      bottom: 0; }
    .spots_wrap .spot:nth-child(46) {
      padding: 5px;
      left: 96%;
      bottom: 0; }
    .spots_wrap .spot:nth-child(47) {
      padding: 4px;
      left: 0;
      top: 0%; }
    .spots_wrap .spot:nth-child(48) {
      padding: 5px;
      left: 0;
      top: 24%; }
    .spots_wrap .spot:nth-child(49) {
      padding: 5px;
      left: 0;
      top: 48%; }
    .spots_wrap .spot:nth-child(50) {
      padding: 4px;
      left: 0;
      top: 72%; }
    .spots_wrap .spot:nth-child(51) {
      padding: 5px;
      left: 0;
      top: 96%; }

@-webkit-keyframes spot-1 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }

@keyframes spot-1 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-2 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-2 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-3 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-3 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-4 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-4 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-5 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-5 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-6 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-6 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-7 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-7 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-8 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-8 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-9 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-9 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-10 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-10 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-11 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-11 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-12 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-12 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-13 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-13 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-14 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-14 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-15 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-15 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-16 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-16 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-17 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-17 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-18 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-18 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-19 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-19 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-20 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-20 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(-30px) translatex(0px);
            transform: translateY(-30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-21 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(0px) translatex(30px);
            transform: translateY(0px) translatex(30px);
    opacity: .6; } }
@keyframes spot-21 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(0px) translatex(30px);
            transform: translateY(0px) translatex(30px);
    opacity: .6; } }
@-webkit-keyframes spot-22 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(0px) translatex(30px);
            transform: translateY(0px) translatex(30px);
    opacity: .6; } }
@keyframes spot-22 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(0px) translatex(30px);
            transform: translateY(0px) translatex(30px);
    opacity: .6; } }
@-webkit-keyframes spot-23 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(0px) translatex(30px);
            transform: translateY(0px) translatex(30px);
    opacity: .6; } }
@keyframes spot-23 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(0px) translatex(30px);
            transform: translateY(0px) translatex(30px);
    opacity: .6; } }
@-webkit-keyframes spot-24 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(0px) translatex(30px);
            transform: translateY(0px) translatex(30px);
    opacity: .6; } }
@keyframes spot-24 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(0px) translatex(30px);
            transform: translateY(0px) translatex(30px);
    opacity: .6; } }
@-webkit-keyframes spot-25 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(0px) translatex(30px);
            transform: translateY(0px) translatex(30px);
    opacity: .6; } }
@keyframes spot-25 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(0px) translatex(30px);
            transform: translateY(0px) translatex(30px);
    opacity: .6; } }
@-webkit-keyframes spot-26 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-26 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-27 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-27 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-28 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-28 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-29 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-29 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-30 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-30 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-31 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-31 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-32 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-32 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-33 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-33 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-34 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-34 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-35 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-35 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-36 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-36 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-37 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-37 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-38 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-38 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-39 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-39 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-40 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-40 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-41 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-41 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-42 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-42 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-43 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-43 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-44 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-44 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-45 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-45 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-46 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@keyframes spot-46 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(30px) translatex(0px);
            transform: translateY(30px) translatex(0px);
    opacity: .6; } }
@-webkit-keyframes spot-47 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(0px) translatex(-30px);
            transform: translateY(0px) translatex(-30px);
    opacity: .6; } }
@keyframes spot-47 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(0px) translatex(-30px);
            transform: translateY(0px) translatex(-30px);
    opacity: .6; } }
@-webkit-keyframes spot-48 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(0px) translatex(-30px);
            transform: translateY(0px) translatex(-30px);
    opacity: .6; } }
@keyframes spot-48 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(0px) translatex(-30px);
            transform: translateY(0px) translatex(-30px);
    opacity: .6; } }
@-webkit-keyframes spot-49 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(0px) translatex(-30px);
            transform: translateY(0px) translatex(-30px);
    opacity: .6; } }
@keyframes spot-49 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(0px) translatex(-30px);
            transform: translateY(0px) translatex(-30px);
    opacity: .6; } }
@-webkit-keyframes spot-50 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(0px) translatex(-30px);
            transform: translateY(0px) translatex(-30px);
    opacity: .6; } }
@keyframes spot-50 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(0px) translatex(-30px);
            transform: translateY(0px) translatex(-30px);
    opacity: .6; } }
@-webkit-keyframes spot-51 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(0px) translatex(-30px);
            transform: translateY(0px) translatex(-30px);
    opacity: .6; } }
@keyframes spot-51 {
  from {
    opacity: 0; }
  to {
    -webkit-transform: translateY(0px) translatex(-30px);
            transform: translateY(0px) translatex(-30px);
    opacity: .6; } }
.thankyou_box {
  width: 800px;
  margin: auto;
  padding: 0 40px 50px 40px;
  background: rgba(255, 255, 255, 0.7);
  -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
          box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
  text-align: center; }
  .thankyou_box .ttl {
    text-align: center; }
    .thankyou_box .ttl img {
      width: 70%; }
  .thankyou_box .sns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 15px; }
    .thankyou_box .sns li {
      width: 40px;
      margin: 0 10px; }
      .thankyou_box .sns li img {
        width: 100%; }
    .thankyou_box .sns + .txt {
      margin-bottom: 30px;
      color: #666; }
  .thankyou_box .one-click-for-smile {
    width: 50%;
    margin: 0 auto 40px; }
    .thankyou_box .one-click-for-smile img {
      width: 100%; }
  .thankyou_box .lang_switch {
    margin-bottom: 15px; }
    .thankyou_box .lang_switch span {
      color: #CC0000;
      border: 1px solid #CC0000; }
      .thankyou_box .lang_switch span.on {
        background: #CC0000;
        color: #fff; }
  .thankyou_box .main_txt {
    margin-bottom: 30px; }
    .thankyou_box .main_txt .en {
      display: none; }
    .thankyou_box .main_txt a {
      color: #814ba3; }
      .thankyou_box .main_txt a:hover {
        text-decoration: underline; }
      .thankyou_box .main_txt a::before {
        content: "";
        position: relative;
        top: 2px;
        display: inline-block;
        width: 14px;
        height: 14px;
        background: url(../images/arrow_right_purple.svg) no-repeat center/contain; }
  .thankyou_box .next_month > .ttl {
    margin-bottom: 15px;
    font-size: 3rem;
    line-height: 3rem;
    color: #CC0000; }
  .thankyou_box .next_month .tn img {
    width: 100%; }
  .thankyou_box .next_month .box {
    margin: auto;
    max-width: 350px;
    border-radius: 10px;
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); }
    .thankyou_box .next_month .box.jan .month {
      border-bottom-color: #ef3c56; }
    .thankyou_box .next_month .box.feb .month {
      border-bottom-color: #00a6c6; }
    .thankyou_box .next_month .box.mar .month {
      border-bottom-color: #feb822; }
    .thankyou_box .next_month .box.apr .month {
      border-bottom-color: #f1647e; }
    .thankyou_box .next_month .box.may .month {
      border-bottom-color: #66bd4a; }
    .thankyou_box .next_month .box.jun .month {
      border-bottom-color: #83541f; }
    .thankyou_box .next_month .box.jul .month {
      border-bottom-color: #f68b1f; }
    .thankyou_box .next_month .box.aug .month {
      border-bottom-color: #045890; }
    .thankyou_box .next_month .box.sep .month {
      border-bottom-color: #009893; }
    .thankyou_box .next_month .box.oct .month {
      border-bottom-color: #7b652b; }
    .thankyou_box .next_month .box.nov .month {
      border-bottom-color: #679650; }
    .thankyou_box .next_month .box.dec .month {
      border-bottom-color: #4391ce; }
  .thankyou_box .next_month .month {
    padding: 10px;
    text-align: center;
    font-size: 2rem;
    color: #666;
    border-bottom-width: 7px;
    border-bottom-style: solid; }
  .thankyou_box .next_month .wrap {
    padding: 15px; }
  .thankyou_box .next_month .name {
    margin: 0 0 10px 0;
    font-weight: bold; }
  .thankyou_box .next_month .txt {
    margin: 0;
    text-align: left;
    word-break: normal; }
  .thankyou_box .next_month .en {
    font-family: "Sarabun"; }
  .thankyou_box .mail_regist b {
    margin: 0 0 10px 0;
    font-size: 2.2rem; }
  .thankyou_box .mail_regist .txt {
    margin: 0 0 20px 0; }
  .thankyou_box .mail_regist .btn_regist {
    margin-top: 30px; }

#menu_bg,
#modal_overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 120%;
  height: 120%; }

#modal_overlay {
  z-index: 100; }

#menu_bg {
  z-index: 40;
  background: rgba(0, 0, 0, 0.8); }

.mv_slide_wrap {
  position: relative;
  width: 100%;
  background: #fff; }
  .mv_slide_wrap::after {
    content: "";
    position: absolute;
    z-index: -1;
    bottom: -300px;
    left: 0;
    display: block;
    width: 100%;
    height: 300px;
    background: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(50%, #fff), to(rgba(255, 255, 255, 0)));
    background: linear-gradient(to bottom, #fff 0%, #fff 50%, rgba(255, 255, 255, 0) 100%); }

.mv_slide {
  position: relative;
  width: 100%;
  max-width: 1280px;
  margin: auto;
  overflow: visible; }
  .mv_slide li {
    width: 100%;
    opacity: 0.6;
    -webkit-transition: 0.2s;
    transition: 0.2s; }
    .mv_slide li.swiper-slide-active {
      opacity: 1; }
  .mv_slide a {
    display: block;
    width: 100%;
    height: 100%; }
  .mv_slide img {
    width: 100%; }

.slide_btn {
  width: 50px;
  -webkit-filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.6));
          filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.6));
  color: #fff; }
  .slide_btn.prev {
    left: 0; }
  .slide_btn.next {
    right: 0; }

body.month_1 {
  background: url(../images/bg_1.png) repeat-y center top/100% auto; }
body.month_2 {
  background: url(../images/bg_2.png) repeat-y center top/100% auto; }
body.month_3 {
  background: url(../images/bg_3.png) repeat-y center top/100% auto; }
body.month_4 {
  background: url(../images/bg_4.png) repeat-y center top/100% auto; }
body.month_5 {
  background: url(../images/bg_5.png) repeat-y center top/100% auto; }
body.month_6 {
  background: url(../images/bg_6.png) repeat-y center top/100% auto; }
body.month_7 {
  background: url(../images/bg_7.png) repeat-y center top/100% auto; }
body.month_8 {
  background: url(../images/bg_8.png) repeat-y center top/100% auto; }
body.month_9 {
  background: url(../images/bg_9.png) repeat-y center top/100% auto; }
body.month_10 {
  background: url(../images/bg_10.png) repeat-y center top/100% auto; }
body.month_11 {
  background: url(../images/bg_11.png) repeat-y center top/100% auto; }
body.month_12 {
  background: url(../images/bg_12.png) repeat-y center top/100% auto; }
body > .wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  overflow-x: hidden;
  margin: auto; }

header {
  position: fixed;
  z-index: 50;
  top: 0;
  left: 0;
  width: 100%;
  background: #fff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); }
  header .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 15px 0;
    width: 100%;
    max-width: 1280px; }
  header .logo {
    position: relative;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 78px;
    z-index: 1; }
    header .logo img {
      width: 100%;
      height: auto; }
  header .lang_navi {
    position: relative;
    z-index: 1; }

.navi_wrap {
  -webkit-box-flex: 1;
      -ms-flex: auto;
          flex: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.g_navi {
  height: 100%;
  width: 100%; }
  .g_navi ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100%;
    width: 100%; }
  .g_navi li {
    margin: 0 0 10px 0; }
  .g_navi a {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .g_navi a::after {
      content: "";
      position: absolute;
      left: 50%;
      bottom: -8px;
      margin-left: -4px;
      display: block;
      width: 8px;
      height: 4px;
      background: url(../images/arrow_down_red.svg) no-repeat center/contain;
      -webkit-transition: 0.3s;
      transition: 0.3s; }
    .g_navi a:hover::after {
      bottom: -12px; }
    .g_navi a .en {
      font-size: 1.2rem;
      line-height: 1.2rem;
      font-weight: bold;
      font-family: "Marcellus", "Optima";
      letter-spacing: 0.1rem; }
    .g_navi a .jp {
      margin-top: 5px;
      font-size: 1.1rem;
      line-height: 1.1rem;
      color: #929493; }

.lang_navi {
  margin-top: 15px; }
  .lang_navi ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
  .lang_navi li {
    position: relative;
    margin-left: 15px;
    width: 40px; }
    .lang_navi li::after {
      content: "";
      display: none;
      position: absolute;
      top: -13px;
      left: 0;
      width: 100%;
      height: 11px;
      background: url(../images/icon_selected_lang.svg) no-repeat center/contain; }
  .lang_navi a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .lang_navi a img {
      width: 100%; }
    .lang_navi a span {
      display: none;
      margin-top: 5px;
      font-size: 1rem;
      line-height: 1rem;
      font-family: "Marcellus", "Optima";
      letter-spacing: 0.1rem; }
    .lang_navi a:hover {
      opacity: 0.5; }

.footer_lang_navi {
  margin-top: 100px; }
  .footer_lang_navi .message {
    margin: 0 0 30px 0;
    text-align: center;
    font-weight: bold;
    font-size: 2.5rem;
    line-height: 3.5rem; }
  .footer_lang_navi ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: auto; }
  .footer_lang_navi li {
    margin: 0 10px;
    width: 80px; }
    .footer_lang_navi li img {
      width: 100%; }
    .footer_lang_navi li span {
      display: block;
      text-align: center; }

footer {
  margin-top: 300px;
  background: #000; }
  footer .copyright {
    padding: 15px;
    text-align: center;
    font-size: 1.6rem;
    line-height: 1.6rem;
    font-weight: 500;
    color: #fff; }

main {
  -webkit-box-flex: 1;
      -ms-flex: auto;
          flex: auto;
  padding: 0 0 40px 0; }

article {
  margin: auto; }

body.thankyou {
  background: url(../images/bg_thankyou.png) repeat-y center top/90% auto; }
  body.thankyou main {
    padding: 0; }
  body.thankyou footer {
    margin-top: 0px; }
body.jp .lang_navi .jp::after {
  display: block; }
body.jp .footer_lang_navi .jp {
  display: none; }
body.jp .three_steps .ttl .en {
  display: none; }
body.jp .three_steps .switch_txt .en {
  display: none; }
body.jp .register_email .txt .en {
  display: none; }
@media only screen and (min-width: 1280px) {
  body.jp.month_2 .this_month_donation {
    width: 93%; } }
body.jp .by_month_donations .sub .en {
  display: none; }
body.jp .thankyou_box .next_month .lang {
  display: block; }
body.jp .thankyou_box .next_month .en {
  display: none; }
body.id .lang_navi .id::after {
  display: block; }
body.id .footer_lang_navi .id {
  display: none; }
body.ms .lang_navi .ms::after {
  display: block; }
body.ms .footer_lang_navi .ms {
  display: none; }
body.vi .lang_navi .vi::after {
  display: block; }
body.vi .footer_lang_navi .vi {
  display: none; }
@media only screen and (min-width: 1280px) {
  body.vi .main_ttl .lang {
    font-size: 2rem; } }
body.th .lang_navi .th::after {
  display: block; }
body.th .footer_lang_navi .th {
  display: none; }
body.cn .lang_navi .cn::after {
  display: block; }
body.cn .footer_lang_navi .cn {
  display: none; }
body.id .jp, body.ms .jp, body.vi .jp, body.th .jp, body.cn .jp {
  display: none; }
body.id .lang_navi .jp, body.ms .lang_navi .jp, body.vi .lang_navi .jp, body.th .lang_navi .jp, body.cn .lang_navi .jp {
  display: block; }
body.id .footer_lang_navi .jp, body.ms .footer_lang_navi .jp, body.vi .footer_lang_navi .jp, body.th .footer_lang_navi .jp, body.cn .footer_lang_navi .jp {
  display: block; }
body.id .main_ttl .en, body.ms .main_ttl .en, body.vi .main_ttl .en, body.th .main_ttl .en, body.cn .main_ttl .en {
  display: none; }
body.id .three_steps .lang_switch, body.ms .three_steps .lang_switch, body.vi .three_steps .lang_switch, body.th .three_steps .lang_switch, body.cn .three_steps .lang_switch {
  display: none; }
body.id .register_email .txt > .ttl, body.ms .register_email .txt > .ttl, body.vi .register_email .txt > .ttl, body.th .register_email .txt > .ttl, body.cn .register_email .txt > .ttl {
  display: none; }
body.id .register_email .txt .jp, body.ms .register_email .txt .jp, body.vi .register_email .txt .jp, body.th .register_email .txt .jp, body.cn .register_email .txt .jp {
  display: none; }
body.id .register_email .btn_regist .jp, body.ms .register_email .btn_regist .jp, body.vi .register_email .btn_regist .jp, body.th .register_email .btn_regist .jp, body.cn .register_email .btn_regist .jp {
  display: none; }
@media only screen and (min-width: 1280px) {
  body.id .register_email .ttl, body.ms .register_email .ttl, body.vi .register_email .ttl, body.th .register_email .ttl, body.cn .register_email .ttl {
    margin-top: 30px; } }
body.id .thankyou_box .next_month .lang, body.ms .thankyou_box .next_month .lang, body.vi .thankyou_box .next_month .lang, body.th .thankyou_box .next_month .lang, body.cn .thankyou_box .next_month .lang {
  display: none; }
body.id .thankyou_box .next_month .en, body.ms .thankyou_box .next_month .en, body.vi .thankyou_box .next_month .en, body.th .thankyou_box .next_month .en, body.cn .thankyou_box .next_month .en {
  display: block; }

@media only screen and (min-width: 1280px) {
  body.safari .main_ttl .bg {
    position: absolute !important;
    z-index: -1;
    top: 40%;
    left: 50%;
    display: block;
    width: 100%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    border-radius: 50%;
    -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
            box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
    background: rgba(255, 255, 255, 0.9);
    position: relative;
    height: auto; }
    body.safari .main_ttl .bg::before {
      content: "";
      display: block;
      padding-top: 100%; }
  body.safari .main_ttl::before {
    display: none; }
  body.safari .our_message {
    margin-bottom: 100px; }
    body.safari .our_message .bg {
      position: absolute !important;
      z-index: -1;
      top: 50%;
      left: 50%;
      display: block;
      width: 90%;
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      border-radius: 50%;
      -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
              box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
      background: rgba(255, 255, 255, 0.9);
      position: relative;
      height: auto; }
      body.safari .our_message .bg::before {
        content: "";
        display: block;
        padding-top: 100%; }
    body.safari .our_message::before {
      display: none; }
  body.safari .three_steps {
    margin-bottom: 100px; }
    body.safari .three_steps .bg {
      position: absolute !important;
      z-index: -1;
      top: 50%;
      left: 50%;
      display: block;
      width: 90%;
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      border-radius: 50%;
      -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
              box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
      background: rgba(255, 255, 255, 0.9);
      position: relative;
      height: auto; }
      body.safari .three_steps .bg::before {
        content: "";
        display: block;
        padding-top: 100%; }
    body.safari .three_steps::before {
      display: none; }
  body.safari .this_month_donation .bg {
    position: absolute !important;
    z-index: -1;
    top: 50%;
    left: 50%;
    display: block;
    width: 100%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    border-radius: 50%;
    -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
            box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
    background: #fff;
    position: relative;
    height: auto; }
    body.safari .this_month_donation .bg::before {
      content: "";
      display: block;
      padding-top: 100%; }
  body.safari .this_month_donation::before {
    display: none; }
  body.safari .by_month_donations .bg {
    position: absolute !important;
    z-index: -1;
    top: 55%;
    left: 50%;
    display: block;
    width: 170%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    border-radius: 50%;
    -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
            box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
    background: rgba(255, 255, 255, 0.9);
    position: relative;
    height: auto; }
    body.safari .by_month_donations .bg::before {
      content: "";
      display: block;
      padding-top: 100%; }
  body.safari .by_month_donations::before {
    display: none; } }
/*----------------------------*/
/*SP用 CSS*/
/*----------------------------*/
@media only screen and (max-width: 680px) {
  .pc {
    display: none !important; }

  .sp {
    display: block !important; }

  .inner {
    width: 100%; }

  .env {
    display: none; }

  #pagetop {
    right: 10px;
    bottom: 10px; }
    #pagetop .pagetop {
      width: 40px;
      height: 40px; }

  .inner {
    width: 90%;
    max-width: unset; }

  .bg {
    display: none !important; }

  .main_ttl {
    width: 100%;
    min-height: 85vw;
    margin: -3vw auto 30px;
    padding: 25vw 10vw 10vw; }
    .main_ttl .sub {
      margin: 0 0 5vw 0;
      font-size: 4vw;
      line-height: 4vw; }
    .main_ttl .main {
      margin: 0 0 4vw 0; }
    .main_ttl .lang {
      margin: 0 0 3vw 0;
      font-size: 5vw;
      line-height: 6vw; }
    .main_ttl .en {
      font-size: 3.5vw;
      line-height: 4.5vw; }

  .our_message {
    width: 100%;
    margin: 0px auto 50px;
    padding: 50px 0 80px; }

  .three_steps {
    width: 100%;
    margin: 0px auto 50px;
    padding: 80px 0 80px; }

  .this_month_donation {
    width: 100%;
    margin: 0px auto 50px;
    padding: 50px 0 80px; }
    .this_month_donation .ttl {
      font-size: 1.8rem;
      line-height: 1.8rem; }
    .this_month_donation .name {
      font-size: 2rem;
      line-height: 3rem; }
      .this_month_donation .name a::after {
        width: 20px;
        height: 20px; }
    .this_month_donation .main_img {
      margin-bottom: 20px; }
    .this_month_donation .clicks li:last-of-type {
      margin: 0; }
    .this_month_donation .clicks .icon {
      margin-bottom: 10px; }
      .this_month_donation .clicks .icon img {
        width: 50%;
        height: auto; }
    .this_month_donation .clicks .clicks {
      margin-bottom: 10px;
      font-size: 6vw;
      line-height: 6vw; }
    .this_month_donation .clicks .txt {
      text-align: center;
      font-size: 1.3rem; }

  .by_month_donations {
    width: 100%;
    margin: 0px auto 50px;
    padding: 50px 0 80px; }
    .by_month_donations::before {
      top: 50%;
      left: 50%;
      height: 100%; }
    .by_month_donations > .inner {
      width: 100%; }
    .by_month_donations .ttl {
      font-size: 3rem;
      line-height: 3rem; }

  .donation_list li {
    width: 48%; }
  .donation_list .month {
    font-size: 1.6rem; }
  .donation_list .name {
    line-height: 2rem; }

  .register_email {
    left: 10px;
    right: unset;
    bottom: 60px;
    width: calc(100% - 20px);
    max-width: unset;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .register_email .wrap {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      width: 100%; }
    .register_email .wrap_2 {
      margin-top: 10px;
      padding-top: 10px; }
    .register_email .txt {
      width: 55%; }
    .register_email .btn, .register_email .btn_support, .register_email .btn_regist {
      width: 40%; }
    .register_email .ttl {
      margin: 0 0 2px 0;
      font-size: 4vw; }
    .register_email .icon {
      display: none; }
    .register_email .jp {
      margin: 0 0 2px 0; }
      .register_email .jp p {
        font-size: 3vw;
        line-height: 3vw; }
    .register_email .en {
      margin: 0;
      font-size: 3vw;
      line-height: 3.5vw;
      text-align: left; }
    .register_email .btn_close {
      right: 0px;
      top: -25px; }
    .register_email .btn_regist {
      margin-left: 10px; }

  .btn, .btn_support, .btn_regist {
    padding: 5px 5px 15px;
    min-height: unset; }
    .btn .en, .btn_support .en, .btn_regist .en {
      font-size: 4vw;
      line-height: 4vw; }
    .btn .jp, .btn_support .jp, .btn_regist .jp {
      margin: 1vw 0 0 0;
      font-size: 3vw;
      line-height: 3vw; }
    .btn_support {
      min-height: 50px; }
    .btn_regist .en::after {
      top: 0px;
      margin-left: 3px; }

  .thankyou_box {
    padding: 30px 20px;
    width: 96%; }
    .thankyou_box .ttl img {
      width: 100%; }

  .mv_slide_wrap::after {
    bottom: -100px;
    height: 100px; }

  .mv_slide {
    width: 100%; }

  .slide_btn {
    width: 30px;
    height: 30px; }
    .slide_btn::after {
      font-size: 1.4rem; }

  .btn_support_wrap {
    width: 60%; }

  body > .wrap {
    min-width: unset; }

  header .inner {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    width: 100%;
    min-height: 50px;
    padding: 10px; }
  header .logo {
    position: absolute;
    top: 10px;
    left: 10px; }
    header .logo img {
      height: 30px; }

  .btn_menu {
    position: absolute;
    z-index: 120;
    top: 15px;
    right: 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 25px;
    height: 20px; }
    .btn_menu span {
      display: block;
      width: 100%;
      height: 3px;
      border-radius: 10px;
      background: #666;
      -webkit-transition: all 0.3s;
      transition: all 0.3s;
      -webkit-transform: rotate(0deg);
              transform: rotate(0deg); }
    .btn_menu.open span {
      background: #d13b3b; }
    .btn_menu.open .top {
      -webkit-transform: rotate(-45deg) translateY(6px) translateX(-6px);
              transform: rotate(-45deg) translateY(6px) translateX(-6px); }
    .btn_menu.open .middle {
      opacity: 0; }
    .btn_menu.open .bottom {
      -webkit-transform: rotate(45deg) translateY(-6px) translateX(-6px);
              transform: rotate(45deg) translateY(-6px) translateX(-6px); }

  .navi_wrap {
    position: fixed;
    top: 0;
    right: -70%;
    width: 70%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding-top: 50px;
    background: #fff;
    -webkit-transition: 0.3s;
    transition: 0.3s; }
    .navi_wrap.on {
      right: 0; }

  .g_navi {
    margin-top: 10px; }
    .g_navi ul {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-flow: column;
              flex-flow: column;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
    .g_navi li {
      margin: 0 0 30px 0; }

  .lang_navi {
    width: 100%;
    margin: 10px 0 0 0;
    padding: 10px; }
    .lang_navi li {
      margin: 0 3px;
      width: auto; }
    .lang_navi a span {
      font-size: 0.7rem;
      line-height: 0.7rem; }

  .footer_lang_navi {
    margin-top: 50px; }
    .footer_lang_navi ul {
      gap: 10px; }
    .footer_lang_navi li {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      width: auto;
      margin: auto; }
      .footer_lang_navi li span {
        font-size: 0.8rem; }

  footer {
    margin-top: 50px;
    padding-bottom: 50vw; }
    footer .copyright {
      font-size: 3vw; }

  article {
    width: 100%;
    max-width: unset;
    margin-left: auto;
    margin-right: auto;
    overflow-x: hidden; }

  .table_wrap {
    position: relative;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch; }
    .table_wrap:hover .scroll {
      display: none; }
    .table_wrap .scroll {
      position: absolute;
      top: 3px;
      left: 20px;
      width: 16px;
      height: 16px;
      background: #fff url(../images/common/icon_arrow_left_orange.svg) no-repeat center center/cover;
      border-radius: 20px;
      -webkit-animation: scroll_arrow 2s infinite;
              animation: scroll_arrow 2s infinite; }
    .table_wrap table {
      width: auto;
      min-width: 100%; }
    .table_wrap th,
    .table_wrap td {
      width: auto;
      word-break: keep-all;
      white-space: nowrap; }

  @-webkit-keyframes scroll_arrow {
    0% {
      left: 20px;
      opacity: 0; }
    10% {
      left: 20px;
      opacity: 1; }
    90% {
      left: 0px;
      opacity: 1; }
    100% {
      left: 0px;
      opacity: 0; } }

  @keyframes scroll_arrow {
    0% {
      left: 20px;
      opacity: 0; }
    10% {
      left: 20px;
      opacity: 1; }
    90% {
      left: 0px;
      opacity: 1; }
    100% {
      left: 0px;
      opacity: 0; } } }

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