@charset "UTF-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-weight: inherit;
  font-style: normal;
  line-height: inherit;
  text-decoration: none;
  vertical-align: baseline; }

article, aside, details, figcaption, figure, picture,
footer, header, menu, nav, section, main, canvas, picture {
  display: block; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

input, textarea {
  font-family: inherit;
  font-size: inherit;
  margin: 0;
  padding: 0; }

select, option, button {
  font-family: inherit;
  font-size: inherit; }

input.styleReset, button.styleReset, textarea.styleReset, select.styleReset {
  color: inherit;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box; }

ul, ol {
  list-style: none;
  margin: 0;
  padding: 0; }

a {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: inherit;
  font-weight: inherit;
  font-style: inherit;
  text-decoration: none;
  vertical-align: baseline; }

html {
  font-size: calc(10vw / 7.5);
  -webkit-font-smoothing: antialiased; }

body {
  color: #2f2100;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.2rem;
  line-height: 1.59;
  background-color: #ffffff;
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word; }

body.lock,
body.loading {
  overflow: hidden;
  width: 100vw;
  height: 100vh; }

@media screen and (min-width: 751px) {
  html {
    font-size: 6px; }

  body {
    font-size: 1.6rem;
    line-height: 1; } }
* {
  -webkit-tap-highlight-color: transparent; }

a {
  cursor: pointer;
  color: inherit;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  text-decoration: none; }

p, dt, dd, li {
  word-break: break-word;
  word-wrap: normal; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: top; }

button {
  cursor: pointer;
  font-family: inherit;
  touch-action: manipulation; }

.ib {
  display: inline-block;
  line-height: inherit;
  font-weight: inherit; }

.accordionTrigger {
  cursor: pointer;
  display: block; }

.accordionContent {
  display: none; }

.slide .photo {
  opacity: 0;
  position: absolute;
  top: 0; }
  .slide .photo:first-child {
    opacity: 1;
    position: relative; }
.slide.slick-initialized .photo {
  opacity: 1;
  position: relative; }
.slide .slick-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: calc(100% + 2.1rem);
  left: 0;
  right: 0; }
  .slide .slick-dots li {
    overflow: hidden;
    flex-basis: 2.4rem;
    margin: 0 0 0 2.4rem; }
    .slide .slick-dots li:first-child:last-child {
      display: none; }
    .slide .slick-dots li button {
      margin: 0;
      padding: 0;
      background: none;
      border: none;
      border-radius: 0;
      outline: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      box-sizing: border-box;
      display: block;
      cursor: pointer;
      width: 100%;
      height: 100%;
      text-indent: -9999em;
      background-color: #d9d9d9;
      border-radius: 50%;
      transition: background-color 0.2s ease-out;
      aspect-ratio: 1 / 1; }
    .slide .slick-dots li button:hover, .slide .slick-dots li.slick-active button {
      background-color: #fff8e0; }
.slide .slick-arrow {
  cursor: pointer;
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 10;
  width: 2rem;
  height: 3rem;
  text-indent: -9999em;
  margin: auto;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box; }
  .slide .slick-arrow.slick-prev {
    left: 1.1rem; }
  .slide .slick-arrow.slick-next {
    right: 1.1rem;
    transform: rotate(180deg); }

.moverLine .line {
  position: relative;
  background-image: linear-gradient(90deg, #2f2100, #2f2100);
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 100% 1px;
  transition: lineMove 0.2s ease-out; }

@media screen and (min-width: 751px) {
  /* mover */
  .mover {
    transition: opacity 0.2s ease-out;
    backface-visibility: hidden;
    zoom: 1; }
    .mover:hover {
      opacity: 0.8; }

  .moverContent > * {
    transition: opacity 0.2s ease-out;
    backface-visibility: hidden;
    zoom: 1; }
  .moverContent:hover > * {
    opacity: 0.8; } }
.modePC,
.modePCib {
  display: none; }
  .modePC.important,
  .modePCib.important {
    display: none !important; }

.modeSP {
  display: block; }
  .modeSP.important {
    display: block !important; }

.modeSPib {
  display: inline-block; }
  .modeSPib.important {
    display: inline-block !important; }

@media screen and (min-width: 751px) {
  .modePC {
    display: block; }
    .modePC.important {
      display: block !important; }

  .modePCib {
    display: inline-block; }
    .modePCib.important {
      display: inline-block !important; }

  .modeSP,
  .modeSPib {
    display: none; }
    .modeSP.important,
    .modeSPib.important {
      display: none !important; } }
@keyframes bgloop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 195px 0; } }
@keyframes move {
  0% {
    transform: translateY(0); }
  50% {
    transform: translateY(-30px); }
  100% {
    transform: translateY(0); } }
@keyframes elasticus {
  0% {
    transform-origin: 0% 0%;
    transform: scale(1, 0); }
  50% {
    transform-origin: 0% 0%;
    transform: scale(1, 1); }
  50.1% {
    transform-origin: 0% 100%;
    transform: scale(1, 1); }
  100% {
    transform-origin: 0% 100%;
    transform: scale(1, 0); } }
@keyframes lineMove {
  0% {
    background-size: 0 2px; }
  50% {
    background-size: 0 2px; }
  100% {
    background-size: 100% 2px; } }
@keyframes wave {
  0% {
    transform: scale(0.95);
    opacity: 1; }
  90% {
    opacity: .1; }
  100% {
    transform: scale(1.2, 1.4);
    opacity: 0; } }
@keyframes blink {
  0% {
    opacity: 1; }
  15% {
    opacity: 1; }
  48% {
    opacity: 0; }
  52% {
    opacity: 0; }
  85% {
    opacity: 1; }
  100% {
    opacity: 1; } }
@keyframes blink2 {
  0% {
    opacity: 1; }
  10% {
    opacity: 0.7; }
  20% {
    opacity: 1; }
  30% {
    opacity: 0.7; }
  40% {
    opacity: 1; }
  100% {
    opacity: 1; } }
@keyframes bound {
  0% {
    opacity: 0;
    transform: scale(0); }
  15% {
    opacity: 1;
    transform: scale(1.2); }
  30% {
    transform: scale(0.98); }
  45% {
    opacity: 1;
    transform: scale(1); }
  100% {
    opacity: 1;
    transform: scale(1); } }
@keyframes fade {
  0% {
    opacity: 0;
    transform: translateY(2rem); }
  100% {
    opacity: 1;
    transform: translateY(0); } }
.wrapper {
  transition: opacity 0.3s; }
  .load_complete .wrapper {
    opacity: 1; }

#main {
  overflow: hidden; }

.contentInner {
  width: calc(650 / 750 * 100%);
  margin: auto; }

.scrollPosition {
  margin-top: calc(-104 / 750 * 100%) !important;
  padding-top: calc(104 / 750 * 100%) !important; }

.tabContent {
  display: none;
  margin-top: calc(-104 / 750 * 100%) !important;
  padding-top: calc(104 / 750 * 100%) !important; }
  .tabContent.current {
    display: block; }

.fadeContent {
  opacity: 0;
  transform: translateY(50px);
  transition: all 0.4s ease;
  will-change: transform, opacity; }

