
@charset "utf-8";

/* ----------- カスタムプロパティ ----------- */
:root {
	--color-header: #9cf;
    --color-button-text: black;
    --color-button-background: #cef;
    --color-button-border: #9cf;
    --color-button-hover-text: black;
    --color-button-hover-background: linear-gradient(to top, #cef 0%, #eff 100%);

/*
	--color-header: #81c300;
	--color-button-text: black;
	--color-button-background: #ad4;
	--color-button-border: #81c300;

	--color-button-hover-text: black;
	--color-button-hover-background: linear-gradient(to top, #8c0 0%, #cea 100%);

/*
	--color-button-text: black;
	--color-button-background: #fc6;
	--color-button-border: #fa0;

	--color-button-hover-text: #320
	--color-button-hover-background: linear-gradient(to top, #fda 0%, #fec 100%);
*/

/*
	--color-body: #000;
	--color-dark: #808080;
	--color-green: #009A3C;
	--color-light-green: #81C300;
	--color-bg-light-green: #f0f5d1;
	--color-bg-light-gray: #eee;
	--color-bg-yellow: #f1f4d4;
	--color-bg-green: #d1e8b3;
	--color-bg-orange: #fee8c7;
	--color-bg-blue: #cae3ff;
	--color-brown: #A27043;
	--color-red: #cd001d;
	--color-blue: #0d6efd;
	--color-orange: #f15a24;
	--color-light-blue: #5db1f5;
	--color-pink: #ff8cbc;
*/
}

/* ----------- 初期設定 ----------- */
*{
  box-sizing: border-box;
}

html, body, div, span, h1, h2, h3, h4, h5, h6, p, blockquote,
a, address, img, dl, dt, dd, ol, ul, li, form, label, table, tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
    line-height: 1.2;
    font-weight: normal;
    font-style: normal;
    text-decoration: none;
/*	font-family: "MS UI Gothic","MS Pｺﾞｼｯｸ","メイリオ","Meiryo";	*/
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
}

body {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    width: auto;
/*	background: url(../img/back.png) repeat-x; */
}

a {
    color: #333333;
    text-decoration: underline;
}

a:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha( opacity=70 )";
    color: blue;
}

.clear {
    clear: both;
}

/* ----------- clearfixの設定 ----------- */
.clearfix:after {
    content: url(clearfix.gif);
    display: block;
    clear: both;
    height: 0;
}

.clearfix {
    display: inline-block;
}

.clearfix {
    display: block;
}
/* ---------- /clearfixの設定 ----------- */

/* ----------- outline,header ----------- */

.width_limit {
	max-width: 1200px;
	margin: 0 auto;
/*	box-sizing: border-box;	*/
/*	padding: 0 10px;	*/
}

.width_limit_left {
	max-width: calc(1200px - 305px);
}

/* snsシェアボタン */

.sns-share-buttons {
	width: 100%;
/*	max-width: 1200px;	*/
	margin: 2px auto 0;
    padding: 8px 2px 2px 2px;
	background-color: white;
	text-align: left;
	vertical-align: top;
}

.sns-share-buttons li {
	display: inline-block;
	vertical-align: top;
	line-height: 0;
	margin-right: 2px;
}

.fb-like {
	margin-left: -1em;
    width: 7em;
}

#count {
    text-align: right;
    padding-right: 8px;
    background-color: #ffffff;
	white-space: nowrap;
	float: right;
}

#count img.noPrint {
    background: #ffffff;
    vertical-align: text-top;
}
@media only screen and (max-width:768px) {
	.sns-share-buttons {
		width: 100vw;
		margin: 0;
	    padding: 0;
	}
	#head_social {
		max-width: 987px;
	    width: 100vw;
	}
	#count {
		/* width: auto; */
		/* float: none; */
	}
}

/* SNSアイコン */
.sns_icon {
	text-decoration: none;
}

.sns_icon img {
	width: 80px;
}

#outline {
	width: 100%;
	/* max-width: 1200px; */
	/* border: solid 1px #000; */
    border: none;
    background-position: bottom;
    background-color: #fff;
    /* margin: 0 auto; */
    margin-bottom: 2px;
	padding: 0 0.5%;
}
@media only screen and (max-width:768px) {
	#outline {
		max-width: calc(768px - 2vw);
	    width: 98vw;
	    border: none;
	}
}

