@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@500;700&display=swap');
.bodyLock {
		overflow: hidden
}
main section {
		padding-top: 60px;
		padding-bottom: 60px;
}
@media(max-width: 767px) {
		main section {
				padding-top: 30px;
				padding-bottom: 30px;
		}
}
.top_annouce {
		margin: 0 auto 40px;
}
.top_notice_frame {
		border: 2px solid #22AC39;
		border-radius: 8px;
		padding: 30px 10px;
		text-align: center;
}
.top_notice_frame p {
		line-height: 1.8;
}
.top_annouce_frame {
		border: 1px solid #22AC39;
		border-radius: 8px;
		background: #fff;
}
.top_annouce_frame p {
		text-align: center;
		line-height: 1.8;
}
.watch_time {
		text-align: center;
		font-weight: bold;
		font-size: 120%;
}
@media(max-width: 767px) {
		.watch_time {
				font-size: 100%;
		}
}
.top_annouce_frame_hd {
		text-align: center;
		background: #22AC39;
		color: #fff;
		border-radius: 4px 4px 0 0;
		height: 60px;
		display: flex;
		align-items: center;
		justify-content: center;
}
.top_annouce_frame_hd h3 {
		font-size: 30px;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 600;
		line-height: 1;
		color: #fff;
}
.top_annouce_frame_hd h3 span {
		position: relative;
		display: inline-block;
		transform: translateY(1px);
}
.top_annouce_body {
		padding: 30px 10px;
		text-align: center;
}
.top_annouce_body p {
		line-height: 1.8;
}
.organizer {
		text-align: center;
		line-height: 1.8;
}
.organizer p:first-child {
		margin-bottom: 0.75em;
}
/* ================ */
.section_program {
		background: #fff;
		padding: 60px 0;
}
.section_program.off {
		border-bottom: 1px solid #ccc;
}
@media(max-width: 767px) {
		.section_program {
				padding: 30px 0;
		}
}
.section_profile {
		background: #fff;
		min-height: 500px;
		padding-left: 40px;
		padding-right: 40px;
}
.section_title_hd {
		margin: 0 0 35px
}
.section_title_hd_flex {
		display: flex;
		align-items: center
}
.section_title_hd_flex h3 {
		margin-right: 60px;
}
.section_title_hd_flex p {
		font-family: "Noto Sans JP", sans-serif;
		font-weight: 500;
		font-size: 28px;
		font-feature-settings: "palt";
		letter-spacing: 0.05em;
}
.section_program .section_title_hd {
		padding-bottom: 20px;
		margin-bottom: 30px;
		border-bottom: 2px solid #22AC39;
}
@media(max-width: 767px) {
		.section_program .section_title_hd {
				padding-bottom: 15px;
		}
		.section_title_hd_flex {
				display: block;
		}
}
.section_movie .section_title_hd {
		padding-bottom: 25px;
		margin-bottom: 70px;
		border-bottom: 1px solid #009844;
}
@media(max-width: 767px) {
		.section_movie .section_title_hd {
				padding-bottom: 20px;
				margin-bottom: 25px;
		}
}
.section_movie {
		background: #DEF2E1;
}
.section_title_hd h3 {
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 700;
		line-height: 1.3;
		font-size: 36px;
		color: #22AC39;
}
@media(max-width: 1300px) {
		.section_title_hd h3 {
				font-size: 28px;
		}
		.section_title_hd_flex p {
				font-size: 22px;
		}
}
.btn_download {
		color: #61a2d2;
		font-family: 'Noto Sans JP', sans-serif;
		font-size: 16px;
		font-weight: 600;
		position: relative;
}
.btn_download a {
		color: #00B3C3;
		text-decoration: none;
		position: relative;
		display: inline-block;
}
.btn_download.gray a {
		pointer-events: none;
		color: #999 !important;
}
.btn_download a::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 20px);
		right: -45px;
		width: 31px;
		height: 38px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 100%;
		background-image: url("../img/icon_download.png");
}
.btn_download.gray a::after {
		background-image: url("../img/icon_download_gray.png")
}
@media (hover: hover) {
		.btn_download a:hover {
				color: #00B3C3;
				text-decoration: underline;
		}
}
.youtube_col {
		max-width: 800px;
		margin: 0 auto 20px;
		padding: 0 20px;
}
.youtube_col_player {
		position: relative;
		width: 100%;
		padding-top: 56.25%;
}
.youtube_col iframe {
		position: absolute;
		top: 0;
		right: 0;
		width: 100% !important;
		height: 100% !important;
		border: none;
}
.youtube_notes {
		margin-left: 1em;
		position: relative;
		line-height: 1.6;
		margin-top: 20px;
}
.youtube_notes span {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: -1em;
}
.link_btn {
		display: flex;
		justify-content: center;
		margin: 45px 20px 45px;
		font-family: 'Noto Sans JP', sans-serif;
		font-size: 24px;
		font-weight: 500;
}
.link_btn a, .off_btn {
		width: 470px;
		height: 80px;
		display: flex;
		justify-content: center;
		align-items: center;
		color: #fff;
		background: #00A0E8;
		text-decoration: none;
		position: relative;
		transition: background 0.2s;
		box-sizing: border-box;
		border: 2px solid #00A0E8;
		border-radius: 6px;
}
.off_btn {
		background: #ccc;
		border: 2px solid #ccc;
}
@media (hover: hover) {
		.link_btn a:hover {
				color: #00A0E8;
				background: #fff;
		}
		.link_btn a:hover::after {
				border-top: 2px solid #2c8de0;
				border-right: 2px solid #2c8de0;
		}
}
@media(min-width: 768px) {
		.sp_caption, .sp_last {
				display: none;
		}
}
@media(max-width: 767px) {
		.top_annouce {
				margin: 0 auto 30px;
		}
		.top_notice_frame, .top_annouce_body {
				text-align: left;
				padding: 15px;
		}
		.top_annouce_frame_hd h3 {
				font-size: 20px;
		}
		.top_annouce_frame_hd {
				height: 44px;
		}
		.organizer {
				text-align: left;
				padding: 0 20px;
		}
		.top_annouce_frame p {
				text-align: left;
				line-height: 1.8;
		}
		.top_annouce_frame p br:not(.mobileBr) {
				display: none
		}
		.link_btn {
				font-size: 18px;
				margin: 30px 20px;
		}
		.link_btn a, .off_btn {
				width: 100%;
				height: 60px;
				max-width: 320px;
		}
		.section_title_hd.first {
				margin-top: 70px;
		}
		.section_title_hd {
				margin-bottom: 25px;
		}
		.section_title_hd h3 {
				font-size: 22px;
		}
		.section_title_hd_flex h3 {
				margin-bottom: 10px;
		}
		.section_title_hd_flex p {
				font-size: 15px;
		}
		.btn_download {
				font-size: 15px;
				padding-top: 5px;
				left: 0;
		}
		.btn_download a::after {
				top: calc(50% - 21px);
				right: -40px;
				width: 31px;
				height: 38px;
		}
}
/* ========== */
.program_hd {
		background: #006FBB;
		background: linear-gradient(90deg, rgba(0, 111, 187, 1) 0%, rgba(0, 148, 214, 1) 15%, rgba(20, 171, 195, 1) 30%, rgba(35, 173, 170, 1) 41%, rgba(66, 178, 118, 1) 53%, rgba(87, 181, 83, 1) 65%, rgba(94, 182, 47, 1) 85%, rgba(36, 172, 57, 1) 100%);
		display: flex;
		align-items: center;
		padding: 10px 15px;
		border-radius: 6px 6px 0 0;
		position: relative;
		margin-bottom: 8px;
		color: #fff;
}
.program_hd_flex {
		display: flex;
		align-items: center;
		color: #fff;
		font-size: 16px;
		font-family: "Noto Sans JP", sans-serif;
		font-weight: 700;
}
.program_hd_flex_left {
		margin-right: 3em;
}
.program_hd_flex_right {
		flex: 1
}
.program_time_flex {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin: 0 0 30px;
		color: #22AC39;
		font-family: 'Noto Sans JP', sans-serif;
		font-size: 32px;
		font-weight: 700;
		font-feature-settings: "palt";
		letter-spacing: 0.03em;
}
.program_line_gr {
		position: relative;
		margin-bottom: 20px;
}
.program_line_gr.last {
		margin-bottom: 10px;
}
.program_line_gr::before, .program_line_gr::after {
		content: '';
		display: block;
		position: absolute;
		top: 5px;
		height: calc(100% - 5px);
		width: 4px;
}
@media(max-width: 767px) {
		.program_line_gr::before, .program_line_gr::after {
				width: 2px;
		}
}
.program_line_gr::before {
		left: 0;
		background: linear-gradient(-180deg, rgba(0, 111, 187, 1) 0%, rgba(0, 148, 214, 1) 15%, rgba(20, 171, 195, 1) 30%, rgba(35, 173, 170, 1) 41%, rgba(66, 178, 118, 1) 53%, rgba(87, 181, 83, 1) 65%, rgba(94, 182, 47, 1) 85%, rgba(36, 172, 57, 1) 100%);
}
.program_line_gr::after {
		right: 0;
		background: linear-gradient(0deg, rgba(0, 111, 187, 1) 0%, rgba(0, 148, 214, 1) 15%, rgba(20, 171, 195, 1) 30%, rgba(35, 173, 170, 1) 41%, rgba(66, 178, 118, 1) 53%, rgba(87, 181, 83, 1) 65%, rgba(94, 182, 47, 1) 85%, rgba(36, 172, 57, 1) 100%);
}
.program_line {
		display: flex;
		align-items: center;
		margin-left: 8px;
		margin-right: 8px;
		padding-top: 15px;
		padding-bottom: 15px;
		border-bottom: 1px solid #ccc;
		padding-left: 15px;
		padding-right: 15px;
		font-family: "Noto Sans JP", sans-serif;
}
.program_line_left {
		display: flex;
		align-items: center;
}
.program_line.hdr {
		background: #C8EACD;
		border-bottom: none;
		padding-top: 10px;
		padding-bottom: 10px;
}
.program_line.footer {
		background: #00A9E4;
		border-bottom: none;
		padding-top: 10px;
		padding-bottom: 10px;
		color: #fff !important;
}
.program_line.empty {
		background: #00A8E4;
		border-bottom: none;
		padding: 0;
		height: 10px;
		margin: 0 0 30px;
		border-radius: 0 0 8px 8px;
}
.program_line.end {
		border-bottom: none;
		padding-bottom: 30px;
}
.program_line .time {
		width: 145px;
		font-weight: 700;
		position: relative;
}
.program_line .time::after {
		content: '|';
		color: #1FAA39;
		display: block;
		position: absolute;
		top: 0;
		right: 0;
}
.program_line.footer .time::after {
		color: #fff;
}
.program_line .title {
		width: 145px;
		color: #22AC39;
		font-family: "Noto Sans JP", sans-serif;
		font-weight: 600;
		position: relative;
		text-align: center;
}
.program_line .title::after {
		content: '|';
		color: #1FAA39;
		display: block;
		position: absolute;
		top: 0;
		right: 0;
}
.program_line.footer .title::after {
		color: #fff;
}
.program_line.footer .title {
		color: #fff;
}
.program_line .cont {
		flex: 1;
		position: relative;
		padding-left: 20px;
}
.program_line .catch {
		color: #22AC39;
		font-size: 20px;
		font-weight: 700;
		margin: 0 0 5px;
		line-height: 1.6;
}
.name_gr {
		display: flex;
		align-items: flex-end;
		font-weight: 500;
}
.program_line .name {
		font-size: 18px;
		font-weight: 600;
		margin-right: 1em;
}
.program_line .name span {
		font-weight: 600;
		font-size: 80%;
		margin-left: 4px;
}
.program_line .member {
		font-size: 14px;
}
.program_line .cont .download {
		position: absolute;
		right: 0;
		bottom: 0;
		text-align: right;
		font-family: "Noto Sans JP", sans-serif;
		font-size: 14px;
		font-weight: 700;
		color: #00A0E8;
}
.download span {
		filter: grayscale(100%);
		display: inline-block;
		padding-right: 40px;
		position: relative;
}
.download span::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 16px);
		right: 0;
		width: 32px;
		height: 32px;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 32px;
		background-image: url("../img/icon_download.png");
		filter: grayscale(100%)
}
.download a {
		color: #00A0E8;
		text-decoration: none;
}
.download a span::after {
		filter: grayscale(0%)
}
.download a span {
		filter: grayscale(0%)
}
@media (hover: hover) {
		.download a:hover span {
				text-decoration: underline !important;
				text-underline-offset: 5px;
		}
}
@media(max-width: 960px) {
		.program_line:not(.hdr) {
				display: block;
		}
		.program_line:not(.hdr) .program_line_left {
				margin-bottom: 15px;
		}
		.program_line.footer .program_line_left {
				margin-bottom: 0;
		}
		.program_line .cont {
				padding-left: 0;
		}
		.program_hd_flex_left {
				margin-right: 1em;
		}
}
.program_notes {
		font-size: 13px;
		line-height: 1.8;
		margin-left: 1em;
}
.program_notes li {
		list-style: none;
		position: relative;
}
.program_notes li span {
		display: block;
		position: absolute;
		top: 0;
		left: -1em
}
@media(max-width: 1300px) {
		.program_time_flex {
				font-size: 26px;
		}
		.program_line .cont .download {
				position: static;
				margin-top: 15px;
				margin-right: 15px;
		}
		.program_line .catch {
				font-size: 18px;
		}
}
@media(max-width: 960px) {
		.program_line .catch {
				font-size: 20px;
		}
}
@media(max-width: 767px) {
		.program_time_flex {
				font-size: 16px;
				margin-bottom: 15px;
		}
		.program_line .catch {
				font-size: 17px;
		}
		.name_gr {
				display: block;
		}
		.name_gr .name {
				margin-bottom: 8px;
		}
		.program_hd_flex.extra {
				display: block;
		}
		.program_line .time, .program_line .title {
				width: 50%;
		}
		.program_line .title::after {
				display: none
		}
}
/* ======================  */
.profile_box {
		position: relative;
		margin: 0 0 40px;
}
.noBreak {
		white-space: nowrap;
}
.profile_frame {
		padding: 30px;
		position: relative;
}
.profile_frame::before {
		content: '';
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		z-index: -2;
		border-radius: 9px;
		background: linear-gradient(-45deg, rgba(0, 111, 187, 1) 0%, rgba(0, 148, 214, 1) 15%, rgba(20, 171, 195, 1) 30%, rgba(35, 173, 170, 1) 41%, rgba(66, 178, 118, 1) 53%, rgba(87, 181, 83, 1) 65%, rgba(94, 182, 47, 1) 85%, rgba(36, 172, 57, 1) 100%);
}
.profile_frame::after {
		content: '';
		position: absolute;
		width: calc(100% - 8px);
		height: calc(100% - 8px);
		top: 4px;
		left: 4px;
		z-index: -1;
		border-radius: 6px;
		background: #fff;
}
@media(max-width: 767px) {
		.profile_frame::after {
				width: calc(100% - 4px);
				height: calc(100% - 4px);
				top: 2px;
				left: 2px;
		}
}
.profile_frame_flex {
		display: flex;
}
.profile_left {
		width: 150px;
		margin-right: 45px;
}
.profile_right {
		flex: 1;
}
.profile_frame .profile_title {
		position: absolute;
		top: 30px;
		left: 0px;
		background: #22AC39;
		display: flex;
		align-items: center;
		justify-content: center;
		min-width: 190px;
		height: 50px;
		border-radius: 0 8px 8px 0;
		color: #fff;
		font-family: "Noto Sans JP", sans-serif;
		font-size: 28px;
		font-weight: 400;
		text-align: center;
}
.history_title_wrap {
		position: relative;
		left: -30px;
		display: flex;
		margin-bottom: 25px;
}
.history_title {
		background: #22AC39;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 50px;
		border-radius: 0 8px 8px 0;
		color: #fff;
		font-family: "Noto Sans JP", sans-serif;
		font-size: 28px;
		font-weight: 400;
		text-align: center;
		padding: 0 20px;
}
@media(max-width: 1300px) {
		.profile_frame .profile_title {
				top: 30px;
				left: 0px;
				min-width: 190px;
				height: 40px;
				font-size: 24px;
		}
		.history_title {
				height: 40px;
				font-size: 24px;
				padding: 0 20px;
		}
}
.profile_photo {
		padding-top: 75px;
}
.profile_left .notes {
		font-family: "Noto Sans JP", sans-serif;
		font-size: 12px;
		padding-top: 10px;
}
.profile_name_hdr {
		height: 75px
}
.profile_name_hdr.extra {
		height: auto
}
.profile_name {
		font-family: "Noto Sans JP", sans-serif;
		font-size: 26px;
		font-weight: 500;
		margin-bottom: 5px;
}
.profile_name span {
		font-size: 70%;
		margin-left: 4px;
}
.profile_member {
		font-family: "Noto Sans JP", sans-serif;
		font-size: 12px;
}
.profile_name_hdr + p {
		line-height: 1.8;
}
.section_history .profile_box p {
		line-height: 1.8;
}
.history_figure {
		float: left;
		width: 423px;
		margin: 0 20px 15px 0;
}
.history_figure img {
		width: 100%;
		height: auto;
}
@media(max-width: 1200px) {
		.history_figure {
				float: left;
				margin: 0 15px 10px 0;
		}
}
@media(max-width: 767px) {
		.profile_frame {
				padding: 20px;
				position: relative;
		}
		.profile_frame .profile_title {
				top: 20px;
				left: inherit;
				right: 0;
				min-width: calc(100% - 140px);
				height: 36px;
				font-size: 18px;
				text-align: left;
				display: flex;
				justify-content: flex-start;
				align-items: center;
				box-sizing: border-box;
				padding: 0 15px
		}
		.profile_frame .profile_title {
				border-radius: 6px 0 0 6px;
		}
		.profile_frame_flex {
				display: block;
		}
		.profile_left {
				width: 100px;
				margin: 0;
				float: left;
		}
		.profile_photo {
				width: 100px;
				padding-top: 0;
		}
		.profile_photo img {
				width: 100%;
				height: auto
		}
		.profile_name_hdr {
				margin-left: 125px;
				padding-top: 50px;
		}
		.profile_name {
				font-size: 20px;
		}
		.profile_name_hdr + p {
				clear: both;
				padding-top: 15px;
		}
		.profile_left .notes {
				font-size: 8px;
				padding-top: 5px;
		}
		.profile_member {
				line-height: 1.6;
		}
		.history_title_wrap {
				left: -20px;
				top: -25px;
				margin-bottom: 25px;
				width: calc(100% + 40px);
		}
		.history_title {
				height: 46px;
				border-radius: 8px 8px 0 0;
				font-size: 18px;
				padding: 0 10px;
				width: 100%;
				box-sizing: border-box;
		}
		.history_title.tall {
				height: 60px
		}
		.history_figure {
				float: none;
				width: 100%;
				margin: 0 0 20px;
		}
}
/* =============== */
.top_notice {
		margin: 0 0 65px;
		background: #fff;
		border: 1px solid #da1826;
		border-radius: 6px;
		padding: 35px 10px
}
.top_notice p {
		text-align: center;
		line-height: 1.8;
		margin: 0;
		padding: 0
}
@media(max-width: 767px) {
		.top_notice {
				padding: 15px;
				margin-bottom: 25px;
		}
		.top_notice p {
				text-align: left;
		}
}
@media(max-width: 375px) {
		.top_notice p {
				font-size: 15px;
		}
}
.separate_line {
		background: #22AC39;
		height: 2px;
}