@charset "UTF-8";

@font-face {
	font-family: 'RakutenSansJP2_W-DemiBold', "メイリオ", Meiryo, "HiraKakuPro-W3", "ヒラギノ角ゴ Pro W3", "Helvetica Neue", Helvetica, "Arial", "ＭＳ Ｐゴシック", sans-serif;
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}

blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after {
	content: '';
	content: none;
}
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
select {
	-moz-appearance: none;
	-webkit-appearance: none;
	text-indent: 0.01px;
	text-overflow: '';
	appearance: none;
	border-radius: 0;
	border: 0;
	margin: 0;
	padding: 0;
	background: none transparent;
	vertical-align: middle;
	color: inherit;
	box-sizing: content-box;
}
select::-ms-expand {
	display: none;
}

b, strong {
	font-weight: bolder;
}

main {
	display: block;
}
html, body {
	height: 100%;
	width: 100%;
}
html {
	font-size: 62.5%;
}
body {
	position: relative;
	font-size: 1.6rem;
	font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic", "メイリオ", sans-serif;
	font-weight: 400;
	color: #333333;
	line-height: 1.5;
	letter-spacing: 0rem;
	-moz-text-size-adjust: none;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	background-color: #980323;
	background-image: 
		linear-gradient(90deg, rgba(0, 0, 0, 0.15) 2px, transparent 2px);
	background-size: 40px 100%, 40px 100%;
	background-position: 0 0, 15px 0;
}

.clearfix:before, .clearfix:after {
	content: " ";
	display: table;
}
.clearfix:after {
	clear: both;
}
.clearfix {
	*zoom: 1;
}
ul, ol {
	list-style: none;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}
em {
	font-style: normal;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: top;
}
a img {
	border: none;
}
a:hover img {
	opacity: 0.7;
	filter: alpha(opacity=70);
}
a {
	color: rgba(173, 0, 57, 1.0);
	text-decoration: none;
}
a:hover {
	color: #980323;
	text-decoration: none;
}
.contents a {
	word-break: break-all;
}
.item-img {
	width: 100%;
	text-align: center;
}
.reset, .reset > li, .reset > dt, .reset > dd {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
.reset-t {
	margin-top: 0;
	padding-top: 0;
}
.reset-b {
	margin-bottom: 0;
	padding-bottom: 0;
}
.valign-t {
	vertical-align: top
}
.valign-m {
	vertical-align: middle
}
.valign-b {
	vertical-align: bottom
}
.text-white {
	color: #ffffff;
}
.text-red {
	color: #a9002e;
}
.text-cr {
	color: #a9002e;
}
.text-gold {
	color: #c4b05c;
}
.text-pink {
	color: rgba(173, 0, 57, 1.0);
}
.text-right {
	text-align: right
}
.text-center {
	text-align: center
}
.text-left {
	text-align: left
}
.bg-black {
	background-color: rgba(0, 0, 0, 0.1);
}
.bg-white {
	background-color: rgba(254, 254, 254, 0.2);
}
.bg-cr {
	background-color: rgba(155, 1, 32, 0.1);
}
.solid {
	border: 1px solid #fff;
}
.solid-5x {
	border: 5px solid #fff;
}
.border-gray {
	border: 1px solid;
	border-color: #c7c7c7;
}
.border-red {
	border: 1px solid;
	border-color: #dc3c14;
}
.hr_line {
	border-width: 1px 0 0 0;
	border-style: solid;
	border-color: #c7c7c7;
}
hr.spacer {
	margin-bottom: 0;
	padding: 10px 0;
	border: none;
}
hr.spacer-2x {
	margin-bottom: 0;
	padding: 20px 0;
	border: none;
}
.fs-12 {
	font-size: 1.2rem;
}
.fs-14 {
	font-size: 1.4rem;
}
.fs-16 {
	font-size: 1.6rem;
}
.fs-18 {
	font-size: 1.8rem;
}
.fs-20 {
	font-size: 2.0rem;
}
.fs-22 {
	font-size: 2.2rem;
}
.w-max {
	width: 100%;
}
.w-min {
	width: 1%;
	white-space: nowrap;
}
.pad-5 {
	padding: 5px;
}
.pad-10 {
	padding: 10px;
}
.pad-20 {
	padding: 20px;
}
.pad-t10 {
	padding-top: 10px;
}
.pad-t20 {
	padding-top: 20px;
}
.pad-r5 {
	padding-right: 5px;
}
.marg-10 {
	margin: 10px;
}
.marg-20 {
	margin: 20px;
}
.marg-t10 {
	margin-top: 10px;
}
.marg-t20 {
	margin-top: 20px;
}
.marg-t40 {
	margin-top: 40px;
}
.marg-b20 {
	margin-bottom: 20px;
}
.marg-b40 {
	margin-bottom: 40px;
}
.round-5x {
	border-radius: 5px;
	overflow: hidden;
}
.round-10x {
	border-radius: 10px;
	overflow: hidden;
}
.box {
	padding: 10px;
}
.box-2x {
	padding: 20px;
}
section {
	padding: 40px 0;
}


/*----------------------------------------
	youtube
----------------------------------------*/

.youtubeArea {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	margin-bottom: 20px;
}
.youtubeArea iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}
@media (min-width: 835px) {
	.youtubeArea {
		margin-top: 20px;
	}
}
@media (max-width: 834px) {
	.youtubeArea {
		margin-top: 30px;
	}
}