#header {
	overflow: hidden;
	clear: both;
	backgroud-color: white;
}

#header .image_box {
	position: relative;
	overflow: hidden;
	max-height: 180px;
	max-width: 1200px;
    margin: 0 auto;
    background-image: url(../img/head-back2025.png);
	background-size: 100% auto;
	background-repeat: no-repeat;
/*	background-position: center 0px;	*/
	background-position: center center;
}

#header .text_box {
	color: #fff;
	background-color: var(--color-header);
	width: 100%;
	height: auto;
	display: block;
}
#header .text {
	width: 100%;
/*	max-width: 1200px;	*/
	height: auto;
	display: block;
	overflow: hidden;
	margin: 0 auto;
}
#header .text1, #header .text2 {
	transform: rotate(0.05deg);	/* わざと傾けてフォントを滑らかにする */
    padding: 2px 32px 2px 10px;
}
#header .text1 a, #header .text2 {
	font-size: 19px;
}
#header .text1 {
	float: left;
}
#header .text1 a {
    text-decoration: none;
    color: #fff;
}
#header .text2 {
	float: right;
}
#header .image {
	display: block;
	width: 100%;
/*	max-width: 1200px;	*/
	height: auto;
	top: 0;
	left: 0;
    background-image: url(../img/back2025.png);
    background-size: 640px auto;
    background-repeat: no-repeat;
    background-position: center center;
    height: 180px;
    margin: 0 auto;
}
@media only screen and (max-width:768px) {
	#header .light_box {
	    height: calc(100vw / 640 * 170);
	}
	#header .light {
	    background-size: auto calc(100vw / 640 * 256);
	    background-position: 0 8vw;
	}
	#header .text1 {
	    padding: 4px;
	}
	#header .text2 {
	    padding: 6px 4px 0px 4px;
	}
	#header .text1 a, #header .text2 {
	    font-size: 12px;
	    font-weight: bold;
		min-height: 20px;
	}
	#header .image {
	    height: auto;
		aspect-ratio: 4.5;
	    background-size: 90vw;
	}
	@keyframes flowCloud {
	    0%    { background-position: 0 2vw; }
	    100%  { background-position: 100vw 2vw; }
	}
}

#head {
    margin: 55px 0 0 0;
    padding: 0 0 0 85px;
    text-align: left;
}

#movie_title {
    padding: 2px 0;
    text-align: center;
}

/*@media only screen and (min-width:1200px) {*/
#yt_player {
	background-color: #eee;

	width: 100%;
	max-width: 1200px;
    height: auto;
    aspect-ratio: 16/9;
    max-height: 70vh;
}
/*}*/
@media only screen and (min-width:768px) and (max-width:1200px) {
	#yt_player {
		max-width: 1200px;
	}
}
@media only screen and (max-width:768px) {
	#yt_player {
		max-width: none;
		max-height: none;
	}
}

#outline span strong {
    color: #000000;
    font-size: 13px;
    padding: 0 0 0 160px;
}
/* ----------- /outline,header ----------- */

.player_info {
	color: gray;
	font-size: 9pt;
	margin-top: 2px;
}

.program_info {
	color: gray;
	text-align: left;
	font-size: 9pt;
	text-indent: -1em;
	margin-top: 1em;
	margin-left: 1em;
}
@media only screen and (max-width:768px) {
	.player_info {
		text-align: left;
		margin: 0em 1em;
	}
	.program_info {
		text-align: left;
		margin: 0.5em 1em 0em 1em;
		text-indent: -1em;
	}
}

/* ----------- column ----------- */
#column {
    overflow: hidden;
}

/* ----------- right ----------- */
#right {
    float: right;
    margin: 5px 0 0;
    text-align: left;
    width: 295px;
	font-size: 90%;
}
@media only screen and (max-width:768px) {
	#right {
		/* float: left; */
	    width: 94vw;
	    padding: 0px 3vw;
	}
}

.space {
    margin-left: 10px;
}
.space a {
    color: #333333;
    text-align: center;
    display: block;
    padding: 8px 0px 4px 0px;
}

#foot {
    clear: both;
}

