@charset "utf-8";

body {
	width: 100%;
}
body,figure,h1,h2,h3,h4,h5,h6,li,ol,p,ul,dl,dt,dd {
	margin: 0;
	padding: 0;
}
h1,h2,h3,h4,h5,h6,p {
	font-weight: 400;
}
li,ol,ul {
	list-style-type: none;
}
img {
	border: 0;
	vertical-align: bottom;
}
#page * {
	box-sizing: border-box;
}
#page {
	font-size: 20px;
	font-family: "Noto Sans CJK JP", Lato, "Noto Sans JP", "游ゴシック Medium", 游ゴシック体, "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1.4;
	overflow: hidden;
}
.serif {
	font-family: 'Shippori Mincho', serif;
	font-weight: 600;
}
#page img {
	width: 100%;
	vertical-align: top;
}
#page a {
	transition: all 0.3s;
	text-decoration: none;
}
#page a:hover {
	opacity: 0.7;
}
@media screen and (min-width: 768px) {
	a[href*="tel:"] {
	  pointer-events: none;
	  cursor: default;
	  text-decoration: none;
	}
  }
@media screen and (max-width: 767px) {
	#page {
		font-size: 18px;
	}
}
@media screen and (max-width: 479px) {
	#page {
		font-size: 16px;
	}
}

.arial {
	font-family: Arial;
}
.flex {
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
}
span.ib {
	display: inline-block;
}
.inner_wrap {
	padding: 0 50px;
	margin: 0 auto;
	max-width: 1400px;
}
.block_title {
	font-size: 38px;
	font-weight: bold;
	text-align: center;
}

.movie_wrap {
    width: 100%;
    max-width: 1040px;
    margin: 0 auto;
    border: #fff 2px solid;
    padding: 15px;
}
#movie {
    position: relative;
    width: 100%;
    padding-top: calc(9 / 16 * 100%);
    margin: 0 auto;
    overflow: hidden;
}
.tvo-video {
	position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
}

@media screen and (max-width: 479px) {
	.inner_wrap {
		padding: 0 20px;
	}
	.block_title {
		font-size: 24px;
	}	
}

#page-top {
    position: fixed;
    font-size: 77%;
    z-index: 500;
}
@media screen and (min-width: 768px) {
    #page-top {
        bottom: 20px;
        right: 20px;
    }
}
@media screen and (max-width: 767px) {
    #page-top {
        bottom: 5px;
        right: 5px;
    }
    #page-top a img {
        width: 50px;
        height: auto;
    }
}

.brXS, .brS, .brM, .brL, .brXL { display: none; }
.brPC { display: none; }
@media (max-width: 479px) { .brXS { display: inline; } }
@media (max-width: 599px) { .brS { display: inline; } }
@media (max-width: 767px) { .brM { display: inline; } }
@media (max-width: 1024px) { .brL { display: inline; } }
@media (max-width: 1399px) { .brXL { display: inline; } }
@media (min-width: 1400px) { .brPC { display: inline; } }

/* =============================================================
      header
============================================*/

/* =============================================================
      main コンテンツ
============================================*/
.inner_wrap {
	max-width: 1300px;
}

