@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=Roboto&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: 'Lato', '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:#da3915; text-decoration: underline; transform: 0.3s;}
.contents a:visited { color: #da3915; 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 #da3915;
}
.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 #da3915;
}
.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: 80%; 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: 12px;
	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: #333; 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: #3cb3e1;
	color: #211916;
    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.2rem, 0.909rem + 1.45vw, 2rem);
    font-weight: normal;
    line-height: 1.8;
    overflow: hidden;
    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.4;
    }
	.contents-area {
		padding: 0 1.6em;
	}
}

/* HEADDING
--------------------------------------------------- */
.contents h1 {
	width: 180px;
	padding: 16px;
}
.contents h2 {
	display: block;
	margin:0 auto 0;
	padding: 0 0 .75em;
	background: linear-gradient(90deg, #000 0% 50%, #da3915 50%);
    background-repeat: no-repeat;
    background-size: 6rem 5px;
    background-position: bottom;
	color: #211916;
    font-family: 'Roboto', sans-serif;
	font-optical-sizing: auto;
    font-size: 200%;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .05em;
	position: relative;
    text-align: center;
    text-indent: .05em;	
}
.contents .flow-area h2 {
	background: linear-gradient(90deg, #37bef0 0% 50%, #da3915 50%);
    background-repeat: no-repeat;
    background-size: 6rem 5px;
    background-position: bottom;
	color: #FFF;
}
.contents h3 {
    display: inline-block;
	min-width: 400px;
	margin: 0 auto 1em;
    padding: .5em 1em;
	background: #211916;
	color: #FFF;
	font-optical-sizing: auto;
	font-weight: normal;
	font-style: normal;
	font-size: 90%;
	line-height: 100%;
	text-align: center;
	position: relative;
}
.contents .flow-area h3 {
	background: #222;
}
.contents p + h3 {
	margin-top: 2em;
}
.contents h4 {
    display: block;
	margin: 0 auto .5em;
    padding: .5em 1em;
	background: #333;
	color: #FFF;
	font-optical-sizing: auto;
	font-weight: normal;
	font-style: normal;
    font-size: 80%;
	line-height: 100%;
	text-align: left;
}
@media screen and (max-width: 1024px) {
    .contents h1 {		
		width: 160px;
    }
	.contents h2 {
    }
}
@media screen and (max-width: 599px) {
    .contents h1 {
		width: 30%;
		padding: 12px;
    }
	.contents h3 {
		width: 100%;
		min-width: auto;
	}
}
@media screen and (max-width: 376px) {
}
/* HERO
--------------------------------------------------- */
.hero {
	width: 100%;
	position: relative;
}
.mv-wrap {
	position: relative;
}
.mv {}
.logo {}
@media screen and (max-width: 1024px) {
}
@media screen and (max-width: 599px) {
}

/* LEAD
--------------------------------------------------- */
.lead-area {
	width: 100%;
	background-color: #000;
	background-image: radial-gradient(#0c0c0c 20%, transparent 20%), radial-gradient(#111 20%, transparent 20%);
	background-size: 20px 20px;
	background-position: 0 0, 10px 10px;
	text-align: center;
}
.lead-wrap {
	width: 100%;
	margin: 0 auto;
	padding: 4px 0;
	border-top: solid 4px #da3915;
	border-bottom: solid 4px #da3915;
	position: relative;
}
.lead-box {
	width: 100%;
	margin: 0 auto;
	padding: 2em 2em 1.5em;
	border-top: solid 4px #36bdef;
	border-bottom: solid 4px #36bdef;
}
.lead-title {
	display: inline-block;
	width: max-content;
	margin: 0 auto;
	padding: .5em 1.5em;
	background: linear-gradient(135deg, #36bdef 0%, #36bdef 50%, #da3915 50%, #da3915 100%);
	border-radius: 2em;
	font-size: 100%;
	color: #fff;
	line-height: 1;
	position: absolute;
	top: -16px;
	left: 0;
	right: 0;
}
.lead-txt {
	max-width: 800px;
	width: 100%;
	margin: 0 auto;
	color: #FFF;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-feature-settings: "palt";
	font-optical-sizing: auto;
	font-weight: bold;
	font-style: normal;
	line-height: 1.8;
	text-align: left;
}
.lead-txt p + p {
	margin-top: .5em;
}

@media screen and (max-width: 1024px) {
	.lead-box {
		padding: 2em 4em 1.5em;
	}
}
@media screen and (max-width: 599px) {
	.lead-box {
		padding: 2em 3em 1.5em;
	}
	.lead-txt {
		line-height: 1.5;
	}
}
@media screen and (max-width: 376px) {
	.lead-box {
		padding: 2em 2em 1.5em;
	}
}

/* ABOUT
--------------------------------------------------- */
.about-wrap {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: center;
	align-items: flex-start;
	gap: 4em;
}
.about-wrap .contents-box {
	width: calc( calc( 100% - 4em ) / 2);
}
.list-name {
	max-width: 600px;
	margin: 8px auto;
	text-align: left;	
}
.list-name li {
	display: inline-block;
	font-size: 90%;
}
@media screen and (max-width: 1024px) {
	.about-wrap {
		gap: 4.8em;
	}
	.about-wrap .contents-box {
		width: 100%;
	}
}
@media screen and (max-width: 599px) {
	.about-wrap {
		gap: 3.6em;
	}
}

/* PRICE
--------------------------------------------------- */
.ticket-price + .ticket-price {
	max-width: 400px;
	width: 100%;
	margin: 1em auto 0;
	padding: 1em;
	border-top: dotted 2px #333;
}
@media screen and (max-width: 767px) {
}

/* FLOW
--------------------------------------------------- */
.flow-area {
	background: #111;
}
.flow > li {
    max-width: 800px; 
    margin: 0 auto;
	padding: 1.5em 3em;
	background: #222;
	border-radius: 5px;
	color: #FFF;
    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: #222 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: #36bdef;
	border-radius: 3px;
    color: #000;
    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 {
}
.notes {
	max-width: 800px;
    width: 100%;
    margin: 0 auto;
}
.about-area .notes,
.flow .notes {
    margin-top: 1em;
}
.notes li {
	margin: 0;
	padding: 0 0 0 1em;
	background: transparent;
    color: #333;
    font-size: 80%;
    text-indent: -1em;
    text-align: left;
}
.flow .notes li {
    color: #CCC;
}
.notes li a {
     text-indent: 0;
}
.notes li::before {
    content:"※";
}
.notes li + li{
    margin: .5em 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%!important;
	max-width: 800px;
	margin: 0 auto;
	padding: 2px;
	background: #222;
	border: 2px solid #da3915;
	border-radius: 5px;
}
.btn-wrap {
	display: grid;
	width: 100%;
	margin: 0 auto;
	padding: 2em;
	background: #111;
	border: 2px solid #36bdef;
	border-radius: 3px;
	text-align: center;
	gap: 8px;
}
.btn-area p {
	margin-bottom: 4px;
}
.btn-box {
	display: grid;
	margin-bottom: 1em;
	gap: 24px 16px;
}
.btn-txt {
	color: #36bdef;
	font-size: 90%;
	font-weight: bold;
}
.btn-ticket {
    display: block;
    max-width: 400px;
	width: 100%;
    margin: 0 auto;
    padding: .5em 1em;
	background: #da3915;
    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;
}
.btn-ticket:before {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 15px;
	width: 0;
	height: 0;
	margin-top: -6px;
	border: 6px solid transparent;
	border-left: 10px solid #FFF;
}
.btn-flow {
	max-width: 300px!important;
	margin: 0 auto;
	color: #FFF!important;
	font-size: 90%;
}
.btn-flow:before {
	right: 6px;
	margin-top: -6px;
	border: 6px solid transparent;
	border-left: 8px solid #FFF;
}
.btn-ticket:hover,
.btn-flow:hover,
.btn-test:hover {
    opacity: .75;
    text-decoration: none;
}
.btn-non {
    background: #333;
    color: #666!important;
	pointer-events: none;
}
.btn-non:before {
    content: none;
}
.customer {
	display: inline-block;
	margin: 0 auto;
	padding: 0 1em;
	color: #CCC!important;
	font-size: 70%!important;
	text-align: left;
}
 @media screen and (max-width: 1024px) {
}
 @media screen and (max-width: 599px) {
	.btn-wrap {
		padding: 1em;
    } 
    .btn-ticket {
		font-size: 90%;
    }
	.btn-ticket:before {
		right: 10px;
		margin-top: -4px;
		border: 4px solid transparent;
		border-left: 6px solid #FFF;
	}
	.btn-flow:before {
		right: 5px;
		margin-top: -3px;
		border: 4px solid transparent;
		border-left: 6px solid #FFF;
	}
	 .btn-non {
		padding: .5em 1em;
	}
}
@media screen and (max-width: 376px) {
	.btn-contact {
	}
	.btn-contact span {
		padding: 0 2em;
	}
}

/* INQUIRY
--------------------------------------------------- */
.inquiry-area {
	background: #222;
}
.inquiry-wrap {
	display: grid;
	margin: 0 auto;
	gap: 32px;
}
.inquiry-box {
	max-width: 800px;
	text-align: left;
}
.inquiry-headtitle {
	margin-bottom: 4px;
	color: #FFF;
	font-size: 80%;
	font-weight: bold;
}
.inquiry-table {
	width: 100%;
	max-width: 800px;
	color: #FFF;	
}
.inquiry-table th {
	width: 100px;
	padding: .5em 0;
	font-weight: normal;
	line-height: 1.3;
	text-align: left;
	vertical-align: top;
	white-space: nowrap;
}
.inquiry-table td {
	padding: .5em;
	line-height: 1.3;
	vertical-align: top;
	text-align: left;
}
.inquiry-table tr:nth-child(odd) {
	background: #333;
}
@media screen and (max-width: 1024px) {
	.inquiry-area {
		gap: 16px;
	}
}
@media screen and (max-width: 599px) {
	.inquiry-table th {
		width: 70px;
	}
	.inquiry-table th,
	.inquiry-table td {
	}
}

/* TEST
--------------------------------------------------- */
.test-area {
	display: flex;
	flex-direction: row;
  	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
	max-width: 600px;
	width: 100%;
	margin: 0 auto;
    background: #000;
	border-radius: 5px;
	border: 1px #333 solid;
    position: relative;
}
.test-area {
    padding: .5em 1em;
}
.test-area div {
	display: grid;
	place-items: center;
    margin: 0 auto;
	color: #CCC;
    font-size: 70%;
    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: #333;
    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: #da3915;
	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 {
    margin-top: 4px;
	text-align: left;
}
.contact li a {
	width: 100%;
    font-size: 80%;
    line-height: 1.4;
    text-align: left;
}
@media screen and (max-width: 599px) {
}