@charset "utf-8";

/* ############################################################
 * parts
 *
 * ------
 * 2022.02.28
 * ############################################################ */


/* ==========================================================================
   aside
   ========================================================================== */

/* ---------------------------------------- */
/* 重賞レース欄
/* ---------------------------------------- */

.sp_gj_race_mov_data {
	position: absolute;
	bottom: 0;
	padding-top: 10px;
	font-size: 12px;
}

/* -----------------------------------------------
 * お知らせ欄
 * ----------------------------------------------- */

.sp_gj_news {
}

.sp_gj_news .sp_gj_news_article {
	margin: 0;
	padding: 6px 10px 4px 10px;
	border-bottom: 1px solid #ccc;
	line-height: 120%;
}

.sp_gj_news .sp_gj_news_article .sp_gj_news_article_head {
	padding: 2px 26px 2px 0;
	background: url(/common/img/sp/btn_icon_plus.png) right center no-repeat;
	background-size: 18px 18px;
	cursor: pointer;
}

.sp_gj_news .sp_gj_news_article .sp_gj_news_article_head.open {
	background: url(/common/img/sp/btn_icon_minus.png) right center no-repeat;
	background-size: 18px 18px;
}

.sp_gj_news .sp_gj_news_article .sp_gj_news_article_body {
	display: none;
	margin-top: 5px;
}

.sp_gj_news_article_body a{
	color:#00f;
}

.sp_gj_news_article_head_table {
	width: 100%;
}
.sp_gj_news_article_head_table td.td_img {
	width: 95px;
	padding-right: 5px;
}
.sp_gj_news_article_head_table td.td_btm {
	vertical-align: bottom;
}

.sp_gj_news .font_subject {
	display:block;
	font-weight: bold;
	font-size: 14px !important;
	line-height: 108% !important;
}
.sp_gj_news .font_number {
	font-size:11px !important;
}

/* ==========================================================================
   news
   ========================================================================== */

.note-video-clip {
	width: 100%;
	aspect-ratio: 16 / 9;
}

.note-float-left {
	display: block;
	margin-right: auto;
}

.note-float-center {
	display: block;
	margin: auto;
}

.note-float-right {
	display: block;
	margin-left: auto;
}

.note-font-s { font-size: 10px; }
.note-font-m { font-size: 16px; }
.note-font-l { font-size: 20px; }
.note-font-g { font-size: 24px; }

/* -----------------------------------------------
 * sp_gj_news
 * ----------------------------------------------- */

.sp_gj_news {
	border-top: 1px solid #ccc;
}

.sp_gj_news .sp_gj_news_article {
	margin: 0;
	padding: 6px 10px 4px 10px;
	border-bottom: 1px solid #ccc;
	line-height: 1.2;
}

.sp_gj_news .sp_gj_news_article .sp_gj_news_article_head {
	padding: 2px 26px 2px 0;
	background: url(/common/img/sp/btn_icon_plus.png) right center no-repeat;
	background-size: 18px 18px;
	cursor: pointer;
}

.sp_gj_news .sp_gj_news_article .sp_gj_news_article_head.open {
	background: url(/common/img/sp/btn_icon_minus.png) right center no-repeat;
	background-size: 18px 18px;
}

.sp_gj_news .sp_gj_news_article .sp_gj_news_article_body {
	display: none;
	margin-top: 5px;
}

.sp_gj_news_article_body a{
	color:#00f;
}

.sp_gj_news_article_head_table {
	width: 100%;
}
.sp_gj_news_article_head_table td.td_img {
	width: 95px;
	padding-right: 5px;
}
.sp_gj_news_article_head_table td.td_btm {
	vertical-align: bottom;
}

.news_title_area {
	padding: 10px;
	background: #c0ddfc;
}

.news_img {
	float: left;
	margin-right: 10px;
	overflow: hidden;
	position: relative;
	border: 1px solid #ccc;
	width: 280px;
	height: 210px;
}
.news_img img {
	position: absolute;
	max-width: 100%;
	max-height: 100%;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}
.news_detail {
	font-size: 16px;
	line-height: 1.8;
}
@media screen and (max-width: 767px) {
	.news_img {
		float: none;
		width: 100%;
		height: auto;
		margin-right: 0;
		border: none;
	}
	.news_img img {
		position: relative;
	}
	.news_detail {
		padding-left: 5px;
		padding-right: 5px;
	}
}

/* ---------------------------------------- */
/* サイド　SNS
/* ---------------------------------------- */

.side_sns_area {
	padding: 5px;
	text-align: right;
	font-size: 12px;
	border: 1px solid #ccc;
	border-radius: 6px;
	margin-bottom: 10px; 
}

.side_sns_area_text {
	line-height: 20px;
}

.side_sns_area img {
	margin-left: 2px;
	vertical-align: bottom;
}

.sns_no_border .side_sns_area {
	border: none;
}

.sns_no_text .side_sns_area_text {
    display: none;
}

.sns_area {
	width: 200px;
	margin-top: 8px;
	float: right;
}

.sns_area img {
	margin-left: 2px;
	vertical-align: bottom;
}

/* ======================================== */
/* dot_2line
/* ======================================== */
/* ニュース見出し等 二行以上を...で省略 */

.dot_2line {
	overflow: hidden;
	width: 100%;
	line-height: 140%;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.dot_1line {
	overflow: hidden;
	width: 100%;
	line-height: 140%;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
}

.dot_1line_mark {
	min-width: calc(100% - 40px);
	max-width: calc(100% - 40px);
}

/* ======================================== */
/* ニュース　ナイス、コメントエリア
/* ======================================== */

.hk_diary_responce_head {
	margin-bottom: 20px;
	padding-bottom: 4px;
	border-bottom: 1px solid #ccc;
	font-size: 16px;
}

.hk_diary_nice_list {
	display: flex;
	justify-content: flex-start;
	max-width: 100%;
	flex-wrap: wrap;
}

.hk_diary_nice_list li {
	display: block;
	width: 12.5%;
	height: 100px;
	font-size: 11px;
	text-align: center;
	line-height: 1.3;
}
@media screen and (max-width: 940px) {
	.hk_diary_nice_list li { width: 25%; }
}

.hk_diary_nice_list_icon {
	width: 60px;
	height: 60px;
	margin: 0 auto 5px auto;
	text-align: center;
	border: 1px solid #CCC;
	position: relative;
}

.hk_diary_nice_list_icon img {
	max-width: 58px;
	max-height: 58px;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	display: block;
}

.hk_diary_nice_list_icon.round {
	border-radius: 100%;
}
.hk_diary_nice_list_icon.round img {
	border-radius: 100%;
}

p.readmore.news_readmore {
	width: 40%;
}
@media screen and (max-width: 767px) {
	p.readmore.news_readmore { width:100%; }
}

.hk_diary_responce_head {
	margin-bottom: 20px;
	padding-bottom: 4px;
	border-bottom: 1px solid #ccc;
	font-size: 16px;
}

.hk_diary_comment_area {
	padding: 20px 20px;
	background: #f3f3f3;
}

.hk_diary_comment_box {
	margin-bottom: 30px;
}

.hk_diary_comment_box_img {
	float: left;
	width: 40px;
	text-align: center;
	margin-right: 10px;
}

.hk_diary_comment_box_main {
	margin: 0 auto;
	width: 100%;
	text-align:center;
}

.hk_diary_comment_box_head {
	margin-bottom: 5px;
	font-size: 13px;
	text-align:left;
}

.hk_diary_responce_head img {
	vertical-align: middle;
}

.hk_diary_responce_head p {
	display: inline;
	float: right;
}

.hk_diary_comment_box_head a {
	font-weight: bold;
}

.hk_diary_comment_box_date {
	float: right;
	text-align: right;
	font-size: 12px;
}

.hk_diary_comment_box_comment {
	position: relative;
	padding: 5px;
	border-radius: 10px;
	background: #fff;
	clear: both;
	margin-top: 40px;
}

.hk_diary_comment_box_comment:after {
	content: url(/common/img/diary_comment_pointer.png);
	position: absolute;
	top: -15px;
	left: 10px;
}

#post_diary_area .hk_diary_comment_box_comment {
	margin-top: 0px;
}