/* ----------- left ----------- */
#movie {
    margin: 3px auto;
}

#archive {
    text-align: center;
}

#left {
    width: calc(100% - 305px);
	/* max-width: calc(1200px - 305px);	*/
    float: left;
    /* padding-bottom: 40px; */
}
@media only screen and (max-width:768px){
	#left {
		max-width: 768px;
	    width: 100vw;
	    padding-bottom: 2em;
	}
}

.l_tti {
	width: 100%;
    font-size: 22px;
    height: auto;
    margin-top: 15px;
}
@media only screen and (max-width:768px) {
	.l_tti {
		max-width: 768px;
		width: 100vw;
		height: auto;
		margin-left: -16px;
	}
}

.r_content .p1 {
    color: #000000;
    font-size: 14px;
    line-height: 16px;
    padding: 2px 10px;
}

.r_content .p1 p {
    padding-left: 10px;
    font-size: 12px;
    line-height: 14px;
}

#sp {
    color: #fff;
    margin-left: 15px;
}

.sp {
    color: #fff;
    text-align: left;
    font-size: 12px;
    line-height: 18px;
    margin-left: 5px;
}

.sp a {
    color: #fff;
    text-align: left;
    font-size: 12px;
    line-height: 18px;
}

#r_bnr_1 {
    font-weight: bold;
    text-align: center;
    margin-right: 20px;
}

#r_bnr_1 li {
    margin-bottom: 10px;
    font-size: 14px;
    font-weight: bold;
    list-style-type: none;
}

#r_bnr_1 ul {
    margin-bottom: 0px;
    padding-bottom: 0px;
}

#r_bnr_2 {
    text-align: left;
}

#r_bnr_2 li {
    margin-bottom: 5px;
    list-style-type: none;
    font-size: 14px;
    font-weight: bold;
}

#r_bnr_2 ul {
    margin-bottom: 30px;
    padding-bottom: 0px;
}

#info {
    /* margin-left: 10px; */
    margin-top: 5px;
}

#info li {
    padding-left: 0px;
    margin-left: 20px;
    font-size: 14px;
    margin-bottom: 5px;
}

#info ul {
    /* padding-left: 0px; */
    margin-left: 2em;
    margin-bottom: 1.5em;
}

#info2 {
    /* margin-left: 10px; */
    margin-top: 5px;
}

#info2 li {
    padding-left: 0px;
    margin-left: 20px;
    font-size: 14px;
    margin-bottom: 5px;
}

#info2 ul {
    /* padding-left: 0px; */
    margin-left: 1em;
    /* margin-bottom: 1em; */
}

.info_h3 {
    font-size: 18px;
    font-weight: bold;
    text-align: center;

    margin: 20px 15px 10px 0;
	border-bottom:solid 3px #00a0e9;
	/* border-bottom:solid 3px #ed891e;	*/
	box-shadow:#ccc 0px 2px 8px;

    height: 2em;
    padding: 0.4em 0;
}

#info h4 {
    font-weight: bold;
    color: #0068b7;
    margin-left: 1em;
}

.secretariat_h3 {
    background-image: url(../img/secretariat.png);
    background-repeat: no-repeat;
    height: 50px;
    font-size: 14px;
    font-weight: bold;
    padding-left: 70px;
    margin-top: 50px;
    color: #008000;
}

#left img {
    margin-bottom: 5px;
}

#tv {
    margin-bottom: 1.5em;
}
@media only screen and (max-width:768px) {
	#tv {
	    margin-left: 0;
	}
}

.box_2_main span {
    font-weight: bold;
    font-size: 14px;
}

.box_2_main p {
    margin-left: 10px;
    margin-top: 5px;
}

#info a {
    font-size: 14px;
}

#left_move {
    font-size: 18px;
    font-weight: bold;
}

/* 動画検索用CSS */

form#search {
	width: 100%;
	text-align: left;
	padding: 0 8px;
}
@media only screen and (max-width:768px) {
	#query {
		width: 50vw;
	}
}
#search_result {
	color: #999;
	font-size: 9pt;
	padding-left: 1em;
	display: inline-block;
}

