@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Lato:400,700|Noto+Sans+JP:400,700');
@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&display=swap');
/* reset
--------------------------------------------------- */
*,*::after,*::before{box-sizing:border-box}:focus-visible{outline-offset:3px}:where(html){-webkit-text-size-adjust:none;text-size-adjust:none}:where(html){line-height:1.5}:where(html){scrollbar-gutter:stable}:where(h1){font-size:2em;margin-block:.67em}:where(abbr[title]){cursor:help;text-decoration-line:underline;text-decoration-style:dotted}@media (forced-colors:active){mark{color:HighlightText;background-color:Highlight}}:where(del,ins,s)::before,:where(del,ins,s)::after{clip-path:inset(100%);clip:rect(1px,1px,1px,1px);height:1px;width:1px;overflow:hidden;position:absolute;white-space:nowrap;content:"test"}:where(s)::before{content:"stricken text start "}:where(s)::after{content:" stricken text end"}:where(del)::before{content:"deletion start "}:where(del)::after{content:" deletion end"}:where(ins)::before{content:"insertion start "}:where(ins)::after{content:" insertion end"}:where(audio,iframe,img,svg,video){max-block-size:100%;max-inline-size:100%}:where(fieldset){min-inline-size:0}:where(label):has(+:where(textarea,input,select)){display:block}:where(textarea:not([rows])){min-block-size:6em}:where(button,input,select,textarea){font-family:inherit;font-size:inherit}:where([type="search"]){-webkit-appearance:textfield}@supports (-webkit-touch-callout:none){:where([type="search"]){border:1px solid -apple-system-secondary-label;background-color:canvas}}:where([type="tel"],[type="url"],[type="email"],[type="number"]):not(:placeholder-shown){direction:ltr}:where(table){border-collapse:collapse;border:1px solid}:where(th,td){border:1px solid;padding:.25em .5em}:where(dialog)::backdrop{background:oklch(0% 0 0 / .3)}:where(dialog),:where(dialog)::backdrop{opacity:0;transition:opacity 300ms ease-out,display 300ms allow-discrete,overlay 300ms allow-discrete}:where(dialog[open]),:where(dialog[open])::backdrop{opacity:1}@starting-style{:where(dialog[open]),:where(dialog[open])::backdrop{opacity:0}}[hidden]:not([hidden="until-found"]){display:none!important}
body,h1,h2,h3,h4,p,figure,blockquote,dl,dd,ul,ol,li{margin:0;padding:0;}
ul,ol{list-style:none;}
html:focus-within{scroll-behavior:smooth;}
body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5;position: relative;}
a:not([class]){text-decoration-skip-ink:auto;}
img,picture{max-width:100%;display:block;margin:0 auto;}
input,button,textarea,select{font:inherit;}
@media(prefers-reduced-motion:reduce){
	html:focus-within{scroll-behavior:auto;}
	*,
	*::before,
	*::after{animation-duration:.01ms !important;
			animation-iteration-count:1 !important;
			transition-duration:.01ms !important;
			scroll-behavior:auto !important;}
	}
