@charset "UTF-8";
:root {
  --white: #fff;
  --black: #000;
  --gray-d: #333;
	--base: #ece8dd;
  --base02: #fef0f5;
	--key01: #f66aa0;
	--key01-txt: #ea2566;
	--key01-l: #fcd3e1;
	--accent: #f90;
  --accent02: #75cad2;
	--app: #ff4c4c;
  --fontFamily-M: "MFW-PAotoGothicStdN-Medium", "ヒラギノ角ゴ Pro W3";
  --fontFamily-DB: "MFW-PAotoGothicStdN-DeBold", "ヒラギノ角ゴ Pro W3";
  --fontFamily-B: "MFW-PAotoGothicStdN-Bold", "ヒラギノ角ゴ Pro W3";
  --fontFamily-EB: "MFW-PAotoGothicStdN-ExBold", "ヒラギノ角ゴ Pro W3";
}

/*上書き・打消し
---------------------------------------------------------- */
header {
  min-width: initial;
}
.header_simple {
  background-color: var(--accent02);
}
.header_simple .header_block {
  min-width: inherit;
}

img {
  height: auto;
}
a {
  color: inherit;
  text-decoration: none;
}
.ttl_h2_01 {
  font-family: var(--fontFamily-B);
}
.ttl_h2_01:after,
.ttl_h3_01:before,
.article_dt .article_ttl h2:after {
	background-color: var(--key01);
}
.ttl_h2_01 span {
	display: block;
	font-size: 1.6rem;
}
.btn_white01 {
  color: var(--white);
  background-color: var(--accent02);
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
}
.article_dt .article_ttl {
  margin-bottom: 20px;
}
.ttl_h4_01,
.article_dt .article_ttl h2,
.article_dt .article_ttl h2:after {
	color: var(--key01);
}
.article_list > ul > li > a,
.article_list > ul > li > .no_link {
	border-color: var(--base02);
}
.article_list > ul > li .img .img_body {
	box-shadow: 0px 0px 0px 1px var(--base02) inset;
}
.program_article_dt_main {
  width: 100%;
  max-width: 500px;
  float: none;
}
.article_dt .article_ttl h2,
.program_article_dt .article_ttl h2 {
  font-family: var(--fontFamily-B);
  font-size: 1.6rem;
  line-height: 1.3;
}
.article_dt_main .img,
.article_dt_main .txt,
.article_dt_main .youtube,
.article_dt_main .uliza,
.program_article_dt_main .img,
.program_article_dt_main .txt,
.program_article_dt_main .youtube,
.program_article_dt_main .uliza {
  margin: 0 0 20px;
}
.program_date,
.program_name,
.corner_name {
  font-size: 1.2rem;
}
.img_columns_list01 > ul > li {
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
}
.img_columns_list01 > ul > li .txt h3 {
  margin: 0 0 6px;
  font-family: var(--fontFamily-B);
  color: var(--gray-d);
  line-height: 1.3;
}
footer {
	min-width: initial;
}
/*お知らせ表示部*/
.head_news {
  min-width: initial
}

@media screen and (max-width: 750px) {
  .article_dt {
    margin: 0 0 40px;
    padding: 0;
  }
}

@media screen and (min-width: 751px) {
  .article_dt .article_ttl h2,
  .program_article_dt .article_ttl h2 {
    font-size: 1.8rem;
  }
  .img_columns_list01 > ul {
    margin-left: 0;
  }
  .img_columns_list01 > ul > li {
    width: 100%;
    margin-left: 0;
  }
}
@media screen and (min-width: 1080px) {
  img {
    width: auto;
  }
  .article_dt {
      margin: 0 0 30px;
  }
}

/* 共通
----------------------------------------*/
.o-wrapper {
  padding: 10vw 3vw;
}
.o-bg-w {
  background-color: var(--white);
}
.u-txt-l {
  font-size: 1.2em;
}
.u-txt-s {
  font-size: 0.8em;
}
@media screen and (min-width: 601px) and (max-width: 1079px) {
  .o-wrapper {
    margin: 5vw 0;
    padding: 5vw 3vw;
  }
}
@media screen and (min-width: 1080px) {
  .o-wrapper {
    max-width: 600px;
    margin-inline: auto;
    padding: 40px 0;
  }
}