#thumbs {
	width: 640px;
	padding: 0 4px;
}
#thumbs td {
	vertical-align: top;
	
}
@media only screen and (max-width:768px) {
	#thumbs {
		width: 99vw;
		padding: 0 0.5vw;
	}
}

div.video {
	display: inline-block;
	float: left;
	padding: 3px;
}

/*
div.video div.thumb  {
	position: relative;
}
*/

div.video div.thumb img {
	width: 120px;
}
div.video div.thumb img.active {
	opacity:0.50;
	filter:alpha(opacity=50);
	-ms-filter: "alpha( opacity=50 )";
	-moz-opacity:0.50;
}
div.video div.title {
	font-size: 8pt;
	text-align: left;
	width: 120px;
	height: 2em;
}
@media only screen and (max-width:768px) {
	div.video div.thumb img {
		width: 30vw;
	}
	div.video div.title {
		font-size: 2.5vw;
		text-align: left;
		width: 31vw;
		height: 2em;
	}
}

div.description {
	display: block;
	font-family: 'Roboto', sans-serif;
	font-size: 10pt;
	text-align: left;
}

div.description a {
	cursor: pointer;
	color: #000;
	text-decoration: none;
	font-weight: bold;
}

div.description:hover a {
	color: #039;
}

div.description a:hover {
	text-decoration: underline;
}

/* ----------- マップ関係 ----------- */

/* 会場地マップ */
img.map {
    max-width: 100%;
    height: auto;
	width: calc(100% - 16px);
	margin: 0px 8px 8px 8px;
}
@media only screen and (max-width:768px){
    img.map {
    	max-width: 987px;
		width: calc(100vw - 16px);
		margin: 0px 1vw 1vw 1vw;
    }
}
imgMap {
	margin-bottom: 100px;
}


#kyogi_table {
	font-size: 90%;
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
	max-width: 1200px;
}
.row-header {
   background-color: #E2F5BF !important;
}
#kyogi_table th {
	border: 1px #ddd solid;
	text-align: center; 
	vertical-align: middle; 
}
#kyogi_table td {
	border: 1px #ddd solid;
	vertical-align: middle; 
	padding: 2px;
}
#kyogi_table td a {
	text-decoration: none;
	color: #003399;
}
#kyogi_table td a:hover {
	text-decoration: underline;
}
#kyogi_table td img {
	vertical-align:middle !important;
}


.column-1 {
	text-align: center;
	font-size: 90%;
	width: 124px;
}
.column-1 img.game {
	height: 48px;
}
.column-1 a {
	font-weight: bold;
}
.column-2 {
	text-align: left;
	min-width: 280px;
}
.column-2 img.area {
	float: right;
	vertical-align: middle;
}

.column-3, .column-4, .column-5, .column-6, .column-7, .column-8 {
	display: none;
}

a.area_pr  {
	background: url(../img/icon_cube1_01.gif) no-repeat 2px 0px;
	margin-left: 1em;
	padding: 1px 0 3px 20px;
	font-size: 110%;
}
.column-9 {
	font-size: 100%;
	min-width: 80px;
}

#kyogi_table .place {
	font-size: 120%;
	margin-top: 0.3em;
	margin-left: 2em;
	text-indent: -1em;
}

#kyogi_table .place a.location {
	background: url(../img/icon/icon_location.png) no-repeat 0px 0px;
	background-size: 1em;
	padding-left: 1em;
}


@media only screen and (max-width:768px) {
	#kyogi_table {
		max-width: 96%;
	}
	.column-1 {
		font-size: 2.5vw;
		width: 15%;
		min-width: 80px;
	}
	.column-1 a {
		font-size: 2.5vw;
		font-weight: normal;
	}
	.column-2 {
		font-size: 2.6vw;
		width: 60%;
		min-width: 240px;
	}
	.column-9 {
		font-size: 2.4vw;
		width: 12vw;
		min-width: 60px;
	}
}
/* ----------- 番組表 ----------- */