/*----------------------------------------
	Footer
----------------------------------------*/
footer {
	background-color: #980323;
	border-top: 8px solid #c4b05c;
}
footer .footer_inner {
	max-width: 650px;
	margin: auto;
}
footer .v_logo {
	max-width: 150px;
	float: left;
}
footer ul.linktext {
	float: right;
	width: 400px;
	margin-top: 30px;
}
footer ul.linktext li {
	float: left;
}
footer ul.linktext li a {
	color: #fff;
	padding-left: 20px;
	font-size: 1.4rem;
	position: relative;
}
@media (max-width: 834px) {
	footer ul.linktext {
		float: none;
		text-align: center;
		margin: auto;
		width: 340px;
	}
	footer ul.linktext li a {
		font-size: 1.2rem;
	}
	footer .v_logo {
		float: none;
		margin: 0 auto 20px;
	}
}
footer ul.linktext li a:before {
	position: absolute;
	left: 5px;
	top: 50%;
	margin-top: -2.5px;
	content: "";
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	width: 5px;
	height: 5px;
	transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
}
footer ul.linktext li:nth-child(1) {
	margin-right: 1em;
}
footer p.copyright {
	padding: 10px;
	color: #ffffff;
	font-size: 10px;
	text-align: center;
}
footer .field .v_logo img {
	width: 100%;
}
footer .field .itemSns ul.reset {
	font-size: 0px;
	text-align: center;
}
footer .field .itemSns ul li a:hover {
	opacity: 0.75;
}
footer .field .itemSns ul li.icon-x a {
	color: #ffffff;
}
footer .field .itemSns ul li.icon-facebook a {
	color: #ffffff;
}
footer .field .itemSns ul li.icon-instagram a {
	color: #ffffff;
}
footer .field .itemSns ul li.icon-youtube a {
	color: #ffffff;
}

@media (min-width: 835px) {
	footer .field .logoVk {
		margin: 0 auto;
	}
	footer {
		padding: 40px 0 80px;
	}
	footer .field .itemSns ul li a img {
		width: 30px;
		vertical-align: -5px
	}
	footer .field .itemSns ul li {
		display: inline-block;
		width: 50px;
		margin: 20px 0 20px 30px;
		font-size: 1.4rem;
	}
	footer .field .itemSns ul li:first-child {
		margin-left: 0;
	}
	footer .field .itemSns ul li a {
		display: block;
		height: 50px;
		line-height: 44px;
		background-color: transparent;
		border-radius: 60px;
		font-size: 4rem;
	}
}

