html{ font-size: 62.5%; /* 10px */ }
body{
	font-family: 'Kosugi Maru', 'M PLUS Rounded 1c', "Lucida Grande", "segoe UI", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO", Meiryo, Arial, sans-serif;
	text-align: left;
	background: #cceceb;
	/* background-image: url(../img/bg.png);
	background-position: center top;
	background-repeat: repeat; */
	font-size: 1.4rem;
	line-height: 1.6;
	color: #222;

	/* background-image:
		url(../img/bg_main.png),
		url(../img/bg_main2.png);
	background-position:
		center top,
		center bottom;
	background-repeat:
		no-repeat,
		no-repeat;
	background-attachment:
		fixed,
		fixed; */
}

.sp{ display: block; }
.pc{ display: none; }

h1,h2,h3,h4,h5,h6{ font-size: 100%; font-weight: normal; margin: 0; padding: 0; }
ul,li,ol{
	list-style: none outside none;
	margin: 0;
	padding: 0;
}
p{ margin: 0; padding: 0; }
img{ max-width: 100%; vertical-align: top; }

a{ color: #0a94ff; text-decoration: none; }
a:visited, a:visited{ color: #9520df; text-decoration: none; }
a:hover, a:active, a:focus{ color: #df2089; text-decoration: underline; }
a:hover img, a:active img, a:focus img{ opacity: 0.7; filter: alpha(opacity=70); }
a:hover img{ opacity: 0.7 !important; filter: alpha(opacity=70) !important; }
/* /basic */

.sat{ color: #006ecc; }


/* Animation
=================================== */
.ani_d01{
	-webkit-animation-duration: 1s;
	-moz-animation-duration: 1s;
	-o-animation-duration: 1s;
	-ms-animation-duration: 1s;
	animation-duration: 1s;

	-webkit-animation-delay: 1s;
	-moz-animation-delay: 1s;
	-o-animation-delay: 1s;
	-ms-animation-delay: 1s;
	animation-delay: 1s;
}
.ani_d015{
	-webkit-animation-duration: 1.5s;
	-moz-animation-duration: 1.5s;
	-o-animation-duration: 1.5s;
	-ms-animation-duration: 1.5s;
	animation-duration: 1.5s;

	-webkit-animation-delay: 1.5s;
	-moz-animation-delay: 1.5s;
	-o-animation-delay: 1.5s;
	-ms-animation-delay: 1.5s;
	animation-delay: 1.5s;
}



#wrapper{
	margin: 0 auto;
	padding: 0;
	overflow: hidden;
}
	#wrapper3,
	#wrapper4,
	#wrapper5{
		margin: 0 auto;
		padding: 24px 0 48px;
		overflow: hidden;
	}
	#wrapper3{
		background: #b7e4da;
		text-align: center;
	}
	#wrapper4{
	}
	#wrapper5{
		background: #7acba8;
	}

	#wrapper-sub{
		margin: 0 auto;
		padding: 0;
		overflow: hidden;
	}

	header{
		width: 100%;
		margin: 0 auto;
		text-align: left;
	}
	div#ctv_tab{}

	div#container{
		width: 100%;
		margin: 0 auto;
		padding: 0;
		text-align: center;
	}
	div#title_container-sp{
	    /* text-align: center;
	    width: 100%; */
	    position: relative;
	    /* margin: 0 auto; */
	}
	div#title_container-sp::after{
		z-index: 0;
		width: 90vw;
		height: 90vw;
		position: absolute;
		top: -17vw;
		top: -27%;
		top: -3%; /* 20220129 */
		left: 4vw;
		background: url(../img/t-bg-logo-sp2.png);
		background-repeat: no-repeat;
		background-size: cover;
		content: '';
		-webkit-animation: logo-circle 30s linear infinite;
		transform-origin: 50% 50%;
	}

	    div#bg-wrapper{
	        /* background: url(../img/t-bg-logo-sp.png) center top no-repeat;
	        animation: logo-circle 30s linear infinite;
	        will-change: transform; */
				/* height: 866px;
		        width: 866px; */
			/* height: 100%;
	        width: 100%;
			background-size: cover;
	        z-index: -1; */
		        /* margin: -213px auto 0; */
	        /* margin: -320px auto 0;
	        display: inline-block;
	        position: relative; */
	    }
	    #bg-wrapper{ animation-duration: 300s; }
	    @keyframes logo-circle{ 100%{ transform: rotate(1turn); } }

	    h1{}
	    h1 img.logo{
	        padding: 20px 0 0;
	        margin: 0 auto;
			width: 50%;
			position: relative;
			z-index: 2;
	    }
	    h1 img.t-onda{
	        position: absolute;
	        right: 8px;
	        top: 15vw;
			width: 28%;
			z-index: 3;
	    }

	    h1 img.logo-a{
	        padding: 0px 0 0;
	        margin: 0 auto;
			width: 96%;
			position: relative;
			z-index: 2;
	    }

		h2{}
		h2 img{}

		/* div.cap1,
		div.cap2{
		    width: 100%;
		    height: 100%;
		    position: relative;
			margin: 28px auto 0px;
			text-align: center;
		}
		.cap1 img,
		.cap2 img{
			position: relative;
			z-index: 2;
			margin: 10% 0 10%;
		}
		.cap1 img{ width: 79%; }
		.cap2 img{ width: 71%; }
		.cap1:after,
		.cap2:after{
			z-index: 0;
		    width: 100%;
		    height: 100%;

		    position: absolute;
			top: 0;
			left: 0%;
		    background: url(../img/bg-caption-sp.png);
			background-repeat: no-repeat;
			background-size: contain;
		    content: '';
		    -webkit-animation: rotate-bg 24s linear infinite;
			transform-origin: 50% 50%;
		}
		@-webkit-keyframes rotate-bg{
			0%  { transform: rotate(0); }
			100%{ transform: rotate(360deg); }
		} */


			div.t-menu{
				position: relative;
				margin: 0px auto 0;
			}
			div.t-menu ul{
				width: 96%;
				margin: 8% auto 24px; /*  */
				margin: -1.5% auto 24px; /* 20220129 */
				z-index: 10;
				position: relative;
			}
				div.t-menu ul li{
					text-align: center;
				}
				div.t-menu ul li img{
					margin: 0 0 8px;
					max-height: inherit;
				}



			p.t-cap{
				font-size: 2.0rem;
				font-weight: bold;
				color: #555;
				margin: 0 0 24px;
				text-align: center;
			}

			div.t-tiktok{
			}
			div.t-tiktok img{
				margin: 8px auto 0;
				max-height: inherit;
				width: 64px;
			}

			div.t-official{
			    width: 94%;
			    max-width: 100%;
			    margin: 0px auto 0px;
			    padding: 0px 0 16px;
			    overflow: hidden;
			}
			div.t-official ul{
			    display: flex;
			    justify-content: center;
			    flex-wrap: wrap;
			    }
			    div.t-official ul li{
			        width: 48%;
			        overflow: hidden;
			        margin: 0 1%;
			        text-align: center;
			    }
			    div.t-official ul li img{
			        margin: 16px 0 0;
			        max-height: 48px;
			    }


				div.t-link{
				    width: 98%;
				    max-width: 100%;
				    margin: 0px auto 0px;
				    padding: 0px 0 16px;
				    overflow: hidden;
				}
				div.t-link ul{
				    display: flex;
				    justify-content: center;
				    flex-wrap: wrap;
					align-items: center;
				}
				    div.t-link ul li{
				        width: 30%;
				        overflow: hidden;
				        margin: 0 1.45%;
				        text-align: center;
				    }
					div.t-link ul li a{
						background: #FFF;
						border-radius: 16px;
						width: 100%;
						min-height: 64px;
						margin: 0 auto;
						padding: 10px 0;
						display: flex;
						justify-content: center;
						flex-wrap: wrap;
						align-items: center;
					}
				    div.t-link ul li img{
				        margin: 0px auto 0;
						max-width: 80%;
				    }



			/* 各ページ SP */
			div#sub_container{
				background: #FFF;
				background-image:
					url("../img/bg-sub-h.png"),
					url("../img/line-color17.png");
				background-position:
						top center,
						bottom center;
				background-repeat:
						repeat-x,
						repeat-x;
				background-size:
					100% 48px,
					auto;
				/* background: #00938a; */
				margin: 0 auto;
			}
			div#sub_container-inner{
				text-align: left;
				width: 100%;
				margin: 0px auto 0;
				padding: 4px 0 8px;
			}
				div#sub_container-inner h1{
					display: inline-block;
					display: block;
				}
					div#sub_container-inner h1 a img{
						width: 25%;
						max-width: 160px;
						display: block;
						margin: 0 auto 2px;
					}
					div#sub_container-inner h1 a:hover img{
						opacity: 1 !important;
					}
				div#sub_container-inner h2{
					display: inline-block;
					text-align: left;
				}
					div#sub_container-inner h2 img{
						max-height: 30px;
						max-width: 96%;
						margin: 2px 0 4px 8px;
						display: block;
					}



			/* SDGsとは？ SP */
			div.about-content{
				width: 96%;
				padding: 16px 0 48px;
				margin: 0 auto;
				/* background: #FFF; */
			}
				div.about-photo{
					width: 100%;
					margin: 0 auto;
				}
					div.about-photo img{}
					div.about-photo p.photo-sup{
						font-size: 1.6rem;
						line-height: 1.64;
						text-align: left;
					}

				p.movie-sup{
					text-align: left;
				}
					p.movie-sup span{ font-size: 80%; }


			div.about-SDGs{
				max-width: 100%;
				margin: 0 auto 24px;
				padding: 16px;
				background: #f4fcff;
				border-radius: 4px;
				box-shadow: 0px 0px 8px 0px #b0c5cd;
			}
				div.about-SDGs p{
					font-size: 1.68rem;
					line-height: 1.6;
					text-align: left;
				}
					div.about-SDGs p span{ color: #c50e28; }

			img.p-goals{
				width: 100%;
				margin: 0 auto 28px;
			}
			p.sdgs-catch1,
			p.sdgs-catch2{
				font-size: 1.84rem;
				line-height: 1.56;
				font-weight: bold;
				color: #555;
				margin: 0 auto 48px;
				text-align: left;
				width: 96%;
			}
			img.p-logo{
				width: 80%;
				max-width: 400px;
				margin: 0 auto 28px;
				display: block;
			}
			p.sdgs-catch2{}

			div.btn-catch2{
				width: 100%;
				margin: 0 auto 48px;
				overflow: hidden;
			}
				div.btn-catch2 a{}
				div.btn-catch2 a img{
				}
					div.btn-catch2 a img.btn-left{
						/* float: left; */
						margin: 0 0 16px;
					}
					div.btn-catch2 a img.btn-right{
						/* float: right; */
					}

		div.mediacompact{
			width: 100%;
			margin: 0 auto 12px;
			overflow: hidden;
		}
		div.mediacompact img{
			width: 60%;
			max-width: 400px;
			margin: 0px auto 12px;
		}
			div.mediacompact h3{
				width: 98%;
				text-align: left;
				font-size: 1.84rem;
				line-height: 1.56;
				font-weight: bold;
				border-bottom: 4px solid #00938a;
    			display: inline-block;
				margin: 0 0 12px;
				/* width: 96%; */
			}
			div.mediacompact div{
				/* display: flex; */
			}
				div.mediacompact div div{
					/* margin: 16px auto 0; */
				}
				div.mediacompact p{
					width: 96%;
					text-align: left;
					font-size: 1.6rem;
					line-height: 1.48;
					margin: 0 auto 0px;
				}
				div.mediacompact p span{
					text-align: left;
					font-size: 1.4rem;
					line-height: 1.32;
					display: inline-block;
				}



			/* キャッチ！コーナー SP */
			div.catch-content{
				width: 100%;
				padding: 16px 0 48px;
				margin: 0 auto;
				background: #eefffe;
			}
				div.catch-content p.s-cap{
					width: 96%;
					font-size: 1.84rem;
					line-height: 1.56;
					font-weight: bold;
					color: #555;
					margin: 0 auto 28px;
					text-align: left;
				}

			img.logo-catch{
				width: 65%;
				max-width: 360px;
				display: block;
				margin: 0 auto;
			}
			p.catch-oa{
				font-size: 1.64rem;
				font-weight: bold;
				color: #333;
				margin: 8px 0 16px;
				text-align: center;
			}

			div.catch-oalist{
				width: 96%;
				margin: 0 auto 12px;
				background: #dffff0;
				border-radius: 4px;
				box-shadow: 0px 0px 8px 0px #b0cdc5;
			}
				p.intro-t{
					color: #006421;
					padding: 12px 0 0;
					margin: 0 auto 0;
					display: block;
					width: 92%;
					font-size: 1.48rem;
					line-height: 1.44;
					text-align: left;
				}
				div.catch-oalist ul{
					display: inline-block;
					text-align: left;
					margin: 0 auto;
					padding: 16px 10px 0;
				}
					div.catch-oalist ul li{
						font-size: 1.64rem;
						line-height: 1.48;
						margin: 0 0 16px;

						margin: 0 0 8%;
					}
					div.catch-oalist ul li span{
						color: #f36e24;
					}
				p.notice{
					color: #555;
					line-height: 1.48;
					padding: 4px 10px 10px;
				}
				span.notice2{
					font-size: 96%;
					color: #555 !important;
					line-height: 1.48;
				}
				div.catch-oalist img.catch-oaimg{
					width: 96%;
					display: block;
					margin: 0 auto;
				}
				img.catch-oaimg{
					width: 96%;
					display: block;
					margin: 0 auto;
				}

			div.catch-oanext{
				width: 96%;
				margin: 0 auto 12px;
				font-size: 1.48rem;
				padding: 12px 4px;
				background: #dffff0;
				border-radius: 4px;
				text-align: center;
				box-shadow: 0px 0px 8px 0px #b0cdc5;
			}
				div.catch-oanext h3{
					color: #006421;
					margin: 0 auto 0;
					font-size: 1.64rem;
					line-height: 1.6;
				}

			img.s-cap{
			    height: 32px;
			    margin: 16px auto 8px;
			    display: block;
			}



			/* キャッチ！特番 SP */
			div.catch-content2{
				width: 100%;
				padding: 24px 0 0px;
				margin: 0 auto;
			}
						p.catch-oatitle{
							font-size: 1.84rem;
							font-weight: bold;
							color: #333;
							margin: 8px 0 10px;
						}
				img.program-ttl{
					width: 96%;
					display: block;
					margin: 0 auto;
				}
				div.catch-content2 p.s-cap{
					width: 94%;
					font-size: 1.6rem;
					line-height: 1.4;
					font-weight: bold;
					color: #555;
					margin: 20px auto 8px;
					text-align: left;
				}

				p.locipo-st{
    				line-height: 1;
    				font-size: 1.8rem;
					color: #ee5a9f;
					font-weight: bold;
				}
					p.locipo-st img{
						margin: 0 6px 0 0;
						vertical-align: bottom;
					}
					div.movie-w{
						width: 96%;
						margin: 0 auto;
					}

				div.cast-wrapper{
					background: #e6f5fb;
					padding: 16px 0 32px;
				}
				div.cast{
					width: 96%;
					max-width: 100%;
					margin: 0px auto 0px;
					padding: 8px 0 8px;
					overflow: hidden;
				}
				div.cast img.pro-cast{
					width: 96%;
					max-width: 100%;
					margin: 8px auto 0px;
				}

				div.cast ul{
					display: flex;
					justify-content: center;
					flex-wrap: wrap;
					}
					div.cast ul li{
						width: 48%;
						overflow: hidden;
						margin: 0 1%;
						text-align: center;
					}
					/* div.cast ul li:nth-child(4){
						clear: both;
					} */
					div.cast ul li img{
						margin: 20px 0 0;
						/* max-height: 180px; */
					}

					div.prog-wrapper{
						/* background: #e6f5fb; */
						/* background: #b7e4da; */
						padding: 16px 0 32px;
					}
					div.prog-cont{
						width: 96%;
						max-width: 100%;
						margin: 0px auto 0px;
						padding: 8px 0 8px;
						overflow: hidden;
					}
					div.prog-cont ul{
						display: flex;
						justify-content: center;
						flex-wrap: wrap;
					}
						div.prog-cont ul li{
							width: 100%;
							overflow: hidden;
							margin: 20px auto 0;
							/* text-align: center; */
						}
						/* div.cast ul li:nth-child(4){
							clear: both;
						} */
						div.prog-cont ul li img{
							margin: 0px auto 6px;
							/* max-height: 180px; */
							width: 98%;
							border: #00938a 1px solid;
						}
						div.prog-cont ul li p{
							width: 97%;
							margin: 0 auto;
							text-align: left;
							padding: 0px 2px 8px;
							font-size: 1.4rem;
							line-height: 1.4;
						}
						div.prog-cont ul li p strong{
							font-size: 1.6rem;
							border-bottom: 4px solid #b7e4da;
							display: inline-block;
							margin: 0 0 4px 0;
							padding: 0 2px;
						}
						div.prog-cont ul li p span.t-link{
							font-size: 1.46rem;
							word-break: break-all;
						}

					div.prog-cont ul.m-cont{
						/* display: flex;
						justify-content: center;
						flex-wrap: wrap; */
						width: 96%;
						margin: 12px auto 4px;
					}
						div.prog-cont ul.m-cont li{
							text-align: center;
							line-height: 1.4;
							margin-bottom: 16px;
							/* text-indent: -0.28em; */
						}
						div.prog-cont ul.m-cont li::before{
							content: "\f0a4";
							font-family: 'FontAwesome';
							vertical-align: middle;
							display: inline-block;
							padding: 0 4px 2px 0px;
						}




			/* キャスター SP */
			body#caster{
				background: #eefffe;
			}
			div.caster{
				padding: 16px 0 16px;
			}
				div.caster p.s-cap{
					width: 96%;
				    font-size: 1.84rem;
				    line-height: 1.56;
				    font-weight: bold;
				    color: #555;
				    margin: 0 auto 28px;
				    text-align: left;
				}

				ul.caster{
					margin: 24px auto 0;
					width: 96%;
				}
					ul.caster li{
						margin: 0 auto 6.5vw;
						min-height: 342px;
					}
					div.caster-wrapper{
						display: flex;
						justify-content: center;
						flex-wrap: wrap;
						align-items: flex-end;
						height: 100%;
						margin: 0 auto;
					}
						div.a-onda,
						div.a-matsubara,
						div.a-suzuki,
						div.a-mochizuki,
						div.a-sano,
						div.a-abe,
						div.a-ueyama,
						div.a-hirayama,
						div.a-ishibashi,
						div.a-XXXXXXXX{
							background-position:
									bottom center;
							background-repeat:
									repeat-x;
							/* background-size:
								100% 98%; */
							background-size:
								100% 84vw;
						}
						div.a-onda,
						div.a-ueyama{ background-image: url("../img/bg-a01.png"); }
						div.a-matsubara,
						div.a-hirayama{ background-image: url("../img/bg-a02.png"); }
						div.a-suzuki,
						div.a-ishibashi{ background-image: url("../img/bg-a03.png"); }
						div.a-mochizuki{ background-image: url("../img/bg-a04.png"); }
						div.a-sano,
						div.a-abe,{ background-image: url("../img/bg-a05.png"); }
							div.a-XXXXXXXX{ background-image: url("../img/bg-a-XXXXXXXX.png"); }

						div.caster-name{
							width: 100%;
							background-position:
									bottom 34px left 12px;
							background-repeat:
									no-repeat;
							margin: 0 auto;
							height: 294px;
							height: 40vw;
							position: relative;
							background-size: 29%;
						}
							div.a-onda div.caster-name{ background-image: url("../img/a-onda.png"); }
							div.a-matsubara div.caster-name{ background-image: url("../img/a-matsubara.png"); }
							div.a-suzuki div.caster-name{ background-image: url("../img/a-suzuki.png"); }
							div.a-mochizuki div.caster-name{ background-image: url("../img/a-mochizuki.png"); }
							div.a-sano div.caster-name{ background-image: url("../img/a-sano.png"); }
							div.a-abe div.caster-name{ background-image: url("../img/a-abe.png"); }
							div.a-ueyama div.caster-name{ background-image: url("../img/a-ueyama.png"); }
							div.a-hirayama div.caster-name{ background-image: url("../img/a-hirayama.png"); }
							div.a-ishibashi div.caster-name{ background-image: url("../img/a-ishibashi.png"); }
								div.a-XXXXXXXX div.caster-name{ background-image: url("../img/a-XXXXXXXX.png"); }

							div.caster-name-inner{
								position: absolute;
								bottom: 0;
								width: 100%;
							}
								div.caster-name div.sdgs-mark{
									text-align: right;
									margin: 16px 8px 8px;
									margin: 16px 8px -30px;
								}
								div.caster-name div.sdgs-mark img{
									width: 48px;
								}
								div.caster-name p{
									color: #FFF;
									font-size: 1.8rem;
									line-height: 36px;
									height: 36px;
									padding: 0 0 0 16px;
									text-align: left;
								}
								div.a-onda div.caster-name p,
								div.a-ueyama div.caster-name p{ background: #00675d; }
								div.a-matsubara div.caster-name p,
								div.a-hirayama div.caster-name p{ background: #007842; }
								div.a-suzuki div.caster-name p,
								div.a-ishibashi div.caster-name p{ background: #007e86; }
								div.a-mochizuki div.caster-name p{ background: #005c12; }
								div.a-sano div.caster-name p,
								div.a-abe div.caster-name p{ background: #519504; }
									div.a-XXXXXXXX div.caster-name p{ background: #519504; }

						div.caster-movie{
							width: 100%;
						}
							div.caster-movie div.youtube-wrapper{
								width: 100%;
								margin: 0 auto 0px;
							}
							div.caster-movie div.youtube-inner{
								/* margin: 0 auto 16px; */
							}
							div.caster-title{
								text-align: center;
								color: #FFF;
								font-size: 1.8rem;
								line-height: 36px;
								min-height: 36px;
								padding: 0 10px;
							}
							div.caster-title p{
								line-height: 1.68;
								padding: 4px 0;
								text-align: left;
							}
								div.a-onda div.caster-title,
								div.a-ueyama div.caster-title{ background: #0ba29a; }
								div.a-matsubara div.caster-title,
								div.a-hirayama div.caster-title{ background: #01af82; }
								div.a-suzuki div.caster-title,
								div.a-ishibashi div.caster-title{ background: #01b3b9; }
								div.a-mochizuki div.caster-title{ background: #009944; }
								div.a-sano div.caster-title,
								div.a-abe div.caster-title{ background: #90c31f; }
									div.a-XXXXXXXX div.caster-title{ background: #90c31f; }

							div.caster-movie p::before{
								display: inline-block;
								width: auto;
								background: none;
								background-size: auto;
								position: relative;
								left: auto;
							}



		div#movie{
			width: 94%;
			width: 100%;
			max-width: 100%;
			margin: 0px auto 0px;
			padding: 16px 0 16px;
			overflow: hidden;
		}
		div#movie ul{
			display: flex;
			justify-content: center;
			flex-wrap: wrap;
			}
			div#movie ul li{
				width: 96%;
				overflow: hidden;
				margin: 0 2% 4%;
				text-align: center;
			}

		div#movie p.no-movie{
			font-size: 1.6rem;
			margin-bottom: 32px;
			color: #555;
		}







		div.photo{
			width: 96%;
			margin: 0 auto;
			/* overflow: hidden; */
			display: flex;
		}
			div.photo img{
				margin: 32px 1% 24px;
				width: 48%;
				align-self: flex-start;
			}

	.sns-archive{
		background: transparent !important;
		width: 100% !important;
		margin: 40px auto 32px !important;
		padding: 0 0 10px !important;
	}
	.sns{
		width: 75% !important;
	}
	.snstitle{
		color: #008149;
		font-size: 1.2rem !important;
	}



	div.f-menu{
		background: #b7e4da;
    	padding: 32px 0 32px;
	}
		div.f-menu ul{}
			div.f-menu ul li{}

	.flink-catch{
		padding: 0 0 32px;
	}
		.flink-catch img{
			width: 160px;
		}

	.btn-top{
		margin: 0px auto 0;
		text-align: center;
	}
		.btn-top a{
			color: #009844;
	    	font-weight: bold;
	    	font-style: normal;
	    	background-color: #FFF;
			border: 1px solid #00938a;
			text-decoration: none;
	    	width: 274px;
	    	margin: auto;
	    	padding: 1.2rem 0.1rem;
	    	display: block;
	    	border-radius: 4px;
	    	box-shadow: 0 0 3px 0 rgba(0,0,0,0.3);
	    	transition: all 0.3s;
		}
		.btn-top a:hover{
			background-color: #eaffbc;
			box-shadow: 0 0 1px 0 rgba(0,0,0,0.3);
			text-decoration: none;
		}
		.btn-top a span{
			color: #f36e24;
		}



	/* 動画 */
	.movie{ text-align: center; }

	.youtube-wrapper-t{
		margin: -8px auto 24px;
		/* width: 92%; */
		max-width: 96%;
		position: relative;
		z-index: 10;
	}
	.youtube-wrapper{
		margin: 16px auto;
		/* width: 92%; */
		max-width: 960px;
	}
	.youtube-wrapper-t p,
	.youtube-wrapper p{
		color: #222;
		font-size: 1.14em;
		line-height: 1.48;
		text-align: left;

		position: relative;
	    /* line-height: 30px; */
	    padding-left: 14px;
	}
	    .youtube-wrapper-t p::before,
		.youtube-wrapper p::before{
	        display: inline-block;
	        width: 12px;
	        height: 17px;
	        background: url(../img/ico-arrow.png) center / 12px 17px no-repeat;
	        background-size: contain;
	        position: absolute;
	        left: 0;
	        content: "";
	    }

	div.sdgs-mark{
	    margin: 4px 0 4px;
	    text-align: left;
	}
	    div.sdgs-mark img{
	        width: 48px;
	    }


	.youtube-inner{
		position: relative;
		padding-bottom: 56.25%;
		height: 0;
	}
	.youtube-inner p{
		font-size: 1.28rem;
		font-weight: bold;
		border-left: 6px solid #ff1f25;
		padding: 4px 0px;
	}
	.youtube-inner iframe{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		max-width: 960px;
		height: 100%;
	}


			div.bx-wrapper{
				margin: 0 auto 0px !important;
			}
			.bx-wrapper .bx-pager.bx-default-pager a{
				background: #0a89ff;
				width: 16px;
				height: 16px;
				border-radius: 12px;
				margin: 0 8px;
			}
			.bx-wrapper .bx-pager.bx-default-pager a:hover{
				background: #ff0096;
			}
			.bx-wrapper a.active{
				background: #ffa800 !important;
			}



footer{ width: 100%; text-align: center; font-size: 0.9em; line-height: 1.4; }
footer div{ width: 100%; margin: 0 auto; }
footer p{ clear: both;}


/* text decoration */
.red{ color: #ec5297; }
.blue{ color: #0752b9; }
.yellow{ color: #c69e00; }
.bold{ font-weight: bold; }
.size08{ font-size: 0.8rem; }
.size09{ font-size: 0.9rem; }
.size11{ font-size: 1.1rem; }
.size12{ font-size: 1.2rem; }










@media screen and (max-width : 640px){
	/* 動画 */
	.movie iframe{
		max-width: 320px;
		height: 180px;
		margin: 20px auto 20px;
	}

}



@media screen and (min-width: 641px){
	/* 動画 */
	.movie iframe{
		max-width: 96%;
		margin: 16px auto 16px;
		/* border: 2px solid #e60012; */
	}

}















@media screen and (min-width: 960px){
	/* 動画 */
	.movie iframe{
		max-width: 860px;
		height: 484px;
		margin: 36px auto 36px;
		/* border: 2px solid #e60012; */
	}


	.sp{ display: none; }
	.pc{ display: block; }
	img{ max-width: 100%; }

	body{
	}
	#wrapper{
		margin: 0 auto;
		padding: 0;
		overflow: hidden;
	}
		#wrapper3,
		#wrapper4,
		#wrapper5{
			margin: 0 auto;
			padding: 64px 0 100px;
			overflow: hidden;
		}
		#wrapper3{
		}
		#wrapper4{
		}
		#wrapper5{
		}

		#wrapper-sub{
			margin: 0 auto;
			/* padding: 36px 0 0; */
			overflow: hidden;
		}

		header{
			width: 100%;
			margin: 0 auto;
			text-align: left;
		}
		div#ctv_tab{}

		div#container{
			width: 100%;
			margin: 0 auto;
			padding: 0;
			text-align: center;
		}
		div#title_container{
			text-align: center;
			width: 960px;
			position: relative;
			margin: 0 auto;
		}
			div#bg-wrapper{
				background: url(../img/t-bg-logo.png) center top no-repeat;
				animation: logo-circle 30s linear infinite;
				will-change: transform;
				height: 866px;
				width: 866px;
				z-index: -1;
				/* margin: -213px auto 0; */

				/* margin: -626px auto 0; */
				margin: -730px auto 0; /* 20220129 */
				display: inline-block;
				position: relative;
			}
			#bg-wrapper{ animation-duration: 300s; }
			@keyframes logo-circle{ 100%{ transform: rotate(1turn); } }

			h1{}
			h1 img.logo{
				padding: 40px 0 0;
				margin: 0 auto;
				width: auto;
			}
			h1 img.t-onda{
				position: absolute;
				right: 46px;
				top: 66px;
				width: auto;
			}

			h1 img.logo-a{
				padding: 10px 0 0;
				margin: 0 auto;
				width: auto;
			}

			h2{
				/* background: #e10784; */
				/* background: #ff0066 url(../img/bg-date.png) center center repeat; */
				/* height: 92px; */
			}
			h2 img{}

		/* div.cap{
			background: #FFF url(../img/bg-caption.png) center top no-repeat;
			height: 389px;
			width: 960px;
			margin: 0 auto;
			vertical-align: middle;
		} */



		/* div.cap1,
		div.cap2{
		    width: 960px;
		    height: 389px;
		    position: relative;
			margin: 60px auto 0;
		}
		.cap1 img,
		.cap2 img{
			position: relative;
			z-index: 2;
			margin: 95px 0 0;
		}
		.cap1 img{ width: 755px; }
		.cap2 img{ width: 683px; }
		.cap1:after,
		.cap2:after{
			z-index: 0;
		    width: 100%;
		    height: 100%;
		    position: absolute;
			top: 0;
			left: 285px;
		    background: url(../img/bg-caption.png);
			background-repeat: no-repeat;
		    content: '';
		    -webkit-animation: rotate-bg 24s linear infinite;
			transform-origin: 194px 194px;
		}
		@-webkit-keyframes rotate-bg{
			0%  { transform: rotate(0); }
			100%{ transform: rotate(0); }
				100%{ transform: rotate(360deg); }
		} */






		div.t-menu{
			position: relative;
			margin: -32px auto 0;
			margin: -280px auto 0; /* 動画ない場合 */
		}
		div.t-menu ul{
			width: auto;
			margin: 80px auto 40px;
		}
			div.t-menu ul li{
				text-align: center;
			}
			div.t-menu ul li img{
				margin: 0 auto 20px;
				max-height: inherit;
			}



		p.t-cap{
			font-size: 2.8rem;
			font-weight: bold;
			color: #555;
			margin: 0 0 40px;
			text-align: center;
		}

		div.t-tiktok{
		}
		div.t-tiktok img{
			margin: 24px auto 0;
			max-height: inherit;
			width: 100px;
		}

		div.t-official{
			width: 960px;
			max-width: 960px;
			margin: 0px auto 0px;
			padding: 0px 0 0px;
			overflow: hidden;
		}
		div.t-official ul{
			display: flex;
			justify-content: center;
			flex-wrap: wrap;
			margin: 0px auto 0px;

			/* overflow: hidden; */
		}
			div.t-official ul li{
				width: 30%;
				overflow: hidden;
				margin: 0 5%;
				text-align: center;
			}
			div.t-official ul li img{
				margin: 24px auto 0;
				max-height: inherit;
				width: 80px;
			}


			div.t-link{
				width: 960px;
				max-width: 960px;
				margin: 0px auto 0px;
				padding: 0px 0 0px;
				overflow: hidden;
			}
			div.t-link ul{
				display: flex;
				justify-content: center;
				flex-wrap: wrap;
				margin: 0px 0 0px;

				/* overflow: hidden; */
			}
				div.t-link ul li{
					width: 31%;
					overflow: hidden;
					margin: 0 1.1%;
					text-align: center;
				}
				div.t-link ul li a{
					background: #FFF;
					border-radius: 16px;
					display: block;
					width: 160px;
					height: 160px;
					margin: 0 auto;
					padding: 0;
					line-height: 160px;
				}
				div.t-link ul li img{
					margin: 0px auto 0;
					width: auto;
					max-width: initial;
					max-height: inherit;
					vertical-align: middle;
				}





		/* 各ページ */
		div#sub_container{
			background: #FFF;
			background-image:
				url("../img/bg-sub-h.png"),
				url("../img/line-color17.png");
			background-position:
					top center,
					bottom center;
			background-repeat:
					repeat-x,
					repeat-x;
			background-size:
				100% 64px,
				auto;
			/* background: #00938a; */
			margin: 0 auto;
		}
		div#sub_container-inner{
			text-align: left;
			width: 960px;
			margin: 0px auto 0;
			padding: 10px 0 12px;
		}
			div#sub_container-inner h1{
				display: inline-block;
			}
				div#sub_container-inner h1 a img{
					width: 160px;
					display: block;
				}
				div#sub_container-inner h1 a:hover img{
					opacity: 1 !important;
				}
			div#sub_container-inner h2{
				display: inline-block;
				text-align: left;
			}
				div#sub_container-inner h2 img{
					max-height: inherit;
					width: 100%;
					max-width: inherit;
					margin: 0 auto 8px;
					display: block;
				}



		/* SDGsとは？ */
		div.about-content{
			width: auto;
			padding: 36px 0 72px;
			/* background: #FFF; */
		}
			div.about-photo{
				width: 860px;
				margin: 0 auto;
			}
				div.about-photo img{}
				div.about-photo p.photo-sup{
					font-size: 1.6rem;
					line-height: 2;
					text-align: left;
				}

			p.movie-sup{
				text-align: left;
			}
				p.movie-sup span{ font-size: 80%; }


		div.about-SDGs{
			width: 780px;
			margin: 0 auto 32px;
			padding: 40px;
			background: #f4fcff;
			border-radius: 4px;
		}
			div.about-SDGs p{
				font-size: 1.8rem;
				line-height: 1.64;
				text-align: left;
			}
				div.about-SDGs p span{ color: #c50e28; }

		img.p-goals{
			width: 860px;
			margin: 0 auto 40px;
		}
		p.sdgs-catch1,
		p.sdgs-catch2{
			font-size: 2.4rem;
			line-height: 1.6;
			font-weight: bold;
			color: #555;
			margin: 0 auto 64px;
			text-align: center;
			width: auto;
		}
		img.p-logo{
			width: auto;
			max-width: initial;
			margin: 0 auto 40px;
		}
		p.sdgs-catch2{}

		div.btn-catch2{
			width: 960px;
			margin: 0 auto 100px;
			overflow: hidden;
		}
			div.btn-catch2 a{}
			div.btn-catch2 a img{}
				div.btn-catch2 a img.btn-left{
					float: left;
					margin: 0;
				}
				div.btn-catch2 a img.btn-right{
					float: right;
				}

		div.mediacompact{
			width: 940px;
			margin: 0 auto 24px;
			overflow: hidden;
		}
		div.mediacompact img{
			width: 25%;
			max-width: initial;
			margin: 0px 16px 8px 0;
		}
			div.mediacompact h3{
				width: auto;
				/* text-align: left; */
				font-size: 2.4rem;
				line-height: 1.6;
				font-weight: bold;
				padding: 0 0 0 4px;
				margin: 0 0 24px;
			}
			div.mediacompact div{
				display: flex;
				align-items: flex-start;
			}
				div.mediacompact div div{
					margin: 0px auto 0;
				}
				div.mediacompact p{
					width: auto;
					text-align: left;
					font-size: 1.8rem;
					line-height: 1.64;
					margin: 0 auto 16px;
				}
				div.mediacompact p span{
					text-align: left;
					font-size: 1.46rem;
					line-height: 1.4;
					display: inline-block;
				}



		/* キャッチ！コーナー */
		div.catch-content{
			width: auto;
			padding: 36px 0 72px;
		}
			div.catch-content p.s-cap{
				width: auto;
				font-size: 2.8rem;
				line-height: 1.64;
				margin: 0 auto 40px;
				text-align: center;
			}

		img.logo-catch{
			width: auto;
			max-width: initial;
		}
		p.catch-oa{
			font-size: 2.0rem;
			margin: 8px 0 20px;
		}

		div.catch-oalist{
			width: 960px;
			margin: 0 auto 20px;
		}
			p.intro-t{
				text-align: center;
				padding: 20px 0 0;
				font-size: 2.0rem;
				line-height: 1.64;
			}
			div.catch-oalist ul{
				display: inline-block;
				text-align: left;
				margin: 0 auto;
				padding: 20px 20px 8px;

				width: 96%;
			}
				div.catch-oalist ul li{
					font-size: 2.4rem;
					line-height: 2.2;

    				margin: 0 auto 64px;
				}
				div.catch-oalist ul li span{
				}
			p.notice{
				line-height: 2.6;
				padding: 0;
			}
			div.catch-oalist img.catch-oaimg{
				width: 96%;
			}
			img.catch-oaimg{
				width: auto;
			}

			div.catch-oanext{
				width: 960px;
				margin: 0 auto 20px;
				font-size: 1.84rem;
				padding: 20px 4px;
			}
				div.catch-oanext h3{
					font-size: 2.12rem;
					line-height: 1.8;
				}

		img.s-cap{
			height: auto;
			margin: 0 auto;
			display: block;
		}



		/* キャッチ！特番 */
		div.catch-content2{
			width: auto;
			padding: 36px 0 0px;
		}
					p.catch-oatitle{
						font-size: 2.4rem;
						margin: 8px 0 20px;
					}
			img.program-ttl{
			    width: auto;
			    display: block;
			    margin: 0 auto;
			}
			div.catch-content2 p.s-cap{
				width: auto;
				font-size: 2.4rem;
				line-height: 1.48;
				margin: 40px auto 64px;
				margin: 40px auto 32px;
				text-align: center;
			}
			div.catch-content2 p.s-cap img{
				max-width: 860px;
			}

			p.locipo-st{
				font-size: 2.2rem;
			}
				p.locipo-st img{}
			div.movie-w{
				width: auto;
			}

			div.cast-wrapper{
				padding: 32px 0 64px;
			}
			div.cast{
				width: 960px;
				max-width: 960px;
				margin: 36px auto 0px;
				padding: 8px 0 24px;
				overflow: hidden;
			}
			div.cast img.pro-cast{
				width: 880px;
				max-width: 880px;
				margin: 36px auto 0px;
			}
			div.cast ul{
				display: flex;
				justify-content: center;
				flex-wrap: wrap;
				margin: 8px 0 0;

				/* overflow: hidden; */
			}
				div.cast ul li{
					width: 31%;
					overflow: hidden;
					margin: 0 1.1% 0;
					text-align: center;
				}
				/* div.cast ul li:nth-child(4){
					clear: both;
				} */
				div.cast ul li:nth-child(1){
					margin: 0px 0 0 -22px;
				}
				div.cast ul li:nth-child(4){
					margin: 0px 0 0 -22px;
				}

				div.cast ul li img{
					margin: 30px 0 30px;
					max-height: inherit;
				}

				div.prog-wrapper{
					padding: 32px 0 64px;
				}
				div.prog-cont{
					width: 960px;
					max-width: 960px;
					margin: 36px auto 0px;
					padding: 8px 0 24px;
					overflow: hidden;
				}
				div.prog-cont ul{
					display: flex;
					justify-content: center;
					flex-wrap: wrap;
					margin: 8px 0 0;

					/* overflow: hidden; */
				}
					div.prog-cont ul li{
						width: 98%;
						overflow: hidden;
						margin: 28px auto 0;
						display: flex;
					}
					/* div.cast ul li:nth-child(4){
						clear: both;
					} */
					div.prog-cont ul li:nth-child(2){
						/* margin: 0px 0 0 -22px; */
					}
					div.prog-cont ul li img{
						margin: 0px 0 32px;
						width: 48%;
						max-height: inherit;
						max-height: 256px;
					}
					div.prog-cont ul li p{
						width: auto;
						margin: 0 0;
						text-align: left;
						padding: 2px 0 0 3%;
						font-size: 1.8rem;
						line-height: 1.72;
					}
					div.prog-cont ul li p strong{
						font-size: 1.96rem;
						border-bottom: 4px solid #b7e4da;
						display: inline-block;
						margin: 0 0 12px 0;
						padding: 0 4px;
					}
					div.prog-cont ul li p span.t-link{
						font-size: 1.6rem;
						word-break: break-all;
					}

				div.prog-cont ul.m-cont{
					/* display: flex;
					justify-content: center;
					flex-wrap: wrap; */
					width: 88%;
					margin: 16px auto 4px;
				}
					div.prog-cont ul.m-cont li{
						text-align: left;
						line-height: 1.4;
						margin-bottom: 16px;
						text-indent: 0em;
						font-size: 2.0rem;
					}
					div.prog-cont ul.m-cont li::before{
						/* content: "\f0a4";
						font-family: 'FontAwesome';
						vertical-align: middle;
						display: inline-block; */
						padding: 0 6px 2px 0px;
					}



		/* キャスター */
		body#caster{
			/* background: #eefffe; */
		}
		div.caster{
			padding: 36px 0 36px;
		}
			div.caster p.s-cap{
				width: auto;
				font-size: 2.8rem;
				line-height: 1.64;
				margin: 0 0 40px;
				text-align: center;
			}

			ul.caster{
				margin: 60px auto 0;
				width: 880px;
			}
				ul.caster li{
					margin: 0 auto 80px;
					min-height: 342px;
				}
				div.caster-wrapper{
					display: flex;
					justify-content: center;
					flex-wrap: wrap;
					align-items: flex-end;
					height: 100%;
					margin: 0 auto;
				}
					div.a-onda,
					div.a-matsubara,
					div.a-suzuki,
					div.a-mochizuki,
					div.a-sano,
					div.a-abe,
					div.a-ueyama,
					div.a-hirayama,
					div.a-ishibashi,
					div.a-XXXXXXXX{
						background-position:
								bottom center;
						background-repeat:
								repeat-x;
						background-size:
							100% 85%;
					}
					div.a-onda{}
					div.a-matsubara{}
					div.a-suzuki{}
					div.a-mochizuki{}
					div.a-sano{}
					div.a-abe{}
						div.a-XXXXXXXX{}

					div.caster-name{
						width: 330px;
						background-position:
								bottom 52px center;
						background-repeat:
								no-repeat;
						margin: 0 auto;
						height: 294px;
						position: relative;
						background-size: auto;
					}
						div.a-onda div.caster-name{}
						div.a-matsubara div.caster-name{}
						div.a-suzuki div.caster-name{}
						div.a-mochizuki div.caster-name{}
						div.a-sano div.caster-name{}
						div.a-abe div.caster-name{}
							div.a-XXXXXXXX div.caster-name{}

						div.caster-name-inner{
							position: absolute;
							bottom: 0;
							width: 100%;
						}
							div.caster-name div.sdgs-mark{
								text-align: right;
								margin: 16px 8px 8px;
							}
							div.caster-name div.sdgs-mark img{
								width: 60px;
							}
							div.caster-name p{
								color: #FFF;
								font-size: 2.0rem;
								line-height: 52px;
								height: 52px;
								padding: 0;
								text-align: center;
							}
							div.a-onda div.caster-name p{}
							div.a-matsubara div.caster-name p{}
							div.a-suzuki div.caster-name p{}
							div.a-mochizuki div.caster-name p{}
							div.a-sano div.caster-name p{}
							div.a-abe div.caster-name p{}
								div.a-XXXXXXXX div.caster-name p{}

					div.caster-movie{
						width: 550px;
					}
						div.caster-movie div.youtube-wrapper{
							width: 92%;
							margin: 0 auto 20px;
						}
						div.caster-movie div.youtube-inner{
							/* margin: 0 auto 16px; */
						}
						div.caster-title{
							text-align: center;
							color: #FFF;
							font-size: 2.0rem;
							line-height: 52px;
							min-height: 52px;
							padding-left: 0;
							padding: 0 10px;
						}
						div.caster-title p{
							padding: 8px 0;
						}
							div.a-onda div.caster-title{}
							div.a-matsubara div.caster-title{}
							div.a-suzuki div.caster-title{}
							div.a-mochizuki div.caster-title{}
							div.a-sano div.caster-title{}
							div.a-abe div.caster-title{}
								div.a-XXXXXXXX div.caster-title{}

						div.caster-movie p::before{
							display: inline-block;
							width: auto;
							background: none;
							background-size: auto;
							position: relative;
							left: auto;
						}



			div#movie{
				width: 960px;
				max-width: 960px;
				margin: 0px auto 0px;
				padding: 48px 0 48px;
				padding: 20px 0 48px;
				overflow: hidden;
			}
			div#movie ul{
				display: flex;
				justify-content: center;
				flex-wrap: wrap;
				margin: 50px auto 0;
				/* overflow: hidden; */
			}
				div#movie ul li{
					/* width: 46%; */
					overflow: hidden;
					text-align: center;
					margin: 0 auto 64px;
				}
			div#movie ul.news{
				margin: 0 auto;
			}

			div#movie p.no-movie{
				font-size: 2.0rem;
				margin-bottom: 40px;
			}







		div.photo{
			width: 960px;
			margin: 0 auto;
			/* overflow: hidden; */
			display: flex;
		}
			div.photo img{
				margin: 66px 23px 24px;
			}



	.sns-archive{
		background: transparent !important;
		width: 960px !important;
		margin: 88px auto 48px !important;
		padding: 20px !important;
	}
	.sns{
		width: 640px !important;
	}
	.snstitle{
		font-size: 1.6rem !important;
	}



	div.f-menu{
		background: #b7e4da;
    	padding: 48px 0 64px;
	}
		div.f-menu ul{
			width: 960px;
			/* width: 100%; */
    		margin: 0 auto;
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
		}
			div.f-menu ul li{
				width: 28%;
				font-size: 1.52rem;
				line-height: 2.4;
				margin: 0 16px;
			}
			div.f-menu ul li::before{
				/* display: inline-block; */
				/* content: "|　";
				color: #999; */
			}
			div.f-menu ul li:nth-child(1)::before{
				display: inline-block;
				content: "";
			}

		.flink-catch{
			padding: 0 0 48px;
		}
			.flink-catch img{
				width: 220px;
			}


	.btn-top{
		margin: 40px auto 0px;
	}
		.btn-top a{}


	/* 動画 */
	/* .movie{ text-align: center; } */

	.youtube-wrapper-t{
		margin: -160px auto 0;
		/* width: 92%; */
		max-width: 860px;
		position: relative;
		z-index: 10;
	}
	.youtube-wrapper{
		margin: 24px auto;
		/* width: 92%; */
		max-width: 860px;
	}
	.youtube-wrapper-t p,
	.youtube-wrapper p{
		font-size: 2.2rem;
		line-height: 1.88;
		position: relative;
		line-height: 30px;
		padding-left: 24px;
	}
		.youtube-wrapper-t p::before,
		.youtube-wrapper p::before{
			display: inline-block;
			width: 20px;
			height: 29px;
			background: url(../img/ico-arrow.png) center / 20px 29px no-repeat;
			background-size: contain;
			position: absolute;
			left: 0;
			content: "";
		}

	div.sdgs-mark{
		margin: 10px 0 8px;
		text-align: left;
	}
		div.sdgs-mark img{
			width: 80px;
		}

	.youtube-inner p{
		font-size: 1.8rem;
	}


	footer{
		clear: both;
		background: #00938a;
		/* background: #00938a url(../img/bg-date.png) center center repeat; */
		box-shadow: 0px 0px 1px 1px #087e77;
	}
	footer p{ clear: both; color: #FFF; padding: 2.8em; }
	footer p a,
	footer p a:visited,
	footer p a:hover,
	footer p a:active,
	footer p a:focus{ color: #FFF; }


	/* Page Top
	=================================== */
	#page-top{ position: fixed; bottom: 8px; right: 12px; font-size: 88%; z-index: 20; }
	#page-top a{
		display: block;
		background: url(../img/to_top.png) center top no-repeat;
		background-size: contain;
		width: 70px;
		height: 70px;
		text-indent: -9999px;
	}
	#page-top a:hover{
		background: url(../img/to_top_on.png) center top no-repeat;
		background-size: contain;
	}

}





.clear{ clear: both; }
.clearfix:after{
	display: block;
	visibility: hidden;
	clear: both;
	height: 0;
	content: ".";
	line-height: 0;
}
.clearfix{ display: inline-table; zoom: 1; }
/* Hides from IE-mac \*/
* html .clearfix{ height: 1%; }
.clearfix{ display: block; }
/* End hide from IE-mac */