/* 番組表 全体 */
div.tabbox {
	margin: 0px;
	padding: 0px;
	width: 100%;
}
/* 番組表 タブ部分 */
p.tabs {
	margin: 0px;
	padding: 0px;
}
/* 番組表 リンクをタブのように見せる */
p.tabs a, p.tabs span {
	display: inline-block;
	width: 5em;
	float: left;
	margin: 0px 1px 0px 0px;
	padding: 3px;
	text-align: center;
	height: 20px;
	line-height: 20px;
	vertical-align: middle;
	/* box-sizing: border-box; */
}
p.tabs span.tab {
	width: 7.2em;
	font-size: 80%;
	background-color: #ccc;
	color: black;
}
@media only screen and (max-width:768px) {
	div.tabbox {
		width: calc(100vw - 16px);
	}
	p.tabs a, p.tabs span {
		width: 11vw;
		height: 4vw;
		line-height: 4vw;
		font-size: 3vw;
	}
	p.tabs a.tab5, p.tabs a.tab6 {
		font-size: 2.6vw;
	}
	p.tabs span.tab {
		width: 15vw;
		font-size: 2.4vw;
	}
}

/* 番組表 各タブの配色  */
/*
p.tabs a {
	width: calc(25% - 8px);
	border-radius: 8px 8px 0 0;
	color: white;
}
p.tabs a:hover {
	color: yellow;
}

p.tabs a.tab1 {
	background-color: red;
}
p.tabs a.tab2 {
	background-color: orange;
}
p.tabs a.tab3 {
	background-color: gold;
	color: black;
}
p.tabs a.tab3:hover {
	color: #330;
}
p.tabs a.tab4 {
	background-color: green;
}
p.tabs a.tab5 {
	background-color: blue;
}
p.tabs a.tab6 {
	background-color: purple;
}
*/

/* 番組表 タブ中身のボックス 共通 */
div#tab1, div#tab2, div#tab3, div#tab4, div#tab5, div#tab6 {
	display: none;
	height: auto;
	overflow: hidden;
	clear: left;
	/* border: 2px solid black; */
}

/* 番組表 各ボックスの配色 */
/*
div#tab1 {
	border-color: red;
//	background-color: #fff9f9;
}

div#tab2 {
	border-color: orange;
	background-color: #fff9f0;
}

div#tab3 {
	border-color: gold;
	background-color: #fffff9;
}

div#tab4 {
	border-color: green;
	background-color: #f9fff9;
}

div#tab5 {
	border-color: blue;
	background-color: #f9f9ff;
}

div#tab6 {
	border-color: purple;
	background-color: #fff9ff;
}
*/
div.tab p {
	margin: 0.5em;
}

.tab_title {
	font-weight: bold;
	padding: 0.5em 0;
}

/* 種目別、派遣団体別、開催地別 */

.tabbox ul {
	list-style: none;
	padding: 0.5em 0;
} 
/*
.tabbox ul li {
	float: left;
	height: 60px;
	margin: 0.2em;
} 
*/
.tabbox ul li a {
	display: flex;
	height: 100%;
	align-items: center;
	text-decoration: none;
	border-radius: 0.5em;
	/*
	color: #030;
	border: 1px solid #0c0;
	*/
	color: var(--color-button-text);
	border: 1px solid var(--color-button-border);
	background: var(--color-button-background);
}
.tabbox ul li a:hover {
    opacity: 1;
	cursor: pointer;
	/*
	color: black;
	background-image: linear-gradient(to top, #dfd 0%, #efe 100%);
	*/
	color: var(--color-button-hover-text);
    background: var(--color-button-hover-background);
}
.tabbox ul li.clear {
	clear: both;
	padding: 0;
}
.tabbox ul li a img {
	position: relative;
	top: 4px;
	width: 60px;
	padding: 5px;
} 
.tabbox ul li a span {
	text-align: left;
	padding-top: 4px;
} 
.tabbox ul li a div {
	width: 100%;
	text-align: center;
} 
.tabbox ul.shumoku li {
	float: left;
	height: 60px;
	margin: 0.2em;
	width: calc(25% - 0.5em);
}
.tabbox ul.city li {
	float: left;
	height: 60px;
	margin: 0.2em;
	width: calc(20% - 0.5em);
}
.tabbox ul.city li a img {
    /* width: 32px; */
    padding: 0 14px;
}
@media only screen and (min-width:768px) and (max-width:896px) {
	.tabbox ul.shumoku li {
		width: calc(50% - 0.5em);
	} 
	.tabbox ul.city li {
		width: calc(33.3% - 0.5em);
	} 
}
@media only screen and (min-width:896px) and (max-width:1024px) {
	.tabbox ul.shumoku li {
		width: calc(33.3% - 0.5em);
	} 
	.tabbox ul.city li {
		width: calc(25% - 0.5em);
	} 
}
@media only screen and (max-width:768px) {
	.tabbox ul.shumoku {
		padding: 1vw;
	} 
	.tabbox ul.shumoku li {
		width: 45vw;
	} 
	.tabbox ul.city li {
		float: left;
		height: 60px;
		margin: 0.2em;
		width: calc(33.3% - 0.5em);
	}
}