.fadeContent.current {
  opacity: 1;
  transform: translateY(0); }

#stage #scene1,
#stage #scene2 {
  display: none; }

@media screen and (min-width: 751px) {
  #stage {
    display: grid;
    grid-template-areas: "scene1 mainContents scene2";
    grid-template-columns: 1fr 500px 1fr;
    position: relative; }
    #stage #scene1 {
      display: block;
      grid-area: scene1;
      position: sticky;
      top: 0;
      z-index: 2;
      height: 100vh; }
      #stage #scene1 .bg {
        overflow: hidden;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        width: calc(600 / 413 * 100%);
        min-width: 100%;
        min-height: 100%;
        background: url(../images/common/bg_stage_left.jpg) left center no-repeat;
        background-size: cover; }
      #stage #scene1 .logo {
        display: none;
        align-items: center;
        justify-content: center;
        position: relative;
        z-index: 10;
        width: 80%;
        max-width: 412px;
        height: 100vh;
        margin: auto;
        box-sizing: border-box; }
        #stage #scene1 .logo img {
          margin: 0 0.5vw 2.5vh 0; }
    #stage #scene2 {
      display: block;
      grid-area: scene2;
      position: sticky;
      top: 0;
      height: 100vh; }
      #stage #scene2 .bg {
        overflow: hidden;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        width: calc(600 / 413 * 100%);
        min-width: 100%;
        min-height: 100%;
        background: url(../images/common/bg_stage_right.jpg) right center no-repeat;
        background-size: cover; }
      #stage #scene2 .menuWrap {
        display: none;
        align-items: center;
        position: relative;
        z-index: 20;
        width: 90%;
        max-width: 230px;
        height: 100vh;
        margin: 0 auto 1vh auto; }
        #stage #scene2 .menuWrap .menu {
          width: 100%; }
          #stage #scene2 .menuWrap .menu .menuTitle {
            color: #910016;
            font-size: 4.8rem;
            line-height: 1;
            font-weight: 700;
            text-align: center; }
          #stage #scene2 .menuWrap .menu .list {
            position: relative;
            width: calc(594 / 750 * 100%);
            margin: auto;
            padding: calc(33 / 750 * 100%) 0 calc(140 / 750 * 100%) 0; }
            #stage #scene2 .menuWrap .menu .list .item {
              border-top: 2px solid #2f2100; }
              #stage #scene2 .menuWrap .menu .list .item:first-child {
                border-top: 0; }
              #stage #scene2 .menuWrap .menu .list .item a {
                display: flex;
                align-items: center;
                position: relative;
                width: 100%;
                padding: calc(40 / 594 * 100%) 0 calc(38 / 594 * 100%) 0; }
                #stage #scene2 .menuWrap .menu .list .item a:after {
                  content: "";
                  position: absolute;
                  top: 0;
                  bottom: 0;
                  right: 0;
                  width: calc(37 / 594 * 100%);
                  background: url(../images/common/icon_arrow01.svg) center center no-repeat;
                  background-size: contain;
                  margin: auto;
                  aspect-ratio: 37 / 57; }
                #stage #scene2 .menuWrap .menu .list .item a .num {
                  flex-shrink: 0;
                  font-size: 2.25rem;
                  line-height: 1;
                  font-weight: 700;
                  margin: 0 calc(32 / 594 * 100%) 0 0; }
                #stage #scene2 .menuWrap .menu .list .item a .text {
                  font-size: 2rem;
                  line-height: 1.35;
                  font-weight: 700; }
                  #stage #scene2 .menuWrap .menu .list .item a .text .mission {
                    display: inline-block;
                    color: #ffffff;
                    font-size: 1.85rem;
                    line-height: 1;
                    background-color: #910016;
                    padding: 1rem; }
      #stage #scene2 .logo {
        display: none;
        position: absolute;
        bottom: 0;
        right: 0;
        z-index: 10;
        width: 80%;
        max-width: 504px;
        height: 100vh;
        margin: 0 0 0 auto;
        box-sizing: border-box; }
        #stage #scene2 .logo .image {
          position: absolute;
          bottom: 0;
          right: 0;
          width: 100%;
          margin: 0 1.4vw 4.5vh 0; }
        #stage #scene2 .logo .copyright {
          position: absolute;
          bottom: 0;
          right: 0;
          width: calc(305 / 504 * 100%);
          margin: 0 1.5vw 2.8vh 0; } }
@media screen and (min-width: 1000px) {
  #stage #scene1 .logo {
    display: flex; }
  #stage #scene2 .logo {
    display: block; } }
@media screen and (min-width: 1100px) {
  #stage #scene2 .menuWrap {
    display: flex; } }
@media screen and (max-height: 670px) {
  #stage #scene2 .logo {
    display: none; } }
/* maincCntents */
#maincCntents {
  background-color: #bcb5a0; }

@media screen and (min-width: 751px) {
  #maincCntents {
    position: relative;
    z-index: 50;
    max-width: 500px;
    margin: auto; }
    #maincCntents:before, #maincCntents:after {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      right: 100%;
      z-index: 20;
      width: 15px;
      filter: drop-shadow(0 0 15px rgba(0, 0, 0, 0.35));
      background: linear-gradient(to left, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0));
      will-change: filter; }
    #maincCntents:after {
      left: 100%;
      right: auto;
      background: linear-gradient(to right, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0)); } }
#header {
  position: relative;
  background: #ffffff;
  aspect-ratio: 750 / 100; }
  #header hgroup {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
    padding: 0 calc(20 / 750 * 100%); }
    #header hgroup .lLogo {
      flex-basis: calc(230 / 710 * 100%);
      padding: 0 10px 0 0; }
    #header hgroup .lazona {
      flex-basis: calc(160 / 710 * 100%);
      margin-right: calc(16 / 710 * 100%); }
    #header hgroup .mlogo {
      flex-basis: calc(284 / 710 * 100%); }