#post_diary_area .hk_diary_comment_box_comment:after {
	content: "";
	position: initial;
}

.hk_diary_comment_box_comment textarea {
	border:none;
	width:100%;
	height: 100px;
}

#post_diary_area, #post_diary_area_logoff {
	display: none;
}

.hk_diary_comment_box_img img {
	max-width: 40px;
	max-height: 40px;
}

.hk_diary_comment_btn_area {
	text-align:center;
	margin-top:20px;
}

.hk_diary_comment_btn {
	display: inline-block;
	padding: 12px 80px !important;
	border-radius: 8px;
	border: none !important;
	background: #19b93a;
	font-size: 14px;
	color: #fff !important;
}

/* ---------------------------------------- */
/* tlg_table_split
/* ---------------------------------------- */

.common_table.tlg_table_split,
.common_table tr.tlg_table_split {
	border-bottom: 3px solid #28628c;
}

/* ---------------------------------------- */
/* tlg_nice
/* ---------------------------------------- */

.tlg_nice {
	display: inline-block;
	width: 110px;
	height: 24px;
	padding-top: 1px;
	padding-right: 3px;
	background: url( /static/img/nice_gray.png ) no-repeat;
	background-size: 110px 24px;
	font-size: 16px;
	font-weight: bold;
	text-align: right;
	color: #05356a;
}
.tlg_nice.submitted {
	background-image: url( /static/img/nice_skyblue.png );
	color: #c2a95d;
}

.nice_box {
	position: relative;
	padding: 40px 0;
	border: none;
	text-align: center;
}
.nice_box_btn {
	position: relative;
	display: inline-block;
	width: 300px;
	height: 154px;
	background: url( /static/img/nice_large_off.png ) no-repeat;
	background-size: 100% 100%;
}
.nice_box_num {
	position: absolute;
	top: 54px;
	right: 10px;
	width: 130px;
	font-size: 40px;
	font-weight: bold;
	color: #333;
	text-align: center;
	z-index: 50;
}
.nice_box.submitted:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url( /static/img/nice_cheer.png ) no-repeat;
	background-position: center center;
	z-index: 100;
}
.nice_box.submitted .nice_box_btn {
	background: url( /static/img/nice_large_on.png ) no-repeat;
	background-size: 100% 100%;
}
.nice_box.submitted .nice_box_num {
	color: #c2a95d;
}

/* ---------------------------------------- */
/* tlg_game_box
/* ---------------------------------------- */

.tlg_game_box {
	flex: 1;
	padding: 10px 0;
}

.tlg_game_box_center {
	width: 30%;
	min-width: 110px;
	padding: 5px 0;
}
.tlg_game_box_center.corrent {
	background: url( /static/img/bg_correct.png?20230713 ) no-repeat;
	background-size: 100px 100px;
	background-position: center 10px;
}

.tlg_game_box_center.mistake {
	background: url( /static/img/bg_mistake.png ) no-repeat;
	background-size: 100px 100px;
	background-position: center 10px;
}

.tlg_game_box.selected {
	background: #e4f7ff;
}