/* contents-wrap
----------------------------------------*/
.contents-wrap {
  width: 100%;
  overflow-x: clip;
	background-color: var(--base);
  font-size: 1.4rem;
  font-family: var(--fontFamily-M);
  color: var(--gray-d);
}
@media screen and (min-width: 751px) {
  .contents-wrap {
    font-size: 1.6rem;
  }
}
/* split
----------------------------------------*/
@media only screen and (min-width: 1080px) and (orientation: landscape) {
	.contents-wrap {
		display: flex;
		align-items: flex-start;
		position: sticky;
	}
	.split-kv {
		order: 1;
		position: sticky;
		top: 0;
		left: 0;
		width: 45%;
	}
	.kv-item {
    width: 100%;
		height: 100vh;
	}
	.kv-item img {
    width: 100%;
    height: 100%;
		object-fit: cover;
		object-position: 100% 100%;
	}
	.split-contents {
		order: 2;
		width: 38%;
		height: auto;
    background-color: var(--white);
	}
	.split-nav {
		order: 3;
		position: sticky;
		top: 0;
		right: 0;
		width: 17%;
		max-width: 300px;
	}
}
/* contents-block
----------------------------------------*/
.contents-block {
  max-width: 600px;
  margin-inline: auto;
}
@media screen and (min-width: 1080px) {
  .contents-block {
    width: 90%;
  }
}
/* ロゴ
----------------------------------------*/
.logo-block-s,
.logo-block-l {
  display: none;
  box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.22);
}
.logo-txt {
  font-size: clamp(1.2rem, 3.5vw, 1.8rem);
  font-family: var(--fontFamily-DB);
  line-height: 1.2;
  color: var(--key01);
}
@media screen and (max-width: 1079px) {
  .logo-block-s {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100% - 70px);
    height: 80px;
    padding: 0 4vw;
    background-color: var(--white);
    border-radius: 0 20px 20px 0;
    z-index: 20;
  }
  .logo-block-inner {
    display: flex;
    gap: 3vw;
    align-items: center;
    width: 100%;
    height: 100%;
  }
  .logo-block-s .logo-img {
    width: 65%;
    min-width: 120px;
    max-width: 210px;
  }
  .logo-block-s .logo-img img {
    width: 100%;
  }
  .logo-txt {
    width: 35%;
  }
  .logo-txt span {
    display: inline-block;
  }  
}
@media screen and (min-width: 1080px) {
  .logo-block-l {
    display: block;
    width: 100%;
    margin-bottom: 30px;
    padding: 30px;
    background-color: var(--white);
    border-radius: 0 0 30px 30px;
  }
  .logo-block-l .logo-img {
    width: 80%;
    margin: 0 auto 16px;
  }
  .logo-txt {
    text-align: center;
  } 
}
/* ナビゲーション
----------------------------------------*/
@media screen and (max-width: 1079px) {
  .nav-block {
    position: sticky;
    top: 0;
    right: 0;
    z-index: 999;
    min-height: 90px;
  }
  .main-nav {
    position: relative;
  }
  .nav-links {
    position: absolute;
    width: 96%;
    top: 90px;
    right: -100%;
    background: var(--key01-l);
    border-radius: 1.5em 0 0 1.5em;
    box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.22);
    transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
    z-index: 10;
  }
  #menu-toggle[aria-expanded="true"] + .nav-links {
    transform: translateX(-100%);
  }
  .nav-links li:not(:first-of-type) {
    border-top: 1px solid var(--white);
  }
  .nav-links li {
    font-size: clamp(1.6rem, 1.347rem + 1.26vw, 2.2rem);
    color: var(--key01-txt);
  }
  .nav-links li a {
    display: block;
    padding: 1em; 
  }
  
  #menu-toggle {
    display: block;
    position: relative;
    z-index: 10;
    width: 60px;
    height: 80px;
    margin-left: auto;
    border-radius: 20px 0 0 20px;
    background-color: var(--key01);
    box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.22);
    cursor: pointer;
  }
  #menu-toggle[aria-expanded="true"] .menu-icon__bar {
    background-color: transparent;
  }
  #menu-toggle[aria-expanded="true"] .menu-icon__bar::before {
    top: 0;
    transform: rotate(45deg);
  }
  #menu-toggle[aria-expanded="true"] .menu-icon__bar::after {
    top: 0;
    transform: rotate(-45deg);
  }
  .menu-icon__bar {
    display: block;
    height: 2px;
    position: absolute;
    top: 40px;
    left: 50%;
    transform: translateX(-50%);
    width: 24px;
    background-color: var(--white);
    transition: 0.5s;
  }
  .menu-icon__bar::before,
  .menu-icon__bar::after {
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    width: 100%;
    background-color: var(--white);
    transition: inherit;
  }
  .menu-icon__bar::before {
    top: -8px;
  }
  .menu-icon__bar::after {
    top: 8px;
  }
}
@media screen and (min-width: 1080px) and (orientation: landscape) {
  .nav-block {
    width: 100%;
    max-width: 17%;
    padding: 1.5em 1em;
    height: 100%;
    color: #3f3f3c;
  }
  .nav-links {
    visibility: visible;
    opacity: 1;
  }
  .nav-links li {
    padding: 0.2em 0;
    font-size: 1.8rem;
    font-family: var(--fontFamily-DB);
  }
  #menu-toggle {
    display: none;
  }
}