#globalNav {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1001; }
  #globalNav .button {
    cursor: pointer;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1000;
    width: calc(53 / 750 * 100%);
    height: auto;
    background-color: #ffffff;
    margin: calc(17 / 750 * 100%) calc(48 / 750 * 100%) 0 0;
    border-radius: 50%;
    aspect-ratio: 1 / 1;
    box-sizing: border-box; }
    #globalNav .button .wrap {
      display: flex;
      align-items: center;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      width: calc(22 / 53 * 100%);
      height: 0;
      padding: calc(22 / 53 * 100%) 0 0 0;
      margin: auto; }
      #globalNav .button .wrap span {
        position: absolute;
        left: 0;
        right: 0;
        height: 2px;
        background-color: #000000;
        margin: auto;
        transition: all 0.2s;
        border-radius: 2px; }
        #globalNav .button .wrap span:nth-of-type(1) {
          top: 0; }
        #globalNav .button .wrap span:nth-of-type(2) {
          top: calc(50% - 1px); }
        #globalNav .button .wrap span:nth-of-type(3) {
          bottom: 0; }
  #globalNav .menu {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 999;
    height: 100vh; }
    #globalNav .menu .menuBg {
      position: fixed;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      background: url(../images/common/bg_menu.jpg) center top no-repeat;
      background-size: cover; }
    #globalNav .menu .menuInner {
      overflow: auto;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      z-index: 3;
      transform: translateX(0);
      transition: opacity 0.2s ease-out;
      -webkit-overflow-scrolling: touch;
      box-sizing: border-box; }
    #globalNav .menu .bg {
      margin: calc(119 / 750 * 100%) 0 0 0; }
    #globalNav .menu .menuTitle {
      color: #910016;
      font-size: 9.7rem;
      line-height: 1;
      font-weight: 700;
      text-align: center; }
    #globalNav .menu .list {
      position: relative;
      width: calc(594 / 750 * 100%);
      margin: auto;
      padding: calc(33 / 750 * 100%) 0 calc(140 / 750 * 100%) 0; }
      #globalNav .menu .list .item {
        border-top: 2px solid #2f2100; }
        #globalNav .menu .list .item:first-child {
          border-top: 0; }
        #globalNav .menu .list .item a {
          display: flex;
          align-items: center;
          position: relative;
          width: 100%;
          padding: calc(40 / 594 * 100%) 0 calc(38 / 594 * 100%) 0; }
          #globalNav .menu .list .item a:after {
            content: "";
            position: absolute;
            top: 0;
            bottom: 0;
            right: 0;
            width: calc(37 / 594 * 100%);
            background: url(../images/common/icon_arrow01.svg) center center no-repeat;
            background-size: contain;
            margin: auto;
            aspect-ratio: 37 / 57; }
          #globalNav .menu .list .item a .num {
            flex-shrink: 0;
            font-size: 4.5rem;
            line-height: 1;
            font-weight: 700;
            margin: 0 calc(32 / 594 * 100%) 0 0; }
          #globalNav .menu .list .item a .text {
            font-size: 4rem;
            line-height: 1.38;
            font-weight: 700; }
            #globalNav .menu .list .item a .text .mission {
              display: inline-block;
              color: #ffffff;
              font-size: 3.7rem;
              line-height: 1;
              background-color: #910016;
              padding: 1rem; }
  #globalNav.fixed .button {
    position: fixed; }
  #globalNav.open .button {
    position: fixed; }
    #globalNav.open .button .wrap span:nth-of-type(1) {
      bottom: 0;
      left: 0;
      transform: translateY(50%) translateY(-1px) rotate(-45deg); }
    #globalNav.open .button .wrap span:nth-of-type(2) {
      opacity: 0;
      left: 0; }
    #globalNav.open .button .wrap span:nth-of-type(3) {
      top: 0;
      left: 0;
      transform: translateY(-50%) translateY(1px) rotate(45deg); }

@media screen and (min-width: 751px) {
  #globalNav {
    max-width: 500px;
    margin: auto; }
    #globalNav .menu .menuBg {
      max-width: 500px;
      margin: auto; }
    #globalNav .menu .menuContent {
      overflow: hidden;
      max-width: 500px;
      height: 100vh;
      margin: auto;
      filter: blur(0);
      will-change: filter; }
    #globalNav.fixed .buttonWrap, #globalNav.open .buttonWrap {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 1000;
      max-width: 500px;
      margin: auto; }
    #globalNav.fixed .button, #globalNav.open .button {
      position: absolute; } }
.footerWrap {
  position: relative;
  z-index: 10;
  background-color: #ffffff;
  padding: calc(50 / 750 * 100%) 0 1px 0; }
  .footerWrap a {
    transition: opacity 0.2s ease-out;
    backface-visibility: hidden;
    zoom: 1; }
    .footerWrap a:hover {
      opacity: 0.8; }
  .footerWrap .wrap2 {
    position: relative;
    z-index: 2;
    padding: 0 calc(20 / 750 * 100%); }
    .footerWrap .wrap2 .coution {
      font-size: 2.4rem;
      line-height: 1.4;
      font-size: 2.4rem;
      line-height: 1.38;
      font-weight: 700;
      margin-bottom: calc(80 / 710 * 100%); }
    .footerWrap .wrap2 #sns {
      display: flex;
      justify-content: space-between; }
      .footerWrap .wrap2 #sns ul {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        width: calc(45% - 10px);
        padding: 0;
        margin: 0 auto calc(60 / 710 * 100%) auto; }
        .footerWrap .wrap2 #sns ul li {
          width: 27%;
          font-weight: 700;
          white-space: nowrap; }
          .footerWrap .wrap2 #sns ul li:nth-child(1) {
            width: 100%;
            padding: 0 0 2rem 0;
            font-size: 2.2rem;
            text-align: center; }
  .footerWrap .footer__nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 80%;
    margin: 0 auto 8rem auto;
    font-size: 2.2rem;
    letter-spacing: 0.2rem; }
    .footerWrap .footer__nav li {
      margin: 0 0 3rem 0; }
      .footerWrap .footer__nav li:nth-child(1), .footerWrap .footer__nav li:nth-child(7) {
        margin-right: 6rem; }
      .footerWrap .footer__nav li:nth-child(4) {
        width: 100%;
        text-align: center; }
      .footerWrap .footer__nav li a {
        color: #444;
        text-decoration: none;
        transition: 0.4s; }
      .footerWrap .footer__nav li a:hover {
        filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
        opacity: 0.5; }
  .footerWrap .footer__foot .links ul {
    overflow: hidden;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 2rem; }
    .footerWrap .footer__foot .links ul li {
      float: left;
      padding-bottom: 3rem;
      font-size: 2.0rem; }
      .footerWrap .footer__foot .links ul li:first-of-type {
        width: 100%;
        color: #878787;
        text-align: center;
        font-size: 2rem;
        padding: 0 1rem 3.3rem 0; }
        .footerWrap .footer__foot .links ul li:first-of-type a:after {
          display: none; }
      .footerWrap .footer__foot .links ul li:nth-of-type(2) a:after {
        display: none; }
      .footerWrap .footer__foot .links ul li a {
        position: relative;
        display: inline-block;
        padding: 0 1.8rem;
        color: #343434;
        text-decoration: none; }
        .footerWrap .footer__foot .links ul li a:after {
          content: "";
          position: absolute;
          top: 50%;
          left: 0;
          width: 1px;
          height: 1.6rem;
          margin-top: -0.8rem;
          background: #c1c1c1; }
  .footerWrap .footer__foot .copyright {
    display: block;
    padding: 0px 0 25px;
    font-size: 2rem;
    line-height: 1.5;
    color: #999;
    text-align: center; }
  .footerWrap .footer__logo {
    width: 45%;
    margin: 0 auto 20px; }

/* loading */
#loading {
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1000000;
  background-color: #ede6df; }

.ball-pulse-sync > div {
  display: inline-block;
  width: 15px;
  height: 15px;
  background-color: #000000;
  margin: 10px;
  border-radius: 100%;
  animation-fill-mode: both; }

.ball-pulse-sync > div:nth-child(1) {
  animation: ball-pulse-sync 0.6s -0.14s infinite ease-in-out; }

.ball-pulse-sync > div:nth-child(2) {
  animation: ball-pulse-sync 0.6s -70ms infinite ease-in-out; }

.ball-pulse-sync > div:nth-child(3) {
  animation: ball-pulse-sync 0.6s 0s infinite ease-in-out; }

@keyframes ball-pulse-sync {
  33% {
    transform: translateY(10px); }
  66% {
    transform: translateY(-10px); }
  100% {
    transform: translateY(0); } }
/* animate */
.animate {
  opacity: 0;
  transform: scale(0.6);
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.2s; }
  .animate.current {
    opacity: 1;
    transform: scale(1); }

/* titleType01 */
/* linkType01 */
.linkType01 {
  display: block;
  position: relative;
  font-size: 4rem;
  line-height: 1;
  font-weight: 700;
  padding: 0 8.5rem 0 0; }
  .linkType01:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 3.7rem;
    width: 4.5rem;
    background: url(../images/all/icon_arrow.png) center center no-repeat;
    background-size: contain;
    aspect-ratio: 1 / 1; }

