@charset "UTF-8";
/* ------------------------
  common
------------------------ */
:root {
  --notosans: "Noto Sans JP", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  --roboto: "Roboto Condensed", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  --slashCutHeight: calc(140/750 * 100vw);
  --lightyellow: #f1eab7;
}
body {
  background-color: #fff;
  font-family: var(--notosans);
  font-size: calc(30/750 * 100vw);
  font-weight: 400;
  color: #000;
  font-feature-settings: "palt";
  line-height: 2;
  letter-spacing: 0.05em;
}
img {
  vertical-align: bottom;
}

a {
  display: block;
  text-decoration: none;
  cursor: pointer;
  transition: opacity 0.3s;
}
a:visited,
a img,
a:before,
a:after {
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
}
.pc {
  display: none;
}
.sp {
  display: block;
}

.inner-lg,
.inner-md,
.inner-sm,
.inner-txt {
  width: 100%;
  margin: 0 auto;
}
.inner-md,
.inner-sm {
  padding: 0 calc(40/750 * 100vw);
}

.noto {
  font-family: var(--notosans);
}
.roboto {
  font-family: var(--roboto);
}
.txtRed {
  color: #e41e2d;
}
.txtWhite {
  color: #fff;
}


@media screen and (min-width: 768px) {
  :root {
    --slashCutHeight: min(18.68vw, 269px);
  }
  body {
    font-size: 20px;
  }

  .pc {
    display: block;
  }
  .sp {
    display: none;
  }

  .inner-lg,
  .inner-md,
  .inner-sm,
  .inner-txt {
    max-width: 100%;
  }
  .inner-lg {
    padding: 0 50px;
  }
  .inner-md {
    width: 1040px;
    padding: 0 50px;
  }
  .inner-sm {
    width: 800px;
    padding: 0;
  }
  .inner-txt {
    width: 641px;
    padding: 0;
  }
}

/* ----- contBox ----- */
.contBox .ttl-lg {
  font-family: var(--notosans);
  font-size: calc(60/750 * 100vw);
  color: #fff;
  font-weight: 700;
  line-height: 1.38;
  margin-bottom: calc(34/750 * 100vw);
}
.contBox .ttl {
  font-size: calc(60/750 * 100vw);
  line-height: 1.5;
  font-weight: 600;
  margin-bottom: 0.7em;
}
.contBox span.miniTitle {
  display: block;
  font-size: calc(36/750 * 100vw);
  font-weight: 400;
  font-family: var(--roboto);
  margin-top: 0.5em;
}

.contBox .ttl-lg,
.contBox .ttl-lg span,
.contBox .ttl,
.contBox .ttl span {
  letter-spacing: 0.05em;
}

.contBox .ttl-lg::after {
  content: '';
  display: block;
  width: 100%;
  height: calc(2/750 * 100vw);
  background: currentColor;
  align-self: end;
  margin-top: calc(25/750 * 100vw);
  transform-origin: left; /* 左端からの変形 */
  transform: scaleX(0); /* 初期状態はスケール0 */  
}
.contBox .ttl-lg.start::after {
  transform: scaleX(1);
  transition: transform 0.5s linear;
  /* トランスフォームの変化にトランジションを設定 */
}

