@charset "utf-8";
/* CSS Document */

html{
	font-size: 62.5%;
}
body{
	font-size: 14px;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1.5em;
	background: #000;
	color: #fff;
	min-width: 768px;
}

.wrap{position: relative;}
a{
	transition: 0.3s;
	text-decoration: underline;
}
a:link,a:visited.a:hover{
	color: #fff;
}
a:active{
	color: #ed682d;
	text-decoration: none;
}

img{
	vertical-align: bottom;
}

.orangeBtn a,button.orangeBtn{
	display: block;
	border-radius: 7px;
	background: #ed682d;
	padding: 5px 20px;
	text-decoration: none;
	text-align: center;
	white-space: nowrap;
}
.orangeBtn a:hover,button.orangeBtn:hover{
	background: #f07f4b;
	color: #fff;
}
.blackBtn a,.blackBtn span{
	display: block;
	border-radius: 7px;
	background: #000;
	padding: 5px 20px;
	text-decoration: none;
	text-align: center;
	white-space: nowrap;
}
.blackBtn a:hover,.blackBtn span:hover{
	background: #1a1a1a;
	color: #fff;
}
.grayBtn a,button.grayBtn{
	display: block;
	border-radius: 7px;
	background: #414141;
	padding: 5px 20px;
	text-decoration: none;
	text-align: center;
	white-space: nowrap;
}
.grayBtn a:hover,button.grayBtn:hover{
	background: #5c5c5c;
	color: #fff;
}
.redBtn a,button.redBtn{
	width: 300px;
	display: block;
	border-radius: 7px;
	background: #d00;
	padding: 8px 20px;
	text-decoration: none;
	text-align: center;
}
.redBtn a:hover,button.redBtn:hover{
	background: #f00;
	color: #fff;
}
.acBtn a,button.acBtn{
	margin-left: auto;
	margin-right: auto;
}
.contentArea #payjp_checkout_box input[type=button]{
	font-size: 1em;
	line-height: 1.5em;
	display: block;
	box-sizing: border-box;
	min-width: 300px;
	border: 0;
	border-radius: 7px;
	background: #ed682d;
	padding: 8px;
	text-decoration: none;
	text-align: center;
}

/* --------------------------------------------------
	z-index
	header 		65
	headerIn 	70
	toggle 		89
	nav 		85
	mask 		84
	secondNav 	90
-------------------------------------------------- */

/* --------------------------------------------------
	header
-------------------------------------------------- */
header{
	position: fixed;
	top: 0;
	width: 100%;
	min-width: 768px;
	box-sizing: border-box;
	z-index: 70;
	display: flex;
	align-content: center;
	align-items: center;
	justify-content: space-between;
	transition: 0.5s;
	background: #000;
	padding: 14px 50px;
}
@media (max-width: 1024px) {
	header{
		padding: 14px 20px;
	}
}
.toggleBox{
	display: block;
	position: relative;
	width: 24px;
	z-index: 89;
}
.toggleHide{z-index: 80;}
.toggleBtn{
	display: block;
	width: 24px;
	height: 20px;
	transition: all .5s;
	cursor: pointer;
	position: relative;
}
.toggleBtn span{
	display: block;
	position: absolute;
	left: 0;
	width: 24px;
	height: 2px;
	background-color: #fff;
	border-radius: 4px;
	transition: all .5s;
}
.toggleBtn span:nth-child(1){
	top: 0px;
}
.toggleBtn span:nth-child(2){
  top: 9px;
  transition: 0.5s;
  opacity: 1;
}
.toggleBtn span:nth-child(3){
	bottom: 0px;
}
.open .toggleBtn{
/*
	-webkit-transform: rotate(360deg);
	transform: rotate(360deg);
*/
}
.open .toggleBtn span{
	width: 24px;
	left: -30px;
}
.open .toggleBtn span:nth-child(1){
	transform: translate(0%,100%) rotate(45deg);
	top: 6px;
}
.open .toggleBtn span:nth-child(2){
	opacity: 0;
	transition: 0.5s;
}
.open .toggleBtn span:nth-child(3){
	transform: translate(0%,100%) rotate(-45deg);
	bottom:12px;
}
.siteLogo{
	position: relative;
	z-index: 71;
	margin-left: 25px;
	flex-grow: 2;
	white-space: nowrap;
}
.siteLogo a{
	text-decoration: none;
	display: inline-block;
}
.siteLogo a div{
	margin: 0 5px 0 0;
	display: inline-block;
}
.siteLogo a div img{
	height: 32px;
	width: auto;
}
.headToolBox{
	display: flex;
	flex-wrap: nowrap;
}
.headSearchBox{
	margin-right: 15px;
}
.headSearchBox form{
	display: flex;
}
.headSearchBox input[type=text]{
	background: #414141;
	border-radius: 7px 0 0 7px;
	line-height: 1.5em;
	padding: 5px 10px;
}
.headSearchBox button{
	background: #414141;
	border-radius: 0 7px 7px 0;
	height: calc(1.5em + 10px);
	padding: 5px 10px 5px 0;
	box-sizing: border-box;
}
.headSearchBox button img{
	height: 1.2em;
	width: auto;
	vertical-align: text-bottom;
}
.headToolBox .orangeBtn{
	margin-left: 10px;
}
.headToolBox .orangeBtn a{
	padding-left: 40px;
	background: #EC692D url("../../img/icon_submit.png") no-repeat;
	background-size: 20px auto;
	background-position: 15px center;
}
.headToolBox .mypageBtn a{
	display: block;
	border-radius: 7px;
	padding: 5px 20px 5px 40px;
	text-decoration: none;
	text-align: center;
	background: #212121 url("../../img/icon_submit.png") no-repeat;
	background-size: 20px auto;
	background-position: 15px center;
}
.navArea{
	position: fixed;
	background: #000;
	height: 100vh;
	left: -100%;
	top: 0;
	opacity: 0;
	transition: all .5s;
	z-index: 85;
	overflow-y: auto;
	scrollbar-width: none;
}
.open .navArea{
	position: fixed;
	height: 100%;
	left: 0;
	display: block;
	opacity: 1;
}
.navHeadArea{
	padding: 60px 20px 20px;
	background: #2c2c2c;
	display: flex;
	align-items: center;
}
.userIcon{
	margin-right: 15px;
	border-radius: 25px;
	overflow: hidden;
}

.userIcon img,.user-info-item-detail img,
.formImageInput img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.navHeadArea .userIcon img{
	width: 50px;
	height: 50px;
}
.navSubmitBox div:first-of-type{margin-bottom: 7px;}
.navHeadArea .orangeBtn a,.navHeadArea .orangeBtn a{
	padding: 3px 30px;
	white-space: nowrap;
}
.navProfHead{
	display: flex;
	font-size: 0.87em;
}
.navProfHead p:first-of-type{
	margin-right: 10px;
}
.navProfHead .userRank{
	margin: 0;
	font-size: 1em;
}
p.userRank{color: #FFCE79;}

.globalNav{
	background: #000;
	padding: 0 20px;
}
.globalNav > p{
	font-size: 0.87em;
	color: #bbb;
	padding-top: 10px;
}
.globalNav > ul > li > a,.globalNav > ul > li > p{
	display: block;
	text-decoration: none;
	padding: 8px 0;
cursor: pointer;
}

.mask{
	position: fixed;
	left: 0;
	right:  0;
	top: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.7);
	z-index: 84;
}

.secondNav{
	display: none;
}
.secondNav li{
	padding: 0 0 8px 20px;
}
.secondNav li a{
	text-decoration: none;
}

/* --------------------------------------------------
	カテゴリ郡
-------------------------------------------------- */
.categorySelectNav{
	position: fixed;
	top: 60px;
	left: 0;
	width: 100%;
	height: 30px;
	background: #000;
	z-index: 65;
	padding-left: 50px;
}
@media (max-width: 1024px) {
	.categorySelectNav{
		padding-left: 20px;
		overflow-x: auto;
		overflow-y: hidden;
		padding-bottom: 6px;
	}
	.categorySelectNav::-webkit-scrollbar {
	  height: 4px;
	}

	.categorySelectNav::-webkit-scrollbar-track {
	  background: transparent;  /* 背景を消す */
	}

	.categorySelectNav::-webkit-scrollbar-thumb {
	  background: rgba(255,255,255,0.2); /* つまみを薄く */
	  border-radius: 2px;
	}

	.categorySelectNav::-webkit-scrollbar-thumb:hover {
	  background: rgba(255,255,255,0.3); /* ホバー時だけ少し目立たせる */
	}
	.categorySelectNav {
	  scrollbar-width: thin;                /* 細く */
	  scrollbar-color: rgba(255,255,255,0.2) transparent;
	}
}

.categorySelectNav > ul{
	display: flex;
	height: 30px;
	align-content: center;
	white-space: nowrap;
	gap: 1.5em;
}
.categorySelectNav > ul > li{
}

.categorySelectNav ul li a{
	text-decoration: none;
	font-size: 1.1em;
	line-height: 30px;
	word-break: keep-all;
}