/* splitText */
.splitText {
  text-align: center; }
  .splitText .row {
    overflow: hidden; }
  .splitText .char {
    opacity: 0;
    display: inline-block;
    min-width: 0.6rem;
    transform: translateY(var(--y, 10px));
    transition: all 0.2s cubic-bezier(0.77, 0, 0.175, 1);
    transition-delay: calc(0.04s * var(--char-index)); }
  .splitText.delay .char {
    transition-delay: calc(0.04s * var(--char-index) + 0.5s); }
  .splitText.current {
    --y: 0; }
    .splitText.current .char {
      opacity: 1; }

@media screen and (min-width: 751px) {
  .splitText span {
    min-width: 1.5rem; } }
/* toTop */
#toTop {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 50; }
  #toTop a {
    display: block;
    position: absolute;
    bottom: 3rem;
    right: 3rem; }
  #toTop span {
    display: block;
    position: relative;
    width: 7.2rem;
    height: 7.2rem;
    text-indent: -9999em;
    background: url(../images/common/img_totop.png) center center no-repeat;
    background-size: contain;
    box-sizing: border-box; }

@media screen and (min-width: 751px) {
  #toTop {
    max-width: 500px;
    margin: auto; }
    #toTop span {
      width: 70px;
      height: 70px;
      line-height: 70px; } }
/* soon */
.soon {
  position: relative; }
  .soon[data-date="7/13"].open:after {
    content: "4/24より公開​"; }
  .soon[data-date="7/13"]:after {
    content: "7/13(月)\A情報公開​"; }
  .soon[data-date="7/17"]:after {
    content: "7/17(金)応募開始​"; }
  .soon:after {
    content: "";
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: -1rem;
    bottom: -1rem;
    left: -1rem;
    right: -1rem;
    color: #2f2100;
    font-size: 4.2rem;
    line-height: 1.43;
    background-color: rgba(181, 181, 181, 0.5);
    -webkit-text-stroke: 5px #ffffff;
    text-stroke: 5px #ffffff;
    paint-order: stroke;
    white-space: pre; }

/* firstContent */
#firstContent .mv {
  position: relative;
  z-index: 10; }
  #firstContent .mv .bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    aspect-ratio: 1080 / 1912; }
  #firstContent .mv .titleWrap {
    position: relative;
    z-index: 10;
    padding: calc(16 / 750 * 100%) 0 0 0; }
    #firstContent .mv .titleWrap .title {
      display: block; }
      #firstContent .mv .titleWrap .title.title01 {
        opacity: 0;
        width: calc(576 / 750 * 100%);
        margin: 0 0 0 calc(70 / 750 * 100%);
        aspect-ratio: 1657 / 905; }
        #firstContent .mv .titleWrap .title.title01.active {
          opacity: 1; }
      #firstContent .mv .titleWrap .title.title02 {
        opacity: 0;
        position: absolute;
        top: 0;
        right: 0;
        width: calc(247 / 750 * 100%);
        margin: calc(192 / 750 * 100%) calc(72 / 750 * 100%) 0 0;
        aspect-ratio: 711 / 363;
        transition: all 0.4s ease-out 7.1s; }
  #firstContent .mv .period {
    opacity: 0;
    position: relative;
    z-index: 10;
    width: calc(370 / 750 * 100%);
    margin: calc(-2 / 750 * 100%) calc(52 / 750 * 100%) 0 auto;
    transition: all 0.4s ease-out 7.6s; }
#firstContent .contents {
  position: relative;
  z-index: 10;
  background: url(../images/common/bg_mv_contents.png) center top no-repeat;
  background-size: 100% auto;
  margin: calc(543 / 750 * 100%) 0 0 0; }
  #firstContent .contents .intro {
    position: relative;
    z-index: 3;
    width: calc(654 / 750 * 100%);
    margin: 0 auto calc(57 / 750 * 100%) auto;
    padding: calc(23 / 750 * 100%) 0 0 0; }
  #firstContent .contents .logo {
    position: relative;
    width: calc(594 / 750 * 100%);
    margin: 0 auto calc(74 / 750 * 100%) auto; }
    #firstContent .contents .logo:before {
      content: "";
      position: absolute;
      top: 0;
      left: -50%;
      right: -50%;
      width: calc(750 / 594 * 100%);
      background: url(../images/common/bg_mv_logo.png) center top no-repeat;
      background-size: contain;
      margin: calc(-141 / 594 * 100%) auto 0 auto;
      aspect-ratio: 1500 / 656; }
    #firstContent .contents .logo img {
      position: relative;
      z-index: 3; }
  #firstContent .contents .voice {
    position: relative;
    z-index: 3;
    width: calc(594 / 750 * 100%);
    margin: 0 auto calc(42 / 750 * 100%) auto; }
    #firstContent .contents .voice .balloon {
      margin: 0 0 calc(26 / 594 * 100%) 0; }
    #firstContent .contents .voice .wrap {
      display: flex;
      align-items: center;
      justify-content: space-between; }
      #firstContent .contents .voice .wrap .icon {
        flex-basis: calc(120 / 594 * 100%);
        position: relative;
        margin: 0 0 0 calc(30 / 594 * 100%); }
        #firstContent .contents .voice .wrap .icon:after {
          content: "";
          position: absolute;
          top: 100%;
          left: 0;
          width: calc(195 / 120 * 100%);
          background: url(../images/common/text_mv_voice_soundon.png) left center no-repeat;
          background-size: cover;
          margin: calc(-1 / 120 * 100%) 0 0 calc(-29 / 120 * 100%);
          aspect-ratio: 391 / 138; }
      #firstContent .contents .voice .wrap .button {
        flex-basis: calc(379 / 594 * 100%); }
.load_complete #firstContent .mv .titleWrap .title.title02 {
  opacity: 1; }
.load_complete #firstContent .mv .period {
  opacity: 1; }