@media (max-width: 834px) {
	footer .field .logoVk {
		margin: 0 auto;
	}
	footer {
		padding: 20px 0 50px;
	}
	footer .container {
		padding: 0;
	}
	footer .field .itemSns ul li a img {
		width: 22px;
		vertical-align: -3px
	}
	footer .field .itemSns ul li {
		display: inline-block;
		width: 40px;
		margin: 20px 0 20px 10px;
		font-size: 1.6rem;
	}
	footer .field .itemSns ul li:first-child {
		margin-left: 0;
	}
	footer .field .itemSns ul li a {
		display: block;
		height: 40px;
		line-height: 40px;
		background-color: transparent;
		border-radius: 20px;
		font-size: 3.0rem;
	}
}

#page-top {
	position: fixed;
	bottom: 10px;
	right: 10px;
	font-size: 2.8rem;
	z-index: 100;
}

#page-top a {
	display: block;
	color: #c4b05c;
	width: 80px;
	height: 80px;
	line-height: 80px;
	text-align: center;
	text-decoration: none;
}

#page-top a:hover {
	background: rgba(0, 0, 0, 0.5);
	text-decoration: none;
	color: #ffffff;
	border-radius: 50px;
}

@media (max-width: 834px) {
	#page-top {
		bottom: 5px;
		right: 5px;
		font-size: 2.0rem;
	}
	#page-top a {
		display: block;
		width: 50px;
		height: 50px;
		line-height: 50px;
	}
}


/*----------------------------
main innerWrap
-----------------------------*/

.main {
	position: relative;
}
.innerWrap {
	margin: 0 auto;
	text-align: left;
	z-index: 100;
	border-radius: 10px;
	padding-bottom: 20px;
}

/*----------------------------
横並び
-----------------------------*/

.row {
	display: flex;
	flex-wrap: wrap;
	padding-left: -10px;
	padding-right: -10px;
	margin-top: 2em;
}
.row.center {
	justify-content: center;
}
@media (max-width: 834px) {
	.col, .col-2, .col-3 {
		position: relative;
		width: 100%;
		padding-left: 10px;
		padding-right: 10px;
	}
	.col-4 {
		width: 48%;
		/*flex: 0 0 48%;
		max-width: 50%;*/
		margin: 0 2% 10px 0;
	}
	.col-4:nth-child(even) {
		margin: 0 0 10px 2%;
	}
}
@media (min-width: 835px) {
	.col-2 {
		flex: 0 0 50%;
		max-width: 50%;
		margin-bottom: 10px;
	}
	.col-3 {
		flex: 0 0 33.33333%;
		max-width: 33.33333%;
		margin-bottom: 10px;
	}
	.col-4 {
		/*max-width: 24%;*/
		width: calc(25% - 9px);
		margin-bottom: 12px;
	}
	.col-4:not(:nth-of-type(4n+1)) {
		margin-left: 12px;
	}
}

/*----------------------------
h1-h3
-----------------------------*/

section h1 {
	font-size: 5.8rem;
	text-align: center;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	line-height: 1.0;
	margin-bottom: 40px;
}

.container b {
	display: block;
	font-family: 'Noto Sans JP', sans-serif;
	text-align: center;
	margin-bottom: 10px;
}

.ttl-02 {
	position: relative;
	margin: 15px 0 0;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.3;
}

.ttl-03 {
	position: relative;
	display: block;
	margin: 40px 0 10px;
	padding: 10px 0 10px 10px;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.3;
	background-color: #a9002e;
	color: #FFFFFF;
}

#Schedule .container b {
	background-color: #a9002e;
	color: #fff;
	width: 60%;
	padding: 10px;
	margin-bottom: 10px;
}

#Schedule .container .list-normal {
	margin-top: 10px;
}

