@charset "utf-8";

body{
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, Meiryo, sans-serif;
}

html {overflow: auto;}

img{
margin : 0;
padding : 0;
border: none;
vertical-align: bottom;
width: 100%;
}

p{
margin:0;
padding:.5rem 0;
font-size: 1rem;
line-height:1.6em;
}

table {
border-collapse: collapse;
border-spacing: 0;
}


/* パンくず */
#topicpath{
background:#5fbbff;
color:#fff;
}

#topicpath p{
margin:0 auto;
padding:.3rem 1rem;
max-width: 1100px;
font-size: .9rem;
}
#topicpath p a{
color:#fff;
}

/* ヘッダー */

header{
margin: 0;
padding: 0;
background: url(img/header_bg2024.jpg) 0 0 no-repeat;
background-size: 100% auto;
text-align: center;
box-sizing: border-box;
}


header.header-top{
padding-top: 32.5%;
background: url(img/header_bg2024.jpg) 0 0 no-repeat;
background-size: 100% auto;
position: relative;
}

header.header-top p{
box-sizing: border-box;
width: 100%;
position: absolute;
top: 50%;
left: 50%;
margin-right: -50%;
transform: translate(-50%, -50%)
}

header p img{
margin: 1rem 0;
width: 100%;
max-width:240px;
}

@media print, screen and (min-width:769px) {
header.header-top p img{max-width:460px;}
}


/* レイアウト */

main{
margin: 0;
padding : 1rem 0;
background: #fff;
color: #333333;
}

section{
margin: 0 0 1rem 0;
padding :0;
box-sizing: border-box;
}

.container{
max-width: 980px;
margin: 0 auto;
padding: 1rem;
box-sizing: border-box;
}

.inner{
margin: 0 auto;
padding: 0 1rem;
box-sizing: border-box;
}

.container h2{
margin-bottom:15px;
padding:.8rem;
text-align: center;
background: #f4f4f4;
font-weight:normal;
color:#00a0ea;
border-bottom: 1px solid #ddd;
font-size: 1.3rem;
}

.container h3{
margin:1.5rem 0;
padding:.5rem 1rem;
/*border-top: 1px solid #ddd;*/
border-bottom: 3px double #ddd;
text-align: left;
color:#00a0ea;
font-size: 1.15rem;
}

.container h4{
margin: 1rem 0;
padding:.5rem 0 .5rem .5rem;
text-align: left;
border-left: 5px solid  #5fbbff;
/*color:#009de6;*/
font-size: 1rem;
font-weight:normal;
background: #f5f5f5;
}

.container a{
color:#00a0ea;
}

.container a.btn{
text-decoration: none;
margin: 0px 0;
display: inline-block;
border: 1px solid #cccccc;
padding:15px;
}

.container a:hover.btn{
border: 1px solid #00a0ea;
}


p.typ-r{
width:100%;
text-align: right;
}


@media print, screen and (min-width:769px) {
.container h2{font-size: 1.6rem;}
.container h3{font-size: 1.45rem;}
}

/* ふるさとたっぷり */

.furusato img{
max-width: 400px;
margin: 0 auto 1rem auto;
}

.furusato p.furupuri{
text-align: center;
}

@media print, screen and (min-width:769px) {
.furusato{display:flex;}
.furusato p{font-size: 1.15rem;}
.furusato p.furupuri{width: 100%;margin-left:1.5rem;}
}


/* 概要 */
.gaiyou{background: #fff;}

.gaiyou table{
margin: 0 0 1rem 0;
width: 100%;
text-align: left;
font-size: 1rem;
}

.gaiyou tr{
border-bottom: 1px solid #eee;
}
.gaiyou tr:last-child{border-bottom: none;
}
.gaiyou th{
padding:.6rem 1rem;
vertical-align:top;
font-weight:normal;
width: 160px;
}
.gaiyou td{
padding:.6rem 1rem;
}
.gaiyou td span{
margin-right: 1rem;
width: 80px;
display:inline-block;
}

@media screen and (max-width:768px) {
.gaiyou table{font-size: 1rem;}
.gaiyou th{display:block;padding:.5rem 1rem 0 1rem;}
.gaiyou td{display:block;}
.gaiyou td span{margin-right: .3rem;width: 70px;}
}


/* 所在地 */
.shozai{
margin: 0 auto;
padding:0;
background: #fff;
}

.shozai ul{
margin: 0;
padding:0;
list-style:none;
box-sizing: border-box;
}
.shozai li{
box-sizing: border-box;
padding:.5rem;
}
.shozai p{
margin: 0;
padding:.5rem;
font-size: .95rem;
}
.shozai .honsya li.map{width:80%;margin: 0 10%;}

@media print, screen and (min-width:769px) {
.shozai ul{
display: flex;
flex-wrap :wrap;
justify-content: flex-start;
}
.shozai .honsya li.address{width:65%;}
.shozai .honsya li.map{width:35%;margin: 0;}
.shozai .shisya li{width:50%;}
.shozai ul.honsya h4{margin: 0 .3rem;width:100%;}
.shozai p{font-size: 1rem;}
}

.ggmap {
position: relative;
padding-bottom: 56.25%;
height: 0;
overflow: hidden;
}

.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}