/* announce */
#announce {
  position: relative; }
  #announce:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: url(../images/teaser/bg_announce.jpg) center top repeat-y;
    background-size: 100% auto;
    margin: calc(-455 / 750 * 100%) 0 0 0; }
  #announce .content {
    position: relative;
    z-index: 2; }
  #announce .title {
    font-size: 4.4rem;
    line-height: 1.66;
    font-weight: 700;
    text-align: center;
    background: url(../images/teaser/bg_announce_title.png) center center no-repeat;
    background-size: 100% auto;
    padding: calc(183 / 750 * 100%) 0 calc(197 / 750 * 100%) 0; }
  #announce .list {
    font-weight: 700;
    text-align: center;
    margin: calc(-53 / 750 * 100%) 0 calc(26 / 750 * 100%) 0; }
    #announce .list .item {
      position: relative;
      width: calc(594 / 750 * 100%);
      margin: auto; }
      #announce .list .item.item01 {
        display: flex;
        align-items: center;
        justify-content: center;
        width: calc(620 / 750 * 100%);
        background: url(../images/teaser/bg_announce_item01.png) center center no-repeat;
        background-size: contain;
        margin-bottom: calc(10 / 750 * 100%);
        aspect-ratio: 1240 / 560; }
        #announce .list .item.item01 .text {
          font-size: 4rem;
          line-height: 1.38; }
          #announce .list .item.item01 .text .em {
            color: #910016;
            font-size: 4.5rem;
            line-height: 1.22; }
            #announce .list .item.item01 .text .em .large {
              font-size: 6.3rem;
              line-height: 1; }
      #announce .list .item.item02 {
        background: url(../images/teaser/bg_announce_item02.png) center center no-repeat;
        background-size: contain;
        margin-bottom: calc(18 / 750 * 100%);
        aspect-ratio: 1188 / 1295; }
        #announce .list .item.item02 .headline {
          font-size: 4.5rem;
          line-height: 1.33;
          padding: calc(105 / 594 * 100%) 0 calc(62 / 594 * 100%) 0; }
          #announce .list .item.item02 .headline .em {
            color: #910016;
            font-size: 6.4rem;
            line-height: 1.17;
            letter-spacing: 0.2rem; }
        #announce .list .item.item02 .image {
          width: calc(497 / 594 * 100%);
          margin: 0 auto calc(15 / 594 * 100%) auto; }
        #announce .list .item.item02 .sale {
          width: calc(490 / 594 * 100%);
          font-size: 2.6rem;
          line-height: 1.38;
          background-color: #f8d1b7;
          margin: auto;
          padding: 0 0 calc(25 / 594 * 100%) 0; }
          #announce .list .item.item02 .sale .text {
            padding: calc(25 / 490 * 100%) 0 calc(15 / 490 * 100%) 0; }
          #announce .list .item.item02 .sale a {
            display: block;
            width: calc(235 / 535 * 100%);
            margin: auto; }
      #announce .list .item.item03 {
        background: url(../images/teaser/bg_announce_item03.png) center center no-repeat;
        background-size: contain;
        margin-bottom: calc(18 / 750 * 100%);
        aspect-ratio: 1188 / 542; }
        #announce .list .item.item03 .headline {
          color: #910016;
          font-size: 6.8rem;
          line-height: 1;
          letter-spacing: 0.2rem;
          padding: calc(67 / 594 * 100%) 0 0 0; }
        #announce .list .item.item03 .text {
          font-size: 4.5rem;
          line-height: 1.89; }
      #announce .list .item.item04 {
        background: url(../images/teaser/bg_announce_item04.png) center center no-repeat;
        background-size: contain;
        aspect-ratio: 1188 / 484; }
        #announce .list .item.item04 .headline {
          color: #910016;
          font-size: 6.8rem;
          line-height: 1;
          letter-spacing: 0.2rem;
          padding: calc(55 / 594 * 100%) 0 0 0; }
        #announce .list .item.item04 .text {
          font-size: 4.5rem;
          line-height: 2; }
      #announce .list .item .parts {
        position: absolute;
        top: 0; }
        #announce .list .item .parts.parts01_1 {
          right: 0;
          width: calc(56 / 620 * 100%);
          margin: calc(-43 / 620 * 100%) calc(27 / 620 * 100%) 0 0;
          aspect-ratio: 112 / 99; }
        #announce .list .item .parts.parts01_2 {
          left: 0;
          width: calc(51 / 620 * 100%);
          margin: calc(163 / 620 * 100%) 0 0 calc(53 / 620 * 100%);
          aspect-ratio: 103 / 107; }
        #announce .list .item .parts.parts02_1 {
          right: 0;
          width: calc(245 / 594 * 100%);
          margin: calc(-26 / 594 * 100%) calc(-28 / 594 * 100%) 0 0;
          aspect-ratio: 491 / 156; }
        #announce .list .item .parts.parts02_2 {
          left: 0;
          width: calc(52 / 594 * 100%);
          margin: calc(87 / 594 * 100%) 0 0 calc(29 / 594 * 100%);
          aspect-ratio: 104 / 131; }
        #announce .list .item .parts.parts02_3 {
          left: 0;
          width: calc(206 / 594 * 100%);
          margin: calc(437 / 594 * 100%) 0 0 calc(-109 / 594 * 100%);
          aspect-ratio: 412 / 234; }
        #announce .list .item .parts.parts02_4 {
          right: 0;
          width: calc(72 / 594 * 100%);
          margin: calc(625 / 594 * 100%) calc(-28 / 594 * 100%) 0 0;
          aspect-ratio: 144 / 69; }
        #announce .list .item .parts.parts03_1 {
          right: 0;
          width: calc(201 / 594 * 100%);
          margin: calc(-22 / 594 * 100%) calc(-102 / 594 * 100%) 0 0;
          aspect-ratio: 403 / 284; }
        #announce .list .item .parts.parts03_2 {
          left: 0;
          width: calc(207 / 594 * 100%);
          margin: calc(174 / 594 * 100%) 0 0 calc(-104 / 594 * 100%);
          aspect-ratio: 414 / 113; }
        #announce .list .item .parts.parts04_1 {
          left: 0;
          width: calc(49 / 594 * 100%);
          margin: calc(26 / 594 * 100%) 0 0 calc(-13 / 594 * 100%);
          aspect-ratio: 99 / 99; }
        #announce .list .item .parts.parts04_2 {
          right: 0;
          width: calc(276 / 594 * 100%);
          margin: calc(176 / 594 * 100%) calc(-122 / 594 * 100%) 0 0;
          aspect-ratio: 552 / 91; }
        #announce .list .item .parts.parts04_3 {
          left: 0;
          width: calc(198 / 594 * 100%);
          margin: calc(219 / 594 * 100%) 0 0 calc(-74 / 594 * 100%);
          aspect-ratio: 397 / 111; }
  #announce .more {
    width: calc(290 / 750 * 100%);
    margin: 0 auto calc(12 / 594 * 100%) auto;
    padding: 0 0 0 calc(14 / 750 * 100%); }
  #announce .banner {
    position: relative;
    background: url(../images/teaser/bg_banner.png) center top no-repeat;
    background-size: 100% auto;
    margin: calc(-115 / 750 * 100%) 0 0 0;
    aspect-ratio: 1500 / 450; }
    #announce .banner .image {
      width: calc(594 / 750 * 100%);
      margin: 0 auto;
      padding: calc(114 / 750 * 100%) 0 0 0; }