.tabbox ul li.no_video {
	display: none;
}

.tabbox ul li.no_video a {
    opacity: 0.7;
	color: #333;
	border: 1px solid #ccc;
	background-image: linear-gradient(to top, #ddd 0%, #eee 100%);
}
.tabbox ul li.no_video a:hover {
	background-image: linear-gradient(to top, #eee 0%, #fff 100%);
}

.no_video_message {
	margin-top: 1em;
	font-weight: bold;
}

.scheduled {
	color: black;
	/* font-weight: bold; */
}

.open {
	/* color: #008000; */
	color: #6c6;
	font-weight: bold;
}
.partial_open {
	/* color: #008000; */
	color: orange;
	font-weight: bold;
}

.close {
	color: silver;
}

.management_info {
	font-size:smaller;
	margin-left: 0.5em;
}

@media only screen and (max-width:768px){
	div.twitter {
		margin: 0px calc(50vw - 178px);
		border: 1px gray solid;
	}
	.twitter-timeline {
		height: 100vw;
	}
	.management_info {
	    margin-left: 30px;
	}
}

.footer {
    color: #fff;
	background-color: #00a0e9;
    /* background-color: #ed891e; */
	margin-top: 1em;
    padding: 0.5em 0;	
}
.footer a {
	color: #fff;
}

@media only screen and (max-width:768px){
	.footer {
		/* color: #fff; */
		/* background-color: #00a0e9; */
		font-size: 3vw;
		padding: 2vw 0vw;
		font-family: Verdana;	/* Android端末でのコピーライト文字化け（色化け）対策 */
	}
	.footer a {
		/* color: #fff; */
	}
}

.ad_banner img {
	width: 260px;
	height: auto;
}
.slick-initialized .slick-slide.ad_banner_closed {
	display: none;
}
.banner_slider {
	display: none;
}
.banner_slider img {
	height: 0px;
}
@media only screen and (max-width:768px){
	.banner_slider img {
		height: 15vw;
		margin: 1vw;
	}
	#right .ad_banner {
		display: none;
	}
	.ad_banner img {
		width: auto;
	}
}

ul.result {
	list-style-type: disc;
	text-align: left;
	margin: 1.2em 2em 1.5em 2em;
}

ul.result li {
	margin-top: 0.3em;
}

.pdf {
	background-image: url("../img/pdf.png");
	background-repeat: no-repeat;
	background-position: right center;
	padding-right: 16px;
}

#results {
	text-align: left;
	font-size: 80%;
	padding: 0 1em;
}