.icon_game_win,
.icon_game_blank {
	display: inline-block;
	width: 90px;
	padding: 2px 0 1px 0;
	text-align: center;
	font-size: 14px;
	font-weight: bold;
}
.icon_game_win { background: #c2a95d;color: #fff; }
.icon_game_blank { background: none; }

.tlg_game_box_teamname_top {
	min-height: 38px;
	line-height: 1.3;
	display: flex;
	justify-content: center;
	align-items: center;
}

.tlg_game_box .team_selected {
	position: relative;
	background: #99e0ff;
}
.tlg_game_box .team_selected .correct {
	position: absolute;
	top: calc( 50% - 60px );
	left: calc( 50% - 60px );
	width: 120px;
	height: 120px;
	background-size: 120px 120px;
	background-repeat: no-repeat;
	opacity: 0.75;
	z-index: 10;
	background-image: url( /static/img/bg_correct.png?20230713 );
}

/* ---------------------------------------- */
/* tlg_btn
/* ---------------------------------------- */

.tlg_btn {
	position: relative;
	display: inline-block;
	padding: 15px 0;
	border: 1px solid #28628c;
	text-align: center;
	color: #28628c;
	font-weight: bold;
	box-shadow: 4px 4px 0px #28628c;
	image-rendering: crisp-edges;
	image-rendering: -webkit-optimize-contrast;
}
.tlg_btn:link,
.tlg_btn:visited {
	color: #28628c;
}
.tlg_btn:before {
	content: '';
	display: inline-block;
	margin-right: 5px;
	vertical-align: middle;
}
.tlg_btn.icon_vote:before {
	width: 54px;
	height: 26px;
	background: url( /static/img/icon/icon_vote_blue.png ) no-repeat;
	background-size: 54px 26px;
}
.tlg_btn.icon_news:before {
	width: 34px;
	height: 34px;
	background: url( /static/img/icon/icon_news_blue.png ) no-repeat;
	background-size: 34px 34px;
}
.tlg_btn.icon_crown:before {
	width: 34px;
	height: 34px;
	background: url( /static/img/icon/icon_crown_blue.png ) no-repeat;
	background-size: 34px 34px;
}
.tlg_btn.icon_q:before {
	width: 34px;
	height: 34px;
	background: url( /static/img/icon/icon_q_blue.png ) no-repeat;
	background-size: 34px 34px;
}
.tlg_btn.icon_talk:before {
	width: 34px;
	height: 34px;
	background: url( /static/img/icon/icon_talk_blue.png ) no-repeat;
	background-size: 34px 34px;
}
.tlg_btn.icon_whistle:before {
	width: 34px;
	height: 34px;
	background: url( /static/img/icon/icon_whistle_blue.png ) no-repeat;
	background-size: 34px 34px;
}
.tlg_btn.icon_data:before {
	width: 34px;
	height: 34px;
	background: url( /static/img/icon/icon_data_blue.png ) no-repeat;
	background-size: 34px 34px;
}
.tlg_btn.icon_megaphone:before {
	width: 34px;
	height: 34px;
	background: url( /static/img/icon/icon_megaphone_blue.png ) no-repeat;
	background-size: 34px 34px;
}
.tlg_btn.icon_racket_m:before {
	width: 34px;
	height: 34px;
	background: url( /static/img/icon/icon_racket_m_nb.png ) no-repeat;
	background-size: 34px 34px;
}
.tlg_btn.icon_racket_f:before {
	width: 34px;
	height: 34px;
	background: url( /static/img/icon/icon_racket_f_nb.png ) no-repeat;
	background-size: 34px 34px;
}
.tlg_btn.icon_picture:before {
	width: 34px;
	height: 34px;
	background: url( /static/img/icon/icon_picture2_blue.png ) no-repeat;
	background-size: 34px 34px;
}
.tlg_btn.icon_person:before {
	width: 34px;
	height: 34px;
	background: url( /static/img/icon/icon_person_blue.png ) no-repeat;
	background-size: 34px 34px;
}
.tlg_btn.icon_graph:before {
	width: 34px;
	height: 34px;
	background: url( /static/img/icon/icon_graph_blue.png ) no-repeat;
	background-size: 34px 34px;
}
.tlg_btn.icon_loupe:before {
	width: 34px;
	height: 34px;
	background: url( /static/img/icon/icon_loupe_blue.png ) no-repeat;
	background-size: 34px 34px;
}
.tlg_btn.icon_spost:before {
	width: 34px;
	height: 34px;
	background: url( /static/img/icon/icon_dialogue2_gold.png ) no-repeat;
	background-size: 34px 34px;
}
.tlg_btn.icon_nice:before {
	width: 34px;
	height: 34px;
	background: url( /static/img/icon/icon_nice2_blue.png ) no-repeat;
	background-size: 34px 34px;
}
.tlg_btn.icon_i:before {
	width: 30px;
	height: 30px;
	background: url( /static/img/icon/icon_i_blue.png ) no-repeat;
	background-size: 30px 30px;
	image-rendering: initial;
}
.tlg_btn:after {
	display: inline-block;
	position: absolute;
	top: calc( 50% - 8px );
	right: 10px;
	content: '';
	width: 0;
	height: 0;
	margin-right: 5px;
	border-left: 16px solid #28628c;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
	vertical-align: -1px;
}

.tlg_btn.tlg_btn_small {
	padding: 10px 10px 10px 0;
	line-height: 1.1;
}
.tlg_btn.tlg_btn_small:before {
	width: 20px;
	height: 20px;
	background-size: 20px 20px;
}
.tlg_btn.tlg_btn_small:after {
	right: 5px;
}
@media screen and (max-width: 767px) {
	.tlg_btn.tlg_btn_small {font-size:14px;}
	.tlg_btn.tlg_btn_small:before {content:none;}
	.tlg_btn.tlg_btn_small:after {content:none;}
}

.tlg_btn.w100 {
	width: 100%;
}

.tlg_btn.w_60_80 {
	width: 60%;
}
@media screen and (max-width: 767px) {
	.tlg_btn.w_60_80 { width: 80%; }
}
.tlg_btn.w_60_100 {
	width: 60%;
}
@media screen and (max-width: 767px) {
	.tlg_btn.w_60_100 { width: 100%; }
}
.tlg_btn.w_90_80 {
	width: 90%;
}
@media screen and (max-width: 767px) {
	.tlg_btn.w_90_80 { width: 80%; }
}

/* ---------------------------------------- */
/* tlg_btn02
/* ---------------------------------------- */

.tlg_btn02 {
	position: relative;
	display: inline-block;
	padding: 15px 0;
	border: 1px solid #28628c;
	text-align: center;
	color: #28628c;
	font-weight: bold;
	box-shadow: 4px 4px 0px #28628c;
	image-rendering: crisp-edges;
	image-rendering: -webkit-optimize-contrast;
}
.tlg_btn02:link,
.tlg_btn02:visited {
	color: #28628c;
}

.tlg_btn02.w_60_80 {
	width: 60%;
}
@media screen and (max-width: 767px) {
	.tlg_btn02.w_60_80 { width: 80%; }
}

/* ---------------------------------------- */
/* present page
/* ---------------------------------------- */

.present_bg_stripe {
	background: url( /static/img/present_bg01.png ) repeat;
}

/* ---------------------------------------- */
/* ranking page
/* ---------------------------------------- */

.cell_correct_double,
.cell_correct,
.cell_mistake {
	position: relative;
}
.cell_correct_double:after,
.cell_correct:after,
.cell_mistake:after {
	content: '';
	position: absolute;
	top: calc( 50% - 22px );
	left:  calc( 50% - 22px );
	width: 44px;
	height: 44px;
	background-size: 44px 44px;
	background-repeat: no-repeat;
	opacity: 0.75;
	z-index: 5;
}
.cell_correct_double:after { background-image: url( /static/img/bg_correct_double.png ); }
.cell_correct:after { background-image: url( /static/img/bg_correct.png ); }
.cell_mistake:after { background-image: url( /static/img/bg_mistake.png ); }

/* 最大サイズ */

.cell_correct_double_full,
.cell_correct_full,
.cell_mistake_full {
	position: relative;
}
.cell_correct_double_full:after,
.cell_correct_full:after,
.cell_mistake_full:after {
	content: '';
	position: absolute;
	top: 50%;
	left:  50%;
	transform: translateX(-50%) translateY(-50%);
	width: 90%;
	height: 90%;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	opacity: 0.65;
	z-index: 5;
}
.cell_correct_double_full:after { background-image: url( /static/img/bg_correct_double.png ); }
.cell_correct_full:after { background-image: url( /static/img/bg_correct.png ); }
.cell_mistake_full:after { background-image: url( /static/img/bg_mistake.png ); }

/* ---------------------------------------- */
/* spost
/* ---------------------------------------- */

.spost_area {
	border-top: 1px solid #eee;
}

.spost_box {
	padding: 10px 0;
	border-bottom: 1px solid #eee;
}
.spost_box.noborder {
	border-bottom: none;
}
.spost_box_icon_icon {
	width: 50px;
	height: 50px;
	-webkit-object-fit: contain;
	object-fit: contain;
	vertical-align: middle;
}
.spost_box_icon_icon.round {
	border-radius: 100px;
}
.spost_box_head {
	position: relative;
	display: flex;
	margin-bottom: 10px;
	padding-top: 13px;
}
.spost_box_head .namedot_out {
	max-width: 200px;
	margin-bottom: 7px;
}
.spost_box_name {
	font-size: 18px;
	font-weight: bold;
}
.spost_box_date {
	font-size: 14px;
	color: #666;
}
.spost_follow_btn01 {
	display: inline-block;
	width: 115px;
	padding: 8px 0;
	border-radius: 5px;
	border: 1px solid #28628c;
	text-align: center;
	text-decoration: none;
	background: #28628c;
	color: #fff;
}
.spost_follow_btn01:link,
.spost_follow_btn01:visited {
	color: #fff;
}
.spost_follow_btn01.on {
	background: #fff;
	color: #28628c;
}
.spost_follow_btn01:link.on,
.spost_follow_btn01:visited.on {
	color: #28628c;
}

/* 左余白あり */
.spost_area.leftmargin .spost_box_main,
.spost_area.leftmargin .spost_box_number,
.spost_area.leftmargin .spost_box_img_area,
.spost_area.leftmargin .spost_box_sns_area {
	padding-left: 60px;
}

/* マッチ詳細ページ用 */

.spost_box_number {
	color: #999;
}

/* 自分の返信 */
.spost_box.reply,
.spost_box.self {
	margin-left: 20px;
}
.spost_box.reply .spost_box_icon_icon,
.spost_box.self .spost_box_icon_icon {
	width: 40px;
	height: 40px;
}
.spost_box.reply .spost_box_head,
.spost_box.self .spost_box_head {
	margin-bottom: 2px;
	padding-top: 8px;
}
.spost_area.leftmargin .spost_box.reply .spost_box_main,
.spost_area.leftmargin .spost_box.reply .spost_box_img_area,
.spost_area.leftmargin .spost_box.reply .spost_box_sns_area,
.spost_area.leftmargin .spost_box.self .spost_box_main,
.spost_area.leftmargin .spost_box.self .spost_box_img_area,
.spost_area.leftmargin .spost_box.self .spost_box_sns_area {
	padding-left: 50px;
}
.arrow_reply {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 40px 75px 0 75px;
	border-color: #cccccc transparent transparent transparent;
}
.nice_tip {
	display: inline-block;
	padding: 5px 15px;
	border-radius: 6px;
	background: #28628c;
	color: #fff;
}
.nice_tip:link,
.nice_tip:visited {
	color: #fff;
}

/* popup menu */
.spost_box_popup_btn {
	display: inline-block;
	width: 30px;
	height: 30px;
	border-radius: 20px;
	font-size: 18px;
	line-height: 24px;
	font-weight: bold;
	text-align: center;
}
.spost_box_popup_btn:hover {
	background: #eee;
}
.spost_box_popup {
	position: absolute;
	top: 50px;
	right: 0;
	display: none;
	width: 270px;
	border: 1px solid #ccc;
	background: #fff;
	font-size: 14px;
	box-shadow: 5px 5px 5px rgba(0,0,0,0.5);
	z-index: 99;
}
.spost_box_popup ul li a {
	display: block;
	padding: 10px 10px;
}
.spost_box_popup ul li:first-child a {padding-top: 13px;}
.spost_box_popup ul li:last-child a {padding-bottom: 13px;}
.spost_box_popup ul li a:hover {
	background: #f6f6f6;
}
.spost_box_popup .namedot_out {
	max-width: 120px;
}
.spost_box_popup .a_delete,
.spost_box_popup .a_delete:link,
.spost_box_popup .a_delete:visited {
	color: #f00;
}

/* image area */
.spost_box_img_area {
}
.spost_box_img_area > ul {
	display: grid;
	grid-template-columns: 50% 50%;
	grid-template-rows: 50% 50%;
	grid-gap: 1px 1px;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	margin-left: auto;
	margin-right: auto;
	border-radius: 14px;
	overflow: hidden;
}
.spost_box_img_area > ul li {
	position: relative;
}
.spost_box_img_area > ul li:hover {
	cursor: pointer;
}
.spost_box_img {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}
.spost_box_img_area.img1 > ul li {
	grid-row: 1 / 3;
	grid-column: 1 / 3;
}
.spost_box_img_area.img2 > ul li img,
.spost_box_img_area.img2 > ul li canvas {
	aspect-ratio: 8 / 9;
}
.spost_box_img_area.img3 > ul li:first-child {
	grid-row: 1 / 3;
}
.spost_box_img_area.img3 > ul li:first-child img,
.spost_box_img_area.img3 > ul li:first-child canvas {
	aspect-ratio: 8 / 9;
}

/* post popup */
.spost_post_textarea {
	width: 100%;
	height: 130px;
	padding: 15px;
	border: 1px solid #ccc;
	border-radius: 10px;
}
.spost_post_textarea:focus::placeholder {
	color: transparent;
}
.common_modal_content .spost_box_img_area {
	max-width: 300px;
	margin-left: auto;
	margin-right: auto;
}
.common_modal_content .spost_box_img_area > ul li:hover {
	cursor: default;
}
input.spost_btn_select_image {
	width: 60px;
	height: 48px;
	background-size: 60px 48px;
}

/* 投稿欄の画像サムネイル領域 */
.spost_box_img_area.img_post > ul li {
}
.spost_img_delete {
	content: '';
	display: inline-block;
	position: absolute;
	top: 5px;
	left: 5px;
	width: 20px;
	height: 20px;
	background: url( /static/img/icon/icon_x_w40.png ) no-repeat;
	background-size: 20px 20px;
}
.spost_box_img_area.img_post > ul li:hover .spost_img_delete {
	cursor: pointer;
}

/* スポスト一覧の画像領域（右側） */

.spost_box_img_area_side {
	width: 150px;
}
.spost_box_img_area_side > ul {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	margin-left: auto;
	margin-right: auto;
	border-radius: 14px;
	overflow: hidden;
}

/* 予想リンク */
.spost_link_blue {
	color: #28628c !important;
}

/* keyword */
ul.keyword_list {
}
ul.keyword_list li {
	display: inline-block;
	margin-right: 2px;
	margin-bottom: 5px;
}
ul.keyword_list li a {
	display: inline-block;
	padding: 3px 10px;
	border: 1px solid #ccc;
	border-radius: 40px;
	background: #fff;
	font-size: 14px;
}

/* nice_user */
.spost_nice_user {
	padding-top: 15px;
	border-bottom: 1px solid #ccc;
}
.spost_nice_user_main {
	margin-left: 55px;
}

/* responsive */
@media screen and (max-width: 767px) {
	.spost_box_head { padding-top: 3px; }
}

/* spost_box_snippet（リンク先情報欄） */

.spost_box_snippet {
	display: block;
	border: 1px solid #ccc;
	border-radius: 10px;
	overflow: hidden;
}
.spost_box_snippet_img_area {
}
.spost_box_snippet_img_area img {
	width: 100%;
	height: 350px;
	object-fit: cover;
}
.spost_box_snippet_body {
	padding: 10px;
}
.spost_box_snippet_url {
	margin-bottom: 5px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	overflow: hidden;
	color: #999;
	font-size: 14px;
}
.spost_box_snippet_title {
	margin-bottom: 5px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	overflow: hidden;
}
.spost_box_snippet_text {
	color: #777;
	line-height: 1.3;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}
@media screen and (max-width: 767px) {
	.spost_box_snippet_img_area img { height: 220px; }
	.spost_box_snippet_title { margin-bottom: 0; -webkit-line-clamp: 2; }
	.spost_box_snippet_text { display: none; }
}

#spost_form #drop_zone {
	border: 2px dashed #bbb;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	text-align: center;
	color: #bbb;
	width: 240px;
	height: 48px;
	line-height: 48px;
}

