@charset "UTF-8";
body{
	background-color: #EFEFEF;
	color: #333333;
}

img{
	width:100%;
}

i{
	margin: 0 0.5rem;
}

*,
*:before,
*:after {
	margin: 0;
    padding: 0;
    box-sizing: border-box;
}


/* メインビジュアル 
----------------------------------------*/

.main_wrap{
	width: 100%;
	background: url("../img/cont_bg_on.png");
	background-repeat: repeat;
}

.main{
	width: 100%;
	height: auto;
	background-image: url("../img/main_bg_pc.png");
	/*background-size: cover;*/
	background-size: cover;
	background-position: top;
	display: flex;
	justify-content: center;
	background-repeat: no-repeat;
	margin-bottom: 0rem;
}

.main h1{
	width:100%;
	max-width: 2200px;
	margin: 0 auto;
}


@media screen and (max-width:1024px) {
.main{
	width: 100%;
	height: auto;
	background-image: url("../img/main_bg_pc_1024.png");
	background-size: cover;
	background-position: top;
	display: flex;
	justify-content: center;
	background-repeat: no-repeat;
	margin-bottom: 0rem;
}

}

@media only screen and (max-width: 750px) {
.main{
	/*background-image: url("../img/main_bg_sp.png");*/
}

.main h1{
	width:100%;
	max-width: 100%;
}
	
}

/*コンテンツ
---------------------*/

#contents{
	width: 100%;
	padding: 0;
	margin: 0 auto;
}

#contents_wrap{
	width: 100%;
	padding: 0;
	margin: 0 auto;
	position: relative;
}

section{
	width: 100%;
	margin: 0rem auto;
	position: relative;
}

section.overview{
	width: 100%;
	/*padding: 0 0 12rem; /* スポンサーがある時 */
	padding: 0 0 20rem; /* スポンサーが無い時 */

	background: url("../img/cont_bg_on.png");
	background-repeat: repeat;
    /*background-size: 400% 400%;
    animation: gradientAnimation 7s cubic-bezier(0.42, 0, 0.58, 1) infinite;*/
    position: relative;
}

section.supporter{
	width: 100%;
	padding: 0 0 30rem;

	background: url("../img/cont_bg_on.png");
	background-repeat: repeat;
    /*background-size: 400% 400%;
    animation: gradientAnimation 7s cubic-bezier(0.42, 0, 0.58, 1) infinite;*/

    display: none; /* スポンサーが無い時 */
}

.overview_cont_bg{
	width: 100%;
	margin: 0 auto 0;
	background: url("../img/cont_bg.png");
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	position: relative;
}

.program_top{
	position: relative;
	width: 100%;
	height: calc((115 / 1669) * 100vw); 

	/*margin-top: -15rem; /* スポンサーがある時 */
	margin-top: -18rem; /* スポンサーが無い時 */
	padding-top: 1px; /* 画像の隙間調整 */
}

.program_top::before{/*画像を絶対配置*/
    content: '';
    width: 100%;
    display: block;

	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	width: inherit;
	height: inherit;

	background-image: url("../img/cont_bg_program.png");
	background-size: cover;
	background-position: top;
	background-repeat: no-repeat;
}

section.program{
	width: 100%;
	margin: 0 auto 0;
	padding: 0 0 12rem;

	background: #fcf4e8;
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
    /*background-size: 400% 400%;
    animation: gradientAnimation 7s cubic-bezier(0.42, 0, 0.58, 1) infinite;*/
}

.cont_wrap{
	max-width: 1100px;
	margin: 0 auto;
}

.cont_wrap.overview_wrap{
	max-width: 1100px;
	/*margin: -5rem auto 0;*/
}

/* 見出しタイトル */

.midashi01{
	width: 100%;
    font-size: 5rem;
    text-align: center;
    color: #3eb164;
    font-family: "Zen Maru Gothic", sans-serif;
	
	font-optical-sizing: auto;
    font-weight: 300;
    font-style: italic;
    letter-spacing: 0.25rem;
    position: relative;
    display: inline-block;
    margin: 0 auto 6rem;
}


/* 見出しタイトル */
.midashi01.ttl_overview{
	width: 161px;
	display: block;
}

.midashi01.ttl_supporter{
	width: 755px;
	display: block;
	margin: 0 auto 10rem;
}

.midashi01.ttl_program{
	width: 450px;
	display: block;
	margin: 0 auto 12rem;
}


@media screen and (min-width:786px) {
.cont_wrap.overview_wrap{
	max-width: 1100px;
	margin: 0 auto;
	position: relative;
	top: -5rem;
}
 
}