/* --------------------------------------------------
	スライドバナー
-------------------------------------------------- */
.mainSlideBanner{
	position: relative;
	max-width: 100%;
	margin: 90px 0 0 0;
	aspect-ratio: 30 / 7;
}
.mainSlideBanner li:nth-of-type(n+2){
	visibility: hidden;
}
.mainSlideBanner.slick-initialized li:nth-of-type(n+2){
	visibility: visible;
}
.mainSlideBanner li:empty{display:none;}
.mainSlideBanner li a{
	display: block;
}
.mainSlideBanner img{
	width: 100%;
	height: auto;
}
.prevArrow,.nextArrow{
	position: absolute;
	top: calc(50% - 15px);
	height: 30px;
	width: 30px;
	background: url("../../img/iconArrow.png") center center /contain no-repeat;
	filter: drop-shadow(0 0 5px rgba(0,0,0,0.7));
	z-index: 2;
}
.mainSlideBanner .prevArrow{
	left: 5px;
}
.mainSlideBanner .nextArrow{
	right: 5px;
	transform: rotate(-180deg);
}
.mainSlideBanner:nth-of-type(2){display: none;}
.slideDots{
	position: absolute;
	display: flex;
	width: 100%;
	bottom: -10px;
	left: 0;
	align-items: center;
	justify-content: center;
	z-index: 60;
}
.slideDots li{
	display: inline-block;
	margin: 0 3px;
	width: 16px;
	height: 4px;
	border-radius: 5px;
	background: #fff;
}
.slideDots li.slick-active{
	background: #ed682d;
}
.slideDots li button{
	font-size: 0;
	line-height: 0;
	color: transparent;
	display: block;
	width: 10px;
	height: 10px;
	outline: none;
	border: 0;
	background: transparent;
}
/* Firefox用　画像の下の隙間消し */
.slick-list{
	overflow: hidden;
}

/* --------------------------------------------------
	コンテンツ包括部分
-------------------------------------------------- */
.topContentArea{
	position: relative;
	width: 100%;
}
.contentArea{
	position: relative;
	padding: 75px 50px 0;
	min-height: 400px;
}
.topContentArea > .systemTextBox{

	text-align: center;
	z-index: 99;
	border: 1px solid #212121;
	padding: 5px;
	margin: 30px 10px 0;
	
}
@media (max-width: 1024px) {
	.contentArea{
		padding: 75px 20px 0;
	}
}

.mainSlideBanner + .contentArea{
	padding-top: 0;
}

.newsArea{
	max-width: 1000px;
	margin: 0 auto;
}

/* --------------------------------------------------
	見出し
-------------------------------------------------- */
.titleBox{
	display: flex;
	align-items: baseline;
	margin: 30px 0 10px;
}
.topContentArea .titleBox{
	margin: 30px 50px 10px;
}
@media (max-width: 1024px) {
	.topContentArea .titleBox{
		margin: 30px 20px 10px;
	}
}

.contentArea > section:first-of-type > .titleBox,
.contentArea > .titleBox:first-of-type,
.chapterListArea .titleBox {
	margin-top: 0;
}
.mainTtl{
	font-size: 1.4em;;
}
.moreLink{
	margin-left: 10px;
}
.moreLink a{
	text-decoration: none;
	font-size: 0.87em;
}
.moreLink a:hover{
	color: #fee5a2;
}
.moreLink ul{
	display: flex;
	gap: 1.5em;
}
.moreLink ul li a{
	font-size: 1em;
}
.moreLink ul li{
	border-bottom: 2px solid rgba(0,0,0,0);
}
.moreLink ul li.cur{
	font-weight: bold;
	border-bottom: 2px solid #fff;
}

/* --------------------------------------------------
	キーワードタグ
-------------------------------------------------- */
.keywordArea{
	margin-top: 30px;
}
.topContentArea .keywordArea{
	margin: 30px 0 0;
}

.topContentArea .keywordArea ul{
	margin: 0 50px;
}
@media (max-width: 1024px) {
	.topContentArea .keywordArea ul{
		margin: 0 20px;
	}
}

.keywordArea ul{
	display: flex;
	flex-wrap: wrap;
}
.keywordArea ul li{
	margin: 0 5px 5px 0;
}
.keywordArea ul li a{
	display: inline-block;
	padding: 5px 15px;
	font-size: 0.87em;
	text-decoration: none;
	background: #2c2c2c;
	border-radius: calc((1.5em + 10px) / 2);
}
.keywordArea ul li a::after{
	content: "";
	width: 0.87em;
	height: 0.87em;
	display: inline-block;
	background: url(../../img/iconArrow.png) no-repeat;
	margin-left:4px;
	background-size: auto 0.87em;
	background-position: top left;
	transform: rotate(180deg);
}

