@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

body {
  background-color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: #231815;
}

body * {
  font-weight: 400;
}

a {
  text-decoration: none;
  color: #231815;
  cursor: pointer;
}

a:visited,
a img,
a:before,
a:after {
  text-decoration: none;
}

a:hover {
  opacity: 0.6;
}


img {
  max-width: 100%;
  height: auto;
}

span.yellow {
  color: #fff55a;
}

.alC {
  text-align: center;
}

.alR {
  text-align: right;
}

.ilB {
  display: inline-block;
}

.pc,
.pcImg {
  display: none;
}

.wrapper {
  max-width: 1232px;
  margin: 0 auto;
  padding: 0 calc(40/750 * 100vw);
}

.wrapperL {
  max-width: 1632px;
  margin: 0 auto;
  padding: 0 16px;
}

h1.mv img {
  width: 100%;
}

h1.mv {
  display: block;
  line-height: 0;
}

a:hover {
  opacity: 1;
  transform: none;
  padding: auto;
  font-weight: auto;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .pc {
    display: block;
  }

  .pcImg {
    display: inline;
  }

  .sp,
  .spImg {
    display: none;
  }
}

/* gHeader */
.gHeader {
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: calc(110/750 * 100vw);
  background-color: #fff;
  z-index: 1000;
  padding-left: calc(25/750 * 100vw);
}

.gHeader .logo {
  width: calc(322/750 * 100vw);
}

.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(230, 0, 18, 1) 0%, rgba(255, 64, 64, 1) 100%);
  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(50/750 * 100vw);
  height: 2px;
  position: absolute;
  top: calc(50% - 1px);
  left: calc(50% - 10px);
  background-color: #fff;
}

.gHeader .gNavToggle:before {
  box-shadow: #fff 0 -6px 0;
}

