@charset "utf-8";

/************************************
 BEYOND STADIUM 2025 追加コンテンツ用CSSファイル
 2025.09.18 公開分
*************************************/
.sns_float {
	Z-INDEX: 100;
}
.wrapper-fix-footer {
	position: fixed;
	bottom: 0px;
	width: 100%;
	padding: 10px 0;
	text-align: center;
	background-color: rgb(50 50 50 / 60%);
	Z-INDEX: 50;
	opacity: 0;
}
.wrapper-fix-footer img:hover {
	opacity: 0.8;
	transform: translateY(3px);
}
.wrapper-fix-footer img {
	width: 90%;
	max-width: 500px;
}

.sectionWrapper .on-mainvisual p {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.3;
	color: #ff0038;
}

.sectionWrapper img.kv {
	margin-top: 1rem;
}

.sectionWrapper .text-red {
	color: rgb(255, 0, 0);
}
.sectionWrapper .linkList.fWrapper li:nth-of-type(1):hover , 
.sectionWrapper .linkList.fWrapper li:nth-of-type(4):hover {
	background-color: #ff0137;
	opacity: 0.7;
}
.sectionWrapper .linkList.fWrapper li:nth-of-type(3):hover , 
.sectionWrapper .linkList.fWrapper li:nth-of-type(5):hover {
	background-color: #0077c7;
	opacity: 0.7;
}
.sectionWrapper .linkList.fWrapper li:nth-of-type(2):hover , 
.sectionWrapper .linkList.fWrapper li:nth-of-type(6):hover {
	background-color: #1ea942;
	opacity: 0.7;
}
.sectionWrapper .linkList.fWrapper li:hover a {
	color: #fff;
	font-weight: 700;
}


.sectionWrapper .stadium-btn a {
	margin: 10px 0 15px;
}
.sectionWrapper .btn-line {
	margin: 30px 0 15px;
}
.sectionWrapper .btn-line.top {
	margin: 0 auto;
}
.sectionWrapper .btn-line a img:hover {
	opacity: 0.5;
	transform: translateY(3px);
}

.sectionWrapper .stadium-btn.close a {
	white-space: nowrap;
	background-color: #aaa;
}
.sectionWrapper dl {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
.sectionWrapper dl dt {
	width: 120px;
	margin-top: 20px;
	box-sizing: border-box;
}
.sectionWrapper dl dd {
	width: calc(100% - 120px);
	margin-top: 20px;
	box-sizing: border-box;
}
.text-left {
	text-align: left;
}
.sectionWrapper p+p {
	margin-top: 1rem;
}


#about .text-center img {
	margin-top: 20px;
}


.sectionWrapper h3 {
	width: fit-content;
	margin: 50px auto 10px 10px;
	padding: 0 5px;
	text-align: left;
	border-bottom: 3px solid #017bc6;
}
.sectionWrapper#day2 h3 {
	border-bottom: 3px solid #fe0036;
}
.sectionWrapper#days2 h3 {
	position: relative;
	border-bottom: 3px solid #fe0036;
}
.sectionWrapper#days2 h3::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: -3px;
	width: 50%;
	height: 3px;
	background: #017bc6;
}
.sectionWrapper h4 {
	margin-top: 30px;
	margin-bottom: 5px;
	padding-left: 1.4em;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-indent: -1.4em;
}
.sectionWrapper h4.first {
	margin-top: 20px;
}
.sectionWrapper h4::before {
	content: "■";
	margin-right: 5px;
	color: #000;
}
.sectionWrapper h4.para-movies-title::before {
	content: "※";
}
.sectionWrapper .name {
	margin-top: 2px;
	font-size: 10px;
	/* font-size: 12px; */
	line-height: 1.5;
	text-align: center;
}
.sectionWrapper .time-blue {
	color: #017bc6;
	font-weight: 700;
}
.sectionWrapper .time-red {
	color: #fe0036;
	font-weight: 700;
}

.sectionWrapper .host {
	margin-top: -50px;
}
.sectionWrapper .host .imgBox {
	width: 120px;
	margin-left: auto;
}
.sectionWrapper .imgBox img {
	aspect-ratio: unset;
}
.sectionWrapper .imgBox.img-h {
	text-align: center;
}
.sectionWrapper .imgBox.img-h img {
	width: auto;
	height: 164px;
}