/* 番組種別 */

.shubetsu table{
width: 100%;
border-top: 1px solid #ECEDF0;
}

.shubetsu tr{
border-bottom: 1px solid #ECEDF0;
}

.shubetsu th{
box-sizing: border-box;
color:#;
font-weight: normal;
padding:1rem;
width: 80px;
}
.shubetsu td{
padding:1rem;
}

.shubetsu ul{
list-style:none;
margin: 0;
padding:0 .5rem 2rem .5rem;
}
.shubetsu li{
margin: 0;
padding:.5rem;
color: #e10000;
}

.shubetsu li a {
color: #3B3F4A;
text-decoration: none;
}
.shubetsu li a:hover{
text-decoration: underline;
}



/* 青少年に見てもらいたい番組 */

.youth_program ul{
margin: 0;
padding:0;
list-style:none;
box-sizing: border-box;
display: flex;
flex-wrap :wrap;
justify-content: flex-start;
border-top: 1px dotted #ccc;
border-left: 1px dotted #ccc;
}
.youth_program li{
box-sizing: border-box;
padding:.8rem;
width:50%;
border-bottom: 1px dotted #ccc;
border-right: 1px dotted #ccc;
text-align: center;
}
.youth_program li img{
margin-bottom: .6rem;

}

@media print, screen and (min-width:769px) {
.youth_program li{width:25%;}
}




/*個人情報保護方針*/
.privacy ol{
margin:0;
padding:0 0 0 1em;
}
.privacy ol li{
margin:0;
padding:0 0 .5em 0;
}

.privacy ul{
margin:0;
padding:0 0 0 1em;
list-style-type: disc
}

.privacy ol.shutoku{
font-weight:bold;
}
.privacy p.indent-1 {
padding-left:1em;
text-indent:-1em;
}
.privacy .privacy-in{
margin:0;
padding:1em;
}


.privacy .policy_list{
margin: 1em auto 2em auto;
border-collapse: collapse;
border-left: 1px solid #dddddd;
border-spacing: 0;
border-top: 1px solid #dddddd;
table-layout: fixed;
word-wrap: break-word;
box-sizing: border-box;
}


.privacy .policy_list thead {
background-color: #aaa;
color: #fff;
}


.privacy .policy_list th, .privacy .policy_list td {
border-bottom: 1px solid #dddddd;
border-right: 1px solid #dddddd;
padding: 5px;
box-sizing: border-box;
font-weight: normal;
}

.privacy .policy_list tbody td {
text-align: center;
}


.privacy .policy_list tbody th {
background-color: #f5f5f5;
text-align: left;
}

.privacy .policy_list a {
text-decoration: none;
color: #5fbbff;
}

@media print, screen and (max-width:768px) {
.privacy .policy_list th,.privacy .policy_list tbody td {
font-size: .8em;
}
}


/*視聴データの取扱いについて*/

.data ul{
margin:0;
padding:0 0 0 1em;
list-style-type: disc
}



/* 環境方針 */
.eco img{
margin:0;
padding:0;
width:33.33%;
}

.eco ul{
margin:0;
padding:0;
list-style-type: none
}

.eco ul li{
margin:0;
padding:.3em 0;
padding-left:1.5em;
text-indent:-1.5em;
}

/* 一般事業主行動計画 */
.jigyou p{
margin:0;
padding:0 1em;
}


/* 番組審議会 */

.shingi h5{
margin:1rem 0 0 0;
padding:0;
font-size: 1rem;
}

.shingi h6{
margin:1rem 0 0 0;
padding:.5em;
font-size: 1rem;
background: #f5f5f5;
font-weight:normal;
}

.shingi ul{
list-style-type:circle;
margin:1em 0 0 1.5em;
padding:0;
}

.shingi ul p{
margin-left:-1.5em;
}

.shingi li{
padding:0 0 .5em 0;
}

/* グループ */
.groupe img{
max-width:200px;
}
.groupe ul{
margin:0;
padding:0;
list-style-type: none;
}

.groupe li{
margin:1rem 1%;
padding:1rem;
box-sizing: border-box;
border: 1px solid #e5e8eb;
}

@media print, screen and (min-width:769px) {
.groupe ul{
display:flex;
flex-wrap: wrap;
}
.groupe ul li{
width:48%;
}
}


/* チャンネル */