.spostimage label input {
	display: none;
}

.spost_post_outer {
	border: 1px solid #ddd;
	padding: 10px;
}

.spost_post_textarea2 {
	width: 100%;
	height: 130px;
	padding: 0 5px 0 0;
	border: none;
	border-radius: 10px;
}
.spost_post_textarea2:focus {
	border: none;
	outline: none;
}
.spost_post_textarea2:focus::placeholder {
	color: transparent;
}

button.btn_make_spost {
	position: relative;
	-webkit-appearance: none;
	appearance: none;
	display: inline-block;
	width: 150px;
	padding: 8px 10px 8px 40px;
	border: none;
	border-radius: 6px;
	background: #28628c;
	color: #fff;
	font-weight: bold;
	font-size: 14px;
	text-align: left;
}
button.btn_make_spost:before {
	content: '';
	position: absolute;
	top: 6px;
	left: 16px;
	width: 22px;
	height: 22px;
	background: url( /static/img/icon/icon_write_white.png ) no-repeat;
	background-size: 100% 100%;
}

/* ---------------------------------------- */
/* 最新マッチ
/* ---------------------------------------- */

.btn_view_match {
	display: inline-block;
	position: relative;
	width: 76px;
	padding: 34px 0 3px 0;
	border: 1px solid #b49a4c;
	border-radius: 6px;
	font-size: 11px;
	line-height: 1.1;
	color: #c2a95d;
	text-align: center;
}
.btn_view_match:link,
.btn_view_match:visited {
	color: #b49a4c;
}
.btn_view_match:before {
	content: '';
	position: absolute;
	top: 4px;
	left: calc( 50% - 14px );
	width: 28px;
	height: 27px;
	background: url( /static/img/icon/icon_list_gold.png ) no-repeat;
	background-size: 100%;
}
.btn_view_match.icon_racket:before {
	background-image: url( /static/img/icon/icon_racket.png );
}