.sectionWrapper .text-img {
	display: flex;
}
.sectionWrapper .fukuCup {
	display: flex;
	justify-content: space-between;
	gap: 10px;
}
/*
.sectionWrapper .fukuCup .imgBox {
	max-width: 100px;
}
*/
.sectionWrapper .text-img .texts {
	width: 60%;
	margin-right: 20px;
}
.sectionWrapper#days2 .text-img .texts {
	width: 80%;
	margin-right: 0;
}
.sectionWrapper#days2 .text-img p {
	word-break: auto-phrase;
}
.sectionWrapper .text-img .imgs {
	width: calc(100% - 60% - 20px);
	gap: 10px;
}
.sectionWrapper .casts.dance .imgBox {
	max-width: unset;
}
.sectionWrapper .casts {
	display: flex;
	gap: 10px;
}
.sectionWrapper .casts.paraTalk , 
.sectionWrapper .casts.BBCup {
	display: flex;
	gap: 10px;
	justify-content: center;
}


.sectionWrapper dl dd span.note::before {
	content: '※';
}
.sectionWrapper dl dd span.note {
	display: block;
	padding: 0 0 0 1rem;
	text-indent:-1em;
}

.sectionWrapper ul {
  list-style: none;
}
.sectionWrapper ul li {
  position: relative;
  padding-left: 1.5rem;
}
.sectionWrapper ul li::before {
  content: '・';
  position: absolute;
  left: 0;
}
.sectionWrapper ol {
  list-style: none;
  counter-reset: number;
  font-size: 0.8em;
  line-height: 26px;
}
.sectionWrapper ol li {
  position: relative;
  padding-left: 2.5rem;
}
.sectionWrapper ol li::before {
  counter-increment: number;
  content: '（' counter(number) '）';
  position: absolute;
  left: -10px;
}
.sectionWrapper#boccia h2 img {
	width: 50%;
}


.sectionWrapper .para-movies {
	display: flex;
	justify-content: space-between;
	gap: 10px;
}
.sectionWrapper .para-movies .para-movie {
	width: 25%;
}
.sectionWrapper .para-movies .para-movie iframe {
	aspect-ratio: 9 / 16;  /* 高さを自動算出（モダンブラウザ対応） */
}


.BBCup-table th {
	width: 100px;
	font-weight: 700;
	background: #eaeaea;
}
.BBCup-table td {
	width: 300px;
}

.sectionWrapper .note {
	margin-top: 0;
	padding-left: 1rem;
	text-indent: -1em;
}

/* タブレット用
-------------------------------------------------------------------------------------------------------------*/
@media (max-width: 767px) {	
	.sectionWrapper h4 , 
	.sectionWrapper p , 
	.sectionWrapper ul , 
	.sectionWrapper .casts , 
	.sectionWrapper .BBCup , 
	.sectionWrapper .text-img , 
	.sectionWrapper .para-movies {
		width: 95%;
		margin-right: auto;
		margin-left : auto;
	}
	.sectionWrapper p+p {
		margin-top: 0;
	}
	.sectionWrapper li {
		font-size: 12px;
		line-height: 21px;
	}

	
	.sectionWrapper .on-mainvisual p {
		width: 100%;
		font-size: 1.4rem;
	}
	
	.sectionWrapper .BBCup {
		flex-wrap: unset;
	}
	
	.sectionWrapper .fukuCup {
		width: 95%;
		margin-right: auto;
		margin-left : auto;
	}
	
	.sectionWrapper .casts.wbBall .imgBox {
		width: 31%;
	}
	
	.sectionWrapper .btn-line a img {
		width: 50%;
	}
	.BBCup-table {
		width: 95%;
	}
}



