@charset "UTF-8";
html {
  scroll-behavior: smooth; }

body {
  position: relative;
  color: #004ea2;
  letter-spacing: 0em;
  font-family: "dnp-shuei-gothic-gin-std", sans-serif;
  font-weight: 600;
  font-style: normal; }

a {
  transition: .3s;
  color: #004ea2; }

a:hover {
  opacity: 0.8;
  text-decoration: none;
  color: #004ea2; }

img {
  max-width: 100%;
  width: 100%; }

@media (min-width: 768px) {
  body {
    font-size: 16px; }

  main {
    width: 100%;
    min-width: 1030px; }

  footer {
    width: 100%;
    min-width: 1030px; }

  .pcnone {
    display: none !important; } }
@media (max-width: 767.98px) {
  main {
    overflow: hidden !important; }

  .spnone {
    display: none !important; } }
.mincho {
  font-family: "ten-mincho", serif; }

.en {
  font-family: "the-seasons", sans-serif; }

#navHeader, #fixedMenu {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease; }

#navHeader.visible, #fixedMenu.visible {
  opacity: 1;
  visibility: visible; }

.fl_fixed_menu {
  display: flex;
  justify-content: center; }
  .fl_fixed_menu .fl_fixed_tab {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #004ea2; }
    .fl_fixed_menu .fl_fixed_tab .fl_fixed_img {
      display: flex;
      justify-content: center;
      align-items: center; }

@media (min-width: 768px) {
  .fl_fixed_menu_wrap {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 30;
    display: flex;
    justify-content: center;
    width: 100%;
    min-width: 1030px; }

  .fl_fixed_menu {
    background: url("/fanclland/sale/assets/img/common/fixed_menu_back.png") no-repeat center/100%;
    width: 550px;
    height: 95px;
    padding: 5px 10px 0 10px; }
    .fl_fixed_menu .fl_fixed_tab {
      width: calc( 25% ); }
      .fl_fixed_menu .fl_fixed_tab .fl_fixed_img {
        height: 50px;
        margin-bottom: 5px; }
        .fl_fixed_menu .fl_fixed_tab .fl_fixed_img > img {
          height: 50px;
          width: auto; }
        .fl_fixed_menu .fl_fixed_tab .fl_fixed_img.vip > img {
          height: 45px; }
      .fl_fixed_menu .fl_fixed_tab span {
        font-size: 16px; } }
@media (max-width: 767.98px) {
  .fl_fixed_menu {
    background: url("/fanclland/sale/assets/img/common/fixed_menu_back.png") no-repeat center/107%;
    aspect-ratio: 430/80;
    padding: 5px 0;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 200; }
    .fl_fixed_menu .fl_fixed_tab {
      width: calc( 25% ); }
      .fl_fixed_menu .fl_fixed_tab .fl_fixed_img {
        height: 35px;
        margin-bottom: 3px; }
        .fl_fixed_menu .fl_fixed_tab .fl_fixed_img > img {
          height: 35px;
          width: auto; }
        .fl_fixed_menu .fl_fixed_tab .fl_fixed_img.vip > img {
          height: 30px; }
      .fl_fixed_menu .fl_fixed_tab span {
        font-size: .75rem; } }
/* PC用 hover（マウスオーバー） */
@media (hover: hover) and (pointer: fine) {
  .fl_fixed_tab .fl_fixed_img.map img:hover {
    content: url("/fanclland/sale/assets/img/common/fixed_menu_map_hover.png"); }

  .fl_fixed_tab .fl_fixed_img.sale img:hover {
    content: url("/fanclland/sale/assets/img/common/fixed_menu_sale_hover.png"); }

  .fl_fixed_tab .fl_fixed_img.vip img:hover {
    content: url("/fanclland/sale/assets/img/common/fixed_menu_vip_hover.png"); }

  .fl_fixed_tab .fl_fixed_img.schedule img:hover {
    content: url("/fanclland/sale/assets/img/common/fixed_menu_schedule_hover.png"); } }
/* スマホ用 active（タップ中） */
@media (hover: none) and (pointer: coarse) {
  .fl_fixed_tab:active .fl_fixed_img.map img {
    content: url("/fanclland/sale/assets/img/common/fixed_menu_map_hover.png"); }

  .fl_fixed_tab:active .fl_fixed_img.sale img {
    content: url("/fanclland/sale/assets/img/common/fixed_menu_sale_hover.png"); }

  .fl_fixed_tab:active .fl_fixed_img.vip img {
    content: url("/fanclland/sale/assets/img/common/fixed_menu_vip_hover.png"); }

  .fl_fixed_tab:active .fl_fixed_img.schedule img {
    content: url("/fanclland/sale/assets/img/common/fixed_menu_schedule_hover.png"); } }
/* .header {
  position: fixed !important;
  z-index: 300 !important; } */
  .header .band {
    background-color: #f76e86;
    color: #ffffbc;
    display: flex;
    align-items: center; }
    .header .band.active {
      display: none; }
  .header .menu_icon {
    background-color: #fff;
    margin: 0 0 0 auto;
    top: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    position: relative;
    z-index: 10000; }
    .header .menu_icon > span {
      background-color: #004ea2;
      display: block;
      position: absolute; }
    .header .menu_icon.close_btn {
      background-color: #004ea2;
      top: 0; }
      .header .menu_icon.close_btn > span {
        background-color: #fff; }
  .header .nav_menu {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    overflow: auto;
    z-index: 1000;
    background-color: #fff; }
    .header .nav_menu.active {
      display: block; }
    .header .nav_menu .nav_menu_close {
      background-color: #004ea2;
      position: absolute;
      top: 0;
      right: 0;
      cursor: pointer;
      display: none; }
      .header .nav_menu .nav_menu_close > span {
        background-color: #fff;
        display: block;
        position: absolute; }
        .header .nav_menu .nav_menu_close > span:nth-child(1) {
          transform: rotate(45deg); }
        .header .nav_menu .nav_menu_close > span:nth-child(2) {
          transform: rotate(-45deg); }
    .header .nav_menu .nav_menu_inner {
      position: relative; }
      .header .nav_menu .nav_menu_inner .nav_menu_top {
        width: 150px;
        text-align: center;
        position: relative;
        display: block;
        color: #004ea2 !important; }
        .header .nav_menu .nav_menu_inner .nav_menu_top::before {
          content: '';
          background: url("../img/btn/a_btn.svg") no-repeat center/100%;
          position: absolute;
          left: 0;
          right: 0;
          margin: 0 auto;
          aspect-ratio: 1; }

@media (min-width: 768px) {
  .header {
    width: 100%; }
    .header .band {
      height: 50px;
      width: 100%;
      font-size: 20px;
      justify-content: center; }
      .header .band > a {
        width: 95px;
        position: absolute;
        left: 30px; }
    .header .menu_icon {
      width: 63px;
      height: 63px;
      border-radius: 0 0 0 20px;
      gap: 7px;
      position: absolute;
      top: 50px;
      right: 0; }
      .header .menu_icon > span {
        height: 5px;
        width: 30px; }
        .header .menu_icon > span:nth-child(1) {
          top: 15px; }
        .header .menu_icon > span:nth-child(2) {
          top: 27px; }
        .header .menu_icon > span:nth-child(3) {
          top: 40px; }
      .header .menu_icon.anim_close > span:nth-child(1) {
        animation: line1-close 0.5s forwards; }
      .header .menu_icon.anim_close > span:nth-child(2) {
        animation: line2-close 0.5s forwards; }
      .header .menu_icon.anim_close > span:nth-child(3) {
        animation: line3-close 0.5s forwards; }
      .header .menu_icon.anim_open > span:nth-child(1) {
        animation: line1-open 0.5s ease; }
      .header .menu_icon.anim_open > span:nth-child(2) {
        animation: line2-open 0.5s ease; }
      .header .menu_icon.anim_open > span:nth-child(3) {
        animation: line3-open 0.5s ease; }
  @keyframes line1-close {
    0% {
      top: 15px;
      transform: rotate(0); }
    50% {
      top: 27px;
      transform: rotate(0); }
    100% {
      top: 27px;
      transform: rotate(45deg); } }
  @keyframes line2-close {
    0% {
      top: 27px;
      transform: rotate(0); }
    50% {
      top: 27px;
      transform: rotate(0); }
    100% {
      top: 27px;
      transform: rotate(-45deg); } }
  @keyframes line3-close {
    0% {
      top: 40px;
      opacity: 1; }
    50% {
      top: 27px; }
    100% {
      top: 27px;
      opacity: 0; } }
  @keyframes line1-open {
    0% {
      top: 27px;
      transform: rotate(45deg); }
    50% {
      top: 27px;
      transform: rotate(0); }
    100% {
      top: 15px; } }
  @keyframes line2-open {
    0% {
      top: 27px;
      transform: rotate(-45deg); }
    50% {
      top: 27px;
      transform: rotate(0); }
    100% {
      top: 27px; } }
  @keyframes line3-open {
    0% {
      top: 27px;
      opacity: 0; }
    50% {
      top: 27px; }
    100% {
      top: 40px;
      opacity: 1; } }
    .header .nav_menu {
      width: 100%;
      height: 100vh; }
      .header .nav_menu .nav_menu_inner {
        min-width: 1030px;
        min-height: 870px;
        width: 100%;
        height: 100%;
        overflow: hidden; }
        .header .nav_menu .nav_menu_inner::before {
          content: '';
          aspect-ratio: 1097/870;
          height: 100%;
          background: url("../img/menu_back01.avif") no-repeat center/100%;
          position: absolute;
          top: 0;
          right: calc(50% + 140px);
          z-index: -1; }
        .header .nav_menu .nav_menu_inner::after {
          content: '';
          aspect-ratio: 1094/870;
          height: 100%;
          background: url("../img/menu_back02.avif") no-repeat center/100%;
          position: absolute;
          top: 0;
          left: calc(50% + 140px);
          z-index: -1; }
        .header .nav_menu .nav_menu_inner .nav_menu_close {
          width: 63px;
          height: 63px;
          border-radius: 0 0 0 30px; }
          .header .nav_menu .nav_menu_inner .nav_menu_close > span {
            height: 5px;
            width: 35px;
            top: 30px;
            left: 15px; }
        .header .nav_menu .nav_menu_inner .nav_menu_top {
          width: 150px;
          margin: 0 auto 20px;
          font-size: 18px;
          padding-top: 20px; }
          .header .nav_menu .nav_menu_inner .nav_menu_top::before {
            width: 20px;
            bottom: -25px; }
          .header .nav_menu .nav_menu_inner .nav_menu_top > img {
            margin-bottom: -30px; }
        .header .nav_menu .nav_menu_inner .nav_menu_btn {
          width: 420px;
          display: block;
          margin: 20px auto 0; }
        .header .nav_menu .nav_menu_inner .dark_back_left {
          position: absolute;
          width: 75%;
          height: 100%;
          background: linear-gradient(90deg, rgba(0, 33, 107, 0.9) 40%, rgba(0, 33, 107, 0.8) 65%, rgba(0, 33, 107, 0) 100%);
          top: 0;
          right: calc(50% + 550px); }
        .header .nav_menu .nav_menu_inner .dark_back_right {
          position: absolute;
          width: 75%;
          height: 100%;
          background: linear-gradient(270deg, rgba(0, 33, 107, 0.9) 40%, rgba(0, 33, 107, 0.8) 65%, rgba(0, 33, 107, 0) 100%);
          top: 0;
          left: calc(50% + 550px); }
    .header .illustration {
      position: absolute;
      bottom: 20px;
      left: 50%;
      transform: translateX(-50%) translateY(30px);
      opacity: 0;
      pointer-events: none; }
      .header .illustration.showing {
        animation: popIn 0.4s ease forwards; }
      .header .illustration.hiding {
        animation: popOut 0.4s ease forwards; }
      .header .illustration.illustration01 {
        width: 30px; }
      .header .illustration.illustration02 {
        width: 26px; }
      .header .illustration.illustration03 {
        width: 20px; }
      .header .illustration.illustration04 {
        width: 37px; }
      .header .illustration.illustration05 {
        width: 43px; }
      .header .illustration.illustration06 {
        width: 27px; }
      .header .illustration.illustration07 {
        width: 38px; }
  @keyframes popIn {
    0% {
      transform: translateX(-50%) translateY(30px) scale(0.8);
      opacity: 0; }
    60% {
      transform: translateX(-50%) translateY(-5px) scale(1.05);
      opacity: 1; }
    100% {
      transform: translateX(-50%) translateY(0) scale(1);
      opacity: 1; } }
  @keyframes popOut {
    0% {
      transform: translateX(-50%) translateY(0) scale(1);
      opacity: 1; }
    40% {
      transform: translateX(-50%) translateY(-5px) scale(1.05);
      opacity: 1; }
    100% {
      transform: translateX(-50%) translateY(10px) scale(0.8);
      opacity: 0; } }
    .header .menu_icon > span {
      transition: transform 0.5s ease, opacity 0.5s ease; }
    .header .menu_icon.icon_hover.icon01 .illustration01, .header .menu_icon.icon_hover.icon02 .illustration02, .header .menu_icon.icon_hover.icon03 .illustration03, .header .menu_icon.icon_hover.icon04 .illustration04, .header .menu_icon.icon_hover.icon05 .illustration05, .header .menu_icon.icon_hover.icon06 .illustration06, .header .menu_icon.icon_hover.icon07 .illustration07 {
      opacity: 1;
      transform: translateX(-50%) translateY(0); }
    .header .menu_icon.icon_hover > span:nth-child(1) {
      transform: translateY(25px);
      opacity: 0; }
    .header .menu_icon.icon_hover > span:nth-child(2) {
      transform: translateY(10px);
      opacity: 0; }
    .header .menu_icon.close_btn.icon_hover > span:nth-child(1) {
      animation: line1-close-hover 0.1s forwards; }
    .header .menu_icon.close_btn.icon_hover > span:nth-child(2) {
      animation: line2-close-hover 0.1s forwards; }
    .header .menu_icon.close_btn.icon_hover > span:nth-child(3) {
      animation: line3-close-hover 0.1s forwards; }
  @keyframes line1-close-hover {
    0% {
      top: 27px;
      transform: rotate(45deg); }
    50% {
      top: 27px;
      transform: rotate(0); }
    100% {
      top: 15px; } }
  @keyframes line2-close-hover {
    0% {
      top: 27px;
      transform: rotate(-45deg); }
    50% {
      top: 27px;
      transform: rotate(0); }
    100% {
      top: 27px; } }
  @keyframes line3-close-hover {
    0% {
      top: 27px;
      opacity: 0; }
    50% {
      top: 27px; }
    100% {
      top: 40px;
      opacity: 1; } } }
@media (max-width: 767.98px) {
  .header {
    width: 100%; }
    .header .band {
      padding: 0 15px;
      height: 48px;
      justify-content: space-between; }
      .header .band > a {
        width: 90px; }
    .header .menu_icon {
      width: 45px;
      height: 45px;
      border-radius: 0 0 0 20px;
      gap: 5px;
      position: absolute;
      top: 48px;
      right: 0; }
      .header .menu_icon > span {
        height: 3px;
        width: 20px; }
        .header .menu_icon > span:nth-child(1) {
          top: 11px; }
        .header .menu_icon > span:nth-child(2) {
          top: 19px; }
        .header .menu_icon > span:nth-child(3) {
          top: 28px; }
      .header .menu_icon.anim_close > span:nth-child(1) {
        animation: line1-close-sp 1s forwards; }
      .header .menu_icon.anim_close > span:nth-child(2) {
        animation: line2-close-sp 1s forwards; }
      .header .menu_icon.anim_close > span:nth-child(3) {
        animation: line3-close-sp 1s forwards; }
      .header .menu_icon.anim_open > span:nth-child(1) {
        animation: line1-open-sp 1s ease; }
      .header .menu_icon.anim_open > span:nth-child(2) {
        animation: line2-open-sp 1s ease; }
      .header .menu_icon.anim_open > span:nth-child(3) {
        animation: line3-open-sp 1s ease; }
  @keyframes line1-close-sp {
    0% {
      top: 11px;
      transform: rotate(0); }
    20% {
      top: 28px;
      transform: rotate(0); }
    80% {
      top: 28px;
      transform: rotate(0); }
    100% {
      top: 19px;
      transform: rotate(45deg); } }
  @keyframes line2-close-sp {
    0% {
      top: 19px;
      transform: rotate(0); }
    20% {
      top: 28px;
      transform: rotate(0); }
    80% {
      top: 28px;
      transform: rotate(0); }
    100% {
      top: 19px;
      transform: rotate(-45deg); } }
  @keyframes line3-close-sp {
    0% {
      top: 28px;
      opacity: 1; }
    20% {
      top: 28px; }
    80% {
      top: 28px; }
    100% {
      top: 19px;
      opacity: 0; } }
  @keyframes line1-open-sp {
    0% {
      top: 19px;
      transform: rotate(45deg); }
    20% {
      top: 28px;
      transform: rotate(0); }
    80% {
      top: 28px;
      transform: rotate(0); }
    100% {
      top: 11px; } }
  @keyframes line2-open-sp {
    0% {
      top: 19px;
      transform: rotate(-45deg); }
    20% {
      top: 28px;
      transform: rotate(0); }
    80% {
      top: 28px;
      transform: rotate(0); }
    100% {
      top: 19px; } }
  @keyframes line3-open-sp {
    0% {
      top: 19px;
      opacity: 0; }
    20% {
      top: 28px; }
    80% {
      top: 28px; }
    100% {
      top: 28px;
      opacity: 1; } }
    .header .nav_menu {
      width: 100vw;
      height: 100vh; }
      .header .nav_menu .nav_menu_inner .nav_menu_close {
        width: 45px;
        height: 45px;
        border-radius: 0 0 0 20px; }
        .header .nav_menu .nav_menu_inner .nav_menu_close > span {
          height: 3px;
          width: 25px;
          top: 20px;
          left: 10px; }
      .header .nav_menu .nav_menu_inner .nav_menu_top {
        width: 100px;
        margin: 0 auto -10px;
        font-size: .9rem;
        padding-top: 20px; }
        .header .nav_menu .nav_menu_inner .nav_menu_top::before {
          width: 14px;
          bottom: -15px; }
        .header .nav_menu .nav_menu_inner .nav_menu_top > img {
          margin-bottom: -15px; }
      .header .nav_menu .nav_menu_inner .nav_menu_btn {
        aspect-ratio: 750/632;
        background: url("../img/menu_back_sp.avif") no-repeat center/100%;
        margin-top: -20px; }
        .header .nav_menu .nav_menu_inner .nav_menu_btn > a {
          display: block;
          padding: 30px 10px 0; }

  .illustration {
    position: absolute;
    bottom: 13px;
    left: 50%;
    transform: translateX(-50%) translateY(30px);
    opacity: 0;
    pointer-events: none; }
    .illustration.illustration01 {
      width: 20px; }
    .illustration.illustration02 {
      width: 16px; }
    .illustration.illustration03 {
      width: 15px; }
    .illustration.illustration04 {
      width: 27px; }
    .illustration.illustration05 {
      width: 33px; }
    .illustration.illustration06 {
      width: 17px; }
    .illustration.illustration07 {
      width: 28px; }

  .menu_icon > span {
    transition: transform 0.5s ease, opacity 0.5s ease; }
  .menu_icon.anim_close.icon_sp01 .illustration01, .menu_icon.anim_close.icon_sp02 .illustration02, .menu_icon.anim_close.icon_sp03 .illustration03, .menu_icon.anim_close.icon_sp04 .illustration04, .menu_icon.anim_close.icon_sp05 .illustration05, .menu_icon.anim_close.icon_sp06 .illustration06, .menu_icon.anim_close.icon_sp07 .illustration07, .menu_icon.anim_open.icon_sp01 .illustration01, .menu_icon.anim_open.icon_sp02 .illustration02, .menu_icon.anim_open.icon_sp03 .illustration03, .menu_icon.anim_open.icon_sp04 .illustration04, .menu_icon.anim_open.icon_sp05 .illustration05, .menu_icon.anim_open.icon_sp06 .illustration06, .menu_icon.anim_open.icon_sp07 .illustration07 {
    animation: popUp .8s ease-out forwards; }
  @keyframes popUp {
    0% {
      transform: translateX(-50%) translateY(10px) scale(0.8);
      opacity: 0; }
    30% {
      transform: translateX(-50%) translateY(-5px) scale(1.05);
      opacity: 1; }
    50% {
      transform: translateX(-50%) translateY(0) scale(1);
      opacity: 1; }
    80% {
      transform: translateX(-50%) translateY(-5px) scale(1);
      opacity: 1; }
    100% {
      transform: translateX(-50%) translateY(10px) scale(0.8);
      opacity: 0; } } }
.nav_menu_map_box {
  position: relative; }
  .nav_menu_map_box > .parents_btn {
    position: absolute; }
    .nav_menu_map_box > .parents_btn > a {
      display: flex;
      justify-content: center;
      align-items: center;
      line-height: 1.2em;
      color: #fff; }
      .nav_menu_map_box > .parents_btn > a:hover {
        opacity: 1; }
      .nav_menu_map_box > .parents_btn > a > span {
        position: absolute; }
      .nav_menu_map_box > .parents_btn > a > img:hover {
        opacity: 1; }
  .nav_menu_map_box > a {
    background-color: #fff;
    border-radius: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    color: #004ea2 !important; }
    .nav_menu_map_box > a::before {
      content: '';
      background: url("../img/btn/a_btn.svg") no-repeat center/100%;
      position: absolute;
      left: 0;
      right: 0;
      margin: 0 auto;
      aspect-ratio: 1; }
  .nav_menu_map_box > .warukeru {
    position: absolute;
    height: fit-content;
    width: 62px;
    top: 0;
    left: 0;
    bottom: 0px;
    right: 0px;
    margin: auto; }

@media (min-width: 768px) {
  .nav_menu_map_box {
    width: 900px;
    margin: 0 auto; }
    .nav_menu_map_box > .parents_btn {
      width: 225px;
      top: -40px;
      left: 0;
      font-size: 18px; }
    .nav_menu_map_box > a {
      width: 170px;
      height: 45px;
      font-size: 18px; }
      .nav_menu_map_box > a::before {
        width: 20px;
        bottom: -10px; }
      .nav_menu_map_box > a.roulette {
        top: 224px;
        left: 137px;
        letter-spacing: -0.06em; }
      .nav_menu_map_box > a.castle {
        top: 197px;
        left: 363px; }
      .nav_menu_map_box > a.bar {
        top: 148px;
        right: 60px; }
      .nav_menu_map_box > a.tarots {
        top: 365px;
        left: 50px; }
      .nav_menu_map_box > a.sale {
        top: 301px;
        right: 172px; }
      .nav_menu_map_box > a.sdgs {
        top: 428px;
        left: 250px; }
      .nav_menu_map_box > a.live {
        bottom: 121px;
        right: 72px; }
      .nav_menu_map_box > a.beach {
        bottom: 105px;
        left: 135px; }
      .nav_menu_map_box > a.vip {
        bottom: 60px;
        right: 240px; }
    .nav_menu_map_box > .warukeru {
      width: 120px; }
    .nav_menu_map_box .warukeru img {
      animation: slideAnimation 12s infinite ease-in-out, opacity .5s; }
  @keyframes slideAnimation {
    0% {
      transform: translate3d(240px, -210px, 0);
      opacity: 0; }
    5% {
      transform: translate3d(240px, -210px, 0);
      opacity: 1; }
    30% {
      transform: translate3d(-190px, -80px, 0); }
    55% {
      transform: translate3d(140px, 10px, 0); }
    70% {
      transform: translate3d(10px, 110px, 0); }
    80% {
      transform: translate3d(60px, 160px, 0); }
    95% {
      transform: translate3d(-100px, 230px, 0);
      opacity: 1; }
    100% {
      opacity: 0;
      transform: translate3d(-100px, 230px, 0); } } }
@media (max-width: 767.98px) {
  .nav_menu_map_box {
    width: 100%;
    margin: 20px 0 0 0; }
    .nav_menu_map_box > .parents_btn {
      width: 45%;
      top: -5px;
      left: -5px;
      font-size: .85rem; }
    .nav_menu_map_box > a {
      width: 32%;
      height: 30px;
      font-size: .8rem; }
      .nav_menu_map_box > a::before {
        width: 14px;
        bottom: -7px; }
      .nav_menu_map_box > a.roulette {
        top: 37.2%;
        left: 3.5%;
        letter-spacing: -0.06em; }
      .nav_menu_map_box > a.castle {
        top: 27.6%;
        left: 34.5%; }
      .nav_menu_map_box > a.bar {
        top: 19.5%;
        right: 4.5%; }
      .nav_menu_map_box > a.tarots {
        top: 57.8%;
        left: 6.8%; }
      .nav_menu_map_box > a.sale {
        top: 45.2%;
        right: 5.5%; }
      .nav_menu_map_box > a.sdgs {
        bottom: 19.6%;
        left: 3.9%; }
      .nav_menu_map_box > a.live {
        bottom: 28.1%;
        right: 16.6%; }
      .nav_menu_map_box > a.beach {
        bottom: 10%;
        left: 18%; }
      .nav_menu_map_box > a.vip {
        bottom: 5.3%;
        right: 3.6%; }
    .nav_menu_map_box > .warukeru {
      width: 90px;
      bottom: 50px; }
    .nav_menu_map_box .warukeru img {
      animation: slideAnimation_sp 10s infinite ease-in-out, opacity .5s; }
  @keyframes slideAnimation_sp {
    0% {
      transform: translate3d(130%, -220%, 0);
      opacity: 0; }
    5% {
      transform: translate3d(130%, -220%, 0);
      opacity: 1; }
    25% {
      transform: translate3d(-50%, -20%, 0); }
    50% {
      transform: translate3d(-20%, 120%, 0); }
    65% {
      transform: translate3d(-40%, 240%, 0); }
    80% {
      transform: translate3d(60%, 300%, 0); }
    95% {
      transform: translate3d(-70%, 380%, 0);
      opacity: 1; }
    100% {
      opacity: 0;
      transform: translate3d(-70%, 380%, 0); } } }
.warukeru_btn {
  cursor: pointer; }

.fl_warukerumodal_box .modal-content {
  border-radius: 0;
  background: none;
  border: none; }
.fl_warukerumodal_box .modal-body {
  padding: 0; }
.fl_warukerumodal_box .fl_warukeru_content01 #loadingGif.kaiten {
  animation: flipWarukeru 2.3s both; }
@keyframes flipWarukeru {
  100%,
            60%,
            35%,
            25%,
            0% {
    transform: translateY(0); }
  30% {
    transform: translateY(-26px); }
  40% {
    transform: translateY(-15px); } }
.fl_warukerumodal_box .fl_warukeru_content01 > .get {
  aspect-ratio: 700/1000;
  padding-bottom: 30px;
  background: url("../img/warukeru/back.avif") no-repeat center/cover; }
  .fl_warukerumodal_box .fl_warukeru_content01 > .get > .fl_gacha_close {
    background-color: #004ea2;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    width: 100%;
    bottom: 0; }
    .fl_warukerumodal_box .fl_warukeru_content01 > .get > .fl_gacha_close > .close_btn {
      width: 45px;
      height: 45px;
      border-radius: 50%;
      background-color: #004ea2;
      position: relative;
      border: none;
      z-index: 1; }
      .fl_warukerumodal_box .fl_warukeru_content01 > .get > .fl_gacha_close > .close_btn::before, .fl_warukerumodal_box .fl_warukeru_content01 > .get > .fl_gacha_close > .close_btn::after {
        content: '';
        position: absolute;
        left: 12px;
        top: 50%;
        width: 20px;
        height: 2px;
        background-color: #fff;
        transform-origin: center; }
      .fl_warukerumodal_box .fl_warukeru_content01 > .get > .fl_gacha_close > .close_btn::before {
        transform: translateY(-50%) rotate(45deg); }
      .fl_warukerumodal_box .fl_warukeru_content01 > .get > .fl_gacha_close > .close_btn::after {
        transform: translateY(-50%) rotate(-45deg); }
  .fl_warukerumodal_box .fl_warukeru_content01 > .get > .warukeru_ttl {
    width: 65%;
    margin: 0 auto;
    padding: 20px 0 10px; }
  .fl_warukerumodal_box .fl_warukeru_content01 > .get > .warukeru_lead {
    color: #5f6351;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 15px;
    gap: 7px; }
    .fl_warukerumodal_box .fl_warukeru_content01 > .get > .warukeru_lead > span {
      background-color: #fff; }
      .fl_warukerumodal_box .fl_warukeru_content01 > .get > .warukeru_lead > span.pink {
        color: #f76e86; }
  .fl_warukerumodal_box .fl_warukeru_content01 > .get > .warukeru_img {
    padding: 0 13px;
    margin: 15px 0 0 0; }
  .fl_warukerumodal_box .fl_warukeru_content01 > .get > .gradient {
    width: 90%;
    margin: 5px auto 20px; }

@media (min-width: 768px) {
  .fl_warukerumodal_box .modal-dialog {
    width: 350px; } }
@media (max-width: 767.98px) {
  .fl_warukerumodal_box .modal-dialog {
    margin: 15px; }
  .fl_warukerumodal_box .fl_warukeru_content01 #loadingGif {
    padding-right: 10%; } }
.fl_gacha_box .modal-content {
  border-radius: 0; }
.fl_gacha_box .modal-body {
  padding: 0; }
.fl_gacha_box .fl_gacha_content01 > .get {
  aspect-ratio: 700/1000;
  display: flex;
  flex-direction: column;
  justify-content: space-between; }
  .fl_gacha_box .fl_gacha_content01 > .get > .fl_gacha_close {
    background-color: #004ea2;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center; }
    .fl_gacha_box .fl_gacha_content01 > .get > .fl_gacha_close > .close_btn {
      width: 45px;
      height: 45px;
      border-radius: 50%;
      background-color: #004ea2;
      position: relative;
      border: none;
      z-index: 1; }
      .fl_gacha_box .fl_gacha_content01 > .get > .fl_gacha_close > .close_btn::before, .fl_gacha_box .fl_gacha_content01 > .get > .fl_gacha_close > .close_btn::after {
        content: '';
        position: absolute;
        left: 12px;
        top: 50%;
        width: 20px;
        height: 2px;
        background-color: #fff;
        transform-origin: center; }
      .fl_gacha_box .fl_gacha_content01 > .get > .fl_gacha_close > .close_btn::before {
        transform: translateY(-50%) rotate(45deg); }
      .fl_gacha_box .fl_gacha_content01 > .get > .fl_gacha_close > .close_btn::after {
        transform: translateY(-50%) rotate(-45deg); }
  .fl_gacha_box .fl_gacha_content01 > .get.sorry {
    font-size: 15px; }
    .fl_gacha_box .fl_gacha_content01 > .get.sorry > .sorry_txt {
      width: 70%;
      margin: 30px auto 20px; }
    .fl_gacha_box .fl_gacha_content01 > .get.sorry > img {
      margin-top: auto; }

@media (min-width: 768px) {
  .fl_gacha_box .modal-dialog {
    width: 350px; } }
@media (max-width: 767.98px) {
  .fl_gacha_box .modal-dialog {
    margin: 15px; } }
.fl_btn_a01 > a {
  background-color: #004ea2;
  color: #fff !important;
  position: relative;
  border-radius: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0px 5px 5px 0px rgba(100, 100, 100, 0.4);
  overflow: hidden; }
  .fl_btn_a01 > a::after {
    content: '';
    background: url("../../common/img/btn/arrow01.svg") no-repeat center/100%;
    position: absolute;
    bottom: 0;
    top: 0;
    margin: auto; }
  .fl_btn_a01 > a:hover {
    color: #fff; }
  .fl_btn_a01 > a.kira_back:before {
    opacity: .2; }
.fl_btn_a01.pink > a {
  background-color: #f76e86; }
  .fl_btn_a01.pink > a::after {
    background: url("../../common/img/btn/arrow03.svg") no-repeat center/100%; }
.fl_btn_a01.orange02 > a {
  background-color: #ffa939; }
  .fl_btn_a01.orange02 > a::after {
    background: url("../../common/img/btn/arrow04.svg") no-repeat center/100%; }

@media (min-width: 768px) {
  .fl_btn_a01 {
    width: fit-content; }
    .fl_btn_a01 > a {
      width: 350px;
      height: 60px;
      font-size: 20px; }
      .fl_btn_a01 > a::after {
        right: 15px;
        width: 20px;
        height: 20px; } }
@media (max-width: 767.98px) {
  .fl_btn_a01 {
    width: 100%;
    padding: 0 13px; }
    .fl_btn_a01 > a {
      width: 100%;
      height: 60px;
      font-size: 20px; }
      .fl_btn_a01 > a::after {
        right: 15px;
        width: 20px;
        height: 20px; } }
.kaso_vote_back {
  background-color: #cffbff;
  position: relative;
  z-index: 5; }
  .kaso_vote_back .vote_a {
    z-index: 5;
    position: relative; }
    .kaso_vote_back .vote_a > img:hover {
      opacity: 1; }

@media (min-width: 768px) {
  .etc_container {
    padding-bottom: 140px !important; }

  .kaso_vote_back {
    padding-bottom: 40px;
    margin-top: -70px; }
    .kaso_vote_back::before {
      content: '';
      background: url("../img/vote/back_pc.svg") no-repeat center/100%;
      width: 100%;
      aspect-ratio: 1440 / 165;
      position: absolute;
      top: -70px;
      left: 0; }
    .kaso_vote_back .vote_a {
      width: 770px;
      display: block;
      margin: 0 auto; } }
@media (max-width: 767.98px) {
  .etc_container {
    padding-bottom: 90px !important; }

  .kaso_vote_back {
    padding: 0 0 40px 0; }
    .kaso_vote_back::before {
      content: '';
      background: url("../img/vote/back_sp.svg") no-repeat center/100%;
      width: 100%;
      aspect-ratio: 750 / 150;
      position: absolute;
      top: -50px;
      left: 0; }
    .kaso_vote_back .vote_a {
      display: block; } }