.gradTxt {
  background: linear-gradient(to left, #ff0000, #ff9600);
  background-clip: text;
  color: transparent;
  font-weight: 500;
}
.contBox .ttl-lg.grad::after {
  background: linear-gradient(to left, #ff0000, #ff9600);
}

.contBox .ttl-lg .ttl-sub-icon {
  display: block;
  height: 1cap;
  line-height: 0;
}
.contBox .ttl-lg .ttl-sub-icon img {
  height: 100%;
}

/* ----- btn ----- */
.btn {
  /* 線や文字の色 */
  --txtColor: #fff;

  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(600 / 750 * 100vw);
  padding: calc(38 / 750 * 100vw) calc(35 / 750 * 100vw) calc(40 / 750 * 100vw);
  margin: 0 auto;
  background: transparent;
  border: 1px solid var(--txtColor);
  color: var(--txtColor);
  font-size: calc(30 / 750 * 100vw);
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  line-height: 1.5;
}
.btn .arrow {
  display: inline-block;
  margin-left: auto;
  /* 右寄せ */
  width: calc(20/750 * 100vw);
  height: calc(20/750 * 100vw);
  border: solid currentColor;
  border-width: 0 calc(3/750 * 100vw) calc(3/750 * 100vw) 0;
  transform: rotate(-45deg);
  flex: none;
}

.ticketBtn .icon {
  position: absolute;
  width: calc(73/750 * 100vw);
  left: 20%;
}
.ticketBtn span {
  margin-left: calc(90 / 750* 100vw);
}

/* ----- slider ----- */
.slider {
  margin-bottom: 1.3em;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}
.slider .slideItem {
  height: min(56.8vw, 426px);
  margin: 0 calc(10/750 * 100vw);
}
.slider .slideItem img {
  max-height: 100%;
}

/* ----- coming soon ----- */
.soon {
  width: calc(625/750 * 100vw);
  padding: calc(34/750 * 100vw);
  margin: calc(60/750 * 100vw) auto 0;
  text-align: center;
  background-color: #fff;
  outline: calc(4/750 * 100vw) solid #fff;
  outline-offset: calc(6/750 * 100vw);
  line-height: 1.2;
}
.soon .soonTitle {
  font-size: calc(36/750 * 100vw);
  margin-bottom: calc(10/750 * 100vw);
  text-align: center;
  font-weight: 500;
}
.soon .soonTxt {
  font-size: calc(80/750 * 100vw);
  font-style: italic;
  text-align: center;
  letter-spacing: 0.06em;
  font-weight: 400;
}

/* ----- notice ----- */
.notice {
  display: block;
  text-align: right;
  font-size: calc(22/750 * 100vw);
  color: #fff;
  padding: calc(10/750 * 100vw) calc(40/750 * 100vw);
}

/* ----- infolines ----- */
.infolines {
  padding: calc(40/750 * 100vw) 0;
  border-top: calc(2/750 * 100vw) solid currentColor;
  border-bottom: calc(2/750 * 100vw) solid currentColor;
  display: flex;
  justify-content: center;
  align-items: center;
}
.infolines .infolinesTtl {
  font-size: calc(36/750 * 100vw);
  font-weight: 700;
  margin-bottom: 0.2em;
}
.infolines p {
  font-size: calc(26/750 * 100vw);
  line-height: 1.89;
}
.infolines small {
  font-size: calc(22/750 * 100vw);
  margin-top: 0.4em;
  display: inline-block;
  line-height: 1.82;
}

@media screen and (min-width: 768px) {
  /* ----- contBox ----- */
  .contBox .ttl-lg {
    font-size: 60px;
    margin-bottom: 41px;
    text-align: center;
  }
  .contBox .ttl-lg::after {
    height: 2px;
    margin-top: 22px;
  }

  .contBox .ttl {
    font-size: 40px;
    margin-bottom: 1em;
  }
  
  .contBox .ttl .miniTitle {
    font-size: 0.6em;
  }
  
  .contBox span.miniTitle {
    text-align: center;
    font-size: 28px;
  }
  /* ----- btn ----- */
  .btn {
    width: 700px;
    padding: 30px 32px 32px;
    font-size: 24px;
  }

  .btn .arrow {
    width: 16px;
    height: 16px;
    border-width: 0 3px 3px 0;
  }

  .ticketBtn .icon {
    width: 65px;
    left: 30.6%;
  }

  .ticketBtn span {
    margin-left: 108px;
  }

  /* ----- slider ----- */
  .slider {
    margin-bottom: 1.9em;
  }

  .slider .slideItem {
    height: 259px;
    margin: 0 5px;
  }

  .slider-grid {
    display: grid;
    grid-auto-flow: column;
    place-content: center;
  }
  .slider-grid .slideItem {
    order: 2;
  }
  .slider-grid .slideItem:last-of-type {
    order: 1;
  }
  
  /* ----- coming soon ----- */
  .soon {
    width: 688px;
    padding: 20px 20px 14px;
    margin: 45px auto 0;
    outline: 4px solid #fff;
    outline-offset: 6px;
  }

  .soon .soonTitle {
    font-size: 24px;
    margin-bottom: 3px;
  }

  .soon .soonTxt {
    font-size: 64px;
  }
  
  /* ----- notice ----- */
  .notice {
    width: 640px;
    margin: auto;
    font-size: min(calc(18/1440 * 100vw),18px);
    padding: min(calc(24/1440 * 100vw),18px) 0;
  }

  /* ----- infolines ----- */
  .infolines {
    margin-top: 1.3em;
    padding: min(calc(30/1440 * 100vw), 12px) 0;
    border-top-width: 1px;
    border-bottom-width: 1px;
  }
  .infolines .infolinesTtl {
    font-size: min(calc(26/1440 * 100vw), 26px);
    margin-bottom: 0.4em;
  }
  .infolines p {
    font-size: min(calc(18/1440 * 100vw), 18px);
    line-height: 2;
  }
  .infolines small {
    font-size: min(calc(18/1440 * 100vw), 18px);
  }
}

/* ------------------------
  header
------------------------ */
.gHeader {
  position: sticky;
  top: 0;
  left: 0;
  background-color: #fff;
  z-index: 1000;
}
.gHeader .inner-lg {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: calc(110/750 * 100vw);
  padding-left: calc(25/750 * 100vw);
}

.gHeader .logo {
  width: calc(322/750 * 100vw);
  line-height: 1;
}
.gHeader .logo a img {
  width: 100%;
}

.gHeader .ticketBtn {
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  position: relative;
  width: calc(245/750 * 100vw);
  padding: calc(17/750 * 100vw) 0;
  line-height: 1.5;
  background: linear-gradient(330deg, rgba(21, 196, 85, 1) 0%, rgba(66, 232, 81, 1) 90%);
  text-align: center;
  font-size: calc(22/750 * 100vw);
  font-weight: 700;
  color: #fff;
  border-radius: calc(35/750 * 100vw);
  line-height: 1;
}

.gHeader .ticketBtn img {
  width: calc(45/750 * 100vw);
  margin-right: calc(10/750 * 100vw);
}
.gHeader .ticketBtn::after {
  right: -12px;
  background-color: #231815;
}

.gHeader .ticketBtn:hover {
  opacity: 1;
  background-color: #FE1D2E;
}

.gHeader .gNavToggle {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: calc(110/750 * 100vw);
  height: 100%;
  background-color: #000;
  cursor: pointer;
}

.gHeader .gNavToggle::before,
.gHeader .gNavToggle::after {
  content: "";
  display: block;
  width: calc(48/750 * 100vw);
  height: calc(2/750 * 100vw);
  position: absolute;
  top: calc(50% - (1/750 * 100vw));
  left: calc(50% - (24/750 * 100vw));
  background-color: #fff;
}
.gHeader .gNavToggle::before {
  box-shadow: #fff 0 calc(-18/750 * 100vw) 0;
}
.gHeader .gNavToggle::after {
  box-shadow: #fff 0 calc(18/750 * 100vw) 0;
}
.gHeader .gNavToggle.close::before {
  box-shadow: none;
  transform: rotate(45deg);
}
.gHeader .gNavToggle.close::after {
  box-shadow: none;
  transform: rotate(-45deg);
}

/* gNav */
.gNav {
  position: fixed;
  top: calc(110/750 * 100vw);
  left: 0;
  width: 100%;
  height: 100dvh;
  padding: calc(40/750 * 100vw) calc(20/750 * 100vw) calc(20/750 * 100vw);
  overflow-y: auto;
  background-color: rgba(0, 0, 0, 0.8);
  font-size: calc(30/750 * 100vw);
}

.gNav li a {
  color: #fff;
  font-size: calc(30/750 * 100vw);
  font-weight: 300;
  display: block;
  border-bottom: 1px solid #fff;
  padding: calc(45/750 * 100vw) calc(20/750 * 100vw) calc(35/750 * 100vw) calc(20/750 * 100vw);
  position: relative;
}

.gNav li a::after {
  content: '';
  /* Add this to ensure the pseudo-element is generated */
  position: absolute;
  display: inline-block;
  right: calc(40/750 * 100vw);
  top: 50%;
  /* Position at the vertical center */
  transform: translateY(-50%) rotate(-45deg);
  /* Center vertically and rotate */
  margin-left: auto;
  width: calc(28/750 * 100vw);
  height: calc(28/750 * 100vw);
  border: solid #fff;
  border-width: 0 calc(2/750 * 100vw) calc(2/750 * 100vw) 0;
}

.gNav li a span {
  font-size: calc(56/750 * 100vw);
  font-weight: 400;
  font-family: var(--roboto);
  line-height: 1;
  display: block;
}

@media screen and (min-width: 768px) {

  /* gHeader */
  .gHeader {
    justify-content: flex-end;
    align-items: normal;
    height: min(4.86vw, 70px);
  }
  .gHeader .inner-lg {
    height: 100%;
    padding-left: min(3.47vw, 50px);
  }

  .gHeader .logo {
    width: min(17.92vw, 258px);
    align-self: center;
    margin-right: auto;
  }

  .gHeader .ticketBtn {
    font-size: min(1.25vw, 18px);
    width: min(15.28vw, 220px);
    height: min(3.47vw, 50px);
    border-radius: min(1.74vw, 25px);
    margin: auto 0 auto min(2.08vw, 30px);
    padding: 0;
  }
  .gHeader .ticketBtn img {
    margin-right: 13px;
    width: calc(32/1440 * 100vw);
    max-width: 32px;
  }
  .gHeader .ticketBtn::after {
    display: none;
  }

  .gHeader .gNavToggle {
    display: none;
  }

  /* gNav */
  .gNav {
    display: flex;
    position: relative;
    overflow: hidden;
    top: auto;
    left: auto;
    bottom: auto;
    width: auto;
    height: 100%;
    padding: 0;
    overflow-y: hidden;
    background-color: transparent;
  }
  .gNav li a::after {
    display: none;
  }
  .gNav li a span {
    display: none;
  }
  .gNav li a {
    color: #000;
    border-bottom: none;
    padding: 0;
    position: relative;
    font-weight: 400;
  }

  .gNav .mainNav {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    column-gap: 0;
    margin: 0;
    background: #fff;
  }
  .gNav .mainNav li {
    height: 100%;
  }
  .gNav .mainNav li a {
    font-size: min(1.25vw, 18px);
    text-align: center;
    display: flex;
    align-items: center;
    padding: 0.9em 1em;
    height: 100%;
    letter-spacing: 0.075em;
  }
}



/* ------------------------
  mvBox
------------------------ */
.mvBox {
  background: url(../images/mv_img_sp.png?241016) no-repeat center top / 100%;
  padding-top:calc(875/750 * 100vw);
}


@media screen and (min-width: 768px) {
  .mvBox {
    background: url(../images/mv_img_pc.png?241016) no-repeat center top / cover;
    padding: calc(693/1440 * 100vw) 0 calc(18/1440 * 100vw);
  }
  .mvBox h1.ttl {
    text-align: center;
    width: min(calc(934/1440 * 100vw),934px);
    
    margin: 0 auto min(calc(28/1440 * 100vw),28px);
  }

}

/* ------------------------
  linkBox
------------------------ */
.linkBox {
  padding-bottom: calc(88/750 * 100vw);
}
.linkBox .anchorList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.linkBox .anchorList li {
  width: calc(325/750 * 100vw);
  margin-top: calc(15/750 * 100vw);
}
.linkBox .anchorList li:is(:first-of-type,:nth-of-type(2)) {
  margin-top: 0;
}
.linkBox .anchorList li:not(:nth-of-type(2n+1)) {
  margin-left: calc(20/750 * 100vw);
}


@media screen and (min-width: 768px) {
  .linkBox {
    padding-bottom: 32px;
  }
  
  .linkBox .anchorList {
    gap:0 min(calc(9/1440 * 100vw),9px);
  }
  .linkBox .anchorList li {
    width: min(calc(228/1440 * 100vw),228px);
  margin-top: min(calc(12/1440 * 100vw),12px);
  }
  .linkBox .anchorList li:is(:first-of-type,:nth-of-type(2)) {
    margin-top: auto;
  }
  .linkBox .anchorList li:not(:nth-of-type(2n+1)) {
    margin-left: 0;
  }
}

/* ------------------------
  aboutBox
------------------------ */
.aboutBox01 {
  background: url(../images/about_bg_sp.png) no-repeat center top / 100% auto, #423838;
  padding-top: calc(100/750 * 100vw);
  padding-bottom: calc(364/750 * 100vw);
}
.aboutBox01 .ttl-lg {
  font-size: calc(100/750 * 100vw);
  margin-bottom: calc(30/750 * 100vw);
  line-height: 1.28;
}

.aboutBox01 .ttl-lg::after {
  margin-top: calc(38/750 * 100vw);
}

.aboutBox02 {
  clip-path: polygon(0 var(--slashCutHeight), 100% 0, 100% 100%, 0 100%);
  margin-top: calc(var(--slashCutHeight) * -1);
  background: url(../images/class_bg_top_sp.png) no-repeat center top / 100% auto, 
  url(../images/class_bg_bottom_sp.png) no-repeat center bottom / 100% auto,
  linear-gradient(169.5deg, transparent 0%,transparent 38%,#ef3b51 38%,#ef3b51 54.5%,transparent 54.5%,transparent 71.2%,#ef3b51 71.2%, #ef3b51 100% ), #e41e2d;
  padding: calc(196/750 * 100vw) 0 calc(190/750 * 100vw);
}
.aboutBox02 .ttl {
  text-align: center;
  font-size: calc(65/750 * 100vw);
  margin-bottom: calc(22/750 * 100vw);
}
.aboutBox02 .ttl span {
  text-align: center;
}

.aboutBox02 .carClass,
.carClassBox-st5 {
  display: flex;
  gap: calc(43/750 * 100vw) calc(50/750 * 100vw);
  flex-wrap: wrap;
}

.aboutBox02 .carClass .carClassBox,
.carClassBox-st5 :is(dt,dd){
  width: 45%;
}

.aboutBox02 .carClass .carClassBox img {
  margin-left: calc(15/750 * 100vw);
}
.aboutBox02 .carClass {
  margin-top: calc(58/750 * 100vw);
}
.aboutBox02 .carClass .carClassBox-st5 {
  width: 100%;
}
.aboutBox02 .carClass .carClassTitle {
  display: block;
  margin: calc(8/750 * 100vw) 0 calc(28/750 * 100vw);
  font-family: var(--roboto);
  font-size: calc(50/750 * 100vw);
  font-weight: 500;
  line-height: 1;
  text-align: center;
  clip-path: polygon(10% 0%, 100% 0%, 93% 100%, 0% 118%);
}

.aboutBox02 .carClass .carClassText {
  font-size: calc(26/750 * 100vw);
  line-height: 1.73;
}
.carClass-stx .carClassTitle{
  background-color: #ffea00;
  color: #000;
}
.carClass-stz .carClassTitle{
  background-color: #d3edfb;
  color: #000;
}
.carClass-stq .carClassTitle{
  background-color: #808080;
  color: #fff;
}
.carClass-sttcr .carClassTitle{
  background-color: #fadce9;
  color: #000;
}
.carClass-st1 .carClassTitle{
  background-color: #f39800;
  color: #fff;
}
.carClass-st2 .carClassTitle{
  background-color: #92308d;
  color: #fff;
}
.carClass-st3 .carClassTitle{
  background-color: #0081cc;
  color: #fff;
}
.carClass-st4 .carClassTitle{
  background-color: #d70000;
  color: #fff;
}
.carClass-st5 .carClassTitle{
  background-color: #008b4f;
  color: #fff;
}

@media screen and (min-width: 768px) {
  .aboutBox01 {
    background: url(../images/about_bg_pc.png) no-repeat center top / cover;
    padding: min(calc(146/1440 * 100vw),146px) 0 min(calc(460/1440 * 100vw),460px);
  }
  
  .aboutBox01 .ttl-lg {
    font-size:  min(calc(64/1440 * 100vw),64px);
    margin-bottom:  min(calc(40/1440 * 100vw),40px);
    text-align: left;
  }

  .aboutBox01 .ttl-lg::after {
    margin-top:  min(calc(32/1440 * 100vw),32px);
  }
  .aboutBox01 .ttl-lg .miniTitle {
    text-align: left;
    margin-top: 0;
  }

    .aboutBox01 .inner-txt {
      margin: 0 auto 0 0;
      width: 100%;
    }

  .aboutBox02 {
    background: url(../images/class_bg_top_pc.png) no-repeat center top / 100% auto,
    url(../images/class_bg_bottom_pc.png) no-repeat center bottom / 100% auto,
    linear-gradient(169.5deg, #e41e2d 0%,#e41e2d 53%,#ef3b51 53%,#ef3b51 100%);
    padding:  min(calc(218/1440 * 100vw), 218px) 0 min(calc(280/1440 * 100vw), 280px);
  }

  .aboutBox02 .ttl {
    font-size: min(calc(64/1440 * 100vw),64px);
    margin-bottom: min(calc(38/1440 * 100vw),38px);
  }
  
  .aboutBox02 .carClass{
    margin-top: min(calc(40/1440 * 100vw),40px);
    gap:  min(calc(30/1440 * 100vw),30px)  min(calc(47/1440 * 100vw),47px);
  }
  
  .aboutBox02 .carClass .carClassBox {
    width: 30%;
  }

  .aboutBox02 .carClass .carClassBox dt {
    width: 85%;
    margin: auto;
  }
  .aboutBox02 .carClass .carClassBox img {
    margin-left: 0;
  }

  .carClassBox-st5 {
    display: block;
    width: 30%;
  }
  .carClassBox-st5 :is(dt,dd) {
    width: auto;
  }
  
  .aboutBox02 .carClass .carClassTitle {
    margin: min(calc(4/1440 * 100vw),4px) min(calc(10/1440 * 100vw),10px) min(calc(20/1440 * 100vw),20px);
    font-size: min(calc(36/1440 * 100vw),36px);
  }

  .aboutBox02 .carClass .carClassText {
    font-size:  min(calc(18/1440 * 100vw),18px);
  }
}

/* ------------------------
  fujiniq
------------------------ */
.fujiniq {
  background: url(../images/fujiniq_bg.png) repeat left top / min(calc(18/750 * 100vw), 18px);
  clip-path: polygon(0 var(--slashCutHeight), 100% 0, 100% 100%, 0 100%);
  margin-top: calc(var(--slashCutHeight) * -1);
  padding: calc(196/750 * 100vw) 0 calc(210/750 * 100vw);
}

.fujiniq.contBox .ttl-lg {
  font-size: calc(90/750 * 100vw);
  text-align: center;
  color: #f4ff7f;
  letter-spacing: 0.04em;
  line-height: 1.15;
  margin-bottom: calc(60/750 * 100vw);
}
.fujiniq.contBox .ttl-lg::after {
  background: #fff;
  margin-top: calc(38/750 * 100vw);
}
.fujiniq.contBox .ttl-lg b {
  font-weight: 700;
  font-size: calc(120/750 * 100vw);
}
.fujiniq.contBox .ttl-lg .miniTitle {
  font-weight: 600;
  font-size: calc(40/750 * 100vw);
  font-family: var(--notosans);
  text-align: center;
  color: #fff;
}
.fujiniq.contBox .fujiniqPcLayoutLeft {
  padding: 0 calc(40/750 * 100vw);
}
.fujiniq.contBox .fujiniqLogo {
  width: calc(604/750 * 100vw);
  margin: 0 auto calc(38/750 * 100vw);
}

.fujiniq.contBox .inner-txt {
  margin-bottom: calc(50/750 * 100vw);
}

.fujiniq .fujiniqBox01 .ttl-lg {
  color: #fff;
  font-size: calc(60/750 * 100vw);
  line-height: 1.33;
  margin-bottom: calc(34/750 * 100vw);
}
.fujiniqBox01 .menuinfo .ttl {
  text-align: center;
  font-size: calc(50/750 * 100vw);
}
.fujiniqBox01 .menuinfoBox {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: calc(48/750 * 100vw) calc(54/750 * 100vw);
}
.fujiniqBox01 .menuinfoBox .menuConts {
  display: grid;
  grid-gap: calc(22/750 * 100vw);
}
.fujiniqBox01 .menuinfoBox .menuConts .menuTtl {
  font-weight: 700;
  font-size: calc(28/750 * 100vw);
  letter-spacing: -0.03em;
}
.fujiniqBox01 .menuinfoBox .menu02 .menuTtl {
  margin-right: -1em;
}
.fujiniqBox01 .menuinfoBox .menuConts .menuTxt p {  
  font-size: calc(26/750 * 100vw);
}

.fujiniq .btn_box {
  margin-top: calc(96/750 * 100vw);
}
.fujiniq.contBox .btn:hover {
  color: #e41e2d;
}

@media screen and (min-width: 768px) {
  .fujiniq {
    padding: min(calc(252/1440 * 100vw),252px) 0 min(calc(288/1440 * 100vw),288px) ;
  }
  .fujiniq.contBox .ttl-lg {
    margin-bottom: min(calc(62 / 1440* 100vw), 62px);
    font-size: min(calc(86/1440 * 100vw),86px);
  }
  .fujiniq.contBox .ttl-lg::after {
    margin-top: min(calc(32/1440 * 100vw),32px);
  }
  .fujiniq.contBox .ttl-lg .miniTitle {
    font-size: min(calc(40/1440 * 100vw),40px);
  }
  .fujiniq.contBox .ttl-lg b {
    font-size: min(calc(114/1440 * 100vw),114px);
  }
  .fujiniq.contBox .fujiniqLogo {
    text-align: center;
  }
  .fujiniq.contBox .fujiniqImage {
    text-align: center;
  }
  .fujiniq.contBox .fujiniqPcLayout {
    margin-bottom: min(calc(40 / 1440* 100vw), 40px);
  }
  
  .fujiniq.contBox .fujiniqTitle {
    width: min(calc(1340/1440 * 100vw),1340px);
    margin: 0 auto min(calc(18/1440 * 100vw),18px);
  }
  .fujiniq.contBox .inner-txt {
    margin-bottom: 50px;
  }

  .fujiniqBox01 {
    margin-top: 170px;
    padding: 0;
  }
  .fujiniq .fujiniqBox01 .ttl-lg {
    font-size: min(calc(60/1440 * 100vw), 60px);
    line-height: 1.33;
    margin-bottom: 34px;
  }
  .fujiniqBox01 .menuinfo {
    margin-top: 54px;
  }
  .fujiniqBox01 .menuinfo .ttl {
    font-size: 40px;
  }
  .fujiniqBox01 .menuinfoBox .menuConts .menuTtl {
    font-size: 23px;
    letter-spacing: -0.03em;
  }
  .fujiniqBox01 .menuinfoBox .menu02 .menuTtl {
    margin-right: -1.5em;
  }
  .fujiniqBox01 .menuinfoBox .menuConts .menuTxt p {
    font-size: 18px;
  }
  .fujiniq .btn_box {
    margin-top: 100px;
  }
}

@media screen and (min-width: 1040px) {
  .fujiniqBox01 .menuinfo {
    padding: 0;
  }
  .fujiniqBox01 .menuinfoBox {
    grid-gap: 50px;
  }
  .fujiniqBox01 .menuinfoBox .menuConts {
    grid-auto-flow: column;
    grid-gap: 16px;
  }
}

@media screen and (min-width: 1240px) {
.fujiniq.contBox .fujiniqPcLayout {
  width: 1240px;
  display: flex;
  gap: min(calc(65 / 1440* 100vw), 65px);
  margin: auto;
  padding-left: min(calc((100vw - 1040px)/2 + 50px), 138px);
}
.fujiniq.contBox .fujiniqPcLayoutLeft {
  padding: 0;
  margin-left: 0;
  width: min(calc(490 / 1440* 100vw), 490px);
}
.fujiniq.contBox .fujiniqPcLayoutLeft .inner-txt {
  margin-left: 0.6em;
  margin-bottom: 0;
  letter-spacing: 0.08em;
  width: auto;
}
.fujiniq.contBox .fujiniqLogo {
  width: min(calc(490/1440 * 100vw),490px);
  margin: 0 auto min(calc(38/1440 * 100vw),38px);
}
.fujiniq.contBox .fujiniqImage {
  width: min(calc(600/1440 * 100vw),600px);
  margin: 0;
}
}

/* ------------------------
  garagesale
------------------------ */
.garagesale {
  background: url(../images/garagesale_bg_sp.png?241016) no-repeat center top / cover;
  clip-path: polygon(0 var(--slashCutHeight), 100% 0, 100% 100%, 0 100%);
  margin-top: calc(var(--slashCutHeight) * -1);
  padding: calc(200/750 * 100vw) 0 calc(238/750 * 100vw);
}


.garagesale.contBox .garagesaleLogo {
  width: calc(450/750 * 100vw);
  margin: 0 auto calc(25/750 * 100vw);
}

.garagesale.contBox .inner-txt {
  margin-bottom: calc(55/750 * 100vw);
}

.garagesale.contBox .notice {
  margin-top: -1.6em;
  margin-bottom: calc(12/750 * 100vw);
}

.garagesale .garageSaleBox01 .ttl {
  font-size: calc(40/750 * 100vw);
  line-height: 1.33;
  margin-bottom: calc(34/750 * 100vw);
}
.garageSaleBox01 .boothinfo .ttl {
  text-align: center;
  font-size: calc(50/750 * 100vw);
}
.garageSaleBox01 .boothinfoBox {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: calc(48/750 * 100vw) calc(54/750 * 100vw);
}
.garageSaleBox01 .boothinfoBox .boothConts {
  display: grid;
  grid-gap: calc(22/750 * 100vw);
  grid-template-rows: auto 1fr;
}
.garageSaleBox01 .boothinfoBox .boothConts .boothTtl {
  font-weight: 700;
  font-size: calc(28/750 * 100vw);
}
.garageSaleBox01 .boothinfoBox .boothConts .boothTxt p {
  font-size: calc(26/750 * 100vw);
}

.garagesale .btn_box {
  margin-top: calc(96/750 * 100vw);
}
.garagesale.contBox .btn:hover {
  color: #e41e2d;
}


@media screen and (min-width: 768px) {
  .garagesale {
    background: url(../images/garagesale_bg_pc.png?241016) no-repeat center top / cover;
    padding: min(calc(224/1440 * 100vw),224px) 0 min(calc(282/1440 * 100vw),282px);
  }  
  .garagesale.contBox .garagesaleLogo {
    width: min(calc(383/1440 * 100vw),383px);
    margin: 0 auto min(calc(52/1440 * 100vw),52px);
  }
  .garagesale.contBox .inner-txt {
    margin-bottom: min(calc(50/1440 * 100vw), 50px);
  }
  .garagesale.contBox .notice {
    margin-top: -2.2em;
    margin-bottom: 0;
  }

  .garagesale .garageSaleBox01 .ttl {
    font-size: 40px;
    line-height: 1.33;
    text-align: center;
    margin-bottom: 34px;
  }
  .garageSaleBox01 .boothinfo {
    margin-top: 54px;
  }
  .garageSaleBox01 .boothinfo .ttl {
    font-size: 40px;
  }
  .garageSaleBox01 .boothinfoBox .boothConts {
    grid-template-rows: auto;
  }
  .garageSaleBox01 .boothinfoBox .boothConts .boothTtl {
    font-size: 23px;
    letter-spacing: -0.03em;
  }
  .garageSaleBox01 .boothinfoBox .boothConts .boothTxt p {
    font-size: 18px;
  }

  .garagesale .btn_box {
    margin-top: 100px;
  }
}

@media screen and (min-width: 1040px) {
  .garageSaleBox01 .boothinfo {
    padding: 0;
  }
  .garageSaleBox01 .boothinfoBox {
    grid-gap: 50px;
  }
  .garageSaleBox01 .boothinfoBox .boothConts {
    grid-auto-flow: column;
    place-items: center;
    grid-gap: 16px;
  }
}
/* ------------------------
  rockfes
------------------------ */
.rockfes {
  background: url(../images/rockfes_bg.png) repeat left top / min(calc(18/750 * 100vw), 18px);
  clip-path: polygon(0 var(--slashCutHeight), 100% 0, 100% 100%, 0 100%);
  margin-top: calc(var(--slashCutHeight) * -1);
  padding: calc(212/750 * 100vw) 0;
}

.rockfes .rockfesTtl {
  width: calc(660/750 * 100vw);
  margin: 0 auto calc(65/750 * 100vw);
}
.rockfes.contBox .inner-txt {
  margin-bottom: calc(50/750 * 100vw);
}
.rockfes .soon .soonTitle {
  font-size:calc(30/750 * 100vw);
}

.rockfesBox01 {
  margin-top: calc(20/750 * 100vw);
}
.rockfesBox01 .ttl-lg {
  text-align: center;
  margin-bottom: calc(82/750 * 100vw);
}
.rockfesBox01 .artistImage {
  margin-bottom: calc(24/750 * 100vw);
}
.rockfesBox01 .artistTtl {
  font-size: calc(36/750 * 100vw);
  font-weight: 700;
  text-align: center;
  margin-bottom: 0.3em;
}
.rockfesBox01 .artistTxt p {
  font-size: calc(26/750 * 100vw);
  letter-spacing: -0.001em;
  line-height: 1.73;
}
.rockfesBox01 .artistLink {
  text-align: center;
  padding-top: 0.6em;
}
.rockfesBox01 .artistLink a {
  color: currentColor;
  font-weight: 700;
  letter-spacing: 0.05em;
  display: inline-block;
  border-bottom: 1px solid currentColor;
}

.rockfesBox01 .artistinfo01 .artistTtl {
  display: grid;
  grid-template-columns: auto auto;
  place-content: center;
  place-items: center;
}
.rockfesBox01 .artistinfo01 .artistTtl .icon {
  font-size: 0.65em;
  font-weight: 700;
  color: #e41e2d;
  background-color: #fff;
  display: inline-block;
  text-align: center;
  padding: 0.05em 1.2em 0.15em;
  margin-right: 0.5em;
  clip-path: polygon(0.85em 0, 100% 0, calc(100% - 0.85em) 100%, 0 100%);
}
.rockfesBox01 .artistinfo02 {
  display: grid;
  grid-gap: calc(70/750 * 100vw);
  margin-top: calc(80/750 * 100vw);
}
.rockfesBox01 .artistinfo02 .artistImage {
  margin-bottom: calc(20/750 * 100vw);
  text-align: center;
}
.rockfesBox01 .artistinfo03 {
  display: grid;
  grid-gap: calc(80/750 * 100vw);
  margin-top: calc(90/750 * 100vw);
}
.rockfesBox01 .artistinfo03 .ttl {
  font-size: calc(50/750 * 100vw);
  text-align: center;
}
.rockfesBox01 .artistinfo03 .infolinesCont {
  width: 78.36%;
  max-width: 525px;
  margin: 0 auto;
}
.rockfesBox01 .artistinfo03 .infolines .infolinesTtl {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .rockfes  {
    padding: min(calc(265/1440 * 100vw),265px) 0 min(calc(100/1440 * 100vw),100px);
  }
  .rockfes .rockfesTtl {
    width: min(calc(600/1440 * 100vw),600px);
    margin: 0 auto min(calc(52/1440 * 100vw),52px);
  }
  .rockfes .rockfesImage {
    width: min(calc(700/1440 * 100vw),700px);
    margin: 0 auto ;
  }
  .rockfes.contBox .inner-txt {
    margin-bottom: min(calc(50/1440 * 100vw),50px);
  }
  .rockfes.contBox .notice {
    width: min(calc(700/1440 * 100vw),700px);
    margin: -0.8em auto 0;
  }
  .rockfes .soon .soonTitle {
    font-size: min(calc(24/1440 * 100vw),24px);
  }

  .rockfesBox01 {
    margin-top: 108px;
  }
  .rockfesBox01 .ttl-lg {
    margin-bottom: 50px;
  } 
  .rockfesBox01 .artistImage {
    margin-bottom: 10px;
  }
  .rockfesBox01 .artistTtl {
    font-size: min(calc(28/940 * 100vw), 28px);
    letter-spacing: -0.025em;
    line-height: 1.43;
  }  
  .rockfesBox01 .artistTxt p {
    font-size: min(calc(18/940 * 100vw), 18px);
  }
  
  .rockfesBox01 .artistinfo01 .artist01 {
    display: flex;
    flex-direction: row-reverse;
  }
  .rockfesBox01 .artistinfo01 .artistTtl {
    place-content: start;
    font-size: min(calc(40/940 * 100vw), 40px);
  }
  .rockfesBox01 .artistinfo01 .artistTxt p {
    font-size: min(calc(20/940 * 100vw), 20px);
  }
  .rockfesBox01 .artistinfo01 .artistImage {
    width: 42.55%;
    max-width: 400px;
    flex: none;
    margin-bottom: 0;
    margin-left: min(calc(70/1440 * 100vw), 70px);
  }
  .rockfesBox01 .artistinfo01 .artistLink {
    text-align: left;
  }
  .rockfesBox01 .artistinfo02 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: min(calc(50/1440 * 100vw), 50px);
    margin-top: 70px;
  }
  .rockfesBox01 .artistinfo02 .artistImage {
    margin-bottom: 15px;
  }
  
  .rockfesBox01 .artistinfo03 {
    display: grid;
    grid-auto-flow: column;
    grid-gap: min(calc(60/1440 * 100vw), 60px);
    margin-top: min(calc(68/1440 * 100vw), 68px);
  }
  .rockfesBox01 .artistinfo03 .ttl {
    font-size: min(calc(26/1440 * 100vw), 26px);
    text-align: left;
  }

  .rockfesBox01 .artistinfo03 .infolines {
    margin-top: 0;
    padding: 0;
  }
  .rockfesBox01 .artistinfo03 .infolinesCont {
    width: 90.5%;
    max-width: 381px;
  }
}


/* ------------------------
  girls86
------------------------ */
.girls86 {
  background: url(../images/girls86_bg_sp.png) no-repeat center top / 100%,#625A59;
  padding: calc(120/750 * 100vw) 0 calc(160/750 * 100vw);
}

.girls86.contBox .inner-txt {
  margin-bottom: calc(36/750 * 100vw);
}

.girls86.contBox .slider {
  margin-bottom: 2.9em;
}

.girls86.contBox .btn:hover {
  color: #e41e2d;
}
@media screen and (min-width: 768px) {
  .girls86 {
    background: url(../images/girls86_bg_pc.png) no-repeat center top / 100%;
    padding: min(calc(96/1440 * 100vw),96px) 0  min(calc(140/1440 * 100vw),140px);
  }
  .girls86.contBox .inner-txt {
    margin-bottom: min(calc(40/1440 * 100vw),40px);
  }
  .girls86.contBox .slider {
    margin-bottom: 2.5em;
  }
}

/* ------------------------
  pitwalk
------------------------ */
.pitwalk {
  background: url(../images/pitwalk_bg_sp.png) no-repeat center top / 100%;
  padding: calc(90/750 * 100vw) 0 calc(104/750 * 100vw);
}

.pitwalk.contBox .inner-txt {
  margin-bottom: calc(36/750 * 100vw);
}

@media screen and (min-width: 768px) {
  .pitwalk {
    background: url(../images/pitwalk_bg_pc.png) no-repeat center top / cover;
    padding: min(calc(96/1440 * 100vw),96px) 0  min(calc(80/1440 * 100vw),80px);
  }
  .pitwalk.contBox .inner-txt {
    margin-bottom: min(calc(64/1440 * 100vw),64px);
  }
}
/* ------------------------
  welcome
------------------------ */
.welcome {
  background: url(../images/welcome_bg_sp.png) no-repeat center top / 100%;
  padding: calc(112/750 * 100vw) 0 calc(436/750 * 100vw);
}

.welcome.contBox .ttl-lg {
  font-size: calc(50/750 * 100vw);
  letter-spacing: -0.045em;
}

.welcome.contBox .inner-txt {
  margin-bottom: calc(82/750 * 100vw);
}
.welcome.contBox .btn:hover {
  color:#e41e2d;
}

@media screen and (min-width: 768px) {
  .welcome {
    background: url(../images/welcome_bg_pc.png) no-repeat center bottom / cover;
    padding: min(calc(100/1440 * 100vw),100px) 0  min(calc(538/1440 * 100vw),538px);
  }
  .welcome.contBox .inner-txt {
    margin-bottom: min(calc(76/1440 * 100vw),76px);
  }
  .welcome.contBox .ttl-lg {
    font-size: min(calc(60/1440 * 100vw),60px);
    letter-spacing: -0.045em;
  }
}
/* ------------------------
  museum
------------------------ */
.museum {
  background: url(../images/museum_bg_sp.png?241016) no-repeat center top / cover;
  padding: calc(140/750 * 100vw) 0 calc(155/750 * 100vw);
}

.museum.contBox .inner-txt {
  margin-bottom: calc(55/750 * 100vw);
}

.museum.contBox .btn {
  padding: calc(24 / 750 * 100vw) calc(35 / 750 * 100vw) calc(24 / 750 * 100vw);
}
.museum.contBox .btn:hover {
  color:#e41e2d;
}

.museumBox01 .ttl {
  text-align: center;
}
.museum .infolines {
  margin-top: calc(64 / 750 * 100vw);
}
.museum .infolines p {
  text-align: right;
}
.museum .btn_box {
  margin-top: calc(94 / 750 * 100vw);
}

@media screen and (min-width: 768px) {
  .museum {
    background: url(../images/museum_bg_pc.png?241016) no-repeat center top / cover;
    padding: min(calc(120/1440 * 100vw),120px) 0  min(calc(138/1440 * 100vw),138px);
  }
  .museum.contBox .ttl-lg {
    letter-spacing: 0.04em;
  }
  .museum.contBox .inner-txt {
    margin-bottom: min(calc(90/1440 * 100vw),90px);
  }
  .museum.contBox .btn {
    padding: 30px 32px 32px;
  }

  .museum .infolines {
    margin-top: 69px;
  }
  .museum .infolines p {
    text-align: center;
    font-size: 18px;
  }
  .museum .btn_box {
    margin-top: 80px;
  }
}

/* ------------------------
  stayBox
------------------------ */
.stayBox {
  background: url(../images/stay_bg01_sp.png) no-repeat center top / 100% auto, url(../images/stay_bg02_sp.png) no-repeat center bottom / 100% auto, #fff;
  padding: calc(224/750 * 100vw) 0 calc(266/750 * 100vw);
}

.stayBox .ttl-lg {
  margin-bottom: calc(45/750 * 100vw);
  color: #e41e2d;
  font-size: calc(50/750 * 100vw);
  letter-spacing: 0.03em;
}
.stayBox .ttl-lg .ttl-sub-icon {
  margin-left: calc(16/750 * 100vw);
}

.stayBox section +  section {
  margin-top: calc(107/750 * 100vw);
}

.stayBox01 .stayBox01_bg{
  background: url(../images/stay_01_bg_sp.png) no-repeat center bottom / 100% auto;
  padding-bottom: calc(650/750 * 100vw);
}
.stayBox01 .ttl {
  font-size: calc(49/750 * 100vw);
  margin-bottom: 0.4em;
}
.stayBox .stayBox02 {
  margin-top: calc(150/750 * 100vw);
}

.stayBox .stayBox02 .inner-txt small {
  display: block;
  font-size: calc(22/750 * 100vw);
  margin-top: 1em;
}

.stayBox01 .btn_box,
.stayBox03 .btn_box {
  margin-top: calc(68/750 * 100vw);
}

.stayBox01 .btn,
.stayBox03 .btn{
  margin-top: calc(72/750 * 100vw);
  padding: calc(47 / 750 * 100vw) calc(35 / 750 * 100vw) calc(46 / 750 * 100vw);
  border: 1px solid #e41e2d;
  color: #e41e2d;
}

.stayBox04 .ttl-lg {
  margin-bottom: calc(48 / 750* 100vw);
  line-height: 1.56;
}
.stayBox04 .inner-txt {
  margin: calc(45/750 * 100vw) 0 calc(50/750 * 100vw);
}

.stayBox04 .loungeinfo {
  padding: calc(22/750 * 100vw) 0 calc(40/750 * 100vw) calc(80/750 * 100vw);
  border-top: calc(2/750 * 100vw) solid #e41e2d;
  border-bottom: calc(2/750 * 100vw) solid #e41e2d;
}

.stayBox04 .loungeinfo h3 {
  color: #e41e2d;
  font-size: calc(36/750 * 100vw);
  font-weight: 700;
  margin-bottom: 0.2em;
}
.stayBox04 .loungeinfo p {
  font-size: calc(26/750 * 100vw);
  line-height: 1.89;
}
.stayBox04 .loungeinfo small {
  font-size: calc(22/750 * 100vw);
}

@media screen and (min-width: 768px) {
  .stayBox {
    background: url(../images/stay_bg01_pc.png) no-repeat center top / 100% auto, url(../images/stay_bg02_pc.png) no-repeat center bottom / 100% auto, #fff;
    padding: min(calc(160/1440 * 100vw),160px) 0 min(calc(228/1440 * 100vw),228px);
  }

  .stayBox .ttl-lg {
    margin-bottom: 44px;
    font-size: min(calc(60/1440 * 100vw),60px);
  }

  .stayBox01 .stayBox01_bg{
    background: url(../images/stay_01_bg_pc.png) no-repeat center bottom -6% / min(calc(1240/1440 * 100vw),1240px) auto;
    padding-bottom: min(calc(710/1440 * 100vw), 710px);
  }

  .stayBox .stayBox02 {
    margin-top:  min(calc(112/1440 * 100vw), 112px);
  }
  
  .stayBox .stayBox02 .slider {
    margin-bottom: 2.3em;
  }
  
  .stayBox .stayBox02 .inner-txt small {
    font-size: min(calc(18/1440 * 100vw), 18px);
  }
  
  .stayBox .stayBox03 {
    margin-top:  min(calc(90/1440 * 100vw), 90px);
  }
  .stayBox .btn_box {
    margin-top: min(calc(92/1440 * 100vw), 92px);
  }

  .stayBox01  .btn,
  .stayBox03  .btn{
    margin-top:0;
    padding: 30px 32px 32px;
  }
  .stayBox .stayBox04 {
    margin-top:  min(calc(90/1440 * 100vw), 90px);
  }
  .stayBox04 .inner-txt {
    margin:0;
  }
  .stayBox .stayBox04 .stayBox04Conts {
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    gap: min(calc(70/1440 * 100vw), 70px);
      width: min(calc(1040/1440 * 100vw), 1040px);
      padding: 0 min(calc(50/1440 * 100vw), 50px);
      margin: auto;
  }
  .stayBox .stayBox04 .stayBox04Conts .inner-md {
    width: min(calc(470/1440 * 100vw), 470px);
    padding: 0;
    margin: 0;
  }
  .stayBox04 .loungeinfo {
    margin-top: 1.3em;
    padding: min(calc(30/1440 * 100vw), 12px) 0 min(calc(22/1440 * 100vw), 22px) min(calc(54/1440 * 100vw), 54px);
    border-top: 2px solid #e41e2d;
    border-bottom: 2px solid #e41e2d;
  }
  .stayBox04  .stayBox04Image {
    width: min(calc(400/1440 * 100vw), 400px);
  }
  .stayBox04 .loungeinfo h3 {
    color: #e41e2d;
    font-size: min(calc(26/1440 * 100vw), 26px);
    margin-bottom: 0.4em;
  }
  .stayBox04 .loungeinfo p {
    font-size: min(calc(18/1440 * 100vw), 18px);
    line-height: 2;
  }
  .stayBox04 .loungeinfo small {
    font-size: min(calc(18/1440 * 100vw), 18px);
  }
}

/* ------------------------
  ticketBox
------------------------ */
.ticketBox {
  background: url(../images/ticket_bg_sp.png) no-repeat center top / 100%, #e41e2d;
  padding: calc(120/750 * 100vw) 0 calc(126/750 * 100vw);
}

.ticketBox .ttl-lg {
  margin-bottom: 0;
  font-size: calc(100/750 * 100vw);
}

.ticketFrame {
  background: url(../images/ticket_bg_frame_sp.png) repeat-y center top / 100% auto;
  position: relative;
  margin-top: calc(212/750 * 100vw);
  padding: calc(36/750 * 100vw) 0 calc(64/750 * 100vw);
}
.ticketFrame::before,
.ticketFrame::after {
  content: '';
  width: 100%;
  position: absolute;
  left: 0;
}
.ticketFrame::before {
  height: calc(144/750 * 100vw);
  background: url(../images/ticket_bg_frame_top_sp.png) no-repeat center top / 100% auto;
  top: calc(-144/750 * 100vw);
}
.ticketFrame::after {
  height: calc(10/750 * 100vw);
  background: url(../images/ticket_bg_frame_bottom_sp.png) no-repeat center bottom / 100% auto;
  bottom: calc(-10/750 * 100vw);
}

.ticketFrame .ttl {
  font-size: calc(48/750 * 100vw);
  margin-bottom: 0.7em;
  text-align: center;
  letter-spacing: 0.1em;
}
.ticketFrame .ttl .miniTitle {
  font-size: calc(30/750 * 100vw);
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.1em;
}

.ticketScheduleBox {
  background-color: #ffe6e9;
  width: 80%;
  max-width: 600px;
  margin: 0 auto;
  font-size: calc(50/750 * 100vw);
  padding: calc(20/750 * 100vw) calc(30/750 * 100vw) calc(30/750 * 100vw);
}
.ticketScheduleBox * {
  font-weight: 500;
  text-align: center;
  line-height: 1.5;
}
.ticketScheduleBox .weekday {
  font-size: 0.72em;
}

.ticketPriceBox {
  display: grid;
  margin-top: calc(48/750 * 100vw);
}
.ticketPriceTtl {
  font-weight: 500;
  text-align: center;
  line-height: 1.7;
  display: inline-block;
  margin-inline: auto;
  padding: 0 calc(32/750 * 100vw);
  background-color: #fff;
  border-radius: 2em;
  border: calc(2/750 * 100vw) solid currentColor;
  grid-area: 1 / 1 / 2;
  z-index: 2;
  pointer-events: none;
}

.ticketPriceList {
  grid-area: 1 / 1 / 3;
}
.ticketPriceList * {
  text-align: center;
}
.ticketPriceList dt .gradTxt {
  font-size: calc(74/750 * 100vw);
  line-height: 1.27;
  font-weight: 700;
}
.ticketPriceList dd {
  font-size: calc(26/750 * 100vw);
  line-height: 1.9;
  font-weight: 500;
}
.ticketPriceList dd.notes {
  font-size: calc(22/750 * 100vw);
  font-weight: 400;
}
.ticketPriceList dd.notes .small {
  font-size: calc(18/750 * 100vw);
}
.ticketPriceList .priceComparison {
  display: grid;
  grid-template-columns: auto auto;
  place-content: center;
  place-items: end;
  margin: calc(32/750 * 100vw) auto calc(18/750 * 100vw);
}
.ticketPriceList .priceComparison * {
  text-align: left;
}
.ticketPriceList .priceComparison .normalPrice {
  font-size: calc(28/750 * 100vw);
  line-height: 1.7;
  padding: 0 calc(48/750 * 100vw) calc(9/750 * 100vw) calc(15/750 * 100vw);
  position: relative;
}
.ticketPriceList .priceComparison .normalPrice .yen {
  position: relative;
}
.ticketPriceList .priceComparison .normalPrice .yen::before {
  content: '';
  transform: rotate(-15deg);
  width: 100%;
  border-top: calc(2 / 750* 100vw) solid #e60012;
  position: absolute;
  top: 50%;
  left: 0;
}
.ticketPriceList .priceComparison .normalPrice .num {
  font-size: calc(46/750 * 100vw);
  line-height: 1;
}
.ticketPriceList .priceComparison .normalPrice .small {
  font-size: calc(23/750 * 100vw);
}
.ticketPriceList .priceComparison .normalPrice::after {
  content: '';
  display: block;
  width: calc(24/750 * 100vw);
  height: calc(92/750 * 100vw);
  background-color: #e60012;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  right: 0;
  bottom: calc(11/750 * 100vw);
  position: absolute;
}

.ticketPriceList .priceComparison .advancePrice {
  font-size: calc(30/750 * 100vw);
  line-height: 1.2;
  text-indent: calc(18/750 * 100vw);
  margin-left: calc(16/750 * 100vw);
  color: #e41e2d;
}
.ticketPriceList .priceComparison .advancePrice .yen {
  font-size: calc(56/750 * 100vw);
  padding-inline: calc(15/750 * 100vw);
  background: linear-gradient(to top, #fffa78, #fffa78) no-repeat left bottom / 100% calc(32/750 * 100vw);
}
.ticketPriceList .priceComparison .advancePrice .num {
  font-size: calc(100/750 * 100vw);
  line-height: 1;
}

.ticketPriceList .family {
  background: url(../images/ticket_price_family_ttl_bg_sp.png) no-repeat center top / 100% auto;
}
.ticketPriceList .family dt {
  padding: calc(92/750 * 100vw) calc(10/750 * 100vw) calc(26/750 * 100vw);
}
.ticketPriceList .family .notes {
  display: inline-block;
  margin: 0 auto;
}
.ticketPriceList .family .notes .small {
  display: block;
  text-align: right;
  padding-right: 0.5em;
}

.ticketPriceList .coupon {
  position: relative;
  background-color: #ffe6e9;
  width: 80%;
  max-width: 600px;
  margin: calc(50/750 * 100vw) auto 0;
  padding: calc(60/750 * 100vw) calc(27/750 * 100vw) calc(26/750 * 100vw);
}

.ticketPriceList .coupon .couponIcon {
  width: min(calc(64/750 * 100vw), 64px);
  height: min(calc(64/750 * 100vw), 64px);
  position: absolute;
  top: -7%;
  left: 50%;
  transform: translateX(-50%);
}

.ticketPriceList .coupon .couponTtl {
  text-align: center;
  font-size: calc(32/750 * 100vw);
  color: #e60012;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
}

.ticketPriceList .coupon .couponTtl small{
  display: block;
  font-size: calc(26/750 * 100vw);
  color: #000;
  font-weight: 700;
}

.ticketPriceList .coupon dd {
  margin-top: 15px;
}

.ticketPriceList .coupon .notice {
  color: #000;
  padding-right: 0;
  font-size: calc(18/750 * 100vw);
  letter-spacing: 0.04em;
  text-align: right;
}

.ticketBox .btn.ticketBtn {
  font-size: calc(36/750 * 100vw);
  color: #fff;
  padding: calc(54 / 750* 100vw) calc(33 / 750* 100vw);
  background: linear-gradient(270deg, rgba(21, 196, 85, 1) 0%, rgba(66, 232, 81, 1) 90%);
  margin-top: calc(42 / 750* 100vw);
  box-shadow: calc(15/750 * 100vw) calc(15/750 * 100vw) calc(24 / 750* 100vw) rgba(17, 151, 54, 0.4);
  border: none;
}

@media screen and (min-width: 768px) {
  .ticketBox {
    background: url(../images/ticket_bg_pc.png) no-repeat center top / 100%, #e41e2d;
    padding: min(calc(128/1440 * 100vw), 128px) 0 ;
  }
  .ticketBox .ttl-lg {
    margin-bottom: 0;
    font-size:  min(calc(64/1440 * 100vw), 64px);
  }
  .ticketBox .ttl-lg .ttl-sub-icon {
    margin-left: 21px;
  }

  .ticketFrame .ttl {
    font-size: min(calc(60/1440 * 100vw), 60px);
    margin-bottom: 0;
  }
  .ticketFrame .ttl .miniTitle {
    font-size: 32px;
  }

  .ticketScheduleBox {
    font-size: 44px;
    padding: 14px 26px 26px;
  }
  .ticketScheduleBox * {
    line-height: 1.36;
  }
  .ticketScheduleBox .weekday {
    font-size: 0.73em;
  }

  .ticketPriceTtl {
    font-size: calc(30/750 * 100vw);
  }

  .ticketPriceList .coupon {
    margin: 36px auto 0;
    padding: 46px 80px 16px;
  }
  
  .ticketPriceList .coupon .couponIcon {
    width: 50px;
    height: 50px;

  }
  
  .ticketPriceList .coupon .couponTtl {
    font-size: 30px;
    line-height: 1.4;
    letter-spacing: 0.1em;
  }
  
  .ticketPriceList .coupon .couponTtl small{
    font-size: 20px;
  }
  
  .ticketPriceList .coupon dd {
    margin-top: 15px;
  }
  
  .ticketPriceList .coupon .notice {
    font-size: min(calc(16 / 1440* 100vw), 16px);
    width: auto;
    margin-top: -0.6em;
  }
  .ticketBox .btn.ticketBtn {
    width: 80%;
    max-width: 840px;
    font-size: 36px;
    padding: 22px 39px 32px;
    margin-top: 51px;
  }
  .ticketBox .btn.ticketBtn .icon {
    left: 20%;
  }
  .ticketBox .btn.ticketBtn span:not(.arrow) {
    margin-left: 10%;
  }
}
@media screen and (min-width: 1040px) {
  .sp-tab {
    display: none;
  }
  .ticketFrame {
    background: url(../images/ticket_bg_frame_pc.png) repeat-y center top / 100% auto;
    position: relative;
    width: 1040px;
    margin: 254px auto 0;
    padding: 111px 50px 75px;
  }

  .ticketFrame::before {
    height: 202px;
    background: url(../images/ticket_bg_frame_top_pc.png) no-repeat center bottom / 100% 100%;
    top: -201px;
  }

  .ticketFrame::after {
    height: 10px;
    background: url(../images/ticket_bg_frame_bottom_pc.png) no-repeat center top / 100% auto;
    bottom: -10px;
  }

  .ticketFrame .ttl {
    position: absolute;
    z-index: 3;
    width: 100%;
    top: -74px;
    left: 0;
  }

  .ticketPriceBox {
    margin-top: 50px;
  }

  .ticketPriceTtl {
    font-size: 24px;
    line-height: 1.7;
    padding: 0 30px;
    border-width: 2px;
  }

  .ticketPriceList dt .gradTxt {
    font-size: 66px;
    line-height: 1.36;
  }

  .ticketPriceList dd {
    font-size: 22px;
    line-height: 1.9;
  }

  .ticketPriceList dd.notes {
    font-size: 20px;
  }

  .ticketPriceList dd.notes .small {
    font-size: 16px;
  }

  .ticketPriceList .priceComparison {
    margin: 23px auto 11px;
  }

  .ticketPriceList .priceComparison .normalPrice {
    font-size: 26px;
    line-height: 1.7;
    padding: 0 56px 9px 17px;
  }

  .ticketPriceList .priceComparison .normalPrice .yen::before {
    transform: rotate(-15deg);
    border-top-width: 2px;
  }

  .ticketPriceList .priceComparison .normalPrice .num {
    font-size: 56px;
  }

  .ticketPriceList .priceComparison .normalPrice .small {
    font-size: 26px;
  }

  .ticketPriceList .priceComparison .normalPrice::after {
    width: 20px;
    height: 81px;
    bottom: 11px;
  }

  .ticketPriceList .priceComparison .advancePrice {
    font-size: 26px;
    line-height: 1.2;
    text-indent: 0;
    margin-left: 13px;
  }

  .ticketPriceList .priceComparison .advancePrice .yen {
    font-size: 56px;
    padding-inline: 10px;
    margin-left: 4px;
    background-size: 100% 34px;
  }

  .ticketPriceList .priceComparison .advancePrice .num {
    font-size: 110px;
  }

  .ticketPriceList .family {
    background: url(../images/ticket_price_family_ttl_bg_pc.png) no-repeat center top / contain;
  }
  .ticketPriceList .family dt {
    padding: 66px 10px 26px;
  }

  .ticketPriceList .family .notes .small {
    padding-right: 0.5em;
  }

  .ticketBox .btn.ticketBtn .icon {
    left: 27%;
  }

}

/* ------------------------
  snsBox
------------------------ */
.snsBox {
  background: url(../images/sns_bg_top_sp.png) no-repeat center top / 100% auto, url(../images/sns_bg_bottom_sp.png) no-repeat center bottom / 100% auto, #ffe6e9;
  padding: calc(130/750 * 100vw) 0 calc(124/750 * 100vw);
}

.snsBox .ttl-lg {
  font-family: var(--notosans);
  font-size: calc(66 / 750 * 100vw);
  margin-bottom: calc(64 / 750* 100vw);
  color: #e41e2d;
  text-align: center;
}
.snsBox .ttl-lg span {
  font-weight: 700;
  line-height: 1;
  height: 1lh;
}

.snsBox .ttl {
  margin-bottom: 0.4em;
  font-size: calc(50/750 * 100vw);
  text-align: center;
  font-weight: 700;
}

.twitterBox {
  display: block;
  width: calc(670/750 * 100vw);
  max-width: 670px;
  height: calc(599/750 * 100vw);
  max-height: 599px;
  text-align: center;
  margin: 0 auto calc(80/750 * 100vw);
}

.snsBox .btn_box {
  display: grid;
  grid-gap: calc(30/750 * 100vw);
}
.snsBox .btn_box .btn {
  background-color: #fff;
  border: 1px solid #e41e2d;
  color: #e41e2d;
  padding: calc(44 / 750 * 100vw) calc(35 / 750 * 100vw) calc(49 / 750 * 100vw);
}

.snsBox .btn_box .btn:hover {
  background-color: #e41e2d;

}

@media screen and (min-width: 768px) {
  .snsBox {
    background: url(../images/sns_bg_top_pc.png) no-repeat right top / 50% auto, url(../images/sns_bg_bottom_pc.png) no-repeat left bottom / 50% auto, #ffe6e9;
    padding: min(calc(80/750 * 100vw), 80px) 0 90px;
  }

  .snsBox .ttl-lg {
    font-size: min(calc(50/750 * 100vw), 50px);
    margin-bottom: 43px;
  }

  .snsBox .ttl {
    margin-bottom: 0.4em;
    font-size: min(calc(40/750 * 100vw), 40px);
  }

  .twitterBox {
    max-width: 536px;
    max-height: 480px;
    margin: 0 auto 53px;
  }

  .snsBox .btn_box .btn:hover {
    background-color: #e41e2d;
  
  }
}

@media screen and (min-width: 961px) {
  .snsBox .btn_box .btn {
    width: 300px;
    max-width: 100%;
    padding: 30px 32px 32px;
  }
  .snsBox .btn_box {
    display: grid;
    grid-auto-flow: column;
    place-content: center;
    grid-gap: 20px;
  }
}

/* ------------------------
  faqBox
------------------------ */
.faqBox {
  background: linear-gradient(to top, #e41e2d, #ff4f57);
  padding: calc(100/750 * 100vw) 0 calc(126/750 * 100vw);
}

.faqBox .inner-sm {
  padding: 0;
}

.faqBox .ttl-lg {
  font-family: var(--roboto);
  margin-bottom: calc(40/750 * 100vw);
  text-align: center;
  font-size: calc(130/750 * 100vw);
}

.faqBox .ttl-lg::after {
  margin-top: 0;
}
.faqBox .ttl {
  text-align: center;
  margin-bottom: 1.3em;
  font-size: calc(50/750 * 100vw);
}

.faqBox .faqList .faqListItem {
  cursor: pointer;
}
.faqBox .faqList .faqListItem + .faqListItem {
  margin-top: 1.27em;
}

.faqBox .faqList dt {
  line-height: 1.4;
  padding: calc(26/750 * 100vw) calc(31/750 * 100vw) calc(26/750 * 100vw) calc(36/750 * 100vw);
  background-color: #fff;
  font-size: calc(30/750 * 100vw);
  font-weight: 700;
  display: grid;
  grid-template-columns: auto 1fr auto;
  grid-gap: calc(17/750 * 100vw);
  align-items: center;
}
.faqBox .faqList dt::before,
.faqBox .faqList dt::after {
  content: "";
  display: block;
  width: calc(36/750 * 100vw);
  height: 2px;
  background-color: currentColor;
  grid-area: 1 / 3;
  opacity: 1;
  transition: all 0.6s;
}

.faqBox .faqList dt::after {
  transform: rotate(90deg);
}

.faqBox .faqList dt.close::after {
  transform: rotate(360deg);
  opacity: 0;
}

.faqBox .faqList dd {
  font-size: calc(30/750 * 100vw);
  padding: .7em .5em;
}

.faqBox .faqList dd a {
  display: inline-block;
  color: #fff;
  text-decoration: underline;
}

.faqBox .faqList dd small{
  display: block;
  font-size: calc(22/750 * 100vw);
  margin-top: 1em;
}

.faqBox .faqList dt .icoQ {
  text-align: center;
  font-size: calc(50/750 * 100vw);
  font-weight: 400;
  grid-area: 1 / 1;
}

@media screen and (min-width: 768px) {
  .faqBox {
    padding: 50px 0 110px;
  }

  .faqBox .ttl-lg {
    margin-bottom: 44px;
    font-size: min(calc(100/750 * 100vw), 100px);
  }
  .faqBox .ttl {
    margin-bottom: 1.25em;
    font-size: min(calc(40/750 * 100vw), 40px);
  }

  .faqBox .faqList .faqListItem + .faqListItem {
    margin-top: 1.3em;
  }

  .faqBox .faqList dt {
    line-height: 1.4;
    padding: 20px 29px 21px;
    font-size: 24px;
    grid-gap: 17px;
  }

  .faqBox .faqList dt::before,
  .faqBox .faqList dt::after {
    width: 30px;
    height: 2px;
  }

  .faqBox .faqList dd {
    font-size: 20px;
    padding: 1em 1.5em;
  }
  
  .faqBox .faqList dd small{
    display: block;
    font-size: min(calc(18/750 * 100vw), 18px);
    margin-top: 1em;
  }

  .faqBox .faqList dt .icoQ {
    font-size: 40px;
  }
}

/* ------------------------
  footer
------------------------ */
.gFooter {
  padding: calc(104/750 * 100vw) calc(40/750 * 100vw) calc(100/750 * 100vw);
  background: url(../images/footer_bg_sp.png) no-repeat top center / cover;
}

.gFooter p {
  text-align: center;
}

.gFooter .fInfo .logo {
  width: calc(464/750 * 100vw);
  margin: 0 auto;
  margin-bottom: calc(50/750 * 100vw);
}

.gFooter .fInfo p {
  font-size: calc(26/750 * 100vw);
  margin-bottom: calc(30/750 * 100vw);
  line-height: 1;
}

.gFooter .fInfo p.tel {
  font-size: calc(50/750 * 100vw);
  font-family: "Roboto Condensed", sans-serif;
  margin: calc(50/750 * 100vw) auto calc(20/750 * 100vw);

}

.gFooter .fInfo .contactBtn {
  --txtColor: #fff;
  margin: calc(50/750 * 100vw) auto calc(77/750 * 100vw);
}
.gFooter .fInfo .contactBtn:hover {
  color: #ff3611;
}

.gFooter .copyBox .copy {
  text-align: center;
  font-size: calc(20/750 * 100vw);
}

@media screen and (min-width: 768px) {

  /* gFooter */
  .gFooter {
    padding: 85px 0;
    background: url(../images/footer_bg_pc.png) no-repeat top center/100%, #323333;
  }

  .gFooter .fInfo .logo {
    width: 371px;
    margin: 0 auto;
    margin-bottom: 30px;
  }

  .gFooter .fInfo p {
    font-size: 20px;
    margin-bottom: 10px;
    line-height: 1.5;
  }

  .gFooter .fInfo p.tel {
    font-size: 40px;
    margin: 30px auto 0;
  }

  .gFooter .fInfo .contactBtn {
    margin: 38px auto 95px;
  }

  .gFooter .copyBox .copy {
    text-align: center;
    font-size: 20px;
  }
}



/* 初期設定 */
.splash {
  position: relative;
}

.splash::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff; /* 四角の背景色 */  
  transform-origin: right;
  transform: scaleX(1);
  transition: transform .3s cubic-bezier(.4, .4, 0, 1);
  /* アニメーションのタイミングをCSSに統合 */
}

.splash.start::before {
  transform: scaleX(0);
  /* スクロールでスタート時にアニメーション開始 */
}

.splash.anim-done::before {
  content: none;
  /* アニメーションが終了した後に::beforeを非表示にする */
}

.btn span {
  position: relative;
  z-index: 3;
  width: 100%;
  text-align: center;
  font-weight: 500;
}

/*== 背景が流れる（左から右） */
.bgleft02::before,
.bgleft::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background: #fff;
  width: 100%;
  height: 100%;
  transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}
.bgleft02::before {
  background: var(--txtColor);
}

/* hover時の処理 */
.bgleft02:hover {
  background: var(--txtColor);
  color: #fff;
}
.bgleft02:hover:before,
.bgleft:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}

/*topBtn*/
.topBtn {
  position: fixed;
  right: calc(30/750 * 100vw);
  bottom: calc(30/750 * 100vw);
  cursor: pointer;
  transition: .3s;
  width: calc(180/750 * 100vw);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 99;
  /* filter: drop-shadow(calc(15/750 * 100vw) calc(15/750 * 100vw) calc(25/750 * 100vw) rgb(255 24 0 / 0.3)); */
}

@media screen and (min-width: 768px) {
  .topBtn {
    width: 112px;
  }

}

/*このクラスが付与されると表示する*/
.topBtn.active {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}