@media (max-width: 834px) {
	.ttl-02 {
		font-size: 1.6rem;
	}
	.ttl-03 {
		font-size: 1.6rem;
		margin: 20px 0 10px;
	}
	section h1 {
		font-size: 2.8rem;
		letter-spacing: 0;
	}
	.container b {
		font-size: 1.8rem;
		line-height: 1.0;
	}
	#Schedule .container b {
		font-size: 1.4rem;
	}
	#Schedule .container .list-normal {
		font-size: 1.4rem;
		padding-left: 10px;
	}
	.ttl-regular {
		font-size: 1.8rem;
	}
}

@media (min-width: 835px) {
	.container b {
		font-size: 2.4rem;
		line-height: 1.0;
	}
	#Schedule .container b {
		font-size: 1.8rem;
	}
	#Schedule .container .list-normal {
		padding-left: 10px;
	}
	#Schedule .container .list-normal:last-child {
		padding-left: 20px;
	}
	#Schedule .container img {
		width: 98%;
	}
	.ttl-regular {
		font-size: 2.0rem;
	}
}

/*----------------------------------------
	Ul
----------------------------------------*/

.list-normal > li:not(:first-child) {
	margin: 1em 0;
}
.list-normal > li {
	position: relative;
	padding-left: 1em;
	/* line-height: 1em;*/
}
.list-normal > li::before {
	position: absolute;
	left: 0;
	top: 0.75em;
	content: "";
	display: block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #a9002e;
}

/*----------------------------------------
	button
----------------------------------------*/

.itemButton {
	text-align: center;
}
.itemButton > a {
	display: inline-block;
	position: relative;
	padding: 1.0em 1.5em;
	font-weight: 700;
	text-decoration: none;
	overflow: hidden;
}
.itemButton.cRed > a {
	color: #ffffff;
	background: linear-gradient(135deg, #b8002f, #7a001e);
	border-radius: 50px;
	box-shadow: 0 10px 15px rgba(122, 0, 30, 0.2);
  transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
}
.itemButton.bk > a, .itemButton.bk02 > a {
	color: #ffffff;
	background-color: #000000;
	letter-spacing: 0.08em;
}
.itemButton.cover > a {
	display: block;
}
.itemButton > a:before {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	transition: all 0.25s;
}
.itemButton.cRed > a:before {
	background-color: #c4b05c;
}
.itemButton.bk > a:before {
	background-color: #910023;
}
.itemButton.bk02 > a:hover,
.itemButton.cRed > a:hover{
	color: #333333;
}
.itemButton.bk02 > a:before {
	background-color: #ffffff;
}
.itemButton > a:hover:before {
	left: 0;
}
.itemButton.chevronR > a:after {
	display: block;
	content: "\f054";
	position: absolute;
	top: calc(50% - 0.5em);
	right: 1.0em;
	font-family: fontAwesome;
	line-height: 1.0;
}
.itemButton > a > span {
	position: relative;
}


@media (hover: hover) {
    .itemButton.cRed > a:hover {
        transform: translateY(-2px) scale(1.0); 
        box-shadow: 0 15px 20px rgba(122, 0, 30, 0.4);
        filter: brightness(1.1);
    }
	}


/*------------------
kv
------------------*/
main {
	position: relative;
	z-index: 100;
}
.kv img {
	width: 100%;
	height: auto;
	vertical-align: top;
	padding: 0;
	margin: 0;
}
section.top {
	padding: 0!important;
	margin: 0!important;
}



/*----------------------------------------
	Nav menu
----------------------------------------*/
a.anchor {
	display: block;
	/*padding-top: 100px;
	margin-top: -100px;*/
}

nav {
	background-color: rgba(196, 176, 92, 1.0);
	border-top: 1px solid #c4b05c;
	border-bottom: 8px solid #980323;
}

nav.fixed {
	position: fixed;
	/*top: 0;*/
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: rgba(196, 176, 92, 0.95);
	z-index: 1000;
	
	border-top: 8px solid #980323;
	border-bottom: 1px solid #c4b05c;
}

nav.fixed ul {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}

nav > ul li {
	float: left;
	width: 20%;
}

nav > ul li a {
	display: block;
	position: relative;
	padding: 10px 0;
	text-align: center;
	font-weight: bold;
	line-height: 1.4;
	text-decoration: none;
}
nav > ul li a em {
	display: block;
	color: #980323;
	font-family: 'Oswald', sans-serif;
	font-weight: bold;
}
nav > ul li a:hover {
	background-color: #fff;
}

@media only screen and (min-width: 835px) {
	header {
		background-color: transparent;
		margin: 0 auto;
	}
	nav > ul li a {
		display: block;
		position: relative;
		padding: 10px 0;
		text-align: center;
		font-size: 3.5rem;
		font-weight: bold;
		line-height: 1.4;
		text-decoration: none;
	}
	nav > ul li a em {
		display: block;
		font-family: 'Oswald', sans-serif;
		font-weight: 900;
	}
	nav > ul li a:hover {
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
	}
	a.anchor {
		display: block;
		/*padding-top: 60px;
		margin-top: -60px;*/
	}
}

@media only screen and (max-width: 834px) {
nav > ul li a {
		font-size: 1.7rem;
	}
}

/*----------------------------------------
title
-----------------------------------*/
.heading {
	text-align: center;
	font-family: 'Oswald', sans-serif;
	font-weight: 900;
	line-height: 1.0;
	margin-bottom: 30px;
	padding-top: 30px;
}
.heading_main {
	position: relative;
	text-align: center;
	font-family: 'Oswald', sans-serif;
	font-size: 6.0rem;
	font-weight: 900;
	color: #fff;
}

section#Number .heading_main,
section#Schedule .heading_main{
		color: #910023;
}