.studio_program_container { margin: 0.2em 10%; }
.studio_program { display: none; }
.studio_program { width: 100%; border-top: 1px solid #999; border-left: 1px solid #999; border-spacing: 0; font-size: 80%; }
.studio_program tr th, .studio_program tr td { border-bottom: 1px solid #999; border-right: 1px solid #999; padding: 0.2em; }
.studio_program tr td.header { background-color: #afa; text-align: left; }
.studio_program tr th { background-color: #aaf; font-weight: bold; }

.studio_program tr.jump:hover { background-color: #ffc; cursor : pointer; }

@media only screen and (max-width:768px){
	.studio_program_container { margin: 1vw; }
}

.badge {
	font-size: 90%;
}
.badge .fab {
	font-size: 200%;
}


.marquee {
//	background: black;
//	color: white;
	background-color: #f6f9fc;
	color: black;
	overflow: hidden;
	margin: 0.5em 0;
}

.marquee p {
	margin: 0.2em;
	padding-left: 100%;
	display: inline-block;
	white-space: nowrap;
	animation-name: marquee;
	animation-duration: 16s;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}

@keyframes marquee {
	from	{ transform:translate(0);     }
	99%, to { transform:translate(-100%); }
}

/* 猫本みどりSNS */

.midori_nekomoto {
	height: 74px;
	padding-left: 4px;
}

.midori_nekomoto .badge {
	width: 62px;
	border-radius: 50%;
	border: 1px solid rgba(0, 0, 0, 0.04);
	float: left;
}

.midori_nekomoto div {
	display: inline-block;
	font-weight: bold;
	text-align: center;
	width: 64px;
}

.midori_nekomoto .fa-twitter {
	color: white;
	background-color: #55acee;

	font-size: 46px;
    border-radius: 25%;
    border: 1px solid rgba(0, 0, 0, 0.04);
    padding: 6px;
    vertical-align: bottom;
}

.midori_nekomoto .fa-instagram {
	font-size: 58px;
    vertical-align: bottom;
	color: #fff;
    border-radius: 25%;
    padding: 0 6px 2px 6px;
    position: relative;
    background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
    overflow: hidden;
}

@media only screen and (max-width:768px){
	.midori_nekomoto {
		margin: 0px calc(50vw - 192px);
	}
}

/* ライブスケジュール */

.live_schedule {
	text-align: left;
	padding: 0.2em 0;
}
@media only screen and (max-width:768px){
	.live_schedule {
	    padding: 0;
	}
}
.live_schedule ul {
	list-style: none;
}

.live_schedule ul li {
	width: auto;
	height: auto;
}

.live_schedule ul li div {
	vertical-align: top;
}

.live_schedule li {
	width: auto;
	height: auto;
}

.live_schedule .date {
    display: inline-block;
	padding: 0.2em 2em;
	margin: 1.5em 0 0.5em 0;
    border-radius: 0.3em;
    border: 1px solid #00cc00;
}
.live_schedule .date:first-child {
	margin: 0.5em 0;
}

.live_schedule .live,
.live_schedule .plan,
.live_schedule .time {
	display: inline-block;
	font-size: 88%;
	padding: 0.2em 0.8em;
	margin-right: 0.5em;
    border-radius: 0.3em;
}
.live_schedule .live {
	background-image: linear-gradient(to top, #ffcc99 0%, #ffffcc 100%);
    border: 1px solid #ffffcc;
}
.live_schedule .plan {
	background-image: linear-gradient(to top, #9999cc 0%, #ccccff 100%);
    border: 1px solid #ccccff;
}
.live_schedule .time {
	padding: 0 1em;
}
.live_schedule .program {
	display: inline-block;
	padding: 0.2em;
    border-radius: 0.3em;
    border: 1px solid #00cc00;
	margin-bottom: 0.2em;
	width: calc(100% - 4.5em);
}

.live_schedule .program .content {
	display: inline-block;
	width: calc(100% - 5.5em);
}

.live_schedule .program .content span {
	display: inline-block;
}

/*
.live_schedule li:hover {
	background-image: linear-gradient(to top, #accbee 0%, #e7f0fd 100%);
}
*/

/* パンくずリスト */

#breadcrumbs {
	text-align: left;
	padding: 0.5em 0;
}

#breadcrumbs a {
  font-size: 90%;
  color: #878787;
  text-decoration: none;
  margin:0 6px;
  position: relative;
  -webkit-transition-duration: 0.25s;
          transition-duration: 0.25s;
  display: inline-block;
  vertical-align: top;
  letter-spacing: normal;
	}

#breadcrumbs a:hover {
  background: #dbdbdb;
}

.breadcrumb_last {
    margin: 0 10px;
}

/* メインメニュー */

.mainmenu {
    /* background: #d40303; */
    /* background: -webkit-gradient(linear, left top, right top, from(#d40303), to(#df0404)); */
    /* background: -o-linear-gradient(left, #d40303 0%, #df0404 100%); */
    /* background: linear-gradient(to right, #d40303 0%, #df0404 100%); */
}

#main_navi {
    display: flex;
    justify-content: space-between;
	list-style: none;
}

#main_navi li {
	letter-spacing: 0.1em;
	flex: 1 0 auto;
	position:relative;
}

#main_navi li a {
	display: block;
	padding: 10px 0;
	text-align: center;
	box-sizing: border-box;
	text-decoration: none;
	font-weight: bold;
	border-radius: 0.5em;
	/*
	color: #030;
	border: 1.5px solid #0c0;
	*/
	color: var(--color-button-text);
	border: 1.5px solid var(--color-button-border);
	background: var(--color-button-background);
}

#main_navi li a:hover{
    /*
	background: linear-gradient(to top, #dfd 0%, #efe 100%);
	*/
	color: var(--color-button-hover-text);
    background: var(--color-button-hover-background);
}