/* スマホ用
-------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 480px) { /* 480px以下に適用されるCSS */
	.wrapper-fix-footer {
		padding: 10px 0 20px;
	}
	
	.sectionWrapper .on-mainvisual p {
		font-size: 1.1rem;
	}
	
	.sectionWrapper h4.first {
		margin-top: 10px;
	}
		
	.sectionWrapper .btn-line a img {
		width: 80%;
	}
	
	.sectionWrapper dl dt {
		width: 90px;
		margin-top: 10px!important;
	}
	.sectionWrapper dl dd {
		width: calc(100% - 90px);
		margin-top: 10px!important;
	}
	
	.sectionWrapper ul li {
		padding-left: 1.0rem;
	}
	
	.sectionWrapper span.position {
		font-size: 0.8rem;
	}
	
	.sectionWrapper .host {
		margin-top: 0px;
	}
	.sectionWrapper .host .imgBox {
		margin: 10px auto 0;
	}
	
	.sectionWrapper .text-img {
		display: block;
	}
	.sectionWrapper .text-img .texts , 
	.sectionWrapper#days2 .text-img .texts , 
	.sectionWrapper .text-img .imgs {
		width: 100%;
	}
	.sectionWrapper#days2 .text-img p {
		word-break: unset;
	}
	.sectionWrapper .text-img .imgs {
		flex-wrap: unset;
		text-align: center;
		gap: unset;
	}
	.sectionWrapper .text-img .imgs .imgBox {
		width: 50%;
		margin: 0;
	}
	.sectionWrapper .text-img .imgs img {
		width: 90%;
		margin: 10px 0 0;
	}
	.sectionWrapper .text-img.BBCup1 .imgs {
		gap: 10px;
	}
	.sectionWrapper .text-img.BBCup1 .imgs .imgBox {
		width: unset;
	}
	.sectionWrapper .text-img.BBCup1 .imgs img {
		width: 100%;
	}
	.sectionWrapper .casts .imgBox {
		max-width: 120px;
	}
	.sectionWrapper .casts {
		flex-wrap: unset;
	}
	.sectionWrapper .casts.dance , 
	.sectionWrapper .casts.wbBall {
		flex-wrap: wrap;
		justify-content: center;
	}
	.sectionWrapper .casts.dance .imgBox {
		width: 45%;
		max-width: 130px;
	}
	
	.sectionWrapper .fukuCup {
		flex-wrap: wrap;
		width: 100%;
		margin: 10px auto;
	}
	.sectionWrapper .fukuCup::after {
		content: "";
		display: block;
		width: 31%;
	}
	.sectionWrapper .fukuCup .imgBox {
		width: 31%;
		max-width: unset;
		text-align: center;
	}
	.sectionWrapper .fukuCup .imgBox img {
		width: 100%;
	}

	.sectionWrapper .para-movies {
		flex-wrap: wrap;
		justify-content: center;
		width: 95%;
		margin: 0 auto;
	}
	.sectionWrapper .para-movies .para-movie {
		width: 45%;
	}
}



/* ===========================================================
   ▼▼▼ 10/17ここから追記 ▼▼▼
   既存ルールは触らず、必要箇所のみ上書き/追加しています。
=========================================================== */

/* YouTube埋め込み：PCは640×360、SPは横幅100% */
.videoWrapper {
	position: relative;
	width: 640px;          /* PC時の固定幅 */
	max-width: 100%;       /* SPで自動縮小 */
	aspect-ratio: 16 / 9;  /* 高さを自動算出（モダンブラウザ対応） */
	margin: 0 auto;        /* 中央寄せ */
	overflow: hidden;
}

.videoWrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
}

/* スマホでは幅100％にリサイズ */
@media (max-width: 767px) {
	.videoWrapper {
		width: 100%;
	}
}

.video-title {
	text-align: center;
}



/* --- [追加] ®マーク用 --- */
.brand {
	position:relative;
}
.r-mark{
	position:absolute;
	font-size:.75em;  /* ベース比率。必要に応じて微調整 */
	line-height:1;
	right:-2.0em;
	bottom:-.25em;
}

/* --- [追加] ブラインドサッカー見出しのSP時余白調整（詰まり対策） --- */
@media (max-width: 768px){
	/* 「■」と文字の間を少し広げる（#day2の見出しのみ） */
	#day2 h4.first .brand{
		display:inline-block;
		margin-left:.75em;
		line-height:1;
	}
	/* ®の微調整（SP時） */
	#day2 h4.first .r-mark{
		font-size:.8em;     /* わずかに大きめでもOK */
		right:-1.5em;
		bottom:-.4em;
	}
}
/* ===========================================================
   ▲▲▲ 追記ここまで（コピーは末尾に追加でOK） ▲▲▲
=========================================================== */