.gHeader .gNavToggle:after {
  box-shadow: #fff 0 6px 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;
  bottom: 0;
  width: 100%;
  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 {
  display: block;
  color: #fff;
  border-bottom: 1px solid #fff;
  padding: calc(35/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 {
  display: block;
  font-size: calc(50/750 * 100vw);
  margin-bottom: calc(20/750 * 100vw);
  letter-spacing: 0.1em;
  font-family: "Roboto Condensed", sans-serif;
}

@media screen and (min-width: 768px) {

  /* gHeader */
  .gHeader {
    min-width: 1264px;
    justify-content: flex-end;
    align-items: normal;
    height: 70px;
    padding: 0 50px;
  }

  .gHeader .logo {
    width: 300px;
    align-self: center;
    margin-right: auto;
  }

  .gHeader .ticketBtn {
    max-width: 220px;
    width: calc(220/1440 * 100vw);
    font-size: min(calc(18/1440 * 100vw), 18px);
    ;
    max-height: 50px;
    height: calc(50/1440 * 100vw);
    border-radius: calc(25/1440 * 100vw);
    margin: auto 0;
    padding: 0;
    font-size: calc(20/1440);
  }

  .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;
    align-items: normal;
    position: relative;
    overflow: hidden;
    top: auto;
    left: auto;
    bottom: auto;
    width: auto;
    padding: 0;
    overflow-y: hidden;
  }

  .gNav li a::after {
    display: none;
  }

  .gNav li a span {
    display: none;
  }

  .gNav .mainNav {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: stretch;
    column-gap: 0;
    margin: 0;
    padding-right: 37px;
    background: #fff;
  }



  .gNav li a {
    color: #000;
    border-bottom: none;
    padding: 0;
    position: relative;
  }

  .gNav .mainNav li {
    display: flex;
    align-items: stretch;
  }

  .gNav .mainNav li a {
    display: flex;
    align-items: center;
    padding: 0 17px 3px;
    font-size: 18px;
  }

  .gHeader.scroll {
    height: 64px;
  }

  .gHeader.scroll .logo {
    height: 100%;
  }

  .gHeader.scroll .logo img {
    height: 100%;
    width: auto;
    margin-right: auto;
  }

  .gHeader.scroll .gNav .mainNav::after,
  .gHeader.scroll .ticketBtn::before {
    background-color: #fff;
  }

  .gHeader.scroll .ticketBtn {
    position: relative;
  }

  .gHeader.scroll .ticketBtn::after {
    content: '';
    display: block;
    width: 14px;
    height: 6px;
    background-color: #E60012;
    position: absolute;
    bottom: 0;
    left: -2px;
    top: auto;
  }
}

/* mainContents */
h1 img {
  width: 100%;
}

.contBox h2 {
  font-size: calc(120/750 * 100vw);
  font-family: "Roboto Condensed", sans-serif;
  font-style: italic;
  background: linear-gradient(302deg, rgba(24, 184, 236, 1) 0%, rgba(190, 56, 255, 1) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-align: left;
  padding: 0 calc(40/750 * 100vw) calc(19/750 * 100vw);
}

.contBox h2 p {
  font-size: calc(120/750 * 100vw);
  font-family: "Roboto Condensed", sans-serif;
  font-style: italic;
  background: linear-gradient(302deg, rgba(24, 184, 236, 1) 0%, rgba(190, 56, 255, 1) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-align: left;
}

.contBox h2 span {
  font-family: "Noto Sans JP", sans-serif;
  font-size: calc(26/750 * 100vw);
  color: #fff;
  -webkit-text-fill-color: #fff;
  letter-spacing: 0.01em;
  font-weight: 500;
}

.contBox .line {
  background: linear-gradient(302deg, rgba(24, 184, 236, 1) 0%, rgba(190, 56, 255, 1) 100%);
  flex: none;
  height: 1px;
  margin: 0 auto calc(60/750 * 100vw);
  transform-origin: left;
  /* 左端からの変形 */
  transform: scaleX(0);
  /* 初期状態はスケール0 */
  max-width: calc(670/750 * 100vw);
  transition: transform 0.5s linear;
  /* トランスフォームの変化にトランジションを設定 */
}

.contBox .line.start {
  transform: scaleX(1);
  /* スクロール時にスケールを1に変更 */
}

.contBox h3 {
  text-align: center;
  position: relative;
  font-size: calc(50/750 * 100vw);
  margin-bottom: calc(24/750 * 100vw);
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #fff;
  font-weight: 500;
}

.contBox h3 span.miniTitle {
  position: relative;
  display: inline-block;
  padding: 0 0.25em;
  font-weight: 900;
  z-index: 1;
}

.wrapperPc {
  max-width: 100%;
}

@media screen and (min-width: 768px) {

  /* mainContents */
  .wrapper {
    max-width: 1340px;
    margin: 0 auto;
    padding: 0;
    position: relative;
  }

  .wrapperPc {
    max-width: calc(1340/1440 * 100vw);
    margin: 0 auto;
  }

  .contBox h2 {
    max-width: calc(940/1440 * 100vw);
    font-size: calc(80/1440 * 100vw);
    padding: 0 0 calc(19/1440 * 100vw);
    margin: 0 auto;
  }

  .contBox h2 p {
    font-size: calc(80/1440 * 100vw);
  }

  .contBox h2 span {
    font-size: calc(20/1440 * 100vw);
    letter-spacing: 0.01em;
  }

  .contBox .line {
    max-width: calc(940/1440 * 100vw);
    margin: 0 auto calc(42/1440 * 100vw);
  }

  .contBox h3 {
    font-size: calc(50/1440 * 100vw);
    margin-bottom: calc(23/1440 * 100vw);
  }
}

/* link */
.linkRaceBox {
  background: url(../images/race_bg.png) no-repeat bottom center/ 100%;
}

.linkBox {
  padding: calc(95/750 * 100vw) 0 calc(70/750 * 100vw);
}

.linkBox .linksWrap {
  width: calc(670/750 * 100vw);
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.linkBox .linksWrap a {
  display: flex;
  align-items: center;
  width: 47%;
  position: relative;
  margin-right: calc(18/750 * 100vw);
  margin-bottom: calc(28/750 * 100vw);
  padding-left: 0 calc(20/750 * 100vw);
  padding-bottom: calc(28/750 * 100vw);
  border-bottom: 1px solid #fff;
  font-size: calc(28/750 * 100vw);
  font-feature-settings: "palt";
}

.linkBox .linksWrap a img {
  max-width: calc(58/750 * 100vw);
  vertical-align: middle;
}

.linkBox .linksWrap a:nth-child(n) img {
  margin-right: calc(10/750 * 100vw);
}

.linkBox .linksWrap a:nth-child(2n) img {
  margin-right: calc(20/750 * 100vw);
}

.linkBox .linksWrap a:nth-child(2n) {
  padding-left: calc(15/750 * 100vw);
}

.linkBox .linksWrap a {
  color: #fff;
  text-decoration: none;
}

.linkBox .linkBg .linksWrap a::after {
  content: '';
  display: inline-block;
  margin-left: auto;
  width: 10px;
  height: 10px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(135deg);
}

@media screen and (min-width: 768px) {
  .linkRaceBox {
    background: url(../images/race_bg_pc.png) no-repeat top center/ contain;
  }

  /* limk */
  .linkBox {
    padding: calc(78/1440 * 100vw) 0 calc(58/1440 * 100vw);
  }

  .linkBox .linksWrap {
    max-width: calc(800/1440 * 100vw);
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .linkBox .linksWrap a {
    width: 31.8%;
    padding-left: calc(20/1440 * 100vw);
    padding-bottom: calc(14/1440 * 100vw);
    font-size: calc(18/1440 * 100vw);
    margin-right: calc(18/1440 * 100vw);
    margin-bottom: calc(26/1440 * 100vw);
  }

  .linkBg .linksWrap a:nth-child(3),
  .linkBg .linksWrap a:nth-child(6) {
    margin-right: 0;
  }

  .linkBox .linksWrap a img {
    max-width: calc(37/1440 * 100vw);
    margin-right: calc(10/1440 * 100vw);
  }

  .linkBox .linksWrap a:nth-child(2n) {
    padding-left: calc(20/1440 * 100vw);
  }
}

/* race */

.raceBox h3 {
  text-align: left;
}

.raceTxt {
  font-size: calc(30/750 * 100vw);
  line-height: 2;
  color: #fff;
  margin-bottom: calc(55/750 * 100vw);
}

.raceBox .wrapper {
  padding: 0 calc(38/750 * 100vw);
  margin: calc(44/750 * 100vw) auto 0;
  letter-spacing: 0.045em;
  font-feature-settings: "palt";
}

.raceBox figure img {
  width: calc(750/750 * 100vw);
  height: calc(450/750 * 100vw);
}

.raceCatch {
  font-size: calc(70/750 * 100vw);
  color: #fff;
  line-height: 1.32;
}

.raceBox figure.car {
  width: calc(697/750 * 100vw);
  margin-top: calc(-40/750 * 100vw);
  margin-left: auto;
}

@media screen and (min-width: 768px) {
  .linkRaceBox {
    background: url(../images/race_bg_pc.png) no-repeat bottom center/ contain, #1236ab;
  }

  .raceBg {
    position: relative;
    padding-bottom: calc(68/1440 * 100vw);
  }

  .raceBox h3 {
    display: block;
    font-size: calc(40/1440 * 100vw);
    width: 50%;
    margin-left: auto;
  }

  .raceTxt {
    font-size: calc(20/1440 * 100vw);
    width: 50%;
    margin-left: auto;
    margin-bottom: calc(55/1440 * 100vw);
    letter-spacing: 0.076em;
  }

  .raceTxt p {
    max-width: calc(470/1440 * 100vw);
  }

  .raceBox .wrapper {
    max-width: 1340px;
    width: calc(1340/1440 * 100vw);
    padding: 0;
    margin: 0 auto;
    letter-spacing: 0.045em;
  }

  .raceBox figure img {
    margin-top: calc(22/1440 * 100vw);
    width: calc(630/1440 * 100vw);
    height: auto;
    float: left;
  }

  .raceCatch {
    font-size: calc(50/1440 * 100vw);
    line-height: 1.43;
    margin-left: calc(200/1440 * 100vw);
  }

  .raceBox figure.car {
    max-width: 607px;
    width: calc(607/1440 * 100vw);
    margin-top: calc(-40/1440 * 100vw);
    margin-left: auto;
    position: absolute;
    bottom: 0;
    right: calc(150 / 1440* 100vw);
  }
}

/* driver */
.driverBg {
  background: url(../images/driver_bg.png) no-repeat top center/ 100%;
  padding: calc(145 / 750* 100vw) 0 calc(88 / 750* 100vw);
}

.driverBox h3 {
  letter-spacing: 0em;
  margin-bottom: calc(60/750 * 100vw);
}

.driverBox .wrapper {
  padding: 0 calc(40/750 * 100vw);
}

.driverBox ul li:first-child {
  margin-bottom: calc(75/750 * 100vw);
}

.driverBox ul {
  margin-bottom: calc(205/750 * 100vw);
}

.driver01 {
  display: flex;
  justify-content: space-between;
  align-items: start;
  margin-bottom: calc(55/750 * 100vw);
}

.driver01 figure {
  width: calc(550/750 * 100vw);
}

.driver01 p {
  font-size: calc(100/750 * 100vw);
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  background: linear-gradient(302deg, rgba(24, 184, 236, 1) 0%, rgba(190, 56, 255, 1) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: "Roboto Condensed", sans-serif;
  line-height: 1;
  letter-spacing: 0.034em;
}

.driver01Box {
  position: relative;
}

.driverName {
  position: absolute;
  right: 0;
  bottom: calc(-24/750 * 100vw);
  font-size: calc(50/750 * 100vw);
  padding-bottom: calc(22/750 * 100vw);
  color: #fff;
  border-bottom: 1px solid #fff;
  letter-spacing: 0.04em;
}

.driverName span {
  font-size: calc(30/750 * 100vw);
}

.driverTxt {
  font-size: calc(30/750 * 100vw);
  line-height: 2;
  color: #fff;
  letter-spacing: 0.035em;
  font-feature-settings: "palt";
}

.driver02Box p {
  margin: calc(12/750 * 100vw) auto 0 calc(-13/750 * 100vw);
}

.driver02Box .driverName {
  bottom: calc(-45/750 * 100vw);
}

.driver02Box .driver01 {
  margin-bottom: calc(75/750 * 100vw);
}

@media screen and (min-width: 768px) {

  /* driver */
  .driverBg {
    background: url(../images/driver_bg_pc.png) no-repeat top center/ 100%, #05135c;
    padding: calc(80/1440 * 100vw) 0 calc(62/1440 * 100vw);
  }

  .driverBox h3 {
    letter-spacing: 0em;
    margin-bottom: calc(70/1440 * 100vw);
  }

  .driverBox .wrapper {
    max-width: 1340px;
    margin: 0 auto;
    padding: 0;
  }

  .driverBox ul li:first-child {
    margin-bottom: 0;
  }

  .driverBox ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 auto calc(316/1440 * 100vw);
    width: calc(940/1440 * 100vw);
  }

  .driverBox li {
    width: calc(430/1440 * 100vw);
  }

  .driver01 {
    display: flex;
    flex-direction: column-reverse;
    justify-content: space-between;
    align-items: center;
    margin-bottom: calc(45/1440 * 100vw);
  }

  .driver02Box .driver01 {
    flex-direction: column;
  }

  .driver01 figure {
    width: calc(430/1440 * 100vw);
  }

  .driver01 p {
    font-size: calc(50/1440 * 100vw);
    writing-mode: horizontal-tb;
    line-height: 1;
    letter-spacing: 0.034em;
    margin: 0 auto calc(20/1440 * 100vw) 0;
  }

  .driver01Box {
    position: relative;
  }

  .driverName {
    position: absolute;
    right: 0;
    bottom: calc(-20/1440 * 100vw);
    font-size: calc(36/1440 * 100vw);
    padding-bottom: calc(17/1440 * 100vw);
    letter-spacing: 0.04em;
  }

  .driverName span {
    font-size: calc(21/1440 * 100vw);
  }

  .driverTxt {
    font-size: calc(20/1440 * 100vw);
    line-height: 2;
    letter-spacing: 0.035em;
  }

  .driver02Box p {
    margin: 0 auto calc(-10/1440 * 100vw) 0;
  }

  .driver02Box .driverName {
    bottom: calc(-30/1440 * 100vw);
  }

  .driver02Box .driver01 {
    margin-bottom: calc(70/1440 * 100vw);
  }

}

/* kyojo */
.kyojo {
  margin-bottom: calc(370/750 * 100vw);
}

.kyojo h3 {
  text-align: left;
  margin-bottom: calc(30/750 * 100vw);
}

.kyojo h3 p {
  display: inline-block;
  background: #fff;
  color: #ff1c5c;
  text-align: left;
  line-height: 1.3;
  padding: 0 calc(16/750 * 100vw) 0 calc(18/750 * 100vw);
}

.kyojo h3 p:last-child {
  margin-top: calc(11/750 * 100vw);
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}

.kyojoTxt {
  font-size: calc(30/750 * 100vw);
  line-height: 2;
  color: #fff;
  letter-spacing: 0.035em;
  font-feature-settings: "palt";
}

@media screen and (min-width: 768px) {

  /* kyojo */
  .kyojo {
    margin-bottom: calc(8/1440 * 100vw);
  }

  .kyojo .wrapper {
    max-width: calc(940/1440 * 100vw);
  }

  .kyojo h3 {
    text-align: left;
    margin-bottom: calc(25/1440 * 100vw);
  }

  .kyojo h3 p {
    display: table;
    text-align: left;
    line-height: 1.3;
    padding: 0 calc(16/1440 * 100vw) 0 calc(18/1440 * 100vw);
  }

  .kyojo h3 p:last-child {
    margin-top: calc(11/1440 * 100vw);
    letter-spacing: 0.05em;
  }

  .kyojoTxt {
    width: calc(660/1440 * 100vw);
    font-size: calc(20/1440 * 100vw);
    line-height: 2;
    letter-spacing: 0.035em;
  }

}

/* ticket */
.ticketBox {}

.ticketBg {
  background: url(../images/tiket_frame.png)no-repeat top calc(305/750 * 100vw) center/ calc(713/750 * 100vw), url(../images/ticket_bg.png) no-repeat top center/ 100%;
  padding: calc(105/750 * 100vw) 0 calc(170/750 * 100vw);
}

.ticketBox .line {
  margin: 0 auto calc(155/750 * 100vw);
}

.ticketBox .ticketFrame {
  width: calc(620/750 * 100vw);
  margin: 0 auto;
  color: #132d6e;
}

.ticketBox .ticketFrame li {
  text-align: center;
}

.ticketBox .ticketFrame h3 {
  font-size: calc(76/750 * 100vw);
  margin-bottom: calc(48/750 * 100vw);
  line-height: 1.25;
  color: #132d6e;
  font-weight: bold;
}

.ticketBox .subTitle {
  position: relative;
  background: #fff;
  font-size: calc(30/750 * 100vw);
  border: calc(1/750 * 100vw) solid #132d6e;
  border-radius: calc(27/750 * 100vw);
  width: calc(230/750 * 100vw);
  padding: calc(14/750 * 100vw) 0;
  margin: 0 auto calc(32/750 * 100vw);
  z-index: 2;
}

.ticketBox .subTitle::before,
.ticketBox .subTitle::after {
  position: absolute;
  top: 50%;
  width: calc(170/750 * 100vw);
  height: 4px;
  background-image: radial-gradient(circle, #000 1px, rgba(0, 0, 0, 0) 2px);
  background-size: 12px 4px;
  background-repeat: repeat-x;
  content: '';
  z-index: 1;
}

.ticketBox .subTitle:before {
  left: calc(-178/750 * 100vw);
  /* 必要に応じて調整 */
}

.ticketBox .subTitle:after {
  right: calc(-178/750 * 100vw);
  /* 必要に応じて調整 */
}

.ticketFrame ul:first-of-type li:nth-child(2) {
  font-size: calc(26/750 * 100vw);
  margin: 0 auto calc(20/750 * 100vw);
}

.ticketFrame ul:first-of-type li:nth-child(3) {
  font-size: calc(50/750 * 100vw);
  letter-spacing: 0.06em;
  margin: 0 auto calc(10/750 * 100vw);
  line-height: 1.5;
  font-feature-settings: "palt";
}

.ticketFrame ul:first-of-type li:nth-child(3) span {
  font-size: calc(36/750 * 100vw);
}

.ticketFrame ul:first-of-type li:nth-child(4) {
  margin: 0 auto calc(50/750 * 100vw);
  font-size: calc(26/750 * 100vw);
  color: #000;
  line-height: 2;
  font-feature-settings: "palt";
}

.ticketFrame ul:nth-of-type(2) li:nth-child(2) {
  display: block;
}

.triangle1 {
  width: 0;
  height: 0;
  border-left: calc(60/750 * 100vw) solid transparent;
  border-right: calc(60/750 * 100vw) solid transparent;
  border-top: calc(30/750 * 100vw) solid #e60012;
  margin: 0 auto;
}

.ticketFrame ul .price01 {
  font-size: calc(30/750 * 100vw);
  color: #000;
  margin: 0 auto calc(16/750 * 100vw);
  text-align: center;
  line-height: 1.2;
}

.ticketFrame ul .price01 span.yen,
.ticketFrame ul .price01 span.yen02 {
  font-size: calc(36/750 * 100vw);
}

.ticketFrame ul span.price {
  position: relative;
  font-size: calc(60/750 * 100vw);
}

.ticketFrame ul span.price::after {
  content: '';
  transform: rotate(-8deg);
  width: 100%;
  border-top: calc(2/750 * 100vw) solid #f00;
  position: absolute;
  top: 50%;
  left: 0;
}

.ticketFrame ul .price02 {
  font-size: calc(36/750 * 100vw);
  color: #000;
  margin: 0 auto calc(28/750 * 100vw);
  line-height: 1;
  text-align: center;
}

.ticketFrame ul .price02 span {
  font-size: calc(146/750 * 100vw);
  color: #e60012;
  position: relative;
  font-family: "Roboto Condensed", sans-serif;
  z-index: 1;
}

.ticketFrame ul .price02 span::before {
  content: '';
  position: absolute;
  top: -15%;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(transparent 80%, #fffa78 80%);
  pointer-events: none;
  z-index: -1;
}

.ticketFrame ul .price02 span.yen {
  font-size: calc(80/750 * 100vw);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}

.ticketFrame ul:nth-of-type(2) li:nth-child(4) {
  font-size: calc(22/750 * 100vw);
  color: #000;
  margin: 0 auto calc(24/750 * 100vw) calc(40/750 * 100vw);
}

.note01 {
  font-size: calc(22/750 * 100vw);
  color: #000;
  text-align: center;
  margin: 0 auto calc(20/750 * 100vw);
}

.ticketFrame .note02 {
  font-size: calc(18/750 * 100vw);
  color: #000;
  text-align: right;
  margin: 0 calc(4/750 * 100vw) calc(30/750 * 100vw) 0;
}

.btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(600 / 750 * 100vw);
  padding: calc(47 / 750 * 100vw) calc(35 / 750 * 100vw) calc(49 / 750 * 100vw);
  margin: 0 auto;
  background: transparent;
  border: 1px solid #fff;
  color: #fff;
  font-size: calc(30 / 750 * 100vw);
  font-weight: bold;
  text-decoration: none;
  box-shadow: 0 calc(4 / 750 * 100vw) calc(6 / 750 * 100vw) rgba(0, 0, 0, 0.1);
  text-align: center;
  font-feature-settings: "palt";
}

.btn .arrow {
  display: inline-block;
  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;
  transform: rotate(-45deg);
}

.btn.ticketBtn {
  color: #fff;
  padding: calc(47 / 750 * 100vw) calc(35 / 750 * 100vw) calc(49 / 750 * 100vw) calc(35 / 750 * 100vw);
  background: linear-gradient(270deg, rgba(230, 0, 18, 1) 0%, rgba(255, 64, 64, 1) 100%);
  font-size: calc(36 / 750 * 100vw);
  box-shadow: 0 calc(10 / 750 * 100vw) calc(10 / 750 * 100vw) rgba(0, 0, 0, 0.2);
  border: none;
}

.ticketBtn .icon {
  position: absolute;
  width: calc(73/750 * 100vw);
  left: 20%;
}

.ticketBtn span {
  margin-left: calc(90/750 * 100vw);
}

.ticketBtn .arrow {
  border: solid #fff;
  border-width: 0 calc(2/750 * 100vw) calc(2/750 * 100vw) 0;
  transform: rotate(-45deg);
}

@media screen and (min-width: 768px) {

  /* ticket */
  .ticketBg {
    background: url(../images/tiket_frame_pc.png)no-repeat top calc(244/1440 * 100vw) center/ calc(938/1440 * 100vw), url(../images/tiket_bg_pattern.png) repeat top center/ auto;
    padding: calc(90/1440 * 100vw) 0 calc(148/1440 * 100vw);
  }

  .ticketBox .line {
    margin: 0 auto calc(140/1440 * 100vw);
  }

  .ticketBox .ticketFrame {
    width: calc(840/1440 * 100vw);
  }

  .ticketBox .ticketFrame h3 {
    font-size: calc(50/1440 * 100vw);
    margin-bottom: calc(48/1440 * 100vw);
    line-height: 1.25;
    letter-spacing: 0.05em;
    font-feature-settings: "palt";
  }

  .ticketBox .subTitle {
    position: relative;
    background: #fff;
    font-size: calc(24/1440 * 100vw);
    border: calc(1/1440 * 100vw) solid #132d6e;
    border-radius: calc(21/1440 * 100vw);
    width: calc(184/1440 * 100vw);
    padding: calc(8/1440 * 100vw) 0;
    margin: 0 auto calc(25/1440 * 100vw);
  }

  .ticketBtn span {
    margin-left: 0;
  }

  .ticketBox .subTitle::before,
  .ticketBox .subTitle::after {
    width: calc(326/1440 * 100vw);
  }

  .ticketBox .subTitle:before {
    left: calc(-326/1440 * 100vw);
  }

  .ticketBox .subTitle:after {
    right: calc(-326/1440 * 100vw);
  }

  .ticketFrame {
    position: relative;
  }

  .ticketFrame ul:first-of-type li:nth-child(2) {
    font-size: calc(22/1440 * 100vw);
    margin: 0 auto calc(8/1440 * 100vw);
  }

  .ticketFrame ul:first-of-type li:nth-child(3) {
    font-size: calc(44/1440 * 100vw);
    letter-spacing: 0.06em;
    margin: 0 auto calc(10/1440 * 100vw);
    line-height: 1.5;
  }

  .ticketFrame ul:first-of-type li:nth-child(3) span {
    font-size: calc(31/1440 * 100vw);
  }

  .ticketFrame ul:first-of-type li:nth-child(4) {
    margin: 0 auto calc(30/1440 * 100vw);
    font-size: calc(22/1440 * 100vw);
    letter-spacing: 0.03em;
  }

  .ticketFrame ul:nth-of-type(2) li:nth-child(2) {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .ticketFrame ul span.price {
    font-size: calc(56/1440 * 100vw);
  }

  .ticketFrame ul .price01 {
    font-size: calc(26/1440 * 100vw);
    text-align: left;
    font-feature-settings: "palt";
    letter-spacing: 0.05em;
    line-height: 1.2;
    margin: 0 auto calc(16/1440 * 100vw);
  }

  .ticketFrame ul .price01 span.yen02 {
    font-size: calc(26/1440 * 100vw);
  }

  .ticketFrame ul .price01 span.yen {
    font-size: calc(30/1440 * 100vw);
  }

  .ticketFrame ul .price02 {
    font-size: calc(32/1440 * 100vw);
    margin: 0 calc(14/1440 * 100vw) calc(14/1440 * 100vw) 0;
    line-height: 0.2;
    text-align: left;
  }

  .ticketFrame ul .price02 span {
    font-size: calc(121/1440 * 100vw);
  }

  .ticketFrame ul .price02 span::before {
    top: -15%;
    left: 0;
  }


  .ticketFrame ul .price02 span.yen {
    font-size: calc(63/1440 * 100vw);
  }

  .ticketFrame ul:nth-of-type(2) li:nth-child(4) {
    font-size: calc(18/1440 * 100vw);
    color: #000;
    margin: 0 auto calc(24/1440 * 100vw) 0;
    text-align: left;
  }

  .ticketFrame .note {
    display: flex;
    justify-content: end;
    align-items: baseline;
    margin-bottom: calc(32/1440 * 100vw);
  }

  .ticketFrame .note01 {
    text-align: right;
    color: #000;
    font-size: calc(18/1440 * 100vw);
    margin: 0;
  }

  .ticketFrame .note02 {
    font-size: calc(14/1440 * 100vw);
    margin: calc(20/1440 * 100vw) calc(4/1440 * 100vw) 0 0;
  }

  .ticketFrame .ticketBtn {
    width: calc(840 / 1440 * 100vw);
    padding: calc(41 / 1440 * 100vw) calc(35 / 1440 * 100vw) calc(41 / 1440 * 100vw) calc(50 / 1440 * 100vw);
    font-size: calc(36 / 1440 * 100vw);
    box-shadow: 0 calc(10 / 1440 * 100vw) calc(10 / 1440 * 100vw) rgba(0, 0, 0, 0.2);
  }

  .ticketBtn .icon {
    width: calc(58/1440 * 100vw);
    position: absolute;
    left: 26%;
  }

  .triangle1 {
    border-left: calc(40/1440 * 100vw) solid transparent;
    border-right: calc(40/1440 * 100vw) solid transparent;
    border-top: calc(20/1440 * 100vw) solid #e60012;
    transform: rotate(-90deg);
  }

  .btn .arrow {
    border-width: 0 calc(2/1440 * 100vw) calc(2/1440 * 100vw) 0;
    width: calc(18/1440 * 100vw);
    height: calc(18/1440 * 100vw);
  }

  .btn {
    width: calc(600 / 1440 * 100vw);
    padding: calc(47 / 1440 * 100vw) calc(35 / 1440 * 100vw) calc(49 / 1440 * 100vw);
    font-size: calc(30 / 1440 * 100vw);
    font-weight: bold;
    text-decoration: none;
    box-shadow: 0 calc(4 / 1440 * 100vw) calc(6 / 1440 * 100vw) rgba(0, 0, 0, 0.1);
  }
}

/* event */
.eventBg {
  background: url(../images/event_bg.png) no-repeat top center/ 100%, #e3ecff;
  padding: calc(100/750 * 100vw) 0 calc(125/750 * 100vw);
}

.eventBox h2 span {
  -webkit-text-fill-color: #000;
}

.eventBox .line {
  margin: 0 auto calc(50/750 * 100vw);
}

.eventBox .wrapper {
  text-align: center;
}

.eventBox h3 {
  display: inline-block;
  color: #fff;
  background: linear-gradient(100deg, rgba(255, 28, 92, 1) 0%, rgba(255, 166, 62, 1) 100%);
  padding: 0 calc(20/750 * 100vw);
  line-height: 1.4;
  margin-bottom: calc(12/750 * 100vw);
}

.eventBox .subTitle {
  font-size: calc(70/750 * 100vw);
  text-align: center;
  font-weight: bold;
  color: #ff1c5c;
  line-height: 1.5;
  margin-bottom: calc(30/750 * 100vw);
}

.eventBox .eventTtlPic {
  width: calc(514/750 * 100vw);
  margin: 0 auto calc(100/750 * 100vw);
  box-shadow: calc(30/750 * 100vw) calc(30/750 * 100vw) calc(30/750 * 100vw) 0 rgba(33, 33, 33, 0.2);
}

.eventBox .eventTtlPic img {
  vertical-align: bottom;
}

.eventTxt {
  font-size: calc(30/750 * 100vw);
  line-height: 1.9;
  letter-spacing: 0.07em;
  margin: 0 auto calc(35/750 * 100vw);
  font-feature-settings: "palt";
}

.eventTxt span {
  color: #ff1c5c;
  font-weight: bold;
  border-bottom: calc(1/750 * 100vw) solid #ff1c5c;
  padding-bottom: calc(10/750 * 100vw);
  line-height: 2.1;
}

.soomContainer {
  width: calc(645/750 * 100vw);
  padding: calc(6/750 * 100vw);
  margin: 0 auto;
  border: calc(2/750 * 100vw) solid #fff;
  border-radius: calc(2/750 * 100vw);
  text-align: center;
}

.soom {
  padding: calc(42/750 * 100vw) calc(42/750 * 100vw);
  text-align: center;
  background-color: white;
  border: 2px solid transparent;
  position: relative;
}

.soom .soomTitle {
  font-size: calc(36/750 * 100vw);
  color: #132d6e;
  margin-bottom: calc(20/750 * 100vw);
  text-align: center;
  font-feature-settings: "palt";
  letter-spacing: 0.02em;
}

.soom .soomTxt {
  font-size: calc(80/750 * 100vw);
  background: linear-gradient(to right, #d500f9, #00e5ff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-style: italic;
  text-align: center;
  font-family: "Roboto Condensed", sans-serif;
  letter-spacing: 0.05em;
}

.eventType li {
  display: flex;
  flex-direction: column;
  margin: 0 auto calc(104/750 * 100vw);
}

.eventType li:first-child {
  margin: 0 auto calc(80/750 * 100vw);
}

.eventType,
.eventType:first-child figure {
  width: 100vw;
  margin: 0 calc(50% - 50vw) calc(50/750 * 100vw);
}


.eventType figure {
  width: 100vw;
  margin: 0 auto calc(45/750 * 100vw);
}


.eventType p {
  padding: 0 calc(40/750 * 100vw);
  font-size: calc(30/750 * 100vw);
  letter-spacing: 0.01em;
  line-height: 2;
  font-weight: 500;
  font-feature-settings: "palt";
}

.eventType p span {
  color: #2050bc;
  font-weight: 700;
}

.eventType01 {
  order: 1;
}

.eventType02 {
  order: 3;
}

.eventType03 {
  order: 2;
}

.eventType div {
  display: contents;
  color: #333;
  font-size: 1.2em;
  line-height: 1.5;
}

.eventType .event_mini {
  margin-top: calc(4/750 * 100vw);
  font-size: calc(18/750 * 100vw);
  text-align: right;
}

.eventType h4 {
  color: #ff0055;
  font-size: calc(50/750 * 100vw);
  margin-bottom: calc(60/750 * 100vw);
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.06em;
  font-feature-settings: "palt";
}


.eventTypeBlue {
  background: #e3ecff;
  padding: calc(90/750 * 100vw) 0 0;
}

.eventTypeBlue li:first-child figure {
  margin: 0 0 calc(50/750 * 100vw);
}

.eventTypeBlue h4 {
  color: #132d6e;
  margin-bottom: calc(50/750 * 100vw);
}


.eventType:last-of-type li:nth-child(2) {
  margin: 0 auto calc(70/750 * 100vw);
}

.eventBox .btn {
  width: calc(600 / 750 * 100vw);
  background: #fff;
  border: 1px solid #132d6e;
  color: #132d6e;
  padding: calc(52 / 750 * 100vw) calc(35 / 750 * 100vw) calc(52 / 750 * 100vw);
  box-shadow:none;
}

.eventBox .btn .arrow {
  border: solid #132d6e;
  border-width: 0 calc(2/750 * 100vw) calc(2/750 * 100vw) 0;
  transform: rotate(-45deg);
}


.eventBox .btn:hover span {
  color: #fff;
}
.eventBox .btn:hover .arrow{
  border: solid #fff;
  border-width: 0 calc(2/750 * 100vw) calc(2/750 * 100vw) 0;
  transform: rotate(-45deg);
}

@media screen and (min-width: 768px) {

  /* event */
  .eventBg {
    background: url(../images/event_bg_pc.png) no-repeat top center/ 100%, #e3ecff;
    padding: calc(86/1440 * 100vw) 0 calc(85/1440 * 100vw);
  }

  .eventBox .line {
    margin: 0 auto calc(50/1440 * 100vw);
  }

  .eventBox h2 {
    padding: 0 0 calc(15/1440 * 100vw);
  }

  .eventBox h3 {
    display: block;
    width: min(calc(379/1440 * 100vw), 379px);
    font-size: min(calc(41/1440 * 100vw), 41px);
    padding: 0 calc(10/1440 * 100vw);
    margin: min(calc(102/1440 * 100vw),102px) auto min(calc(25/1440 * 100vw),25px) min(calc(455 / 1440* 100vw),455px);
  }

  .eventBox .subTitle {
    width: min(calc(606 / 1440* 100vw), 606px);
    margin: 0 auto min(calc(128 / 1440* 100vw),128px) min(calc(345 / 1440* 100vw),345px);
    font-size: min(calc(68/1440 * 100vw), 68px);
    line-height: 1.25;
    letter-spacing: -0.01em;
  }

  .eventBox .eventTtlPic {
    position: absolute;
    left: 0;
    top: calc(-52/1440 * 100vw);
    max-width: 301px;
    width: calc(301/1440 * 100vw);
    box-shadow: calc(10/1440 * 100vw) calc(10/1440 * 100vw) calc(10/1440 * 100vw) 0 rgba(33, 33, 33, 0.2);
  }

  .eventBg .wrapper {
    max-width: 940px;
    width: calc(940/1440 * 100vw);
  }

  .eventTxt {
    font-size: min(calc(20/1440 * 100vw), 20px);
    width: calc(540/1440 * 100vw);
    max-width: 540px;
    margin: 0 0 calc(105/1440 * 100vw) auto;
  }

  .eventTxt span {
    border-bottom: calc(1/1440 * 100vw) solid #ff1c5c;
    padding-bottom: calc(10/1440 * 100vw);
  }

  .soomContainer {
    width: calc(700/1440 * 100vw);
    padding: calc(6/1440 * 100vw);
    border-radius: calc(4/1440 * 100vw);
  }

  .soom {
    padding: calc(17/1440 * 100vw) calc(12/1440 * 100vw);
  }

  .soom .soomTitle {
    font-size: min(calc(24/1440 * 100vw), 24px);
    margin-bottom: calc(20/1440 * 100vw);
  }

  .soom .soomTxt {
    font-size: min(calc(64/1440 * 100vw), 64px);
  }

  .eventType,
  .eventType figure {
    width: 100%;
    margin: 0 auto;
  }

  .eventType li {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    margin: 0 auto min(calc(82/1440 * 100vw), 82px);
    width: min(calc(940/1440 * 100vw), 940px);
  }

  .eventType:last-of-type li:nth-child(2) {
    margin: 0 auto min(calc(90/1440 * 100vw), 90px);
  }

  .eventType:last-of-type li {
    align-items: start;
  }

  .eventType li:first-child {
    margin: 0 auto min(calc(82/1440 * 100vw), 82px);
  }

  .eventType li:last-child {
    margin: 0 auto min(calc(96/1440 * 100vw), 96px);
  }

  .eventType:first-of-type li:first-child {
    margin: 0 auto min(calc(86/1440 * 100vw), 86px);
  }


  .eventTypeBlue {
    width: 100vw;
    padding: min(calc(90/1440 * 100vw), 90px) 0 0;
    margin: 0 calc(50% - 50vw);
  }

  .eventType:last-of-type li:last-child {
    margin: 0 auto min(calc(80/1440 * 100vw), 80px);
  }

  .eventType:last-of-type li:nth-child(2) div,
  .eventType:first-of-type li div {
    margin: min(calc(-18/1440 * 100vw), -18px) 0 0;
  }

  .eventType li div {
    display: block;
    width: 50%;
    margin: 0;
  }

  .eventType:first-of-type li:first-child div {
    width: 58%;
    margin: min(calc(18/1440 * 100vw), 18px) 0 0;
  }

  .eventType:first-of-type li:first-child figure {
    width: min(calc(383/1440 * 100vw), 383px);
    margin: 0;
  }

  .eventTypeBlue li:first-child figure,
  .eventType li figure {
    width: min(calc(435/1440 * 100vw), 435px);
    margin: 0;
  }

  .eventType div {
    display: contents;
  }

  .eventType h4 {
    font-size: min(calc(40/1440 * 100vw), 40px);
    margin-bottom: min(calc(20/1440 * 100vw), 20px);
    text-align: left;
    letter-spacing: 0.04em;
  }

  .eventBox .btn {
    width: min(calc(700 / 1440 * 100vw),700px);
    padding: min(calc(32 / 1440 * 100vw),32px) min(calc(35 / 1440 * 100vw),35px) min(calc(32 / 1440 * 100vw),32px);
    font-size: calc(24/1440 * 100vw);
  }

  .eventBox .btn .arrow {
    border-width: 0 min(calc(2 / 1440 * 100vw),2px) min(calc(2 / 1440 * 100vw),2px) 0;
  }
  
  .eventBox .btn:hover .arrow{
    border-width: 0 min(calc(2 / 1440 * 100vw),2px) min(calc(2 / 1440 * 100vw),2px) 0;
  }


  .eventType li:first-child p {
    letter-spacing: 0.08em;
  }

  .eventType p {
    padding: 0;
    text-align: left;
    font-size: min(calc(20/1440 * 100vw), 20px);
    line-height: 2;
    letter-spacing: 0.04em;
  }

  .eventType .event_mini {
    margin-top: min(calc(20/1440 * 100vw), 20px);
    font-size: min(calc(14/1440 * 100vw), 14px);
  }

  .eventType03 {
    order: 0;
  }

}

/* stand */
.standBg {
  background: url(../images/stand_bg_illustration.png) no-repeat top center/calc(750/750 * 100vw), url(../images/stand_bg.png) no-repeat top center/100%;
  padding: calc(202/750 * 100vw) 0 calc(117/750 * 100vw);
}

.standBox h3 {
  letter-spacing: 0.01em;
  margin-bottom: calc(40/750 * 100vw);
  font-family: "Roboto Condensed", sans-serif;
}

ul.stand_slide {
  margin-bottom: calc(50/750 * 100vw);
}

.stand_slide li {
  width: calc(670/750 * 100vw);
  margin-right: calc(20/750 * 100vw);
}

.stand_slide01 {
  margin-bottom: calc(120/750 * 100vw);
}

.standTxt {
  width: calc(660/750 * 100vw);
  font-size: calc(30/750 * 100vw);
  line-height: 2;
  color: #fff;
  letter-spacing: 0.035em;
  margin: 0 auto calc(108/750 * 100vw);
  font-feature-settings: "palt";
}

.stand_slide02 h3 span {
  text-align: center;
}

.stand_slide02 h3 span.miniTitle {
  font-size: calc(30/750 * 100vw);
  line-height: 1.4;
}

.stand_slide02 .standTxt {
  margin-bottom: calc(50/750 * 100vw);
}

@media screen and (min-width: 768px) {

  /* stand */
  .standBg {
    background: url(../images/stand_bg_illustration_pc.png) no-repeat top center/calc(1440/1440 * 100vw), url(../images/stand_bg_pattern.png) repeat top center/calc(94/1440 * 100vw);
    padding: calc(137/1440 * 100vw) 0 calc(94/1440 * 100vw);
  }

  .standBox h3 {
    margin-bottom: calc(54/1440 * 100vw);
    font-size: calc(40/1440 * 100vw);
  }

  ul.stand_slide {
    max-width: 1440px;
    width: calc(1440/1440 * 100vw);
    margin: 0 auto calc(35/1440 * 100vw);
  }

  .stand_slide li {
    width: calc(412/1440 * 100vw);
    margin-right: calc(20/1440 * 100vw);
  }

  .stand_slide01 {
    margin-bottom: calc(70/1440 * 100vw);
  }

  .standTxt {
    width: calc(660/1440 * 100vw);
    font-size: calc(20/1440 * 100vw);
    padding: 0 0;
    margin: 0 auto;
  }

  .stand_slide02 h3 {
    line-height: 1.4;
    margin-bottom: calc(35/1440 * 100vw);
  }

  .stand_slide02 h3 span.miniTitle {
    font-size: calc(24/1440 * 100vw);
    font-weight: 500;
  }

  .stand_slide02 .standTxt {
    margin-bottom: calc(50/1440 * 100vw);
  }

  .standBox .btn {
    font-size: calc(24/1440 * 100vw);
    width: calc(700 / 1440 * 100vw);
    background: transparent;
    border: #fff 2px solid;
    color: #fff;
    padding: calc(32 / 1440 * 100vw) calc(35 / 1440 * 100vw) calc(32 / 1440 * 100vw);
  }

  .standBox .arrow {
    background: transparent;
    color: #fff;
    border: solid #fff;
    border-width: 0 calc(2/1440 * 100vw) calc(2/1440 * 100vw) 0;
  }
}

/* food */
.foodBg {
  background: url(../images/food_bg.png)no-repeat top center/100%;
  padding: calc(62/750 * 100vw) 0 calc(76/750 * 100vw);
}

.foodBox h2 {
  padding: 0 calc(40/750 * 100vw) calc(10/750 * 100vw);
}

.foodBox h2 p {
  font-size: calc(80/750 * 100vw);
  letter-spacing: 0.06em;
}

.foodBox h2 span.and {
  font-size: calc(60/750 * 100vw);
  -webkit-text-fill-color: transparent;
}

.foodBox h2 span {
  -webkit-text-fill-color: #000;
}

.foodBox h3 {
  color: #132d6e;
  margin-bottom: calc(34/750 * 100vw);
}

.foodBox figure {
  margin-bottom: calc(34/750 * 100vw);
}

.foodTxt {
  font-size: calc(30/750 * 100vw);
  line-height: 2;
  letter-spacing: 0.035em;
  padding: 0 calc(40/750 * 100vw);
  margin-bottom: calc(108/750 * 100vw);
  font-feature-settings: "palt";
}

.foodTxt02 {
  margin-bottom: calc(34/750 * 100vw);
}

.foodBox .soomContainer {
  margin-bottom: calc(294/750 * 100vw);
}

.foodBox .foodTerrace h3 {
  letter-spacing: 0.025em;
  margin-bottom: calc(24/750 * 100vw);
  font-feature-settings: "palt";
}

.foodTerrace .foodTxt {
  margin-bottom: calc(720/750 * 100vw);
}

.foodEvent .foodTxt {
  letter-spacing: 0.05em;
  margin-bottom: calc(20/750 * 100vw);
}

ul.food_slide {
  margin-bottom: calc(50/750 * 100vw);
}

.food_slide li {
  width: calc(670/750 * 100vw);
  margin-right: calc(20/750 * 100vw);
}

@media screen and (min-width: 768px) {

  /* food */
  .foodBg {
    background: url(../images/food_bg_pc.png)no-repeat top center/100%, #e3ecff;
    padding: calc(88/1440 * 100vw) 0 calc(58/1440 * 100vw);
  }

  .foodBox h2 {
    padding: 0 0 calc(12/1440 * 100vw);
  }

  .foodBox h2 p {
    font-size: calc(80/1440 * 100vw);
    letter-spacing: 0.03em;
  }

  .foodBox h2 span.and {
    font-size: calc(60/1440 * 100vw);
  }

  .foodBox .line {
    margin: 0 auto calc(55/1440 * 100vw);
  }

  .foodBox h3 {
    width: 50%;
    text-align: left;
    margin: 0 0 calc(20/1440 * 100vw) auto;
    font-size: calc(40/1440 * 100vw);
  }

  .foodBox ul.food_slide {
    max-width: 435px;
    width: calc(435/1440 * 100vw);
    margin: calc(-70/1440 * 100vw) auto calc(35/1440 * 100vw);
    float: left;
  }

  .foodBox .food_slide li {
    width: calc(435/1440 * 100vw);
    max-width: 435px;
  }

  .food_slide .slick-dots li {
    width: calc(16/1440 * 100vw);
    max-width: 16px;
    height: calc(16/1440 * 100vw);
    max-height: 16px;
    margin: 0 3.2% 0 0;
  }

  .food_slide .slick-dots {
    bottom: -8.5%;
  }

  .food_slide .slick-dots li.slick-active button::before {
    opacity: 1;
    background-color: #132d6e;
  }

  .food_slide .slick-dots li button::before {
    content: '';
    width: calc(16/1440 * 100vw);
    max-width: 16px;
    height: calc(16/1440 * 100vw);
    max-height: 16px;
    background-color: transparent;
    border-radius: 50%;
    border: solid 1px #132d6e;
    text-align: center;
    opacity: 1;
    top: auto;
    left: auto;
    color: none;
  }



  .foodBox .wrapperPc {
    max-width: calc(940/1440 * 100vw);
    margin: 0 auto calc(160/1440 * 100vw);
    position: relative;
  }


  .foodBox figure {
    width: calc(630/1440 * 100vw);
    margin-bottom: calc(34/1440 * 100vw);
    position: absolute;
    top: calc(-22/1440 * 100vw);
    right: -21%;
  }

  .foodTxt {
    width: 50%;
    font-size: calc(20/1440 * 100vw);
    line-height: 2;
    padding: 0;
    margin: 0 0 calc(108/1440 * 100vw) auto;
  }

  .foodBox .wrapperPc:nth-of-type(3) {
    margin: 0 auto;
  }

  .foodBox .subTitle p {
    position: relative;
    display: inline-block;
    padding: calc(11/1440 * 100vw) calc(10/1440 * 100vw);
    font-size: calc(56/1440 * 100vw);
    background: linear-gradient(302deg, rgba(24, 184, 236, 1) 0%, rgba(190, 56, 255, 1) 100%);
    color: #fff;
    margin: 0 auto calc(11/1440 * 100vw);
    z-index: 2;
  }

  .foodBox .subTitle p:nth-child(2) {
    font-size: calc(46/1440 * 100vw);
    margin: 0 auto calc(24/1440 * 100vw);
  }

  .foodTxt02 {
    margin: 0 auto calc(95/1440 * 100vw) 0;
  }

  .foodBox .soomContainer {
    margin-bottom: calc(256/1440 * 100vw);
  }

  .foodBox .foodTerrace h3 {
    width: calc(800/1440 * 100vw);
    letter-spacing: 0.025em;
    margin: 0 auto calc(22/1440 * 100vw);
    text-align: center;
  }

  .foodBox .foodEvent h3 {
    margin: 0 auto calc(42 / 1440* 100vw);
  }

  .foodTerrace .foodTxt {
    width: calc(655/1440 * 100vw);
    margin: 0 auto calc(570/1440 * 100vw);
  }

  .foodEvent .foodTxt {
    letter-spacing: 0.05em;
    margin-bottom: calc(20/1440 * 100vw);
  }
}

/* camp */
.campBg {
  background: url(../images/camp_bg.png)no-repeat top center/100%;
  padding: calc(102/750 * 100vw) 0 calc(105/750 * 100vw);
}

.campBox h3 {
  letter-spacing: 0.02em;
  margin-bottom: calc(36/750 * 100vw);
  font-feature-settings: "palt";
}

.campBox h3 span {
  text-align: center;
}

.campTxt {
  padding: 0 calc(40/750 * 100vw);
  font-size: calc(30/750 * 100vw);
  line-height: 2;
  color: #fff;
  letter-spacing: 0.035em;
  margin: 0 auto calc(287/750 * 100vw);
  font-feature-settings: "palt";
}

.campTxt02 {
  margin-bottom: calc(55/750 * 100vw);
}

.campBox .btn_box a {
  margin-bottom: calc(30/750 * 100vw);
  padding: calc(55/750 * 100vw) calc(35/750 * 100vw);
  color: #fff;
  border: 1px solid #fff;
}

.campBox .btn_box a:last-child {
  line-height: 1.8;
  padding: calc(15/750 * 100vw) calc(35/750 * 100vw);
}

.campBox .campTypeBtn a:last-child {
  margin: calc(-54/750 * 100vw) auto calc(125/750 * 100vw);
  padding: calc(35/750 * 100vw) calc(35/750 * 100vw);
}

.campMuseum {
  margin: 0 auto calc(1010/750 * 100vw);
  padding: 0 calc(40/750 * 100vw);
  color: #fff;
  line-height: 1.95;
  font-size: calc(30/750 * 100vw);
  font-feature-settings: "palt";
  letter-spacing: 0.04em;
}

.campMuseum figure {
  width: calc(479/750 * 100vw);
  margin: 0 auto calc(34/750 * 100vw);
}

.campType li {
  display: flex;
  flex-direction: column;
  margin: 0 auto calc(80/750 * 100vw);
}

.campType figure {
  width: 100vw;
  margin: 0 calc(50% - 50vw) calc(50/750 * 100vw);
}

.campType p {
  padding: 0 calc(40/750 * 100vw);
  font-size: calc(30/750 * 100vw);
  letter-spacing: 0.03em;
  line-height: 1.84;
  font-weight: 500;
  letter-spacing: 0.05em;
  font-feature-settings: "palt";
}

.campType p span {
  color: #2050bc;
  font-weight: 700;
}

.campType01 span.miniTitle {
  font-size: calc(30/750 * 100vw);
}

.campType01 {
  order: 1;
}

.campType02 {
  order: 3;
}

.campType03 {
  order: 2;
}

.campType div {
  display: contents;
  color: #fff;
  font-size: 1.2em;
  line-height: 1.5;
}

.campType h4 {
  color: #fff;
  font-size: calc(50/750 * 100vw);
  margin-bottom: calc(40/750 * 100vw);
  font-weight: 700;
  text-align: center;
  font-feature-settings: "palt";
}

.campType li:nth-child(3) h4 {
  letter-spacing: 0.05em;
}

.campTypeBlue {
  background: #e3ecff;
}

@media screen and (min-width: 768px) {

  /* camp */
  .campBg {
    background: url(../images/camp_bg_pc.png)no-repeat top center/100%, #132d6e;
    padding: calc(90/1440 * 100vw) 0 calc(38/750 * 100vw);
  }

  .campBox h3 {
    letter-spacing: 0.02em;
    margin-bottom: calc(40/1440 * 100vw);
    font-size: calc(40/1440 * 100vw);
  }

  .campTxt {
    width: calc(660/1440 * 100vw);
    font-size: calc(20/1440 * 100vw);
    padding: 0 0;
    margin: 0 auto calc(290/1440 * 100vw);
  }

  .campTxt02 {
    margin-bottom: calc(55/1440 * 100vw);
  }

  .campBox .btn_box a {
    width: calc(720/1440 * 100vw);
    font-size: calc(24/1440 * 100vw);
    height: calc(100/1440 * 100vw);
    margin-bottom: calc(26/1440 * 100vw);
    padding: 0 calc(35/1440 * 100vw);
  }

  .campBox .btn_box a:last-child {
    line-height: 1;
    padding: 0 min(calc(35/1440 * 100vw), 35px);
  }

  .campBox .campTypeBtn a:last-child {
    width: min(calc(700/1440 * 100vw), 700px);
    margin: 0 auto min(calc(88/1440 * 100vw), 88px);
  }


  .campType {
    width: min(calc(940/1440 * 100vw), 940px);
    margin: 0 auto;
  }

  .campType li {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto min(calc(77/750 * 100vw), 77px);
  }

  .campType li:last-child {
    margin: 0 auto min(calc(92/750 * 100vw), 92px);
  }

  .campType01 span.miniTitle {
    font-size: min(calc(25/750 * 100vw), 25px);
  }

  .campType li div {
    display: block;
    width: 50%;
  }

  .campType:first-of-type li:first-child figure {
    width: min(calc(383/1440 * 100vw), 383px);
    margin: 0 auto;
  }

  .campType li figure {
    width: min(calc(435/1440 * 100vw), 435px);
    margin: 0;
  }

  .campType div {
    display: contents;
  }

  .campType h4 {
    width: min(calc(482/1440 * 100vw), 482px);
    font-size: min(calc(40/1440 * 100vw), 40px);
    margin-bottom: min(calc(20/1440 * 100vw), 20px);
    text-align: left;
    line-height: 1.42;
    letter-spacing: 0.05em;
  }

  .campType p {
    padding: 0;
    text-align: left;
    font-size: min(calc(20/1440 * 100vw), 20px);
    line-height: 2;
    letter-spacing: 0.05em;
  }

  .campType03 {
    order: 0;
  }

  .campMuseum figure {
    width: min(calc(332/1440 * 100vw),332px);
    margin: 0 auto calc(8/1440 * 100vw);
    text-align: center;
  }

  .campMuseum {
    width: calc(660/1440 * 100vw);
    margin: 0 auto calc(664/1440 * 100vw);
    padding: 0;
    color: #fff;
    line-height: 1.9;
    font-size: calc(20/1440 * 100vw);
    letter-spacing: 0.04em;
  }
}

/* sns */
.snsBg {
  background: url(../images/sns_bg.png)no-repeat top center/100%;
  padding: calc(102/750 * 100vw) 0 calc(80/750 * 100vw);
}

.snsBox h2 span {
  -webkit-text-fill-color: #000;
  font-style: italic;
}

.snsBox .line {
  margin: 0 auto calc(50/750 * 100vw);
}

.snsBox h3 {
  color: #132d6e;
}

.snsBox .btn_box a {
  background: #fff;
  border: 1px solid #132d6e;
  color: #132d6e;
  margin: 0 auto calc(25/750 * 100vw);
  padding: calc(55 / 750 * 100vw) calc(35 / 750 * 100vw) calc(55 / 750 * 100vw);
}

.snsBox .btn {
  box-shadow: none;
}

.snsBox .arrow {
  border: solid #132d6e;
  border-width: 0 calc(2/750 * 100vw) calc(2/750 * 100vw) 0;
  transform: rotate(-45deg);
}

.twitterBox {
  display: block;
  max-width: 670px;
  width: calc(670 / 750 * 100vw);
  margin: 0 auto;
  text-align: center;
  margin-bottom: calc(70/750 * 100vw);
}

/* スマホ向けの高さ設定 */
@media screen and (max-width: 769px) {
  .twitterBox {
    max-height: 596px;
    height: calc(596 / 750 * 100vw);
  }
}

/* PC向けの高さ設定 */
@media screen and (min-width: 768px) {
  .twitterBox {
    max-height: 479px;
    height: calc(479 / 1440 * 100vw);
    margin-bottom: calc(53/1440 * 100vw);
  }
}


@media screen and (min-width: 768px) {
  .snsBg {
    background: url(../images/sns_bg_pc.png)no-repeat top center/100%, #e3ecff;
    padding: calc(72/1440 * 100vw) 0 calc(80/1440 * 100vw);
  }

  .snsBox h3 {
    font-size: calc(40/1440 * 100vw);
  }

  .snsBox .line {
    margin: 0 auto calc(40/1440 * 100vw);
  }

  .snsBox .btn_box {
    width: calc(940/1440 * 100vw);
    display: flex;
    justify-content: space-between;
    margin: calc(40/1440 * 100vw) auto 0;
  }

  .snsBox .btn_box a {
    max-height: 100px;
    width: calc(300/1440 * 100vw);
    padding: calc(45 / 1440 * 100vw) calc(35 / 1440 * 100vw) calc(45 / 1440 * 100vw);
    font-size: calc(23/1440* 100vw);
  }
  .snsBox .btn_box .arrow{
    border-width: 0 min(calc(2/1440 * 100vw),2px) min(calc(2/1440 * 100vw),2px) 0;
  }
}

/* faqBox */
.faqBox {
  background-color: #132d6e;
  padding: calc(102/750 * 100vw) 0 calc(80/750 * 100vw);
}

.faqBox h2 {
  padding: 0 calc(40/750 * 100vw) calc(19/750 * 100vw) 0;
}

.faqBox .line {
  margin: 0 auto calc(80/750 * 100vw);
}

.faqBox .faqList dt {
  position: relative;
  overflow: hidden;
  line-height: 1.5;
  padding: calc(35/750 * 100vw) calc(20/750 * 100vw) calc(35/750 * 100vw) calc(90/750 * 100vw);
  background-color: #fff;
  font-size: calc(30/750 * 100vw);
  font-weight: 700;
  cursor: pointer;
  color: #132d6e;
}

.faqBox .faqList dd+dt {
  margin-top: 1.5em;
}

.faqBox .faqList dt .toggle {
  display: block;
  width: calc(36/750 * 100vw);
  height: calc(36/750 * 100vw);
  position: absolute;
  top: calc(50% - 10px);
  right: 1em;
}

.faqBox .faqList dt .toggle:before,
.faqBox .faqList dt .toggle:after {
  content: "";
  display: block;
  width: calc(36/750 * 100vw);
  height: 2px;
  position: absolute;
  top: calc(50% - 4px);
  left: calc(50% - 10px);
  background-color: #132d6e;
}

.faqBox .faqList dt .toggle:after {
  transform: rotate(90deg);
}

.faqBox .faqList dt.close .toggle:after {
  display: none;
}

.faqBox .faqList dd {
  font-size: calc(30/750 * 100vw);
  position: relative;
  overflow: hidden;
  line-height: 1.8125;
  padding: .8em .8em .8em .5em;
  color: #fff;
  line-height: 2;
}

.faqBox .faqList dd a {
  color: #fff;
  text-decoration: underline;
}

.faqBox .faqList dt .icoQ {
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: calc(85/750 * 100vw);
  text-align: center;
  font-size: calc(50/750 * 100vw);
  font-weight: 400;
  color: #132d6e;
}

.faqBox .faqList dt .icoQ {
  color: #132d6e;
}

@media screen and (min-width: 768px) {

  /* faqBox */
  .faqBox {
    padding: calc(90/1440 * 100vw) 0 calc(80/1440 * 100vw);
  }

  .faqBox h2 {
    padding: 0 calc(40 / 1440* 100vw) calc(19 / 1440* 100vw) 0;
  }

  .faqBox .line {
    margin: 0 auto calc(55/1440 * 100vw);
  }

  .faqList {
    max-width: 800px;
    width: calc(800/1440 * 100vw);
    margin: 0 auto;
  }

  .faqBox .faqList dd {
    font-size: min(calc(20/1440 * 100vw), 20px);
    padding: calc(23/1440 * 100vw) calc(20/1440 * 100vw) calc(20/1440 * 100vw) calc(30/1440 * 100vw);
  }

  .faqBox .faqList dt {
    font-size: min(calc(24/1440 * 100vw), 24px);
    color: #132d6e;
    padding: calc(30/1440 * 100vw) calc(30/1440 * 100vw) calc(30/1440 * 100vw) calc(70/1440 * 100vw);
  }

  .faqBox .faqList dd+dt {
    margin-top: calc(36/1440 * 100vw);
  }

  .faqBox .faqList dt .toggle:before,
  .faqBox .faqList dt .toggle:after {
    width: min(calc(30/1440 * 100vw), 30px);
    top: calc(50% + 10px);
    left: calc(50% - 20px);
  }

  .faqBox .faqList dt .toggle {
    width: min(calc(30/1440 * 100vw), 30px);
    height: min(calc(30/1440 * 100vw), 30px);
    top: calc(50% - 30px);
  }

  .faqBox .faqList dt .icoQ {
    width: calc(80/1440 * 100vw);
    font-size: min(calc(40/1440 * 100vw), 40px);
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 400;
  }
}

/* gFooter */
.gFooter {
  padding: calc(104/750 * 100vw) calc(40/750 * 100vw) calc(100/750 * 100vw);
  background: url(../images/footer_bg.png) no-repeat bottom center/100%;
  color: #fff;
}

.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 {
  border: 1px solid #fff;
  color: #fff;
  margin: calc(50/750 * 100vw) auto calc(95/750 * 100vw);
}

.gFooter .copyBox .copy {
  text-align: center;
  font-size: calc(20/750 * 100vw);
}

@media screen and (min-width: 768px) {

  /* gFooter */
  .gFooter {
    padding: calc(85/1440 * 100vw) 0;
    background: url(../images/footer_bg_pc.png) no-repeat top center/100%, #323333;
  }

  .gFooter .fInfo .logo {
    width: calc(371/1440 * 100vw);
    margin: 0 auto;
    margin-bottom: calc(30/1440 * 100vw);
  }

  .gFooter .fInfo p {
    font-size: calc(20/1440 * 100vw);
    margin-bottom: calc(10/1440 * 100vw);
    line-height: 1.5;
  }

  .gFooter .fInfo p.tel {
    font-size: calc(40/1440 * 100vw);
    margin: calc(30/1440 * 100vw) auto 0;
  }

  .gFooter .fInfo .contactBtn {
    max-width: 700px;
    width: calc(700/1440 * 100vw);
    font-size: calc(24/1440 * 100vw);
    margin: calc(38/1440 * 100vw) auto calc(95/1440 * 100vw);
    padding: calc(42 / 1440 * 100vw) calc(35 / 1440 * 100vw) calc(42 / 1440 * 100vw);
  }

  .gFooter .copyBox .copy {
    text-align: center;
    font-size: calc(20/1440 * 100vw);
  }
}

@media screen and (min-width: 1420px) {
  body {
    padding: 0;
    font-size: 1.375em;
  }

  .gHeader .logo {
    width: min(calc(258/750 * 100vw), 258px)
  }

}


@media screen and (min-width: 1520px) {
  .gNav .mainNav li a {
    padding: 0 20px 6px;
  }

}

@media screen and (max-width: 1420px) {

  .eventBox .txtBox,
  .eventBox .wrapper:nth-child(2n) .txtBox {
    margin-right: 0;
  }

}


/* 初期設定 */
.splash {
  position: relative;
  display: inline-block;
  font-weight: 500;
}

.splash02 {
  position: relative;
  display: block;
  font-weight: 500;
}

.splash02::before,
.splash::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #132d6e;
  /* 四角の背景色 */
  transform-origin: right;
  transform: scaleX(1);
  transition: transform .3s cubic-bezier(.4, .4, 0, 1);
  /* アニメーションのタイミングをCSSに統合 */
}

.splash02.start::before,
.splash.start::before {
  transform: scaleX(0);
  /* スクロールでスタート時にアニメーション開始 */
}

.splash02.anim-done::before,
.splash.anim-done::before {
  display: none;
  /* アニメーションが終了した後に::beforeを非表示にする */
}


.btn span {
  position: relative;
  z-index: 3;
  width: 100%;
  text-align: center;
}

.contactBtn.btn:hover span,
.campBox .btn:hover span,
.standBox .btn:hover span {
  color: #132d6e;
}

.contactBtn.btn:hover .arrow,
.campBox .btn:hover .arrow,
.standBox .btn:hover .arrow {
  color: #132d6e;
  border: solid #132d6e;
  border-width: 0 calc(2/1440 * 100vw) calc(2/1440 * 100vw) 0;
}

.snsBox .btn:hover span {
  color: #fff;
}

.snsBox .btn:hover .arrow {
  color: #fff;
  border: solid #fff;
  border-width: 0 calc(2/1440 * 100vw) calc(2/1440 * 100vw) 0;
}


/*== 背景が流れる（左から右） */
.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: #132d6e;
}

/*hoverした際の形状*/
.bgleft02:hover:before,
.bgleft:hover:before {
  transform-origin: left top;
  transform: scale(1, 1);
}

/*topBtn*/
.topBtn {
  position: fixed;
  right: 0;
  bottom: 0;
  cursor: pointer;
  transition: .3s;
  width: calc(180/750 * 100vw);
  opacity: 0;
  visibility: hidden;
  z-index: 99;
}

@media screen and (min-width: 768px) {
  .topBtn {
    width: calc(128/1440 * 100vw);
  }

}

/*このクラスが付与されると表示する*/
.topBtn.active {
  opacity: 1;
  visibility: visible;
}