.btn_vote_match {
	display: inline-block;
	position: relative;
	width: 76px;
	padding: 34px 0 3px 0;
	border: 1px solid #b49a4c;
	border-radius: 6px;
	font-size: 11px;
	line-height: 1.1;
	color: #c2a95d;
	text-align: center;
}
.btn_vote_match:link,
.btn_vote_match:visited {
	color: #b49a4c;
}
.btn_vote_match:before {
	content: '';
	position: absolute;
	top: 4px;
	left: calc( 50% - 14px );
	width: 28px;
	height: 27px;
	background: url( /static/img/icon/icon_vote2b_gold.png ) no-repeat;
	background-size: 100%;
}
.btn_vote_match.off {
	border-color: #ccc;
	color: #999;
}
.btn_vote_match.off:before {
	background-image: url( /static/img/icon/icon_vote2_gray.png );
	background-size: 100%;
}
.btn_vote_match.off_blue {
	border-color: #ccc;
	color: #999;
}
.btn_vote_match.off_blue:before {
	background-image: url( /static/img/icon/icon_vote2_blue.png );
	background-size: 100%;
}

.btn_change_line {
	display: inline-block;
	position: relative;
	width: 84px;
	padding: 34px 0 3px 0;
	border: 1px solid #28628c;
	border-radius: 6px;
	font-size: 11px;
	line-height: 1.1;
	color: #28628c;
	text-align: center;
}
.btn_change_line:link,
.btn_change_line:visited {
	color: #28628c;
}
.btn_change_line:before {
	content: '';
	position: absolute;
	top: 4px;
	left: calc( 50% - 14px );
	width: 28px;
	height: 27px;
	background: url( /static/img/icon/icon_twoway_blue.png ) no-repeat;
	background-size: 100%;
}

.match_box_side {
}
.match_box_side.top_space {
	padding-top: 70px;
}
.match_box_center {
	width: 30%;
	min-width: 104px;
}

.player_box2 {
	display: flex;
	width: 130px;
}
.player_icon {
	width: 50px;
	height: 50px;
	-webkit-object-fit: cover;
	object-fit: cover;
	vertical-align: middle;
}
@media screen and (max-width: 320px) {
	.match_box_center {min-width:90px;}
	.player_box2 {width:100px;}
	.player_box2 .player_icon {width: 20px;height: 20px;}
}

.box_score {
	display: inline-block;
	width: 36px;
	height: 36px;
	padding-top: 5px;
	border: 1px solid #ccc;
	background: #fff;
	text-align: center;
	font-size: 16px;
}

/* スケジュール */

.schedule_select {
	display: flex;
	max-width: 500px;
}
.schedule_select a {
	display: block;
	width: 10%;
	margin:0;
	padding:0;
}
.schedule_select a img {
	width: 100%;
}
.schedule_select.gender a {
	width: 9%;
}
.schedule_select a.not_selected img {
	opacity: 0.5;
}

.schedule_select_month a {
	display: inline-block;
	width: 54px;
	padding: 4px 0;
	border: 1px solid #ccc;
	border-radius: 6px;
	background: #eee;
	color: #333;
	font-size: 15px;
	text-align: center;
	margin-bottom: 10px;
}
.schedule_select_month a:link,
.schedule_select_month a:visited {
	color: #333;
}
.schedule_select_month a.selected {
	background: #28628c;
	color: #fff;
}

/* 応援席 */

.seat_area {
	width: 50%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}
.seat_area.area1,
.seat_area.area2 {
	padding: 5px;
	padding-left: 8px;
}
.seat_area.area1 {
	border-right: 1px solid #fff;
	background: #8cf;
}
.seat_area.area2 {
	border-left: 1px solid #fff;
	background: #fd8;
}
.seat_area.area1.height_auto,
.seat_area.area2.height_auto {
	aspect-ratio: initial;
}
.seat_area_user {
	width: 24px;
	height: 24px;
}
.seat_area_user img {
	width: 24px;
	height: 24px;
	-webkit-object-fit: contain;
	object-fit: contain;
	vertical-align: middle;
}
@media screen and (max-width: 767px) {
	.seat_area {
		aspect-ratio: 16 / 8.6;
	}
	.seat_area_user,
	.seat_area_user img {
		width: 20px;
		height: 20px;
	}
}

/* チーム */

.team_box {
	display: flex;
	align-items: center;
	margin-bottom: 10px;
	padding: 10px;
	border: 1px solid #ccc;
}
.team_box_icon {
	margin-right: 10px;
}
.team_box_icon img {
	width: 60px;
	height: 60px;
}
.team_box_main {
	flex: 1;
}
.team_box_name {
	margin-bottom: 5px;
	padding-top: 10px;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.1;
}
.team_box_area {
	font-size: 15px;
}
@media screen and (max-width: 767px) {
	.team_box {
		padding: 10px 3px;
	}
	.team_box_icon {
		margin-right: 3px;
	}
	.team_box_icon img {
		width: 40px;
		height: 40px;
	}
	.team_box_name {
		margin-bottom: 3px;
		padding-top: 7px;
		font-size: 16px;
	}
	.team_box_area {
		font-size: 13px;
	}
}

ul.team_player_list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	column-gap: 5px;
	row-gap: 10px;
}

ul.team_player_list li {
}

ul.team_player_list li a {
	position: relative;
	display: block;
}
ul.team_player_list li a .team_player_list_flag {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 50px;
	height: 34px;
	padding: 0 3px;
	background: #215f9a;
	clip-path: polygon(0 0, 100% 0, 0 100%);
	text-align: left;
	font-size: 13px;
	color: #fff;
}
ul.team_player_list li a .team_player_list_flag .star {
	color: #ff0;
}

.team_player_list_imgage {
	margin-bottom: 3px;
	border: 1px solid #ccc;
	text-align: center;
}
.team_player_list_imgage img {
	width: 100%;
	max-width: 120px;
	aspect-ratio: 1 / 1;
	object-fit: contain;
}

.team_player_list_name {
	font-size: 15px;
	color: #666;
	text-align: left;
	line-height: 1.3;
}
@media screen and (min-width: 767px) {
	.team_player_list_name { text-align: center; }
}
.team_player_list_name br.name_br {
	display: none;
}
@media screen and (max-width: 470px) {
	.team_player_list_name br.name_br { display: inline; }
}

/* 選手ページ */

.find_input {
	appearance: none;
	width: 100%;
	padding: 10px;
	border: 1px solid #ccc;
	border-radius: 10px;
}
.find_input:focus::placeholder {
	color: transparent;
}

.unumber {
	display: inline-block;
	width: 50px;
	padding: 5px 10px;
	border: 1px solid #fff;
	text-align: center;
}