.all {
  position: relative;
  /* block */
  /* store */
  /* rally */
  /* sticker */
  /* coaster */
  /* greeting */
  /* shopBlock */
  /* niko */
  /* koufukudou */
  /* facility */ }
  .all:before {
    content: "";
    overflow: hidden;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: url(../images/all/bg_all.png) center top no-repeat;
    background-size: 100% auto;
    margin: calc(-574 / 750 * 100%) 0 0 0;
    padding: 0 0 calc(574 / 750 * 100%) 0; }
  .all .block {
    position: relative;
    z-index: 2;
    width: calc(594 / 750 * 100%);
    margin: 0 auto calc(50 / 750 * 100%) auto;
    padding: calc(100 / 750 * 100%) 0 0 0; }
    .all .block:before {
      content: "";
      display: block;
      background-color: #910016;
      aspect-ratio: 594 / 40; }
    .all .block .content {
      position: relative;
      text-align: center;
      background-color: #ffffff;
      padding: 0 0 calc(50 / 594 * 100%) 0; }
    .all .block .num {
      opacity: 0;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      width: calc(418 / 594 * 100%);
      margin: calc(-108 / 594 * 100%) auto 0 auto;
      transform: scale(0); }
      .all .block .num.current {
        animation: bound 1.5s ease forwards 0.1s; }
    .all .block .title {
      font-size: 4.5rem;
      line-height: 1.44;
      font-weight: 700;
      padding: calc(24 / 594 * 100%) 0 calc(12 / 594 * 100%) 0;
      transform: translateY(0); }
      .all .block .title .color {
        color: #910016;
        font-size: 4.8rem;
        line-height: 1.35; }
    .all .block .desc {
      font-size: 2.2rem;
      line-height: 1.45;
      font-weight: 700;
      margin: 0 0 calc(33 / 594 * 100%) 0; }
    .all .block .summary {
      width: calc(272 / 594 * 100%);
      margin: 0 auto calc(38 / 594 * 100%) auto; }
    .all .block .image,
    .all .block .sample,
    .all .block .card {
      width: calc(517 / 594 * 100%);
      margin: 0 auto calc(42 / 594 * 100%) auto; }
    .all .block .buttonArea {
      width: calc(253 / 594 * 100%);
      margin: 0 auto calc(20 / 594 * 100%) auto; }
      .all .block .buttonArea.regist {
        width: calc(478 / 594 * 100%); }
      .all .block .buttonArea.information {
        width: calc(313 / 594 * 100%); }
    .all .block .shop .target {
      display: flex;
      align-items: center;
      width: calc(517 / 594 * 100%);
      margin: 0 auto calc(39 / 594 * 100%) auto; }
      .all .block .shop .target:before, .all .block .shop .target:after {
        content: "";
        width: 50%;
        height: 2px;
        background-color: #2f2100; }
      .all .block .shop .target .str {
        display: block;
        flex-shrink: 0;
        font-size: 3.6rem;
        line-height: 1;
        font-weight: 700;
        padding: 0 3.5rem; }
    .all .block .shop .text {
      font-size: 2.8rem;
      line-height: 1.43;
      font-weight: 700;
      margin: 0 0 calc(28 / 594 * 100%) 0; }
    .all .block .shop .row {
      margin: 0 0 calc(30 / 594 * 100%) 0; }
      .all .block .shop .row:nth-child(2) {
        margin: 0 0 calc(46 / 594 * 100%) 0; }
      .all .block .shop .row .head {
        font-size: 2.8rem;
        line-height: 1;
        font-weight: 700;
        margin: 0 0 calc(7 / 594 * 100%) 0; }
      .all .block .shop .row .cont .period {
        font-size: 3rem;
        line-height: 1.2;
        font-weight: 700;
        margin: 0 2rem; }
      .all .block .shop .row .cont .place {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-basis: 19rem;
        min-height: calc(2.7rem * 2);
        font-size: 2.4rem;
        line-height: 1.13;
        font-weight: 700; }
    .all .block .andmall {
      position: relative;
      padding: calc(32 / 594 * 100%) 0 0 0; }
      .all .block .andmall:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        width: calc(517 / 594 * 100%);
        margin: auto;
        border-top: 2px solid #2f2100; }
      .all .block .andmall .sale {
        font-size: 3.6rem;
        line-height: 1.36;
        font-weight: 700;
        margin: 0 0 calc(49 / 594 * 100%) 0; }
      .all .block .andmall .period {
        font-size: 3.6rem;
        line-height: 1.36;
        font-weight: 700;
        margin: 0 0 calc(37 / 594 * 100%) 0; }
      .all .block .andmall .buttonArea {
        margin-bottom: calc(37 / 594 * 100%); }
      .all .block .andmall .open {
        font-size: 2.2rem;
        line-height: 1;
        font-weight: 500;
        margin: 0 0 calc(40 / 594 * 100%) 0; }
        .all .block .andmall .open .line {
          display: inline-block;
          background: linear-gradient(transparent 55%, #fff35f 55%);
          padding: 0 2rem; }
      .all .block .andmall .present {
        margin: 0 0 calc(20 / 594 * 100%) 0; }
        .all .block .andmall .present .text {
          font-size: 2.2rem;
          line-height: 1.59;
          font-weight: 700;
          margin: 0 0 calc(26 / 594 * 100%) 0; }
          .all .block .andmall .present .text .price {
            font-size: 2.5rem;
            line-height: 1.4; }
          .all .block .andmall .present .text .small {
            font-size: 1.5rem;
            line-height: 2.33;
            font-weight: 500; }
        .all .block .andmall .present .image {
          margin-bottom: calc(20 / 594 * 100%); }
        .all .block .andmall .present .note {
          font-size: 1.5rem;
          line-height: 1.6;
          font-weight: 500; }
  .all #store .slideWrap {
    width: calc(530 / 594 * 100%);
    margin: 0 auto calc(106 / 594 * 100%) auto; }
    .all #store .slideWrap .slide .photo {
      padding: 0 0.6rem; }
    .all #store .slideWrap .slide .name {
      font-size: 2.3rem;
      line-height: 1.22;
      font-weight: 700;
      padding: 1rem 0 0 0; }
  .all #store .link,
  .all #store .status {
    width: calc(517 / 594 * 100%);
    margin: 0 auto calc(45 / 594 * 100%) auto; }
  .all #store .status {
    margin-bottom: calc(40 / 594 * 100%); }
  .all #store .andmall {
    margin-bottom: calc(49 / 594 * 100%);
    padding-bottom: calc(20 / 594 * 100%); }
    .all #store .andmall:after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      width: calc(517 / 594 * 100%);
      margin: auto;
      border-top: 2px solid #2f2100; }
  .all #store .noteWrap .row {
    font-size: 2.2rem;
    line-height: 1.59;
    font-weight: 500;
    margin: 0 0 calc(29 / 594 * 100%) 0; }
    .all #store .noteWrap .row:nth-child(2) {
      margin-bottom: calc(13 / 594 * 100%); }
    .all #store .noteWrap .row .cont .note .mail {
      text-decoration: underline;
      text-underline-offset: 3px; }
    .all #store .noteWrap .row .cont .buttonArea {
      width: calc(250 / 594 * 100%);
      margin: auto;
      padding: calc(14 / 594 * 100%) 0; }
    .all #store .noteWrap .row .cont .account {
      font-weight: 700;
      text-decoration: underline;
      text-underline-offset: 3px; }
  .all #rally .title {
    padding: calc(42 / 594 * 100%) 0 calc(25 / 594 * 100%) 0; }
  .all #rally .shop .target {
    margin-bottom: calc(13 / 594 * 100%); }
  .all #rally .shop .card {
    margin-bottom: calc(32 / 594 * 100%); }
  .all #rally .shop .more {
    display: flex;
    align-items: center;
    width: calc(517 / 594 * 100%);
    margin: 0 auto calc(13 / 594 * 100%) auto; }
    .all #rally .shop .more:before, .all #rally .shop .more:after {
      content: "";
      width: 50%;
      height: 2px;
      background-color: #2f2100; }
    .all #rally .shop .more .str {
      display: block;
      flex-shrink: 0;
      position: relative;
      font-size: 3.6rem;
      line-height: 1;
      font-weight: 700;
      margin: 0 3.5rem; }
      .all #rally .shop .more .str:before, .all #rally .shop .more .str:after {
        content: "";
        display: inline-block;
        position: absolute;
        bottom: 0;
        left: -0.25em;
        width: 2px;
        height: 1em;
        vertical-align: bottom;
        background-color: #2f2100;
        transform: rotate(-21deg); }
      .all #rally .shop .more .str:after {
        left: auto;
        right: -0.3em;
        transform: rotate(21deg); }
  .all #rally .shop .event {
    color: #910016;
    font-size: 3.5rem;
    line-height: 1.37;
    font-weight: 700;
    margin: 0 0 calc(50 / 594 * 100%) 0; }
    .all #rally .shop .event.mb {
      margin-bottom: calc(120 / 594 * 100%); }
  .all #rally .shop .box {
    position: relative;
    width: calc(517 / 594 * 100%);
    margin: 0 auto;
    padding: 0 0 calc(3 / 594 * 100%) 0;
    aspect-ratio: 1032 / 2244; }
    .all #rally .shop .box .gaiden {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      z-index: 5;
      width: calc(356 / 517 * 100%);
      margin: calc(-80 / 517 * 100%) auto 0 auto;
      transform: scale(0); }
      .all #rally .shop .box .gaiden.current {
        animation: bound 1.5s ease forwards 0.1s; }
    .all #rally .shop .box .bg {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      width: 100%;
      background: url(../images/all/bg_rally_gaiden.png) center center no-repeat;
      background-size: contain;
      aspect-ratio: 1032 / 2244; }
    .all #rally .shop .box .boxInner {
      position: relative;
      z-index: 2;
      padding: calc(60 / 517 * 100%) 0 0 0; }
    .all #rally .shop .box .limited {
      display: flex;
      align-items: center;
      justify-content: center;
      width: calc(480 / 517 * 100%);
      color: #ffffff;
      height: 4rem;
      font-size: 2.2rem;
      line-height: 1;
      font-weight: 700;
      background-color: #910016;
      margin: 0 auto calc(20 / 517 * 100%) auto;
      border-radius: 2rem; }
    .all #rally .shop .box .mission {
      font-size: 2.8rem;
      line-height: 1.39;
      font-weight: 700;
      margin: 0 0 calc(20 / 594 * 100%) 0; }
    .all #rally .shop .box .method {
      font-size: 2rem;
      line-height: 1.85;
      font-weight: 700;
      text-align: left;
      margin: 0 0 calc(20 / 594 * 100%) 0; }
      .all #rally .shop .box .method .head {
        text-align: center; }
      .all #rally .shop .box .method .cont {
        margin: 0 0 0 calc(70 / 594 * 100%); }
        .all #rally .shop .box .method .cont .list .item .em {
          display: inline-block;
          background: linear-gradient(transparent 55%, #fff35f 55%);
          padding: 0 0.8rem; }
        .all #rally .shop .box .method .cont .list .item .price {
          font-size: 2.5rem;
          line-height: 1.48; }
        .all #rally .shop .box .method .cont .list .item .small {
          font-size: 1.5rem;
          line-height: 2.47;
          font-weight: 500; }
    .all #rally .shop .box .sample {
      width: calc(390 / 517 * 100%);
      margin: 0 auto calc(20 / 517 * 100%) auto; }
    .all #rally .shop .box .present {
      font-size: 2.4rem;
      line-height: 1.5;
      font-weight: 700;
      margin: 0 0 calc(13 / 594 * 100%) 0; }
      .all #rally .shop .box .present .em {
        display: inline-block;
        background: linear-gradient(transparent 55%, #fff35f 55%);
        padding: 0 0.8rem; }
    .all #rally .shop .box .get {
      font-size: 2rem;
      line-height: 1.5;
      font-weight: 700; }
    .all #rally .shop .box .note {
      font-size: 1.5rem;
      line-height: 1.53;
      font-weight: 500;
      padding: 0 calc(38 / 594 * 100%) 0; }
    .all #rally .shop .box .buttonArea {
      width: calc(478 / 517 * 100%);
      margin: 0 auto calc(15 / 517 * 100%) auto;
      padding: calc(20 / 517 * 100%) 0 0 0; }
  .all #sticker .num {
    margin-top: calc(-98 / 594 * 100%); }
  .all #sticker .title {
    padding: calc(48 / 594 * 100%) 0 calc(23 / 594 * 100%) 0; }
  .all #sticker .desc {
    margin: 0 0 calc(26 / 594 * 100%) 0; }
    .all #sticker .desc .em {
      font-size: 2.5rem;
      line-height: 1; }
    .all #sticker .desc .small {
      font-size: 1.5rem;
      line-height: 2.13;
      font-weight: 500; }
  .all #sticker .plus {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(517 / 594 * 100%);
    color: #ffffff;
    height: 8.4rem;
    font-size: 2rem;
    line-height: 1.6;
    font-weight: 700;
    background-color: #910016;
    margin: 0 auto calc(47 / 594 * 100%) auto;
    border-radius: 4.2rem; }
    .all #sticker .plus .em {
      color: #ffda3e; }
    .all #sticker .plus .large {
      font-size: 2.5rem;
      line-height: 1.28; }
  .all #sticker .buttonArea {
    margin: 0 auto calc(45 / 594 * 100%) auto; }
  .all #sticker .noteWrap {
    margin-bottom: calc(33 / 594 * 100%); }
    .all #sticker .noteWrap .note {
      font-size: 1.5rem;
      line-height: 1.53;
      font-weight: 500; }
  .all #sticker .shop .target {
    margin-bottom: calc(13 / 594 * 100%); }
  .all #sticker .shop .sample {
    margin-bottom: calc(26 / 594 * 100%); }
  .all #sticker .shop .note {
    font-size: 1.5rem;
    line-height: 1.53;
    font-weight: 500; }
  .all #sticker .shop .guide {
    font-size: 1.5rem;
    line-height: 1.53;
    font-weight: 500;
    margin: 0 0 calc(26 / 594 * 100%) 0; }
  .all #sticker .shop .buttonArea {
    margin-bottom: 0; }
  .all #coaster .num {
    margin-top: calc(-93 / 594 * 100%); }
  .all #coaster .title {
    padding: calc(43 / 594 * 100%) 0 calc(19 / 594 * 100%) 0; }
  .all #coaster .desc {
    margin: 0 0 calc(22 / 594 * 100%) 0; }
  .all #coaster .voice {
    color: #910016;
    font-size: 2.2rem;
    line-height: 1.45;
    font-weight: 700;
    margin: 0 0 calc(8 / 594 * 100%) 0; }
  .all #coaster .noteWrap {
    margin: 0 0 calc(40 / 594 * 100%) 0; }
    .all #coaster .noteWrap .note {
      font-size: 1.5rem;
      line-height: 1.53;
      font-weight: 500; }
  .all #coaster .image {
    margin: 0 auto calc(48 / 594 * 100%) auto; }
  .all #coaster .shop .target {
    margin-bottom: calc(20 / 594 * 100%); }
  .all #coaster .shop .sample {
    margin-bottom: calc(25 / 594 * 100%); }
  .all #coaster .shop .guide {
    font-size: 1.5rem;
    line-height: 1.53;
    font-weight: 500;
    margin: 0 0 calc(33 / 594 * 100%) 0; }
  .all #coaster .shop .buttonArea {
    margin-bottom: 0; }
  .all #greeting .title {
    padding: calc(31 / 594 * 100%) 0 calc(27 / 594 * 100%) 0; }
  .all #greeting .desc .note {
    font-size: 1.5rem;
    line-height: 1.53;
    font-weight: 500; }
  .all #greeting .shop .target {
    margin-bottom: calc(32 / 594 * 100%); }
  .all #greeting .shop .row {
    width: calc(517 / 594 * 100%);
    background-color: #fff8e0;
    margin: 0 auto calc(30 / 594 * 100%) auto;
    padding: calc(20 / 594 * 100%);
    box-sizing: border-box; }
    .all #greeting .shop .row .name {
      font-size: 2.8rem;
      line-height: 1;
      font-weight: 700;
      margin: 0 0 calc(15 / 477 * 100%) 0; }
    .all #greeting .shop .row .info {
      font-size: 2.2rem;
      line-height: 1.36;
      font-weight: 700; }
      .all #greeting .shop .row .info dl {
        display: flex; }
  .all #greeting .shop .image {
    margin-bottom: calc(24 / 594 * 100%); }
  .all #greeting .shop .note {
    font-size: 1.5rem;
    line-height: 1.53;
    font-weight: 500; }
  .all #greeting .shop .guide {
    font-size: 2.0rem;
    line-height: 1.53;
    font-weight: 500;
    margin: 0 0 calc(24 / 594 * 100%) 0; }
  .all #greeting .shop .buttonArea {
    margin-bottom: 0; }
  .all .shopBlock .title {
    padding: calc(24 / 594 * 100%) 0 calc(29 / 594 * 100%) 0; }
  .all .shopBlock .shop .target {
    margin-bottom: calc(32 / 594 * 100%); }
  .all .shopBlock .shop .text {
    margin-bottom: 0; }
  .all .shopBlock .shop .note {
    font-size: 1.5rem;
    line-height: 1.53;
    font-weight: 500;
    margin: 0 0 calc(26 / 594 * 100%) 0; }
  .all .shopBlock .shop .notWrap {
    margin: 0 0 calc(26 / 594 * 100%) 0; }
    .all .shopBlock .shop .notWrap .note {
      margin: 0; }
  .all .shopBlock .shop .image {
    margin-bottom: calc(57 / 594 * 100%); }
    .all .shopBlock .shop .image .caption {
      color: #939393;
      font-size: 2.8rem;
      line-height: 1.18;
      font-weight: 700;
      padding: 3.8rem 0 0 0; }
  .all .shopBlock .shop .link {
    width: calc(517 / 594 * 100%);
    margin: 0 auto calc(45 / 594 * 100%) auto; }
  .all .shopBlock .shop .present {
    margin: 0 0 calc(57 / 594 * 100%) 0; }
    .all .shopBlock .shop .present .text {
      font-size: 2.2rem;
      line-height: 1.59;
      font-weight: 700;
      margin: 0 0 calc(26 / 594 * 100%) 0; }
      .all .shopBlock .shop .present .text .price {
        font-size: 2.5rem;
        line-height: 1.4; }
      .all .shopBlock .shop .present .text .small {
        font-size: 1.5rem;
        line-height: 2.33;
        font-weight: 500; }
    .all .shopBlock .shop .present .image {
      margin-bottom: calc(20 / 594 * 100%); }
  .all #niko .shop .link a {
    font-size: 3.8rem;
    line-height: 1; }
    .all #niko .shop .link a:after {
      right: 1.5rem; }
  .all #koufukudou {
    margin-bottom: calc(40 / 750 * 100%); }
    .all #koufukudou .shop .slideWrap {
      width: calc(517 / 594 * 100%);
      margin: 0 auto calc(106 / 594 * 100%) auto; }
      .all #koufukudou .shop .slideWrap .slide .photo {
        padding: 0 0.6rem; }
    .all #koufukudou .shop .link {
      margin-bottom: 0; }
  .all #facility .content {
    position: relative;
    z-index: 2; }
  .all #facility .title {
    font-size: 5rem;
    line-height: 1;
    font-weight: 700;
    text-align: center;
    padding: calc(50 / 750 * 100%) 0 calc(41 / 750 * 100%) 0; }
  .all #facility .list {
    display: flex;
    flex-wrap: wrap;
    width: calc(594 / 750 * 100%);
    margin: 0 auto;
    padding: 0 0 calc(157 / 750 * 100%) 0; }
    .all #facility .list .item {
      flex-basis: calc(280 / 594 * 100%);
      margin: 0 0 calc(30 / 594 * 100%) calc(34 / 594 * 100%); }
      .all #facility .list .item:nth-child(2n+1) {
        margin-left: 0; }
      .all #facility .list .item a {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 6rem;
        color: #ffffff;
        font-size: 2.5rem;
        line-height: 1;
        font-weight: 500;
        text-align: center;
        background-color: #EF9A62;
        border-radius: 3rem; }
        .all #facility .list .item a .small {
          font-size: 2rem;
          line-height: 1.15; }
  .all .banner {
    position: relative;
    background: url(../images/teaser/bg_banner.png) center top no-repeat;
    background-size: 100% auto;
    margin: calc(-115 / 750 * 100%) 0 0 0;
    aspect-ratio: 1500 / 450; }
    .all .banner .copyright {
      font-size: 2.8rem;
      line-height: 1;
      font-weight: 500;
      text-align: center;
      padding: calc(140 / 750 * 100%) 0 0 0; }
    .all .banner .image {
      width: calc(594 / 750 * 100%);
      margin: 0 auto;
      padding: calc(114 / 750 * 100%) 0 0 0; }