/* --------------------------------------------------
	動画リスト基本
-------------------------------------------------- */
.thumbBox {
	aspect-ratio: 16/9;
}
.thumbBox img{
	width: 100%;
	height: 100%;
    object-fit: cover;
}
.programTextBox{
	background: #2c2c2c;
	padding: 15px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.prgTtl{
	min-width: 100%;
	height: 3em;
	text-align: justify;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow-wrap: break-word;
	word-break: break-all;
}
.prgTtl:has(+.pubDate),.prgTtl:has(+.commentNum){
	margin-bottom: 5px;
}
.pubDate,.commentNum{
	font-size: 0.73em;
}
.pubDate::after{
	content: "公開";
	display: inline-block;
	margin-left: 0.5em;
}
.commentNum{
	padding: 0 0 0 21px;
	background: url("../../img/icon_comment.png") no-repeat;
	background-size: auto 13px;
	background-position: top 65% left;
}
li.new .pubDate::before{
	content: "NEW";
	color: #f00;
	display: inline-block;
	margin-right: 5px;
}


/* --------------------------------------------------
	スライドプログラム
-------------------------------------------------- */
.slideMovieArea,.speakersMovieArea{
	width: 100%;
	overflow: hidden;
}
.slideMovieBox, .speakersMovieBox{
	margin: 0 50px;
}
.contentArea .slideMovieBox,.contentArea .speakersMovieBox{
	margin: 0;
}
.slideMovieBox li:first-of-type,
.speakersMovieBox li:first-of-type{
}
.slick-track{
	min-width: 100% !important;
}
.slideMovieBox li,.speakersMovieBox li{
	max-width: 320px;
	margin-left: 0;
	margin-right: 5px;
	border-radius: 7px;
	overflow: hidden;
}
.slideMovieBox li:last-of-type,
.speakersMovieBox li:last-of-type{margin-right: -500px;}
.slideMovieBox li a,.speakersMovieBox li a{
	display: block;
	text-decoration: none;
}
.slideMovieBox .prevArrow,.slideMovieBox .nextArrow,
.speakersMovieBox .prevArrow,.speakersMovieBox .nextArrow{
	top: 0;
	height: 100%;
	width: 30px;
	background: none;
}
.slideMovieBox .prevArrow::before,.slideMovieBox .nextArrow::before,
.speakersMovieBox .prevArrow::before,.speakersMovieBox .nextArrow::before{
	content: " ";
	display: block;
	position: absolute;
	top: 0;
	height: 100%;
	width: 35px;
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#000000+0,000000+100&1+0,1+100,0+100 */
	background: -moz-linear-gradient(left,  rgba(0,0,0,0.3) 0%, rgba(0,0,0,0) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left,  rgba(0,0,0,0.4) 0%,rgba(0,0,0,0) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right,  rgba(0,0,0,0.4) 0%,rgba(0,0,0,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#00000000',GradientType=1 ); /* IE6-9 */
	z-index: 1;
}
.slideMovieBox .prevArrow::after,.slideMovieBox .nextArrow::after,
.speakersMovieBox .prevArrow::after,.speakersMovieBox .nextArrow::after{
	content: " ";
	display: block;
	position: absolute;
	top: 0;
	height: 100%;
	width: 30px;
	background:url("../../img/iconArrow.png") center center /auto 25px no-repeat;
	filter: drop-shadow(0 0 5px rgba(0,0,0,0.7));
	z-index: 3;
}
.slideMovieBox .prevArrow.slick-disabled::before,.slideMovieBox .nextArrow.slick-disabled::before,
.slideMovieBox .prevArrow.slick-disabled::after,.slideMovieBox .nextArrow.slick-disabled::after,
.speakersMovieBox .prevArrow.slick-disabled::before,.speakersMovieBox .nextArrow.slick-disabled::before,
.speakersMovieBox .prevArrow.slick-disabled::after,.speakersMovieBox .nextArrow.slick-disabled::after{
	background:none;
	transition: 0.2;
}
.slideMovieBox .prevArrow,.speakersMovieBox .prevArrow{
	left: 0;
}
.slideMovieBox .nextArrow,.speakersMovieBox .nextArrow{
	right: 0;
	transform: rotate(-180deg);
}
@media (max-width: 1024px) {
	.slideMovieBox,.speakersMovieBox{
		margin: 0 20px;
	}
}

/* --------------------------------------------------
	5カラム動画リスト
-------------------------------------------------- */
.columnMovieBox{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}
.columnMovieBox li{
	width: calc((100% - 60px) / 5);
	border-radius: 7px;
	overflow: hidden;
	margin-bottom: 15px;
	margin-right: 15px;
}
.columnMovieBox li:nth-of-type(5n){
	margin-right: 0;
}
.columnMovieBox li a{
	display: block;
	text-decoration: none;
}
.columnMovieBox .prgTtl{
	-webkit-line-clamp: 3;
	height: 4.5em;
	overflow-wrap: break-word;
}
/* --------------------------------------------------
	ランキング動画リスト
-------------------------------------------------- */
.rankingMovieArea{
	width: 100%;
	overflow: hidden;
}
.rankingMovieBox{
	margin: 0 50px;
	display: none !important;
}
.rankingMovieBox.cur{
	display: block !important;
}
@media (max-width: 1024px) {
	.rankingMovieBox{
		margin: 0 20px;
	}
}

.rankingMovieBox li{
	margin-right: 5px;
}
.rankingMovieBox li:last-of-type{margin-right: 0;}
.rankingMovieBox li a{
	display: block;
	display: flex;
	align-items: baseline;
	text-decoration: none;
}
.rankingMovieBox li .thumbBox{
	width: calc(100% - 55px);
	display: inline-block;
	border-radius: 7px;
	overflow: hidden;
}
.rankingMovieBox li .thumbBox img { display:block; width:100%; height:auto; }
.rankingMovieBox li a::before{
	display: inline-block;
	font-size: 55px;
	line-height: 55px;
	width: 55px;
	text-align: center;
	font-family: 'Pinyon Script', cursive;
}
.rankingMovieBox li:nth-of-type(1) a::before,
.rankingListBox li:nth-of-type(1) a::before{content: "1";}
.rankingMovieBox li:nth-of-type(2) a::before,
.rankingListBox li:nth-of-type(2) a::before{content: "2";}
.rankingMovieBox li:nth-of-type(3) a::before,
.rankingListBox li:nth-of-type(3) a::before{content: "3";}
.rankingMovieBox li:nth-of-type(4) a::before,
.rankingListBox li:nth-of-type(4) a::before{content: "4";}
.rankingMovieBox li:nth-of-type(5) a::before,
.rankingListBox li:nth-of-type(5) a::before{content: "5";}
.rankingMovieBox li:nth-of-type(6) a::before,
.rankingListBox li:nth-of-type(6) a::before{content: "6";}
.rankingMovieBox li:nth-of-type(7) a::before,
.rankingListBox li:nth-of-type(7) a::before{content: "7";}
.rankingMovieBox li:nth-of-type(8) a::before,
.rankingListBox li:nth-of-type(8) a::before{content: "8";}
.rankingMovieBox li:nth-of-type(9) a::before,
.rankingListBox li:nth-of-type(9) a::before{content: "9";}
.rankingMovieBox li:nth-of-type(10) a::before{content: "10";text-align: left;font-size: 45px;}
.rankingListBox li:nth-of-type(10) a::before{content: "10";}
.rankingMovieBox li:nth-of-type(11) a{
	display: flex;
	width: calc(100% - 55px);
	aspect-ratio: 16 / 9;
	background: #333;
	text-align: center;
	justify-content: center;
	align-items: center;
	margin-left: 20px;
	border-radius: 7px;
}
.rankingMovieBox li:nth-of-type(11) a > p{
	
}
.rankingMovieBox .prevArrow,.rankingMovieBox .nextArrow{
	top: 0;
	height: 100%;
	width: 30px;
	background: none;
}

.rankingMovieBox .prevArrow::before,.rankingMovieBox .nextArrow::before{
	content: " ";
	display: block;
	position: absolute;
	top: 0;
	height: 100%;
	width: 35px;
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#000000+0,000000+100&1+0,1+100,0+100 */
	background: -moz-linear-gradient(left,  rgba(0,0,0,0.3) 0%, rgba(0,0,0,0) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left,  rgba(0,0,0,0.4) 0%,rgba(0,0,0,0) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right,  rgba(0,0,0,0.4) 0%,rgba(0,0,0,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#00000000',GradientType=1 ); /* IE6-9 */
	z-index: 1;
}
.rankingMovieBox .prevArrow::after,.rankingMovieBox .nextArrow::after{
	content: " ";
	display: block;
	position: absolute;
	top: 0;
	height: 100%;
	width: 30px;
	background:url("../../img/iconArrow.png") center center /auto 25px no-repeat;
	filter: drop-shadow(0 0 5px rgba(0,0,0,0.7));
	z-index: 3;
}
.rankingMovieBox .prevArrow.slick-disabled::before,.rankingMovieBox .nextArrow.slick-disabled::before,
.rankingMovieBox .prevArrow.slick-disabled::after,.rankingMovieBox .nextArrow.slick-disabled::after{
	background:none;
	transition: 0.2;
}
.rankingMovieBox .prevArrow{
	left: 0;
}
.rankingMovieBox .nextArrow{
	right: 0;
	transform: rotate(-180deg);
}



.bnRankImg{
	margin: 30px 0 0;
}
.bnRankImg > div{
	margin: 0 50px;
	border-radius: 7px;
	overflow: hidden;
}
.bnRankImg img{
	width: 100%;
	height: auto;
}

.rankingListBox li{
	padding: 10px 0;
	border-bottom: 1px solid #333;
	position: relative;
}
.rankingListBox li a{
	display: flex;
	width: 100%;
	text-decoration: none;
	align-items: center;
	padding-left: 80px;
}
.rankingListBox li a::before{
	display: block;
	position: absolute;
	font-size: 55px;
	line-height: 55px;
	width: 80px;
	text-align: center;
	font-family: 'Pinyon Script', cursive;
	top: 50%;
	transform: translate(-50%, -50%);
	left: 20px;
}
.rankingListBox li .thumbBox{
	flex: 0 0 calc((100% - 80px) / 3);
	border-radius: 7px;
	overflow: hidden;
	align-self: flex-start;
}
.rankingListBox .chapterTextBox{
	flex: 0 0 calc(((100% - 80px) / 3 * 2) - 15px);
	margin-left: 15px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

/* --------------------------------------------------
	TOP登壇者一覧
-------------------------------------------------- */
.speakersListArea{
	width: 100%;
	overflow: hidden;
}
.speakersListBox{
	display: flex;
	flex-wrap: nowrap;
	overflow: hidden;
	margin: 0 50px;
}
.speakersListBox li{
	min-width: calc((100% - 63px) / 10);
	margin-right: 7px;
}
.speakersListBox li:last-of-type{
	margin-right: 0;
}
.speakersListBox li a{
	display: block;
	text-decoration: none;
}
.speakersThumbBox{
	width: 100px;
	height: 100px;
	margin: 0 auto 5px;
	border-radius: 50px;
	overflow: hidden;
}
.speakersThumbBox img{
	width: 100%;
	height: auto;
}
.speakersName{text-align: center;}
.peakersAffiliation{
	text-align: center;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	font-size: 0.73em;
	overflow-wrap: break-word;
}
@media (max-width: 1024px) {
	.speakersListBox{
		margin: 0 20px;
	}
	.speakersThumbBox{
		width: 70px;
		height: 70px;
	}
}

/* --------------------------------------------------
	タブメニュー部分
-------------------------------------------------- */
.tabNav,.tabNavSecond,.linkTab,.linkTabSecond{
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	border-bottom: 1px solid #2c2c2c;
	margin: 0;
}
.tabNav + .columnProgramArea,.linkTab + .columnProgramArea{margin-top: 30px;}
.tabNavSecond,.linkTabSecond{background: #2c2c2c;}
.programToolBtnArea + .tabNav,.programToolBtnArea + .linkTab{
	margin-top: 30px;
}

.tabNav li,.tabNavSecond li,
.linkTab li,.linkTabSecond li{
	font-size: 0.87em;
	cursor: pointer;
}
.tabNav li span,.tabNavSecond li span,
.linkTab li span,.linkTabSecond li span{
	display: inline-block;
	padding: 8px 20px 6px;
	border-bottom: 2px solid #000;
	transition: 0.3s;
}
.tabNavSecond li span,.linkTabSecond li span{border-bottom: 2px solid #2c2c2c;}

.tabNav li.tabActive span,.tabNavSecond li.tabSecondActive span,
.linkTab li.tabActive span,.linkTabSecond li.tabSecondActive span{
	border-bottom: 2px solid #fff;
}
.tabSecArea,.tabSecSecondArea{
	display: none;
}
.tabActive,.tabSecondActive{display: block;}

.tabSecArea > p{
	margin-top: 15px;
}


/* --------------------------------------------------
	ライブ一覧ページ
-------------------------------------------------- */
.liveScheduleBox{
	margin-top: 15px;
	display: flex;
	flex-wrap: wrap;
}
.liveScheduleBox li{
	width: calc((100% - 45px) / 4);
	justify-content: flex-start;
	border-radius: 7px;
	overflow: hidden;
	margin: 0 15px 15px 0;
	background: #2c2c2c;
}
.liveScheduleBox li:nth-of-type(4n){
	margin-right: 0;
}
@media (max-width: 1024px) {
	.liveScheduleBox li{
		width: calc((100% - 30px) / 3);
	}
	.liveScheduleBox li:nth-of-type(3n){
		margin-right: 0;
	}
	.liveScheduleBox li:nth-of-type(4n){
		margin-right: 15px;
	}
}

.liveScheduleBox li a{
	display: block;
	text-decoration: none;
}
.liveScheduleBox .liveOutilineBox{
	display: flex;
	flex-wrap: nowrap;
	background: #2c2c2c;
	padding: 15px;
}
.liveDateSec{
	border-right: 1px solid #666;
	text-align: center;
	min-width: 3.2em;
	padding-right: 10px;
}
.liveDateBox{
	position: relative;
}
.liveScheduleBox .liveDateSec p:nth-of-type(1){
	font-size: 0.87em;
}
.liveScheduleBox .liveDateSec p:nth-of-type(2){
	font-size: 1.58em;
}
.liveScheduleBox .liveTextBox{
	margin-left: 15px;
	font-size: 0.73em;
}
.liveScheduleBox .liveTtl{
	font-size: 1.43em;
	height: 4.5em;
	text-align: justify;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow-wrap: break-word;
	word-break: break-all;
}
.cdTxt{
	display: inline-block;
	margin-top: 5px;
	padding: 2px 5px;
	font-size: 12px;
	color: #fff;
	background: #f00;
	border-radius: 7px;
	width: 100%;
}
.liveAlertBtn{
	margin-top: 10px;
	padding-right: 10px;
	text-align: center;
	opacity: 0.5;
	transition: 0.3s;
	cursor: pointer;
}
.liveAlertBtn img{
	width: 20px;
	height: auto
}
.liveAlertBtn.active{opacity: 1 !important;}

.liveDateBox p.favInvalidComment{
	position: absolute;
	top: calc(1.5em + 25px + 43px);
	left: 0;
	font-size: 0.73em;
	background: #000;
	padding: 3px 5px;
	color: #eee;
	border-radius: 5px;
	white-space: nowrap;
	box-shadow: 0px 0px 12px -3px rgba(0,0,0,0.9);
}

.liveArchiveBox{
	margin-top: 5px;
}
.liveArchiveBox li{
	border-bottom: 1px solid #2c2c2c;
}
.liveArchiveBox li a{
	display: flex;
	text-decoration: none;
	padding: 10px 0;
	align-items: center;
}
.liveArchiveBox li .thumbBox{
	min-width: 280px;
	max-width: 280px;
	border-radius: 7px;
	overflow: hidden;
	align-self: flex-start;
}
.liveArchiveBox .liveOutilineBox{
	margin-left: 15px;
	width: calc(100% - 280px - 15px);
}
.liveArchiveBox .liveTtl{
	text-align: justify;
	font-size: 1.28em;
	line-height: 1.5em;
	word-break: break-all;
}
.liveArchiveBox .liveArchiveDate{
	font-size: 0.87em;
	margin-top: 1em;
}

/* --------------------------------------------------
	プログラム・動画ページ
-------------------------------------------------- */
.content2columnArea{
	display: flex;
}
.programArea{
	min-width: calc((100% / 7 * 5) - 20px);
	max-width: calc((100% / 7 * 5) - 20px);
	margin-right: 20px;
}
.thumbnailArea{
	aspect-ratio: 16/9;
	width: 100%;
	overflow: hidden;
	margin: 0;
	position: relative;
}
.thumbnailArea > img{
	width: 100%;
	height: auto;
}

.movieArea{
	width: 100%;
	overflow: hidden;
	margin: 0 -15px;
	aspect-ratio: 16 / 9;
}
.movieArea video,.video-js.vjs-quality-menu,.movieArea video-js{
	width: 100%;
	height: 100%;
	aspect-ratio: 16 / 9;
}
.thumbOverBox{
	position: absolute;
	background: rgba(0,0,0,0.5);
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex;
	align-items: center;
	align-content: center;
	flex-wrap: wrap;
	padding: 20px;
}
.thumbOverBox > p, .thumbOverBox > div{
	width: 100%;
	text-align: center;
}
.thumbOverBox > p{
	font-size: 1.3em;
	margin-bottom: 15px;
}
.thumbOverBox > p.sTxt{
	font-size: 1em;
}
.thumbOverBox > div.orangeBtn a,
.thumbOverBox > div.grayBtn a,
.thumbOverBox > div.blackBtn a{
 	font-size: 1.3em;
	padding: 20px;
	width: 350px;
	margin: 0 auto;
	font-weight: bold;
 }
.thumbOverBox > div.orangeBtn + .orangeBtn,
.thumbOverBox > div.orangeBtn + .grayBtn,
.thumbOverBox > div.grayBtn + .orangeBtn{
	margin-top: 5px;
}
.programContentArea{
	margin-top: 15px;
}
.programContentArea > .prgTtl{
	font-size: 0.87em;
	line-height: 1.3em;
	text-align: justify;
	height: inherit;
	-webkit-line-clamp: inherit;
	word-break: break-all;
}
.programContentArea > .prgTtl a{
	color: #999;
	text-decoration: none;
}
.programContentArea > h1{
	font-size: 1.3em;
	margin-bottom: 10px;
}
.programContentBox .cptFraction,
.programContentBox .pubDate{
	font-size: 0.73em;
	display: inline-block;
	margin-right: 1.5em;
}
.programContentText{
	position: relative;
}
/*
.programContentText{
	position: relative;
	text-align: justify;
	height: 4.5em;
	overflow: hidden;
	z-index: 1;
	transition: 0.3s;
	margin-top: 10px;
	word-break: break-all;
}
*/
.programSpeakersList{
	margin-top: 15px;
	font-size: 0.87em;
}
.programSpeakersList dt{
	color: #999;
	display: inline-block;
}
.programSpeakersList dd{
	margin-right: 1em;
	display: inline-block;
}
.programToolBtnArea{
	display: flex;
	margin-top: 15px;
	justify-content: flex-start;
	position: relative;
}
.programToolBtnArea > div{
	margin-right: 10px;
}
.favBtn{
	min-width: 15em;
	background: #2c2c2c;
	border-radius: 7px;
	font-size: 0.87em;
	padding: 8px 20px;
    display: flex;
    justify-content: center;
    align-items: center;
	box-sizing: content-box;
	margin-right: 10px;
	gap: 10px;
	cursor: pointer;
}
.favBtn img{
	width: auto;
	height: 1em;
	opacity: 0.5;
}
.programToolBtnArea > div.favBtn::before{
	content: "";
	width: 1.5em;
	height: 0.9em;
	display: inline-block;
	background-position: right bottom;
	background-size: contain;
	background-repeat: no-repeat;
	margin-right: 5px;
	margin-left: -10px;
	transition: 0.3s;
	background-image: url(../../img/icon_fav.png);
	opacity: 0.5;
}
.favBtn.active::before { opacity: 1 !important;} 
.programToolBtnArea > p.favInvalidComment{
	position: absolute;
	top: calc(1.5em + 25px);
	left: 0;
	font-size: 0.73em;
	background: #444;
	padding: 3px 5px;
	color: #eee;
	border-radius: 5px;
}
.programToolBtnArea > .shareFbBtn,.programToolBtnArea > .shareTwBtn{
	display: inline-block;
}
.programToolBtnArea > .shareFbBtn a,.programToolBtnArea > .shareTwBtn a{
	display: block;
	padding: 0 20px;
	height: calc(16px + 1.5em);
	border-radius: 7px;
}
.programToolBtnArea > .shareFbBtn img,.programToolBtnArea > .shareTwBtn img{
	height: 100%;
	width: auto;
}
.programToolBtnArea > .shareFbBtn a{background: #3A5A98;}
.programToolBtnArea > .shareTwBtn a{background: #fff;}
.nowPlayingArea{
	margin-top: 0;
	margin-bottom: 30px;
}

.nowPlayingArea > p{
	font-size: 0.73em;
	margin-bottom: 5px;
}
.nowPlayingMovie a{
	display: flex;
	padding: 10px;
	align-content: center;
	align-items: center;
	border-radius: 7px;
	background: #2c2c2c;
	text-decoration: none;
}
.nowPlayingMovie .thumbBox{
	max-width: calc(100% / 3.5);
	min-width: calc(100% / 3.5);
	border-radius: 7px;
	overflow: hidden;
	margin-right: 10px;
}
.nowPlayingMovie .chapterTtl{
	font-size: 0.87em;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}
.chapterMovieArea{
	position: relative;
}
.autoPlayBtnBox{
	position: absolute;
	display: flex;
	align-items: center;
	top: 0;
	right: 0;
}
.autoPlayBtnBox p{font-size: 0.87em;}
.autoPlayBtn{
	display: flex;
	background: #212121;
	border-radius: 1em;
}
.autoPlayBtn li button{
	padding: 0px 15px;
	font-size: 0.73em;
	font-weight: bold;
	cursor: pointer;
	color: #888;
}
.autoPlayBtn li.autoPlayCurrent button{
	color: #fff;
}
.autoPlayBtn li:first-of-type{
	border-right: 1px solid #444;
}
.chapterListBox,.seriesListBox{margin-top: 10px;}
.chapterListBox li a,.seriesListBox li a{
	display: flex;
	text-decoration: none;
	padding: 5px 0;
	border-bottom: 1px solid #2c2c2c;
	flex-wrap: wrap;
}
.chapterListBox li .thumbBox,.seriesListBox li .thumbBox{
	flex: 0 0 calc(100% / 3);
	border-radius: 7px;
	overflow: hidden;
	align-self: flex-start;
}
.seriesListBox li .thumbBox{flex: 0 0 calc(100% / 4);}

.chapterListBox .chapterTextBox,.seriesListBox .seriesTextBox{
	flex: 0 0 calc((100% / 3 * 2) - 15px);
	margin-left: 15px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.seriesListBox .seriesTextBox{
	flex: 0 0 calc((100% / 4 * 3) - 15px);
	align-content: center;
}
.chapterListBox .chapterPrgTtl{
	width: 100%;
	font-size: 0.87em;
	line-height: 1.3em;
	color: #999;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	min-width: 100%;
	margin-bottom: 0;
}
.chapterListBox .chapterTtl{
	text-align: justify;
	height: 3em;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow-wrap: break-word;
	min-width: 100%;
	word-break: break-all;
}
.seriesListBox .seriesTtl{
	min-width: 100%;
	font-size: 1.2em;
}
.chapterListBox .cptFraction,.chapterListBox .pubDate,.seriesListBox .number{
	font-size: 0.73em;
}
/*
.prgTtl + .pubDate{
	width: 100%;
}
*/

.commentInputBox{
	width: 100%;
}
.commentInputBox .commentUserIcon{
	border-radius: 7px;
	overflow: hidden;
	margin-top: 0;
	margin-right: 10px;
}
.commentInputBox textarea{
	width: 100%;
	color: #fff;
	background: #333;
	border-radius: 7px 0 0 7px;
	padding: 4px 10px;
	min-height: 40px;
}
.commentInputBox button{
	width: 30px;
	text-align: right;
	background: #fff;
	border-radius: 0 7px 7px 0;
	position: relative;
	box-sizing: border-box;
}
.commentInputBox button img{
	height: calc(1em + 8px);
	width: auto;
	vertical-align: bottom;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.commentLayer1,
.commentLayer2 > div,
.commentLayer3 > div{
	margin-top: 15px;
	position: relative;
	z-index: 3;
}
.commentLayer1 > div.commentBox{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	position: relative;
}
.commentLayer1 > div.commentBox > .commentUserIcon{
	width: 45px;
	height: 45px;
}
.commentLayer1 > div.commentBox > .commentTextBox,
.commentLayer1 > div.commentBox > .commentInputBox{
	width: calc(100% - 45px - 15px);
}

.commentLayer1 .commentInputBox{
	width: calc(100% - 45px - 15px);
}

.commentForm {
	width: 100%;

}
.commentBox .commentText {
	min-width: 100%;
	white-space: pre-wrap;
	word-break: break-all;
    word-wrap: break-word;
}
.commentInputBox{
	margin: 10px auto;
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
}
.commentInputBox textarea{
	flex: 0 0 100%;
	color: #fff;
	background: #333;
	border-radius: 7px;
	padding: 4px 10px;
	height: 4.2em;
	margin-bottom: 5px;
}
.commentInputBox button{
	display: block;
	width: 200px;
	height: 100%;
	text-align: center;
	padding: 4px 10px;
	background: #333;
	border-radius: 7px;
	box-sizing: border-box;
}




.commentUserIcon img {
	border-radius: 50%;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.commentArea article .commentTextBox{
	background: #2c2c2c;
	border-radius: 7px;
	padding: 15px;
	display: flex;
	flex-wrap: wrap;
}
.commentArea article .commentTextBox p:first-of-type{
	margin-right: 1em;
}
.commentArea article .commentTextBox p:last-of-type{
	min-width: 100%;
	margin-top: 5px;
}
.commentToolBox{
	position: relative;
	width: 100%;
	display: flex;
	justify-content: flex-end;
	margin-top: 5px;
	font-size: 0.87em;
	align-items: center;
}
.commentEditBtn{
	background: url(../../img/icon_pen.png) no-repeat center left;
	background-size: auto 80%;
	padding-left: 1.8em;
	margin-right: 1.4em;
}
.commentDeleteBtn{
	background: url(../../img/icon_XW.png) no-repeat center left;
	background-size: auto 65%;
	padding-left: 1.5em;
	margin-right: 1.4em;
}
.commentArea .blackBtn span{
	background: #141414;
	margin-top: 1em;
	font-size: 0.9em;
	cursor: pointer;
	transition: 0.3s;
}
.commentArea .blackBtn span:hover{
	background: #232323;
	transition: 0.3s;
}
.cfFav{
	margin-left: 5px;
	display: flex;
	align-items: center;
}
.cfFav button{
	width: 1.2em;
	height: 1.2em;
	background: url(../../img/heartOff.png) no-repeat center bottom;
	background-size: contain;
}
.cfFav.cfFavOn button{
	background: url(../../img/heartOn.png) no-repeat center bottom;
	background-size: contain;
}
.commentToolBox .favInvalidComment{
	position: absolute;
	bottom: 0;
	right: 2.2em;
	font-size: 0.73em;
	background: #444;
	padding: 3px 5px;
	color: #eee;
	border-radius: 5px;
}

.chapterOutlineText{
	margin-top: 0;
	min-width: 100%;
	max-width: 100%;
	text-align: justify;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	word-break: break-all;
}

/* --------------------------------------------------
	ライブページ
-------------------------------------------------- */
.thumbOverBox .orangeBtn + .orangeBtn{
	margin-top: 8px;
}
.chatArea{
	width: calc(100% / 7 * 2);
}
.chatArea > section{
	width: 100%;
	height: 100%;
	overflow: hidden;
	position: relative;
}
.chatArea > section > iframe{
	width: 100%;
	height: 100%;
}
.chatArea h2{
	margin-bottom: 10px;
	font-size: 1.4em;
	display: inline-block;
}
.userNum{
	display: inline-block;
	font-size: 0.73em;
	margin: 5px 15px 15px;
	padding-left: 25px;
	background: url(../../img/icon_chatNum.png) no-repeat left center;
	background-size: auto 1.4em;
}
.chatBox{
	position: absolute;
	top: calc(30px + 1.4em);
	bottom: calc(1em + 16px + 10px + 5px);
	left: 0;
	right: 0;
	overflow-x: hidden;
	overflow-y: scroll;
	background: #000;
	scrollbar-width: thin;
	scrollbar-color: #414141 #212121;
}
.chatBoxMask{
	position: absolute;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-content: center;
	top: calc(10px + 1.4em);
	bottom: 0;
	left: 0;
	right: 0;
	overflow-x: hidden;
	overflow-y: hidden;
	background: #212121;
}
.chatBoxMask > p{
	width: 100%;
	margin: 0 15px 10px;
	text-align: center;
}
.chatBoxMask > .blackBtn a{
	min-width: 150px;
}

.chatBox::-webkit-scrollbar{
   width: 5px;
}
.chatBox::-webkit-scrollbar-track{
   background-color: #212121;
}
.chatBox::-webkit-scrollbar-thumb{
   background-color: #414141;
}
.chatBox > div{
	display: flex;
	align-items: flex-start;
	padding: 5px 0;
}
.chatBox .chatUserIcon{
	min-width: 30px;
	max-width: 30px;
	margin-right: 10px;
}
.chatBox .chatUserIcon img{
	display: block;
	width: 30px;
	height: 30px;
	object-fit: cover;
	border-radius: 15px;
	overflow: hidden;
}
.chatCommentText{
	min-width: calc(100% - 45px);
	max-width: calc(100% - 45px);
	padding-top: calc((30px - 1.4em) / 2);
}
.chatCommentText > p{
	display: inline;
}
.chatCommentText > p:first-of-type{
	padding-right: 10px;
	display: inline;
}
.chatInputBox{
	position: absolute;
	width: 100%;
	background: #000;
	padding: 0;
	bottom: 0;
}
.chatInputBoxIn{
	display: flex;
	padding: 6px 10px;
	background: #fff;
	border: 1px solid #707070;
	border-radius: 7px;
}
.chatInputBox input{
	width: calc(100% - 40px);
	color: #000;
}
.chatInputBox button{
	width: 40px;
	text-align: right;
}
.chatInputBox button img{
	height: calc(1em + 8px);
	width: auto;
	vertical-align: middle;
}
/* --------------------------------------------------
	検索ページ
-------------------------------------------------- */
.searchBox{
	margin: 0 -15px;
	background: #212121;
	display: flex;
	padding: 15px;
	justify-content: space-between;
}
.searchArea .searchBox{
	max-width: 600px;
	margin: 0;
}
.searchBox input[type=text]{
	background: #fff;
	padding: 5px 10px;
	border-radius: 6px;
	min-width: calc(100% - 40px);
	color: #000;
}
.searchBox button[type=submit]{
	min-width: 35px;
	max-width: 35px;
	text-align: center;
}
.searchBox button[type=submit] img{
	height: calc(1em + 10px);
	width: auto;
}
.movieListArea{
	margin-top: 15px;
}

.tabSecArea .chapterListBox li a{
	padding: 10px 0;
	align-items: center;
}
.tabSecArea .chapterListBox li{
	align-items: flex-start;
}
.tabSecArea .chapterListBox li .thumbBox{
	min-width: 280px;
	max-width: 280px;
}
.tabSecArea .chapterTextBox {
	display: block;
	min-width: calc(100% - 280px - 15px);
	max-width: calc(100% - 280px - 15px);
}
.tabSecArea .chapterTextBox p{
	margin-bottom: 10px;
	font-size: 1em;
}
.tabSecArea .chapterTextBox .chapterPrgTtl{font-size: 0.87em;}
.tabSecArea .chapterTextBox .chapterTtl{font-size: 1.28em;}
.tabSecArea .chapterTextBox .cptFraction,.tabSecArea .chapterTextBox .pubDate{
	font-size: 0.87em;
	display: inline-block;
	margin-right: 15px;
}
.tabSecArea .chapterTextBox .chapterTtl{
	font-size: 1.28em;
	height: inherit;
	max-height: 3em;
}

.tabSecArea:not(has(.columnProgramArea)) .prgTtl{
	font-size: 1.28em !important;
	height: inherit !important;
	max-height: 3em !important;
}

/* --------------------------------------------------
	登壇者一覧
-------------------------------------------------- */
.speakersList{
	display: flex;
	flex-wrap: wrap;
}
.speakersList li{
	width: calc((100% - 60.1px) / 7);
	overflow: hidden;
	margin-bottom: 15px;
	margin-left: 10px;
}
.speakersList li:nth-of-type(7n+1){
	margin-left: 0;
}
.speakersList li a{
	display: block;
	text-align: center;
	text-decoration: none;
}
.speakersIcon{
	width: 65%;
	border-radius: 50%;
	overflow: hidden;
	margin: 0 auto 5px;
	aspect-ratio: 1 / 1;
}
.speakersIcon img{
	width: 100%;
	height: auto;
}
.speakersList li p.sTxt{
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}
.speakersSortBtnBox{
	position: relative;
	width: 100%;
	height: 1.8em;
	margin: 10px 0 20px;
}
.speakersSortBtnBox ul{
	position: absolute;
	top: 0;
	right: 0;
	width: 8em;
	background: #fff;
	color: #000;
	border-radius: 7px;
	border: 1px solid #707070;
}
.speakersSortBtnBox ul::after{
	content: "▼";
	display: block;
	font-size: 0.87em;
	position: absolute;
	top: 0.15em;
	right: 5px;
}
.speakersSortBtnBox ul li{
	font-size: 0.87em;
	padding: 0.15em 10px;
	position: relative;
	z-index: 1;
	display: none;
}
.speakersSortBtnBox ul li.sortOn{
	display: block;
	z-index: 2;
}

.speakersVerticalBox{
	display: block;
}
.speakersVerticalBox li{
	border-bottom: 1px solid #1B1B1B;
}
.speakersVerticalBox li a{
	display: flex;
	justify-content: flex-start;
	align-content: center;
	flex-wrap: wrap;
	width: 100%;
	text-decoration: none;
	column-gap: 20px;
	padding: 15px 0;
}
.speakersVerticalBox .speakersProfBox{
	width: calc(100% - 120px);
	display: flex;
	flex-wrap: wrap;
	align-content: center;
}
.speakersVerticalBox .speakersProfBox .speakersName,
.speakersVerticalBox .speakersProfBox .speakersAffiliation{
	width: 100%;
	display: block;
	text-align: left;
}
.speakersVerticalBox .speakersProfBox .speakersName{
	font-size: 1.28em;
	margin-bottom: 5px;
}
.speakersVerticalBox .speakersProfBox .speakersAffiliation{
	font-size: 1em;
	overflow: visible;
	-webkit-line-clamp: none;
	overflow-wrap: break-word;
}

/* --------------------------------------------------
	登壇者詳細
-------------------------------------------------- */
.speakersArea{
display:flex;
	width:100%;
	gap: 30px;
}
.speakersPhotoBox{
	width: 45%;
	max-width: 640px;
	margin-right: 30px;
	float: left;
}
.speakersPhotoBox img{
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
.speakersPhotoBox + div{
	width: 65%;
}
.speakersNameBox p:first-of-type{
	font-size: 0.87em;
}
.speakersNameBox h1{
	font-size: 1.28em;
}
.speakersNameBox ul{
	display: flex;
	align-content: flex-start;
	justify-content: flex-start;
	margin-top: 15px;
}
.speakersNameBox ul li{
	margin: 0 5px;
}
.speakersNameBox ul li img{
	width: 30px;
	height: auto;
}
.speakersProfileBox{
	margin-top: 30px;
	float: left;
}
.speakersProfileBox h2{
	font-size: 1.14em;
	margin-top: 15px;
	margin-bottom: 5px;
}
.speakersProfileBox h2:first-of-type{
	margin-top: 0;
}
.speakersArea + .verticalMovieArea,
.speakersArea + .verticalMovieArea + .slideMovieArea{
	padding-left: 0;
	padding-right: 0;
}
/* --------------------------------------------------
	お知らせ
-------------------------------------------------- */
.newsList li{
	padding: 10px 0;
	border-bottom: 1px solid #212121;
}
.newsList li:first-of-type{
	padding-top: 5px;
}
.newsList li:last-of-type{
	border-bottom: none;
}
.newsCategory{
	color: #FFCE79;
}
.newsList .newsCategory{
	font-size: 0.73em;
	color: #FFCE79;
}
.newsList .newsDate{
	font-size: 0.87em;
}

.newsArea .newsHead{
	font-size: 0.87em;
}
.newsArea > article > h2{
	font-size: 1.3em;
	margin: 15px 0;
	text-align: justify;
	word-break: break-all;
}
.newsArea .newsDetailBox{
	text-align: justify;
	word-break: break-all;
}

/* --------------------------------------------------
	マイページ
-------------------------------------------------- */
.profileBox{
	margin: 30px auto;
	display: flex;
	align-items: flex-start;
	margin-bottom: 30px;
}
.userImage{
	width: 130px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	overflow: hidden;
}
.userImage img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.myProfile{
	margin-left: 50px;
}
.furigana,.userRank{
	margin-top: 8px;
	font-size: 0.87em;
}
.furigana + p{
	font-size: 1.4em;
}
.userRank{margin-bottom: 5px;}
.profileBox .grayBtn a,.profileBox .orangeBtn a{
	width: 300px;
	padding: 8px 0;
	margin-bottom: 10px;
}
.planBox p.lTxt + .sTxt.redTxt{
	margin-top: -10px;
}
.planBox .grayBtn a,.planBox button.grayBtn{
	padding: 8px 20px;
}


.purchaseHistoryListBox{margin-top: 15px;}
.purchaseHistoryListBox li{
	display: flex;
	flex-wrap: nowrap;
	background: #212121;
	padding: 10px 30px;
	align-items: center;
	gap: 30px;
	margin-bottom: 10px;
}
.purchaseHistoryListBox li time{white-space: nowrap;}
.purchaseCategory{
	flex: 0 0 9em;
	text-align: center;
	padding: 2px 0;
	font-size: 0.9em;
	white-space: nowrap;
	border-radius: 7px;
}
.purchaseCategory.buy{
	background: #01ad3c;
}
.purchaseCategory.plan{
	background: #0271ad;
}
.contentsNameTxt{
	flex-grow: 2;
}
.amountTxt{
	text-align: right;
	white-space: nowrap;
}
.receiptBtn a,.receiptBtn button{
	padding: 5px 20px;
	background: #555;
	text-decoration: none;
	border-radius: 7px;
	cursor: pointer;
	white-space: nowrap;
}

/* --------------------------------------------------
	新規登録・ログイン・フォーム
-------------------------------------------------- */
.formArea{
	max-width: 800px;
	margin: 0 auto;
}
.loginBox{
	background: #212121;
	padding: 30px;
	margin-bottom: 30px;
}
.systemTextBox{
	background: #333;
	padding: 20px;
	margin-bottom: 30px;
}.systemTextBox{
	font-size: 1.1em;
	text-align: center;
}
.loginBox > ul,.loginBox > div{
	width: 350px;
	margin: 0 auto;
}
.loginBox .titleBox{
	display: block;
	margin-bottom: 15px;
	text-align: center;
}
.myProfFormArea{
	margin: 0 auto;
}
.loginBox button.orangeBtn,.loginBox .orangeBtn a{
	width: 100% !important;
}
.formArea input[type=text],.formArea input[type=password],.formArea input[type=email],
.formArea textarea,.formArea select,.formArea option{
	display: block;
	background: #fff;
	color: #000;
	box-sizing: border-box;
	padding: 8px 10px;
	border-radius: 7px;
	min-width: 400px;
}
.formCol2Box input,.formCol2Box input + .formErrorText,
.formArea form .formBox.confirm .formCol2Box > div{
	min-width: 200px !important;
	max-width: 200px !important;
}
.formArea input[type=text][disabled]{
	background: #414141;
	color: #ccc;
}

.ttl-mp--md{
	margin: 30px 0 10px;
	font-size: 1.1em;
}
.userInfo-wrap h4,.modal-title{
	margin-top: 1em;
}
.userInfo-wrap h4::before,.modal-title::before{
	content: "■ ";
	font-size: 0.8em;
	display: inline;
}
.userInfo-wrap h4 + p{
	padding: 7px 1em;
	background: #1e1e1e;
	border-radius: 7px;
	margin-bottom: 5px;
}
.user-info-item-detail p:has(img){
	width: 150px;
	height: 150px;
	border-radius: 50%;
	padding: 0;
	overflow: hidden;
}
.user-info-item-detail p img{
	width: 100%;
	height: 100%;
}

.titleBox + form{margin-top: 20px;}
.socialLoginBtnList{
	margin-top: 20px;
}
.socialLoginBtnList li{
	margin: 0 auto 10px;
}
.socialLoginBtnList li a{
	display: flex;
	padding: 10px 15px;
	background: #fff;
	border-radius: 7px;
	color: #000;
	text-decoration: none;
	align-items: center;
}
.socialLoginBtnList li a img{
	width: 22px;
	height: auto;
}
.socialLoginBtnList li a span:nth-of-type(2){
	width: calc(100% - 22px);
	text-align: center;
}

.socialLoginBtnList li div{
	display: flex;
	padding: 10px 15px;
	background: #fff;
	border-radius: 7px;
	color: #000;
	text-decoration: none;
	align-items: center;
}
.socialLoginBtnList li div img{
	width: 22px;
	height: auto;
}
.socialLoginBtnList li div span:nth-of-type(2){
	width: calc(100% - 22px);
	text-align: center;
}
.orText{
	text-align: center;
	margin: 30px -30px;
	position: relative;
}
.orText::before,.orText::after{
	content: "";
	display: block;
	position: absolute;
	width: calc(50% - 2.5em);
	height: 1px;
	border-bottom: 1px solid #fff;
	top: 0.7em;
}
.formArea button.orangeBtn,.formArea .orangeBtn a,
.formArea button.grayBtn,.formArea .grayBtn a{
	padding: 8px;
	width: 300px;
}
.formArea button.orangeBtn[type="submit"]:disabled,.formArea button.grayBtn[type="submit"]:disabled {
	background: #aaa;
}
.mailSendForm > div{
	margin-bottom: 5px;
}
.mailSendForm{
	margin-bottom: 5px !important;
}
.mailSendForm input[type=text],.mailSendForm input[type=email]{
	width: 100%;
	max-width: 350px;
	min-width: 350px;
}

.mailSendForm input[type=password]{
	width: 100%;
	max-width: 350px;
	min-width: 350px;
	display: block;
	background: #fff;
	color: #000;
	box-sizing: border-box;
	padding: 8px 10px;
	border-radius: 7px;
}

.formErrorText span{
	font-size: 0.73em;
	color: #fff;
	margin: 3px 0;
	line-height: 1.2em;
	background: #f00;
	padding: 3px 5px;
	border-radius: 5px;
}
.formBox > div{
	margin-bottom: 15px;

}
.formArea form .formBox > div > p{
	min-width: 100%;
	margin-bottom: 5px;
}
.formArea form .formBox .formSelectBox{
	position: relative;
	display: inline-block;
}
.formArea form .formBox select{
	-webkit-appearance:none;
    appearance:none;
	min-width: 15em;
}
.formArea form .formBox .formSelectBox::after{
	content: "▼";
	display: inline-block;
	position: absolute;
	top: 0.5em;
	right: 15px;
	color: #000;
}
.is-hidden {
  display: none;
}
.js-toggle-target input{
	margin-top: 10px;
}
.formArea form .formBox > div > p.formErrorText{
	width: auto;
	max-width: none;
	min-width: auto;
}
.formCol2Box > div,.col3SelectBox > div,.formCol3Box > div{
	display: inline-block;
	vertical-align: top;
}
.formCol2Box > div:first-of-type{
	margin-right: 20px;
}
.formDefaultText{
	background: #212121;
	color: #ccc;
	padding: 8px 10px;
	border-radius: 7px;
}
.formCheckBox{
	font-size: 0.87em;
}
.formCheckBox input[type=checkbox]{
	margin-right: 5px;
}
.formConfirmBox{
	display: flex;
	margin-bottom: 10px;
	color: #ccc;
}
.formConfirmBox p:first-of-type{
	min-width: 9em;
	max-width: 9em;
}.formConfirmBox p:nth-of-type(2){
	min-width: calc(100% - 9em);
	max-width: calc(100% - 9em);
}
.myProfFormArea .formConfirmBox{
	color: #fff;
}

.radioGroupBox > p{
	display: inline-block;
	margin-right: 1em;
}
.formArea input[type=radio]{
	border: 1px solid #ccc;
	background: #fff;
	margin-right: 3px;
}
.col3SelectBox > div,.formCol3Box > div{
	margin-right: 15px;
}
.formArea form .formBox .col3SelectBox select,
.formArea form .formBox .formCol3Box input,
.formArea form .formBox .col3SelectBox select + .formErrorText,
.formArea form .formBox .formCol3Box input + .formErrorText,
.formArea form .formBox.confirm .formCol3Box > div{
	min-width: 200px;
	max-width: 200px;
}

.formImageInput{
	display: flex;
	align-items: center;
}
.formImageInput input[type=file]{
	display: none;
}
.formImageInput div:first-of-type{
	width: 95px;
	height: 95px;
	border-radius: calc(95px / 2);
	overflow: hidden;
	margin-right: 10px;
}
.formImageInput div:first-of-type img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.formImageInput label{
	text-decoration: underline;
}
.formBox.confirm > div > div:not(:has( > div)),
.formBox.confirm > div > div > div{
	display: inline-block;
	background: #202020;
	border-radius: 5px;
	color: #fff;
	padding: 5px 15px;
	width: 80%;
}
.formBox.confirm .formImageInput{
	display: block;
}
.formBox.confirm .formImageInput > div{
	padding: 0;
	background: none;
	width: 160px;
	height: 160px;
	border-radius: 80px;
	overflow: hidden;
}
.planSecArea,.formBox + .formBox{
	border-top: 1px solid #fff;
	padding-top: 30px;
	margin-top: 30px;
}
.planBox{
	background: #212121;
	padding: 30px;
	margin: 0 auto 15px;
}
.planBox .grayBtn:first-of-type{margin-top: 20px;}
.planBox .grayBtn + .grayBtn{margin-top: 10px;}
.planBox > p{
	margin-bottom: 5px;
}
.planBox dt{
	font-weight: bold;
	margin-top: 10px;
}
.planBox dt:first-of-type{
	margin-top: 0;
}
.planBox dd:last-of-type{
	margin-bottom:15px;
}

.planDesBox{
	background: #000;
	padding: 15px;
}
.planDesBox > p:first-of-type{
	font-size: 1.4em;
	margin-bottom: 15px;
}

.planFreeTxt{
	background: #ed682d;
	display: inline-block !important;
	min-width: initial !important;
	padding: 2px 10px;
	font-weight: bold;
	border-radius: 5px;
}
.inductionBox{
	margin: 15px 50px 0 ;
	padding: 15px;
	background: #fff;
	font-size: 1em;
}
.inductionBox > p{
	color: #000;
	font-size: 1.2em;
}
.inductionBox > p:last-of-type{
	margin-bottom: 10px;
}
.cautionBox{
	font-size: 0.87em;
	margin-bottom: 30px;
}

.myProfFormArea .socialLoginBtnList{
	margin: 0;
	width: 320px;
}
.myProfFormArea .socialLoginBtnList li a span:nth-of-type(2){
	text-align: left;
	padding-left: 10px;
	position: relative;
}
.socialLoginBtnList li.connect a span:nth-of-type(2)::after{
	display: inline-block;
	content: "連携中";
	color: #999;
	padding-right: 1.5em;
	background: url(../../img/icon_X.png) no-repeat right center;
	background-size: auto 0.8em;
	position: absolute;
	top: 0;
	right: 0;
}

.socialLoginBtnList li.connect div span:nth-of-type(2)::after{
	display: inline-block;
	content: "連携中";
	color: #999;
	padding-right: 1.5em;
	background: url(../../img/icon_X.png) no-repeat right center;
	background-size: auto 0.8em;
	position: absolute;
	top: 0;
	right: 0;
}

.formFixUpdateMessageBox{
	position: fixed;
	width: 100vw;
	padding: 30px 100px;
	box-sizing: border-box;
	background: rgba(30,30,30,0.85);
	top: 60px;
	left: 0;
	right: 0;
}

/* --------------------------------------------------
	バナーエリア
-------------------------------------------------- */
.bannerArea{
	margin-top: 30px;
	padding: 0 50px;
	display: flex;
	justify-content: center;
	gap:10px;
}
.bannerArea .banner{
	border-radius: 7px;
	overflow: hidden;
}
.bannerArea > div{
	margin-bottom: 10px;
	min-width: calc(50% - 5px);
	max-width: calc(80% - 5px);
}
.bannerArea article{
	display: flex;
}
.bannerArea article div{
	margin-right: 5px;
}
.bannerArea article div:last-of-type{
	margin-right: 0;
}
.bannerArea div img{
	width: 100%;
	height: auto;
}
@media (max-width: 1024px) {
	.bannerArea{
		padding: 0 20px;
	}
}

.wrapBnArea{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
.wrapBnArea li{
	width: calc((100% - 20px) / 2) ;
	border: 1px solid #444;
}
.wrapBnArea img{
	width: 100%;
	height: auto;
	
}
/* --------------------------------------------------
	フッター
-------------------------------------------------- */
footer{
	margin-top: 100px;
}
footer > div{
	padding: 0 50px;
}
@media (max-width: 1024px) {
	footer > div{
		padding: 0 20px;
	}
}

.footerSnsLink{
	display: flex;
	margin-top: 5px;
	justify-content: center;
}
.footerSnsLink li{
	width: 40px;
	margin: 0 5px;
}
.footerSnsLink li a{
	display: block;
	width: 100%;
	height: 40px;
}
.footerSnsLink li a img{
	width: 100%;
	height: auto;
}
.footerNavBox{
	display: flex;
	justify-content: center;
	margin-top: 30px;
	font-size: 0.87em;
}
.footerNavBox li{
	margin: 0 5px;
}
.copyright{
	margin-top: 30px;
	padding: 10px 0;
	text-align: center;
	background: #2c2c2c;
}

/* --------------------------------------------------
	Q&A
-------------------------------------------------- */
.qaArea .titleBox{
	margin-top: 0;
}
.qaArea{
	max-width: 1000px;
	margin: 0 auto;
}
.qaArea .titleBox{margin-top: 0;}
.qaArea section{
	background: #212121;
	padding: 15px;
	margin-bottom: 15px;
}
.qaArea section h2{
	font-size: 1.28em;
}
.qaArea section > dl > dt{
	margin-top: 15px;
	text-decoration: underline;
}
/*
.qaArea section > dl > dt::before{
	content: "＋";
	display: inline-block;
	margin-right: 0.5em;
}*/
.qaArea section > dl > dd{
	padding: 10px;
	margin-top: 10px;
	background: #000;
}
/*
.qaArea section > dl > dd > p:first-of-type::before{
	content: "";
	display: inline-block;
	margin-right: 0.5em;
}*/
.qaArea section > dl > dd > p{
	margin-top: 10px;
}
.qaArea section > dl > dd > p:first-of-type{
	margin-top: 0;
}

/* --------------------------------------------------
	特商法・利用規約・個人情報保護
-------------------------------------------------- */
.textContentArea .titleBox{
	margin-top: 0;
}
.textContentArea{
	max-width: 1000px;
	margin: 0 auto;
}
.defaultDl{
	margin: 30px 0;
}
.defaultDl dt{
	margin: 15px 0 0;
	font-weight: bold;
}
.textContentArea h2{
	margin-top: 30px;
	font-size: 1.28em;
	margin-bottom: 10px;
}
.numList{
	list-style: decimal;
	list-style-position: outside;
}
.numList li{
	margin: 0 0 1em 20px;
}

/* --------------------------------------------------
	共通・臨時CSS
-------------------------------------------------- */

/* 余白クラス */
.mt0{margin-top:0;}
.mt5{margin-top:5px;}
.mt10{margin-top:10px;}
.mt15{margin-top:15px;}
.mt20{margin-top:20px;}
.mt30{margin-top:30px;}
.mt40{margin-top:40px;}
.mt50{margin-top:50px;}
.mt60{margin-top:60px;}
.mt70{margin-top:70px;}
.mt80{margin-top:80px;}
.mt90{margin-top:90px;}
.mt100{margin-top:100px;}

.mr0{margin-right:0;}
.mr5{margin-right:5px;}
.mr10{margin-right:10px;}
.mr15{margin-right:15px;}
.mr20{margin-right:20px;}
.mr30{margin-right:30px;}
.mr40{margin-right:40px;}
.mr50{margin-right:50px;}
.mr60{margin-right:60px;}
.mr70{margin-right:70px;}
.mr80{margin-right:80px;}
.mr90{margin-right:90px;}
.mr100{margin-right:100px;}

.mb0{margin-bottom:0 !important;}
.mb5{margin-bottom:5px;}
.mb10{margin-bottom:10px;}
.mb15{margin-bottom:15px;}
.mb20{margin-bottom:20px;}
.mb30{margin-bottom:30px;}
.mb40{margin-bottom:40px;}
.mb50{margin-bottom:50px;}
.mb60{margin-bottom:60px;}
.mb70{margin-bottom:70px;}
.mb80{margin-bottom:80px;}
.mb90{margin-bottom:90px;}
.mb100{margin-bottom:100px;}

.ml0{margin-left:0;}
.ml5{margin-left:5px;}
.ml10{margin-left:10px;}
.ml15{margin-left:15px;}
.ml20{margin-left:20px;}
.ml30{margin-left:30px;}
.ml40{margin-left:40px;}
.ml50{margin-left:50px;}
.ml60{margin-left:60px;}
.ml70{margin-left:70px;}
.ml80{margin-left:80px;}
.ml90{margin-left:90px;}
.ml100{margin-left:100px;}

.mtb0{margin-top:0;margin-bottom:0;}
.mtb5{margin-top:5px;margin-bottom:5px;}
.mtb10{margin-top:10px;margin-bottom:10px;}
.mtb15{margin-top:15px;margin-bottom:15px;}
.mtb20{margin-top:20px;margin-bottom:20px;}
.mtb30{margin-top:30px;margin-bottom:30px;}
.mtb40{margin-top:40px;margin-bottom:40px;}
.mtb50{margin-top:50px;margin-bottom:50px;}
.mtb60{margin-top:60px;margin-bottom:60px;}
.mtb70{margin-top:70px;margin-bottom:70px;}
.mtb80{margin-top:80px;margin-bottom:80px;}
.mtb90{margin-top:90px;margin-bottom:90px;}
.mtb100{margin-top:100px;margin-bottom:100px;}

.mrla{margin-right:auto;margin-left:auto;}
.mrl0{margin-right:0;margin-left:0;}
.mrl5{margin-right:5px;margin-left:5px;}
.mrl10{margin-right:10px;margin-left:10px;}
.mrl15{margin-right:15px;margin-left:15px;}
.mrl20{margin-right:20px;margin-left:20px;}
.mrl30{margin-right:30px;margin-left:30px;}
.mrl40{margin-right:40px;margin-left:40px;}
.mrl50{margin-right:50px;margin-left:50px;}
.mrl60{margin-right:60px;margin-left:60px;}
.mrl70{margin-right:70px;margin-left:70px;}
.mrl80{margin-right:80px;margin-left:80px;}
.mrl90{margin-right:90px;margin-left:90px;}
.mrl100{margin-right:100px;margin-left:100px;}

.ma0{margin:0 0 0 0;}
.ma5{margin:5px 5px 5px 5px;}
.ma10{margin:10px 10px 10px 10px;}
.ma15{margin:15px 15px 15px 15px;}
.ma20{margin:20px 20px 20px 20px;}
.ma30{margin:30px 30px 30px 30px;}
.ma40{margin:40px 40px 40px 40px;}
.ma50{margin:50px 50px 50px 50px;}
.ma60{margin:60px 60px 60px 60px;}
.ma70{margin:70px 70px 70px 70px;}
.ma80{margin:80px 80px 80px 80px;}
.ma90{margin:90px 90px 90px 90px;}
.ma100{margin:100px 100px 100px 100px;}

.pt0{padding-top:0;}
.pt5{padding-top:5px;}
.pt10{padding-top:10px;}
.pt15{padding-top:15px;}
.pt20{padding-top:20px;}
.pt30{padding-top:30px;}
.pt40{padding-top:40px;}
.pt50{padding-top:50px;}
.pt60{padding-top:60px;}
.pt70{padding-top:70px;}
.pt80{padding-top:80px;}
.pt90{padding-top:90px;}
.pt100{padding-top:100px;}

.pr0{padding-right:0;}
.pr5{padding-right:5px;}
.pr10{padding-right:10px;}
.pr15{padding-right:15px;}
.pr20{padding-right:20px;}
.pr30{padding-right:30px;}
.pr40{padding-right:40px;}
.pr50{padding-right:50px;}
.pr60{padding-right:60px;}
.pr70{padding-right:70px;}
.pr80{padding-right:80px;}
.pr90{padding-right:90px;}
.pr100{padding-right:100px;}

.pb0{padding-bottom:0;}
.pb5{padding-bottom:5px;}
.pb10{padding-bottom:10px;}
.pb15{padding-bottom:15px;}
.pb20{padding-bottom:20px;}
.pb30{padding-bottom:30px;}
.pb40{padding-bottom:40px;}
.pb50{padding-bottom:50px;}
.pb60{padding-bottom:60px;}
.pb70{padding-bottom:70px;}
.pb80{padding-bottom:80px;}
.pb90{padding-bottom:90px;}
.pb100{padding-bottom:100px;}

.pl0{padding-left:0;}
.pl5{padding-left:5px;}
.pl10{padding-left:10px;}
.pl15{padding-left:15px;}
.pl20{padding-left:20px;}
.pl30{padding-left:30px;}
.pl40{padding-left:40px;}
.pl50{padding-left:50px;}
.pl60{padding-left:60px;}
.pl70{padding-left:70px;}
.pl80{padding-left:80px;}
.pl90{padding-left:90px;}
.pl100{padding-left:100px;}

.ptb0{padding-top:0;padding-bottom:0;}
.ptb5{padding-top:5px;padding-bottom:5px;}
.ptb10{padding-top:10px;padding-bottom:10px;}
.ptb15{padding-top:15px;padding-bottom:15px;}
.ptb20{padding-top:20px;padding-bottom:20px;}
.ptb30{padding-top:30px;padding-bottom:30px;}
.ptb40{padding-top:40px;padding-bottom:40px;}
.ptb50{padding-top:50px;padding-bottom:50px;}
.ptb60{padding-top:60px;padding-bottom:60px;}
.ptb70{padding-top:70px;padding-bottom:70px;}
.ptb80{padding-top:80px;padding-bottom:80px;}
.ptb90{padding-top:90px;padding-bottom:90px;}
.ptb100{padding-top:100px;padding-bottom:100px;}

.prl0{padding-right:0;padding-left:0;}
.prl5{padding-right:5px;padding-left:5px;}
.prl10{padding-right:10px;padding-left:10px;}
.prl15{padding-right:15px;padding-left:15px;}
.prl20{padding-right:20px;padding-left:20px;}
.prl30{padding-right:30px;padding-left:30px;}
.prl40{padding-right:40px;padding-left:40px;}
.prl50{padding-right:50px;padding-left:50px;}
.prl60{padding-right:60px;padding-left:60px;}
.prl70{padding-right:70px;padding-left:70px;}
.prl80{padding-right:80px;padding-left:80px;}
.prl90{padding-right:90px;padding-left:90px;}
.prl100{padding-right:100px;padding-left:100px;}

.pa0{padding:0 0 0 0;}
.pa5{padding:5px 5px 5px 5px;}
.pa10{padding:10px 10px 10px 10px;}
.pa15{padding:15px 15px 15px 15px;}
.pa20{padding:20px 20px 20px 20px;}
.pa30{padding:30px 30px 30px 30px;}
.pa40{padding:40px 40px 40px 40px;}
.pa50{padding:50px 50px 50px 50px;}
.pa60{padding:60px 60px 60px 60px;}
.pa70{padding:70px 70px 70px 70px;}
.pa80{padding:80px 80px 80px 80px;}
.pa90{padding:90px 90px 90px 90px;}
.pa100{padding:100px 100px 100px 100px;}

/* フォントクラス */
.bTxt{font-weight:bold;}
.uTxt{text-decoration:underline;}
a.linkTxt{color:#ed682d !important;text-decoration:underline;}
a.linkTxt:hover{color:#FFA84E !important;text-decoration:underline;}
.redTxt{color:#f00;}
.orangeTxt{color: #ed682d;}
.yellowTxt{color:#ff0;}
.blueTxt{color:#00f;}
.grayTxt{color:#333;}
.lGrayTxt{color:#999;}
.ulGrayTxt{color:#ccc;}

.sTxt{font-size:0.87em;} 	/* 13px相当 */
.xsTxt{font-size:0.73em;} 	/* 11px相当 */
/*
.xxsTxt{font-size:0.71em;}
*/
.lTxt{font-size:1.14em;}
.xlTxt{font-size:1.28em;}
.xxlTxt{font-size:1.42em;}
.xxxlTxt{font-size:1.57em;}

.discList{
	list-style-position: outside;
	margin-left: 1.5em;
}
.discList li{
	list-style: disc;
}
.discList.mb0 li{
	margin-bottom: 0;
}
.mark{
	text-indent:-1em;
	margin-left:1em;
}

/* アライン設定 */
.alTxt{text-align:left;}
.acTxt{text-align:center;}
.arTxt{text-align:right;}

/* クリア・フロート */
.flR{float:right;}
.flL{float:left;}
.flC{
	position:relative;
	overflow:hidden;
}
.flC ul{
	position:relative;
	left:50%;
	float:left;
}
.flC ul li{
	position:relative;
	left:-50%;
	float:left;
}

.clearfix{min-height:1px;}
.clearfix:after{
	content:" "; 
	display:block;
	clear:both;
	height:0;
	visibility:hidden;
}
* html .clearfix{
	height:1px;
	/*¥*//*/
	height:auto;
	overflow:hidden;
	/**/
}

.clear{clear:both;}

.pagenation{
	margin-top: 30px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	gap:20px;
	align-items: center;
}
.pagenation a{
	padding: 10px;
	background: #222;
	text-decoration: none;
	border-radius: 5px;
}
.pagenation .active a{
	background: #EC692D;
}

#player {
	width: 100%;
    height: 100%;
}

#player > .video-js {
	aspect-ratio: 16/9;
	width: 100%;
    height: 100%;
}

#profilePreview {
	width: 100%;
    height: 100%;
	object-fit: cover;
}

#entryProfilePreview {
	width: 100%;
    height: 100%;
	object-fit: cover;
}
.contentBanner {
	width: 100%;
	margin-bottom: 20px;

	> .image {
		width: 100%;
		height: auto;
		object-fit: cover;
	}
}
.contentBanner img{
		width: 100%;
		height: auto;
}