ul.player_detail_prof {
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
}
ul.player_detail_prof li {
	width: 45%;
	margin: 0 5px 10px 5px;
	white-space: nowrap;
	border-bottom: 1px solid #333;
}
@media screen and (max-width: 767px) {
	ul.player_detail_prof li {
		width: 100%;
		margin-right: 0;
	}
}

.player_detail_photo {
	width: 60px;
	height: 60px;
}
.player_detail_photo img {
	width: 60px;
	height: 60px;
	object-fit: cover;
}

ul.photo_spost_list {
	display: flex;
	flex-wrap: wrap;
}
ul.photo_spost_list li {
	width: calc( ( 100% - 18px) / 3 );
	aspect-ratio: 1 / 1;
	border: 1px solid #ccc;
	margin: 3px;
}
ul.photo_spost_list li a {
	display: inline-block;
	width: 100%;
	height: 100%;
}
ul.photo_spost_list li a img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.photo_image {
	width: 100%;
}

/* ---------------------------------------- */
/* プレーオフ
/* ---------------------------------------- */

.final_count_box {
	position: relative;
	display: inline-block;
	width: 100px;
	height: 80px;
	border: 1px solid #bbb;
	border-radius: 8px;
	text-align: center;
	background-position: center center;
	background-size: 80px 80px;
}
.final_count_box .bg_normal {
	height: 78px;
	padding-top: 15px;
	border-radius: 8px;
    background-color: rgba(255, 255, 255, 0.85);
	background-repeat: no-repeat;
}
.final_count_box .bg_voted {
	height: 78px;
	padding-top: 15px;
	border-radius: 8px;
    background-color: rgba(153, 224, 255, 0.85);
	background-repeat: no-repeat;
}
.final_count_box.bg_logo_1 {background-image: url( /static/img/team/tleague_logo_1.png );}
.final_count_box.bg_logo_2 {background-image: url( /static/img/team/tleague_logo_2.png );}
.final_count_box.bg_logo_3 {background-image: url( /static/img/team/tleague_logo_3.png );}
.final_count_box.bg_logo_4 {background-image: url( /static/img/team/tleague_logo_4.png );}
.final_count_box.bg_logo_5 {background-image: url( /static/img/team/tleague_logo_5.png );}
.final_count_box.bg_logo_6 {background-image: url( /static/img/team/tleague_logo_6.png );}
.final_count_box.bg_logo_7 {background-image: url( /static/img/team/tleague_logo_7.png );}
.final_count_box.bg_logo_8 {background-image: url( /static/img/team/tleague_logo_8.png );}
.final_count_box.bg_logo_9 {background-image: url( /static/img/team/tleague_logo_9.png );}
.final_count_box.bg_logo_10 {background-image: url( /static/img/team/tleague_logo_10.png );}
.final_count_box.bg_logo_11 {background-image: url( /static/img/team/tleague_logo_11.png );}
.final_count_box.bg_logo_12 {background-image: url( /static/img/team/tleague_logo_12.png );}
.final_count_box.bg_logo_unknown {background:#ccc;}

.final_count_count {
	font-size: 20px;
	font-weight: bold;
}

.final_count_odds {
	font-size: 14px;
	font-weight: bold;
}

.final_count_box .correct,
.final_count_box .mistake {
	position: absolute;
	top: -20px;
	left: -10px;
	width: 120px;
	height: 120px;
	background-size: 120px 120px;
	background-repeat: no-repeat;
	opacity: 0.75;
	z-index: 10;
}
.final_count_box .correct { background-image: url( /static/img/bg_correct.png?20230713 ); }
.final_count_box .mistake { background-image: url( /static/img/bg_mistake.png ); }

.final_ranking_table {}
.final_ranking_table td.correct_double,
.final_ranking_table td.correct,
.final_ranking_table td.mistake {
	position: relative;
}
.final_ranking_table td.correct_double:before,
.final_ranking_table td.correct:before,
.final_ranking_table td.mistake:before {
	position: absolute;
	top: calc( 50% - 33px );
	left: calc( 50% - 33px );
	content: '';
	display: inline-block;
	width: 66px;
	height: 66px;
	background-size: 100%;
	opacity: 0.75;
}
.final_ranking_table td.correct_double:before { background-image: url( /static/img/bg_correct_double.png ); }
.final_ranking_table td.correct:before { background-image: url( /static/img/bg_correct.png?20230713 ); }
.final_ranking_table td.mistake:before { background-image: url( /static/img/bg_mistake.png ); }

/* ---------------------------------------- */
/* お知らせ
/* ---------------------------------------- */

.tlg_info_box {
	display: flex;
	margin-bottom: 10px;
	padding: 0 5px 10px 5px;
	border-bottom: 1px solid #ccc;
}

.tlg_info_box_icon {
	width: 86px;
	margin-right: 5px;
}
.tlg_info_box_body {
	flex: 1;
}
.tlg_info_box_head {
	padding-top: 3px;
	font-size: 14px;
	font-weight: bold;
}
.tlg_info_box_date {
	margin-top: 5px;
	text-align: right;
	font-size: 13px;
}

.tlg_info_icon {
	display: inline-block;
	width: 86px;
	padding: 6px 0;
	border-radius: 4px;
	background: #28628c;
	text-align: center;
	font-size: 11px;
	font-weight: bold;
	color: #fff;
	line-height: 1;
}

/* ==========================================================================
   stadium
   ========================================================================== */

.ranking_result_container {
	display: flex;
	width: 120px;
	margin-left: auto;
	margin-right: auto;
}
.ranking_result_container .cell01,
.ranking_result_container .cell02,
.ranking_result_container .cell03 { text-align: right; }
.ranking_result_container .cell01 { width: 40px; }
.ranking_result_container .cell02 { width: 40px; }
.ranking_result_container .cell03 { width: 40px; }

.btn_vote {
	display: inline-block;
	width: 120px;
	padding: 5px 3px 5px 37px;
	border: 1px solid #b49a4c;
	border-radius: 6px;
	text-align: center;
	color: #b49a4c;
	background: url( /static/img/icon/icon_vote2_gold.png ) no-repeat;
	background-size: 26px 24px;
	background-position: 8px 5px;
}
.btn_vote:link,
.btn_vote:visited { color: #b49a4c; }
.btn_vote.closed {
	color: #28628c;
	border-color: #ccc;
	background-image: url( /static/img/icon/icon_vote2_blue.png );
}
.btn_vote.closed:link,
.btn_vote.closed:visited { color: #28628c; }

.btn_vote_type02 {
	position: relative;
	appearance: none;
	display: flex;
	align-items: center;
	padding: 8px 40px;
	border: none;
	border-radius: 6px;
	background: #28628c;
	color: #fff;
	text-align: center;
	font-size: 15px;
	font-weight: bold;
}
.btn_vote_type02:before {
	content: '';
	display: inline-block;
	width: 28px;
	height: 28px;
	margin-right: 4px;
	background: url( /static/img/icon/icon_vote2_white.png ) no-repeat;
	background-size: 100% 100%;
}

/* 投票ページ 試合スライド */

.stadium_vote_slide {
	position: relative;
	max-width: 620px;
	padding-top: 0;
	user-select: none;
}

.stadium_vote_slide .swiper-button-prev,
.stadium_vote_slide .swiper-button-next {
	top: 170px;
	color: #ccc;
}
.stadium_vote_slide .swiper-button-prev:after,
.stadium_vote_slide .swiper-button-next:after {
	font-size: 24px;
}
.stadium_vote_slide .swiper-button-prev { left: 2px; }
.stadium_vote_slide .swiper-button-next { right: 2px; }

.stadium_viewgame_set_box {
	display: flex;
	align-items: center;
	width: 114px;
	margin-left: auto;
	margin-right: auto;
}
.stadium_viewgame_set_box .cell1,
.stadium_viewgame_set_box .cell3 { width: 30px; font-weight: bold; font-size: 22px; text-align: center; }
.stadium_viewgame_set_box .cell2 { width: 54px; padding-top: 2px; font-size: 13px; text-align: right; color: #999; }

/* Myページ・Myスタ */

.btn_my_edit_prof {
	position: relative;
	display: flex;
	padding: 4px;
	border: 1px solid #28628c;
	border-radius: 4px;
	background: #fff;
	color: #28628c;
	font-weight: bold;
}
.btn_my_edit_prof:before {
	content: '';
	display: inline-block;
	width: 22px;
	height: 22px;
	background: url( /static/img/icon/icon_person_gold.png ) no-repeat;
	background-size: 100%;
}
.btn_my_edit_prof:link,
.btn_my_edit_prof:visited { color: #28628c; }

.btn_mystadium {
	position: relative;
	display: flex;
	padding: 4px;
	border: 1px solid #28628c;
	border-radius: 4px;
	background: #28628c;
	color: #fff;
	font-weight: bold;
}
.btn_mystadium:before {
	content: '';
	display: inline-block;
	width: 22px;
	height: 22px;
	margin-right: 10px;
	background: url( /static/img/icon/icon_stadium_gold.png ) no-repeat;
	background-size: 100%;
}
.btn_mystadium:link,
.btn_mystadium:visited { color: #fff; }

.btn_mypage {
	position: relative;
	display: flex;
	padding: 4px;
	border: 1px solid #28628c;
	border-radius: 4px;
	background: #28628c;
	color: #fff;
	font-weight: bold;
}
.btn_mypage:before {
	content: '';
	display: inline-block;
	width: 22px;
	height: 22px;
	margin-right: 2px;
	background: url( /static/img/icon/icon_person_gold.png ) no-repeat;
	background-size: 100%;
}
.btn_mypage:link,
.btn_mypage:visited { color: #fff; }

.my_user_icon {
	width: 40px;
	height: 40px;
	-webkit-object-fit: contain;
	object-fit: contain;
	vertical-align: middle;
	border-radius: 100px;
}

.mystadium_nice_table {
	max-width: 550px;
}
.mystadium_nice_table th.cell1 { width: 120px; }
.mystadium_nice_table th.cell2 { width: 180px; }
.mystadium_nice_table th.cell3 { width: auto; }
.mystadium_nice_table .cell3_box { width: 155px; }
@media screen and (max-width: 430px) {
	.mystadium_nice_table { max-width: 430px; }
	.mystadium_nice_table th.cell1 { width: 74px; }
	.mystadium_nice_table th.cell2 { width: 140px; }
	.mystadium_nice_table th.cell3 { width: auto; }
}

/* ==========================================================================
   麻雀
   ========================================================================== */

.mj_table_ranking {
	position: relative;
}
.mj_table_ranking:before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 40px;
	height: 40px;
	padding: 2px 5px;
	background: #ccc;
	clip-path: polygon(0 0, 100% 0, 0 100%);
	text-align: left;
	font-size: 16px;
	color: #fff;
	font-weight: bold;
	z-index: 100;
}
.mj_table_ranking.rank1:before { content:'1'; background: #c00; }
.mj_table_ranking.rank2:before { content:'2'; background: #07c; }
.mj_table_ranking.rank3:before { content:'3'; background: #0b5; }
.mj_table_ranking.rank4:before { content:'4'; background: #aaa; }

.btn_mj_vote_type_a,
.btn_mj_vote_type_b {
	display: inline-block;
	width: 124px;
	padding: 4px 5px;
	border: 1px solid #28628c;
	border-radius: 4px;
	background: #fff;
	font-size: 14px;
	font-weight: bold;
	text-align: center;
	color: #28628c;
	cursor: pointer;
}
.btn_mj_vote_type_a.selected,
.btn_mj_vote_type_b.selected {
	background: #0d6efd;
	color: #fff;
}

.select_mj_vote_01 {
	height: 31px;
	line-height: 31px;
	font-size: 14px;
	outline: none;
}

.btn_mj_vote_data {
	position: relative;
	display: inline-block;
	padding: 4px 4px 4px 24px;
	border: 1px solid #c1a965;
	border-radius: 4px;
	background: #fff;
	font-size: 14px;
	font-weight: bold;
	text-align: center;
	color: #666;
	cursor: pointer;
}
.btn_mj_vote_data:before {
	position: absolute;
	content: '';
	display: inline-block;
	width: 18px;
	height: 18px;
	top: 6px;
	left: 4px;
	background: url( /static/img/icon/icon_data2_gold.png ) no-repeat;
	background-size: 100% 100%;
}

ul.vote_toggle_gender {
	display: flex;
}
ul.vote_toggle_gender li {
	width: 50%;
	padding: 2px;
}
ul.vote_toggle_gender li a {
	display: block;
	width: 100%;
	padding: 10px 0;
	border: 1px solid #ccc;
	border-radius: 4px;
	text-align: center;
	font-size: 15px;
	font-weight: bold;
}
ul.vote_toggle_gender li.selected a {
	cursor: default;
	pointer-events: none;
}
ul.vote_toggle_gender li.men a { color: #28628c; }
ul.vote_toggle_gender li.women a { color: #c0c; }
ul.vote_toggle_gender li.men.selected a { color: #fff; background: #0d6efd; border-color: #0d6efd; }
ul.vote_toggle_gender li.women.selected a { color: #fff; background: #f6f; border-color: #f6f; }

.vote_date_box {
	display: flex;
	padding: 5px;
	border: 1px solid #ccc;
	color: #666;
}
.vote_date_box .flex1 { flex: 1; }
.vote_date_box .cl_blue { color: #28628c; }

.vote_table_cell_novote {
	position: relative;
}
.vote_table_cell_novote:after {
	content: '予想未登録';
	position: absolute;
	right: 0;
	display: block;
	width: calc( 100% - 50px );
	height: auto;
	margin-top: 25px;
	text-align: center;
	font-size: 20px;
	color: #28d;
	text-shadow: 
		#fff 2px 0px 2px, #fff -2px 0px 2px,
		#fff 0px -2px 2px, #fff 0px 2px 2px,
		#fff 2px 2px 2px, #fff -2px 2px 2px,
		#fff 2px -2px 2px, #fff -2px -2px 2px,
		#fff 1px 2px 2px, #fff -1px 2px 2px,
		#fff 1px -2px 2px, #fff -1px -2px 2px,
		#fff 2px 1px 2px, #fff -2px 1px 2px,
		#fff 2px -1px 2px, #fff -2px -1px 2px,
		#fff 1px 1px 2px, #fff -1px 1px 2px,
		#fff 1px -1px 2px, #fff -1px -1px 2px;
}

/* 投票 表A（通常選択） */

.mj_vote_table_a {
}

.mj_vote_table_a label.player_cell {
	position: relative;
	display: block;
	inset: 0;
	cursor: pointer;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}
.mj_vote_table_a label.player_cell img {
	width: 60px;
	height: 60px;
	object-fit: contain;
}
.mj_vote_table_a label.player_cell .player_cell_check {
	display: none;
}

.mj_vote_table_a label.player_cell span.cell_mask {
	content: '';
	position: absolute;
	inset: 0;
	background: none;
}
.mj_vote_table_a label.player_cell.cell_hidden span.cell_mask {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.4);
}
.mj_vote_table_a label.player_cell .player_cell_check:checked ~ span.cell_mask {
	background: none;
}
.mj_vote_table_a label.player_cell .player_cell_check:checked ~ span.cell_mask:before {
	content: '';
	position: absolute;
	top: calc( 50% - 29px );
	left:  calc( 50% - 29px );
	width: 58px;
	height: 58px;
	background-image: url( /static/img/bg_correct.png );
	background-size: 58px 58px;
	background-repeat: no-repeat;
	opacity: 0.75;
}

/* 投票 表B（ボーナスPで選択） */

.mj_vote_table_b_outer {
	height: 280px;
	overflow-x: hidden;
	overflow-y: scroll;
}

.mj_vote_table_b {
}

.mj_vote_table_b tr:has(input) {
	cursor: pointer;
}
.mj_vote_table_b tr.selected {
	background: #cfedfb;
}

.mj_vote_table_b .td_player_img img {
	width: 50px;
	height: 50px;
	object-fit: contain;
}
.mj_vote_table_b tr.selected .td_player_img img {
	opacity: 0.7;
}

label.mj_vote_table_b_radio {
	position: relative;
	display: inline-block;
    width: 24px;
	height: 24px;
    border: 1px solid #999;
    border-radius: 50%;
}
label.mj_vote_table_b_radio input[type="radio"] {
	display: none;
}
label.mj_vote_table_b_radio:has(input[type="radio"]:checked):after {
	content: '';
	display: block;
	position: absolute;
	top: 4px;
	left: 4px;
	width: 14px;
	height: 14px;
	background: #333;
	border-radius: 50%;
}

.vote_icon_hidden {
	display: inline-block;
	padding: 8px;
	border-radius: 6px;
	background: #2c86c7;
	color: #fff;
}

/* 投票ページポップアップ */

.mj_vote_popup_table .fixed_cell:before {
	left: -1px !important;
	border-right: none !important;
}

.mj_vote_popup_table td.cell_high {
	background: #fcc;
}

/* 大会日程ページ表 */

.mj_schedule_table {
}

.mj_schedule_table td.title_cell {
	border-bottom: 2px solid #ccc;
	z-index: 200 !important;
}

.mj_schedule_table tr.bottom_row td {
	border-bottom: 2px solid #ccc;
}

.mj_schedule_table tr.bg_off td {
	background: #eee;
}

/* ランキング表 */

.mj_ranking_hit_box {
	display: flex;
	width: 80px;
}
.mj_ranking_hit_box .cell1 { width: 25px; font-weight: bold; }
.mj_ranking_hit_box .cell2 { width: 55px; }

/* 最高位戦 */

.btn_mj_data {
	position: relative;
	appearance: none;
	display: inline-block;
	width: 46px;
	padding: 34px 0 4px 0;
	border: none;
	background: none;
	text-align: center;
	font-size: 12px;
	line-height: 1.1;
}
.btn_mj_data:before {
	content: '';
	display: block;
	position: absolute;
	top: 6px;
	left: calc( 50% - 12px );
	width: 24px;
	height: 24px;
	background: url( /static/img/icon/icon_data2_gold.png ) no-repeat;
	background-size: 100%;
}

.btn_mj_vote_status {
	position: relative;
	display: inline-block;
	width: 50px;
	padding: 32px 0 4px 0;
	border: none;
	border-radius: 6px;
	background: #28628c;
	text-align: center;
	font-size: 12px;
	line-height: 1.1;
	color: #fff;
}
.btn_mj_vote_status:before {
	content: '';
	display: block;
	position: absolute;
	top: 0px;
	left: calc( 50% - 17px );
	width: 34px;
	height: 34px;
	background: url( /static/img/icon/icon_vote2_white.png ) no-repeat;
	background-size: 100%;
}
.btn_mj_vote_status:link,
.btn_mj_vote_status:visited {
	color: #fff;
}
.btn_mj_vote_status.closed {
	background: #ccc;
}

.icon_mj_league {
	display: inline-block;
	width: 42px;
	padding: 2px 0 1px 0;
	border-radius: 6px;
	text-align: center;
	font-size: 12px;
	font-weight: bold;
	background: #ccc;
	color: #fff;
}
.icon_mj_league.league_a { background:#c00000; }
.icon_mj_league.league_b { background:#0070c0; }
.icon_mj_league.league_c { background:#00b050; }

.icon_mj_league_large {
	display: inline-block;
	width: 52px;
	padding: 2px 0 1px 0;
	border-radius: 6px;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	background: #ccc;
	color: #fff;
}
.icon_mj_league_large.league_a { background:#c00000; }
.icon_mj_league_large.league_b { background:#0070c0; }
.icon_mj_league_large.league_c { background:#00b050; }

/* 選手ページ */

.btn_mj_fav {
	position: relative;
	display: inline-block;
	width: 40px;
	height: 32px;
	padding: 0;
	border-radius: 5px;
	border: 1px solid #ddd;
	background: #ddd;
	font-size: 11px;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	line-height: 1;
	box-sizing: border-box;
}
.btn_mj_fav,
.btn_mj_fav:link,
.btn_mj_fav:visited { color: #f91; }
.btn_mj_fav:before {
	display: inline-block;
	content: '';
	position: absolute;
	top: 3px;
	left: calc( 50% - 9px );
	width: 18px;
	height: 18px;
	margin-right: 2px;
	background: url( /common/img/sp/icn/prof_star_white.png ) no-repeat;
	background-size: 100%;
	transform: translateY( 2px );
}
.btn_mj_fav.added {
	background: #fff;
}
.btn_mj_fav.added:before {
	background: url( /common/img/sp/icn/prof_star_yellow.png ) no-repeat;
	background-size: 100%;
	transform: translateY( 2px );
}

.mj_table_player_prof {
	width: 100%;
}
.mj_table_player_prof th,
.mj_table_player_prof td {
	padding-top: 4px;
	padding-bottom: 4px;
	text-align: left;
	border-bottom: 1px solid #ccc;
}
.mj_table_player_prof th {
	padding-left: 5px;
}

.btn_mj_chart {
	position: relative;
	appearance: none;
	display: flex;
	align-items: center;
	padding: 4px 10px;
	border: none;
	border-radius: 6px;
	background: #28628c;
	color: #fff;
	text-align: center;
	font-size: 15px;
	font-weight: bold;
}
.btn_mj_chart:before {
	content: '';
	display: inline-block;
	width: 28px;
	height: 28px;
	margin-right: 4px;
	background: url( /static/img/icon/icon_vote2_white.png ) no-repeat;
	background-size: 100% 100%;
}
.btn_mj_chart span.num {
	display: inline-block;
	margin-left: 3px;
	padding-top: 2px;
	font-size: 13px;
	font-weight: normal;
}
@media screen and (max-width: 410px) {
	.btn_mj_chart { padding: 8px 10px; }
	.btn_mj_chart:before { display: none; }
}

.mj_common_title {
	font-size: 20px;
	font-weight: bold;
	color: #28628c;
}