section#Concept .heading_main,
section#Lineup .heading_main,
section#Design .heading_main{
	color: transparent; 
	-webkit-text-stroke: 1.2px rgba(255, 255, 255, 1.0);
	}

.heading_sub {
	display: block;
	text-align: center;
	margin: 0.4em 0;
	font-size: 3.2rem;
	font-weight: bold;
}
.font-white .heading_sub, .font-gold .heading_sub, .font-pink .heading_sub {
	color: inherit;
}

@media (max-width: 834px) {
	.heading {
		margin-bottom: 20px;
		padding-top: 20px;
	}
	.heading_main {
		margin-bottom: 40px;
		font-size: 4.0rem;
	}
	.heading_sub {
		font-size: 2.0rem;
	}
}

/*----------------------------------------
	Concept
----------------------------------------*/

section#Concept {
	position: relative;
  padding: 40px 0px;
 background: 
        url("images/concept_bg.png") left center no-repeat fixed,
        linear-gradient(to bottom right, #4a000d, #a40931);
}

section#Concept .heading {
	color: #fff;
	padding: 0;
	margin: 0;
}
	
section#Concept p {
	margin: 1.6rem auto;
	padding: 0;
	color: #fff;
	font-weight: 700;
	text-wrap: balance;
	word-break: auto-phrase;
	text-align: left;
}

#Concept > .innerWrap > p {
	font-weight: bold;
	line-height: 1.5;
}

@media (max-width: 834px) {
	section#Concept {
		padding: 10px 0px 50px;
 background: 
        url("images/concept_spbg.png") center center no-repeat fixed,
        linear-gradient(to bottom right, #4a000d, #a40931);
}
	section#Concept {
		padding: 1.0em;
	}
	section#Concept p {
		margin: 1em auto;
		font-size: 1.4rem!important;
	}
	#Concept > .innerWrap > p {
		font-weight: bold;
		font-size: 1.4rem!important;
	}
}

@media (min-width: 835px) {
section#Concept .row .col:first-child {
    align-self: center;
}
	
	section#Concept .heading_main{
		font-size:6.0rem ;
		 text-transform: uppercase;
    letter-spacing: 0.1em;
	}
section#Concept .row .col:first-child {
    writing-mode: vertical-rl;
    text-orientation: mixed; 
    
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
	min-height: 200px; 
}



section#Concept .heading_sub {
    margin-top: 10px;
    font-size: 3.2rem;
	text-align: left;
}
}



/*----------------------------------------
	Design
----------------------------------------*/