@media screen and (min-width:1281px) {
.cont_wrap.overview_wrap{
	max-width: 1100px;
	margin: 0 auto;
	position: relative;
	top: -6rem;
}

}

@media screen and (min-width:1536px) {
.cont_wrap.overview_wrap{
	max-width: 1100px;
	margin: 0 auto;
	position: relative;
	top: -10rem;
}

}

@media screen and (min-width:1921px) {
.cont_wrap.overview_wrap{
	max-width: 1100px;
	margin: 0 auto;
	position: relative;
	top: -15rem;
}
 
}

@media only screen and (max-width: 1920px) {
section.overview{
	width: 100%;
	/*padding: 0 0 12rem; /* スポンサーがある時 */
	padding: 0 0 28rem; /* スポンサーが無い時 */
	margin-top: -1px; /* 画像の隙間調整 */
}

}

@media only screen and (max-width: 1280px) {

/* 見出しタイトル */

.midashi01.ttl_overview{
	width: 14%;
}
.midashi01.ttl_supporter {
	width: 64%;
}

.midashi01.ttl_program{
	width: 38%;
}

}

@media only screen and (max-width: 1024px) {
.cont_wrap.overview_wrap{
	max-width: 1100px;
	margin: 0 auto;
	position: relative;
	top: 0rem;
}

}


@media only screen and (max-width: 750px) {
	
#contents{
	width: 100%;
	margin: 0 auto;
}

#contents_wrap{
	width: 100%;
	padding: 0;
	margin: 0 auto;
}

section{
	margin: 0 auto;
	}

section.overview{
	padding: 0 0 10rem;
	}

section.supporter{
	padding: 4rem 0 10rem;	
	}

section.program{
	padding: 0 0 6rem;
}

.cont_wrap{
	max-width: 100%;
	padding: 0 1rem;
}
	
.cont_wrap.overview_wrap{
	position: relative;
	top: -2rem;
}


.overview_cont_bg{
	width: 100%;
	margin: 0 auto 0;
	background: url("../img/cont_bg.png");
	background-position: bottom;
	background-size: contain;
	background-repeat: no-repeat;
}


/* 見出しタイトル */

.midashi01{
	margin: 0 auto 2rem;
}

.midashi01.ttl_overview{
	width: 22%;
}
.midashi01.ttl_supporter {
	width: 90%;
	padding: 0 0 0;
}

.midashi01.ttl_program{
	width: 60%;
	margin: 0 auto 8rem;
}

}





/*概要
---------------------*/
.overview_text{
    font-family: "Zen Maru Gothic", sans-serif;
	text-align: center;
	color: #ffffff;
	font-size: 3rem;
	line-height: 2;
	letter-spacing: 0.1rem;
	margin: 0 auto 6rem;
}

.txt_adjust_kanzi{
	letter-spacing: 1rem;
}

.txt_adjust_kana{
	letter-spacing: -0.15rem;
}

.txt_adjust{
	letter-spacing: -1.6rem;
}

.broadcast_day.sp_adjust{
	/*letter-spacing: -0.3rem;*/
}

.official{
	width: 100%;
}

.official .official_x{
    width: 60px;
    margin: 0 auto;
}

.official a .x_logo{
	position:relative;
	top:0;
}

.official a .x_logo:hover{
	top:-10px;
	transition:0.3s;
	opacity:0.8;
}


@media only screen and (max-width: 1280px) {
.overview_text{
	font-size: 2.4rem;
}

}


@media only screen and (max-width: 750px) {
.cont_wrap.overview_wrap{
	max-width: 100%;
}


.overview_text{
	font-size: 2rem;
	margin: 0 auto 4rem;
}

}


@media only screen and (max-width: 360px) {
    .overview_text {
        font-size: 1.6rem;
    }
}


/*今月の番組サポータ企業
---------------------*/

.monthly_theme{
	width: 100%;
	margin: 0 auto;
}

.supporter_wrap{
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto;
	flex-wrap: wrap;
}

.supporter_wrap li{
	width: 20%;
}


/* --- 3. パソコン・タブレット横向き用（1024px以上） --- */
@media screen and (min-width: 1024px) and (max-width: 1366px)  {
.monthly_theme{
	width: 90%;
	margin: 0 auto;
}

.main{
	width: 100%;
	height: auto;
	background-image: url("../img/main_bg_pc_1024.png");
	background-size: cover;
	background-position: top;
	display: flex;
	justify-content: center;
	background-repeat: no-repeat;
	/*margin-bottom: 0rem;*/
}

.main h1{
	width:100%;
	max-width: 1366px;
	margin: 0 auto;
}

.cont_wrap.overview_wrap{
	max-width: 1100px;
	margin: 0 auto;
	position: relative;
	top: 0;
}

}


