@charset "UTF-8";
/* 
html5doctor.com Reset Stylesheet v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

main {
  display: block;
}

th {
  text-align: left;
  vertical-align: top;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

img {
  vertical-align: bottom;
}

/*──────────────────────────────────────────────

	color	

──────────────────────────────────────────────*/
/*──────────────────────────────────────────────

	margin

──────────────────────────────────────────────*/
/*──────────────────────────────────────────────

	font

──────────────────────────────────────────────*/
/*──────────────────────────────────────────────

	font

──────────────────────────────────────────────*/
/*
@mixin emblema {
  font-family: "Emblema One", system-ui;
  font-weight: 400;
  font-style: normal;
}
*/
/*
@mixin zen_old_mincho {
	font-family: "Times New Roman", Georgia, "Zen Old Mincho", serif;
	font-weight: 900;
	font-style: normal;
 }




 @mixin noto_sans_m {
	@include noto_sans;
	font-weight: medium;
 }



@mixin kode_mono {
	font-family: "Kode Mono", monospace;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
} 

@mixin share_tech_mono {
	font-family: "Share Tech Mono", monospace;
	font-weight: 400;
	font-style: normal;
 }


 @mixin roboto {
	font-family: "Roboto", sans-serif;
	font-weight: 500;
	font-style: normal;
 }


*/
/*──────────────────────────────────────────────

	animation

──────────────────────────────────────────────*/
@keyframes blink {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*

@mixin pd {

	@include mq(s) {
		padding-left: $margin_h_m_sp;
		padding-right: $margin_h_m_sp;
	}

}

@function font($type) {
	@return map-get($font, $type);
}


@mixin stick_no_bills {
	font-family: 'Stick No Bills', sans-serif;
}

@mixin barlow {
	font-family: 'Barlow', sans-serif;
}

@mixin alkalami {
	font-family: 'Alkalami', serif;	
}

@mixin noto-san-r {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
}

@mixin noto-san-b {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
}

@mixin noto-serif {
	font-family: 'Noto Serif JP', serif;
}

*/
@media screen and (max-width: 768px) {
  .sp-n {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  .pc-n {
    display: none;
  }
}
._mt-1 {
  margin-top: 1rem !important;
}

._mt-2 {
  margin-top: 2rem !important;
}

._mt-3 {
  margin-top: 3rem !important;
}

._mt-4 {
  margin-top: 4rem !important;
}

._mt-6 {
  margin-top: 6rem !important;
}

._ta-c {
  text-align: center !important;
}

* {
  box-sizing: border-box;
}

a {
  color: inherit;
}

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

body {
  overflow-x: hidden;
  font-family: "Segoe UI", "Helvetica Neue", Helvetica, Arial, "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
  background: #12072C;
  color: #F7CDE9;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-size: 14px;
}
@media screen and (min-width: 769px) {
  body {
    font-size: 16px;
  }
}

small {
  font-size: 14px;
}

body:not(.home) .wrapper {
  opacity: 0;
  transform: translateX(-100vw);
  transition: 0.75s cubic-bezier(0, 1, 0.2, 1);
}
body:not(.home).show .wrapper {
  opacity: 1;
  transform: translateX(0);
}
body:not(.home).stop .wrapper {
  transform: none;
}

.bodyBg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
  background: url(../images/common/bg_sp.jpg) center center/cover;
  pointer-events: none;
}
@media all and (orientation: landscape) {
  .bodyBg {
    background-image: url(../images/common/bg_pc.jpg);
  }
}

.menu {
  font-family: "Electrolize", sans-serif;
  font-weight: 400;
  font-style: normal;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  overflow: hidden;
  z-index: 100;
  background: url(../images/common/sp_bg_menu.svg) center center/cover no-repeat;
  background-color: #004d46;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.1s;
}
.menu.show {
  transform: scale(1);
}
.menu.out {
  transform: scale(1) translateX(100vw);
  transition: 0.5s cubic-bezier(0.9, 0.05, 1, 0.5);
}
@media all and (orientation: landscape) {
  .menu {
    background-image: url(../images/common/pc_bg_menu.svg);
  }
}
.menu .menu__global {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  font-size: 20px;
  line-height: 1;
}
.menu .menu__global li {
  font-size: 112.5%;
  color: #00665b;
  text-align: center;
  transition: 0.3s;
}
.menu .menu__global li a {
  color: inherit;
  text-decoration: none;
  color: #00baab;
}
.menu .menu__global li.hide {
  opacity: 0;
}
@media all and (orientation: landscape) {
  .menu .menu__global {
    font-size: 24px;
  }
}
.menu .menu__sns {
  display: flex;
  position: absolute;
  bottom: 20px;
  justify-content: center;
  gap: 5px;
}
.menu .menu__sns li {
  width: 40px;
  height: 40px;
}
.menu .menu__sns li a {
  display: block;
  width: 100%;
  height: 100%;
}

.hbb {
  position: fixed;
  top: 75%;
  transform: translateY(-50%);
  right: 0;
  width: 60px;
  height: 48px;
  background: rgba(0, 255, 234, 0.23);
  cursor: pointer;
  z-index: 102;
}
.hbb::after, .hbb::before {
  content: "";
  display: block;
  width: 24px;
  height: 1px;
  background: #00ffea;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin-top: 6px;
}
.hbb::after {
  margin-top: -6px;
  transition: 0.3s;
}
.hbb span {
  display: block;
  width: 24px;
  height: 1px;
  background: #00ffea;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: 0.6s;
}
.hbb.open span {
  transform: translate(-50%, -50%) rotate(405deg);
}
.hbb.open::after, .hbb.open::before {
  margin-top: 0;
}
.hbb.open::before {
  display: none;
}
.hbb.open::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
@media screen and (min-width: 769px) {
  .hbb {
    top: 25%;
  }
}

.cockpit {
  opacity: 0.75;
  position: relative;
  z-index: 101;
  animation: blink 3s infinite alternate;
}
.cockpit .cockpit__corner {
  width: 100px;
}
.cockpit .cockpit__corner {
  position: absolute;
  width: 100px;
  height: 50px;
  background: url(../images/common/sp_cockpit_corner.svg) no-repeat;
}
.cockpit .cockpit__corner.--left {
  left: 5px;
  top: 0;
}
.cockpit .cockpit__corner.--right {
  right: 5px;
  top: 0;
  transform: scale(-1, 1);
}
.cockpit .cockpit__top {
  position: fixed;
  top: 5px;
  left: 0;
  width: 100%;
}
.cockpit .cockpit__bottom {
  position: fixed;
  bottom: 5px;
  left: 0;
  width: 100%;
  transform: scale(1, -1);
}
.cockpit .cockpit__center {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  height: 4px;
  background: url(../images/common/sp_cockpit_center.svg) no-repeat;
}
.cockpit .cockpit__side {
  position: fixed;
  top: 50%;
  width: 5px;
  height: 200px;
  transform: translateY(-50%);
  background: url(../images/common/sp_cockpit_side.svg) no-repeat;
}
.cockpit .cockpit__side.--left {
  left: 5px;
}
.cockpit .cockpit__side.--right {
  right: 5px;
  transform: scale(-1, 1) translateY(-50%);
}
@media all and (orientation: landscape) {
  .cockpit .cockpit__top {
    top: 7px;
  }
  .cockpit .cockpit__bottom {
    bottom: 7px;
  }
  .cockpit .cockpit__corner {
    width: 200px;
    height: 100px;
    background: url(../images/common/pc_cockpit_corner.svg) no-repeat;
  }
  .cockpit .cockpit__corner.--left {
    left: 7px;
  }
  .cockpit .cockpit__corner.--right {
    right: 7px;
  }
  .cockpit .cockpit__center {
    width: 120px;
    height: 5px;
    background: url(../images/common/pc_cockpit_center.svg) no-repeat;
  }
  .cockpit .cockpit__side {
    width: 7px;
    height: 200px;
    background: url(../images/common/pc_cockpit_side.svg) no-repeat;
  }
  .cockpit .cockpit__side.--left {
    left: 7px;
  }
  .cockpit .cockpit__side.--right {
    right: 7px;
  }
}

.pageFooter {
  padding-bottom: 1rem;
}
.pageFooter .pageFooter__copy {
  text-align: center;
  font-size: 10px;
}

.annotation {
  font-size: 12px;
}
.annotation .annotation__kome::before {
  content: "※";
}

.banner {
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}

.btn {
  background: #6b224b;
  color: #F7CDE9;
  text-decoration: none;
  display: inline-block;
  padding: 1.25em 4em;
  line-height: 1;
  position: relative;
}
.btn.--s {
  font-size: 85%;
  padding: 1em 2em;
}
.btn.--arrow::before, .btn.--arrow::after {
  content: "";
  display: block;
  width: 7px;
  height: 1px;
  background: #F7CDE9;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: rotate(45deg);
  margin-top: -2px;
}
.btn.--arrow::after {
  margin-top: 2px;
  transform: rotate(-45deg);
}
.btn.--alphabet {
  font-family: "Electrolize", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.cautionList {
  font-size: 12px;
}
ul.cautionList {
  list-style: disc;
}

.cautionList li {
  list-style-position: inside;
  padding-left: 1.5em;
  text-indent: -1.5em;
}
.cautionList li + li {
  margin-top: 1em;
}
@media screen and (min-width: 769px) {
  .cautionList {
    font-size: 16px;
  }
}

.hd1 {
  font-family: "Anta", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: clamp(42px, 14vw, 64px);
  text-shadow: 0 0 10px rgb(70, 9, 39);
  text-align: center;
  line-height: 1;
  letter-spacing: 0.05em;
  /*
  .hd1__anime {
  	position: relative;
  	&::before {
  		content: "";
  		display: block;
  		width: .5em;
  		height: 1px;
  		background: $color_text;
  		position: absolute;
  		bottom: -5px;
  		left: 50%;
  		transform: translateX(-50%);
  		animation: blink .1s infinite alternate;
  	}
  }
  */
}
.hd1.--in {
  font-size: clamp(36px, 9vw, 56px);
}
.hd1.--mb {
  margin-bottom: 3rem;
}
@media screen and (min-width: 769px) {
  .hd1.--mb {
    margin-bottom: 4rem;
  }
}

.hd-serif {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-weight: 500;
  text-align: center;
  margin-bottom: 1em;
  font-size: clamp(28px, 8vw, 42px);
}

.intro {
  padding-top: 24px;
  padding-bottom: 6rem;
}
.intro .intro__hd {
  margin-left: auto;
  margin-right: auto;
  width: 40%;
  max-width: 200px;
  margin-bottom: 5rem;
}
@media all and (orientation: landscape) {
  .intro {
    padding-top: 48px;
  }
}

.news li {
  border-bottom: solid 1px rgba(221, 170, 195, 0.2);
  padding-bottom: 1em;
}
.news li time {
  font-family: "Barlow", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.news li + li {
  margin-top: 1em;
}
.news a {
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .news time {
    display: block;
    font-size: 12px;
  }
}
@media screen and (min-width: 769px) {
  .news time {
    display: inline-block;
    width: 8em;
  }
}
.news span.new {
  font-family: "Barlow", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 10px;
  color: #F7CDE9;
  border: solid 1px #F7CDE9;
  line-height: 1;
  display: inline-block;
  padding: 0.25em 0.5em;
  margin-left: 0.5em;
  animation: blink 2s ease-in 0s infinite normal;
}
.news span.new.anime {
  animation: blink 2s ease-in 0s infinite normal;
}

.sec1 {
  padding: 3rem 1rem;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  background-image: url(../images/common/bg_section.png?1), url(../images/common/bg_section2.png?1);
  background-repeat: no-repeat;
  background-position: left top, right bottom;
  background-size: 137% auto;
  background-color: rgba(79, 4, 44, 0.85);
}
.sec1.--s {
  max-width: 960px;
}
@media screen and (min-width: 769px) {
  .sec1 {
    background-image: url(../images/common/pc_bg_section.png?1), url(../images/common/pc_bg_section2.png?1);
    background-position: left top, right bottom;
    background-size: 801px auto;
    padding: 4rem 3.3333333333%;
  }
}
.sec1 .sec1Inner {
  margin-left: auto;
  margin-right: auto;
}
.sec1 .sec1Inner.--s {
  max-width: 960px;
}
.sec1 .sec1Inner.--2s {
  max-width: 800px;
}
.sec1 .sec1Inner.--3s {
  max-width: 600px;
}
@media screen and (max-width: 768px) {
  .sec1 .sec1Child__full {
    margin-left: -1rem;
    margin-right: -1rem;
  }
}

/*──────────────────────────────────────────────

	scroll

──────────────────────────────────────────────*/
.scroll {
  opacity: 0;
  position: relative;
  transform: translateY(30px);
}
.scroll.show {
  opacity: 1;
  transform: translateY(0);
  transition: 1s;
}

/*
@forward "base";
@forward "common";
*/
.ticketList {
  width: 100%;
}
.ticketList tr {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.ticketList th,
.ticketList td {
  vertical-align: middle;
}
.ticketList .ticketList__header th {
  font-weight: normal;
  background: rgba(221, 170, 195, 0.2);
  line-height: 1;
  padding: 0.4em;
  font-size: 12px;
}
@media screen and (min-width: 769px) {
  .ticketList .ticketList__header th {
    font-size: 14px;
  }
}
.ticketList .ticketList__body th,
.ticketList .ticketList__body td {
  padding-top: 1em;
  font-weight: normal;
}
.ticketList th {
  padding-right: 1em;
  white-space: nowrap;
  font-size: 14px;
}
.ticketList td {
  line-height: 1.3;
}
.ticketList td .ticketList__price {
  font-family: "Electrolize", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 24px;
  margin-left: 0.1em;
  margin-right: 0.1em;
}
.ticketList td .ticketList__tax {
  font-size: 10px;
}
.ticketList .ticketList__soldout {
  font-family: "Electrolize", sans-serif;
  font-weight: 400;
  font-style: normal;
  /*
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.3;

  strong {
  	font-size: 90%;
  	margin-right: 0;
  	font-weight: normal;
  	line-height: 1;
  }
  */
}
.ticketList .ticketList__del {
  position: relative;
}
.ticketList .ticketList__del::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: #F7CDE9;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -4px;
}
@media screen and (min-width: 769px) {
  .ticketList {
    /*
    .ticketList__soldout {
    	display: flex;
    	justify-content: flex-end;
    	flex-direction: row;

    	strong {
    		margin-right: 1em;
    	}
    }
    */
  }
  .ticketList .ticketList__body th {
    font-size: 112.5%;
    padding-right: 2em;
  }
  .ticketList .ticketList__body td {
    font-size: 14px;
  }
  .ticketList .ticketList__body td .ticketList__price {
    font-size: 28px;
  }
}

.goldSheet h3 {
  font-size: 12px;
  display: inline-block;
  border: solid 1px #F7CDE9;
  line-height: 1;
  font-weight: normal;
  padding: 0.25em;
  color: #F7CDE9;
}
@media screen and (min-width: 769px) {
  .goldSheet h3 {
    font-size: 14px;
  }
}

/*
table strong {
	margin-right: 1em;
}

span.del {

	position: relative;
	display: inline-block;

	&::before {
		content: "";
		display: block;
		width: 100%;
		height: 2px;
		background: $color_text;
		position: absolute;
		top: 50%;
		left: 0;
	}

}

.banner {

	@include mq(m) {
		@include center;
		max-width: 400px;
	};

}

div.intro {

	table,
	table + div,
	section.student_cashback {
		max-width: 600px;
	}


	table + div,
	section.student_cashback {

		@include mq(m) {
			width: 100%;
			@include center;
		};
	}

}

section.gold_sheat {

	margin-top: $margin;

	h3 {
		font-size: $font_s;
		display: inline-block;
		border: solid 1px $color_text;
		line-height: 1;
		font-weight: normal;
		padding: .25em;
		color: $color_text;
	}

	figure {
		margin-bottom: 1rem;
	}

	@include mq(m) {
		max-width: 600px;
		@include center;
		h3 {
			font-size: $font_m;
		}
	}
}


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