/* 下層ページ１カラムのヘッダ表示
----------------------------------------*/
@media screen and (max-width: 1079px) {
  .contents-wrap:not(.top) .kv-block .kv-item img {
    position: relative;
    width: 100%;
    aspect-ratio: 5 / 3;
		object-fit: cover;
		object-position: 0 0;
  }
  .contents-wrap:not(.top) .kv-block + .nav-block {
    margin-top: -90px;
  }
}

/*放送予定
----------------------------------------*/
.program_article_dt {
  margin: 0 0 ;
  padding: 0;
}

#next_program_content_list .ttl_h3_01 {
	margin-top: 20px;
	font-size: 2rem;
}

.program_article_dt .article_ttl_h3_01,
#next_program_content_list .img {
	display: none;
}
#next_program_content_list .txt {
  margin: 0 0 0.2em;
	padding: 0 0 0 2rem;
	position: relative;
}
#next_program_content_list .txt::before {
	content: '★';
	display: block;
	position: absolute;
	left: 0;
	color: var(--accent);
}
@media only screen and (max-width: 750px) {

	#next_program_content_list .ttl_h3_01 {
		margin-top: 15px;
		font-size: 1.6rem;
	}
}


/* バナー・SNS
----------------------------------------*/
.banner-block {
  padding: 8vw 3vw;
}
.banner-list:not(.x2) li {
  max-width: 300px;
  margin: 0 auto 1em;
}
.banner-list:not(.x2) li:last-child {
  margin-bottom: 0;
}
.banner-list.x2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.8em;
}
.banner-list.x2 li {
  width: calc(50% - 0.8em);
  max-width: 300px;
}
[class^="sns-block"] {
  padding: 0 3vw 10vw;
}
[class^="sns-block"] ul {
  display: flex;
  gap: 14px;
  justify-content: center;
}
@media screen and (min-width: 751px) {
  .banner-block {
    padding: 20px 0;
  }
}
@media screen and (max-width: 1079px) {
  .banner-01-s {
    max-width: 500px;
    margin-inline: auto;
    text-align: center;
    line-height: 1.2;
  }
  .banner-01-l,
  .sns-block-l {
    display: none;
  }
}
@media screen and (min-width: 1080px) {
  .banner-block {    
    max-width: 600px;
    margin-top: 30px;
    margin-inline: auto;
    padding: 0;
  }
  .banner-01-l {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid var(--white);
    line-height: 1;
  }
  .banner-01-s,
  .sns-block-s {
    display: none;
  }
  .sns-block-l {
    margin-top: 20px;
    padding: 30px 0 0;
    border-top: 1px solid var(--white);
  }
  .sns-block-l .ttl_h2_01 {
    margin-bottom: 20px;
    font-size: 1.8rem;
  }
}