/* --- 2. タブレット用・縦向き（768px〜1023px） --- */
@media screen and (min-width: 768px) and (max-width: 1023px) {
	.monthly_theme{
	width: 90%;
	margin: 0 auto;
}

.main h1{
	width:100%;
	max-width: 1024px;
	margin: 0 auto;
}

}


@media only screen and (max-width: 750px) {

.monthly_theme{
	width: 100%;
	margin: 0 auto;
}

.supporter_wrap{
	display: flex;
	justify-content: space-around;
}

.supporter_wrap li{
	width: 45%;
	margin-bottom: 1rem;
}

}


/*番組について
---------------------*/

.personality_wrap{
	width:	 100%;
	position: relative;
	padding: 10rem 10rem 10rem;/*要素内の余白*/
	background: #ffffff;/*背景色*/
	border-radius: 10px;
}

.broadcast_day{
	width: 90%;
	max-width: 90%;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: -5%;
	color: #ffffff;/*文字色*/
	padding: 0.6rem;/*余白*/
	border-radius: 10px;
	background: #20b250;
	font-size: 5rem;
	font-weight: bold;
	font-family: "Zen Maru Gothic", sans-serif;
	text-align: center;
}

.personality_box{
	display: flex;
	justify-content:space-between;
	font-family: "Zen Maru Gothic", sans-serif;
	margin: 0 auto 6rem;
}

.personality_text{
    font-family: "Zen Maru Gothic", sans-serif;
	text-align: center;
	color: #333333;
	font-weight: bold;
	font-size: 3rem;
	line-height: 2;
	letter-spacing: 0.2rem;
	margin: 0 auto 6rem;
}

.speech_bubble {
  position: relative;
  display: inline-block;
  margin-left: 60px;
  padding: 3rem 6rem;
  border-radius: 20px;
  background-color: #fdd000;
  text-align: left;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: #000000;
}

.speech_bubble::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  border-style: solid;
  border-width: 10px 20px 10px 0;
  border-color: transparent #fdd000 transparent transparent;
  translate: -100% -50%;
}

.personality_img{
	width: 268px;	
}

.personality_ttl{
	font-size: 3rem;
	font-weight: bold;
	margin-bottom: 2rem;
}

.program_monthly{
	font-size: 2.4rem;
	font-weight: bold;
}

.mail_box{
	margin: 0 auto;
	position: relative;
	padding: 6rem 0;/*要素内の余白*/
	background: #ffffff;/*背景色*/
	border-radius: 20px;
	border: solid 8px #20b250;
	font-family: "Zen Maru Gothic", sans-serif;
}

.mail_bubble {
	width: 80%;
    max-width: 80%;
	position: relative;
	/*display: inline-block;*/
	margin:0 auto 4rem;
	padding: 1.4rem 0;
	border-radius: 9999px;
	background-color: #20b250;
	text-align: center;
	font-size: 3rem;
	font-weight: bold;

	line-height: 1.5;
	color: #ffffff;
}

.mail_bubble::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	border-style: solid;
	border-width: 20px 10px 0 10px;
	border-color: #20b250 transparent transparent;
	translate: -50% 100%;
}

.mail_wrap{
	width: 46%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-family: "Zen Maru Gothic", sans-serif;
	margin: 0 auto;
}

.ico_mail{
	width: 71px;
}

.mail_wrap p a{
	font-size: 4.4rem;
	letter-spacing: 0.3rem;
	color: #20b250;
	font-weight: bold;
	text-decoration: none;
}


@media only screen and (max-width: 1280px) {

.personality_wrap{
	padding: 10rem 8rem 10rem;/*要素内の余白*/
}

.broadcast_day{
	font-size: 4rem;
}

}

@media only screen and (max-width: 980px) {

.personality_wrap{
	padding: 10rem 1rem 10rem;/*要素内の余白*/
}

.broadcast_day{

}

}