html {font-size: 62.5%;}
table,th,td{border-width: 0!important;}
.contents h1,h2,h3,h4,h5{font-family: 'Noto Sans JP', '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; font-size: 100%}
* { min-height: 0vw; min-height: 0; }
/* COMMON
--------------------------------------------------- */
.contents a { display: inline-block; color:#222; text-decoration: underline; transform: 0.3s;}
.contents a:visited { color: #222; text-decoration: underline;}
.contents a:hover{ opacity: .75; text-decoration: none;}
.contents a.link {
	display: inline-block;
	padding-left: 1em;
	text-indent: -1em;
	word-break: break-all;
}
.contents a.link:before{
	content: '';
	display: inline-block;
	width: 0;
	height: 0;
	margin: 0 0 0 5px;
	padding: 0 5px 0 0;
	border-style: solid;
	border-width: 5px 0 5px 5px;
	border-color: transparent transparent transparent #222;
}
.contents a.link:hover:before{
	content: '';
	display: inline-block;
	width: 0;
	height: 0;
	margin: 0 0 0 5px;
	padding: 0 5px 0 0;
	border-style: solid;
	border-width: 5px 0 5px 5px;
	border-color: transparent transparent transparent #555;
}
.contents a.link:after {
	content:'';
	display: inline-block;
	width: .8em;
	height: .8em;
	mask-image: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%20512%20512%22%3E%20%3Cpath%20d%3D%22M432%2C320h-32c-8.84%2C0-16%2C7.16-16%2C16v112H64V128h144c8.84%2C0%2C16-7.16%2C16-16v-32c0-8.84-7.16-16-16-16H48C21.49%2C64%2C0%2C85.49%2C0%2C112v352c0%2C26.51%2C21.49%2C48%2C48%2C48h352c26.51%2C0%2C48-21.49%2C48-48h0v-128c0-8.84-7.16-16-16-16ZM488%2C0h-128c-21.37%2C0-32.05%2C25.91-17%2C41l35.73%2C35.73-243.73%2C243.64c-9.39%2C9.36-9.42%2C24.55-.06%2C33.94.02.02.04.04.06.06l22.67%2C22.63c9.36%2C9.39%2C24.55%2C9.42%2C33.94.06.02-.02.04-.04.06-.06l243.61-243.68%2C35.72%2C35.68c15%2C15%2C41%2C4.5%2C41-17V24c0-13.25-10.75-24-24-24Z%22%2F%3E%3C%2Fsvg%3E');	
	margin: 0 0 0 .25em;
	background: #222;
}
.contents .no-pc { display: none;}
.contents br.no-pc { display: none; }
.contents .no-sp { display: block;}
.contents .tax { padding: 0 0 0 .15em; font-size: 80%; font-weight: normal;}
.contents .red { color: #F00!important;}
.contents .hi { color: #36bdef; font-weight: bold;}
.contents em { color: #36bdef; font-style: normal; font-weight: bold;}
.contents strong { font-style: normal; font-size: 120%; font-weight: bold; line-height: 150%;}
.contents b { font-style: normal; font-size: 150%; font-weight: bold;}
.contents .strikethrough { color:#666; text-decoration: line-through;}
.contents .txt-l { text-align: left!important;}
.contents .txt-r { text-align: right!important;}
.contents .txt-s { font-size: 80%;}
.contents .caution { color: #CCC; padding: .5em 0 0 1em; font-size: 90%; font-weight: normal; line-height: 1.4; text-indent: -1em;}
.contents .caution::before { content: "※"; color: #DDD;}
.contents .copyright {
    color: #CCC;
    font-size: 80%;
    position: absolute;
	right: 12px;
	bottom: 10%;
	z-index: 1;
	/*text-shadow: 0 0 1px #000, 0 0 3px #000, 0 0 6px #000, 0 0 10px #000, 0 0 30px #000, 0 0 50px #000;*/
}
.contents .status {
    display: inline-block;
    margin: 0 8px 0 0;
    padding: 8px;
	border-radius: 2px;
	color: #000;
	font-size: 90%;
	font-weight: bold;
    line-height: 1;
	position: relative;
    text-align: center;
}
.contents .advance { background: #ea0029; color: #000;}
.contents .public { background: #006241; color: #000;}
.contents .soldend { background: #000; color: #666;}
.contents p + p {	margin-top: .5em;}
@media screen and (max-width: 1024px) {
    .contents .caution {
        padding: .25em 0 0 1em;
    }
}
@media screen and (max-width: 599px) {
    .contents .no-pc { display: block; }
    .contents br.no-pc { display: inline; }
    .contents .no-sp { display: none; }
    .contents .caution,
    .contents .tax,
	.contents .copyright {
		right: 8px;
		bottom: 8px;
    }
	.contents a.link:before,
	.contents a.link:hover:before {
		border-width: 3px 0 3px 3px;
	}
	.contents p + p { margin-top: .25em;}
	.contents .copyright {
		right: 8px;
		bottom: 16px;
    }
}
@media screen and (max-width: 376px) {
}

/* LAYOUT
--------------------------------------------------- */
.contents {
	width: 100%;
	max-width: 1200px;
	min-width: 320px;
	margin: 0 auto;
	background: #FFF;
	color: #222;
    font-family: 'Lato', 'Noto Sans JP', '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    font-size: clamp(1.4rem, 1.255rem + 0.73vw, 1.8rem);
    font-weight: normal;
    line-height: 1.8;
    position: relative;   
    text-align: center;
    z-index: 1;
}
.contents-area {
	width: 100%;
    margin: 0 auto;
    padding: 0;
}
.contents-inner {
	display: grid;
    padding: 4em 0;
	gap: 4em;
	place-items: center;
}
.contents-box {
	display: grid;
	max-width: 800px;
	width: 100%;
	margin: 0 auto;
    position: relative;
	gap: 1.8em;
}
@media screen and (max-width: 1024px) {
	.contents-area {
		padding: 0 2.4em;
	}
	.contents-box {
		gap: 1.6em;
	}
}
@media screen and (max-width: 599px) {
    .contents {
        line-height: 1.6;
    }
    .contents-inner{
		padding: 2.4em 0;
		gap: 2.4em;
    }
}
@media screen and (max-width: 376px) {
    .contents {
		line-height: 1.5;
    }
	.contents-area {
		padding: 0 1.6em;
	}
}

/* HEADDING
--------------------------------------------------- */
.contents h1 {
	width: 240px;
	padding: 16px 0;
}
.contents h2 {
	display: block;
	color: #FFF;
    font-family: "Archivo Black", sans-serif;
	font-feature-settings: "palt";
	font-optical-sizing: auto;
    font-size: 400%;
	font-style: normal;
    font-weight: 400;
    line-height: 1.1;
	position: relative;
    text-align: left;
}
.contents h2 span {
	display: block;
	font-family: 'Noto Sans JP', '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-size: 60%;
	font-weight: 700;
	line-height: 1.4;
}
.contents .lead-area h2 {
	color: #222;
}
.contents h3 {
    display: inline-block;
	width: 100%;
	margin: 0 auto 1em;
    padding: 4px 1em;
    border: 1px solid #222;
	color: #222;
    letter-spacing: 0.1em;
	line-height: 100%;
    text-indent: 0.1em;
}
.contents .flow-area h3 {
	max-width: 500px;
	border: 1px solid #666;
	color: #CCC;
}
.contents h4 {}
@media screen and (max-width: 1024px) {
    .contents h1 {		
		width: 160px;
    }
	.contents h3 {
		text-align: left;
	}
	.contents .flow-area h3 {
		text-align: center;
	}
}
@media screen and (max-width: 599px) {
    .contents h1 {
		width: 30%;
		padding: 12px 0;
    }
	.contents h2 {
		font-size: 250%;
		line-height: 1.0;
    }
}
@media screen and (max-width: 376px) {
	.contents h2 {
		font-size: 200%;
    }
}

/* FADE IN
--------------------------------------------------- */
.slidein {
    opacity: 0;
	transform: translate(-80%,0);
    transition: all 1.0s;	
}
.slidein.scrollin{
    opacity: 1 !important;
    transform: translate(0, 0) !important;
}

/* LEAD
--------------------------------------------------- */
.lead-area {
	background: #FFF;
}
.lead-wrap {
	background: #1a1a1a;
	width: 100%;
	padding: 64px;
}
.copy {
	max-width: 800px;
	width: 100%;
	margin: 0 auto;
}
.lead-area .contents-box {
	display: grid;
	gap: 1.6em;
}
.lead-title {
	font-size: 140%;
	font-weight: bold;
	line-height: 1.6;
	text-align: left;
}
.lead-txt {
	font-size: 100%;
	line-height: 1.6;
	text-align: left;
}
@media screen and (max-width: 1024px) {
	.lead-wrap {
		padding: 56px;
	}
	.lead-title {
		font-size: 120%;
	}
	.lead-area .contents-box {
		gap: 1.4em;
	}
}
@media screen and (max-width: 599px) {
	.lead-area {
		display: grid;
		place-items: center;
	}
	.lead-wrap {
		padding: 40px;
	}
	.lead-title {
		font-size: 110%;
	}
	.lead-area .contents-box {
		gap: 1.2em;
	}
}
@media screen and (max-width: 376px) {
}

/* MOVIE
--------------------------------------------------- */
.movie {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.movie iframe {
  width: 100%;
  height: 100%;
}

/* ABOUT
--------------------------------------------------- */
.about-area {
	background: #f676a3;
}
.about-wrap {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 2em;
}
.about-wrap div {
	width: calc( calc( 100% - 2em ) / 2);
}
.about-wrap p {
	padding: 0 1em;
	text-align: left;
}
.about-wrap p + h3 {
	margin-top: 1em;
}
.list-area {
	max-width: 800px;
	width: 100%;
	text-align: left;
}
.list-wrap {
	display: grid;
	gap: 1em;
}
.list-name {
	padding: 0 2px;
}
.list-name li {
	display: inline-block;	
	font-size: 120%;
}
.list-name li::after {
	content: "/";
	display: inline-block;
	padding: 0 6px;
}
.list-name li:last-child::after {
	content: "";
}
.list-area a.link {
	display: block;
}
p.inner-wrap {
	text-align: left;	
}
p.inner-wrap::first-line {
	text-align: center;	
}
@media screen and (max-width: 1024px) {
	.about-wrap {
		gap: 1.8em;
	}
	.about-wrap div {
		width: 100%;
	}
}
@media screen and (max-width: 599px) {
	.about-wrap {
		gap: 1.6em;
	}
}
/* LIVE TITLE
--------------------------------------------------- */
.live-info {
	display: grid;
	max-width: 800px;
	width: 100%;
	gap: 2em 0;
}
.live-catch {
	width: 100%;
}
.live-logo {
	width: 50%;
}
.live-title {
	color: #222;
	font-size: 120%;
	font-weight: bold;
	line-height: 1.6;
	text-align: center;
}
.live-title span {
	display: block;
	font-size: 160%;
}
.live-txt {
	padding: 0 1em;
	text-align: left;
}
.footer-area {
	background: #000;
}
@media screen and (max-width: 1024px) {
	.live-title {
		font-size: 120%;
	}
	.footer-area img {
		width: 85%;
	}
}
@media screen and (max-width: 599px) {
	.live-info {
		gap: 1em 0;
	}
	.live-title {
		font-size: 110%;
	}
	.live-txt {
		padding: 0 .5em;
	}
}
/* FLOW
--------------------------------------------------- */
.flow-area {
	background: #000;
}
.flow > li {
    max-width: 800px; 
    margin: 0 auto;
	padding: 1.5em 3em;
	background: #FFF;
	border-radius: 5px;
	color: #222;
    text-align: left;    
    margin-bottom: 30px;
    position: relative;
}
.flow li p + p {
	margin-top: .5em;
}
.flow li:after {
	content: " ";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20px 30px 0 30px;
	border-color: #FFF transparent transparent transparent;
	position: absolute;
	left: 46%;
	bottom: -20px;
	display: block;
}
.flow li:last-child:after{
	content: none;
}
.flow li:last-child{
	margin-bottom: 0;	
}
.flow-title {
	display: grid;
	grid-template-columns: 80px 1fr;
}
.square {
	display: grid;
    margin: 0 1em 0 0;
	padding: 2px 0;
	background: #000;
	border-radius: 3px;
    color: #CCC;
    font-size: 80%;
	font-weight: bold;
	line-height: 100%;
	place-items: center;
    position: relative;
}
.step-att {
	line-height: 1.35;
}
.watch {
	display: flex;
	flex-direction: row;
  	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	max-width: 500px;
	margin: 0 auto;
}
.watch li {
	width: 50%;
    padding: 5px;
}
.watch a:hover {
	opacity: .75;
    transition: .25s;
}
.flow-box {
	display: flex;
	width: 100%;
	flex-direction: row;
  	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin: 16px auto 0;
	padding: 0;
	gap: 16px 8px;
}
.flow-box div {
	width: calc( calc(100% - 8px) / 2) ;
	text-align: center;
}
.flow-box p {
	margin-bottom: 4px;
	text-align: center;
}
.flow-caution {
	margin-top:1em;
	color: #F33!important;
}
.caution.flow-caution::before { content: "※"; color: #F33;}
@media screen and (max-width: 1024px) {
    .flow li {
        margin-bottom: 15px;
		padding: 1em 2em;
        text-align: left;
    }
    .flow li:after {
      border-width: 10px 20px 0 20px;
      bottom: -9px;
    }
	.flow-box div {
		width: 100%;
	}
	.flow-box p {
		margin-bottom: 8px;
		fomt-size: 80%;
	}
    .watch li {
        width: 50%;
        padding: 2.5px;
    }
}
@media screen and (max-width: 599px) {
	.step-att {
		font-size: 90%;
		line-height: 1.35;
	}
	.flow-box p {
		margin-bottom: 4px;
	}
    .flow li {
        padding: 1.5em 1em;
    }
	.flow-title {
		grid-template-columns: 70px 1fr;
	}
}

/* NOTES
--------------------------------------------------- */
.notes-area {
	background: #f676a3;
}
.notes {
	max-width: 800px;
    width: 100%;
    margin: 0 auto;
}
.flow .notes {
    margin-top: 1em;
}
.notes li {
	margin: 0;
	padding: 0 0 0 1em;
	background: transparent;
    color: #222;
    font-size: 90%;
    text-indent: -1em;
    text-align: left;
}
.flow .notes li {
    color: #222;
}
.notes li a {
     text-indent: 0;
}
.notes li::before {
    content:"※";
}
.notes li + li{
    margin: .25em 0 0;
}
.notes-txt {
	margin-bottom: 1em;
	font-weight: bold;
}
@media screen and (max-width: 1024px) {
}
@media screen and (max-width: 599px) {
	.notes {
	}
	.about-area .notes {
		padding: 0;
	}
    .notes li {
		line-height: 1.4;
	}
}
@media screen and (max-width: 376px) {
	.notes {
		padding: 0;
	}
}
/* BUTTON
--------------------------------------------------- */
.btn-area {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	padding: 2em;
	background: #FFF;
	border-radius: 5px;
}
.btn-area p {
	margin-bottom: 4px;
}
.btn-box {
	display: grid;
	margin-bottom: 1em;
	gap: 24px 16px;
}
.btn-txt {
	color: #f676a3;
	font-size: 90%;
	font-weight: bold;
}
.btn-ticket {
    display: block;
    max-width: 400px;
	width: 100%;
    margin: 0 auto;
    padding: .75em 1em;
	background: #f676a3;
    border-radius: 4em;
    color: #FFF!important;
    cursor: pointer;
    font-weight: bold;
    line-height: 1.2;
	position: relative;
    text-align: center;
    text-decoration: none!important;
    transition: .25s;
}
a.btn-ticket span:before {
    content: '';
    width: 20px;
    height: 20px;
    background: #FFF;
    border-radius: 50%;
    position: absolute;
    top: 0;
    right: 8px;
    bottom: 0;
    margin: auto;
}
a.btn-ticket span:after {
    content: '';
    width: 8px;
    height: 8px;
    border-top: 3px solid #f676a3;
    border-right: 3px solid #f676a3;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 0;
    margin: auto;
    transition: 0.3s;
}
.btn-flow {
	max-width: 300px!important;
	margin: 0 auto;
	padding: .5em 1em;
	color: #FFF!important;
	font-size: 90%;
}
.btn-ticket:hover,
.btn-flow:hover,
.btn-test:hover {
    opacity: .75;
    text-decoration: none;
}
.btn-non {
    background: #000;
    color: #666!important;
	pointer-events: none;
}
.btn-non:before {
    content: none;
}
.customer {
	display: inline-block;
	margin: 0 auto;
	padding: 0 1em;
	color: #222!important;
	font-size: 80%!important;
	text-align: left;
}
 @media screen and (max-width: 1024px) {
}
 @media screen and (max-width: 599px) {
	.btn-area {
		padding: 1em;
    } 
    .btn-ticket {
		font-size: 90%;
    }
	a.btn-ticket span:before {
		content: '';
		width: 16px;
		height: 16px;
		right: 6px;
	}
	a.btn-ticket span:after {
		content: '';
		width: 6px;
		height: 6px;
		border-top: 2px solid #f676a3;
		border-right: 2px solid #f676a3;
		right: 12px;
	}
	 .btn-non {
		padding: .5em 1em;
	}
}
@media screen and (max-width: 376px) {
	.btn-contact {
	}
	.btn-contact span {
		padding: 0 2em;
	}
}

/* TEST
--------------------------------------------------- */
.test-area {
	display: flex;
	display: flex;
	flex-direction: row;
  	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
	max-width: 480px;
	width: 100%;
	margin: 0 auto;
    background: #444;
	border-radius: 5px;
    position: relative;
}
.test-area {
    padding: .5em 1em;
}
.test-area div {
	display: grid;
	place-items: center;
    margin: 0 auto;
	color: #CCC;
    font-size: 80%;
    line-height: 1.4;
    text-align: left;
}
.test-area div:first-child {
    width: 60%;
	padding-right: 1em;
}
.test-area div:last-child {
    width: 40%;
}
.btn-test {
    display: block;
    width: 100%;
    margin: 0 auto;
    padding: 1em;
    background: #000;
    border-radius: 3px;
    color: #CCC!important;
    cursor: pointer;
    line-height: 1.4;
	position: relative;
    text-align: center;
    text-decoration: none!important;
    transition: .3s;
}
.btn-test:hover {
    background: #f676a3;
	color: #FFF!important;
	text-decoration: none!important;
}
@media screen and (max-width: 599px) {
	.btn-test {
		display: grid;
		place-items: center;
		padding: .5em;
	}
}
@media screen and (max-width: 429px) {
	.test-area {
		width: 100%;
	}
}
/* CONTACT
--------------------------------------------------- */
.contact {
	padding: 0 .5em;
}
.contact li {
    margin: 0 auto;
}
.contact li + li {
	text-align: left;
}
.contact li a {
	width: 100%;
    font-size: 80%;
    line-height: 1.4;
    text-align: left;
}
@media screen and (max-width: 599px) {
}