.channel ul{
margin:0;
padding:0;
list-style-type: none;
display:flex;
flex-wrap: wrap;
box-sizing: border-box;
}
.channel li{
margin:3px;
padding:.3rem .5rem;
box-sizing: border-box;
border: 1px solid #e5e8eb;
}
.channel ul.channel_tv li{
width: 100%;
max-width: calc(33.3333% - 6px);
}
.channel ul.channel_radio li{
width: 100%;
max-width: calc(50% - 6px);
}


@media print, screen and (min-width:769px) {
.channel ul.channel_tv li{
width: 100%;
max-width: calc(12.5% - 6px);
}
.channel ul.channel_radio li{
width: 100%;
max-width: calc(20% - 6px);
}
}

/* 放送関連リンク */

.kanren ul{
padding-left:2em;

}


/* 採用情報 */
.saiyou img{width: auto;max-width:100%;}

.saiyou ul{
margin:0;
padding:0 1rem;
list-style-type:circle;
}
.saiyou li{
margin:0;
padding:.8rem 0;
}

.saiyou a.btn{
margin: 8px 0;
border: 1px solid #3297d1;
padding:12px 15px;
border-radius: 4px;
background:#3297d1;
color:#ffffff;
}

.saiyou a:hover.btn{
background:#ffffff;
color:#00a0ea;
transition: 0.8s ;
}


/* 404 */
.notfound{margin:2em auto;text-align: center;}

.notfound a{text-decoration: none;}

.notfound a.btn{
margin: 8px auto;
border: 1px solid #3297d1;
padding:12px 0;
border-radius: 4px;
background:#3297d1;
color:#ffffff;
width:200px;
}

.notfound a:hover.btn{
background:#ffffff;
color:#00a0ea;
transition: 0.8s ;
}



/* ユースオーケストラ */

.youth img{width: auto;max-width:100%;border-radius: 5px;}

.youth-top{
text-align: center;
padding-bottom:1rem;
}

.youth-photo{
text-align: center;
font-size: .85em;
}

@media print, screen and (min-width:769px) {
.youth box{display:flex;}
.youth-photo{width: 320px;}
.youth-main{flex: 1;padding-right:1rem;}

}

/*===============================================*/

/*===[2021/09/21追加：ユースオーケストラSDGsバナー]===========*/

/*===============================================*/

.partner_info {
	width:94%;
	max-width:740px;
	margin: 0 auto;
}

.flex-child img { width: 100%; }

.flex-child img {border:1px solid #999;}

.flex-child .noimg_box img {border:none !important;}

/* フレックスボックスの基本設定 等間隔（両端揃え）折返しあり */
[class^="flex-col"] {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

/* コンテンツ下のマージン */
.flex-child { margin-bottom: 10px; }

/* 各カラム毎のコンテンツと疑似要素の横幅 */
.flex-col2 .flex-child { width: calc( (100% - 10px) / 2 ); }

.flex-col3::after,
.flex-col3 .flex-child { width: calc( (100% - 10px) / 3 ); }

.flex-col4::after,
.flex-col4 .flex-child { width: calc( (100% - 10px) / 4 ); }

.flex-col5::before,
.flex-col5::after,
.flex-col5 .flex-child { width: calc( (100% - 20px) / 6 ); }


/* 最終行は両端揃えにしない */
.flex-col4::after,
.flex-col5::before,
.flex-col5::after { content: ""; }

.flex-col5::before { order: 1; }



/*footer*/
footer{
margin:1rem 0 0 0;
padding:.5rem;
justify-content: center;
background: #eee;
}

.infomenu ul{
margin: 0;
padding:1rem 0;
list-style:none;
box-sizing: border-box;
display:flex;
flex-wrap: wrap;
}
.infomenu li{
box-sizing: border-box;
padding:0;
text-align: left;
width:50%;
background: #fff;
border-bottom: 1px solid #e5e8eb;
border-left: 1px solid #e5e8eb;
position: relative;
transition: 0.3s;
line-height: 1rem;
text-decoration: none;
background: #ffffff;
-webkit-transition: 0.3s;
}

.infomenu li:after {
position: absolute;
top: 0;
bottom: 0;
right: 0;
margin: auto;
content: "";
vertical-align: middle;
right: 14px;
width: 6px;
height: 6px;
border-top: 1.5px solid #00a0ea;
border-right: 1.5px solid #00a0ea;
-webkit-transform: rotate(
45deg
);
transform: rotate(
45deg
);
}

.infomenu a{
color:#333;
text-decoration: none;
font-size: .85rem;
display: block;
padding: 18px 24px 18px 10px;
height: 100%;
width: 100%;
box-sizing: border-box;
}

.infomenu a:hover{
color:#00a0ea;
}


@media print, screen and (min-width:769px) {
.infomenu li{width:25%;}
.infomenu a{font-size: .95rem;}
}

@media print, screen and (max-width:480px) {
.infomenu li{width:100%;}
}

.copyright{
padding: .2rem 0;
font-size: .75rem;
text-align: center;
padding-top:4rem;
}