@media only screen and (max-width: 750px) {

.program_top {
	margin-top: -6rem;
}

.program{
	width: 100%;
	}

.in_box{
	padding: 0 1rem;
}

.personality_wrap{
	width: 100%;
	position: relative;
	padding: 8rem 2rem 6rem;/*要素内の余白*/
}

.broadcast_day{
	width: 90%;
    max-width: 90%;
	font-size: 2.6rem;
	top: -6rem;
	letter-spacing: 0.5rem;
	padding: 1rem 0;
}

.personality_box {
	width: 100%;
    display: block;
    padding: 0;
    margin: 0 auto 4rem;
}

.personality_img{
	display: block;
	margin: 0 auto 1.5rem;
}

.personality_text {
    font-size: 2rem;
    margin: 0 auto 2rem;
    line-height: 1.8;
    letter-spacing: 0.1rem;
}

.speech_bubble {
	position: relative;
	display: inline-block;
	margin-top: 20px;
	margin-left: 0;
	padding: 2.5rem;
	border-radius: 15px;
	background-color: #fdd000;
	text-align: left;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	color: #000000;
}

.speech_bubble::after {
	content: "";
	position: absolute;
 	top: 0;
	left: 50%;
	border-style: solid;
	border-width: 0 10px 20px 10px;
	border-color: transparent transparent #fdd000;
	translate: -50% -100%;
}

.personality_ttl{
	font-size: 2rem;
	margin-bottom: 1rem;
}

.program_monthly{
	font-size: 1.8rem;
}

.mail_bubble {
    width: 90%;
    max-width: 90%;
    position: relative;
    /*display: inline-block;*/
    margin: 0 auto 3rem;
    padding: 1.4rem 0;
    border-radius: 9999px;
    background-color: #20b250;
    text-align: center;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.5;
    color: #ffffff;
}

.mail_box{
	width: 100%;
	padding: 4rem 0;
	border: solid 6px #20b250;
}

.mail_wrap{
	width: 100%;
	display: block;
	text-align: center;
	padding: 1rem 0 0;
}

.ico_mail{
	width: 18%;
	display: block;
	margin: 0 auto 1rem;
}

.mail_wrap p a{
    font-size: 2.4rem;
    font-weight: bold;
    text-align: center;
    margin: 0 auto;
}

}


/* ボタンのCSS　*/

.box_message_btn{
	width: 100%;
	text-align: center;
}

.box_message_btn a{
	color: white;
	/*text-decoration: none;*/
}

.box_message_btn a:hover {
	opacity: 0.8;
	transition: 0.3s;
}


.btn-icon {
	display: inline-block;
	width: 60%;
	margin: 2rem auto;
	background-color: mediumvioletred;
	font-size: 2.6rem;
	text-decoration: none;
	font-weight: bold;
	padding: 2.5rem 0;
	border-radius: 45px;
	position: relative;
	text-align: center;
	box-shadow: rgba(17, 17, 26, 0.1) 0px 4px 16px, rgba(17, 17, 26, 0.05) 0px 8px 32px;
}


.box_message_txt{
	text-align: center;
}

@media only screen and (max-width: 750px) {
	.btn-icon {
	width: 100%;
	font-size: 1.6rem;
	padding: 1.5rem;
}	
}




/*ラジコ ボタン*/

.radiko_btn{
	width: 100%;
	text-align: center;
	margin:0 auto;
	  
}

#linklist li img{
    width: 380px;
	height: auto;
	margin-bottom: 1rem;
}

.message_txt{
	margin-top: 1rem;
}


@media screen and (max-width: 768px) {
#linklist li img{
    width: 80%;
}

.message_txt{
	text-align: left;
	font-size: 1.2rem;
}
}




/*協賛企業バナー　1社の場合*/
.ban_company{
	width: 100%;
	text-align: center;
}


.ban_company img{
	width: 400px;
	box-shadow: rgba(17, 17, 26, 0.1) 0px 4px 16px, rgba(17, 17, 26, 0.05) 0px 8px 32px;
}


@media screen and (max-width: 768px) {

.ban_company img{
	width: 80%;
}

}


/*協賛企業バナー 数社の場合*/
.ban_company_lot{
	width: 100%;
}

.ban_company_lot ul{
	width:100%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.ban_company_lot li{
	width: 30%;
	margin-bottom: 2rem;
	box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}


/* 最後のコンテンツを左寄せにする指定 */
.ban_company_lot ul:after {
    content: "";
    display: block;
    width: 30%;  
    height: 0;
}

@media screen and (max-width: 768px) {

.ban_company_lot ul{
	width:100%;
}
	
.ban_company_lot li{
	width: 80%;
	margin: 0 auto 2rem;
}

}


/* PCのみ表示
------------------------------*/
@media only screen and (max-width: 750px) {

	.for_pc{
		display: none;
	}
	
}

/* スマホのみ表示
------------------------------*/

@media only screen and (min-width: 751px) {

	.for_sp{
		display: none;
	}
	
}

/*------------------------------
表示・非表示管理（）
本体のcommon.cssに記述あり
【非表示】.disp_none
【PC非表示】.pc_none
【SP非表示】.sp_none
------------------------------*/




/* header/footer --------------------*/

.header_simple {
   background: #333333;
}

.footer_simple {
    background: #333333;
}

.footer_simple .copyright{
	color: #ffffff;
}