section#Design .heading { color: #fff;}

section#Design .heading::after {
	content: "\f005 \f005 \f005 \f005 \f005"; /* 星アイコン5つ */
	font-family: FontAwesome;
	display: block;
	color: #c4b05c; /* ゴールド */
	font-size: 1.6rem;
	letter-spacing: 8px;
	text-align: center;
	margin-top: 15px;
	margin-bottom: -15px;
}

#Design .innerWrap { background-color: rgba(0,0,0,0.7); border-radius: 10px;}

.uni-detail-container {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 1em;
	padding: 20px;
	gap: 4%;
}

.detail-main-visual {
	width: 48%;
	position: sticky;
	top: 120px;
	/*background-color: rgba(0,0,0,0.2);*/
	/*padding: 30px;*/
	box-sizing: border-box;
	text-align: center;
}
.main-image-wrapper {
	width: 100%;
	/*height: 480px;*/
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.main-image-wrapper img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	transition: opacity 0.25s ease;
}

.detail-thumbnails-grid {
	width: 48%;
	display: grid;
	grid-template-columns: repeat(3, 1fr); 
	gap: 20px;
	margin-bottom: 2em;
}
.thumb-btn {
	position: relative;
	aspect-ratio: 1 / 1; 
	background-color: transparent;
	border: 2px solid transparent;
	cursor: pointer;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	transition: all 0.2s ease;
	padding: 10px;
}
.thumb-btn img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}
.thumb-btn:hover img {
	transform: scale(1.05);
}

.thumb-btn.active {
border-color: #910023;
	box-shadow: 0 0 15px rgba(145, 0, 35, 0.4);
}

.thumb-btn.active::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(145, 0, 35, 0.08);
	pointer-events: none;
}

@media (max-width: 834px) {
	.uni-detail-container {
		flex-direction: column;
		gap: 20px;
		padding: 0;
	}
	.detail-main-visual {
		width: 100%;
		position: relative;
		top: 0;
		/*padding: 20px;*/
	}
	.main-image-wrapper {
		/*height: 320px;*/
	}

	.detail-thumbnails-grid {
		width: 100%;
		gap: 12px;
	}
	.thumb-btn {
		padding: 6px;
	}
}

/*----------------------------------------
	Schedule
----------------------------------------*/

section#Schedule {
	background-color: #fff;
	background-image: 
		linear-gradient(to bottom, rgba(255, 255, 255, 0.9) 0%, rgba(244, 241, 230, 0.4) 100%),
		linear-gradient(90deg, rgba(218, 165, 32, 0.15) 2px, transparent 2px);
	background-size: 40px 100%, 40px 100%;
	background-position: 0 0, 15px 0;
	color: #010101;
	padding-top: 0;
}

#Schedule .innerWrap {background-color: rgba(255, 255, 255, 0.9);}

.ttl-regular {
	display: block;
	margin: 20px 0 0;
	padding: 10px;
	background-color: #4a000d;
	background-image: 
		linear-gradient(90deg, rgba(218, 165, 32, 0.15) 2px, transparent 2px);
	background-size: 40px 100%, 40px 100%;
	background-position: 0 0, 15px 0;
	color: #fff;
	text-align: center;
	border-radius: 50px;
}

.ttl-regular span {
	display: inline-block;
}

section#Schedule .box-2x > strong {
	display: block;
	color: rgba(173, 0, 57, 1.0);
	border-bottom: 1px solid rgba(173, 0, 57, 0.75);
	padding-bottom: 5px;
	margin-bottom: 10px;
	font-size: 1.6rem;
}

section#Schedule .box-2x > b {
	display: inline;
	font-size: 1.6rem;
}

section#Schedule .box-2x > strong span {
	color: rgba(173, 0, 57, 1.0);
	font-weight: bold;
}

#Schedule table {
	width: 100%;
	color: #2c2c2c;
	border-collapse: collapse;
	border-spacing: 1px;
	padding: 0;
	margin: 0;
}

#Schedule table th {
	text-align: center;
	background: #910023!important;
	color: #ffffff;
}