/*メッセージ
----------------------------------------*/
@media only screen and (max-width: 750px){
  .message-block {
		margin: 5vw 3vw;
  }
	#message {
    max-width: 500px;
    margin-inline: auto;
    background-color: #fff;
		border: 6px solid #ff4c4c;
    border-radius: 6px;
	}
	.about_message{
    padding: 20px 15px;
		text-align: center;
	}
	.about_message a {
		color: #ff4c4c;
		font-size: 1.4rem;
	}
}

/*バナー
----------------------------------------*/


.page_side_contents .advertisement_bnr_list ul {
	display: flex;
	margin: 0 0 20px;
}


.page_side_contents .advertisement_bnr_list li img {
	max-width: 300px;
	max-height: 100px;
}

.page_side_contents .advertisement_bnr_list li .max_w300{
	max-width: 300px;
	max-height: 120px;
}

.bnr_top{
	text-align: center;
    margin: 40px 0;
}

@media only screen and (max-width: 750px) {
	
	.page_side_contents .advertisement_bnr.bnr01 {
		padding: 30px 3% 10px;
		background-color: var(--white);
	}
	.bnr01 .advertisement_bnr_list{
		max-width: 638px;
	}
	.page_side_contents .advertisement_bnr_list {
		padding: 0 3%;
	}
	.page_side_contents .advertisement_bnr_list ul.x2 {
		-ms-flex-pack: flex-start;
		justify-content: flex-start;
		margin: -10px 0 0 -10px;
	}
	.page_side_contents .advertisement_bnr ul.x2 li:first-child {
		margin: 10px 0 0 10px;
	}

	.advertisement_bnr_list li img {
		width: 100%;
		max-width: 100%;
		max-height: 100%;
	}
	
	.bnr_top{
		margin: 10px 3%;
	}
}

/*出演者
----------------------------------------*/
.cast-list__title {
  margin: 2em 0 1em;
  padding: 0.3em 1em;
  font-size: 2rem;
  font-family: var(--fontFamily-B);
  background-color: var(--key01);
  border-radius: 1.5em;
  color: var(--white);
  text-align: center;
}
.cast-list__title:first-child {
  margin-top: 0;
}
.cast-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2em;
}
.cast-list li {
  width: 35%;
  max-width: 200px;
}
.cast-info__week {
  margin-bottom: 0.2em;
  color: var(--key01-txt);
}
.cast-info__week span {
  width: 2.2rem;
  height: 2.2rem;
  display: inline-block;
  border-radius: 1em;
  background-color: var(--key01-l);
  line-height: 2.2rem;
  text-align: center;
}
.cast-info__photo {
  margin-bottom: 0.95em;
}
.cast-info__name {  
  text-align: center;
}
.cast-info__name h4 {
  font-size: 1.2em;
  font-family: var(--fontFamily-B);
  color: var(--key01-txt);
}
.cast-info__name span {
  display: block;
  font-size: 0.8em;
  line-height: 1.2;
}
.no_copy {
  pointer-events: none;
  user-select: none;
}
@media print{
	.no_copy {
    display: none;
	}
}

@media only screen and (max-width: 1079px) {
  .cast-block {
    margin: 5vw -3vw;
    padding: 3vw;
  }
}

/*脳のアサトレ。
----------------------------------------*/

.asatore .img_columns_list01 > ul {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin: 0;
}
.asatore .img_columns_list01 > ul > li {
  width: calc(50% - 2px);
}
.asatore .img_columns_list01 > ul > li:first-child {
  margin: 3px 0 0;
}
.asatore .img_columns_list01 > ul > li .img{
	display: block;
	padding: 0px;
	width: 100%;
}
.asatore .img_columns_list01 > ul > li .img .img_background{
	padding-top: 56%;
}
.asatore .img_columns_list01 > ul > li .txt{
	display: block;
	padding: 15px 0 0;
}

.asatore .ttl_h2_01 {
    max-width: 450px;
    margin: 0 auto 40px;
}
.asatore .ttl_h2_01:after,
.asatore .ttl_h3_01:before,
.asatore .article_dt .article_ttl h2:after{
	display: none;
}

@media only screen and (max-width: 400px) {}