/*
#main_navi li ul {
    width: 100%;
    position: absolute;
    top: 50px;
    left: 0;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: visibility 0.1s ease-in, opacity 0.1s ease-in;
    -moz-transition: visibility 0.1s ease-in, opacity 0.1s ease-in;
    -ms-transition: visibility 0.1s ease-in, opacity 0.1s ease-in;
    -o-transition: visibility 0.1s ease-in, opacity 0.1s ease-in;
    transition: visibility 0.1s ease-in, opacity 0.1s ease-in;
    z-index: 9999;
}
#main_navi li:hover ul{
    visibility: visible;
    opacity: 1;
}
#main_navi li ul a{
	font-size: 100%;
	line-height: 1.4;
	color: #FFF;
	background-color: #d40303;
}
#main_navi li ul a:hover{
	color: #FFF;
	background-color: #ad0000;
}

#main_navi li ul li {
    margin:-5px 0 0;
    border-left:none;
	border-bottom:1px solid #ad0000;
    float:none;
    -webkit-transition:margin 0.1s ease-in;
    -moz-transition:margin 0.1s ease-in;
    -ms-transition:margin 0.1s ease-in;
    -o-transition:margin 0.1s ease-in;
    transition:margin 0.1s ease-in;
}
*/

/* ビデオ再生ページ */

.video_list_title {
	font-size: 120%;
	font-weight: bold;
	text-align: left;
	margin-bottom: 0.6em;
}
.playlist_note {
    padding-left: 1em;
/*    color: gray; */
    color: black;
    font-size: 80%;
}
.video_list {
	display: flex;
    flex-wrap: wrap;
	width: 100%;
	margin-bottom: 0.5em;
	text-align: left;
	list-style-type: none;
}
.video_list a {
	text-decoration: none;
	width: 100%;
	height: 100%;
}
.video_list a:hover {
	color: black;
}
.video_item .video_block_1 {
    display: inline-block;
	width: 20%;
	min-width: 200px;
}
.video_item .video_block_2 {
    display: inline-block;
	vertical-align: top;
	width: 79%;
	max-width: calc(98% - 200px);
}
.video_item .thumbnail,
.video_item_small .thumbnail {
	width: 100%;
    aspect-ratio: 16/9;
    height: auto;
	border: 1px solid black;
}
.video_item:hover, .video_item_small:hover {
	background: #eee;
}
.video_list .video_item {
	width: 100%;
	margin: 0 0 1em;
}
.video_list .video_item_small {
	width: 19%;
	margin: 0 0.5% 1em;
}
.video_list .video_title {
	font-size: 100%;
	font-weight: bold;
	text-align: left;
	margin-bottom: 0.4em;
}
.video_list .date {
	color: #03c;
	margin-bottom: 0.4em;
    font-size: 80%;
}
.video_list .place {
	margin-top: 0.5em;
    font-size: 80%;
}
.video_list .note {
	margin-top: 0.5em;
	font-size: 80%;
	color: #999;
}
@media only screen and (max-width:768px){

	.video_list_title {
		margin: 0.6em 0;
	}
	.video_list .video_item_small {
		width: 32%;
		margin: 0 0.5% 1em;
	}
}

/* 動画撮影対象 */

.video_shooting_target {
	font-size: 110%;
	color: #f3c;
 	padding-left: 7em;
	text-indent: -7em;
}

.video_shooting_target span {
   display: inline-block;
   text-indent: 0;
}

.video_shooting_target span.kyogi {
/*	color: black; */
}

@media only screen and (max-width:768px){
	.video_shooting_target {
	    font-size: 100%;
	}
}