#Schedule table th, #Schedule table td {
	vertical-align: middle;
	border-bottom: 1px solid #e7e3d4;
	padding: 10px;
	font-size: 14px;
	text-align: center;
}

@media (min-width: 835px) {
	#Schedule table.boder td, #Schedule table.boder th {
		border: 1.5px solid #e7e3d4;
	}
}

#Schedule table td.noborder-r {
	border-right: none;
}

#Schedule table td.item {
	background-color: #f7f7f7;
	font-weight: bold;
}
#Schedule table td.kaimaku-item {
	background-color: rgba(173, 0, 57, 0.2);
	color: rgba(173, 0, 57, 1.0);
	font-weight: bold;
}
#Schedule table td.bg-pink {
	background-color: rgba(255, 102, 102, 0.2);
	font-weight: bold;
}
#Schedule table td.bg-green {
	background-color: rgba(153, 255, 102, 0.3);
	font-weight: bold;
}
#Schedule table td.text-left {
	text-align: left;
}
#Schedule table th:first-child {
	width: 30%;
}
#Schedule table th:last-child {
	width: 20%;
}
@media (max-width: 834px) {
	
#Schedule .innerWrap { padding: 0; background-color: rgba(255, 255, 255, 0.9);}
	
	#Schedule table td {
		border-bottom: 1px dotted #e7e3d4;
	}
	#Schedule table td.item {
		text-align: left;
	}
	#Schedule table td.text-left {
		text-align: right;
	}
	section#Schedule .box-2x > b {
		font-size: 1.4rem;
	}
	section#Schedule .box-2x > strong {
		font-size: 1.4rem;
	}
	section#Schedule .box-2x {
		font-size: 1.4rem;
	}
	#Schedule table tr {
		border: 1px solid #e7e3d4;
		border-radius: 10px;
	}
	#Schedule table thead {
		display: none;
	}
	#Schedule table tr {
		margin: 0 10px 20px 10px;
		display: block;
	}
	#Schedule table td {
		display: block;
		text-align: right;
		font-size: 13px;
		border-radius: 10px 10px 0 0;
	}
	#Schedule table td:last-child {
		border-bottom: 0;
	}
	#Schedule table td:before {
		content: attr(data-label);
		float: left;
		color: #000000;
		font-weight: bold;
	}
}

/*----------------------------------------
	Lineup
----------------------------------------*/

section#Lineup {
	background-size: contain;
	padding-top: 0;
}

section#Lineup .innerWrap{
	background-color: rgba(0,0,0,0.7);
	border-radius: 10px;
	padding-bottom: 2em;
}
#Lineup .container p{
	color: #fff;
}
#Lineup .container b {
	margin-bottom: 0;
}
#Lineup .container a {
	overflow: hidden;
	display: block;
}
#Lineup .container img {
	border: 1px solid rgba(0,0,0,0.15);
}
#Lineup .container a img {
	transition: all .3s linear;
}
#Lineup .container a:hover img {
	transform: scale(1.1);
}
@media (max-width: 834px) {
	#Lineup .container b {
		font-size: 1.2rem;
		line-height: 1.4;
	}
	section#Lineup {
		background-position: right top;
	}
}
@media (min-width: 835px) {
	#Lineup .container b {
		font-size: 1.4rem;
		line-height: 1.4;
	}
}

.ui-tab {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom: 10px;
	overflow: visible;
	font-family: 'Oswald', sans-serif;
}

.ui-tab li {
	cursor: pointer;
	background-color: #000000;
	color: #FFFFFF;
	margin: 0;
	width: calc(50%);
	text-align: center;
	padding: 16px 0;
	position: relative;
}
.ui-tab li.active {
	background-color: #c4b05c;
	font-family: 'Oswald', sans-serif;
	font-weight: 700;
	color: #111111;
}

.ui-tab li.active::after {
	content: "";
	position: absolute;
	bottom: -15px; 
	left: 50%;
	transform: translateX(-50%);
	
	border-style: solid;
	border-width: 15px 15px 0 15px;
	border-color: #c4b05c transparent transparent transparent;
	
	z-index: 10;
}