@media screen and (min-width: 768px) {
	.img_mob {
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.img_pc {
		display: none;
	}
}

.page_wrap {
	margin: 0 auto;
	max-width: 1400px;
	border-left: solid 8px #003b73;
	border-right: solid 8px #003b73;
	background-color: #fff;
}

.ptn_pageBG { 
	background: url("../images/ptn_pageBG.jpg") center top repeat;
}
.ptn_introBG { 
	background: url("../images/ptn_introBG.jpg") left top repeat;
}
.ptn_programBG { 
	background: url("../images/ptn_programBG.jpg") left top repeat;
}

.txt_red {
	color: #de244b;
}

.logo_wrap {
	font-size: 0em;
    max-width: 1190px;
	margin: 0 auto;
	padding: 60px 40px 80px;
}
.logo {
	margin: 0 auto 0;
	background: url("../images/logo.jpg") center bottom/contain no-repeat;
	padding-bottom: calc(380 / 1196 * 100%);
}
@media screen and (max-width:1499px) {
	.page_wrap {
		margin: 0 50px;
	}
}
@media screen and (max-width:767px) {
	.page_wrap {
		margin: 0 20px;
	}
}
@media screen and (max-width:479px) {
	.logo_wrap {
		padding: 40px 10px 40px;
	}
}

/* =============================================================
      intro イントロ
============================================*/
#intro {
	padding: 0 0 80px;
}
.intro_icon  {
	margin: 300px auto 0;
	width: 80%;
	max-width: 650px;
}
.intro_icon  img {
	margin-top: -300px;
}
.intro_read {
	font-size: 40px;
	color: #003b73;
	font-weight: bold;
	line-height: 1.5;
	max-width: 985px;
	margin: -20px auto 0;
	padding: 30px 20px;
	position: relative;
	text-align: center;
	background-color: rgb(255 255 255 / 80%);
}
.intro_read::before,
.intro_read::after {
	content: '';
	position: absolute;
    width: 100%;
    height: 24px;
	transform: translateX(-50%);
}
.intro_read::before {
	background: url("../images/intro_lineTOP.png") top center no-repeat;
	top: -24px;
	left: 50%;
}
.intro_read::after {
	background: url("../images/intro_lineBTM.png") bottom center no-repeat;
	bottom: -24px;
	left: 50%;
}
@media screen and (max-width:991px) {
	.intro_icon  {
		margin: 28vw auto 0;
	}
	.intro_icon  img {
		margin-top: -28vw;
	}
	.intro_read {
		margin: 40px auto 0;
	}
}
@media screen and (max-width:767px) {
	.intro_read {
		font-size: 26px;
		padding: 10px 15px;
	}
}
@media screen and (max-width:479px) {
	#intro {
		padding: 0 0 60px;
	}
	.intro_read {
		font-size: 22px;
	}
}

/* =============================================================
      program 対象番組
============================================*/
#program {
	padding: 80px 0 100px;
}
#program .block_title {
	color: #003b73;
}
#program .block_title span {
	padding: 20px 30px;
	border: solid 8px #003b73;
	border-bottom: 0;
	background-color: #83ccd2;
	display: inline-block;
}
.program_wrap {
	padding: 0 80px 80px;
	border: solid 8px #003b73;
	border-radius: 10px;
}
.program_wrap_inner {
	justify-content: space-between;
}
.program_item {
	border: solid 1px #003b73;
	flex: 0 0 47%;
	background-color: #fff;
}
.program_date {
	font-size: 38px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	padding: 8px 16px;
	margin: 80px auto 60px;
	background-color: #de244b;
	border-radius: 50px;
}
.oa_time {
	font-size: 22px;
	font-weight: bold;
	color: #fff;
	padding: 8px 16px;
	text-align: center;
	background-color: #003b73;
}
.program_title {
	font-size: 20px;
	color: #003b73;
	font-weight: bold;
	padding: 15px 20px;
}
.program_btm_read {
	font-size: 48px;
	color: #003b73;
	font-weight: bold;
	text-align: center;
	padding: 60px 0 0;
}
.img_present {
	max-width: 750px;
	margin: 20px auto 60px;
}
.img_tabetoBNR {
	max-width: 1000px;
	margin: 0 auto;
	text-align: center;
}
.img_tabetoBNR > span {
	font-size: 14px;
	font-weight: normal;
	margin-top: 5px;
	display: block;
}

@media screen and (max-width:991px) {
	.program_item {
		flex: 0 0 100%;
	}
	.program_item:first-child {
		margin-bottom: 40px;
	}
}
@media screen and (max-width:767px) {
	.program_wrap {
		padding: 0 40px 40px;
	}
	.program_date {
		font-size: 28px;
	}
	.program_btm_read {
		font-size: 30px;
	}
}
@media screen and (max-width:479px) {
	#program {
		padding: 40px 0 50px;
	}
	.program_wrap {
		padding: 0 20px 40px;
	}
	.program_item:first-child {
		margin-bottom: 20px;
	}
	.program_date {
		font-size: 24px;
		margin: 40px auto 30px;
	}
	.oa_time,
	.program_title {
		font-size: 18px;
	}
	.program_btm_read {
		font-size: 24px;
		padding: 30px 0 0;
	}
	.img_present {
		margin: 20px auto 40px;
	}
}