.tab-content li.field {
	display: none;
	padding-top: 10px;
	padding-bottom: 20px;
}
.tab-content li.field.active {
	display: block;
}
.tab-content li.field .container {
	max-width: 100%;
	padding-left: 10px;
	padding-right: 10px;
}
@media (min-width: 835px) {
	section#Concept {
		padding-bottom: 0;
	}
	h2.concept_lead {
		font-size: 6.0rem;
	}
	.ui-tab {
		width: 100%;
		margin-right: auto;
		margin-left: auto;
	}
}

.lineup-points-container {
	display: flex;
	flex-direction: column;
	gap: 16px;
	max-width: 998px;
	margin-left: auto;
	margin-right: auto;
	padding: 0 10px;
	box-sizing: border-box;
}

.point-box {
	flex: 1;
	background-color: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(196, 176, 92, 0.4);
	border-radius: 8px;
	padding: 0 15px 20px 15px;
	text-align: left;
	box-sizing: border-box;
}

.point-ttl {
	font-family: 'Oswald', sans-serif;
	font-size: 1.8rem;
	font-weight: 700;
	color: #c4b05c;
	line-height: 1.2;
	margin-bottom: 6px;
	letter-spacing: 0.05em;
}

.point-txt {
	font-size: 1.4rem;
	font-weight: 700;
	color: #ffffff !important;
	line-height: 1.5;
	margin-bottom: 1em;
}

@media (min-width: 835px) {
	.lineup-points-container {
		flex-direction: row; 
		gap: 20px;
	}
	.point-box {
		padding: 20px;
	}
	.point-ttl {
		font-size: 2.2rem;
	}
	.point-txt {
		font-size: 1.6rem;
	}
}


/*----------------------------------------
	Number
----------------------------------------*/

section#Number {
	padding: 0;
}

section#Number .innerWrap{
	background-color: rgba(255, 255, 255, 0.5);
	margin-bottom: 40px;
}


@media (max-width: 834px) {
	section#Number .innerWrap:last-child{ padding-top: 20px; margin-bottom: 20px;}
	section#Number .innerWrap {padding: 0;}
	}
	
/*----------------------------------------
	sp
----------------------------------------*/
@media (max-width: 834px) {
	body {
		min-width: 100%;
	}
	.only-pc {
		display: none !important;
	}
	.containerSp {
		padding: 0 1.0em;
	}
	a.anchor {
		display: block;
		/*padding-top: 40px;
		margin-top: -40px;*/
	}
	section {
		padding: 20px !important;
	}
	.innerWrap {
		padding: 0 20px;
	}
	.fs-12 {
		font-size: 2.5vw;
	}
	.fs-14 {
		font-size: 3vw;
	}
	.fs-16 {
		font-size: 3.5vw;
	}
	.fs-18 {
		font-size: 4.0vw;
	}
	.fs-20 {
		font-size: 4.5vw;
	}
	.fs-22 {
		font-size: 5.0vw;
	}
}

/*----------------------------------------
	pc
----------------------------------------*/
@media (min-width: 835px) {
	.only-sp {
		display: none !important;
	}
	.container {
		width: 998px;
		margin: 0 auto;
	}
	
	.innerWrap {
		width: 1060px;
	}
	.fs-12 {
		font-size: 1.2rem;
	}
	.fs-14 {
		font-size: 1.4rem;
	}
	.fs-16 {
		font-size: 1.6rem;
	}
	.fs-18 {
		font-size: 1.8rem;
	}
	.fs-20 {
		font-size: 2.0rem;
	}
}


/*----------------------------------------
	Animation
----------------------------------------*/

.fadeUpEffect {
	opacity: 0;
	transform: translateY(40px);
	transition: opacity 1.2s ease, transform 0.8s ease;
}

.fadeUpEffect.fadeUp {
	opacity: 1;
	transform: translateY(0);
}